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{MAX_ACCEPTED_BACKLOG,PeerMessaging,classifyApiError}from"./chunk-FHBGTZ4K.js";import{normalizePartList}from"./chunk-HIO3M52C.js";import{DescriptiveRadioButtonSelect,DualOutputBridge,EDITOR_DISPLAY_NAMES,EffortDialog,MAIN_CONTENT_HEIGHT_RESERVATION,MAX_STATUS_LINES,MOD_BAND_BORDERS,MOD_BAND_RESERVED_COLUMNS,ProviderSetupSteps,RANGE_CYCLE,RemoteInputWatcher,STATIC_EXTRA_HEIGHT,STATUS_LINE_DIALOG_FIXED_ROWS,STATUS_LINE_OPTIONS,SuggestionsDisplay,TAB_DEFS,TableRow,VISIBLE_RESOURCES_COUNT,VISIBLE_TOOLS_COUNT,VimModeProvider,buildConfigFromKeys,buildInitialSelectedKeys,buildThoughtHeadIdMap,calculatePromptWidths,clampDialogHeight,classifyPastedImagePaths,cleanModBandText,computeWindowTitle,editorSettingsManager,expandPendingPastePlaceholders,extensionComponentsSummary,findLastUserItemIndex,fmtDurationShort,fmtSuccessBar,fmtTokens,formatServerCommand,formatSessionWindowTitle,formatSourceLabels,framePasteExpansion,getBtwAnswerMaxRows,getCacheColor,getConfigSourceDisplay,getDialogMaxHeight,getEffectiveStatusLineScope,getHeatmapColors,getPreviewData,getRangeLabel,getScopeItems,getScopeMessageForSetting,getSeriesColors,getStatusColor as getStatusColor2,getStatusIcon,getSuccessColor,getToolInvalidReasons,groupServersBySource,isNarrowWidth,isRealUserTurn,isRewindableUserTurn,isSyntheticHistoryItem,isToolValid,itemsAfterAreOnlySynthetic,mapToDisplay,modBandBold,modBandChildKeys,modBandColor,modBandInput,modBandLayout,modBandMaxRows,modBandWrap,observeInteractiveModTool,open_default,pickAsciiArtTier,primeGitBranchName,realUserPromptTexts,resolveCustomBanner,restorePasteDraft,rewindSession,shortAsciiLogo,stripLeadingSystemReminders,titleStatusPrefix,unframeClipboardPastes,useAnimationFrame,useAtCompletion,useAuthCommand,useAwaySummary,useCompletion,useDeleteCommand,useDoublePress,useFollowupSuggestionsCLI,useGitBranchName,useLogger,useMcpApproval,useModBand,usePhraseCycler,usePromptVoiceInput,useProviderSetupFlow,useReactToolScheduler,useReverseSearchCompletion,useShellCommandProcessor,useShellHistory,useStatusLineState,useTimer,useVim,useVimModeActions,useVimModeState,useWorkflowMode,useWorktreeSession,writeTerminalTitle}from"./chunk-MOPJNP5I.js";import{buildPermissionSuggestions}from"./chunk-2Z36XVH7.js";import{TUI_CHAT_RECORDING_FAILURE_MESSAGE,describeLoopStop,formatInteractiveLoopDetectedMessage}from"./chunk-USJFJZ23.js";import"./chunk-C56YJIEI.js";import{startPostRenderPrefetches}from"./chunk-XFLLE2J3.js";import{useAutoAcceptIndicator}from"./chunk-6NI33TVK.js";import"./chunk-F64AWDLW.js";import{MAX_SUGGESTION_LABEL_WIDTH,buildMcpResourceRef,handleAtCommand,resolveAtCommandQuery}from"./chunk-7MTBINFX.js";import{BuiltinCommandLoader,BundledSkillLoader,CONTEXT_FILES_ANNOUNCEMENT_PREFIX,CommandService,DISPLAY_HOOK_EVENTS,FileCommandLoader,MAX_STACKED_SKILLS,McpPromptLoader,SLASH_COMMANDS_SKIP_RECORDING,SavedWorkflowLoader,SkillCommandLoader,addConfigToMatcherGroup,appendUserPromptExpansionAdditionalContext,applyOutputStyleSelection,buildBackgroundWorkBlockedMessage,completeRestoreToolResponse,consumesContextAnnouncementLatch,copyToClipboard,createEmptyHookEventInfo,dayKey,findMidInputSlashCommand,findSlashCommandTokens,formatApprovalModeDescription,formatApprovalModeName,formatEffortChangeMessage,formatUserPromptExpansionBlockedMessage,getAllConfigs,getBestSlashCommandMatch,getTranslatedSourceDisplayMap,hasBlockingBackgroundWork,hasSlashCommandPathSeparator,isAtCommand,isBtwCommand,isContextFilesAnnouncement,isCrossSessionMessagingActive,isCrossSessionMessagingOptedIn,isMidInputCompletableCommand,isPickerOnlyModelInvocation,isSlashCommand,isStackedSkillCompletableCommand,isValidStackedSkillPrefix,loadSessionOutputStyles,parseDayKey,parseSlashCommand,parseStackedSlashCommands,quitCommand,recordAutoSkillCommandUsage,refreshExtensionContentRuntime,resetBackgroundStateForSessionSwitch,resolveOutputStyleChoice,rewindCommand,serializeUserPromptExpansionPrompt,supportsMatchers}from"./chunk-UJYOILZR.js";import{EXTENSION_RELOAD_FAILED_REASON,ExtensionRefreshState}from"./chunk-254YDSL2.js";import{getInteractiveModSession,isModRecoveryCommand}from"./chunk-5UZT4SXG.js";import{sanitizeDisplayText}from"./chunk-2X3UF2CF.js";import{AboutBox,BtwMessage,CommandFormatMigrationNudge,FolderTrustDialog,Help,HistoryItemDisplay,IdeIntegrationNudge,SCROLL_TO_ITEM_END,ScrollableListWithForwardRef,SessionPicker,ThoughtExpandedProvider,ToolDetailsExpandedProvider,UIActionsContext,UIStateContext,dist_default as dist_default2,extensionUpdatesReducer,getScreenBuffer,hyperlinkAtCell,initialExtensionUpdatesState,useArenaCommand,useHistory,useIdeTrustListener,useProviderUpdates,useThoughtExpanded,useUIActions,useUIState}from"./chunk-CCOUFBOY.js";import{Colors,ConfigContext,DiffRenderer,ErrorBoundary,MCPServerApprovalDialog,MarkdownDisplay,RadioButtonSelect,RenderModeProvider,RespondingSpinner,SCREEN_READER_USER_PREFIX,SessionStatsProvider,SettingsContext,Spinner,StreamingContext,TOOL_DISPLAY_BY_NAME,TOOL_SUCCESS_RATE_HIGH,TOOL_SUCCESS_RATE_MEDIUM,TerminalOutputProvider,TextInput,ToolConfirmationMessage,USER_AGREEMENT_RATE_HIGH,USER_AGREEMENT_RATE_MEDIUM,VirtualViewportContext,buildStatusLinePresetLines,build_default,checkExhaustive,colorizeCode,consumeLastRenderError,countMarkdownSourceBlocks,dist_default,findLastSafeSplitPoint,fitPendingSlice,formatTokenCount as formatTokenCount2,frameAnchor,getArenaStatusLabel,getEnclosingFenceInfo,getRenderableGradientColors,getStatusColor,isDeletionKey,isPrintableSearchChar,keyMatchers,layoutRowForEvent,loadLowlight,logicalPosToOffset,measureElementPosition,removeLastGrapheme,renderSoftwareCursor,splitFencedMarkdown,truncateText,useConfig,useLaunchEditor,useMouseEvents,useMouseTrackingEnabled,usePreferredEditor,useSelectionList,useSessionStats,useSettings,useStreamingContext,useTerminalSize,useTextBuffer,useVirtualViewport}from"./chunk-3XBJYUWP.js";import{ContextMenuProvider,KeypressProvider,clampMenuPosition,contextMenuSize,useContextMenu,useFocus,useKeypress,useKeypressContext}from"./chunk-PHDKSEIU.js";import{MAX_EXTENSION_OWNER_LABEL_WIDTH,computeSessionStats,contextUsageLabel,formatDuration,formatPercentageUsed,formatRelativeTime,formatTokenCount,getCommandDisplayName,getCommandSourceBadge,skillOriginLabel}from"./chunk-ADTFKUH2.js";import{BEL,OSC_PREFIX,cleanupOldClipboardImages,clipboardHasImage,detectTerminal,generateKittyId,oscGhosttyNotify,oscITerm2Notify,oscKittyNotify,readClipboardText,saveClipboardImage}from"./chunk-HR4TFOG6.js";import"./chunk-EVBKKQ7Y.js";import{MaxSizedBox,OverflowProvider,theme,useOverflowState}from"./chunk-GKUDJQEK.js";import{require_jsx_runtime}from"./chunk-REPFZQ7R.js";import{Box_default,Static,Text,base_exports,measure_element_default,render_default,use_box_metrics_default,use_cursor_default,use_is_screen_reader_enabled_default,use_stdin_default,use_stdout_default,wrapAnsi}from"./chunk-YIJNS5IJ.js";import{ICON,WAITING_SPINNER_FRAME,applyCollapsePolicyAndSummary,buildResumedHistoryItems,computeResumedPromptCountSeed,shouldDisplayGoalStateCause,waitForGoalRuntime}from"./chunk-H57IX45A.js";import{stopAndGetCapturedInput}from"./chunk-ZUQDG3KO.js";import{disableKittyProtocol,isKittyProtocolEnabled,isKittyProtocolSupported,pushKittyProtocolFlags}from"./chunk-HKA2IEQ6.js";import{setUpdateHandler}from"./chunk-YLAI26PX.js";import{isHistoryItemVisibleAfterRestore}from"./chunk-4TZUKLPC.js";import"./chunk-OPYGNTZP.js";import{AUTO_THEME_NAME,DEFAULT_THEME,themeManager}from"./chunk-W3YCOEIP.js";import"./chunk-UGLQO5K7.js";import{require_react}from"./chunk-5QKDV4CD.js";import"./chunk-YGHM5CDT.js";import{cleanupReviewWorktreeLeases}from"./chunk-POA4NX4N.js";import"./chunk-TD6VSPYX.js";import"./chunk-TZV5T7CF.js";import{MAX_INLINE_IMAGES_PER_ITEM,getInlineImageData}from"./chunk-VRNYIKVL.js";import"./chunk-OPJXNOWV.js";import"./chunk-26ISBUM7.js";import"./chunk-WQUA4G2X.js";import"./chunk-ZN57TOVA.js";import{allowsFastOnlyAdvisorModel,appEvents,checkAdvisorModelAvailability,isAdvisorModelEligible,loadHierarchicalMemory}from"./chunk-VDRE7U3P.js";import"./chunk-VURTGFJP.js";import{cpLen,cpSlice,escapeAnsiCtrlCodes,getAsciiArtWidth,getCachedStringWidth,sanitizeFilenameForDisplay,sanitizeMultilineForDisplay,sanitizeTerminalLine,sanitizeTerminalText,stringWidth,stripUnsafeCharacters,toCodePoints,truncateToWidth}from"./chunk-64CA3W6G.js";import"./chunk-S34YI2NO.js";import"./chunk-HSYBIGMS.js";import"./chunk-XXUK6YLA.js";import"./chunk-OX4QMNUW.js";import"./chunk-ADZI3OFT.js";import"./chunk-SZBGWRES.js";import"./chunk-R4VUFIDQ.js";import"./chunk-NO26JN24.js";import"./chunk-XIFNBULA.js";import"./chunk-FNXO5KWB.js";import"./chunk-Z57KDB5F.js";import"./chunk-6BSQDDUG.js";import"./chunk-R7TNFTT4.js";import"./chunk-DHYCGKLG.js";import"./chunk-CKZRJP4F.js";import{formatUnsupportedVoiceModelMessage,isSelectableVoiceModel}from"./chunk-E5YRAQXM.js";import"./chunk-G2SXDY2E.js";import"./chunk-ZSVSRF4C.js";import"./chunk-4TYTJQWR.js";import"./chunk-XKSB7VTV.js";import"./chunk-VDUNIK4I.js";import"./chunk-YZUKMJW7.js";import"./chunk-26MNTKT2.js";import"./chunk-2HLVSWM6.js";import{formatExecutionSandbox,getExtendedSystemInfo}from"./chunk-2LLPGSUK.js";import"./chunk-5ZQWQ3RK.js";import{getReasoningEffortsForConfig}from"./chunk-4XF4ZGJG.js";import{formatSettingRowValue}from"./chunk-L42NTHIT.js";import{buildHigherDisabled,computeWorkspaceSkillListUpdates,skillSettingStrings}from"./chunk-AVCBF5WL.js";import{isValidSessionId}from"./chunk-LGFF5PJA.js";import{getRawModelProviders}from"./chunk-FPZPCZFS.js";import"./chunk-BWQ5AIEA.js";import"./chunk-WDR5XP3Y.js";import"./chunk-WBDNGVHU.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-BZAH4DTS.js";import"./chunk-PN62SUYK.js";import"./chunk-3SHHYK7S.js";import"./chunk-BYVINSWZ.js";import"./chunk-L5UULTGF.js";import"./chunk-AVJJ62OC.js";import"./chunk-VNV7VKZL.js";import"./chunk-KOJ7WZ63.js";import"./chunk-O6ZQAVRG.js";import"./chunk-3KZHPZVZ.js";import"./chunk-CFTFKWPW.js";import"./chunk-NIEO2TBE.js";import"./chunk-SPYNWVDZ.js";import"./chunk-E4UMXDOZ.js";import"./chunk-MMQY4FJL.js";import"./chunk-NY56CL2X.js";import"./chunk-TL6RUTMP.js";import"./chunk-W7V6J2VV.js";import"./chunk-B6ZRS462.js";import"./chunk-3SWMGBN3.js";import"./chunk-AZ3CKMCT.js";import"./chunk-TDDRZUJO.js";import"./chunk-Q6U4ODPJ.js";import"./chunk-AMTFJVDD.js";import{isInlineModelOverrideAllowed,publicProviderBaseUrl}from"./chunk-GT4TCQ3R.js";import"./chunk-IDUGQMTP.js";import{requestConsentInteractive,requestConsentOrFail}from"./chunk-CXGGC4NO.js";import"./chunk-D2NY7HVY.js";import{getErrorMessage as getErrorMessage2}from"./chunk-UBXLQ6TP.js";import{exitCleanly,relaunchApp}from"./chunk-F26LTWDZ.js";import"./chunk-QO46QMCC.js";import"./chunk-WWRXBAW4.js";import"./chunk-A27RJEWD.js";import"./chunk-QN7NYEE3.js";import"./chunk-WSOEJTOC.js";import{loadMcpApprovals}from"./chunk-AQWHCRKY.js";import"./chunk-KN27BFXM.js";import{CORRUPTED_SUFFIX,getDefaultValue,getDialogSettingKeys,getDisplayValue,getEffectiveValue,getNestedValue,getPersistScopeForModelSelection,getRestartRequiredFromModified,getSettingDefinition,isAutoLanguage,isDefaultValue,loadSettings,nextBooleanSettingValue,requiresRestart,saveModifiedSettings,setPendingSettingValue,setPendingSettingValueAny,validateSettingValue,writeOutputLanguageAndRegisterPath}from"./chunk-WI4UMN3Q.js";import"./chunk-UWCF7JIF.js";import{TOGGLE_TYPES,isNumericSettingType}from"./chunk-OHXQYU6S.js";import"./chunk-LMUSSYJH.js";import{getCurrentLanguage,localizeToolDisplayName,t}from"./chunk-ABJGFEES.js";import"./chunk-U7HZUZKP.js";import"./chunk-KGJ47CI5.js";import"./chunk-PKK2D2W4.js";import"./chunk-N3AQAZ7D.js";import"./chunk-E5T4R2PM.js";import{require_strip_json_comments}from"./chunk-DOLUT3XC.js";import"./chunk-PTHIQ7ZN.js";import{isWorkspaceTrusted,loadTrustedFolders}from"./chunk-BBOJUFMW.js";import"./chunk-EIPLDYEY.js";import"./chunk-IDXJIDME.js";import{AsyncFzf,AutonomousLoopTickResolver,DroppedNotificationTally,IDLE_SPECULATION,MAX_BACKGROUND_NOTIFICATION_QUEUE,abortSpeculation,acceptSpeculation,buildSessionRecoveryPlan,clearWelcomeBackState,decideNotificationAdmission,describePeerInboxFailure,detectAutonomousSentinel,generatePromptSuggestion,generateToolUseSummary,getLastPeerInboxFailure,getProjectSummaryInfo,getWelcomeBackState,isWsl,renderGoalContinuationTurn,saveWelcomeBackRestartChoice,startSpeculation,subagentGenerator}from"./chunk-5WLKN3GD.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-SEQAVABL.js";import"./chunk-IEWZIDC6.js";import{formatVersionLabel,getCliVersion}from"./chunk-3Y6LSWEW.js";import"./chunk-O4EDHV64.js";import"./chunk-PAD5GPDY.js";import"./chunk-MD3ZEOBX.js";import"./chunk-SSYS5YN5.js";import"./chunk-X5QSFJVS.js";import{WorktreeRestoreRefusedError,clearWorktreeSession,isSessionRuntimeActive,restoreWorktreeContext}from"./chunk-OMDTFGTX.js";import"./chunk-EIILQ6KT.js";import"./chunk-46VUDNCL.js";import{PEER_ADMISSION_LIMITS,describeDeliveryStatus,describeDropReason,describeHoldCause,parseHeldExpiry}from"./chunk-MKH3EH7O.js";import"./chunk-Q5E5SOY2.js";import"./chunk-62NLMVVT.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-DEMXCA3K.js";import"./chunk-7XZVMIY5.js";import"./chunk-2VCDJ6UF.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-GSOBASYW.js";import"./chunk-IV3HAIUN.js";import"./chunk-XFMPZINJ.js";import"./chunk-DECUAM3U.js";import"./chunk-QX7W2HY7.js";import"./chunk-HN5UYLPU.js";import"./chunk-PGRN3GZY.js";import"./chunk-HTW7PYHK.js";import"./chunk-AMGUAA4G.js";import"./chunk-YFTVFH2A.js";import"./chunk-ZBHL2CXR.js";import"./chunk-NIOS3B3V.js";import{ConditionalRulesRegistry,DEFAULT_BUILTIN_SUBAGENT_TYPE,DISPLAY_MODE,IdeClient,MAX_RECENT_ACTIVITIES,MCPOAuthProvider,MCPOAuthTokenStorage,SessionService,aggregateUsage,allowEditorTypeInSandbox,buildBackgroundEntryLabel,buildWorkflowSizeGuidelineChangeNotice,checkForExtensionUpdate,checkHasEditorType,computeThresholds,computeUniqueBranchTitle,convertTomlToMarkdown,createDuplicateProviderToolCallResponse,createInstructionsLoadedCallback,didWriteProjectContextFile,finalizeToolResponses,findRepeatedDuplicateProviderToolCall,fireNotificationHook,getCachedToolCallFingerprint,getExtensionDisplayName,getTimeRangeBounds,goalToolResultProvenance,ideContextStore,isActiveWorkflowStatus,isEditorAvailable,isExtensionCommittedWithWarningsError,isGatedMcpScope,isReplayOfHandledToolCall,isSettledStatus,isSuccessStatus,isTerminalStatus,isTerminalWorkflowStatus,loadUsageHistory,markDuplicateProviderToolCallResponseSent,matchesAnyServerPattern,mcpServerRequiresOAuth,metricsToUsageRecord,normalizeDerivedBranchTitle,parseAndFormatApiError,parseCron,parseInstallSource,parseVisionModelSetting,recordHandledToolCall,refreshMemoryAfterManagedWrite,refreshMemoryInstruction,resolveWorkflowIntent,resolveWorkflowSizeGuidelineSetting,saveWorkflowScript,validateWorkflowName}from"./chunk-Z5XENA4A.js";import"./chunk-R2EHHA2C.js";import"./chunk-YK7NDQKM.js";import"./chunk-ZLZF2ZDD.js";import"./chunk-OMSVOFTC.js";import"./chunk-PHIPLV2I.js";import"./chunk-ZOTKZI2P.js";import"./chunk-A6G5TAIF.js";import"./chunk-YVBHCSZD.js";import"./chunk-FIXDX63I.js";import"./chunk-T7CHK6C2.js";import"./chunk-PT7NZBDY.js";import"./chunk-TWP72VRH.js";import"./chunk-UYEWRLGD.js";import"./chunk-QVPT37XZ.js";import"./chunk-YVD4O5ZB.js";import{readCronTasks,taskHasLegacyCondition}from"./chunk-T6W33SET.js";import"./chunk-WK2IBT6D.js";import"./chunk-QZV4PFQK.js";import{GitWorktreeService,fetchGitDiff,fetchGitDiffHunks,readWorktreeSessionMarker,writeRuntimeStatus}from"./chunk-ILECDNJX.js";import"./chunk-QXQGUM3Y.js";import"./chunk-UQ7IROJH.js";import"./chunk-SZCBUCNH.js";import{buildModelIdContext,resolveModelId}from"./chunk-BEKROCWN.js";import"./chunk-5SUFJTQQ.js";import{flattenPeerLabel,registerSession}from"./chunk-BYU42MLK.js";import"./chunk-JWQXU3SR.js";import"./chunk-5LZ2DPLH.js";import"./chunk-XQJOZDV7.js";import"./chunk-CV2UAEZA.js";import"./chunk-FUBDS3AV.js";import{GOAL_PAUSE_REASON_USER_INTERRUPT,elapsedActiveTime,goalPauseReasonForFailure,goalRequiresExactPermit}from"./chunk-HW6AWS7W.js";import"./chunk-KLC3OD2M.js";import"./chunk-Q5IZXKUJ.js";import"./chunk-G5PYYZMM.js";import"./chunk-BG67XABA.js";import{glob}from"./chunk-OBOU4ZZM.js";import"./chunk-D7XCQWP2.js";import"./chunk-AE5OMKRY.js";import"./chunk-OBV7RNHV.js";import"./chunk-7CQMWEMY.js";import"./chunk-GOZYWU4B.js";import{parseRule}from"./chunk-OUC3WICA.js";import{APPROVAL_MODES}from"./chunk-JZK2WGXA.js";import"./chunk-MPHSE7M4.js";import"./chunk-S2ZKZXHX.js";import"./chunk-7UK4WJWS.js";import"./chunk-4GP3PH7Z.js";import"./chunk-4QQKOW5M.js";import{BUILT_IN_OUTPUT_STYLES}from"./chunk-OV3EBH6J.js";import{NO_EXEC_CONFIG,getGitBranch}from"./chunk-EBMCWXGZ.js";import"./chunk-XZTE4YTN.js";import"./chunk-LSASUDF2.js";import"./chunk-2V5EKGDK.js";import"./chunk-MOKVM4PT.js";import"./chunk-YIW3H46P.js";import"./chunk-EOMRLUNZ.js";import"./chunk-4ZRCV3JY.js";import"./chunk-TL6MLBXR.js";import{ShellExecutionService}from"./chunk-NMY3PYNO.js";import{stripAnsi}from"./chunk-YGLM5XPP.js";import"./chunk-WGNF7FPC.js";import"./chunk-4NPYOXJO.js";import{promptIdContext}from"./chunk-MWGB5RCF.js";import"./chunk-SCD5TUBG.js";import"./chunk-NTRFETZB.js";import"./chunk-TL3SF2GA.js";import"./chunk-LMJPU2JM.js";import"./chunk-VFB6Q74I.js";import"./chunk-4JNHUZ7M.js";import"./chunk-SW54YEPK.js";import"./chunk-ZCRL73DT.js";import"./chunk-A6LT3FIJ.js";import"./chunk-S6RXVOY6.js";import{captureHookExecutionOwner,runOutsideAgentContext}from"./chunk-YZFNBUKG.js";import"./chunk-AGEDDL7Z.js";import"./chunk-2NJJHZ52.js";import"./chunk-BN4FIQ77.js";import"./chunk-X64RXJQQ.js";import"./chunk-HETUGUHE.js";import{ALIBABA_PROVIDERS,QWENCLOUD_PROVIDERS,THIRD_PARTY_PROVIDERS,customProvider,findExistingProviderModels,findProviderByCredentials,findProviderById,isImageGenerationCapable,resolveMetadataKey}from"./chunk-ET2Z7ZGF.js";import{osc8Hyperlink,supportsHyperlinks,wrapForMultiplexer}from"./chunk-XFPYXD2P.js";import{openBrowserSecurely}from"./chunk-3YWXKSOI.js";import"./chunk-5CWTKFI4.js";import"./chunk-C4MVD5OI.js";import"./chunk-Z2W7S4O4.js";import"./chunk-476F6QIM.js";import"./chunk-4R67LXKL.js";import"./chunk-FQRF6B65.js";import{ApiCancelEvent,ConversationFinishedEvent,DiscoveredMCPTool,ModelSlashCommandEvent,PromptSuggestionEvent,SpeculationEvent,UserFeedbackEvent,UserPromptEvent,UserRetryEvent,addMCPStatusChangeListener,formatFullTurnVisionNotice,formatVisionBridgeNotice,getAllMCPServerStatuses,getFullTurnVisionModelSelector,getMCPServerStatus,hasImageParts,isImageCapable,logApiCancel,logConversationFinishedEvent,logModelSlashCommand,logPromptSuggestion,logSlashCommand,logSpeculation,logUserFeedback,logUserPrompt,logUserRetry,makeSlashCommandEvent,recordSkillInvocation,removeMCPServerStatus,removeMCPStatusChangeListener,runVisionBridge,shouldRunVisionBridge,splitImageParts}from"./chunk-ZWPSBU7K.js";import"./chunk-UQFTXKEB.js";import"./chunk-HDGTWJ24.js";import"./chunk-W5NWIGKO.js";import{AUTO_MEMORY_INDEX_FILENAME,getAutoMemoryProjectStateDir,getAutoMemoryRoot,getUserAutoMemoryRoot}from"./chunk-KVA6DHHF.js";import"./chunk-PWOQASXT.js";import"./chunk-K7JCVESI.js";import{getAllMemoryFilenames,getUnsupportedImageFormatWarning,isSupportedImageMimeType}from"./chunk-Y6HHV4LC.js";import"./chunk-RP57XAJ2.js";import"./chunk-Z6AR5XE5.js";import"./chunk-7DOOXUDG.js";import"./chunk-77V43YOE.js";import"./chunk-7U7CWMP7.js";import"./chunk-EFTJIDS3.js";import"./chunk-4DIWAQ5G.js";import{clampInlineMediaPart}from"./chunk-Q6UAOTP3.js";import"./chunk-NGOIJH7K.js";import{DEFAULT_TOKEN_LIMIT,MAINLINE_CODER_MODEL,applyReasoningEffort}from"./chunk-GOR7FFVE.js";import"./chunk-4ZBZL23U.js";import{atomicWriteFileSync}from"./chunk-BMHYEQTI.js";import"./chunk-ZZZAYAJW.js";import"./chunk-XMANRGPK.js";import{endInteractionSpan,getActiveInteractionSpan,redactUrlCredentials}from"./chunk-3XVPZY7X.js";import"./chunk-KQX4H2D3.js";import"./chunk-URNNJMIC.js";import{FinishReason}from"./chunk-QKX6AI4W.js";import"./chunk-GU22I6TY.js";import"./chunk-YEYW7PPR.js";import"./chunk-U6C6ONIN.js";import"./chunk-GLXNCFWC.js";import"./chunk-NPAX2UFU.js";import"./chunk-DE53B2R7.js";import{finalizeStartupProfile,profileCheckpoint}from"./chunk-H4XFFVZ2.js";import"./chunk-X7QN6R6K.js";import"./chunk-EO57EBMH.js";import{registerCleanup,runExitCleanup}from"./chunk-UY2ET2AL.js";import{clearScreen,writeStderrLine,writeStderrLineSafe,writeStdoutLine}from"./chunk-M4ECEHLX.js";import"./chunk-DBRQGEEI.js";import{getApiHistoryPromptId}from"./chunk-B3ZFUGTC.js";import"./chunk-IRINPFG7.js";import{HOOKS_CONFIG_FIELDS}from"./chunk-6GTPLW7K.js";import"./chunk-NGVRCUYD.js";import"./chunk-5DTFN37U.js";import{isPathWithinRoot}from"./chunk-2YUBAWQ6.js";import"./chunk-O5EKX7LG.js";import"./chunk-TM6ZCBR7.js";import"./chunk-SVAPAMMG.js";import"./chunk-3KUHQGOS.js";import"./chunk-I6S7NGX3.js";import{ToolNames}from"./chunk-SBZFGYYS.js";import{createDebugLogger,isDebugLogFileEnabled,isDebugLoggingDegraded}from"./chunk-JAUJI56S.js";import"./chunk-I4H7NUVP.js";import{Storage}from"./chunk-EPODBRBP.js";import{shortenPath,tildeifyPath}from"./chunk-OKN3Z5C5.js";import{UnauthorizedError,getErrorMessage,isNodeError}from"./chunk-XYB7GC5U.js";import"./chunk-2UOMCYQG.js";import"./chunk-I7L2TX4M.js";import"./chunk-MK3OONRA.js";import"./chunk-COGTQ5KZ.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{stat as stat2}from"node:fs/promises";import{basename as basename4}from"node:path";var import_react135=__toESM(require_react(),1);init_esbuild_shims();var import_react=__toESM(require_react(),1);var PeerMessagingContext=(0,import_react.createContext)(null);var usePeerMessaging=__name(()=>(0,import_react.useContext)(PeerMessagingContext),"usePeerMessaging");var PeerInboxFailureContext=(0,import_react.createContext)(null);var usePeerInboxFailure=__name(()=>(0,import_react.useContext)(PeerInboxFailureContext),"usePeerInboxFailure");init_esbuild_shims();import{isDeepStrictEqual}from"node:util";function inboundPolicyScope(settings){const merged=settings.merged.agents?.crossSessionInbound;if(merged===void 0)return void 0;const valueIn=__name(scope=>settings.forScope(scope).settings.agents?.crossSessionInbound,"valueIn");if(valueIn("System")!==void 0)return"system";const user=valueIn("User");const systemDefaults=valueIn("SystemDefaults");const workspace=valueIn("Workspace");if(isDeepStrictEqual(user,merged))return"user";if(isDeepStrictEqual(systemDefaults,merged))return"system";if(settings.isTrusted&&settings.workspaceSettingsActive&&isDeepStrictEqual(workspace,merged)){return"workspace"}if(user!==void 0)return"user";if(systemDefaults!==void 0)return"system";return void 0}__name(inboundPolicyScope,"inboundPolicyScope");init_esbuild_shims();var import_react2=__toESM(require_react(),1);var DualOutputContext=(0,import_react2.createContext)(null);function useDualOutput(){return(0,import_react2.useContext)(DualOutputContext)}__name(useDualOutput,"useDualOutput");init_esbuild_shims();var import_react3=__toESM(require_react(),1);var RemoteInputContext=(0,import_react3.createContext)(null);var useRemoteInput=__name(()=>(0,import_react3.useContext)(RemoteInputContext),"useRemoteInput");init_esbuild_shims();var import_react133=__toESM(require_react(),1);init_esbuild_shims();var import_react97=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime=__toESM(require_jsx_runtime(),1);var QuittingDisplay=__name(()=>{const uiState=useUIState();const{rows:terminalHeight,columns:terminalWidth}=useTerminalSize();const availableTerminalHeight=terminalHeight;const{mainAreaWidth}=uiState;if(!uiState.quittingMessages){return null}return(0,import_jsx_runtime.jsx)(Box_default,{flexDirection:"column",marginBottom:1,children:uiState.quittingMessages.map(item=>(0,import_jsx_runtime.jsx)(HistoryItemDisplay,{availableTerminalHeight:uiState.constrainHeight?availableTerminalHeight:void 0,terminalWidth,mainAreaWidth,item,isPending:false},item.id))})},"QuittingDisplay");init_esbuild_shims();var import_react4=__toESM(require_react(),1);var import_jsx_runtime2=__toESM(require_jsx_runtime(),1);var EXIT_INDEX=0;var CONTINUE_INDEX=1;var SettingsCorruptedDialog=__name(({corruptedPath,wasRecovered,onExit,onContinue})=>{const[selectedIndex,setSelectedIndex]=(0,import_react4.useState)(EXIT_INDEX);useKeypress(key=>{if(key.name==="escape"){onContinue();return}if(key.ctrl&&key.name==="c"){onExit();return}if(key.name==="up"){setSelectedIndex(EXIT_INDEX)}if(key.name==="down"){setSelectedIndex(CONTINUE_INDEX)}if(key.name==="return"){if(selectedIndex===EXIT_INDEX){onExit()}else{onContinue()}}},{isActive:true});const continueLabel=wasRecovered?t("Continue with recovered settings (esc)"):t("Continue with empty settings (esc)");return(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.error,padding:1,width:"100%",marginLeft:1,children:[(0,import_jsx_runtime2.jsxs)(Box_default,{marginBottom:1,flexDirection:"column",children:[(0,import_jsx_runtime2.jsxs)(Text,{children:[(0,import_jsx_runtime2.jsx)(Text,{color:theme.status.error,children:"> "}),(0,import_jsx_runtime2.jsx)(Text,{bold:true,color:theme.status.error,children:t("Settings file corrupted")})]}),(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,children:t("Your settings file had invalid JSON. A copy of the corrupted file has been saved for reference.")}),(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,children:corruptedPath})]}),(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime2.jsxs)(Box_default,{children:[(0,import_jsx_runtime2.jsx)(Text,{children:selectedIndex===EXIT_INDEX?(0,import_jsx_runtime2.jsx)(Text,{color:theme.status.success,children:"> "}):" "}),(0,import_jsx_runtime2.jsx)(Text,{color:selectedIndex===EXIT_INDEX?theme.status.success:theme.text.primary,children:t("Exit and restore corrupted file")})]}),(0,import_jsx_runtime2.jsxs)(Box_default,{children:[(0,import_jsx_runtime2.jsx)(Text,{children:selectedIndex===CONTINUE_INDEX?(0,import_jsx_runtime2.jsx)(Text,{color:theme.status.success,children:"> "}):" "}),(0,import_jsx_runtime2.jsx)(Text,{color:selectedIndex===CONTINUE_INDEX?theme.status.success:theme.text.primary,children:continueLabel})]})]})]})},"SettingsCorruptedDialog");init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();var import_react5=__toESM(require_react(),1);var AppContext=(0,import_react5.createContext)(null);var useAppContext=__name(()=>{const context=(0,import_react5.useContext)(AppContext);if(!context){throw new Error("useAppContext must be used within an AppProvider")}return context},"useAppContext");var import_jsx_runtime3=__toESM(require_jsx_runtime(),1);var Notifications=__name(()=>{const{startupWarnings}=useAppContext();const{initError,streamingState}=useUIState();const showStartupWarnings=startupWarnings.length>0;const showInitError=initError&&streamingState!=="responding";return(0,import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment,{children:[showStartupWarnings&&(0,import_jsx_runtime3.jsx)(Box_default,{borderStyle:"round",borderColor:theme.status.warning,paddingX:1,marginY:1,flexDirection:"column",children:startupWarnings.map((warning,index)=>(0,import_jsx_runtime3.jsx)(Text,{color:theme.status.warning,children:warning},index))}),showInitError&&(0,import_jsx_runtime3.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.status.error,paddingX:1,marginBottom:1,children:[(0,import_jsx_runtime3.jsxs)(Text,{color:theme.status.error,children:["Initialization Error: ",initError]}),(0,import_jsx_runtime3.jsxs)(Text,{color:theme.status.error,children:[" ","Please check API key and configuration."]})]})]})},"Notifications");init_esbuild_shims();var import_jsx_runtime4=__toESM(require_jsx_runtime(),1);var UpdateNotification=__name(({message})=>(0,import_jsx_runtime4.jsx)(Box_default,{borderStyle:"round",borderColor:theme.status.warning,paddingX:1,marginY:1,children:(0,import_jsx_runtime4.jsx)(Text,{color:theme.status.warning,children:message})}),"UpdateNotification");init_esbuild_shims();var import_react10=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime5=__toESM(require_jsx_runtime(),1);var ShowMoreLines=__name(({constrainHeight})=>{const overflowState=useOverflowState();const streamingState=useStreamingContext();if(overflowState===void 0||overflowState.overflowingIds.size===0||!constrainHeight||!(streamingState==="idle"||streamingState==="waiting_for_confirmation")){return null}return(0,import_jsx_runtime5.jsx)(Box_default,{children:(0,import_jsx_runtime5.jsx)(Text,{color:theme.text.secondary,wrap:"truncate",children:"Press ctrl-s to show more lines"})})},"ShowMoreLines");init_esbuild_shims();var import_react7=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime6=__toESM(require_jsx_runtime(),1);function formatAuthDisplayType(authDisplayType){if(!authDisplayType||!authDisplayType.trim()){return t("Unknown")}const value=authDisplayType.trim();switch(value){case"qwen_oauth":return t("Qwen OAuth");case"coding_plan":return t("Coding Plan");case"api_key":return t("API Key");case"unknown":return t("Unknown");default:return authDisplayType}}__name(formatAuthDisplayType,"formatAuthDisplayType");var Header=__name(({customAsciiArt,customBannerTitle,customBannerSubtitle,version,authDisplayType,model,workingDirectory})=>{const{columns:terminalWidth}=useTerminalSize();const formattedAuthType=formatAuthDisplayType(authDisplayType);const versionLabel=formatVersionLabel(version);const containerMarginX=2;const logoGap=2;const infoPanelPaddingX=1;const infoPanelBorderWidth=2;const infoPanelChromeWidth=infoPanelBorderWidth+infoPanelPaddingX*2;const minPathLength=40;const minInfoPanelWidth=minPathLength+infoPanelChromeWidth;const availableTerminalWidth=Math.max(0,terminalWidth-containerMarginX*2);const hasCustomArt=Boolean(customAsciiArt?.small||customAsciiArt?.large);const customTier=pickAsciiArtTier(customAsciiArt?.small,customAsciiArt?.large,availableTerminalWidth,logoGap,minInfoPanelWidth,getAsciiArtWidth);const displayLogo=customTier??(hasCustomArt?"":shortAsciiLogo);const logoWidth=getAsciiArtWidth(displayLogo);const showLogo=displayLogo!==""&&availableTerminalWidth>=logoWidth+logoGap+minInfoPanelWidth;const maxInfoPanelWidth=60;const availableInfoPanelWidth=showLogo?Math.min(availableTerminalWidth-logoWidth-logoGap,maxInfoPanelWidth):availableTerminalWidth;const maxPathLength=Math.max(0,availableInfoPanelWidth-infoPanelChromeWidth);const infoPanelContentWidth=Math.max(0,availableInfoPanelWidth-infoPanelChromeWidth);const authModelText=`${formattedAuthType} | ${model}`;const modelHintText=" (/model to change)";const showModelHint=infoPanelContentWidth>0&&getCachedStringWidth(authModelText+modelHintText)<=infoPanelContentWidth;const tildeifiedPath=tildeifyPath(workingDirectory);const shortenedPath=shortenPath(tildeifiedPath,Math.max(3,maxPathLength));const displayPath=maxPathLength<=0?"":shortenedPath.length>maxPathLength?shortenedPath.slice(0,maxPathLength):shortenedPath;const gradientColors=getRenderableGradientColors(theme.ui.gradient,[theme.text.secondary,theme.text.link,theme.text.accent]);return(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"row",alignItems:"center",marginX:containerMarginX,width:availableTerminalWidth,children:[showLogo&&(0,import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment,{children:[(0,import_jsx_runtime6.jsx)(Box_default,{flexShrink:0,children:gradientColors?(0,import_jsx_runtime6.jsx)(dist_default2,{colors:gradientColors,children:(0,import_jsx_runtime6.jsx)(Text,{children:displayLogo})}):(0,import_jsx_runtime6.jsx)(Text,{children:displayLogo})}),(0,import_jsx_runtime6.jsx)(Box_default,{width:logoGap})]}),(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"column",borderStyle:"single",borderColor:theme.border.default,paddingX:infoPanelPaddingX,flexGrow:showLogo?0:1,width:showLogo?availableInfoPanelWidth:void 0,children:[(0,import_jsx_runtime6.jsxs)(Text,{children:[(0,import_jsx_runtime6.jsx)(Text,{bold:true,color:theme.text.accent,children:customBannerTitle?customBannerTitle:">_ Gerege CLI"}),(0,import_jsx_runtime6.jsxs)(Text,{color:theme.text.secondary,children:[" (",versionLabel,")"]})]}),customBannerSubtitle?(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:customBannerSubtitle}):(0,import_jsx_runtime6.jsx)(Text,{children:" "}),(0,import_jsx_runtime6.jsxs)(Text,{children:[(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:authModelText}),showModelHint&&(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:modelHintText})]}),(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:displayPath})]})]})},"Header");init_esbuild_shims();var import_react6=__toESM(require_react(),1);init_esbuild_shims();init_esbuild_shims();import*as fs from"node:fs";import*as path from"node:path";var TipHistory=class _TipHistory{static{__name(this,"TipHistory")}sessionShown=new Map;data;filePath;constructor(data,filePath){this.data=data;this.filePath=filePath}get sessionCount(){return this.data.sessionCount}isCooledDown(tipId,cooldownPrompts,currentPromptCount){const lastShown=this.sessionShown.get(tipId);if(lastShown===void 0)return true;return currentPromptCount-lastShown>=cooldownPrompts}getLastShown(tipId){if(this.sessionShown.has(tipId)){return Number.MAX_SAFE_INTEGER-1e6+(this.sessionShown.get(tipId)??0)}return this.normalizeEntry(this.data.tips[tipId]).lastSessionTimestamp}normalizeEntry(raw){if(typeof raw!=="object"||raw===null||Array.isArray(raw)){return{totalShown:0,lastSessionTimestamp:0}}const candidate=raw;return{totalShown:typeof candidate.totalShown==="number"&&Number.isFinite(candidate.totalShown)?candidate.totalShown:0,lastSessionTimestamp:typeof candidate.lastSessionTimestamp==="number"&&Number.isFinite(candidate.lastSessionTimestamp)?candidate.lastSessionTimestamp:0}}recordShown(tipId,currentPromptCount){this.sessionShown.set(tipId,currentPromptCount);const entry=this.normalizeEntry(this.data.tips[tipId]);entry.totalShown++;entry.lastSessionTimestamp=Date.now();this.data.tips[tipId]=entry;this.persist()}persist(){try{const dir=path.dirname(this.filePath);if(!fs.existsSync(dir)){fs.mkdirSync(dir,{recursive:true})}atomicWriteFileSync(this.filePath,JSON.stringify(this.data,null,2),{mode:384,forceMode:true,noFollow:true})}catch{}}static load(){const filePath=path.join(Storage.getGlobalQwenDir(),"tip_history.json");let data={sessionCount:0,tips:{}};try{if(fs.existsSync(filePath)){const raw=fs.readFileSync(filePath,"utf-8");const parsed=JSON.parse(raw);if(typeof parsed==="object"&&parsed!==null&&typeof parsed.sessionCount==="number"){data={sessionCount:Number.isFinite(parsed.sessionCount)&&parsed.sessionCount>=0?Math.floor(parsed.sessionCount):0,tips:parsed.tips??{}}}}}catch{}data.sessionCount++;data.tips=typeof data.tips==="object"&&data.tips!==null&&!Array.isArray(data.tips)?data.tips:{};const history=new _TipHistory(data,filePath);history.persist();return history}};init_esbuild_shims();function selectTip(trigger,context,tips,history){const candidates=tips.filter(tip=>tip.trigger===trigger).filter(tip=>{try{return tip.isRelevant(context)}catch{return false}}).filter(tip=>history.isCooledDown(tip.id,tip.cooldownPrompts,context.sessionPromptCount));if(candidates.length===0)return null;candidates.sort((a,b)=>{if(b.priority!==a.priority)return b.priority-a.priority;return history.getLastShown(a.id)-history.getLastShown(b.id)});return candidates[0]??null}__name(selectTip,"selectTip");init_esbuild_shims();var tipRegistry=[{id:"context-critical",content:"Context near hard limit \u2014 auto-compact will force on next send. Consider /clear if you want to start fresh.",trigger:"post-response",isRelevant:__name(ctx=>ctx.thresholds!==void 0&&ctx.lastPromptTokenCount>=ctx.thresholds.hard,"isRelevant"),cooldownPrompts:3,priority:100},{id:"context-high",content:"Context is getting full. Use /compress to free up space.",trigger:"post-response",isRelevant:__name(ctx=>ctx.thresholds!==void 0&&ctx.lastPromptTokenCount>=ctx.thresholds.auto&&ctx.lastPromptTokenCount<ctx.thresholds.hard,"isRelevant"),cooldownPrompts:5,priority:90},{id:"compress-intro",content:"Long conversation? /compress summarizes history to free context.",trigger:"post-response",isRelevant:__name(ctx=>ctx.thresholds!==void 0&&ctx.lastPromptTokenCount>=ctx.thresholds.warn&&ctx.lastPromptTokenCount<ctx.thresholds.auto&&ctx.sessionPromptCount>5,"isRelevant"),cooldownPrompts:10,priority:50},{id:"new-user-slash",content:"Type / to open the command popup; Tab autocompletes slash commands and saved prompts.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<5,"isRelevant"),cooldownPrompts:0,priority:70},{id:"new-user-qwenmd",content:"Add a QWEN.md file to give Qwen Code persistent project context.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<10,"isRelevant"),cooldownPrompts:0,priority:70},{id:"new-user-resume",content:"You can resume a previous conversation by running qwen --continue or qwen --resume.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<10,"isRelevant"),cooldownPrompts:0,priority:70},{id:"shell-commands",content:"You can run any shell commands from Qwen Code using ! (e.g. !ls).",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<15,"isRelevant"),cooldownPrompts:0,priority:70},{id:"compress-startup",content:"Use /compress when the conversation gets long to summarize history and free up context.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"approval-mode-win32",content:"You can switch permission mode quickly with Tab or /approval-mode.",trigger:"startup",isRelevant:__name(ctx=>ctx.platform==="win32","isRelevant"),cooldownPrompts:0,priority:50},{id:"approval-mode",content:"You can switch permission mode quickly with Shift+Tab or /approval-mode.",trigger:"startup",isRelevant:__name(ctx=>ctx.platform!=="win32","isRelevant"),cooldownPrompts:0,priority:50},{id:"insight-command",content:"Try /insight to generate personalized insights from your chat history.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount>20,"isRelevant"),cooldownPrompts:0,priority:70},{id:"btw-command",content:"Use /btw to ask a quick side question without disrupting the conversation.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"clear-new",content:"Start a fresh idea with /clear or /new; the previous session stays available in history.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"bug-report",content:"Use /bug to submit issues to the maintainers when something goes off.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"auth-switch",content:"Switch auth type quickly with /auth.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50}];var _tipHistory=null;function getTipHistory(){if(!_tipHistory){_tipHistory=TipHistory.load()}return _tipHistory}__name(getTipHistory,"getTipHistory");var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);function pickStartupTip(){const history=getTipHistory();const context={lastPromptTokenCount:0,contextWindowSize:0,sessionPromptCount:0,sessionCount:history.sessionCount,platform:process.platform};const tip=selectTip("startup",context,tipRegistry,history);if(tip){history.recordShown(tip.id,0);return tip.content}return"Type / to see all available commands."}__name(pickStartupTip,"pickStartupTip");var Tips=__name(()=>{const selectedTip=(0,import_react6.useMemo)(()=>pickStartupTip(),[]);return(0,import_jsx_runtime7.jsx)(Box_default,{marginLeft:2,marginRight:2,children:(0,import_jsx_runtime7.jsxs)(Text,{color:theme.text.secondary,children:[t("Tips:")," ",t(selectedTip)]})})},"Tips");var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);function getAuthDisplayType(authType,baseUrl,apiKeyEnvKey){if(!authType){return"unknown"}const matched=findProviderByCredentials(baseUrl,apiKeyEnvKey);if(matched&&resolveMetadataKey(matched)){return matched.label}switch(authType){case"qwen-oauth":return"qwen_oauth";default:return"api_key"}}__name(getAuthDisplayType,"getAuthDisplayType");var AppHeader=__name(({version})=>{const settings=useSettings();const config=useConfig();const contentGeneratorConfig=config.getContentGeneratorConfig();const authType=contentGeneratorConfig?.authType;const{currentModel}=useUIState();const model=config.getModelsConfig().getModelDisplayName(currentModel);const targetDir=config.getTargetDir();const showBanner=!config.getScreenReader()&&!settings.merged.ui?.hideBanner;const showTips=!(settings.merged.ui?.hideTips||config.getScreenReader());const authDisplayType=getAuthDisplayType(authType,contentGeneratorConfig?.baseUrl,contentGeneratorConfig?.apiKeyEnvKey);const resolvedBanner=(0,import_react7.useMemo)(()=>showBanner?resolveCustomBanner(settings):void 0,[showBanner,settings]);return(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",children:[showBanner&&(0,import_jsx_runtime8.jsx)(Header,{version,authDisplayType,model,workingDirectory:targetDir,customAsciiArt:resolvedBanner?.asciiArt,customBannerTitle:resolvedBanner?.title,customBannerSubtitle:resolvedBanner?.subtitle}),showTips&&(0,import_jsx_runtime8.jsx)(Tips,{})]})},"AppHeader");init_esbuild_shims();var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var DebugModeNotification=__name(()=>{const config=useConfig();if(!config.getDebugMode()){return null}const isFileLoggingEnabled=isDebugLogFileEnabled();const isDegraded=isDebugLoggingDegraded();return(0,import_jsx_runtime9.jsxs)(Box_default,{paddingX:1,marginTop:1,flexDirection:"column",children:[(0,import_jsx_runtime9.jsx)(Text,{color:theme.status.warning,children:"Debug mode enabled"}),isFileLoggingEnabled?(0,import_jsx_runtime9.jsxs)(Text,{dimColor:true,children:["Logging to: ",Storage.getDebugLogPath(config.getSessionId())]}):(0,import_jsx_runtime9.jsx)(Text,{dimColor:true,children:"Debug log file disabled by QWEN_DEBUG_LOG_FILE"}),isDegraded&&(0,import_jsx_runtime9.jsx)(Text,{dimColor:true,children:"Warning: Debug logging is degraded (write failures occurred)"})]})},"DebugModeNotification");init_esbuild_shims();var import_react8=__toESM(require_react(),1);init_esbuild_shims();var SelectionState=class{static{__name(this,"SelectionState")}anchor=null;focus=null;dragging=false;mode="char";start(point,mode="char"){this.anchor=point;this.focus=point;this.dragging=true;this.mode=mode}extend(point){if(this.anchor){this.focus=point}}finish(){this.dragging=false}clear(){this.anchor=null;this.focus=null;this.dragging=false;this.mode="char"}get isEmpty(){return this.anchor===null||this.focus===null}get isCollapsed(){return!this.isEmpty&&this.anchor.x===this.focus.x&&this.anchor.y===this.focus.y}get isBareClick(){return this.isCollapsed&&this.mode==="char"}normalized(){if(!this.anchor||!this.focus){return null}const{anchor,focus}=this;const anchorFirst=anchor.y<focus.y||anchor.y===focus.y&&anchor.x<=focus.x;const start=anchorFirst?anchor:focus;const end=anchorFirst?focus:anchor;return{sx:start.x,sy:start.y,ex:end.x,ey:end.y}}};init_esbuild_shims();function getSelectedText(frame,selection){if(!frame){return""}const{sx,sy,ex,ey}=selection;let text="";for(let y=sy;y<=ey;y++){const row=frame.cells[y];if(!row){if(y<ey){text+="\n"}continue}const startX=y===sy?sx:0;const endX=y===ey?ex:row.length-1;let rowText="";let skippedLayoutGap=false;for(let x=Math.max(0,startX);x<=endX&&x<row.length;x++){const cell=row[x];if(cell.selectable){if(skippedLayoutGap&&rowText.length>0&&cell.value!==""&&!/\s$/u.test(rowText)&&!/^\s/u.test(cell.value)){rowText+=" "}rowText+=cell.value;skippedLayoutGap=false}else if(rowText.length>0){skippedLayoutGap=true}}text+=rowText;if(y<ey){text+=boundaryJoiner(frame,selection,y)}}return text}__name(getSelectedText,"getSelectedText");function selectedFlows(frame,selection,y){const row=frame.cells[y]??[];const startX=y===selection.sy?selection.sx:0;const endX=y===selection.ey?selection.ex:row.length-1;const flows=new Set;for(let x=Math.max(0,startX);x<=endX&&x<row.length;x++){const cell=row[x];if(cell.selectable&&cell.flowId!==null){flows.add(cell.flowId)}}if(flows.size>0){return flows}for(const boundaryY of[y-1,y]){const boundaryRow=frame.boundaries[boundaryY]??[];for(let x=Math.max(0,startX);x<=endX&&x<boundaryRow.length;x++){const claim=boundaryRow[x];if(claim?.selectable){flows.add(claim.flowId)}}}return flows}__name(selectedFlows,"selectedFlows");function boundaryJoiner(frame,selection,y){const currentFlows=selectedFlows(frame,selection,y);const nextFlows=selectedFlows(frame,selection,y+1);const[currentFlow]=currentFlows;const[nextFlow]=nextFlows;if(currentFlows.size!==1||nextFlows.size!==1||currentFlow!==nextFlow){return"\n"}const flowId=currentFlow;const claims=(frame.boundaries[y]??[]).filter(claim=>claim!==null&&claim.selectable&&claim.flowId===flowId);if(claims.length===0){return"\n"}const first=claims[0];if(claims.some(claim=>claim.kind!==first.kind||claim.joiner!==first.joiner)){return"\n"}return first.kind==="soft"?first.joiner:"\n"}__name(boundaryJoiner,"boundaryJoiner");init_esbuild_shims();function isWordCell(value){return value!==""&&value!==" "&&!/^\s$/u.test(value)}__name(isWordCell,"isWordCell");function lastContentColumn(row,start,end){for(let x=end;x>=start;x--){if(row[x].value!==""&&row[x].value!==" "){return x}}return-1}__name(lastContentColumn,"lastContentColumn");function wordSpanAt(frame,x,y){const row=frame?.cells[y];if(!row){return null}const cell=row[x];if(!cell||!isWordCell(cell.value)){return null}let sx=x;while(sx>0&&(row[sx-1].value===""||isWordCell(row[sx-1].value))){sx--}let ex=x;while(ex<row.length-1&&(row[ex+1].value===""||isWordCell(row[ex+1].value))){ex++}return{sx,sy:y,ex,ey:y}}__name(wordSpanAt,"wordSpanAt");function selectableLineSpan(row,x,y){let start=x;while(start>0&&row[start-1].selectable){start--}let runEnd=x;while(runEnd<row.length-1&&row[runEnd+1].selectable){runEnd++}const contentEnd=lastContentColumn(row,start,runEnd);return{sx:start,sy:y,ex:contentEnd,ey:y}}__name(selectableLineSpan,"selectableLineSpan");function isSelectableContent(cell){return cell.selectable&&cell.value!==""&&cell.value!==" "}__name(isSelectableContent,"isSelectableContent");function lineSpanAt(frame,x,y){const row=frame?.cells[y];if(!row||row.length===0){return null}const origin=Math.max(0,Math.min(x,row.length-1));for(let distance=0;distance<row.length;distance++){const left=origin-distance;if(left>=0&&isSelectableContent(row[left])){return selectableLineSpan(row,left,y)}const right=origin+distance;if(distance>0&&right<row.length&&isSelectableContent(row[right])){return selectableLineSpan(row,right,y)}}return null}__name(lineSpanAt,"lineSpanAt");function spanAtForMode(frame,mode,point){return mode==="word"?wordSpanAt(frame,point.x,point.y):lineSpanAt(frame,point.x,point.y)}__name(spanAtForMode,"spanAtForMode");init_esbuild_shims();function terminalToGrid(col,row,terminalHeight,frameHeight){const anchor=frameAnchor(terminalHeight,frameHeight);return{x:col-1,y:row-1-anchor}}__name(terminalToGrid,"terminalToGrid");function snapWideChar(frame,point){const row=frame?.cells[point.y];if(point.x>0&&row?.[point.x]?.value===""&&row[point.x-1]?.fullWidth){return{...point,x:point.x-1}}return point}__name(snapWideChar,"snapWideChar");function pointInViewport(point,rect){return point.y>=rect.y&&point.y<rect.y+rect.height&&point.x>=rect.x&&point.x<rect.x+rect.width}__name(pointInViewport,"pointInViewport");function clampToViewport(point,rect){return{x:Math.max(rect.x,Math.min(rect.x+rect.width-1,point.x)),y:Math.max(rect.y,Math.min(rect.y+rect.height-1,point.y))}}__name(clampToViewport,"clampToViewport");var sameViewportContent=__name((previous,current,rect)=>{if(!previous){return false}for(let y=rect.y;y<rect.y+rect.height;y++){for(let x=rect.x;x<rect.x+rect.width;x++){const cell=previous.cells[y]?.[x];const currentCell=current.cells[y]?.[x];if(cell?.value!==currentCell?.value||cell?.fullWidth!==currentCell?.fullWidth){return false}}}return true},"sameViewportContent");var sameViewportRect=__name((previous,current)=>previous!==null&¤t!==null&&previous.x===current.x&&previous.y===current.y&&previous.width===current.width&&previous.height===current.height,"sameViewportRect");var MULTI_CLICK_MS=400;var debugLogger=createDebugLogger("TEXT_SELECTION");function TextSelectionController(props){const{stdout}=use_stdout_default();const selectionRef=(0,import_react8.useRef)(new SelectionState);const dragScrollTopRef=(0,import_react8.useRef)(null);const baselineScrollTopRef=(0,import_react8.useRef)(0);const baselineScrollHeightRef=(0,import_react8.useRef)(0);const baselineFrameRef=(0,import_react8.useRef)(null);const baselineRectRef=(0,import_react8.useRef)(null);const activeRectIndexRef=(0,import_react8.useRef)(null);const selectionGenerationRef=(0,import_react8.useRef)(0);const pendingInvalidationGenRef=(0,import_react8.useRef)(null);const lastClickRef=(0,import_react8.useRef)(null);const anchorSpanRef=(0,import_react8.useRef)(null);const bufferRef=(0,import_react8.useRef)(void 0);const propsRef=(0,import_react8.useRef)(props);propsRef.current=props;const getBuffer=(0,import_react8.useCallback)(()=>{if(!bufferRef.current){bufferRef.current=getScreenBuffer(stdout)}return bufferRef.current},[stdout]);const clearSelection=(0,import_react8.useCallback)(()=>{selectionGenerationRef.current+=1;activeRectIndexRef.current=null;const selection=selectionRef.current;anchorSpanRef.current=null;if(selection.isEmpty){return}selection.clear();getBuffer()?.setSelection(null)},[getBuffer]);const applyHighlight=(0,import_react8.useCallback)(()=>{const selection=selectionRef.current;const normalized=selection.normalized();getBuffer()?.setSelection(normalized&&!selection.isBareClick?normalized:null)},[getBuffer]);const getSelectableRects=(0,import_react8.useCallback)(()=>{const viewportRect=propsRef.current.getViewportRect();if(!viewportRect){return[]}const additionalRects=propsRef.current.getAdditionalSelectableRects?.()??[];return[viewportRect,...additionalRects]},[]);const getActiveRect=(0,import_react8.useCallback)(()=>{const index=activeRectIndexRef.current;return index===null?null:getSelectableRects()[index]??null},[getSelectableRects]);const recordBaseline=(0,import_react8.useCallback)(rect=>{const scrollState=propsRef.current.getScrollState();baselineScrollTopRef.current=scrollState.scrollTop;baselineScrollHeightRef.current=scrollState.scrollHeight;baselineFrameRef.current=getBuffer()?.frame??null;baselineRectRef.current=rect},[getBuffer]);const copySelection=(0,import_react8.useCallback)(()=>{const normalized=selectionRef.current.normalized();const text=normalized?getSelectedText(getBuffer()?.frame??null,normalized):"";if(text){void copyToClipboard(text).catch(error=>{debugLogger.warn("Failed to copy selected text:",error)})}},[getBuffer]);const mapEvent=(0,import_react8.useCallback)(event=>{const buffer=getBuffer();if(!buffer){return null}const frameHeight=buffer.dimensions.height;const terminalHeight=stdout.rows??frameHeight;const point=terminalToGrid(event.col,event.row,terminalHeight,frameHeight);return snapWideChar(buffer.frame,point)},[getBuffer,stdout]);const extendSpanDrag=(0,import_react8.useCallback)(point=>{const anchor=anchorSpanRef.current;if(!anchor)return;const{span,mode}=anchor;const selection=selectionRef.current;const frame=getBuffer()?.frame??null;const current=spanAtForMode(frame,mode,point)??{sx:point.x,sy:point.y,ex:point.x,ey:point.y};const cursorAfter=point.y>span.ey||point.y===span.ey&&point.x>=span.ex;selection.anchor=cursorAfter?{x:span.sx,y:span.sy}:{x:span.ex,y:span.ey};selection.focus=cursorAfter?{x:current.ex,y:current.ey}:{x:current.sx,y:current.sy}},[getBuffer]);const extendActiveDrag=(0,import_react8.useCallback)(point=>{if(anchorSpanRef.current){extendSpanDrag(point)}else{selectionRef.current.extend(point)}},[extendSpanDrag]);const handleMouse=(0,import_react8.useCallback)(event=>{const selection=selectionRef.current;if(propsRef.current.eventsPaused){if(event.name==="left-release"){selection.finish()}return}if(event.name.startsWith("scroll-")){if(activeRectIndexRef.current===0){clearSelection()}return}if(event.name==="left-press"){selectionGenerationRef.current+=1;if(propsRef.current.hitTestScrollbar({col:event.col,row:event.row})){clearSelection();return}const point=mapEvent(event);const rects=getSelectableRects();const rectIndex=point?rects.findIndex(rect2=>pointInViewport(point,rect2)):-1;if(!point||rectIndex<0){clearSelection();return}const rect=rects[rectIndex];activeRectIndexRef.current=rectIndex;const now=Date.now();const prev=lastClickRef.current;const near=prev!=null&&prev.y===point.y&&Math.abs(prev.x-point.x)<=1&&now-prev.time<MULTI_CLICK_MS;const count=near?Math.min(prev.count+1,3):1;lastClickRef.current={x:point.x,y:point.y,time:now,count};if(count>=2){const frame=getBuffer()?.frame??null;const mode=count===2?"word":"line";const span=spanAtForMode(frame,mode,point);if(span){selection.start({x:span.sx,y:span.sy},mode);selection.extend({x:span.ex,y:span.ey});anchorSpanRef.current={span,mode};dragScrollTopRef.current=propsRef.current.getScrollState().scrollTop;recordBaseline(rect);applyHighlight();copySelection();return}}anchorSpanRef.current=null;selection.start(point);dragScrollTopRef.current=propsRef.current.getScrollState().scrollTop;recordBaseline(rect);applyHighlight();return}if(event.name==="move"){if(!selection.dragging){return}if(!anchorSpanRef.current){lastClickRef.current=null}if(activeRectIndexRef.current===0&&propsRef.current.getScrollState().scrollTop!==dragScrollTopRef.current){clearSelection();return}const point=mapEvent(event);const rect=getActiveRect();if(!point||!rect){clearSelection();return}extendActiveDrag(clampToViewport(point,rect));applyHighlight();return}if(event.name==="left-release"){if(!selection.dragging){return}if(pendingInvalidationGenRef.current===selectionGenerationRef.current){clearSelection();return}const point=mapEvent(event);const rect=getActiveRect();if(point&&rect){extendActiveDrag(clampToViewport(point,rect))}anchorSpanRef.current=null;selection.finish();if(selection.isEmpty||selection.isBareClick){clearSelection();return}applyHighlight();copySelection();return}},[clearSelection,applyHighlight,copySelection,recordBaseline,mapEvent,getBuffer,getSelectableRects,getActiveRect,extendActiveDrag]);useMouseEvents(handleMouse,{isActive:props.isActive,tracking:"button"});(0,import_react8.useEffect)(()=>{const buffer=getBuffer();if(!buffer){return}return buffer.subscribe(frame=>{if(selectionRef.current.isEmpty){return}const{scrollTop,scrollHeight}=propsRef.current.getScrollState();const activeRect=getActiveRect();const isViewportSelection=activeRectIndexRef.current===0;if(isViewportSelection&&(scrollTop!==baselineScrollTopRef.current||scrollHeight!==baselineScrollHeightRef.current)||!sameViewportRect(baselineRectRef.current,activeRect)||!sameViewportContent(baselineFrameRef.current,frame,activeRect)){const invalidatedGeneration=selectionGenerationRef.current;pendingInvalidationGenRef.current=invalidatedGeneration;queueMicrotask(()=>{pendingInvalidationGenRef.current=null;if(selectionGenerationRef.current===invalidatedGeneration){clearSelection()}})}})},[getBuffer,getActiveRect,clearSelection]);(0,import_react8.useEffect)(()=>{if(!props.isActive){clearSelection()}},[props.isActive,clearSelection]);(0,import_react8.useEffect)(()=>()=>getBuffer()?.setSelection(null),[getBuffer]);const selectionQueryRef=props.selectionQueryRef;(0,import_react8.useEffect)(()=>{if(!selectionQueryRef){return}selectionQueryRef.current={getRange:__name(()=>{const selection=selectionRef.current;if(selection.isEmpty||selection.isCollapsed&&selection.mode==="char"){return null}return selection.normalized()},"getRange")};return()=>{selectionQueryRef.current=null}},[selectionQueryRef]);return null}__name(TextSelectionController,"TextSelectionController");init_esbuild_shims();var import_react9=__toESM(require_react(),1);var debugLogger2=createDebugLogger("CONTENT_MOUSE");function ContentMouseController(props){const{stdout}=use_stdout_default();const{columns,rows}=useTerminalSize();const menu=useContextMenu();const bufferRef=(0,import_react9.useRef)(void 0);const pressRef=(0,import_react9.useRef)(null);const lastClickRef=(0,import_react9.useRef)(null);const pendingOpenRef=(0,import_react9.useRef)(null);const propsRef=(0,import_react9.useRef)(props);propsRef.current=props;const getBuffer=(0,import_react9.useCallback)(()=>{if(!bufferRef.current){bufferRef.current=getScreenBuffer(stdout)}return bufferRef.current},[stdout]);const mapPoint=(0,import_react9.useCallback)(event=>{const buffer=getBuffer();if(!buffer)return null;const frameHeight=buffer.dimensions.height;const terminalHeight=stdout.rows??frameHeight;const point=terminalToGrid(event.col,event.row,terminalHeight,frameHeight);return snapWideChar(buffer.frame,point)},[getBuffer,stdout]);const fallbackCopy=(0,import_react9.useCallback)(url=>{void copyToClipboard(url).then(()=>{console.warn(`Link copied to clipboard (not openable directly): ${url}`)}).catch(error=>{console.warn(`Unable to copy link to clipboard: ${url}`);debugLogger2.warn("Clipboard copy failed:",error)})},[]);const openLink=(0,import_react9.useCallback)(url=>{if(/^https?:\/\//i.test(url)){void openBrowserSecurely(url).catch(()=>fallbackCopy(url));return}fallbackCopy(url)},[fallbackCopy]);const cancelPendingOpen=(0,import_react9.useCallback)(()=>{const pending=pendingOpenRef.current;if(pending){clearTimeout(pending.timer);pendingOpenRef.current=null}},[]);const armPendingOpen=(0,import_react9.useCallback)(url=>{cancelPendingOpen();const timer=setTimeout(()=>{pendingOpenRef.current=null;openLink(url)},MULTI_CLICK_MS);pendingOpenRef.current={url,timer}},[cancelPendingOpen,openLink]);const handleMouse=(0,import_react9.useCallback)(event=>{if(event.name.endsWith("-press")||event.name.startsWith("scroll-")){cancelPendingOpen()}const openMenuState=menu.menu;if(openMenuState){const{position,items}=openMenuState;const size=contextMenuSize(items);const inMenu=__name(p=>p.x>=position.x&&p.x<position.x+size.width&&p.y>=position.y&&p.y<position.y+size.height,"inMenu");const itemIndexOf=__name(p=>p.y-position.y-1,"itemIndexOf");if(event.name==="move"){const p=mapPoint(event);if(p&&inMenu(p)){const index=itemIndexOf(p);if(index>=0&&index<items.length){menu.setSelectedIndex(index)}}return}if(event.name==="left-press"){const p=mapPoint(event);if(p&&inMenu(p)){const index=itemIndexOf(p);if(index>=0&&index<items.length){menu.executeIndex(index);return}}menu.closeMenu();return}if(event.name.startsWith("scroll-")){menu.closeMenu();return}if(event.name==="right-press"){menu.closeMenu()}else if(event.name.endsWith("-press")){menu.closeMenu();return}else{return}}if(event.name.startsWith("scroll-")){pressRef.current=null;lastClickRef.current=null;return}if(event.name==="move"&&event.button!=="none"){if(lastClickRef.current?.count===1){lastClickRef.current=null}const anchor=pressRef.current;if(anchor){const point2=mapPoint(event);if(!point2||point2.x!==anchor.x||point2.y!==anchor.y){pressRef.current=null}}return}const rect=propsRef.current.getViewportRect();if(!rect)return;if(propsRef.current.hitTestScrollbar({col:event.col,row:event.row})){return}const point=mapPoint(event);if(!point||!pointInViewport(point,rect))return;if(event.name==="right-press"){const frame=getBuffer()?.frame??null;const items=[];const url=hyperlinkAtCell(frame,point.x,point.y);if(url){items.push({id:"open-link",label:"Open Link",onSelect:__name(()=>openLink(url),"onSelect")});items.push({id:"copy-link",label:"Copy Link Address",onSelect:__name(()=>{void copyToClipboard(url).catch(error=>{debugLogger2.warn("Failed to copy link address:",error)})},"onSelect")})}const range=propsRef.current.selectionQueryRef?.current?.getRange();if(range){const selectionText=getSelectedText(frame,range);if(selectionText){items.push({id:"copy-selection",label:"Copy Selection",onSelect:__name(()=>{void copyToClipboard(selectionText).catch(error=>{debugLogger2.warn("Failed to copy selected text:",error)})},"onSelect")})}}if(items.length===0)return;const frameHeight=getBuffer()?.dimensions.height??rows;const visibleTop=Math.max(0,frameHeight-rows);const position=clampMenuPosition({x:point.x,y:Math.max(point.y,visibleTop)},contextMenuSize(items),columns,frameHeight);menu.openMenu(items,position);return}if(event.name==="left-press"){pressRef.current=point;const now=Date.now();const prev=lastClickRef.current;const near=prev!=null&&prev.y===point.y&&Math.abs(prev.x-point.x)<=1&&now-prev.time<MULTI_CLICK_MS;lastClickRef.current={x:point.x,y:point.y,time:now,count:near?Math.min(prev.count+1,3):1};return}if(event.name==="left-release"){const press=pressRef.current;pressRef.current=null;if(!press||press.x!==point.x||press.y!==point.y)return;if(lastClickRef.current?.count!==1)return;const url=hyperlinkAtCell(getBuffer()?.frame??null,point.x,point.y);if(url){armPendingOpen(url)}return}},[menu,mapPoint,getBuffer,openLink,armPendingOpen,cancelPendingOpen,columns,rows]);useMouseEvents(handleMouse,{isActive:props.isActive,tracking:menu.menu!==null?"any":"button"});const{closeMenu}=menu;const isActive=props.isActive;(0,import_react9.useEffect)(()=>{if(!isActive){closeMenu();cancelPendingOpen()}return()=>{closeMenu();cancelPendingOpen()}},[isActive,closeMenu,cancelPendingOpen]);const prevSizeRef=(0,import_react9.useRef)({columns,rows});(0,import_react9.useEffect)(()=>{const prev=prevSizeRef.current;prevSizeRef.current={columns,rows};if(prev.columns!==columns||prev.rows!==rows){closeMenu()}},[columns,rows,closeMenu]);return null}__name(ContentMouseController,"ContentMouseController");var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);var MAX_GEMINI_MESSAGE_LINES=65536;function createEmptySourceCopyOffsets(){return{codeBlockLanguageCounts:new Map,mathBlockCount:0}}__name(createEmptySourceCopyOffsets,"createEmptySourceCopyOffsets");function cloneSourceCopyOffsets(offsets){return{codeBlockLanguageCounts:new Map(offsets.codeBlockLanguageCounts),mathBlockCount:offsets.mathBlockCount}}__name(cloneSourceCopyOffsets,"cloneSourceCopyOffsets");function addSourceBlockCounts(offsets,text){const counts=countMarkdownSourceBlocks(text);for(const[lang,count]of counts.codeBlockLanguageCounts){const current=offsets.codeBlockLanguageCounts.get(lang)??0;offsets.codeBlockLanguageCounts.set(lang,current+count)}offsets.mathBlockCount+=counts.mathBlockCount}__name(addSourceBlockCounts,"addSourceBlockCounts");var PROGRESSIVE_REPLAY_THRESHOLD=100;var PROGRESSIVE_REPLAY_CHUNK_SIZE=50;function initialReplayCount(length){return length<=PROGRESSIVE_REPLAY_THRESHOLD?length:Math.min(PROGRESSIVE_REPLAY_CHUNK_SIZE,length)}__name(initialReplayCount,"initialReplayCount");var VirtualHistoryItem=(0,import_react10.memo)(HistoryItemDisplay);var VP_BANNER_ID=Number.MIN_SAFE_INTEGER;var VP_BANNER_ITEM={type:"vp-banner",id:VP_BANNER_ID};var virtualEstimatedItemHeight=__name(index=>index===0?10:3,"virtualEstimatedItemHeight");var virtualKeyExtractor=__name(item=>item.type==="vp-banner"?"vp-banner":item.id>=0?`h-${item.id}`:`p-${-item.id-1}`,"virtualKeyExtractor");var virtualIsStaticItem=__name(item=>item.type==="vp-banner"||item.id>0,"virtualIsStaticItem");var MainContent=__name(({footerRef,scrollActionsRef})=>{const{version}=useAppContext();const uiState=useUIState();const{allExpanded:fullDetail}=useThoughtExpanded();const streamingState=uiState.streamingState;const showScrollbar=uiState.showScrollbar??true;const{pendingHistoryItems,terminalWidth,mainAreaWidth,staticAreaMaxItemHeight,availableTerminalHeight,historyRemountKey}=uiState;const visibleHistory=(0,import_react10.useMemo)(()=>uiState.history.filter(isHistoryItemVisibleAfterRestore),[uiState.history]);const useVirtualScroll=uiState.useTerminalBuffer;const scrollRef=(0,import_react10.useRef)(null);const selectionQueryRef=(0,import_react10.useRef)(null);const{menu:contextMenuOpen}=useContextMenu();(0,import_react10.useEffect)(()=>{if(!scrollActionsRef)return;scrollActionsRef.current={scrollBy:__name(delta=>scrollRef.current?.scrollBy(delta),"scrollBy"),hasScrollableTranscript:__name(()=>{const state=scrollRef.current?.getScrollState();return!!state&&state.innerHeight>0&&state.scrollHeight>state.innerHeight},"hasScrollableTranscript")};return()=>{scrollActionsRef.current=null}},[scrollActionsRef]);const{historyItemsWithSourceCopyOffsets,pendingStartSourceCopyOffsets}=(0,import_react10.useMemo)(()=>{let runningOffsets=createEmptySourceCopyOffsets();const items=visibleHistory.map(item=>{if(item.type==="gemini"){runningOffsets=createEmptySourceCopyOffsets();const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="gemini_content"){const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="user"&&item.sentToModel!==false){runningOffsets=createEmptySourceCopyOffsets()}return{item,sourceCopyIndexOffsets:void 0}});return{historyItemsWithSourceCopyOffsets:items,pendingStartSourceCopyOffsets:cloneSourceCopyOffsets(runningOffsets)}},[visibleHistory]);const pendingHistoryItemsWithSourceCopyOffsets=(0,import_react10.useMemo)(()=>{let runningOffsets=cloneSourceCopyOffsets(pendingStartSourceCopyOffsets);return pendingHistoryItems.map(item=>{if(item.type==="gemini"){runningOffsets=createEmptySourceCopyOffsets();const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="gemini_content"){const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="user"&&item.sentToModel!==false){runningOffsets=createEmptySourceCopyOffsets()}return{item,sourceCopyIndexOffsets:void 0}})},[pendingHistoryItems,pendingStartSourceCopyOffsets]);const[replayCount,setReplayCount]=(0,import_react10.useState)(()=>initialReplayCount(visibleHistory.length));const visibleHistoryLengthRef=(0,import_react10.useRef)(visibleHistory.length);visibleHistoryLengthRef.current=visibleHistory.length;const[lastRemountKey,setLastRemountKey]=(0,import_react10.useState)(historyRemountKey);if(lastRemountKey!==historyRemountKey){setLastRemountKey(historyRemountKey);if(!useVirtualScroll){setReplayCount(initialReplayCount(visibleHistoryLengthRef.current))}}(0,import_react10.useEffect)(()=>{if(useVirtualScroll)return;if(replayCount>=visibleHistory.length)return;const remaining=visibleHistory.length-replayCount;if(remaining<=PROGRESSIVE_REPLAY_CHUNK_SIZE){setReplayCount(visibleHistory.length);return}const handle=setImmediate(()=>{setReplayCount(c=>Math.min(c+PROGRESSIVE_REPLAY_CHUNK_SIZE,visibleHistoryLengthRef.current))});return()=>clearImmediate(handle)},[useVirtualScroll,replayCount,visibleHistory.length]);const visibleHistoryItemsWithSourceCopyOffsets=historyItemsWithSourceCopyOffsets.length-replayCount<=PROGRESSIVE_REPLAY_CHUNK_SIZE?historyItemsWithSourceCopyOffsets:historyItemsWithSourceCopyOffsets.slice(0,replayCount);const allVirtualItems=(0,import_react10.useMemo)(()=>{const combined=[VP_BANNER_ITEM,...visibleHistory,...pendingHistoryItems.map((item,i)=>({...item,id:-(i+1)}))];const livePendingBatchIds=new Set;for(const item of pendingHistoryItems){if(item.type==="tool_group"&&item.batchId!==void 0){livePendingBatchIds.add(item.batchId)}}if(livePendingBatchIds.size===0)return combined;const dropped=new Set;const committedByBatchId=new Map;const keptPendingByBatchId=new Map;for(const item of combined){if(item.type!=="tool_group"||item.batchId===void 0||!livePendingBatchIds.has(item.batchId)){continue}if(item.id>0){committedByBatchId.set(item.batchId,item)}else{const kept=keptPendingByBatchId.get(item.batchId);if(kept)dropped.add(kept);keptPendingByBatchId.set(item.batchId,item)}}for(const item of committedByBatchId.values())dropped.add(item);if(dropped.size===0)return combined;return combined.filter(item=>!dropped.has(item))},[visibleHistory,pendingHistoryItems]);const sourceCopyOffsetsByHistoryItem=(0,import_react10.useMemo)(()=>{const map=new Map;for(const{item,sourceCopyIndexOffsets}of historyItemsWithSourceCopyOffsets){if(sourceCopyIndexOffsets){map.set(item,sourceCopyIndexOffsets)}}return map},[historyItemsWithSourceCopyOffsets]);const thoughtHeadIdByItem=(0,import_react10.useMemo)(()=>buildThoughtHeadIdMap(visibleHistory),[visibleHistory]);const thoughtHeadIdByItemRef=(0,import_react10.useRef)(thoughtHeadIdByItem);thoughtHeadIdByItemRef.current=thoughtHeadIdByItem;const pendingSourceCopyOffsetsByIndex=(0,import_react10.useMemo)(()=>pendingHistoryItemsWithSourceCopyOffsets.map(({sourceCopyIndexOffsets})=>sourceCopyIndexOffsets),[pendingHistoryItemsWithSourceCopyOffsets]);const pendingStateRef=(0,import_react10.useRef)({activePtyId:uiState.activePtyId,embeddedShellFocused:uiState.embeddedShellFocused,isEditorDialogOpen:uiState.isEditorDialogOpen});pendingStateRef.current={activePtyId:uiState.activePtyId,embeddedShellFocused:uiState.embeddedShellFocused,isEditorDialogOpen:uiState.isEditorDialogOpen};const pendingAvailableTerminalHeight=pendingHistoryItems.length>0&&uiState.constrainHeight?availableTerminalHeight:void 0;const hasPendingPlainTextConfirmation=pendingHistoryItems.some(item=>item.type==="tool_group"&&item.tools.some(tool=>tool.status==="Confirming"&&tool.confirmationDetails?.type==="info"&&tool.confirmationDetails.renderPromptAsPlainText===true));const pendingSourceCopyOffsetsRef=(0,import_react10.useRef)(pendingSourceCopyOffsetsByIndex);pendingSourceCopyOffsetsRef.current=pendingSourceCopyOffsetsByIndex;const renderVirtualItem=(0,import_react10.useCallback)(({item})=>{if(item.type==="vp-banner"){return(0,import_jsx_runtime10.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime10.jsx)(AppHeader,{version}),(0,import_jsx_runtime10.jsx)(DebugModeNotification,{}),(0,import_jsx_runtime10.jsx)(Notifications,{})]})}const isPending=item.id<0;const sourceCopyIndexOffsets=isPending?pendingSourceCopyOffsetsRef.current[-item.id-1]:sourceCopyOffsetsByHistoryItem.get(item);if(isPending){const ps=pendingStateRef.current;return(0,import_jsx_runtime10.jsx)(VirtualHistoryItem,{terminalWidth,mainAreaWidth,availableTerminalHeight:pendingAvailableTerminalHeight,item:{...item,id:0},isPending:true,isFocused:!ps.isEditorDialogOpen,activeShellPtyId:ps.activePtyId,embeddedShellFocused:ps.embeddedShellFocused,commands:uiState.slashCommands,sourceCopyIndexOffsets,fullDetail})}return(0,import_jsx_runtime10.jsx)(VirtualHistoryItem,{terminalWidth,mainAreaWidth,availableTerminalHeight:uiState.constrainHeight?staticAreaMaxItemHeight:void 0,availableTerminalHeightLlm:uiState.constrainHeight?MAX_GEMINI_MESSAGE_LINES:void 0,item,isPending:false,commands:uiState.slashCommands,sourceCopyIndexOffsets,thoughtHeadId:thoughtHeadIdByItemRef.current.get(item),fullDetail})},[version,terminalWidth,mainAreaWidth,staticAreaMaxItemHeight,uiState.slashCommands,sourceCopyOffsetsByHistoryItem,fullDetail,pendingAvailableTerminalHeight,uiState.constrainHeight]);if(useVirtualScroll){const scrollContainerHeight=Math.max(0,uiState.availableTerminalHeight??0);const btwPanelOwnsViewport=uiState.btwItem!==null&&!uiState.btwItem.btw.isPending;const viewportInteractive=!uiState.dialogsVisible&&contextMenuOpen===null&&!btwPanelOwnsViewport;return(0,import_jsx_runtime10.jsxs)(OverflowProvider,{children:[(0,import_jsx_runtime10.jsx)(ScrollableListWithForwardRef,{ref:scrollRef,hasFocus:viewportInteractive,data:allVirtualItems,renderItem:renderVirtualItem,estimatedItemHeight:virtualEstimatedItemHeight,keyExtractor:virtualKeyExtractor,initialScrollIndex:allVirtualItems.length<=1?0:SCROLL_TO_ITEM_END,isStaticItem:virtualIsStaticItem,containerHeight:scrollContainerHeight,measureAtFullHeight:hasPendingPlainTextConfirmation,showScrollbar}),(0,import_jsx_runtime10.jsx)(TextSelectionController,{isActive:!uiState.dialogsVisible,eventsPaused:contextMenuOpen!==null,getViewportRect:()=>scrollRef.current?.getViewportRect()??null,getAdditionalSelectableRects:()=>footerRef?.current?[measureElementPosition(footerRef.current)]:[],getScrollState:()=>scrollRef.current?.getScrollState()??{scrollTop:0,scrollHeight:0,innerHeight:0},hitTestScrollbar:location=>scrollRef.current?.hitTestScrollbar(location)??false,selectionQueryRef}),(0,import_jsx_runtime10.jsx)(ContentMouseController,{isActive:!uiState.dialogsVisible,getViewportRect:()=>scrollRef.current?.getViewportRect()??null,hitTestScrollbar:location=>scrollRef.current?.hitTestScrollbar(location)??false,selectionQueryRef}),(0,import_jsx_runtime10.jsx)(ShowMoreLines,{constrainHeight:uiState.constrainHeight})]})}return(0,import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment,{children:[(0,import_jsx_runtime10.jsx)(Static,{items:[(0,import_jsx_runtime10.jsx)(AppHeader,{version},"app-header"),(0,import_jsx_runtime10.jsx)(DebugModeNotification,{},"debug-notification"),(0,import_jsx_runtime10.jsx)(Notifications,{},"notifications"),...visibleHistoryItemsWithSourceCopyOffsets.map(({item:h,sourceCopyIndexOffsets})=>(0,import_jsx_runtime10.jsx)(HistoryItemDisplay,{terminalWidth,mainAreaWidth,availableTerminalHeight:staticAreaMaxItemHeight,availableTerminalHeightLlm:MAX_GEMINI_MESSAGE_LINES,item:h,isPending:false,commands:uiState.slashCommands,sourceCopyIndexOffsets,thoughtHeadId:thoughtHeadIdByItem.get(h),fullDetail},h.id))],children:item=>item},`${historyRemountKey}-${uiState.currentModel}`),(0,import_jsx_runtime10.jsx)(OverflowProvider,{children:(0,import_jsx_runtime10.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime10.jsx)(Box_default,{flexDirection:"column",flexShrink:0,maxHeight:uiState.constrainHeight||streamingState==="responding"?availableTerminalHeight||void 0:void 0,overflow:"hidden",children:pendingHistoryItemsWithSourceCopyOffsets.map(({item,sourceCopyIndexOffsets},i)=>(0,import_jsx_runtime10.jsx)(HistoryItemDisplay,{availableTerminalHeight:uiState.constrainHeight?availableTerminalHeight:void 0,terminalWidth,mainAreaWidth,item:{...item,id:0},isPending:true,isFocused:!uiState.isEditorDialogOpen,activeShellPtyId:uiState.activePtyId,embeddedShellFocused:uiState.embeddedShellFocused,sourceCopyIndexOffsets,fullDetail},i))}),(0,import_jsx_runtime10.jsx)(ShowMoreLines,{constrainHeight:uiState.constrainHeight})]})})]})},"MainContent");init_esbuild_shims();init_esbuild_shims();var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);function LoopDetectionConfirmation({cause,onComplete}){useKeypress(key=>{if(key.name==="escape"){onComplete({userSelection:"keep"})}},{isActive:true});const quotedCause=cause?.replace(/`([^`]+)`/g,'"$1"');const OPTIONS=[{label:"Keep loop detection enabled (esc)",value:{userSelection:"keep"},key:"Keep loop detection enabled (esc)"},{label:"Disable loop detection for this session",value:{userSelection:"disable"},key:"Disable loop detection for this session"}];return(0,import_jsx_runtime11.jsx)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.warning,width:"100%",marginLeft:1,children:(0,import_jsx_runtime11.jsxs)(Box_default,{paddingX:1,paddingY:0,flexDirection:"column",children:[(0,import_jsx_runtime11.jsxs)(Box_default,{minHeight:1,children:[(0,import_jsx_runtime11.jsx)(Box_default,{minWidth:3,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.status.warning,"aria-label":"Loop detected:",children:"?"})}),(0,import_jsx_runtime11.jsx)(Box_default,{children:(0,import_jsx_runtime11.jsxs)(Text,{wrap:"truncate-end",children:[(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.primary,bold:true,children:"A potential loop was detected"})," "]})})]}),(0,import_jsx_runtime11.jsx)(Box_default,{width:"100%",marginTop:1,children:(0,import_jsx_runtime11.jsxs)(Box_default,{flexDirection:"column",children:[quotedCause&&(0,import_jsx_runtime11.jsxs)(Text,{color:theme.text.primary,children:["Cause: ",quotedCause,"."]}),(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.secondary,children:"This can happen due to repetitive tool calls or other model behavior. Do you want to keep loop detection enabled or disable it for this session?"}),(0,import_jsx_runtime11.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime11.jsx)(RadioButtonSelect,{items:OPTIONS,onSelect:onComplete})}),(0,import_jsx_runtime11.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.secondary,children:'Note: Setting "model.loopProtection" in your settings.json to "warn" reminds the model instead of stopping, and "off" turns loop protection off, for future sessions. "model.skipLoopDetection" disables only the heuristic loop checks. The tool-call budget is tunable via "model.maxToolCallsPerTurn" (0 disables it). Disabling for this session above suppresses everything.'})})]})})]})})}__name(LoopDetectionConfirmation,"LoopDetectionConfirmation");init_esbuild_shims();var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var SHELL_CONFIRMATION_FIXED_ROWS=9;var MIN_HEIGHT_WITH_HIDDEN_COMMAND_OPTIONS=8;var ShellConfirmationDialog=__name(({request,availableTerminalHeight,contentWidth=80})=>{const{commands,onConfirm}=request;const constrainedHeight=clampDialogHeight(availableTerminalHeight);const commandPreviewHeight=constrainedHeight===void 0?void 0:constrainedHeight>=SHELL_CONFIRMATION_FIXED_ROWS+2?Math.max(2,constrainedHeight-SHELL_CONFIRMATION_FIXED_ROWS):0;const commandsHidden=constrainedHeight!==void 0&&commandPreviewHeight===0&&commands.length>0;const commandApprovalUnavailable=commandsHidden&&constrainedHeight!==void 0&&constrainedHeight<MIN_HEIGHT_WITH_HIDDEN_COMMAND_OPTIONS;const compactHiddenCommandsLayout=commandsHidden&&constrainedHeight<=SHELL_CONFIRMATION_FIXED_ROWS;useKeypress(key=>{if(key.name==="escape"){onConfirm("cancel")}},{isActive:true});const handleSelect=__name(item=>{if(item==="cancel"){onConfirm(item)}else{onConfirm(item,commands)}},"handleSelect");const options=[{label:t("Yes, allow once"),value:"proceed_once",key:"Yes, allow once"},{label:t("Always allow in this project"),value:"proceed_always_project",key:"Always allow in this project"},{label:t("Always allow for this user"),value:"proceed_always_user",key:"Always allow for this user"},{label:t("No (esc)"),value:"cancel",key:"No (esc)"}];const visibleOptions=commandApprovalUnavailable?options.filter(option=>option.value==="cancel"):options;return(0,import_jsx_runtime12.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.warning,paddingX:1,paddingY:constrainedHeight===void 0?1:0,width:"100%",marginLeft:1,height:constrainedHeight,overflow:"hidden",children:[(0,import_jsx_runtime12.jsx)(Text,{bold:true,color:theme.text.primary,wrap:"truncate",children:t("Shell Command Execution")}),!compactHiddenCommandsLayout&&(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.primary,wrap:"truncate",children:t("A custom command wants to run the following shell commands:")}),constrainedHeight===void 0?(0,import_jsx_runtime12.jsx)(Box_default,{flexDirection:"column",marginTop:1,marginBottom:1,flexShrink:1,children:(0,import_jsx_runtime12.jsx)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.border.default,paddingX:1,children:commands.map(cmd=>(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.link,children:cmd},cmd))})}):commandPreviewHeight!==void 0&&commandPreviewHeight>0?(0,import_jsx_runtime12.jsx)(Box_default,{flexDirection:"column",flexShrink:1,children:(0,import_jsx_runtime12.jsx)(MaxSizedBox,{maxHeight:commandPreviewHeight,maxWidth:Math.max(1,contentWidth-8),overflowDirection:"top",children:commands.map(cmd=>(0,import_jsx_runtime12.jsx)(Box_default,{children:(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.link,children:cmd})},cmd))})}):commandsHidden?(0,import_jsx_runtime12.jsxs)(Text,{color:theme.status.warning,wrap:"truncate",children:[commands.length," ",t("shell commands hidden - resize terminal to review")]}):null,!compactHiddenCommandsLayout&&(0,import_jsx_runtime12.jsx)(Box_default,{marginBottom:constrainedHeight===void 0?1:0,flexShrink:0,children:(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.primary,children:t("Do you want to proceed?")})}),(0,import_jsx_runtime12.jsx)(Box_default,{flexShrink:0,children:(0,import_jsx_runtime12.jsx)(RadioButtonSelect,{items:visibleOptions,onSelect:handleSelect,isFocused:true})})]})},"ShellConfirmationDialog");init_esbuild_shims();var import_react11=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var CONSENT_PROMPT_CHROME_ROWS=7;var ConsentPrompt=__name(props=>{const{prompt,onConfirm,terminalWidth,availableTerminalHeight}=props;const constrainedHeight=clampDialogHeight(availableTerminalHeight);const availablePromptRows=constrainedHeight===void 0?void 0:Math.max(1,constrainedHeight-CONSENT_PROMPT_CHROME_ROWS);const showPromptTruncationNotice=typeof prompt==="string"&&availablePromptRows!==void 0&&availablePromptRows<=2;const promptHeight=availablePromptRows===void 0?void 0:Math.max(1,availablePromptRows-(showPromptTruncationNotice?1:0));return(0,import_jsx_runtime13.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,height:constrainedHeight,overflow:"hidden",children:[(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",flexShrink:1,overflow:"hidden",children:typeof prompt==="string"?(0,import_jsx_runtime13.jsx)(MarkdownDisplay,{isPending:true,text:prompt,contentWidth:terminalWidth,...promptHeight!==void 0?{availableTerminalHeight:promptHeight}:{}}):prompt}),showPromptTruncationNotice&&(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,wrap:"truncate",children:t("Content truncated - resize terminal to review")}),(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,flexShrink:0,children:(0,import_jsx_runtime13.jsx)(RadioButtonSelect,{items:[{label:"Yes",value:true,key:"Yes"},{label:"No",value:false,key:"No"}],onSelect:onConfirm})})]})},"ConsentPrompt");init_esbuild_shims();var import_react12=__toESM(require_react(),1);var import_jsx_runtime14=__toESM(require_jsx_runtime(),1);var ProviderDiffSection=__name(({entry})=>{const{providerLabel,diff}=entry;const hasModelChanges=diff.added.length>0||diff.removed.length>0;return(0,import_jsx_runtime14.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime14.jsx)(Text,{bold:true,color:theme.text.secondary,children:providerLabel}),hasModelChanges?(0,import_jsx_runtime14.jsxs)(Box_default,{flexDirection:"column",children:[diff.added.map(model=>(0,import_jsx_runtime14.jsxs)(Text,{color:theme.status.success,children:[" + ",model]},model)),diff.removed.map(model=>(0,import_jsx_runtime14.jsxs)(Text,{color:theme.status.error,children:[" - ",model]},model))]}):(0,import_jsx_runtime14.jsxs)(Text,{color:theme.text.secondary,children:[" ",t("Model parameters updated (context window, capabilities, etc.)")]})]})},"ProviderDiffSection");var ProviderUpdatePrompt=__name(({entries,onConfirm})=>{const handleKeypress=(0,import_react12.useCallback)(key=>{if(key.name==="escape"){onConfirm("later")}},[onConfirm]);useKeypress(handleKeypress,{isActive:true});const affectedEntry=entries.find(e=>e.diff.currentModelAffected);const title=entries.length===1?t("Built-in Provider Update \xB7 {{provider}}",{provider:entries[0].providerLabel}):t("Built-in Provider Updates");return(0,import_jsx_runtime14.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,children:[(0,import_jsx_runtime14.jsx)(Text,{bold:true,children:title}),(0,import_jsx_runtime14.jsx)(Box_default,{flexDirection:"column",marginTop:1,gap:1,children:entries.map(entry=>(0,import_jsx_runtime14.jsx)(ProviderDiffSection,{entry},entry.providerLabel))}),(0,import_jsx_runtime14.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[affectedEntry&&(0,import_jsx_runtime14.jsx)(Text,{color:theme.status.warning,children:t("Note: Your selected model is being removed. Please choose a new one with /model.")}),(0,import_jsx_runtime14.jsx)(Text,{color:theme.text.secondary,children:t("Tips: Your credentials will not be modified.")})]}),(0,import_jsx_runtime14.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime14.jsx)(RadioButtonSelect,{items:[{label:t("Update all"),value:"update",key:"update"},{label:t("Skip this version"),value:"skip",key:"skip"},{label:t("Remind me later (esc)"),value:"later",key:"later"}],onSelect:onConfirm})})]})},"ProviderUpdatePrompt");init_esbuild_shims();var import_react13=__toESM(require_react(),1);var import_jsx_runtime15=__toESM(require_jsx_runtime(),1);var isPrintableAscii=__name(character=>{const charCode=character.charCodeAt(0);return charCode>=32&&charCode<=126},"isPrintableAscii");var PasswordInput=__name(({value,onChange,onSubmit,placeholder})=>{useKeypress(key=>{if(key.paste){const pastedValue=key.sequence.split("").filter(isPrintableAscii).join("");if(pastedValue){onChange(value+pastedValue)}return}if(key.name==="return"){onSubmit();return}if(key.name==="backspace"||key.name==="delete"){onChange(value.slice(0,-1));return}if(key.ctrl&&key.name==="u"){onChange("");return}if(key.sequence&&!key.ctrl&&!key.meta&&key.sequence.length===1){if(isPrintableAscii(key.sequence)){onChange(value+key.sequence)}}},{isActive:true});const maskedValue="*".repeat(value.length);const displayValue=maskedValue||"";const cursorChar=renderSoftwareCursor(" ");return(0,import_jsx_runtime15.jsxs)(Box_default,{children:[(0,import_jsx_runtime15.jsx)(Text,{color:theme.text.accent,children:"> "}),value.length===0?(0,import_jsx_runtime15.jsxs)(Text,{children:[cursorChar,(0,import_jsx_runtime15.jsx)(Text,{dimColor:true,children:placeholder.slice(1)})]}):(0,import_jsx_runtime15.jsxs)(Text,{children:[displayValue,cursorChar]})]})},"PasswordInput");var SettingInputPrompt=__name(props=>{const{settingName,settingDescription,sensitive,onSubmit,onCancel,terminalWidth}=props;const[value,setValue]=(0,import_react13.useState)("");useKeypress(key=>{if(key.name==="escape"){onCancel()}},{isActive:true});const handleSubmit=__name(()=>{if(value.trim()){onSubmit(value)}},"handleSubmit");return(0,import_jsx_runtime15.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,children:[(0,import_jsx_runtime15.jsx)(Text,{bold:true,color:theme.text.accent,children:settingName}),(0,import_jsx_runtime15.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime15.jsx)(Text,{children:settingDescription})}),(0,import_jsx_runtime15.jsx)(Box_default,{marginTop:1,flexDirection:"column",children:sensitive?(0,import_jsx_runtime15.jsx)(PasswordInput,{value,onChange:setValue,onSubmit:handleSubmit,placeholder:t("Enter sensitive value...")}):(0,import_jsx_runtime15.jsx)(TextInput,{value,onChange:setValue,onSubmit:handleSubmit,placeholder:t("Enter value..."),inputWidth:Math.min(terminalWidth-10,60),isActive:true})}),(0,import_jsx_runtime15.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime15.jsx)(Text,{dimColor:true,children:t("Press Enter to submit, Escape to cancel")})})]})},"SettingInputPrompt");init_esbuild_shims();var import_react14=__toESM(require_react(),1);var import_jsx_runtime16=__toESM(require_jsx_runtime(),1);var MAX_VISIBLE_ITEMS=8;var PluginChoicePrompt=__name(props=>{const{marketplaceName,plugins,onSelect,onCancel}=props;const[selectedIndex,setSelectedIndex]=(0,import_react14.useState)(0);const prefixWidth=2;const handleKeypress=(0,import_react14.useCallback)(key=>{const{name,sequence}=key;if(name==="escape"){onCancel();return}if(name==="return"){const plugin=plugins[selectedIndex];if(plugin){onSelect(plugin.name)}return}if(keyMatchers["selectionUp"](key)){setSelectedIndex(prev=>prev>0?prev-1:plugins.length-1);return}if(keyMatchers["selectionDown"](key)){setSelectedIndex(prev=>prev<plugins.length-1?prev+1:0);return}const num=parseInt(sequence||"",10);if(!isNaN(num)&&num>=1&&num<=plugins.length&&num<=9){setSelectedIndex(num-1);const plugin=plugins[num-1];if(plugin){onSelect(plugin.name)}}},[plugins,selectedIndex,onSelect,onCancel]);useKeypress(handleKeypress,{isActive:true});const{visiblePlugins,startIndex,hasMore,hasLess}=(0,import_react14.useMemo)(()=>{const total=plugins.length;if(total<=MAX_VISIBLE_ITEMS){return{visiblePlugins:plugins,startIndex:0,hasMore:false,hasLess:false}}let start=0;const halfWindow=Math.floor(MAX_VISIBLE_ITEMS/2);if(selectedIndex<=halfWindow){start=0}else if(selectedIndex>=total-halfWindow){start=total-MAX_VISIBLE_ITEMS}else{start=selectedIndex-halfWindow}const end=Math.min(start+MAX_VISIBLE_ITEMS,total);return{visiblePlugins:plugins.slice(start,end),startIndex:start,hasLess:start>0,hasMore:end<total}},[plugins,selectedIndex]);return(0,import_jsx_runtime16.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width:"100%",children:[(0,import_jsx_runtime16.jsx)(Text,{bold:true,color:theme.text.accent,children:t('Select a plugin from "{{name}}"',{name:marketplaceName})}),(0,import_jsx_runtime16.jsxs)(Box_default,{marginTop:1,flexDirection:"column",children:[hasLess&&(0,import_jsx_runtime16.jsx)(Box_default,{children:(0,import_jsx_runtime16.jsxs)(Text,{dimColor:true,children:[" ","\u2191 ",t("{{count}} more above",{count:String(startIndex)})]})}),visiblePlugins.map((plugin,visibleIndex)=>{const actualIndex=startIndex+visibleIndex;const isSelected=actualIndex===selectedIndex;const prefix=isSelected?"\u276F ":" ";return(0,import_jsx_runtime16.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime16.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime16.jsx)(Text,{color:isSelected?theme.text.accent:void 0,children:prefix}),(0,import_jsx_runtime16.jsx)(Text,{bold:isSelected,color:isSelected?theme.text.accent:void 0,children:plugin.name})]}),isSelected&&plugin.description&&(0,import_jsx_runtime16.jsx)(Box_default,{marginLeft:prefixWidth,children:(0,import_jsx_runtime16.jsx)(Text,{color:theme.text.accent,children:plugin.description})})]},plugin.name)}),hasMore&&(0,import_jsx_runtime16.jsx)(Box_default,{children:(0,import_jsx_runtime16.jsxs)(Text,{dimColor:true,children:[" ","\u2193"," ",t("{{count}} more below",{count:String(plugins.length-startIndex-MAX_VISIBLE_ITEMS)})]})})]}),(0,import_jsx_runtime16.jsxs)(Box_default,{marginTop:1,flexDirection:"row",gap:2,children:[(0,import_jsx_runtime16.jsx)(Text,{dimColor:true,children:t("Use \u2191\u2193 or j/k to navigate, Enter to select, Escape to cancel")}),plugins.length>MAX_VISIBLE_ITEMS&&(0,import_jsx_runtime16.jsxs)(Text,{dimColor:true,children:["(",selectedIndex+1,"/",plugins.length,")"]})]})]})},"PluginChoicePrompt");init_esbuild_shims();var import_react15=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime17=__toESM(require_jsx_runtime(),1);function ScopeSelector({onSelect,onHighlight,isFocused,initialScope}){const scopeItems3=getScopeItems().map(item=>({...item,label:t(item.label),key:item.value}));const initialIndex=scopeItems3.findIndex(item=>item.value===initialScope);const safeInitialIndex=initialIndex>=0?initialIndex:0;return(0,import_jsx_runtime17.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime17.jsxs)(Text,{bold:isFocused,wrap:"truncate",children:[isFocused?"> ":" ",t("Apply To")]}),(0,import_jsx_runtime17.jsx)(Box_default,{height:1}),(0,import_jsx_runtime17.jsx)(RadioButtonSelect,{items:scopeItems3,initialIndex:safeInitialIndex,onSelect,onHighlight,isFocused,showNumbers:isFocused})]})}__name(ScopeSelector,"ScopeSelector");var import_jsx_runtime18=__toESM(require_jsx_runtime(),1);function ThemeDialog({onSelect,onHighlight,settings,availableTerminalHeight,terminalWidth}){const[selectedScope,setSelectedScope]=(0,import_react15.useState)("User");const[highlightedThemeName,setHighlightedThemeName]=(0,import_react15.useState)(settings.merged.ui?.theme||AUTO_THEME_NAME);const customThemes=selectedScope==="User"?settings.user.settings.ui?.customThemes||{}:settings.merged.ui?.customThemes||{};const builtInThemes=themeManager.getAvailableThemes().filter(theme2=>theme2.type!=="custom");const customThemeNames=Object.keys(customThemes);const capitalize=__name(s=>s.charAt(0).toUpperCase()+s.slice(1),"capitalize");const themeItems=[{label:t("Auto (detect terminal theme)"),value:AUTO_THEME_NAME,themeNameDisplay:t("Auto"),themeTypeDisplay:t("Auto"),key:AUTO_THEME_NAME},...builtInThemes.map(theme2=>({label:theme2.name,value:theme2.name,themeNameDisplay:theme2.name,themeTypeDisplay:capitalize(theme2.type),key:theme2.name})),...customThemeNames.map(name=>({label:name,value:name,themeNameDisplay:name,themeTypeDisplay:t("Custom"),key:name}))];const initialThemeIndex=themeItems.findIndex(item=>item.value===highlightedThemeName);const safeInitialThemeIndex=initialThemeIndex>=0?initialThemeIndex:0;const handleThemeSelect=(0,import_react15.useCallback)(themeName=>{onSelect(themeName,selectedScope)},[onSelect,selectedScope]);const handleThemeHighlight=__name(themeName=>{setHighlightedThemeName(themeName);onHighlight(themeName)},"handleThemeHighlight");const handleScopeHighlight=(0,import_react15.useCallback)(scope=>{setSelectedScope(scope)},[]);const handleScopeSelect=(0,import_react15.useCallback)(scope=>{onSelect(highlightedThemeName,scope)},[onSelect,highlightedThemeName]);const[mode,setMode]=(0,import_react15.useState)("theme");useKeypress(key=>{if(key.name==="tab"){setMode(prev=>prev==="theme"?"scope":"theme")}if(key.name==="escape"){onSelect(void 0,selectedScope)}},{isActive:true});const otherScopeModifiedMessage=getScopeMessageForSetting("ui.theme",selectedScope,settings);const PREVIEW_PANE_WIDTH_PERCENTAGE=.55;const PREVIEW_PANE_WIDTH_SAFETY_MARGIN=.9;const TOTAL_HORIZONTAL_PADDING=4;const colorizeCodeWidth=Math.max(Math.floor((terminalWidth-TOTAL_HORIZONTAL_PADDING)*PREVIEW_PANE_WIDTH_PERCENTAGE*PREVIEW_PANE_WIDTH_SAFETY_MARGIN),1);const DIALOG_PADDING=2;const selectThemeHeight=themeItems.length+1;const TAB_TO_SELECT_HEIGHT=2;availableTerminalHeight=availableTerminalHeight??Number.MAX_SAFE_INTEGER;availableTerminalHeight-=2;availableTerminalHeight-=TAB_TO_SELECT_HEIGHT;let totalLeftHandSideHeight=DIALOG_PADDING+selectThemeHeight;let includePadding=true;if(totalLeftHandSideHeight>availableTerminalHeight){includePadding=false;totalLeftHandSideHeight-=DIALOG_PADDING}const PREVIEW_PANE_FIXED_VERTICAL_SPACE=8;availableTerminalHeight=Math.max(availableTerminalHeight,totalLeftHandSideHeight);const availableTerminalHeightCodeBlock=availableTerminalHeight-PREVIEW_PANE_FIXED_VERTICAL_SPACE-(includePadding?2:0)*2;const availableHeightForPanes=Math.max(0,availableTerminalHeightCodeBlock-1);const codeBlockHeight=Math.ceil(availableHeightForPanes*.6);const diffHeight=Math.floor(availableHeightForPanes*.4);return(0,import_jsx_runtime18.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingTop:includePadding?1:0,paddingBottom:includePadding?1:0,paddingLeft:1,paddingRight:1,width:"100%",children:[mode==="theme"?(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"column",width:"45%",paddingRight:2,children:[(0,import_jsx_runtime18.jsxs)(Text,{bold:mode==="theme",wrap:"truncate",children:[mode==="theme"?"> ":" ",t("Select Theme")," ",(0,import_jsx_runtime18.jsx)(Text,{color:theme.text.secondary,children:otherScopeModifiedMessage})]}),(0,import_jsx_runtime18.jsx)(RadioButtonSelect,{items:themeItems,initialIndex:safeInitialThemeIndex,onSelect:handleThemeSelect,onHighlight:handleThemeHighlight,isFocused:mode==="theme",maxItemsToShow:12,showScrollArrows:true,showNumbers:mode==="theme"})]}),(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"column",width:"55%",paddingLeft:2,children:[(0,import_jsx_runtime18.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Preview")}),(()=>{const previewTheme=highlightedThemeName===AUTO_THEME_NAME?themeManager.getActiveTheme():themeManager.getTheme(highlightedThemeName||DEFAULT_THEME.name)||DEFAULT_THEME;return(0,import_jsx_runtime18.jsxs)(Box_default,{borderStyle:"single",borderColor:theme.border.default,paddingTop:includePadding?1:0,paddingBottom:includePadding?1:0,paddingLeft:1,paddingRight:1,flexDirection:"column",children:[colorizeCode(`# function
|
|
3
|
+
import{MAX_ACCEPTED_BACKLOG,PeerMessaging,classifyApiError}from"./chunk-DEJ47KJE.js";import{normalizePartList}from"./chunk-HIO3M52C.js";import{DescriptiveRadioButtonSelect,DualOutputBridge,EDITOR_DISPLAY_NAMES,EffortDialog,MAIN_CONTENT_HEIGHT_RESERVATION,MAX_STATUS_LINES,MOD_BAND_BORDERS,MOD_BAND_RESERVED_COLUMNS,ProviderSetupSteps,RANGE_CYCLE,RemoteInputWatcher,STATIC_EXTRA_HEIGHT,STATUS_LINE_DIALOG_FIXED_ROWS,STATUS_LINE_OPTIONS,SuggestionsDisplay,TAB_DEFS,TableRow,VISIBLE_RESOURCES_COUNT,VISIBLE_TOOLS_COUNT,VimModeProvider,buildConfigFromKeys,buildInitialSelectedKeys,buildThoughtHeadIdMap,calculatePromptWidths,clampDialogHeight,classifyPastedImagePaths,cleanModBandText,computeWindowTitle,editorSettingsManager,expandPendingPastePlaceholders,extensionComponentsSummary,findLastUserItemIndex,fmtDurationShort,fmtSuccessBar,fmtTokens,formatServerCommand,formatSessionWindowTitle,formatSourceLabels,framePasteExpansion,getBtwAnswerMaxRows,getCacheColor,getConfigSourceDisplay,getDialogMaxHeight,getEffectiveStatusLineScope,getHeatmapColors,getPreviewData,getRangeLabel,getScopeItems,getScopeMessageForSetting,getSeriesColors,getStatusColor as getStatusColor2,getStatusIcon,getSuccessColor,getToolInvalidReasons,groupServersBySource,isNarrowWidth,isRealUserTurn,isRewindableUserTurn,isSyntheticHistoryItem,isToolValid,itemsAfterAreOnlySynthetic,mapToDisplay,modBandBold,modBandChildKeys,modBandColor,modBandInput,modBandLayout,modBandMaxRows,modBandWrap,observeInteractiveModTool,open_default,pickAsciiArtTier,primeGitBranchName,realUserPromptTexts,resolveCustomBanner,restorePasteDraft,rewindSession,shortAsciiLogo,stripLeadingSystemReminders,titleStatusPrefix,unframeClipboardPastes,useAnimationFrame,useAtCompletion,useAuthCommand,useAwaySummary,useCompletion,useDeleteCommand,useDoublePress,useFollowupSuggestionsCLI,useGitBranchName,useLogger,useMcpApproval,useModBand,usePhraseCycler,usePromptVoiceInput,useProviderSetupFlow,useReactToolScheduler,useReverseSearchCompletion,useShellCommandProcessor,useShellHistory,useStatusLineState,useTimer,useVim,useVimModeActions,useVimModeState,useWorkflowMode,useWorktreeSession,writeTerminalTitle}from"./chunk-QSPXKBUX.js";import{buildPermissionSuggestions}from"./chunk-2Z36XVH7.js";import{TUI_CHAT_RECORDING_FAILURE_MESSAGE,describeLoopStop,formatInteractiveLoopDetectedMessage}from"./chunk-BGELKSQ4.js";import"./chunk-QTKPC24L.js";import{startPostRenderPrefetches}from"./chunk-IQMKQKKD.js";import{useAutoAcceptIndicator}from"./chunk-X2TY7VTY.js";import"./chunk-F64AWDLW.js";import{MAX_SUGGESTION_LABEL_WIDTH,buildMcpResourceRef,handleAtCommand,resolveAtCommandQuery}from"./chunk-RULGA7WE.js";import{BuiltinCommandLoader,BundledSkillLoader,CONTEXT_FILES_ANNOUNCEMENT_PREFIX,CommandService,DISPLAY_HOOK_EVENTS,FileCommandLoader,MAX_STACKED_SKILLS,McpPromptLoader,SLASH_COMMANDS_SKIP_RECORDING,SavedWorkflowLoader,SkillCommandLoader,addConfigToMatcherGroup,appendUserPromptExpansionAdditionalContext,applyOutputStyleSelection,buildBackgroundWorkBlockedMessage,completeRestoreToolResponse,consumesContextAnnouncementLatch,copyToClipboard,createEmptyHookEventInfo,dayKey,findMidInputSlashCommand,findSlashCommandTokens,formatApprovalModeDescription,formatApprovalModeName,formatEffortChangeMessage,formatUserPromptExpansionBlockedMessage,getAllConfigs,getBestSlashCommandMatch,getTranslatedSourceDisplayMap,hasBlockingBackgroundWork,hasSlashCommandPathSeparator,isAtCommand,isBtwCommand,isContextFilesAnnouncement,isCrossSessionMessagingActive,isCrossSessionMessagingOptedIn,isMidInputCompletableCommand,isPickerOnlyModelInvocation,isSlashCommand,isStackedSkillCompletableCommand,isValidStackedSkillPrefix,loadSessionOutputStyles,parseDayKey,parseSlashCommand,parseStackedSlashCommands,quitCommand,recordAutoSkillCommandUsage,refreshExtensionContentRuntime,resetBackgroundStateForSessionSwitch,resolveOutputStyleChoice,rewindCommand,serializeUserPromptExpansionPrompt,supportsMatchers}from"./chunk-WK666FGZ.js";import{EXTENSION_RELOAD_FAILED_REASON,ExtensionRefreshState}from"./chunk-254YDSL2.js";import{getInteractiveModSession,isModRecoveryCommand}from"./chunk-QHYSRPQR.js";import{sanitizeDisplayText}from"./chunk-7HFFTOAD.js";import{AboutBox,BtwMessage,CommandFormatMigrationNudge,FolderTrustDialog,Help,HistoryItemDisplay,IdeIntegrationNudge,SCROLL_TO_ITEM_END,ScrollableListWithForwardRef,SessionPicker,ThoughtExpandedProvider,ToolDetailsExpandedProvider,UIActionsContext,UIStateContext,dist_default as dist_default2,extensionUpdatesReducer,getScreenBuffer,hyperlinkAtCell,initialExtensionUpdatesState,useArenaCommand,useHistory,useIdeTrustListener,useProviderUpdates,useThoughtExpanded,useUIActions,useUIState}from"./chunk-5R2JIZID.js";import{Colors,ConfigContext,DiffRenderer,ErrorBoundary,MCPServerApprovalDialog,MarkdownDisplay,RadioButtonSelect,RenderModeProvider,RespondingSpinner,SCREEN_READER_USER_PREFIX,SessionStatsProvider,SettingsContext,Spinner,StreamingContext,TOOL_DISPLAY_BY_NAME,TOOL_SUCCESS_RATE_HIGH,TOOL_SUCCESS_RATE_MEDIUM,TerminalOutputProvider,TextInput,ToolConfirmationMessage,USER_AGREEMENT_RATE_HIGH,USER_AGREEMENT_RATE_MEDIUM,VirtualViewportContext,buildStatusLinePresetLines,build_default,checkExhaustive,colorizeCode,consumeLastRenderError,countMarkdownSourceBlocks,dist_default,findLastSafeSplitPoint,fitPendingSlice,formatTokenCount as formatTokenCount2,frameAnchor,getArenaStatusLabel,getEnclosingFenceInfo,getRenderableGradientColors,getStatusColor,isDeletionKey,isPrintableSearchChar,keyMatchers,layoutRowForEvent,loadLowlight,logicalPosToOffset,measureElementPosition,removeLastGrapheme,renderSoftwareCursor,splitFencedMarkdown,truncateText,useConfig,useLaunchEditor,useMouseEvents,useMouseTrackingEnabled,usePreferredEditor,useSelectionList,useSessionStats,useSettings,useStreamingContext,useTerminalSize,useTextBuffer,useVirtualViewport}from"./chunk-4QOVM2LL.js";import{ContextMenuProvider,KeypressProvider,clampMenuPosition,contextMenuSize,useContextMenu,useFocus,useKeypress,useKeypressContext}from"./chunk-PHDKSEIU.js";import{MAX_EXTENSION_OWNER_LABEL_WIDTH,computeSessionStats,contextUsageLabel,formatDuration,formatPercentageUsed,formatRelativeTime,formatTokenCount,getCommandDisplayName,getCommandSourceBadge,skillOriginLabel}from"./chunk-WCI33URB.js";import{BEL,OSC_PREFIX,cleanupOldClipboardImages,clipboardHasImage,detectTerminal,generateKittyId,oscGhosttyNotify,oscITerm2Notify,oscKittyNotify,readClipboardText,saveClipboardImage}from"./chunk-HR4TFOG6.js";import"./chunk-EVBKKQ7Y.js";import{MaxSizedBox,OverflowProvider,theme,useOverflowState}from"./chunk-GKUDJQEK.js";import{require_jsx_runtime}from"./chunk-REPFZQ7R.js";import{Box_default,Static,Text,base_exports,measure_element_default,render_default,use_box_metrics_default,use_cursor_default,use_is_screen_reader_enabled_default,use_stdin_default,use_stdout_default,wrapAnsi}from"./chunk-YIJNS5IJ.js";import{ICON,WAITING_SPINNER_FRAME,applyCollapsePolicyAndSummary,buildResumedHistoryItems,computeResumedPromptCountSeed,shouldDisplayGoalStateCause,waitForGoalRuntime}from"./chunk-HXTYFGSQ.js";import{stopAndGetCapturedInput}from"./chunk-ZUQDG3KO.js";import{disableKittyProtocol,isKittyProtocolEnabled,isKittyProtocolSupported,pushKittyProtocolFlags}from"./chunk-HKA2IEQ6.js";import{setUpdateHandler}from"./chunk-IY7M5HKF.js";import{isHistoryItemVisibleAfterRestore}from"./chunk-4TZUKLPC.js";import"./chunk-U5YOAOU3.js";import{AUTO_THEME_NAME,DEFAULT_THEME,themeManager}from"./chunk-W3YCOEIP.js";import"./chunk-UGLQO5K7.js";import{require_react}from"./chunk-5QKDV4CD.js";import"./chunk-WF7Q3ZSQ.js";import{cleanupReviewWorktreeLeases}from"./chunk-6WV5RKYB.js";import"./chunk-TD6VSPYX.js";import"./chunk-TZV5T7CF.js";import{MAX_INLINE_IMAGES_PER_ITEM,getInlineImageData}from"./chunk-VRNYIKVL.js";import"./chunk-OPJXNOWV.js";import"./chunk-K7GN4CMV.js";import"./chunk-WQUA4G2X.js";import"./chunk-2DU2WMTL.js";import{allowsFastOnlyAdvisorModel,appEvents,checkAdvisorModelAvailability,isAdvisorModelEligible,loadHierarchicalMemory}from"./chunk-4A663FE6.js";import"./chunk-VURTGFJP.js";import{cpLen,cpSlice,escapeAnsiCtrlCodes,getAsciiArtWidth,getCachedStringWidth,sanitizeFilenameForDisplay,sanitizeMultilineForDisplay,sanitizeTerminalLine,sanitizeTerminalText,stringWidth,stripUnsafeCharacters,toCodePoints,truncateToWidth}from"./chunk-64CA3W6G.js";import"./chunk-S34YI2NO.js";import"./chunk-F5SLLEJY.js";import"./chunk-XXUK6YLA.js";import"./chunk-OX4QMNUW.js";import"./chunk-QVHDM6N7.js";import"./chunk-SZBGWRES.js";import"./chunk-R4VUFIDQ.js";import"./chunk-4LC4INFI.js";import"./chunk-XIFNBULA.js";import"./chunk-YY4GWNTU.js";import"./chunk-Z57KDB5F.js";import"./chunk-6BSQDDUG.js";import"./chunk-R7TNFTT4.js";import"./chunk-DHYCGKLG.js";import"./chunk-4ME3BUJK.js";import{formatUnsupportedVoiceModelMessage,isSelectableVoiceModel}from"./chunk-EKRUF347.js";import"./chunk-G2SXDY2E.js";import"./chunk-LT3J74BZ.js";import"./chunk-WEPC42YR.js";import"./chunk-XKSB7VTV.js";import"./chunk-VDUNIK4I.js";import"./chunk-YZUKMJW7.js";import"./chunk-26MNTKT2.js";import"./chunk-2HLVSWM6.js";import{formatExecutionSandbox,getExtendedSystemInfo}from"./chunk-MS2XCBPP.js";import"./chunk-F7622ZRQ.js";import{getReasoningEffortsForConfig}from"./chunk-4XF4ZGJG.js";import{formatSettingRowValue}from"./chunk-L42NTHIT.js";import{buildHigherDisabled,computeWorkspaceSkillListUpdates,skillSettingStrings}from"./chunk-AVCBF5WL.js";import{isValidSessionId}from"./chunk-LGFF5PJA.js";import{getRawModelProviders}from"./chunk-MDCA4I63.js";import"./chunk-BWQ5AIEA.js";import"./chunk-WDR5XP3Y.js";import"./chunk-WBDNGVHU.js";import"./chunk-2QYDBHYZ.js";import"./chunk-LUDNUVSA.js";import"./chunk-BZAH4DTS.js";import"./chunk-DTX2OVQW.js";import"./chunk-3SHHYK7S.js";import"./chunk-BYVINSWZ.js";import"./chunk-L5UULTGF.js";import"./chunk-AVJJ62OC.js";import"./chunk-VNV7VKZL.js";import"./chunk-KOJ7WZ63.js";import"./chunk-O6ZQAVRG.js";import"./chunk-3KZHPZVZ.js";import"./chunk-CFTFKWPW.js";import"./chunk-NIEO2TBE.js";import"./chunk-SPYNWVDZ.js";import"./chunk-E4UMXDOZ.js";import"./chunk-MMQY4FJL.js";import"./chunk-NY56CL2X.js";import"./chunk-TL6RUTMP.js";import"./chunk-W7V6J2VV.js";import"./chunk-B6ZRS462.js";import"./chunk-3SWMGBN3.js";import"./chunk-AZ3CKMCT.js";import"./chunk-TDDRZUJO.js";import"./chunk-Q6U4ODPJ.js";import"./chunk-SAVYMUU3.js";import{isInlineModelOverrideAllowed,publicProviderBaseUrl}from"./chunk-GT4TCQ3R.js";import"./chunk-EEPNACXJ.js";import{requestConsentInteractive,requestConsentOrFail}from"./chunk-CDKBM72V.js";import"./chunk-D2NY7HVY.js";import{getErrorMessage as getErrorMessage2}from"./chunk-HJLRKM3W.js";import{exitCleanly,relaunchApp}from"./chunk-UVMLWDRU.js";import"./chunk-QO46QMCC.js";import"./chunk-WWRXBAW4.js";import"./chunk-A27RJEWD.js";import"./chunk-QN7NYEE3.js";import"./chunk-WSOEJTOC.js";import{loadMcpApprovals}from"./chunk-NHPKD7LY.js";import"./chunk-6YFNUVJR.js";import{CORRUPTED_SUFFIX,getDefaultValue,getDialogSettingKeys,getDisplayValue,getEffectiveValue,getNestedValue,getPersistScopeForModelSelection,getRestartRequiredFromModified,getSettingDefinition,isAutoLanguage,isDefaultValue,loadSettings,nextBooleanSettingValue,requiresRestart,saveModifiedSettings,setPendingSettingValue,setPendingSettingValueAny,validateSettingValue,writeOutputLanguageAndRegisterPath}from"./chunk-Q5RRVBTY.js";import"./chunk-UWCF7JIF.js";import{TOGGLE_TYPES,isNumericSettingType}from"./chunk-G4MWPXNY.js";import"./chunk-LMUSSYJH.js";import{getCurrentLanguage,localizeToolDisplayName,t}from"./chunk-NO7VTKRL.js";import"./chunk-U7HZUZKP.js";import"./chunk-UM5KBBYP.js";import"./chunk-PKK2D2W4.js";import"./chunk-N3AQAZ7D.js";import"./chunk-E5T4R2PM.js";import{require_strip_json_comments}from"./chunk-DOLUT3XC.js";import"./chunk-PTHIQ7ZN.js";import{isWorkspaceTrusted,loadTrustedFolders}from"./chunk-YWK3E4WJ.js";import"./chunk-EIPLDYEY.js";import"./chunk-IDXJIDME.js";import{AsyncFzf,AutonomousLoopTickResolver,DroppedNotificationTally,IDLE_SPECULATION,MAX_BACKGROUND_NOTIFICATION_QUEUE,abortSpeculation,acceptSpeculation,buildSessionRecoveryPlan,clearWelcomeBackState,decideNotificationAdmission,describePeerInboxFailure,detectAutonomousSentinel,generatePromptSuggestion,generateToolUseSummary,getLastPeerInboxFailure,getProjectSummaryInfo,getWelcomeBackState,isWsl,renderGoalContinuationTurn,saveWelcomeBackRestartChoice,startSpeculation,subagentGenerator}from"./chunk-CK3OKTTL.js";import"./chunk-QS2ZMQIS.js";import"./chunk-S7IKHQ6I.js";import"./chunk-SEQAVABL.js";import"./chunk-IEWZIDC6.js";import{formatVersionLabel,getCliVersion}from"./chunk-MXZXQUVP.js";import"./chunk-O4EDHV64.js";import"./chunk-PAD5GPDY.js";import"./chunk-MD3ZEOBX.js";import"./chunk-SSYS5YN5.js";import"./chunk-X5QSFJVS.js";import{WorktreeRestoreRefusedError,clearWorktreeSession,isSessionRuntimeActive,restoreWorktreeContext}from"./chunk-OMDTFGTX.js";import"./chunk-3EZ5GCUT.js";import"./chunk-46VUDNCL.js";import{PEER_ADMISSION_LIMITS,describeDeliveryStatus,describeDropReason,describeHoldCause,parseHeldExpiry}from"./chunk-MKH3EH7O.js";import"./chunk-E3KWSRJN.js";import"./chunk-FRVXSKL4.js";import"./chunk-HW6SU6MX.js";import"./chunk-ZHHFNZ5J.js";import"./chunk-AKWYMQKU.js";import"./chunk-MZUOREFD.js";import"./chunk-BVV7UXES.js";import"./chunk-7XZVMIY5.js";import"./chunk-BY46PCWY.js";import"./chunk-ZZJXFLVM.js";import"./chunk-RKDS7A4H.js";import"./chunk-PMBI46K4.js";import"./chunk-IV3HAIUN.js";import"./chunk-XFMPZINJ.js";import"./chunk-DECUAM3U.js";import"./chunk-QX7W2HY7.js";import"./chunk-HN5UYLPU.js";import"./chunk-PGRN3GZY.js";import"./chunk-HTW7PYHK.js";import"./chunk-AMGUAA4G.js";import"./chunk-YFTVFH2A.js";import"./chunk-ZBHL2CXR.js";import"./chunk-NIOS3B3V.js";import{ConditionalRulesRegistry,DEFAULT_BUILTIN_SUBAGENT_TYPE,DISPLAY_MODE,IdeClient,MAX_RECENT_ACTIVITIES,MCPOAuthProvider,MCPOAuthTokenStorage,SessionService,aggregateUsage,allowEditorTypeInSandbox,buildBackgroundEntryLabel,buildWorkflowSizeGuidelineChangeNotice,checkForExtensionUpdate,checkHasEditorType,computeThresholds,computeUniqueBranchTitle,convertTomlToMarkdown,createDuplicateProviderToolCallResponse,createInstructionsLoadedCallback,didWriteProjectContextFile,finalizeToolResponses,findRepeatedDuplicateProviderToolCall,fireNotificationHook,getCachedToolCallFingerprint,getExtensionDisplayName,getTimeRangeBounds,goalToolResultProvenance,ideContextStore,isActiveWorkflowStatus,isEditorAvailable,isExtensionCommittedWithWarningsError,isGatedMcpScope,isReplayOfHandledToolCall,isSettledStatus,isSuccessStatus,isTerminalStatus,isTerminalWorkflowStatus,loadUsageHistory,markDuplicateProviderToolCallResponseSent,matchesAnyServerPattern,mcpServerRequiresOAuth,metricsToUsageRecord,normalizeDerivedBranchTitle,parseAndFormatApiError,parseCron,parseInstallSource,parseVisionModelSetting,recordHandledToolCall,refreshMemoryAfterManagedWrite,refreshMemoryInstruction,resolveWorkflowIntent,resolveWorkflowSizeGuidelineSetting,saveWorkflowScript,validateWorkflowName}from"./chunk-T3CQ72HC.js";import"./chunk-R2EHHA2C.js";import"./chunk-YK7NDQKM.js";import"./chunk-ZLZF2ZDD.js";import"./chunk-OMSVOFTC.js";import"./chunk-PHIPLV2I.js";import"./chunk-ZOTKZI2P.js";import"./chunk-A6G5TAIF.js";import"./chunk-YVBHCSZD.js";import"./chunk-FIXDX63I.js";import"./chunk-T7CHK6C2.js";import"./chunk-PT7NZBDY.js";import"./chunk-TWP72VRH.js";import"./chunk-UYEWRLGD.js";import"./chunk-QVPT37XZ.js";import"./chunk-YVD4O5ZB.js";import{readCronTasks,taskHasLegacyCondition}from"./chunk-T6W33SET.js";import"./chunk-WK2IBT6D.js";import"./chunk-QZV4PFQK.js";import{GitWorktreeService,fetchGitDiff,fetchGitDiffHunks,readWorktreeSessionMarker,writeRuntimeStatus}from"./chunk-ILECDNJX.js";import"./chunk-QXQGUM3Y.js";import"./chunk-UQ7IROJH.js";import"./chunk-SZCBUCNH.js";import{buildModelIdContext,resolveModelId}from"./chunk-BEKROCWN.js";import"./chunk-5SUFJTQQ.js";import{flattenPeerLabel,registerSession}from"./chunk-BYU42MLK.js";import"./chunk-JWQXU3SR.js";import"./chunk-5LZ2DPLH.js";import"./chunk-XQJOZDV7.js";import"./chunk-CV2UAEZA.js";import"./chunk-FUBDS3AV.js";import{GOAL_PAUSE_REASON_USER_INTERRUPT,elapsedActiveTime,goalPauseReasonForFailure,goalRequiresExactPermit}from"./chunk-HW6AWS7W.js";import"./chunk-KLC3OD2M.js";import"./chunk-Q5IZXKUJ.js";import"./chunk-G5PYYZMM.js";import"./chunk-BG67XABA.js";import{glob}from"./chunk-OBOU4ZZM.js";import"./chunk-D7XCQWP2.js";import"./chunk-AE5OMKRY.js";import"./chunk-OBV7RNHV.js";import"./chunk-7CQMWEMY.js";import"./chunk-GOZYWU4B.js";import{parseRule}from"./chunk-OUC3WICA.js";import{APPROVAL_MODES}from"./chunk-JZK2WGXA.js";import"./chunk-MPHSE7M4.js";import"./chunk-S2ZKZXHX.js";import"./chunk-7UK4WJWS.js";import"./chunk-4GP3PH7Z.js";import"./chunk-4QQKOW5M.js";import{BUILT_IN_OUTPUT_STYLES}from"./chunk-OV3EBH6J.js";import{NO_EXEC_CONFIG,getGitBranch}from"./chunk-EBMCWXGZ.js";import"./chunk-XZTE4YTN.js";import"./chunk-LSASUDF2.js";import"./chunk-2V5EKGDK.js";import"./chunk-MOKVM4PT.js";import"./chunk-YIW3H46P.js";import"./chunk-EOMRLUNZ.js";import"./chunk-4ZRCV3JY.js";import"./chunk-TL6MLBXR.js";import{ShellExecutionService}from"./chunk-NMY3PYNO.js";import{stripAnsi}from"./chunk-YGLM5XPP.js";import"./chunk-WGNF7FPC.js";import"./chunk-4NPYOXJO.js";import{promptIdContext}from"./chunk-MWGB5RCF.js";import"./chunk-SCD5TUBG.js";import"./chunk-NTRFETZB.js";import"./chunk-TL3SF2GA.js";import"./chunk-LMJPU2JM.js";import"./chunk-VFB6Q74I.js";import"./chunk-4JNHUZ7M.js";import"./chunk-SW54YEPK.js";import"./chunk-ZCRL73DT.js";import"./chunk-A6LT3FIJ.js";import"./chunk-S6RXVOY6.js";import{captureHookExecutionOwner,runOutsideAgentContext}from"./chunk-YZFNBUKG.js";import"./chunk-AGEDDL7Z.js";import"./chunk-2NJJHZ52.js";import"./chunk-BN4FIQ77.js";import"./chunk-X64RXJQQ.js";import"./chunk-HETUGUHE.js";import{ALIBABA_PROVIDERS,QWENCLOUD_PROVIDERS,THIRD_PARTY_PROVIDERS,customProvider,findExistingProviderModels,findProviderByCredentials,findProviderById,isImageGenerationCapable,resolveMetadataKey}from"./chunk-ET2Z7ZGF.js";import{osc8Hyperlink,supportsHyperlinks,wrapForMultiplexer}from"./chunk-XFPYXD2P.js";import{openBrowserSecurely}from"./chunk-3YWXKSOI.js";import"./chunk-5CWTKFI4.js";import"./chunk-C4MVD5OI.js";import"./chunk-Z2W7S4O4.js";import"./chunk-476F6QIM.js";import"./chunk-4R67LXKL.js";import"./chunk-FQRF6B65.js";import{ApiCancelEvent,ConversationFinishedEvent,DiscoveredMCPTool,ModelSlashCommandEvent,PromptSuggestionEvent,SpeculationEvent,UserFeedbackEvent,UserPromptEvent,UserRetryEvent,addMCPStatusChangeListener,formatFullTurnVisionNotice,formatVisionBridgeNotice,getAllMCPServerStatuses,getFullTurnVisionModelSelector,getMCPServerStatus,hasImageParts,isImageCapable,logApiCancel,logConversationFinishedEvent,logModelSlashCommand,logPromptSuggestion,logSlashCommand,logSpeculation,logUserFeedback,logUserPrompt,logUserRetry,makeSlashCommandEvent,recordSkillInvocation,removeMCPServerStatus,removeMCPStatusChangeListener,runVisionBridge,shouldRunVisionBridge,splitImageParts}from"./chunk-ZWPSBU7K.js";import"./chunk-UQFTXKEB.js";import"./chunk-HDGTWJ24.js";import"./chunk-W5NWIGKO.js";import{AUTO_MEMORY_INDEX_FILENAME,getAutoMemoryProjectStateDir,getAutoMemoryRoot,getUserAutoMemoryRoot}from"./chunk-KVA6DHHF.js";import"./chunk-PWOQASXT.js";import"./chunk-K7JCVESI.js";import{getAllMemoryFilenames,getUnsupportedImageFormatWarning,isSupportedImageMimeType}from"./chunk-Y6HHV4LC.js";import"./chunk-RP57XAJ2.js";import"./chunk-Z6AR5XE5.js";import"./chunk-7DOOXUDG.js";import"./chunk-77V43YOE.js";import"./chunk-7U7CWMP7.js";import"./chunk-EFTJIDS3.js";import"./chunk-4DIWAQ5G.js";import{clampInlineMediaPart}from"./chunk-Q6UAOTP3.js";import"./chunk-H5EXNXGW.js";import{DEFAULT_TOKEN_LIMIT,MAINLINE_CODER_MODEL,applyReasoningEffort}from"./chunk-GOR7FFVE.js";import"./chunk-4ZBZL23U.js";import{atomicWriteFileSync}from"./chunk-BMHYEQTI.js";import"./chunk-ZZZAYAJW.js";import"./chunk-XMANRGPK.js";import{endInteractionSpan,getActiveInteractionSpan,redactUrlCredentials}from"./chunk-3XVPZY7X.js";import"./chunk-KQX4H2D3.js";import"./chunk-URNNJMIC.js";import{FinishReason}from"./chunk-QKX6AI4W.js";import"./chunk-GU22I6TY.js";import"./chunk-YEYW7PPR.js";import"./chunk-U6C6ONIN.js";import"./chunk-GLXNCFWC.js";import"./chunk-NPAX2UFU.js";import"./chunk-4W27Z3OL.js";import{finalizeStartupProfile,profileCheckpoint}from"./chunk-H4XFFVZ2.js";import"./chunk-X7QN6R6K.js";import"./chunk-EO57EBMH.js";import{registerCleanup,runExitCleanup}from"./chunk-3ICJI5KW.js";import{clearScreen,writeStderrLine,writeStderrLineSafe,writeStdoutLine}from"./chunk-M4ECEHLX.js";import"./chunk-DBRQGEEI.js";import{getApiHistoryPromptId}from"./chunk-B3ZFUGTC.js";import"./chunk-IRINPFG7.js";import{HOOKS_CONFIG_FIELDS}from"./chunk-6GTPLW7K.js";import"./chunk-NGVRCUYD.js";import"./chunk-5DTFN37U.js";import{isPathWithinRoot}from"./chunk-2YUBAWQ6.js";import"./chunk-O5EKX7LG.js";import"./chunk-TM6ZCBR7.js";import"./chunk-SVAPAMMG.js";import"./chunk-3KUHQGOS.js";import"./chunk-I6S7NGX3.js";import{ToolNames}from"./chunk-SBZFGYYS.js";import{createDebugLogger,isDebugLogFileEnabled,isDebugLoggingDegraded}from"./chunk-JAUJI56S.js";import"./chunk-I4H7NUVP.js";import{Storage}from"./chunk-EPODBRBP.js";import{shortenPath,tildeifyPath}from"./chunk-OKN3Z5C5.js";import{UnauthorizedError,getErrorMessage,isNodeError}from"./chunk-XYB7GC5U.js";import"./chunk-2UOMCYQG.js";import"./chunk-I7L2TX4M.js";import"./chunk-MK3OONRA.js";import"./chunk-COGTQ5KZ.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name,__toESM}from"./chunk-KBWJGX7I.js";init_esbuild_shims();import{stat as stat2}from"node:fs/promises";import{basename as basename4}from"node:path";var import_react135=__toESM(require_react(),1);init_esbuild_shims();var import_react=__toESM(require_react(),1);var PeerMessagingContext=(0,import_react.createContext)(null);var usePeerMessaging=__name(()=>(0,import_react.useContext)(PeerMessagingContext),"usePeerMessaging");var PeerInboxFailureContext=(0,import_react.createContext)(null);var usePeerInboxFailure=__name(()=>(0,import_react.useContext)(PeerInboxFailureContext),"usePeerInboxFailure");init_esbuild_shims();import{isDeepStrictEqual}from"node:util";function inboundPolicyScope(settings){const merged=settings.merged.agents?.crossSessionInbound;if(merged===void 0)return void 0;const valueIn=__name(scope=>settings.forScope(scope).settings.agents?.crossSessionInbound,"valueIn");if(valueIn("System")!==void 0)return"system";const user=valueIn("User");const systemDefaults=valueIn("SystemDefaults");const workspace=valueIn("Workspace");if(isDeepStrictEqual(user,merged))return"user";if(isDeepStrictEqual(systemDefaults,merged))return"system";if(settings.isTrusted&&settings.workspaceSettingsActive&&isDeepStrictEqual(workspace,merged)){return"workspace"}if(user!==void 0)return"user";if(systemDefaults!==void 0)return"system";return void 0}__name(inboundPolicyScope,"inboundPolicyScope");init_esbuild_shims();var import_react2=__toESM(require_react(),1);var DualOutputContext=(0,import_react2.createContext)(null);function useDualOutput(){return(0,import_react2.useContext)(DualOutputContext)}__name(useDualOutput,"useDualOutput");init_esbuild_shims();var import_react3=__toESM(require_react(),1);var RemoteInputContext=(0,import_react3.createContext)(null);var useRemoteInput=__name(()=>(0,import_react3.useContext)(RemoteInputContext),"useRemoteInput");init_esbuild_shims();var import_react133=__toESM(require_react(),1);init_esbuild_shims();var import_react97=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime=__toESM(require_jsx_runtime(),1);var QuittingDisplay=__name(()=>{const uiState=useUIState();const{rows:terminalHeight,columns:terminalWidth}=useTerminalSize();const availableTerminalHeight=terminalHeight;const{mainAreaWidth}=uiState;if(!uiState.quittingMessages){return null}return(0,import_jsx_runtime.jsx)(Box_default,{flexDirection:"column",marginBottom:1,children:uiState.quittingMessages.map(item=>(0,import_jsx_runtime.jsx)(HistoryItemDisplay,{availableTerminalHeight:uiState.constrainHeight?availableTerminalHeight:void 0,terminalWidth,mainAreaWidth,item,isPending:false},item.id))})},"QuittingDisplay");init_esbuild_shims();var import_react4=__toESM(require_react(),1);var import_jsx_runtime2=__toESM(require_jsx_runtime(),1);var EXIT_INDEX=0;var CONTINUE_INDEX=1;var SettingsCorruptedDialog=__name(({corruptedPath,wasRecovered,onExit,onContinue})=>{const[selectedIndex,setSelectedIndex]=(0,import_react4.useState)(EXIT_INDEX);useKeypress(key=>{if(key.name==="escape"){onContinue();return}if(key.ctrl&&key.name==="c"){onExit();return}if(key.name==="up"){setSelectedIndex(EXIT_INDEX)}if(key.name==="down"){setSelectedIndex(CONTINUE_INDEX)}if(key.name==="return"){if(selectedIndex===EXIT_INDEX){onExit()}else{onContinue()}}},{isActive:true});const continueLabel=wasRecovered?t("Continue with recovered settings (esc)"):t("Continue with empty settings (esc)");return(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.error,padding:1,width:"100%",marginLeft:1,children:[(0,import_jsx_runtime2.jsxs)(Box_default,{marginBottom:1,flexDirection:"column",children:[(0,import_jsx_runtime2.jsxs)(Text,{children:[(0,import_jsx_runtime2.jsx)(Text,{color:theme.status.error,children:"> "}),(0,import_jsx_runtime2.jsx)(Text,{bold:true,color:theme.status.error,children:t("Settings file corrupted")})]}),(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,children:t("Your settings file had invalid JSON. A copy of the corrupted file has been saved for reference.")}),(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,children:corruptedPath})]}),(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime2.jsxs)(Box_default,{children:[(0,import_jsx_runtime2.jsx)(Text,{children:selectedIndex===EXIT_INDEX?(0,import_jsx_runtime2.jsx)(Text,{color:theme.status.success,children:"> "}):" "}),(0,import_jsx_runtime2.jsx)(Text,{color:selectedIndex===EXIT_INDEX?theme.status.success:theme.text.primary,children:t("Exit and restore corrupted file")})]}),(0,import_jsx_runtime2.jsxs)(Box_default,{children:[(0,import_jsx_runtime2.jsx)(Text,{children:selectedIndex===CONTINUE_INDEX?(0,import_jsx_runtime2.jsx)(Text,{color:theme.status.success,children:"> "}):" "}),(0,import_jsx_runtime2.jsx)(Text,{color:selectedIndex===CONTINUE_INDEX?theme.status.success:theme.text.primary,children:continueLabel})]})]})]})},"SettingsCorruptedDialog");init_esbuild_shims();init_esbuild_shims();init_esbuild_shims();var import_react5=__toESM(require_react(),1);var AppContext=(0,import_react5.createContext)(null);var useAppContext=__name(()=>{const context=(0,import_react5.useContext)(AppContext);if(!context){throw new Error("useAppContext must be used within an AppProvider")}return context},"useAppContext");var import_jsx_runtime3=__toESM(require_jsx_runtime(),1);var Notifications=__name(()=>{const{startupWarnings}=useAppContext();const{initError,streamingState}=useUIState();const showStartupWarnings=startupWarnings.length>0;const showInitError=initError&&streamingState!=="responding";return(0,import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment,{children:[showStartupWarnings&&(0,import_jsx_runtime3.jsx)(Box_default,{borderStyle:"round",borderColor:theme.status.warning,paddingX:1,marginY:1,flexDirection:"column",children:startupWarnings.map((warning,index)=>(0,import_jsx_runtime3.jsx)(Text,{color:theme.status.warning,children:warning},index))}),showInitError&&(0,import_jsx_runtime3.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.status.error,paddingX:1,marginBottom:1,children:[(0,import_jsx_runtime3.jsxs)(Text,{color:theme.status.error,children:["Initialization Error: ",initError]}),(0,import_jsx_runtime3.jsxs)(Text,{color:theme.status.error,children:[" ","Please check API key and configuration."]})]})]})},"Notifications");init_esbuild_shims();var import_jsx_runtime4=__toESM(require_jsx_runtime(),1);var UpdateNotification=__name(({message})=>(0,import_jsx_runtime4.jsx)(Box_default,{borderStyle:"round",borderColor:theme.status.warning,paddingX:1,marginY:1,children:(0,import_jsx_runtime4.jsx)(Text,{color:theme.status.warning,children:message})}),"UpdateNotification");init_esbuild_shims();var import_react10=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime5=__toESM(require_jsx_runtime(),1);var ShowMoreLines=__name(({constrainHeight})=>{const overflowState=useOverflowState();const streamingState=useStreamingContext();if(overflowState===void 0||overflowState.overflowingIds.size===0||!constrainHeight||!(streamingState==="idle"||streamingState==="waiting_for_confirmation")){return null}return(0,import_jsx_runtime5.jsx)(Box_default,{children:(0,import_jsx_runtime5.jsx)(Text,{color:theme.text.secondary,wrap:"truncate",children:"Press ctrl-s to show more lines"})})},"ShowMoreLines");init_esbuild_shims();var import_react7=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime6=__toESM(require_jsx_runtime(),1);function formatAuthDisplayType(authDisplayType){if(!authDisplayType||!authDisplayType.trim()){return t("Unknown")}const value=authDisplayType.trim();switch(value){case"qwen_oauth":return t("Qwen OAuth");case"coding_plan":return t("Coding Plan");case"api_key":return t("API Key");case"unknown":return t("Unknown");default:return authDisplayType}}__name(formatAuthDisplayType,"formatAuthDisplayType");var Header=__name(({customAsciiArt,customBannerTitle,customBannerSubtitle,version,authDisplayType,model,workingDirectory})=>{const{columns:terminalWidth}=useTerminalSize();const formattedAuthType=formatAuthDisplayType(authDisplayType);const versionLabel=formatVersionLabel(version);const containerMarginX=2;const logoGap=2;const infoPanelPaddingX=1;const infoPanelBorderWidth=2;const infoPanelChromeWidth=infoPanelBorderWidth+infoPanelPaddingX*2;const minPathLength=40;const minInfoPanelWidth=minPathLength+infoPanelChromeWidth;const availableTerminalWidth=Math.max(0,terminalWidth-containerMarginX*2);const hasCustomArt=Boolean(customAsciiArt?.small||customAsciiArt?.large);const customTier=pickAsciiArtTier(customAsciiArt?.small,customAsciiArt?.large,availableTerminalWidth,logoGap,minInfoPanelWidth,getAsciiArtWidth);const displayLogo=customTier??(hasCustomArt?"":shortAsciiLogo);const logoWidth=getAsciiArtWidth(displayLogo);const showLogo=displayLogo!==""&&availableTerminalWidth>=logoWidth+logoGap+minInfoPanelWidth;const maxInfoPanelWidth=60;const availableInfoPanelWidth=showLogo?Math.min(availableTerminalWidth-logoWidth-logoGap,maxInfoPanelWidth):availableTerminalWidth;const maxPathLength=Math.max(0,availableInfoPanelWidth-infoPanelChromeWidth);const infoPanelContentWidth=Math.max(0,availableInfoPanelWidth-infoPanelChromeWidth);const authModelText=`${formattedAuthType} | ${model}`;const modelHintText=" (/model to change)";const showModelHint=infoPanelContentWidth>0&&getCachedStringWidth(authModelText+modelHintText)<=infoPanelContentWidth;const tildeifiedPath=tildeifyPath(workingDirectory);const shortenedPath=shortenPath(tildeifiedPath,Math.max(3,maxPathLength));const displayPath=maxPathLength<=0?"":shortenedPath.length>maxPathLength?shortenedPath.slice(0,maxPathLength):shortenedPath;const gradientColors=getRenderableGradientColors(theme.ui.gradient,[theme.text.secondary,theme.text.link,theme.text.accent]);return(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"row",alignItems:"center",marginX:containerMarginX,width:availableTerminalWidth,children:[showLogo&&(0,import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment,{children:[(0,import_jsx_runtime6.jsx)(Box_default,{flexShrink:0,children:gradientColors?(0,import_jsx_runtime6.jsx)(dist_default2,{colors:gradientColors,children:(0,import_jsx_runtime6.jsx)(Text,{children:displayLogo})}):(0,import_jsx_runtime6.jsx)(Text,{children:displayLogo})}),(0,import_jsx_runtime6.jsx)(Box_default,{width:logoGap})]}),(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"column",borderStyle:"single",borderColor:theme.border.default,paddingX:infoPanelPaddingX,flexGrow:showLogo?0:1,width:showLogo?availableInfoPanelWidth:void 0,children:[(0,import_jsx_runtime6.jsxs)(Text,{children:[(0,import_jsx_runtime6.jsx)(Text,{bold:true,color:theme.text.accent,children:customBannerTitle?customBannerTitle:">_ Gerege CLI"}),(0,import_jsx_runtime6.jsxs)(Text,{color:theme.text.secondary,children:[" (",versionLabel,")"]})]}),customBannerSubtitle?(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:customBannerSubtitle}):(0,import_jsx_runtime6.jsx)(Text,{children:" "}),(0,import_jsx_runtime6.jsxs)(Text,{children:[(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:authModelText}),showModelHint&&(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:modelHintText})]}),(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:displayPath})]})]})},"Header");init_esbuild_shims();var import_react6=__toESM(require_react(),1);init_esbuild_shims();init_esbuild_shims();import*as fs from"node:fs";import*as path from"node:path";var TipHistory=class _TipHistory{static{__name(this,"TipHistory")}sessionShown=new Map;data;filePath;constructor(data,filePath){this.data=data;this.filePath=filePath}get sessionCount(){return this.data.sessionCount}isCooledDown(tipId,cooldownPrompts,currentPromptCount){const lastShown=this.sessionShown.get(tipId);if(lastShown===void 0)return true;return currentPromptCount-lastShown>=cooldownPrompts}getLastShown(tipId){if(this.sessionShown.has(tipId)){return Number.MAX_SAFE_INTEGER-1e6+(this.sessionShown.get(tipId)??0)}return this.normalizeEntry(this.data.tips[tipId]).lastSessionTimestamp}normalizeEntry(raw){if(typeof raw!=="object"||raw===null||Array.isArray(raw)){return{totalShown:0,lastSessionTimestamp:0}}const candidate=raw;return{totalShown:typeof candidate.totalShown==="number"&&Number.isFinite(candidate.totalShown)?candidate.totalShown:0,lastSessionTimestamp:typeof candidate.lastSessionTimestamp==="number"&&Number.isFinite(candidate.lastSessionTimestamp)?candidate.lastSessionTimestamp:0}}recordShown(tipId,currentPromptCount){this.sessionShown.set(tipId,currentPromptCount);const entry=this.normalizeEntry(this.data.tips[tipId]);entry.totalShown++;entry.lastSessionTimestamp=Date.now();this.data.tips[tipId]=entry;this.persist()}persist(){try{const dir=path.dirname(this.filePath);if(!fs.existsSync(dir)){fs.mkdirSync(dir,{recursive:true})}atomicWriteFileSync(this.filePath,JSON.stringify(this.data,null,2),{mode:384,forceMode:true,noFollow:true})}catch{}}static load(){const filePath=path.join(Storage.getGlobalQwenDir(),"tip_history.json");let data={sessionCount:0,tips:{}};try{if(fs.existsSync(filePath)){const raw=fs.readFileSync(filePath,"utf-8");const parsed=JSON.parse(raw);if(typeof parsed==="object"&&parsed!==null&&typeof parsed.sessionCount==="number"){data={sessionCount:Number.isFinite(parsed.sessionCount)&&parsed.sessionCount>=0?Math.floor(parsed.sessionCount):0,tips:parsed.tips??{}}}}}catch{}data.sessionCount++;data.tips=typeof data.tips==="object"&&data.tips!==null&&!Array.isArray(data.tips)?data.tips:{};const history=new _TipHistory(data,filePath);history.persist();return history}};init_esbuild_shims();function selectTip(trigger,context,tips,history){const candidates=tips.filter(tip=>tip.trigger===trigger).filter(tip=>{try{return tip.isRelevant(context)}catch{return false}}).filter(tip=>history.isCooledDown(tip.id,tip.cooldownPrompts,context.sessionPromptCount));if(candidates.length===0)return null;candidates.sort((a,b)=>{if(b.priority!==a.priority)return b.priority-a.priority;return history.getLastShown(a.id)-history.getLastShown(b.id)});return candidates[0]??null}__name(selectTip,"selectTip");init_esbuild_shims();var tipRegistry=[{id:"context-critical",content:"Context near hard limit \u2014 auto-compact will force on next send. Consider /clear if you want to start fresh.",trigger:"post-response",isRelevant:__name(ctx=>ctx.thresholds!==void 0&&ctx.lastPromptTokenCount>=ctx.thresholds.hard,"isRelevant"),cooldownPrompts:3,priority:100},{id:"context-high",content:"Context is getting full. Use /compress to free up space.",trigger:"post-response",isRelevant:__name(ctx=>ctx.thresholds!==void 0&&ctx.lastPromptTokenCount>=ctx.thresholds.auto&&ctx.lastPromptTokenCount<ctx.thresholds.hard,"isRelevant"),cooldownPrompts:5,priority:90},{id:"compress-intro",content:"Long conversation? /compress summarizes history to free context.",trigger:"post-response",isRelevant:__name(ctx=>ctx.thresholds!==void 0&&ctx.lastPromptTokenCount>=ctx.thresholds.warn&&ctx.lastPromptTokenCount<ctx.thresholds.auto&&ctx.sessionPromptCount>5,"isRelevant"),cooldownPrompts:10,priority:50},{id:"new-user-slash",content:"Type / to open the command popup; Tab autocompletes slash commands and saved prompts.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<5,"isRelevant"),cooldownPrompts:0,priority:70},{id:"new-user-qwenmd",content:"Add a QWEN.md file to give Qwen Code persistent project context.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<10,"isRelevant"),cooldownPrompts:0,priority:70},{id:"new-user-resume",content:"You can resume a previous conversation by running qwen --continue or qwen --resume.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<10,"isRelevant"),cooldownPrompts:0,priority:70},{id:"shell-commands",content:"You can run any shell commands from Qwen Code using ! (e.g. !ls).",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount<15,"isRelevant"),cooldownPrompts:0,priority:70},{id:"compress-startup",content:"Use /compress when the conversation gets long to summarize history and free up context.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"approval-mode-win32",content:"You can switch permission mode quickly with Tab or /approval-mode.",trigger:"startup",isRelevant:__name(ctx=>ctx.platform==="win32","isRelevant"),cooldownPrompts:0,priority:50},{id:"approval-mode",content:"You can switch permission mode quickly with Shift+Tab or /approval-mode.",trigger:"startup",isRelevant:__name(ctx=>ctx.platform!=="win32","isRelevant"),cooldownPrompts:0,priority:50},{id:"insight-command",content:"Try /insight to generate personalized insights from your chat history.",trigger:"startup",isRelevant:__name(ctx=>ctx.sessionCount>20,"isRelevant"),cooldownPrompts:0,priority:70},{id:"btw-command",content:"Use /btw to ask a quick side question without disrupting the conversation.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"clear-new",content:"Start a fresh idea with /clear or /new; the previous session stays available in history.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"bug-report",content:"Use /bug to submit issues to the maintainers when something goes off.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50},{id:"auth-switch",content:"Switch auth type quickly with /auth.",trigger:"startup",isRelevant:__name(()=>true,"isRelevant"),cooldownPrompts:0,priority:50}];var _tipHistory=null;function getTipHistory(){if(!_tipHistory){_tipHistory=TipHistory.load()}return _tipHistory}__name(getTipHistory,"getTipHistory");var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);function pickStartupTip(){const history=getTipHistory();const context={lastPromptTokenCount:0,contextWindowSize:0,sessionPromptCount:0,sessionCount:history.sessionCount,platform:process.platform};const tip=selectTip("startup",context,tipRegistry,history);if(tip){history.recordShown(tip.id,0);return tip.content}return"Type / to see all available commands."}__name(pickStartupTip,"pickStartupTip");var Tips=__name(()=>{const selectedTip=(0,import_react6.useMemo)(()=>pickStartupTip(),[]);return(0,import_jsx_runtime7.jsx)(Box_default,{marginLeft:2,marginRight:2,children:(0,import_jsx_runtime7.jsxs)(Text,{color:theme.text.secondary,children:[t("Tips:")," ",t(selectedTip)]})})},"Tips");var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);function getAuthDisplayType(authType,baseUrl,apiKeyEnvKey){if(!authType){return"unknown"}const matched=findProviderByCredentials(baseUrl,apiKeyEnvKey);if(matched&&resolveMetadataKey(matched)){return matched.label}switch(authType){case"qwen-oauth":return"qwen_oauth";default:return"api_key"}}__name(getAuthDisplayType,"getAuthDisplayType");var AppHeader=__name(({version})=>{const settings=useSettings();const config=useConfig();const contentGeneratorConfig=config.getContentGeneratorConfig();const authType=contentGeneratorConfig?.authType;const{currentModel}=useUIState();const model=config.getModelsConfig().getModelDisplayName(currentModel);const targetDir=config.getTargetDir();const showBanner=!config.getScreenReader()&&!settings.merged.ui?.hideBanner;const showTips=!(settings.merged.ui?.hideTips||config.getScreenReader());const authDisplayType=getAuthDisplayType(authType,contentGeneratorConfig?.baseUrl,contentGeneratorConfig?.apiKeyEnvKey);const resolvedBanner=(0,import_react7.useMemo)(()=>showBanner?resolveCustomBanner(settings):void 0,[showBanner,settings]);return(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",children:[showBanner&&(0,import_jsx_runtime8.jsx)(Header,{version,authDisplayType,model,workingDirectory:targetDir,customAsciiArt:resolvedBanner?.asciiArt,customBannerTitle:resolvedBanner?.title,customBannerSubtitle:resolvedBanner?.subtitle}),showTips&&(0,import_jsx_runtime8.jsx)(Tips,{})]})},"AppHeader");init_esbuild_shims();var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var DebugModeNotification=__name(()=>{const config=useConfig();if(!config.getDebugMode()){return null}const isFileLoggingEnabled=isDebugLogFileEnabled();const isDegraded=isDebugLoggingDegraded();return(0,import_jsx_runtime9.jsxs)(Box_default,{paddingX:1,marginTop:1,flexDirection:"column",children:[(0,import_jsx_runtime9.jsx)(Text,{color:theme.status.warning,children:"Debug mode enabled"}),isFileLoggingEnabled?(0,import_jsx_runtime9.jsxs)(Text,{dimColor:true,children:["Logging to: ",Storage.getDebugLogPath(config.getSessionId())]}):(0,import_jsx_runtime9.jsx)(Text,{dimColor:true,children:"Debug log file disabled by QWEN_DEBUG_LOG_FILE"}),isDegraded&&(0,import_jsx_runtime9.jsx)(Text,{dimColor:true,children:"Warning: Debug logging is degraded (write failures occurred)"})]})},"DebugModeNotification");init_esbuild_shims();var import_react8=__toESM(require_react(),1);init_esbuild_shims();var SelectionState=class{static{__name(this,"SelectionState")}anchor=null;focus=null;dragging=false;mode="char";start(point,mode="char"){this.anchor=point;this.focus=point;this.dragging=true;this.mode=mode}extend(point){if(this.anchor){this.focus=point}}finish(){this.dragging=false}clear(){this.anchor=null;this.focus=null;this.dragging=false;this.mode="char"}get isEmpty(){return this.anchor===null||this.focus===null}get isCollapsed(){return!this.isEmpty&&this.anchor.x===this.focus.x&&this.anchor.y===this.focus.y}get isBareClick(){return this.isCollapsed&&this.mode==="char"}normalized(){if(!this.anchor||!this.focus){return null}const{anchor,focus}=this;const anchorFirst=anchor.y<focus.y||anchor.y===focus.y&&anchor.x<=focus.x;const start=anchorFirst?anchor:focus;const end=anchorFirst?focus:anchor;return{sx:start.x,sy:start.y,ex:end.x,ey:end.y}}};init_esbuild_shims();function getSelectedText(frame,selection){if(!frame){return""}const{sx,sy,ex,ey}=selection;let text="";for(let y=sy;y<=ey;y++){const row=frame.cells[y];if(!row){if(y<ey){text+="\n"}continue}const startX=y===sy?sx:0;const endX=y===ey?ex:row.length-1;let rowText="";let skippedLayoutGap=false;for(let x=Math.max(0,startX);x<=endX&&x<row.length;x++){const cell=row[x];if(cell.selectable){if(skippedLayoutGap&&rowText.length>0&&cell.value!==""&&!/\s$/u.test(rowText)&&!/^\s/u.test(cell.value)){rowText+=" "}rowText+=cell.value;skippedLayoutGap=false}else if(rowText.length>0){skippedLayoutGap=true}}text+=rowText;if(y<ey){text+=boundaryJoiner(frame,selection,y)}}return text}__name(getSelectedText,"getSelectedText");function selectedFlows(frame,selection,y){const row=frame.cells[y]??[];const startX=y===selection.sy?selection.sx:0;const endX=y===selection.ey?selection.ex:row.length-1;const flows=new Set;for(let x=Math.max(0,startX);x<=endX&&x<row.length;x++){const cell=row[x];if(cell.selectable&&cell.flowId!==null){flows.add(cell.flowId)}}if(flows.size>0){return flows}for(const boundaryY of[y-1,y]){const boundaryRow=frame.boundaries[boundaryY]??[];for(let x=Math.max(0,startX);x<=endX&&x<boundaryRow.length;x++){const claim=boundaryRow[x];if(claim?.selectable){flows.add(claim.flowId)}}}return flows}__name(selectedFlows,"selectedFlows");function boundaryJoiner(frame,selection,y){const currentFlows=selectedFlows(frame,selection,y);const nextFlows=selectedFlows(frame,selection,y+1);const[currentFlow]=currentFlows;const[nextFlow]=nextFlows;if(currentFlows.size!==1||nextFlows.size!==1||currentFlow!==nextFlow){return"\n"}const flowId=currentFlow;const claims=(frame.boundaries[y]??[]).filter(claim=>claim!==null&&claim.selectable&&claim.flowId===flowId);if(claims.length===0){return"\n"}const first=claims[0];if(claims.some(claim=>claim.kind!==first.kind||claim.joiner!==first.joiner)){return"\n"}return first.kind==="soft"?first.joiner:"\n"}__name(boundaryJoiner,"boundaryJoiner");init_esbuild_shims();function isWordCell(value){return value!==""&&value!==" "&&!/^\s$/u.test(value)}__name(isWordCell,"isWordCell");function lastContentColumn(row,start,end){for(let x=end;x>=start;x--){if(row[x].value!==""&&row[x].value!==" "){return x}}return-1}__name(lastContentColumn,"lastContentColumn");function wordSpanAt(frame,x,y){const row=frame?.cells[y];if(!row){return null}const cell=row[x];if(!cell||!isWordCell(cell.value)){return null}let sx=x;while(sx>0&&(row[sx-1].value===""||isWordCell(row[sx-1].value))){sx--}let ex=x;while(ex<row.length-1&&(row[ex+1].value===""||isWordCell(row[ex+1].value))){ex++}return{sx,sy:y,ex,ey:y}}__name(wordSpanAt,"wordSpanAt");function selectableLineSpan(row,x,y){let start=x;while(start>0&&row[start-1].selectable){start--}let runEnd=x;while(runEnd<row.length-1&&row[runEnd+1].selectable){runEnd++}const contentEnd=lastContentColumn(row,start,runEnd);return{sx:start,sy:y,ex:contentEnd,ey:y}}__name(selectableLineSpan,"selectableLineSpan");function isSelectableContent(cell){return cell.selectable&&cell.value!==""&&cell.value!==" "}__name(isSelectableContent,"isSelectableContent");function lineSpanAt(frame,x,y){const row=frame?.cells[y];if(!row||row.length===0){return null}const origin=Math.max(0,Math.min(x,row.length-1));for(let distance=0;distance<row.length;distance++){const left=origin-distance;if(left>=0&&isSelectableContent(row[left])){return selectableLineSpan(row,left,y)}const right=origin+distance;if(distance>0&&right<row.length&&isSelectableContent(row[right])){return selectableLineSpan(row,right,y)}}return null}__name(lineSpanAt,"lineSpanAt");function spanAtForMode(frame,mode,point){return mode==="word"?wordSpanAt(frame,point.x,point.y):lineSpanAt(frame,point.x,point.y)}__name(spanAtForMode,"spanAtForMode");init_esbuild_shims();function terminalToGrid(col,row,terminalHeight,frameHeight){const anchor=frameAnchor(terminalHeight,frameHeight);return{x:col-1,y:row-1-anchor}}__name(terminalToGrid,"terminalToGrid");function snapWideChar(frame,point){const row=frame?.cells[point.y];if(point.x>0&&row?.[point.x]?.value===""&&row[point.x-1]?.fullWidth){return{...point,x:point.x-1}}return point}__name(snapWideChar,"snapWideChar");function pointInViewport(point,rect){return point.y>=rect.y&&point.y<rect.y+rect.height&&point.x>=rect.x&&point.x<rect.x+rect.width}__name(pointInViewport,"pointInViewport");function clampToViewport(point,rect){return{x:Math.max(rect.x,Math.min(rect.x+rect.width-1,point.x)),y:Math.max(rect.y,Math.min(rect.y+rect.height-1,point.y))}}__name(clampToViewport,"clampToViewport");var sameViewportContent=__name((previous,current,rect)=>{if(!previous){return false}for(let y=rect.y;y<rect.y+rect.height;y++){for(let x=rect.x;x<rect.x+rect.width;x++){const cell=previous.cells[y]?.[x];const currentCell=current.cells[y]?.[x];if(cell?.value!==currentCell?.value||cell?.fullWidth!==currentCell?.fullWidth){return false}}}return true},"sameViewportContent");var sameViewportRect=__name((previous,current)=>previous!==null&¤t!==null&&previous.x===current.x&&previous.y===current.y&&previous.width===current.width&&previous.height===current.height,"sameViewportRect");var MULTI_CLICK_MS=400;var debugLogger=createDebugLogger("TEXT_SELECTION");function TextSelectionController(props){const{stdout}=use_stdout_default();const selectionRef=(0,import_react8.useRef)(new SelectionState);const dragScrollTopRef=(0,import_react8.useRef)(null);const baselineScrollTopRef=(0,import_react8.useRef)(0);const baselineScrollHeightRef=(0,import_react8.useRef)(0);const baselineFrameRef=(0,import_react8.useRef)(null);const baselineRectRef=(0,import_react8.useRef)(null);const activeRectIndexRef=(0,import_react8.useRef)(null);const selectionGenerationRef=(0,import_react8.useRef)(0);const pendingInvalidationGenRef=(0,import_react8.useRef)(null);const lastClickRef=(0,import_react8.useRef)(null);const anchorSpanRef=(0,import_react8.useRef)(null);const bufferRef=(0,import_react8.useRef)(void 0);const propsRef=(0,import_react8.useRef)(props);propsRef.current=props;const getBuffer=(0,import_react8.useCallback)(()=>{if(!bufferRef.current){bufferRef.current=getScreenBuffer(stdout)}return bufferRef.current},[stdout]);const clearSelection=(0,import_react8.useCallback)(()=>{selectionGenerationRef.current+=1;activeRectIndexRef.current=null;const selection=selectionRef.current;anchorSpanRef.current=null;if(selection.isEmpty){return}selection.clear();getBuffer()?.setSelection(null)},[getBuffer]);const applyHighlight=(0,import_react8.useCallback)(()=>{const selection=selectionRef.current;const normalized=selection.normalized();getBuffer()?.setSelection(normalized&&!selection.isBareClick?normalized:null)},[getBuffer]);const getSelectableRects=(0,import_react8.useCallback)(()=>{const viewportRect=propsRef.current.getViewportRect();if(!viewportRect){return[]}const additionalRects=propsRef.current.getAdditionalSelectableRects?.()??[];return[viewportRect,...additionalRects]},[]);const getActiveRect=(0,import_react8.useCallback)(()=>{const index=activeRectIndexRef.current;return index===null?null:getSelectableRects()[index]??null},[getSelectableRects]);const recordBaseline=(0,import_react8.useCallback)(rect=>{const scrollState=propsRef.current.getScrollState();baselineScrollTopRef.current=scrollState.scrollTop;baselineScrollHeightRef.current=scrollState.scrollHeight;baselineFrameRef.current=getBuffer()?.frame??null;baselineRectRef.current=rect},[getBuffer]);const copySelection=(0,import_react8.useCallback)(()=>{const normalized=selectionRef.current.normalized();const text=normalized?getSelectedText(getBuffer()?.frame??null,normalized):"";if(text){void copyToClipboard(text).catch(error=>{debugLogger.warn("Failed to copy selected text:",error)})}},[getBuffer]);const mapEvent=(0,import_react8.useCallback)(event=>{const buffer=getBuffer();if(!buffer){return null}const frameHeight=buffer.dimensions.height;const terminalHeight=stdout.rows??frameHeight;const point=terminalToGrid(event.col,event.row,terminalHeight,frameHeight);return snapWideChar(buffer.frame,point)},[getBuffer,stdout]);const extendSpanDrag=(0,import_react8.useCallback)(point=>{const anchor=anchorSpanRef.current;if(!anchor)return;const{span,mode}=anchor;const selection=selectionRef.current;const frame=getBuffer()?.frame??null;const current=spanAtForMode(frame,mode,point)??{sx:point.x,sy:point.y,ex:point.x,ey:point.y};const cursorAfter=point.y>span.ey||point.y===span.ey&&point.x>=span.ex;selection.anchor=cursorAfter?{x:span.sx,y:span.sy}:{x:span.ex,y:span.ey};selection.focus=cursorAfter?{x:current.ex,y:current.ey}:{x:current.sx,y:current.sy}},[getBuffer]);const extendActiveDrag=(0,import_react8.useCallback)(point=>{if(anchorSpanRef.current){extendSpanDrag(point)}else{selectionRef.current.extend(point)}},[extendSpanDrag]);const handleMouse=(0,import_react8.useCallback)(event=>{const selection=selectionRef.current;if(propsRef.current.eventsPaused){if(event.name==="left-release"){selection.finish()}return}if(event.name.startsWith("scroll-")){if(activeRectIndexRef.current===0){clearSelection()}return}if(event.name==="left-press"){selectionGenerationRef.current+=1;if(propsRef.current.hitTestScrollbar({col:event.col,row:event.row})){clearSelection();return}const point=mapEvent(event);const rects=getSelectableRects();const rectIndex=point?rects.findIndex(rect2=>pointInViewport(point,rect2)):-1;if(!point||rectIndex<0){clearSelection();return}const rect=rects[rectIndex];activeRectIndexRef.current=rectIndex;const now=Date.now();const prev=lastClickRef.current;const near=prev!=null&&prev.y===point.y&&Math.abs(prev.x-point.x)<=1&&now-prev.time<MULTI_CLICK_MS;const count=near?Math.min(prev.count+1,3):1;lastClickRef.current={x:point.x,y:point.y,time:now,count};if(count>=2){const frame=getBuffer()?.frame??null;const mode=count===2?"word":"line";const span=spanAtForMode(frame,mode,point);if(span){selection.start({x:span.sx,y:span.sy},mode);selection.extend({x:span.ex,y:span.ey});anchorSpanRef.current={span,mode};dragScrollTopRef.current=propsRef.current.getScrollState().scrollTop;recordBaseline(rect);applyHighlight();copySelection();return}}anchorSpanRef.current=null;selection.start(point);dragScrollTopRef.current=propsRef.current.getScrollState().scrollTop;recordBaseline(rect);applyHighlight();return}if(event.name==="move"){if(!selection.dragging){return}if(!anchorSpanRef.current){lastClickRef.current=null}if(activeRectIndexRef.current===0&&propsRef.current.getScrollState().scrollTop!==dragScrollTopRef.current){clearSelection();return}const point=mapEvent(event);const rect=getActiveRect();if(!point||!rect){clearSelection();return}extendActiveDrag(clampToViewport(point,rect));applyHighlight();return}if(event.name==="left-release"){if(!selection.dragging){return}if(pendingInvalidationGenRef.current===selectionGenerationRef.current){clearSelection();return}const point=mapEvent(event);const rect=getActiveRect();if(point&&rect){extendActiveDrag(clampToViewport(point,rect))}anchorSpanRef.current=null;selection.finish();if(selection.isEmpty||selection.isBareClick){clearSelection();return}applyHighlight();copySelection();return}},[clearSelection,applyHighlight,copySelection,recordBaseline,mapEvent,getBuffer,getSelectableRects,getActiveRect,extendActiveDrag]);useMouseEvents(handleMouse,{isActive:props.isActive,tracking:"button"});(0,import_react8.useEffect)(()=>{const buffer=getBuffer();if(!buffer){return}return buffer.subscribe(frame=>{if(selectionRef.current.isEmpty){return}const{scrollTop,scrollHeight}=propsRef.current.getScrollState();const activeRect=getActiveRect();const isViewportSelection=activeRectIndexRef.current===0;if(isViewportSelection&&(scrollTop!==baselineScrollTopRef.current||scrollHeight!==baselineScrollHeightRef.current)||!sameViewportRect(baselineRectRef.current,activeRect)||!sameViewportContent(baselineFrameRef.current,frame,activeRect)){const invalidatedGeneration=selectionGenerationRef.current;pendingInvalidationGenRef.current=invalidatedGeneration;queueMicrotask(()=>{pendingInvalidationGenRef.current=null;if(selectionGenerationRef.current===invalidatedGeneration){clearSelection()}})}})},[getBuffer,getActiveRect,clearSelection]);(0,import_react8.useEffect)(()=>{if(!props.isActive){clearSelection()}},[props.isActive,clearSelection]);(0,import_react8.useEffect)(()=>()=>getBuffer()?.setSelection(null),[getBuffer]);const selectionQueryRef=props.selectionQueryRef;(0,import_react8.useEffect)(()=>{if(!selectionQueryRef){return}selectionQueryRef.current={getRange:__name(()=>{const selection=selectionRef.current;if(selection.isEmpty||selection.isCollapsed&&selection.mode==="char"){return null}return selection.normalized()},"getRange")};return()=>{selectionQueryRef.current=null}},[selectionQueryRef]);return null}__name(TextSelectionController,"TextSelectionController");init_esbuild_shims();var import_react9=__toESM(require_react(),1);var debugLogger2=createDebugLogger("CONTENT_MOUSE");function ContentMouseController(props){const{stdout}=use_stdout_default();const{columns,rows}=useTerminalSize();const menu=useContextMenu();const bufferRef=(0,import_react9.useRef)(void 0);const pressRef=(0,import_react9.useRef)(null);const lastClickRef=(0,import_react9.useRef)(null);const pendingOpenRef=(0,import_react9.useRef)(null);const propsRef=(0,import_react9.useRef)(props);propsRef.current=props;const getBuffer=(0,import_react9.useCallback)(()=>{if(!bufferRef.current){bufferRef.current=getScreenBuffer(stdout)}return bufferRef.current},[stdout]);const mapPoint=(0,import_react9.useCallback)(event=>{const buffer=getBuffer();if(!buffer)return null;const frameHeight=buffer.dimensions.height;const terminalHeight=stdout.rows??frameHeight;const point=terminalToGrid(event.col,event.row,terminalHeight,frameHeight);return snapWideChar(buffer.frame,point)},[getBuffer,stdout]);const fallbackCopy=(0,import_react9.useCallback)(url=>{void copyToClipboard(url).then(()=>{console.warn(`Link copied to clipboard (not openable directly): ${url}`)}).catch(error=>{console.warn(`Unable to copy link to clipboard: ${url}`);debugLogger2.warn("Clipboard copy failed:",error)})},[]);const openLink=(0,import_react9.useCallback)(url=>{if(/^https?:\/\//i.test(url)){void openBrowserSecurely(url).catch(()=>fallbackCopy(url));return}fallbackCopy(url)},[fallbackCopy]);const cancelPendingOpen=(0,import_react9.useCallback)(()=>{const pending=pendingOpenRef.current;if(pending){clearTimeout(pending.timer);pendingOpenRef.current=null}},[]);const armPendingOpen=(0,import_react9.useCallback)(url=>{cancelPendingOpen();const timer=setTimeout(()=>{pendingOpenRef.current=null;openLink(url)},MULTI_CLICK_MS);pendingOpenRef.current={url,timer}},[cancelPendingOpen,openLink]);const handleMouse=(0,import_react9.useCallback)(event=>{if(event.name.endsWith("-press")||event.name.startsWith("scroll-")){cancelPendingOpen()}const openMenuState=menu.menu;if(openMenuState){const{position,items}=openMenuState;const size=contextMenuSize(items);const inMenu=__name(p=>p.x>=position.x&&p.x<position.x+size.width&&p.y>=position.y&&p.y<position.y+size.height,"inMenu");const itemIndexOf=__name(p=>p.y-position.y-1,"itemIndexOf");if(event.name==="move"){const p=mapPoint(event);if(p&&inMenu(p)){const index=itemIndexOf(p);if(index>=0&&index<items.length){menu.setSelectedIndex(index)}}return}if(event.name==="left-press"){const p=mapPoint(event);if(p&&inMenu(p)){const index=itemIndexOf(p);if(index>=0&&index<items.length){menu.executeIndex(index);return}}menu.closeMenu();return}if(event.name.startsWith("scroll-")){menu.closeMenu();return}if(event.name==="right-press"){menu.closeMenu()}else if(event.name.endsWith("-press")){menu.closeMenu();return}else{return}}if(event.name.startsWith("scroll-")){pressRef.current=null;lastClickRef.current=null;return}if(event.name==="move"&&event.button!=="none"){if(lastClickRef.current?.count===1){lastClickRef.current=null}const anchor=pressRef.current;if(anchor){const point2=mapPoint(event);if(!point2||point2.x!==anchor.x||point2.y!==anchor.y){pressRef.current=null}}return}const rect=propsRef.current.getViewportRect();if(!rect)return;if(propsRef.current.hitTestScrollbar({col:event.col,row:event.row})){return}const point=mapPoint(event);if(!point||!pointInViewport(point,rect))return;if(event.name==="right-press"){const frame=getBuffer()?.frame??null;const items=[];const url=hyperlinkAtCell(frame,point.x,point.y);if(url){items.push({id:"open-link",label:"Open Link",onSelect:__name(()=>openLink(url),"onSelect")});items.push({id:"copy-link",label:"Copy Link Address",onSelect:__name(()=>{void copyToClipboard(url).catch(error=>{debugLogger2.warn("Failed to copy link address:",error)})},"onSelect")})}const range=propsRef.current.selectionQueryRef?.current?.getRange();if(range){const selectionText=getSelectedText(frame,range);if(selectionText){items.push({id:"copy-selection",label:"Copy Selection",onSelect:__name(()=>{void copyToClipboard(selectionText).catch(error=>{debugLogger2.warn("Failed to copy selected text:",error)})},"onSelect")})}}if(items.length===0)return;const frameHeight=getBuffer()?.dimensions.height??rows;const visibleTop=Math.max(0,frameHeight-rows);const position=clampMenuPosition({x:point.x,y:Math.max(point.y,visibleTop)},contextMenuSize(items),columns,frameHeight);menu.openMenu(items,position);return}if(event.name==="left-press"){pressRef.current=point;const now=Date.now();const prev=lastClickRef.current;const near=prev!=null&&prev.y===point.y&&Math.abs(prev.x-point.x)<=1&&now-prev.time<MULTI_CLICK_MS;lastClickRef.current={x:point.x,y:point.y,time:now,count:near?Math.min(prev.count+1,3):1};return}if(event.name==="left-release"){const press=pressRef.current;pressRef.current=null;if(!press||press.x!==point.x||press.y!==point.y)return;if(lastClickRef.current?.count!==1)return;const url=hyperlinkAtCell(getBuffer()?.frame??null,point.x,point.y);if(url){armPendingOpen(url)}return}},[menu,mapPoint,getBuffer,openLink,armPendingOpen,cancelPendingOpen,columns,rows]);useMouseEvents(handleMouse,{isActive:props.isActive,tracking:menu.menu!==null?"any":"button"});const{closeMenu}=menu;const isActive=props.isActive;(0,import_react9.useEffect)(()=>{if(!isActive){closeMenu();cancelPendingOpen()}return()=>{closeMenu();cancelPendingOpen()}},[isActive,closeMenu,cancelPendingOpen]);const prevSizeRef=(0,import_react9.useRef)({columns,rows});(0,import_react9.useEffect)(()=>{const prev=prevSizeRef.current;prevSizeRef.current={columns,rows};if(prev.columns!==columns||prev.rows!==rows){closeMenu()}},[columns,rows,closeMenu]);return null}__name(ContentMouseController,"ContentMouseController");var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);var MAX_GEMINI_MESSAGE_LINES=65536;function createEmptySourceCopyOffsets(){return{codeBlockLanguageCounts:new Map,mathBlockCount:0}}__name(createEmptySourceCopyOffsets,"createEmptySourceCopyOffsets");function cloneSourceCopyOffsets(offsets){return{codeBlockLanguageCounts:new Map(offsets.codeBlockLanguageCounts),mathBlockCount:offsets.mathBlockCount}}__name(cloneSourceCopyOffsets,"cloneSourceCopyOffsets");function addSourceBlockCounts(offsets,text){const counts=countMarkdownSourceBlocks(text);for(const[lang,count]of counts.codeBlockLanguageCounts){const current=offsets.codeBlockLanguageCounts.get(lang)??0;offsets.codeBlockLanguageCounts.set(lang,current+count)}offsets.mathBlockCount+=counts.mathBlockCount}__name(addSourceBlockCounts,"addSourceBlockCounts");var PROGRESSIVE_REPLAY_THRESHOLD=100;var PROGRESSIVE_REPLAY_CHUNK_SIZE=50;function initialReplayCount(length){return length<=PROGRESSIVE_REPLAY_THRESHOLD?length:Math.min(PROGRESSIVE_REPLAY_CHUNK_SIZE,length)}__name(initialReplayCount,"initialReplayCount");var VirtualHistoryItem=(0,import_react10.memo)(HistoryItemDisplay);var VP_BANNER_ID=Number.MIN_SAFE_INTEGER;var VP_BANNER_ITEM={type:"vp-banner",id:VP_BANNER_ID};var virtualEstimatedItemHeight=__name(index=>index===0?10:3,"virtualEstimatedItemHeight");var virtualKeyExtractor=__name(item=>item.type==="vp-banner"?"vp-banner":item.id>=0?`h-${item.id}`:`p-${-item.id-1}`,"virtualKeyExtractor");var virtualIsStaticItem=__name(item=>item.type==="vp-banner"||item.id>0,"virtualIsStaticItem");var MainContent=__name(({footerRef,scrollActionsRef})=>{const{version}=useAppContext();const uiState=useUIState();const{allExpanded:fullDetail}=useThoughtExpanded();const streamingState=uiState.streamingState;const showScrollbar=uiState.showScrollbar??true;const{pendingHistoryItems,terminalWidth,mainAreaWidth,staticAreaMaxItemHeight,availableTerminalHeight,historyRemountKey}=uiState;const visibleHistory=(0,import_react10.useMemo)(()=>uiState.history.filter(isHistoryItemVisibleAfterRestore),[uiState.history]);const useVirtualScroll=uiState.useTerminalBuffer;const scrollRef=(0,import_react10.useRef)(null);const selectionQueryRef=(0,import_react10.useRef)(null);const{menu:contextMenuOpen}=useContextMenu();(0,import_react10.useEffect)(()=>{if(!scrollActionsRef)return;scrollActionsRef.current={scrollBy:__name(delta=>scrollRef.current?.scrollBy(delta),"scrollBy"),hasScrollableTranscript:__name(()=>{const state=scrollRef.current?.getScrollState();return!!state&&state.innerHeight>0&&state.scrollHeight>state.innerHeight},"hasScrollableTranscript")};return()=>{scrollActionsRef.current=null}},[scrollActionsRef]);const{historyItemsWithSourceCopyOffsets,pendingStartSourceCopyOffsets}=(0,import_react10.useMemo)(()=>{let runningOffsets=createEmptySourceCopyOffsets();const items=visibleHistory.map(item=>{if(item.type==="gemini"){runningOffsets=createEmptySourceCopyOffsets();const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="gemini_content"){const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="user"&&item.sentToModel!==false){runningOffsets=createEmptySourceCopyOffsets()}return{item,sourceCopyIndexOffsets:void 0}});return{historyItemsWithSourceCopyOffsets:items,pendingStartSourceCopyOffsets:cloneSourceCopyOffsets(runningOffsets)}},[visibleHistory]);const pendingHistoryItemsWithSourceCopyOffsets=(0,import_react10.useMemo)(()=>{let runningOffsets=cloneSourceCopyOffsets(pendingStartSourceCopyOffsets);return pendingHistoryItems.map(item=>{if(item.type==="gemini"){runningOffsets=createEmptySourceCopyOffsets();const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="gemini_content"){const offsets=cloneSourceCopyOffsets(runningOffsets);addSourceBlockCounts(runningOffsets,item.text);return{item,sourceCopyIndexOffsets:offsets}}if(item.type==="user"&&item.sentToModel!==false){runningOffsets=createEmptySourceCopyOffsets()}return{item,sourceCopyIndexOffsets:void 0}})},[pendingHistoryItems,pendingStartSourceCopyOffsets]);const[replayCount,setReplayCount]=(0,import_react10.useState)(()=>initialReplayCount(visibleHistory.length));const visibleHistoryLengthRef=(0,import_react10.useRef)(visibleHistory.length);visibleHistoryLengthRef.current=visibleHistory.length;const[lastRemountKey,setLastRemountKey]=(0,import_react10.useState)(historyRemountKey);if(lastRemountKey!==historyRemountKey){setLastRemountKey(historyRemountKey);if(!useVirtualScroll){setReplayCount(initialReplayCount(visibleHistoryLengthRef.current))}}(0,import_react10.useEffect)(()=>{if(useVirtualScroll)return;if(replayCount>=visibleHistory.length)return;const remaining=visibleHistory.length-replayCount;if(remaining<=PROGRESSIVE_REPLAY_CHUNK_SIZE){setReplayCount(visibleHistory.length);return}const handle=setImmediate(()=>{setReplayCount(c=>Math.min(c+PROGRESSIVE_REPLAY_CHUNK_SIZE,visibleHistoryLengthRef.current))});return()=>clearImmediate(handle)},[useVirtualScroll,replayCount,visibleHistory.length]);const visibleHistoryItemsWithSourceCopyOffsets=historyItemsWithSourceCopyOffsets.length-replayCount<=PROGRESSIVE_REPLAY_CHUNK_SIZE?historyItemsWithSourceCopyOffsets:historyItemsWithSourceCopyOffsets.slice(0,replayCount);const allVirtualItems=(0,import_react10.useMemo)(()=>{const combined=[VP_BANNER_ITEM,...visibleHistory,...pendingHistoryItems.map((item,i)=>({...item,id:-(i+1)}))];const livePendingBatchIds=new Set;for(const item of pendingHistoryItems){if(item.type==="tool_group"&&item.batchId!==void 0){livePendingBatchIds.add(item.batchId)}}if(livePendingBatchIds.size===0)return combined;const dropped=new Set;const committedByBatchId=new Map;const keptPendingByBatchId=new Map;for(const item of combined){if(item.type!=="tool_group"||item.batchId===void 0||!livePendingBatchIds.has(item.batchId)){continue}if(item.id>0){committedByBatchId.set(item.batchId,item)}else{const kept=keptPendingByBatchId.get(item.batchId);if(kept)dropped.add(kept);keptPendingByBatchId.set(item.batchId,item)}}for(const item of committedByBatchId.values())dropped.add(item);if(dropped.size===0)return combined;return combined.filter(item=>!dropped.has(item))},[visibleHistory,pendingHistoryItems]);const sourceCopyOffsetsByHistoryItem=(0,import_react10.useMemo)(()=>{const map=new Map;for(const{item,sourceCopyIndexOffsets}of historyItemsWithSourceCopyOffsets){if(sourceCopyIndexOffsets){map.set(item,sourceCopyIndexOffsets)}}return map},[historyItemsWithSourceCopyOffsets]);const thoughtHeadIdByItem=(0,import_react10.useMemo)(()=>buildThoughtHeadIdMap(visibleHistory),[visibleHistory]);const thoughtHeadIdByItemRef=(0,import_react10.useRef)(thoughtHeadIdByItem);thoughtHeadIdByItemRef.current=thoughtHeadIdByItem;const pendingSourceCopyOffsetsByIndex=(0,import_react10.useMemo)(()=>pendingHistoryItemsWithSourceCopyOffsets.map(({sourceCopyIndexOffsets})=>sourceCopyIndexOffsets),[pendingHistoryItemsWithSourceCopyOffsets]);const pendingStateRef=(0,import_react10.useRef)({activePtyId:uiState.activePtyId,embeddedShellFocused:uiState.embeddedShellFocused,isEditorDialogOpen:uiState.isEditorDialogOpen});pendingStateRef.current={activePtyId:uiState.activePtyId,embeddedShellFocused:uiState.embeddedShellFocused,isEditorDialogOpen:uiState.isEditorDialogOpen};const pendingAvailableTerminalHeight=pendingHistoryItems.length>0&&uiState.constrainHeight?availableTerminalHeight:void 0;const hasPendingPlainTextConfirmation=pendingHistoryItems.some(item=>item.type==="tool_group"&&item.tools.some(tool=>tool.status==="Confirming"&&tool.confirmationDetails?.type==="info"&&tool.confirmationDetails.renderPromptAsPlainText===true));const pendingSourceCopyOffsetsRef=(0,import_react10.useRef)(pendingSourceCopyOffsetsByIndex);pendingSourceCopyOffsetsRef.current=pendingSourceCopyOffsetsByIndex;const renderVirtualItem=(0,import_react10.useCallback)(({item})=>{if(item.type==="vp-banner"){return(0,import_jsx_runtime10.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime10.jsx)(AppHeader,{version}),(0,import_jsx_runtime10.jsx)(DebugModeNotification,{}),(0,import_jsx_runtime10.jsx)(Notifications,{})]})}const isPending=item.id<0;const sourceCopyIndexOffsets=isPending?pendingSourceCopyOffsetsRef.current[-item.id-1]:sourceCopyOffsetsByHistoryItem.get(item);if(isPending){const ps=pendingStateRef.current;return(0,import_jsx_runtime10.jsx)(VirtualHistoryItem,{terminalWidth,mainAreaWidth,availableTerminalHeight:pendingAvailableTerminalHeight,item:{...item,id:0},isPending:true,isFocused:!ps.isEditorDialogOpen,activeShellPtyId:ps.activePtyId,embeddedShellFocused:ps.embeddedShellFocused,commands:uiState.slashCommands,sourceCopyIndexOffsets,fullDetail})}return(0,import_jsx_runtime10.jsx)(VirtualHistoryItem,{terminalWidth,mainAreaWidth,availableTerminalHeight:uiState.constrainHeight?staticAreaMaxItemHeight:void 0,availableTerminalHeightLlm:uiState.constrainHeight?MAX_GEMINI_MESSAGE_LINES:void 0,item,isPending:false,commands:uiState.slashCommands,sourceCopyIndexOffsets,thoughtHeadId:thoughtHeadIdByItemRef.current.get(item),fullDetail})},[version,terminalWidth,mainAreaWidth,staticAreaMaxItemHeight,uiState.slashCommands,sourceCopyOffsetsByHistoryItem,fullDetail,pendingAvailableTerminalHeight,uiState.constrainHeight]);if(useVirtualScroll){const scrollContainerHeight=Math.max(0,uiState.availableTerminalHeight??0);const btwPanelOwnsViewport=uiState.btwItem!==null&&!uiState.btwItem.btw.isPending;const viewportInteractive=!uiState.dialogsVisible&&contextMenuOpen===null&&!btwPanelOwnsViewport;return(0,import_jsx_runtime10.jsxs)(OverflowProvider,{children:[(0,import_jsx_runtime10.jsx)(ScrollableListWithForwardRef,{ref:scrollRef,hasFocus:viewportInteractive,data:allVirtualItems,renderItem:renderVirtualItem,estimatedItemHeight:virtualEstimatedItemHeight,keyExtractor:virtualKeyExtractor,initialScrollIndex:allVirtualItems.length<=1?0:SCROLL_TO_ITEM_END,isStaticItem:virtualIsStaticItem,containerHeight:scrollContainerHeight,measureAtFullHeight:hasPendingPlainTextConfirmation,showScrollbar}),(0,import_jsx_runtime10.jsx)(TextSelectionController,{isActive:!uiState.dialogsVisible,eventsPaused:contextMenuOpen!==null,getViewportRect:()=>scrollRef.current?.getViewportRect()??null,getAdditionalSelectableRects:()=>footerRef?.current?[measureElementPosition(footerRef.current)]:[],getScrollState:()=>scrollRef.current?.getScrollState()??{scrollTop:0,scrollHeight:0,innerHeight:0},hitTestScrollbar:location=>scrollRef.current?.hitTestScrollbar(location)??false,selectionQueryRef}),(0,import_jsx_runtime10.jsx)(ContentMouseController,{isActive:!uiState.dialogsVisible,getViewportRect:()=>scrollRef.current?.getViewportRect()??null,hitTestScrollbar:location=>scrollRef.current?.hitTestScrollbar(location)??false,selectionQueryRef}),(0,import_jsx_runtime10.jsx)(ShowMoreLines,{constrainHeight:uiState.constrainHeight})]})}return(0,import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment,{children:[(0,import_jsx_runtime10.jsx)(Static,{items:[(0,import_jsx_runtime10.jsx)(AppHeader,{version},"app-header"),(0,import_jsx_runtime10.jsx)(DebugModeNotification,{},"debug-notification"),(0,import_jsx_runtime10.jsx)(Notifications,{},"notifications"),...visibleHistoryItemsWithSourceCopyOffsets.map(({item:h,sourceCopyIndexOffsets})=>(0,import_jsx_runtime10.jsx)(HistoryItemDisplay,{terminalWidth,mainAreaWidth,availableTerminalHeight:staticAreaMaxItemHeight,availableTerminalHeightLlm:MAX_GEMINI_MESSAGE_LINES,item:h,isPending:false,commands:uiState.slashCommands,sourceCopyIndexOffsets,thoughtHeadId:thoughtHeadIdByItem.get(h),fullDetail},h.id))],children:item=>item},`${historyRemountKey}-${uiState.currentModel}`),(0,import_jsx_runtime10.jsx)(OverflowProvider,{children:(0,import_jsx_runtime10.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime10.jsx)(Box_default,{flexDirection:"column",flexShrink:0,maxHeight:uiState.constrainHeight||streamingState==="responding"?availableTerminalHeight||void 0:void 0,overflow:"hidden",children:pendingHistoryItemsWithSourceCopyOffsets.map(({item,sourceCopyIndexOffsets},i)=>(0,import_jsx_runtime10.jsx)(HistoryItemDisplay,{availableTerminalHeight:uiState.constrainHeight?availableTerminalHeight:void 0,terminalWidth,mainAreaWidth,item:{...item,id:0},isPending:true,isFocused:!uiState.isEditorDialogOpen,activeShellPtyId:uiState.activePtyId,embeddedShellFocused:uiState.embeddedShellFocused,sourceCopyIndexOffsets,fullDetail},i))}),(0,import_jsx_runtime10.jsx)(ShowMoreLines,{constrainHeight:uiState.constrainHeight})]})})]})},"MainContent");init_esbuild_shims();init_esbuild_shims();var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);function LoopDetectionConfirmation({cause,onComplete}){useKeypress(key=>{if(key.name==="escape"){onComplete({userSelection:"keep"})}},{isActive:true});const quotedCause=cause?.replace(/`([^`]+)`/g,'"$1"');const OPTIONS=[{label:"Keep loop detection enabled (esc)",value:{userSelection:"keep"},key:"Keep loop detection enabled (esc)"},{label:"Disable loop detection for this session",value:{userSelection:"disable"},key:"Disable loop detection for this session"}];return(0,import_jsx_runtime11.jsx)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.warning,width:"100%",marginLeft:1,children:(0,import_jsx_runtime11.jsxs)(Box_default,{paddingX:1,paddingY:0,flexDirection:"column",children:[(0,import_jsx_runtime11.jsxs)(Box_default,{minHeight:1,children:[(0,import_jsx_runtime11.jsx)(Box_default,{minWidth:3,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.status.warning,"aria-label":"Loop detected:",children:"?"})}),(0,import_jsx_runtime11.jsx)(Box_default,{children:(0,import_jsx_runtime11.jsxs)(Text,{wrap:"truncate-end",children:[(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.primary,bold:true,children:"A potential loop was detected"})," "]})})]}),(0,import_jsx_runtime11.jsx)(Box_default,{width:"100%",marginTop:1,children:(0,import_jsx_runtime11.jsxs)(Box_default,{flexDirection:"column",children:[quotedCause&&(0,import_jsx_runtime11.jsxs)(Text,{color:theme.text.primary,children:["Cause: ",quotedCause,"."]}),(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.secondary,children:"This can happen due to repetitive tool calls or other model behavior. Do you want to keep loop detection enabled or disable it for this session?"}),(0,import_jsx_runtime11.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime11.jsx)(RadioButtonSelect,{items:OPTIONS,onSelect:onComplete})}),(0,import_jsx_runtime11.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.secondary,children:'Note: Setting "model.loopProtection" in your settings.json to "warn" reminds the model instead of stopping, and "off" turns loop protection off, for future sessions. "model.skipLoopDetection" disables only the heuristic loop checks. The tool-call budget is tunable via "model.maxToolCallsPerTurn" (0 disables it). Disabling for this session above suppresses everything.'})})]})})]})})}__name(LoopDetectionConfirmation,"LoopDetectionConfirmation");init_esbuild_shims();var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var SHELL_CONFIRMATION_FIXED_ROWS=9;var MIN_HEIGHT_WITH_HIDDEN_COMMAND_OPTIONS=8;var ShellConfirmationDialog=__name(({request,availableTerminalHeight,contentWidth=80})=>{const{commands,onConfirm}=request;const constrainedHeight=clampDialogHeight(availableTerminalHeight);const commandPreviewHeight=constrainedHeight===void 0?void 0:constrainedHeight>=SHELL_CONFIRMATION_FIXED_ROWS+2?Math.max(2,constrainedHeight-SHELL_CONFIRMATION_FIXED_ROWS):0;const commandsHidden=constrainedHeight!==void 0&&commandPreviewHeight===0&&commands.length>0;const commandApprovalUnavailable=commandsHidden&&constrainedHeight!==void 0&&constrainedHeight<MIN_HEIGHT_WITH_HIDDEN_COMMAND_OPTIONS;const compactHiddenCommandsLayout=commandsHidden&&constrainedHeight<=SHELL_CONFIRMATION_FIXED_ROWS;useKeypress(key=>{if(key.name==="escape"){onConfirm("cancel")}},{isActive:true});const handleSelect=__name(item=>{if(item==="cancel"){onConfirm(item)}else{onConfirm(item,commands)}},"handleSelect");const options=[{label:t("Yes, allow once"),value:"proceed_once",key:"Yes, allow once"},{label:t("Always allow in this project"),value:"proceed_always_project",key:"Always allow in this project"},{label:t("Always allow for this user"),value:"proceed_always_user",key:"Always allow for this user"},{label:t("No (esc)"),value:"cancel",key:"No (esc)"}];const visibleOptions=commandApprovalUnavailable?options.filter(option=>option.value==="cancel"):options;return(0,import_jsx_runtime12.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.warning,paddingX:1,paddingY:constrainedHeight===void 0?1:0,width:"100%",marginLeft:1,height:constrainedHeight,overflow:"hidden",children:[(0,import_jsx_runtime12.jsx)(Text,{bold:true,color:theme.text.primary,wrap:"truncate",children:t("Shell Command Execution")}),!compactHiddenCommandsLayout&&(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.primary,wrap:"truncate",children:t("A custom command wants to run the following shell commands:")}),constrainedHeight===void 0?(0,import_jsx_runtime12.jsx)(Box_default,{flexDirection:"column",marginTop:1,marginBottom:1,flexShrink:1,children:(0,import_jsx_runtime12.jsx)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.border.default,paddingX:1,children:commands.map(cmd=>(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.link,children:cmd},cmd))})}):commandPreviewHeight!==void 0&&commandPreviewHeight>0?(0,import_jsx_runtime12.jsx)(Box_default,{flexDirection:"column",flexShrink:1,children:(0,import_jsx_runtime12.jsx)(MaxSizedBox,{maxHeight:commandPreviewHeight,maxWidth:Math.max(1,contentWidth-8),overflowDirection:"top",children:commands.map(cmd=>(0,import_jsx_runtime12.jsx)(Box_default,{children:(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.link,children:cmd})},cmd))})}):commandsHidden?(0,import_jsx_runtime12.jsxs)(Text,{color:theme.status.warning,wrap:"truncate",children:[commands.length," ",t("shell commands hidden - resize terminal to review")]}):null,!compactHiddenCommandsLayout&&(0,import_jsx_runtime12.jsx)(Box_default,{marginBottom:constrainedHeight===void 0?1:0,flexShrink:0,children:(0,import_jsx_runtime12.jsx)(Text,{color:theme.text.primary,children:t("Do you want to proceed?")})}),(0,import_jsx_runtime12.jsx)(Box_default,{flexShrink:0,children:(0,import_jsx_runtime12.jsx)(RadioButtonSelect,{items:visibleOptions,onSelect:handleSelect,isFocused:true})})]})},"ShellConfirmationDialog");init_esbuild_shims();var import_react11=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var CONSENT_PROMPT_CHROME_ROWS=7;var ConsentPrompt=__name(props=>{const{prompt,onConfirm,terminalWidth,availableTerminalHeight}=props;const constrainedHeight=clampDialogHeight(availableTerminalHeight);const availablePromptRows=constrainedHeight===void 0?void 0:Math.max(1,constrainedHeight-CONSENT_PROMPT_CHROME_ROWS);const showPromptTruncationNotice=typeof prompt==="string"&&availablePromptRows!==void 0&&availablePromptRows<=2;const promptHeight=availablePromptRows===void 0?void 0:Math.max(1,availablePromptRows-(showPromptTruncationNotice?1:0));return(0,import_jsx_runtime13.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,height:constrainedHeight,overflow:"hidden",children:[(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",flexShrink:1,overflow:"hidden",children:typeof prompt==="string"?(0,import_jsx_runtime13.jsx)(MarkdownDisplay,{isPending:true,text:prompt,contentWidth:terminalWidth,...promptHeight!==void 0?{availableTerminalHeight:promptHeight}:{}}):prompt}),showPromptTruncationNotice&&(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,wrap:"truncate",children:t("Content truncated - resize terminal to review")}),(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,flexShrink:0,children:(0,import_jsx_runtime13.jsx)(RadioButtonSelect,{items:[{label:"Yes",value:true,key:"Yes"},{label:"No",value:false,key:"No"}],onSelect:onConfirm})})]})},"ConsentPrompt");init_esbuild_shims();var import_react12=__toESM(require_react(),1);var import_jsx_runtime14=__toESM(require_jsx_runtime(),1);var ProviderDiffSection=__name(({entry})=>{const{providerLabel,diff}=entry;const hasModelChanges=diff.added.length>0||diff.removed.length>0;return(0,import_jsx_runtime14.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime14.jsx)(Text,{bold:true,color:theme.text.secondary,children:providerLabel}),hasModelChanges?(0,import_jsx_runtime14.jsxs)(Box_default,{flexDirection:"column",children:[diff.added.map(model=>(0,import_jsx_runtime14.jsxs)(Text,{color:theme.status.success,children:[" + ",model]},model)),diff.removed.map(model=>(0,import_jsx_runtime14.jsxs)(Text,{color:theme.status.error,children:[" - ",model]},model))]}):(0,import_jsx_runtime14.jsxs)(Text,{color:theme.text.secondary,children:[" ",t("Model parameters updated (context window, capabilities, etc.)")]})]})},"ProviderDiffSection");var ProviderUpdatePrompt=__name(({entries,onConfirm})=>{const handleKeypress=(0,import_react12.useCallback)(key=>{if(key.name==="escape"){onConfirm("later")}},[onConfirm]);useKeypress(handleKeypress,{isActive:true});const affectedEntry=entries.find(e=>e.diff.currentModelAffected);const title=entries.length===1?t("Built-in Provider Update \xB7 {{provider}}",{provider:entries[0].providerLabel}):t("Built-in Provider Updates");return(0,import_jsx_runtime14.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,children:[(0,import_jsx_runtime14.jsx)(Text,{bold:true,children:title}),(0,import_jsx_runtime14.jsx)(Box_default,{flexDirection:"column",marginTop:1,gap:1,children:entries.map(entry=>(0,import_jsx_runtime14.jsx)(ProviderDiffSection,{entry},entry.providerLabel))}),(0,import_jsx_runtime14.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[affectedEntry&&(0,import_jsx_runtime14.jsx)(Text,{color:theme.status.warning,children:t("Note: Your selected model is being removed. Please choose a new one with /model.")}),(0,import_jsx_runtime14.jsx)(Text,{color:theme.text.secondary,children:t("Tips: Your credentials will not be modified.")})]}),(0,import_jsx_runtime14.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime14.jsx)(RadioButtonSelect,{items:[{label:t("Update all"),value:"update",key:"update"},{label:t("Skip this version"),value:"skip",key:"skip"},{label:t("Remind me later (esc)"),value:"later",key:"later"}],onSelect:onConfirm})})]})},"ProviderUpdatePrompt");init_esbuild_shims();var import_react13=__toESM(require_react(),1);var import_jsx_runtime15=__toESM(require_jsx_runtime(),1);var isPrintableAscii=__name(character=>{const charCode=character.charCodeAt(0);return charCode>=32&&charCode<=126},"isPrintableAscii");var PasswordInput=__name(({value,onChange,onSubmit,placeholder})=>{useKeypress(key=>{if(key.paste){const pastedValue=key.sequence.split("").filter(isPrintableAscii).join("");if(pastedValue){onChange(value+pastedValue)}return}if(key.name==="return"){onSubmit();return}if(key.name==="backspace"||key.name==="delete"){onChange(value.slice(0,-1));return}if(key.ctrl&&key.name==="u"){onChange("");return}if(key.sequence&&!key.ctrl&&!key.meta&&key.sequence.length===1){if(isPrintableAscii(key.sequence)){onChange(value+key.sequence)}}},{isActive:true});const maskedValue="*".repeat(value.length);const displayValue=maskedValue||"";const cursorChar=renderSoftwareCursor(" ");return(0,import_jsx_runtime15.jsxs)(Box_default,{children:[(0,import_jsx_runtime15.jsx)(Text,{color:theme.text.accent,children:"> "}),value.length===0?(0,import_jsx_runtime15.jsxs)(Text,{children:[cursorChar,(0,import_jsx_runtime15.jsx)(Text,{dimColor:true,children:placeholder.slice(1)})]}):(0,import_jsx_runtime15.jsxs)(Text,{children:[displayValue,cursorChar]})]})},"PasswordInput");var SettingInputPrompt=__name(props=>{const{settingName,settingDescription,sensitive,onSubmit,onCancel,terminalWidth}=props;const[value,setValue]=(0,import_react13.useState)("");useKeypress(key=>{if(key.name==="escape"){onCancel()}},{isActive:true});const handleSubmit=__name(()=>{if(value.trim()){onSubmit(value)}},"handleSubmit");return(0,import_jsx_runtime15.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,children:[(0,import_jsx_runtime15.jsx)(Text,{bold:true,color:theme.text.accent,children:settingName}),(0,import_jsx_runtime15.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime15.jsx)(Text,{children:settingDescription})}),(0,import_jsx_runtime15.jsx)(Box_default,{marginTop:1,flexDirection:"column",children:sensitive?(0,import_jsx_runtime15.jsx)(PasswordInput,{value,onChange:setValue,onSubmit:handleSubmit,placeholder:t("Enter sensitive value...")}):(0,import_jsx_runtime15.jsx)(TextInput,{value,onChange:setValue,onSubmit:handleSubmit,placeholder:t("Enter value..."),inputWidth:Math.min(terminalWidth-10,60),isActive:true})}),(0,import_jsx_runtime15.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime15.jsx)(Text,{dimColor:true,children:t("Press Enter to submit, Escape to cancel")})})]})},"SettingInputPrompt");init_esbuild_shims();var import_react14=__toESM(require_react(),1);var import_jsx_runtime16=__toESM(require_jsx_runtime(),1);var MAX_VISIBLE_ITEMS=8;var PluginChoicePrompt=__name(props=>{const{marketplaceName,plugins,onSelect,onCancel}=props;const[selectedIndex,setSelectedIndex]=(0,import_react14.useState)(0);const prefixWidth=2;const handleKeypress=(0,import_react14.useCallback)(key=>{const{name,sequence}=key;if(name==="escape"){onCancel();return}if(name==="return"){const plugin=plugins[selectedIndex];if(plugin){onSelect(plugin.name)}return}if(keyMatchers["selectionUp"](key)){setSelectedIndex(prev=>prev>0?prev-1:plugins.length-1);return}if(keyMatchers["selectionDown"](key)){setSelectedIndex(prev=>prev<plugins.length-1?prev+1:0);return}const num=parseInt(sequence||"",10);if(!isNaN(num)&&num>=1&&num<=plugins.length&&num<=9){setSelectedIndex(num-1);const plugin=plugins[num-1];if(plugin){onSelect(plugin.name)}}},[plugins,selectedIndex,onSelect,onCancel]);useKeypress(handleKeypress,{isActive:true});const{visiblePlugins,startIndex,hasMore,hasLess}=(0,import_react14.useMemo)(()=>{const total=plugins.length;if(total<=MAX_VISIBLE_ITEMS){return{visiblePlugins:plugins,startIndex:0,hasMore:false,hasLess:false}}let start=0;const halfWindow=Math.floor(MAX_VISIBLE_ITEMS/2);if(selectedIndex<=halfWindow){start=0}else if(selectedIndex>=total-halfWindow){start=total-MAX_VISIBLE_ITEMS}else{start=selectedIndex-halfWindow}const end=Math.min(start+MAX_VISIBLE_ITEMS,total);return{visiblePlugins:plugins.slice(start,end),startIndex:start,hasLess:start>0,hasMore:end<total}},[plugins,selectedIndex]);return(0,import_jsx_runtime16.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width:"100%",children:[(0,import_jsx_runtime16.jsx)(Text,{bold:true,color:theme.text.accent,children:t('Select a plugin from "{{name}}"',{name:marketplaceName})}),(0,import_jsx_runtime16.jsxs)(Box_default,{marginTop:1,flexDirection:"column",children:[hasLess&&(0,import_jsx_runtime16.jsx)(Box_default,{children:(0,import_jsx_runtime16.jsxs)(Text,{dimColor:true,children:[" ","\u2191 ",t("{{count}} more above",{count:String(startIndex)})]})}),visiblePlugins.map((plugin,visibleIndex)=>{const actualIndex=startIndex+visibleIndex;const isSelected=actualIndex===selectedIndex;const prefix=isSelected?"\u276F ":" ";return(0,import_jsx_runtime16.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime16.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime16.jsx)(Text,{color:isSelected?theme.text.accent:void 0,children:prefix}),(0,import_jsx_runtime16.jsx)(Text,{bold:isSelected,color:isSelected?theme.text.accent:void 0,children:plugin.name})]}),isSelected&&plugin.description&&(0,import_jsx_runtime16.jsx)(Box_default,{marginLeft:prefixWidth,children:(0,import_jsx_runtime16.jsx)(Text,{color:theme.text.accent,children:plugin.description})})]},plugin.name)}),hasMore&&(0,import_jsx_runtime16.jsx)(Box_default,{children:(0,import_jsx_runtime16.jsxs)(Text,{dimColor:true,children:[" ","\u2193"," ",t("{{count}} more below",{count:String(plugins.length-startIndex-MAX_VISIBLE_ITEMS)})]})})]}),(0,import_jsx_runtime16.jsxs)(Box_default,{marginTop:1,flexDirection:"row",gap:2,children:[(0,import_jsx_runtime16.jsx)(Text,{dimColor:true,children:t("Use \u2191\u2193 or j/k to navigate, Enter to select, Escape to cancel")}),plugins.length>MAX_VISIBLE_ITEMS&&(0,import_jsx_runtime16.jsxs)(Text,{dimColor:true,children:["(",selectedIndex+1,"/",plugins.length,")"]})]})]})},"PluginChoicePrompt");init_esbuild_shims();var import_react15=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime17=__toESM(require_jsx_runtime(),1);function ScopeSelector({onSelect,onHighlight,isFocused,initialScope}){const scopeItems3=getScopeItems().map(item=>({...item,label:t(item.label),key:item.value}));const initialIndex=scopeItems3.findIndex(item=>item.value===initialScope);const safeInitialIndex=initialIndex>=0?initialIndex:0;return(0,import_jsx_runtime17.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime17.jsxs)(Text,{bold:isFocused,wrap:"truncate",children:[isFocused?"> ":" ",t("Apply To")]}),(0,import_jsx_runtime17.jsx)(Box_default,{height:1}),(0,import_jsx_runtime17.jsx)(RadioButtonSelect,{items:scopeItems3,initialIndex:safeInitialIndex,onSelect,onHighlight,isFocused,showNumbers:isFocused})]})}__name(ScopeSelector,"ScopeSelector");var import_jsx_runtime18=__toESM(require_jsx_runtime(),1);function ThemeDialog({onSelect,onHighlight,settings,availableTerminalHeight,terminalWidth}){const[selectedScope,setSelectedScope]=(0,import_react15.useState)("User");const[highlightedThemeName,setHighlightedThemeName]=(0,import_react15.useState)(settings.merged.ui?.theme||AUTO_THEME_NAME);const customThemes=selectedScope==="User"?settings.user.settings.ui?.customThemes||{}:settings.merged.ui?.customThemes||{};const builtInThemes=themeManager.getAvailableThemes().filter(theme2=>theme2.type!=="custom");const customThemeNames=Object.keys(customThemes);const capitalize=__name(s=>s.charAt(0).toUpperCase()+s.slice(1),"capitalize");const themeItems=[{label:t("Auto (detect terminal theme)"),value:AUTO_THEME_NAME,themeNameDisplay:t("Auto"),themeTypeDisplay:t("Auto"),key:AUTO_THEME_NAME},...builtInThemes.map(theme2=>({label:theme2.name,value:theme2.name,themeNameDisplay:theme2.name,themeTypeDisplay:capitalize(theme2.type),key:theme2.name})),...customThemeNames.map(name=>({label:name,value:name,themeNameDisplay:name,themeTypeDisplay:t("Custom"),key:name}))];const initialThemeIndex=themeItems.findIndex(item=>item.value===highlightedThemeName);const safeInitialThemeIndex=initialThemeIndex>=0?initialThemeIndex:0;const handleThemeSelect=(0,import_react15.useCallback)(themeName=>{onSelect(themeName,selectedScope)},[onSelect,selectedScope]);const handleThemeHighlight=__name(themeName=>{setHighlightedThemeName(themeName);onHighlight(themeName)},"handleThemeHighlight");const handleScopeHighlight=(0,import_react15.useCallback)(scope=>{setSelectedScope(scope)},[]);const handleScopeSelect=(0,import_react15.useCallback)(scope=>{onSelect(highlightedThemeName,scope)},[onSelect,highlightedThemeName]);const[mode,setMode]=(0,import_react15.useState)("theme");useKeypress(key=>{if(key.name==="tab"){setMode(prev=>prev==="theme"?"scope":"theme")}if(key.name==="escape"){onSelect(void 0,selectedScope)}},{isActive:true});const otherScopeModifiedMessage=getScopeMessageForSetting("ui.theme",selectedScope,settings);const PREVIEW_PANE_WIDTH_PERCENTAGE=.55;const PREVIEW_PANE_WIDTH_SAFETY_MARGIN=.9;const TOTAL_HORIZONTAL_PADDING=4;const colorizeCodeWidth=Math.max(Math.floor((terminalWidth-TOTAL_HORIZONTAL_PADDING)*PREVIEW_PANE_WIDTH_PERCENTAGE*PREVIEW_PANE_WIDTH_SAFETY_MARGIN),1);const DIALOG_PADDING=2;const selectThemeHeight=themeItems.length+1;const TAB_TO_SELECT_HEIGHT=2;availableTerminalHeight=availableTerminalHeight??Number.MAX_SAFE_INTEGER;availableTerminalHeight-=2;availableTerminalHeight-=TAB_TO_SELECT_HEIGHT;let totalLeftHandSideHeight=DIALOG_PADDING+selectThemeHeight;let includePadding=true;if(totalLeftHandSideHeight>availableTerminalHeight){includePadding=false;totalLeftHandSideHeight-=DIALOG_PADDING}const PREVIEW_PANE_FIXED_VERTICAL_SPACE=8;availableTerminalHeight=Math.max(availableTerminalHeight,totalLeftHandSideHeight);const availableTerminalHeightCodeBlock=availableTerminalHeight-PREVIEW_PANE_FIXED_VERTICAL_SPACE-(includePadding?2:0)*2;const availableHeightForPanes=Math.max(0,availableTerminalHeightCodeBlock-1);const codeBlockHeight=Math.ceil(availableHeightForPanes*.6);const diffHeight=Math.floor(availableHeightForPanes*.4);return(0,import_jsx_runtime18.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingTop:includePadding?1:0,paddingBottom:includePadding?1:0,paddingLeft:1,paddingRight:1,width:"100%",children:[mode==="theme"?(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"column",width:"45%",paddingRight:2,children:[(0,import_jsx_runtime18.jsxs)(Text,{bold:mode==="theme",wrap:"truncate",children:[mode==="theme"?"> ":" ",t("Select Theme")," ",(0,import_jsx_runtime18.jsx)(Text,{color:theme.text.secondary,children:otherScopeModifiedMessage})]}),(0,import_jsx_runtime18.jsx)(RadioButtonSelect,{items:themeItems,initialIndex:safeInitialThemeIndex,onSelect:handleThemeSelect,onHighlight:handleThemeHighlight,isFocused:mode==="theme",maxItemsToShow:12,showScrollArrows:true,showNumbers:mode==="theme"})]}),(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"column",width:"55%",paddingLeft:2,children:[(0,import_jsx_runtime18.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Preview")}),(()=>{const previewTheme=highlightedThemeName===AUTO_THEME_NAME?themeManager.getActiveTheme():themeManager.getTheme(highlightedThemeName||DEFAULT_THEME.name)||DEFAULT_THEME;return(0,import_jsx_runtime18.jsxs)(Box_default,{borderStyle:"single",borderColor:theme.border.default,paddingTop:includePadding?1:0,paddingBottom:includePadding?1:0,paddingLeft:1,paddingRight:1,flexDirection:"column",children:[colorizeCode(`# function
|
|
4
4
|
def fibonacci(n):
|
|
5
5
|
a, b = 0, 1
|
|
6
6
|
for _ in range(n):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import{InProcessBackend,TeamManager}from"./chunk-
|
|
3
|
+
import{InProcessBackend,TeamManager}from"./chunk-T3CQ72HC.js";import"./chunk-R2EHHA2C.js";import"./chunk-YK7NDQKM.js";import"./chunk-ZLZF2ZDD.js";import"./chunk-OMSVOFTC.js";import"./chunk-PHIPLV2I.js";import"./chunk-ZOTKZI2P.js";import"./chunk-A6G5TAIF.js";import"./chunk-YVBHCSZD.js";import"./chunk-FIXDX63I.js";import"./chunk-T7CHK6C2.js";import"./chunk-PT7NZBDY.js";import"./chunk-TWP72VRH.js";import{resetTaskList}from"./chunk-UYEWRLGD.js";import"./chunk-QVPT37XZ.js";import"./chunk-YVD4O5ZB.js";import"./chunk-T6W33SET.js";import{clearAllInboxes}from"./chunk-WK2IBT6D.js";import"./chunk-QZV4PFQK.js";import"./chunk-ILECDNJX.js";import"./chunk-QXQGUM3Y.js";import"./chunk-UQ7IROJH.js";import"./chunk-SZCBUCNH.js";import"./chunk-BEKROCWN.js";import"./chunk-5SUFJTQQ.js";import"./chunk-BYU42MLK.js";import{LEADER_NAME,MAX_TEAMMATES,createTeamFile,formatAgentId,getTasksDir,getTeamDir,sanitizeName,tryReclaimStaleTeam}from"./chunk-JWQXU3SR.js";import"./chunk-5LZ2DPLH.js";import"./chunk-XQJOZDV7.js";import"./chunk-CV2UAEZA.js";import"./chunk-FUBDS3AV.js";import"./chunk-HW6AWS7W.js";import"./chunk-KLC3OD2M.js";import"./chunk-Q5IZXKUJ.js";import"./chunk-G5PYYZMM.js";import"./chunk-BG67XABA.js";import"./chunk-OBOU4ZZM.js";import"./chunk-D7XCQWP2.js";import"./chunk-AE5OMKRY.js";import"./chunk-OBV7RNHV.js";import"./chunk-7CQMWEMY.js";import"./chunk-GOZYWU4B.js";import"./chunk-OUC3WICA.js";import"./chunk-JZK2WGXA.js";import"./chunk-MPHSE7M4.js";import"./chunk-S2ZKZXHX.js";import"./chunk-7UK4WJWS.js";import"./chunk-4GP3PH7Z.js";import"./chunk-4QQKOW5M.js";import"./chunk-OV3EBH6J.js";import"./chunk-EBMCWXGZ.js";import"./chunk-XZTE4YTN.js";import"./chunk-LSASUDF2.js";import"./chunk-2V5EKGDK.js";import"./chunk-MOKVM4PT.js";import"./chunk-YIW3H46P.js";import"./chunk-EOMRLUNZ.js";import"./chunk-4ZRCV3JY.js";import"./chunk-TL6MLBXR.js";import"./chunk-NMY3PYNO.js";import"./chunk-YGLM5XPP.js";import"./chunk-WGNF7FPC.js";import"./chunk-4NPYOXJO.js";import"./chunk-MWGB5RCF.js";import"./chunk-SCD5TUBG.js";import"./chunk-NTRFETZB.js";import"./chunk-TL3SF2GA.js";import"./chunk-LMJPU2JM.js";import"./chunk-4JNHUZ7M.js";import"./chunk-SW54YEPK.js";import"./chunk-ZCRL73DT.js";import"./chunk-A6LT3FIJ.js";import"./chunk-S6RXVOY6.js";import"./chunk-YZFNBUKG.js";import"./chunk-AGEDDL7Z.js";import"./chunk-2NJJHZ52.js";import"./chunk-BN4FIQ77.js";import"./chunk-X64RXJQQ.js";import"./chunk-HETUGUHE.js";import"./chunk-ET2Z7ZGF.js";import"./chunk-3YWXKSOI.js";import"./chunk-5CWTKFI4.js";import"./chunk-C4MVD5OI.js";import"./chunk-Z2W7S4O4.js";import"./chunk-476F6QIM.js";import"./chunk-4R67LXKL.js";import"./chunk-FQRF6B65.js";import"./chunk-ZWPSBU7K.js";import"./chunk-UQFTXKEB.js";import"./chunk-HDGTWJ24.js";import"./chunk-W5NWIGKO.js";import"./chunk-KVA6DHHF.js";import"./chunk-PWOQASXT.js";import"./chunk-K7JCVESI.js";import"./chunk-Y6HHV4LC.js";import"./chunk-RP57XAJ2.js";import"./chunk-Z6AR5XE5.js";import"./chunk-7DOOXUDG.js";import"./chunk-77V43YOE.js";import"./chunk-7U7CWMP7.js";import"./chunk-EFTJIDS3.js";import"./chunk-4DIWAQ5G.js";import"./chunk-Q6UAOTP3.js";import"./chunk-H5EXNXGW.js";import"./chunk-GOR7FFVE.js";import"./chunk-4ZBZL23U.js";import"./chunk-BMHYEQTI.js";import"./chunk-ZZZAYAJW.js";import"./chunk-XMANRGPK.js";import"./chunk-3XVPZY7X.js";import"./chunk-KQX4H2D3.js";import"./chunk-URNNJMIC.js";import"./chunk-GU22I6TY.js";import"./chunk-YEYW7PPR.js";import"./chunk-DBRQGEEI.js";import"./chunk-B3ZFUGTC.js";import"./chunk-IRINPFG7.js";import"./chunk-6GTPLW7K.js";import"./chunk-NGVRCUYD.js";import"./chunk-5DTFN37U.js";import"./chunk-2YUBAWQ6.js";import{BaseDeclarativeTool,BaseToolInvocation}from"./chunk-O5EKX7LG.js";import"./chunk-TM6ZCBR7.js";import"./chunk-SVAPAMMG.js";import"./chunk-3KUHQGOS.js";import"./chunk-I6S7NGX3.js";import{ToolDisplayNames,ToolNames}from"./chunk-SBZFGYYS.js";import"./chunk-JAUJI56S.js";import"./chunk-I4H7NUVP.js";import"./chunk-EPODBRBP.js";import"./chunk-OKN3Z5C5.js";import{isNodeError}from"./chunk-XYB7GC5U.js";import"./chunk-2UOMCYQG.js";import"./chunk-I7L2TX4M.js";import"./chunk-MK3OONRA.js";import"./chunk-COGTQ5KZ.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__name}from"./chunk-KBWJGX7I.js";init_esbuild_shims();var TeamCreateInvocation=class extends BaseToolInvocation{constructor(config,params){super(params);this.config=config}static{__name(this,"TeamCreateInvocation")}getDescription(){return`Create team "${this.params.team_name}"`}async execute(){const teamName=sanitizeName(this.params.team_name);if(!teamName){const msg="Team name is required.";return{llmContent:msg,returnDisplay:msg,error:{message:msg}}}if(this.config.getArenaManager()){const msg="Cannot create a team while an Arena session is active. End the Arena session first.";return{llmContent:msg,returnDisplay:msg,error:{message:msg}}}if(this.config.getTeamManager()){const msg="A team is already active. Delete it before creating a new one.";return{llmContent:msg,returnDisplay:msg,error:{message:msg}}}if(this.config.getAgentExecutionBackend?.()==="container"){const msg="Container execution is required; team and Arena agents are unsupported.";return{llmContent:msg,returnDisplay:msg,error:{message:msg}}}const leadAgentId=formatAgentId(LEADER_NAME,teamName);const teamFile={name:teamName,description:this.params.description,createdAt:Date.now(),leadAgentId,leadSessionId:this.config.getSessionId(),leadPid:process.pid,members:[]};try{await createTeamFile(teamName,teamFile)}catch(err){if(isNodeError(err)&&err.code==="EEXIST"){const reclaimed=await tryReclaimStaleTeam(teamName);if(!reclaimed){const msg=`Team "${teamName}" already exists and appears to be owned by a live qwen-code session. Pick a different name, or \u2014 if you're sure no other session is using it \u2014 remove the on-disk artifacts manually:
|
|
4
4
|
rm -rf "${getTeamDir(teamName)}" "${getTasksDir(teamName)}"`;return{llmContent:msg,returnDisplay:msg,error:{message:msg}}}await createTeamFile(teamName,teamFile)}else{throw err}}await resetTaskList(teamName);await clearAllInboxes(teamName);const backend=new InProcessBackend(this.config);await backend.init();const manager=new TeamManager(backend,teamFile,this.config.getSubagentManager(),{maxTeammates:this.config.getAgentsSettings().team?.maxTeammates});this.config.setTeamManager(manager);const ctx={teamName,leadAgentId,teammates:{}};this.config.setTeamContext(ctx);const display={type:"team_result",teamName,action:"created"};const llmContent=`Team "${teamName}" created.`+(this.params.description?` Description: ${this.params.description}`:"");return{llmContent,returnDisplay:display}}};var TeamCreateTool=class _TeamCreateTool extends BaseDeclarativeTool{constructor(config){super(_TeamCreateTool.Name,ToolDisplayNames.TEAM_CREATE,`# TeamCreate
|
|
5
5
|
|
|
6
6
|
## When to Use
|