@qwen-code/qwen-code 0.21.12-preview.4 → 0.21.12
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/bundled/qc-helper/docs/features/channels/overview.md +1 -1
- package/bundled/qc-helper/docs/features/channels/plugins.md +11 -11
- package/bundled/qc-helper/docs/qwen-serve.md +65 -0
- package/chunks/{MaxSizedBox-GFI5RYXH.js → MaxSizedBox-ZSJJ2D5S.js} +45 -45
- package/chunks/{StandaloneSessionPicker-JFWRY4V2.js → StandaloneSessionPicker-WHUHQXSA.js} +64 -65
- package/chunks/{acp-startup-profiler-TVI2OVUN.js → acp-startup-profiler-SVPUHLXV.js} +2 -2
- package/chunks/{acpAgent-7YC6SNIS.js → acpAgent-7JOAESF5.js} +378 -201
- package/chunks/{agent-43KVQSB5.js → agent-E6V3VXQR.js} +41 -41
- package/chunks/{agent-headless-P2N7PDGQ.js → agent-headless-OEQNFOMH.js} +41 -41
- package/chunks/{anthropicContentGenerator-ZBBX5VMY.js → anthropicContentGenerator-YDT4EOKO.js} +25 -25
- package/chunks/{artifact-tool-RWJAKYBZ.js → artifact-tool-4GCQQDZI.js} +5 -5
- package/chunks/{askUserQuestion-IQCA2SOX.js → askUserQuestion-HZJJLR3Z.js} +2 -2
- package/chunks/{bridge-ZBMNALLA.js → bridge-NPBV53UA.js} +47 -47
- package/chunks/{build-RZS65IIX.js → build-GDBLPA24.js} +1 -1
- package/chunks/{channel-management-service-5ZYX4ROW.js → channel-management-service-OADNGQM3.js} +4 -4
- package/chunks/{channel-settings-store-ZJWM7EDP.js → channel-settings-store-4ODLJ4X2.js} +48 -48
- package/chunks/{channel-worker-group-QFJKXO7R.js → channel-worker-group-IHBIHQ45.js} +7 -7
- package/chunks/{channel-worker-manager-PWD2UURZ.js → channel-worker-manager-GEHYJ5AE.js} +7 -7
- package/chunks/{channel-worker-supervisor-XQJBGFCM.js → channel-worker-supervisor-ZJIIWM4I.js} +5 -5
- package/chunks/{chunk-LHOG4E6Y.js → chunk-22C7BQ6D.js} +3 -3
- package/chunks/{chunk-2SB4SLKC.js → chunk-2IIJTXYF.js} +1 -3
- package/chunks/{chunk-QSMZHJ62.js → chunk-2IVYL3IF.js} +1 -1
- package/chunks/{chunk-QEWAHAW2.js → chunk-2ZWH53I4.js} +3 -3
- package/chunks/{chunk-6NQWER7D.js → chunk-36XKGB7E.js} +3 -3
- package/chunks/{chunk-7JL5YBSA.js → chunk-3AEKDXKT.js} +1 -1
- package/chunks/{chunk-H2U4FK62.js → chunk-3GDBZJD6.js} +6 -6
- package/chunks/{chunk-VPZMLGD3.js → chunk-3GM5DLBI.js} +5 -5
- package/chunks/{chunk-PYLVQ6RT.js → chunk-3LDGOQXZ.js} +6 -6
- package/chunks/{chunk-BKHCW2BI.js → chunk-3VUENPWF.js} +10 -0
- package/chunks/{chunk-XY7DGTIC.js → chunk-45NQKMYB.js} +1 -1
- package/chunks/{chunk-QWAI7FNT.js → chunk-47BGDLJG.js} +119 -27
- package/chunks/{chunk-H6BFLALJ.js → chunk-4AOVQPJU.js} +1 -1
- package/chunks/{chunk-UAAWNTOC.js → chunk-4KM2SYK5.js} +12 -12
- package/chunks/{chunk-VRQD5D7R.js → chunk-4XA4QIUA.js} +1 -1
- package/chunks/{chunk-BNRIQWXW.js → chunk-56HVDG3M.js} +4 -4
- package/chunks/{chunk-KB4ISUT3.js → chunk-5AFGJNY6.js} +4 -4
- package/chunks/{chunk-KTWUFHS4.js → chunk-5RUCD4ED.js} +2 -2
- package/chunks/{chunk-TB6DPBE4.js → chunk-62X3CM7Q.js} +7 -7
- package/chunks/{chunk-SNHBRO4C.js → chunk-63FNZTWG.js} +2 -2
- package/chunks/{chunk-GDNDZJSG.js → chunk-6JEIRPLN.js} +47 -4
- package/chunks/{chunk-A2QIWDFO.js → chunk-6P5EXEBL.js} +159 -34
- package/chunks/{chunk-NAOHSM56.js → chunk-6SPD4Z7F.js} +1 -1
- package/chunks/{chunk-MTV5W6WN.js → chunk-6ZKSO6K7.js} +7 -7
- package/chunks/{chunk-QSDPJROT.js → chunk-7KJPO7YH.js} +2 -2
- package/chunks/{chunk-JVY7FHUZ.js → chunk-7U5G6JXI.js} +9 -0
- package/chunks/{chunk-JW5UEE3V.js → chunk-A6NRNRKE.js} +1 -1
- package/chunks/{chunk-AAZWJAPQ.js → chunk-AKBFSOC5.js} +2 -2
- package/chunks/{chunk-ADJDLEVO.js → chunk-AW27A43Y.js} +9 -11
- package/chunks/{chunk-M4NWDIFU.js → chunk-AZQ3DT76.js} +1 -1
- package/chunks/{chunk-HY5OHJEC.js → chunk-B4VN3VDH.js} +5 -5
- package/chunks/{chunk-VUTOV2HG.js → chunk-BSR5AXZR.js} +4 -3
- package/chunks/{chunk-ARL4UGRW.js → chunk-BSSLSQEW.js} +3 -3
- package/chunks/{chunk-OSA2TFDI.js → chunk-CGM3E75C.js} +3 -3
- package/chunks/{chunk-OIZWCOYC.js → chunk-CIDQISGM.js} +5 -5
- package/chunks/{chunk-67F2BEYW.js → chunk-CPFFU46D.js} +1 -1
- package/chunks/{chunk-HOJZ2QQA.js → chunk-CQ6IPDQW.js} +3 -3
- package/chunks/{chunk-UWIJU22K.js → chunk-CZ4OWGQQ.js} +6 -8
- package/chunks/{chunk-A6GQUQ7I.js → chunk-D2RNVVH6.js} +2 -2
- package/chunks/{chunk-PSTHNTHF.js → chunk-D7QGE3RT.js} +1 -1
- package/chunks/{chunk-2U3UCXZ3.js → chunk-DAV4QFD5.js} +2 -11
- package/chunks/{chunk-4JS2QK7P.js → chunk-DD6O3ZRD.js} +1 -1
- package/chunks/{chunk-7WUMS2UA.js → chunk-DEDESZDL.js} +1 -1
- package/chunks/{chunk-VYDQD5J4.js → chunk-DFVXU5YM.js} +1 -1
- package/chunks/{chunk-CDDLHCC2.js → chunk-DG4IQ6JG.js} +5 -5
- package/chunks/{chunk-B66LYK4B.js → chunk-DPTMKFIH.js} +1 -1
- package/chunks/{chunk-GHOUZ5X4.js → chunk-EBPLKY6U.js} +384 -311
- package/chunks/{chunk-XL6GYJL2.js → chunk-EJOGLSNJ.js} +2 -2
- package/chunks/{chunk-4X5J3V2I.js → chunk-FA5K6YI2.js} +2 -2
- package/chunks/{chunk-ZZ7RUTJ4.js → chunk-FMIH5KMQ.js} +1 -1
- package/chunks/{chunk-UFHPAMAV.js → chunk-FQDCO3CJ.js} +6 -1
- package/chunks/{chunk-UHF5VBKO.js → chunk-FRHQQC2Z.js} +1 -1
- package/chunks/{chunk-6OJDN5ZT.js → chunk-G6MUFRNI.js} +1 -1
- package/chunks/{chunk-XUBM2A4F.js → chunk-GXTMEATA.js} +15 -34
- package/chunks/{chunk-V3NMFQD2.js → chunk-GZDWTBT3.js} +2 -2
- package/chunks/{chunk-5KZNWF2M.js → chunk-H7TMVHKE.js} +1 -1
- package/chunks/{chunk-YY23TR4M.js → chunk-HG3UBTJ4.js} +1 -1
- package/chunks/{chunk-YMB77M76.js → chunk-HOSVOUDK.js} +56 -0
- package/chunks/{chunk-NHZF4VCD.js → chunk-HTYND72J.js} +1 -1
- package/chunks/{chunk-JBZYGFIB.js → chunk-I7BT2MME.js} +1 -1
- package/chunks/{chunk-N3J3CO35.js → chunk-IH4Z54RJ.js} +7 -5
- package/chunks/{chunk-JXS2JNMZ.js → chunk-IRSLAS4M.js} +2 -2
- package/chunks/{chunk-CTEGMF77.js → chunk-IX4PWUDU.js} +155 -87
- package/chunks/{chunk-A4BAHMJF.js → chunk-JRIVMPD2.js} +3 -3
- package/chunks/{chunk-Q7YDKOGY.js → chunk-JVEGA3MM.js} +1 -1
- package/chunks/{chunk-U5C2GIN2.js → chunk-K34GJQOZ.js} +117 -3
- package/chunks/{chunk-YI5G32RU.js → chunk-KEC5FHLM.js} +3 -3
- package/chunks/{chunk-2RTRFLWH.js → chunk-KLOMACIR.js} +6 -6
- package/chunks/{chunk-XJ6IMYUS.js → chunk-KWX56CHZ.js} +7 -7
- package/chunks/{chunk-Y2HK3ELT.js → chunk-LCX5B364.js} +3 -3
- package/chunks/{chunk-JRTJEGSP.js → chunk-LSRI3ND3.js} +1 -1
- package/chunks/{chunk-T4G33L3W.js → chunk-LUISTZXI.js} +3 -3
- package/chunks/{chunk-Q7ALOKK7.js → chunk-MAKIANMX.js} +3 -3
- package/chunks/{chunk-QXFAQDBV.js → chunk-MDNUCDKZ.js} +2 -2
- package/chunks/{chunk-BXAGPCYH.js → chunk-MELQSJOU.js} +1 -1
- package/chunks/{chunk-B7IBCWDW.js → chunk-MUNA4QDC.js} +4 -4
- package/chunks/{chunk-3MJ44LNC.js → chunk-N4SVADAV.js} +264 -138
- package/chunks/{chunk-KK3FEHPJ.js → chunk-NLFLYSS4.js} +1 -1
- package/chunks/{chunk-UPUAGRKY.js → chunk-NW2GIPG3.js} +2 -4
- package/chunks/{chunk-LSMCI42W.js → chunk-NX4A23LY.js} +3 -3
- package/chunks/{chunk-TN3REXN4.js → chunk-OK47XBYH.js} +79 -36
- package/chunks/{chunk-L3YACXS2.js → chunk-OPVF453Q.js} +3 -3
- package/chunks/{chunk-NX5QZVRS.js → chunk-OR64CU46.js} +1 -1
- package/chunks/{chunk-JOVJCXN4.js → chunk-OWGRUU7F.js} +1 -1
- package/chunks/{chunk-V2U6FOJB.js → chunk-OWXFBIB6.js} +1 -1
- package/chunks/{chunk-6LDLDK6E.js → chunk-OYWVIXHT.js} +1 -3
- package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
- package/chunks/{chunk-32SNBMNP.js → chunk-PTSEETCO.js} +27 -27
- package/chunks/{chunk-C2DR57L6.js → chunk-PVXEJB66.js} +1 -1
- package/chunks/{chunk-O6SLWH4X.js → chunk-PZW46OTB.js} +2 -2
- package/chunks/{chunk-ECDXUCEO.js → chunk-Q4ZPYNIZ.js} +4 -4
- package/chunks/{chunk-QSWDGAIC.js → chunk-QILD6R27.js} +1 -1
- package/chunks/{chunk-6SU6OW5Z.js → chunk-QLTATTPS.js} +1 -1
- package/chunks/{chunk-NM33GGOM.js → chunk-QPBFRWCP.js} +3 -3
- package/chunks/{chunk-DUFZ3OW6.js → chunk-QSD4UH74.js} +842 -62
- package/chunks/{chunk-6T5HCY34.js → chunk-RDVNSJQU.js} +3 -3
- package/chunks/{chunk-3JI5D6RU.js → chunk-ROIJYS5K.js} +6 -6
- package/chunks/{chunk-WIHSDI6U.js → chunk-RQJA2YYO.js} +4 -4
- package/chunks/{chunk-JRMUA53D.js → chunk-S6TCTH4Z.js} +13 -13
- package/chunks/{chunk-FVHLDSQS.js → chunk-SYHXR6WM.js} +5 -5
- package/chunks/{chunk-FTGU6G45.js → chunk-TB4YFWXG.js} +2 -2
- package/chunks/{chunk-SFBRH5RY.js → chunk-TDESMS7M.js} +8 -8
- package/chunks/{chunk-EGB2PIYM.js → chunk-TMFWI4RC.js} +1 -1
- package/chunks/{chunk-2N6CV4PW.js → chunk-TQDFSQQF.js} +1 -1
- package/chunks/{chunk-TROB4PZY.js → chunk-TTRH3RTQ.js} +4 -4
- package/chunks/{chunk-E74YSVIN.js → chunk-TXP5NGG3.js} +1 -1
- package/chunks/{chunk-E3GLDLYB.js → chunk-TYAMGABM.js} +0 -6
- package/chunks/{chunk-APQTLUZ3.js → chunk-UI5UGEF4.js} +129 -8
- package/chunks/{chunk-TNETSI2A.js → chunk-ULNWG62W.js} +3 -3
- package/chunks/{chunk-FNVF5RR4.js → chunk-V6OBVAST.js} +1 -1
- package/chunks/{chunk-BGIKUE5J.js → chunk-VIFA5VJD.js} +1 -1
- package/chunks/{chunk-HWCHDINS.js → chunk-VLHR7F4E.js} +595 -58
- package/chunks/{chunk-SKRHR6N2.js → chunk-VPV7WBVT.js} +1 -1
- package/chunks/{chunk-FB5CQZMK.js → chunk-WCEI6J56.js} +1 -1
- package/chunks/{chunk-ORR5EFCL.js → chunk-WDVDVWJ3.js} +6 -6
- package/chunks/{chunk-B2BKFWJK.js → chunk-WI6GIM2M.js} +2 -2
- package/chunks/{chunk-N56NYJWY.js → chunk-WM3LUQLO.js} +7 -7
- package/chunks/{chunk-JGD35ZSJ.js → chunk-X5SLJOMF.js} +9 -7
- package/chunks/{chunk-Y5C24BUY.js → chunk-XAFIL4BD.js} +5 -5
- package/chunks/{chunk-IJCZP2MA.js → chunk-XDRXOSAD.js} +3 -3
- package/chunks/{chunk-FXWGMPAP.js → chunk-XH3KAV2G.js} +2 -2
- package/chunks/{chunk-NW7SPXVG.js → chunk-YBHUXEC6.js} +1 -1
- package/chunks/{chunk-2ASWIM4A.js → chunk-YBVVOSOH.js} +1 -1
- package/chunks/{chunk-62TIEFNN.js → chunk-YCHNAKC5.js} +16 -14
- package/chunks/{chunk-ZRT36RSF.js → chunk-YIGGWOJE.js} +1 -1
- package/chunks/{chunk-ZPZANKVP.js → chunk-YILJKX2T.js} +3 -3
- package/chunks/{chunk-Y2EOB7WZ.js → chunk-YX2RDGAL.js} +1 -1
- package/chunks/{chunk-UQPLUR4A.js → chunk-ZBB5EZZV.js} +2 -2
- package/chunks/{chunk-U7ROFHSH.js → chunk-ZLCT4C5A.js} +1 -1
- package/chunks/{chunk-ZA2JN5IZ.js → chunk-ZMY2P4L3.js} +3 -3
- package/chunks/{chunk-LIBTBTHP.js → chunk-ZQUY3ZJU.js} +4 -4
- package/chunks/{computer-use-J5VUY257.js → computer-use-F4URV4TU.js} +44 -44
- package/chunks/{config-utils-7JZQN6L2.js → config-utils-Z3OW3IQG.js} +4 -4
- package/chunks/{contextCommand-RCTGC36R.js → contextCommand-IGSS2U5J.js} +43 -43
- package/chunks/{core-runtime-REBZ5ZYE.js → core-runtime-H5CZDN3A.js} +41 -41
- package/chunks/{create-sub-session-TEEUROAZ.js → create-sub-session-PA7MFTHK.js} +41 -41
- package/chunks/{create-sub-session-23ULO5PO.js → create-sub-session-XT6DLYOE.js} +2 -2
- package/chunks/{cron-create-5WUTNKNF.js → cron-create-2JZ2TWTF.js} +4 -4
- package/chunks/{cron-delete-JEQ27YPS.js → cron-delete-CTPD2P26.js} +4 -4
- package/chunks/{cron-list-IXGCA7UR.js → cron-list-V44KHAF6.js} +4 -4
- package/chunks/{daemon-UBVOQMWY.js → daemon-GED37WOX.js} +28 -1
- package/chunks/daemon-git-worktree-guard-LZDCNJGV.js +2062 -0
- package/chunks/{daemon-status-provider-SV7KRLJ4.js → daemon-status-provider-QYM57Z44.js} +51 -52
- package/chunks/{daemon-trust-policy-LFUJ4NGF.js → daemon-trust-policy-TSRVEYZR.js} +47 -47
- package/chunks/{daemon-trust-policy-monitor-BQZ77NDD.js → daemon-trust-policy-monitor-2K2YETMT.js} +47 -47
- package/chunks/{deferred-core-runtime-F4XOQJQL.js → deferred-core-runtime-FKJ3OYE7.js} +43 -43
- package/chunks/{devtools-X6ROTKHE.js → devtools-4QFYJT6U.js} +1 -1
- package/chunks/{display-image-CAD7RAUM.js → display-image-M2ELAVN4.js} +4 -4
- package/chunks/{dist-B3ODKYEB.js → dist-4ZPG4BY6.js} +2 -2
- package/chunks/{dist-CCUH2Z4C.js → dist-BROOP2EG.js} +1 -1
- package/chunks/{dist-DANKRAB3.js → dist-IYYN3RUT.js} +2 -2
- package/chunks/{dist-5VDE7U3A.js → dist-JWMKPWT5.js} +3 -1
- package/chunks/{dist-6RK4U6VU.js → dist-K7IQB53U.js} +1 -1
- package/chunks/{dist-EZHCZSW6.js → dist-MAQXAQ2Y.js} +1 -1
- package/chunks/{dist-362MN6CP.js → dist-WJ4BHIEW.js} +2 -2
- package/chunks/{dist-M3XMEIP2.js → dist-YEPL4RAW.js} +1 -1
- package/chunks/{earlyInputCapture-JAJXDT2N.js → earlyInputCapture-WJBSJQUF.js} +42 -42
- package/chunks/{edit-OXBMFY5B.js → edit-X73LA4YO.js} +49 -48
- package/chunks/{enter-worktree-XS4JX4PO.js → enter-worktree-CLRQTIVN.js} +46 -46
- package/chunks/{enterPlanMode-J6PDPFFT.js → enterPlanMode-6BDYUQ5T.js} +47 -47
- package/chunks/{environment-BQW6FAZL.js → environment-WOAJXJDJ.js} +43 -43
- package/chunks/{errors-TMSN7AZN.js → errors-7OY5MXYY.js} +43 -43
- package/chunks/{exit-worktree-2RIE6DAO.js → exit-worktree-TFFJXCRT.js} +46 -46
- package/chunks/{exitPlanMode-QQL27HU4.js → exitPlanMode-WDURQMIU.js} +41 -41
- package/chunks/{external-tool-guard-provider-5HTGOPGU.js → external-tool-guard-provider-TE4DRY36.js} +1 -1
- package/chunks/{fast-path-TSGUVE5K.js → fast-path-QQLGC37M.js} +3 -3
- package/chunks/{gemini-RLTFENFV.js → gemini-VHE62IJL.js} +107 -102
- package/chunks/{geminiContentGenerator-B6W6PSO7.js → geminiContentGenerator-VSHIEGAQ.js} +11 -11
- package/chunks/{glob-JKVAHWL5.js → glob-VMEEDDLO.js} +48 -48
- package/chunks/{goal-tools-LQFO4BRY.js → goal-tools-M4UDAZXP.js} +4 -4
- package/chunks/{grep-6CN23ZPS.js → grep-F4UAR7KX.js} +46 -46
- package/chunks/{handleAutoUpdate-Y6BUNMBG.js → handleAutoUpdate-GN7Z6QAC.js} +45 -45
- package/chunks/{i18n-Y5PM6L5V.js → i18n-ETW24DHW.js} +42 -42
- package/chunks/{image-gen-DC2IQZ73.js → image-gen-YPK2AZT4.js} +11 -11
- package/chunks/{initializer-OYKKBNHO.js → initializer-UA6KQ7MS.js} +48 -48
- package/chunks/{installationInfo-63AFHLWA.js → installationInfo-P7OTIR4P.js} +42 -42
- package/chunks/{keychain-token-storage-GU75J2T2.js → keychain-token-storage-NKKCUHI2.js} +2 -2
- package/chunks/{list-KA63R3R6.js → list-GRAMIQOT.js} +50 -50
- package/chunks/{list-agents-5PNMK2AM.js → list-agents-O6WSY4CT.js} +2 -2
- package/chunks/{loadedSettingsAdapter-IGBJN7C5.js → loadedSettingsAdapter-5O2TDS3I.js} +47 -47
- package/chunks/{loggingContentGenerator-Z3NADCTQ.js → loggingContentGenerator-J2J2AANS.js} +54 -45
- package/chunks/{loop-wakeup-OV65FEGR.js → loop-wakeup-GVQRMUKS.js} +5 -5
- package/chunks/{ls-RPRSX26R.js → ls-6W2D7TKU.js} +6 -6
- package/chunks/{lsp-IWTJWFLT.js → lsp-NJ4KFBI2.js} +2 -2
- package/chunks/{managed-npm-update-HA262PFM.js → managed-npm-update-WMV5ITKU.js} +42 -42
- package/chunks/{mcp-T5ZUOKT3.js → mcp-XLP33CAI.js} +47 -47
- package/chunks/{monitor-SLGY7CYB.js → monitor-2MM23VDV.js} +46 -46
- package/chunks/{node-YSOU44FX.js → node-UUDY34IG.js} +3 -3
- package/chunks/nonInteractiveCli-KTA5K6FS.js +163 -0
- package/chunks/{notebook-edit-STSSB5KQ.js → notebook-edit-QD4TRKLY.js} +46 -46
- package/chunks/{openaiContentGenerator-OQED57JE.js → openaiContentGenerator-KLHSPVN2.js} +30 -30
- package/chunks/{pidfile-GES3MIHH.js → pidfile-RQGZBNXT.js} +42 -42
- package/chunks/{processUtils-FU6VMUOL.js → processUtils-HZZDA2VV.js} +2 -2
- package/chunks/{qwenContentGenerator-HWJSEGUL.js → qwenContentGenerator-T75M2Z3B.js} +49 -49
- package/chunks/{qwenOAuth2-PAIR7XEW.js → qwenOAuth2-5QZU444W.js} +10 -10
- package/chunks/{read-file-IYEBTQT5.js → read-file-LOVUSBJC.js} +11 -11
- package/chunks/{read-mcp-resource-THCSZHXO.js → read-mcp-resource-GWCP23WG.js} +2 -2
- package/chunks/{record-artifact-76YYQA5F.js → record-artifact-IYQDEYMV.js} +3 -3
- package/chunks/{resumeHistoryUtils-WP446RP5.js → resumeHistoryUtils-LVKSSQII.js} +49 -49
- package/chunks/{ripGrep-VV2CRCL2.js → ripGrep-ZJSHKB6H.js} +41 -41
- package/chunks/{run-qwen-serve-AHQCTALV.js → run-qwen-serve-GZW7B4WK.js} +68 -61
- package/chunks/{runtime-AUUZGDK6.js → runtime-MYRXEO2E.js} +52 -52
- package/chunks/{scheduler-Y4UPEURR.js → scheduler-DPTPI6FW.js} +43 -43
- package/chunks/{sdk-exporters-grpc-4QKV6MCX.js → sdk-exporters-grpc-54L4LS5L.js} +2 -2
- package/chunks/{sdk-exporters-http-A7XLKZO7.js → sdk-exporters-http-NHBYB5FZ.js} +12 -12
- package/chunks/{sdk-impl-XO4UF6PR.js → sdk-impl-SK4P5WON.js} +8 -8
- package/chunks/{send-message-P5SLP57G.js → send-message-O7FO63UK.js} +6 -6
- package/chunks/{serve-WI3SE4MY.js → serve-XCG4XCDA.js} +49 -49
- package/chunks/{server-G6JU6UWL.js → server-AWQHKXLG.js} +122 -117
- package/chunks/{session-2AO2UACB.js → session-P5FKNCNR.js} +91 -94
- package/chunks/{settings-3HRWSH66.js → settings-CSYVIP2R.js} +46 -46
- package/chunks/{shell-AR7XFLHA.js → shell-EGTSUO2P.js} +41 -41
- package/chunks/{skill-K6NOUUYM.js → skill-IFUD72GF.js} +21 -21
- package/chunks/{skill-settings-IOXQYS6X.js → skill-settings-YOE7LBHE.js} +46 -46
- package/chunks/{spawnChannel-V6P6HF4V.js → spawnChannel-PQSZIOLY.js} +44 -46
- package/chunks/{standalone-update-K5G3L2OJ.js → standalone-update-RB2EGUSF.js} +43 -43
- package/chunks/{startInteractiveUI-TRRP52QX.js → startInteractiveUI-KMYUJ2MU.js} +3036 -2405
- package/chunks/{syntheticOutput-SEW4NA47.js → syntheticOutput-DVHJMUGV.js} +3 -3
- package/chunks/{task-create-247EAVF7.js → task-create-4NC7PDI4.js} +11 -11
- package/chunks/{task-list-ZJN4QHLK.js → task-list-LBSRMOC7.js} +5 -5
- package/chunks/{task-stop-MAYQJ42I.js → task-stop-YFNATTIM.js} +2 -2
- package/chunks/{task-update-SU5TMZGG.js → task-update-BPLM52GD.js} +12 -12
- package/chunks/{team-create-IEEEBLE2.js → team-create-B6A6MJBT.js} +46 -46
- package/chunks/{team-delete-3XVRPQBP.js → team-delete-MKYMYBFM.js} +5 -5
- package/chunks/{team-plan-approval-SJGNS5JL.js → team-plan-approval-5WO3CXXU.js} +47 -47
- package/chunks/{terminal-image-renderer-C4RQMC67.js → terminal-image-renderer-BTRE2GEU.js} +43 -43
- package/chunks/{theme-manager-IKZQJQ6C.js → theme-manager-XL2N5SBY.js} +42 -42
- package/chunks/{todoWrite-IE2YTCK7.js → todoWrite-K5K7NRE5.js} +4 -4
- package/chunks/{tool-search-4UVNFYWU.js → tool-search-QNBLXUGR.js} +17 -17
- package/chunks/{total-session-admission-DIN6FTZP.js → total-session-admission-N4E5SFBO.js} +47 -47
- package/chunks/{trustedFolders-IAHOLV6A.js → trustedFolders-MQS46LIU.js} +42 -42
- package/chunks/{update-relaunch-5QSJ5CWP.js → update-relaunch-536KRL33.js} +5 -5
- package/chunks/{updateCheck-N4RT7HOZ.js → updateCheck-QJI2SYWF.js} +45 -45
- package/chunks/{useAutoAcceptIndicator-25T26VZS.js → useAutoAcceptIndicator-7QASHD46.js} +50 -50
- package/chunks/{validateNonInterActiveAuth-MCTVPLFE.js → validateNonInterActiveAuth-ZNRGWBLV.js} +83 -85
- package/chunks/{version-6PLZ7PCV.js → version-DBEQAFRW.js} +1 -1
- package/chunks/{web-fetch-5ANX6FSM.js → web-fetch-MBIVXKPE.js} +20 -20
- package/chunks/{web-search-KQJWWRHW.js → web-search-4LBIN6VF.js} +16 -16
- package/chunks/{workflow-C57ZKFUF.js → workflow-LNMA55HY.js} +54 -53
- package/chunks/{workspace-providers-status-3QAE4G4Y.js → workspace-providers-status-PDDMI6ST.js} +50 -50
- package/chunks/{workspace-registration-store-Q3J5LV6T.js → workspace-registration-store-BGRKKIYR.js} +1 -1
- package/chunks/{workspace-registry-DSJ5NAII.js → workspace-registry-L4NCJ34K.js} +47 -47
- package/chunks/{workspace-service-QW5LH7FA.js → workspace-service-LOXYKYTR.js} +53 -53
- package/chunks/{workspace-skills-status-N34ALJPZ.js → workspace-skills-status-IJ5FOQI6.js} +48 -48
- package/chunks/{workspace-trust-reconciler-YTOL7QEV.js → workspace-trust-reconciler-H36TCR2S.js} +55 -55
- package/chunks/{write-file-MSFRVUZB.js → write-file-JJAY7JSP.js} +41 -41
- package/chunks/{zoom-image-4TQA5GHG.js → zoom-image-4MVVVM7E.js} +11 -11
- package/cli.js +18 -17
- package/package.json +3 -3
- package/web-shell/assets/{arc-lZ04kynw.js → arc-B-89zHN4.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1wZVhzD.js → architectureDiagram-3BPJPVTR-BkcOncHk.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CO0e0yJt.js → blockDiagram-GPEHLZMM-DQ4yboaF.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Dfpo6Qie.js → c4Diagram-AAUBKEIU-C_8ZjPDI.js} +1 -1
- package/web-shell/assets/channel-Du2WFns8.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BvxArftT.js → chunk-2J33WTMH-naKVe1Bm.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BS2XXjGY.js → chunk-4BX2VUAB-DdoViKT2.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CYL6h3Ph.js → chunk-55IACEB6-DUDQZEwU.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-C-cWPX30.js → chunk-727SXJPM-BqpDTR5s.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CJLxNbVV.js → chunk-AQP2D5EJ-CdmEknkT.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DwfzKywA.js → chunk-FMBD7UC4-CH7fFTLB.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BI5raYHQ.js → chunk-ND2GUHAM-ObgSuFKF.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-_GkNI90J.js → chunk-QZHKN3VN-D9fKdv_s.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Zw0HafH6.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Zw0HafH6.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BAVLNxh9.js → cose-bilkent-S5V4N54A-CvzATMx9.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BD4XNLqp.js → dagre-BM42HDAG-M_xU21QW.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-WO567p8w.js → diagram-2AECGRRQ-CNrl9sW1.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-mAk23VWO.js → diagram-5GNKFQAL-CUweVT6T.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-YQEeHKze.js → diagram-KO2AKTUF-D3n6Lxjo.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-CMVjxAjv.js → diagram-LMA3HP47-0SeFPK4t.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-42hPvbM-.js → diagram-OG6HWLK6-DAgyEwge.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CXU_cPfu.js → erDiagram-TEJ5UH35-CzxBBDIK.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-D-3TdhMT.js → flowDiagram-I6XJVG4X-B0uj0jyo.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CsgkXolz.js → ganttDiagram-6RSMTGT7-DFzcj5km.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-B6Q3PBLD.js → gitGraphDiagram-PVQCEYII-DylJ_Fc9.js} +1 -1
- package/web-shell/assets/index-BIGQygTL.css +5 -0
- package/web-shell/assets/{index-BFrkGj2B.js → index-BKSAnXU9.js} +1 -1
- package/web-shell/assets/index-J7OMTqAN.js +1789 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-jiAfSXp8.js → infoDiagram-5YYISTIA-BYMcJVMI.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BWif5KeJ.js → ishikawaDiagram-YF4QCWOH-t1quI1S3.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-B-GAZthS.js → journeyDiagram-JHISSGLW-YM_QVUJm.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-9TEuATdL.js → kanban-definition-UN3LZRKU-jw8OddK1.js} +1 -1
- package/web-shell/assets/{linear-dy_QPfyE.js → linear-Dlr3RVuP.js} +1 -1
- package/web-shell/assets/{mermaid.core-DB2uLAnq.js → mermaid.core-CqGKzNzd.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-ey_dyxi-.js → mindmap-definition-RKZ34NQL-BqureoOS.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-_6BuMdDj.js → pieDiagram-4H26LBE5-Da20HkK1.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-B2rM19W2.js → quadrantDiagram-W4KKPZXB-BsNlMvJy.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DWj8b7vW.js → requirementDiagram-4Y6WPE33-DzVCQCse.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5dtYh0N.js → sankeyDiagram-5OEKKPKP-BMo16voT.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DVkdn_qW.js → sequenceDiagram-3UESZ5HK-Bgi-pdHk.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DgwD_fi6.js → stateDiagram-AJRCARHV-xaPQXwGk.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D5RqimXD.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-vNr_1UNX.js → timeline-definition-PNZ67QCA-C_9RuvKG.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-ChFcGAcu.js → vennDiagram-CIIHVFJN-Bgu6vdla.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-C8PXoSWk.js → wardley-L42UT6IY-CFTZ8IrX.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-C2nqOV6i.js → wardleyDiagram-YWT4CUSO-BASW9Vmt.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BntaqhSB.js → xychartDiagram-2RQKCTM6--Nh-CD3F.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-CJNKGZLC.js +0 -649
- package/chunks/chunk-L34XSHIZ.js +0 -28
- package/chunks/chunk-MUN34TTF.js +0 -830
- package/chunks/chunk-N2TNM3QB.js +0 -9
- package/chunks/chunk-O4MVJKSX.js +0 -622
- package/chunks/chunk-WLML6VIA.js +0 -18
- package/chunks/chunk-ZBBVBZBR.js +0 -137
- package/chunks/chunk-bdqvmfwv-OHYAFAAO.js +0 -17446
- package/chunks/dispatch-FW7DX2CR.js +0 -43
- package/chunks/nonInteractiveCli-R5PK5B5G.js +0 -166
- package/chunks/opentui-entry-UTJ6MHDI.js +0 -52344
- package/chunks/runtime-gate-T4ICWGQJ.js +0 -89
- package/chunks/wrapper-46Z24CTM.js +0 -35
- package/web-shell/assets/channel-BxvRq3pV.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-tL8nAxYf.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-tL8nAxYf.js +0 -1
- package/web-shell/assets/index-BgjULKyF.css +0 -5
- package/web-shell/assets/index-CxXlPYfl.js +0 -1789
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWGkVGVB.js +0 -1
- /package/chunks/{chunk-44CTCCLY.js → chunk-NWNEANAT.js} +0 -0
|
@@ -1,37 +1,12 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
BARE_URL_PATTERN,
|
|
5
|
-
MD_LINK_CAPTURE,
|
|
6
|
-
MD_LINK_PATTERN,
|
|
7
|
-
SESSION_PAGE_SIZE,
|
|
8
|
-
TOOL_DISPLAY_BY_NAME,
|
|
9
|
-
TOOL_SUCCESS_RATE_HIGH,
|
|
10
|
-
TOOL_SUCCESS_RATE_MEDIUM,
|
|
11
|
-
USER_AGREEMENT_RATE_HIGH,
|
|
12
|
-
USER_AGREEMENT_RATE_MEDIUM,
|
|
13
|
-
filterSessions,
|
|
14
|
-
flattenModelsBySource,
|
|
15
|
-
formatDuration as formatDuration2,
|
|
16
|
-
formatMessageCount,
|
|
17
|
-
getArenaStatusLabel,
|
|
18
|
-
getStatusColor,
|
|
19
|
-
isSafeOscScheme,
|
|
20
|
-
keyMatchers,
|
|
21
|
-
labelMayDeceive,
|
|
22
|
-
osc8Close,
|
|
23
|
-
osc8Open,
|
|
24
|
-
shouldWrapMarkdownLink,
|
|
25
|
-
trimTrailingUrlPunctuation,
|
|
26
|
-
truncateText
|
|
27
|
-
} from "./chunk-O4MVJKSX.js";
|
|
28
3
|
import {
|
|
29
4
|
formatSupportedModes,
|
|
30
5
|
getCommandDisplayName,
|
|
31
6
|
getCommandSourceBadge,
|
|
32
7
|
getCommandSourceGroup,
|
|
33
8
|
getCommandSubcommandNames
|
|
34
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4XA4QIUA.js";
|
|
35
10
|
import {
|
|
36
11
|
INLINE_CODE_SPAN_PATTERN_SOURCE,
|
|
37
12
|
calculateAverageLatency,
|
|
@@ -46,11 +21,11 @@ import {
|
|
|
46
21
|
readInlineMathSpanAt,
|
|
47
22
|
unescapeMarkdownBeforeMath,
|
|
48
23
|
unescapeMarkdownDollars
|
|
49
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-MDNUCDKZ.js";
|
|
50
25
|
import {
|
|
51
26
|
MINIMUM_MAX_HEIGHT,
|
|
52
27
|
MaxSizedBox
|
|
53
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-CGM3E75C.js";
|
|
54
29
|
import {
|
|
55
30
|
CompactToolGroupDisplay,
|
|
56
31
|
ICON,
|
|
@@ -66,16 +41,21 @@ import {
|
|
|
66
41
|
estimateCompactToolGroupHeight,
|
|
67
42
|
isCollapsibleTool,
|
|
68
43
|
wrapAnsi
|
|
69
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-GXTMEATA.js";
|
|
45
|
+
import {
|
|
46
|
+
formatDuration,
|
|
47
|
+
formatRelativeTime,
|
|
48
|
+
formatTokenCount
|
|
49
|
+
} from "./chunk-3SH53ANB.js";
|
|
70
50
|
import {
|
|
71
51
|
theme
|
|
72
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-OWGRUU7F.js";
|
|
73
53
|
import {
|
|
74
54
|
disableMouseEvents,
|
|
75
55
|
enableMouseEvents,
|
|
76
56
|
useKeypress,
|
|
77
57
|
useKeypressContext
|
|
78
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-56HVDG3M.js";
|
|
79
59
|
import {
|
|
80
60
|
require_jsx_runtime
|
|
81
61
|
} from "./chunk-SV5PQVQE.js";
|
|
@@ -85,7 +65,7 @@ import {
|
|
|
85
65
|
import {
|
|
86
66
|
resolveColor,
|
|
87
67
|
themeManager
|
|
88
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-OYWVIXHT.js";
|
|
89
69
|
import {
|
|
90
70
|
Box_default,
|
|
91
71
|
Static,
|
|
@@ -94,26 +74,26 @@ import {
|
|
|
94
74
|
use_is_screen_reader_enabled_default,
|
|
95
75
|
use_stdin_default,
|
|
96
76
|
use_stdout_default
|
|
97
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-2IIJTXYF.js";
|
|
98
78
|
import {
|
|
99
79
|
require_react
|
|
100
80
|
} from "./chunk-5QWWOFGG.js";
|
|
101
81
|
import {
|
|
102
82
|
getErrorMessage
|
|
103
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-RDVNSJQU.js";
|
|
104
84
|
import {
|
|
105
85
|
markKittyImageWritten,
|
|
106
86
|
prepareInlineTerminalImage,
|
|
107
87
|
renderMermaidImageAsync,
|
|
108
88
|
renderTerminalImage,
|
|
109
89
|
wasKittyImageWritten
|
|
110
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-ZBB5EZZV.js";
|
|
111
91
|
import {
|
|
112
92
|
formatInlineImageOverflow
|
|
113
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-TXP5NGG3.js";
|
|
114
94
|
import {
|
|
115
95
|
relaunchApp
|
|
116
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-DFVXU5YM.js";
|
|
117
97
|
import {
|
|
118
98
|
cpLen,
|
|
119
99
|
cpSlice,
|
|
@@ -130,29 +110,24 @@ import {
|
|
|
130
110
|
import {
|
|
131
111
|
stringWidth
|
|
132
112
|
} from "./chunk-2MIN6GRR.js";
|
|
133
|
-
import {
|
|
134
|
-
formatDuration,
|
|
135
|
-
formatRelativeTime,
|
|
136
|
-
formatTokenCount
|
|
137
|
-
} from "./chunk-3SH53ANB.js";
|
|
138
113
|
import {
|
|
139
114
|
require_has_flag,
|
|
140
115
|
require_source
|
|
141
116
|
} from "./chunk-57OAHC2Y.js";
|
|
142
117
|
import {
|
|
143
118
|
createLoadedSettingsAdapter
|
|
144
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-2IVYL3IF.js";
|
|
145
120
|
import {
|
|
146
121
|
getPersistScopeForModelSelection
|
|
147
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-3GDBZJD6.js";
|
|
148
123
|
import {
|
|
149
124
|
getCurrentLanguage,
|
|
150
125
|
localizeToolDisplayName,
|
|
151
126
|
t
|
|
152
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-IRSLAS4M.js";
|
|
153
128
|
import {
|
|
154
129
|
isWorkspaceTrusted
|
|
155
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-ZMY2P4L3.js";
|
|
156
131
|
import {
|
|
157
132
|
ALL_PROVIDERS,
|
|
158
133
|
IdeClient,
|
|
@@ -175,30 +150,33 @@ import {
|
|
|
175
150
|
resolveBaseUrl,
|
|
176
151
|
resolveMetadataKey,
|
|
177
152
|
resolveOwnsModel
|
|
178
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-EBPLKY6U.js";
|
|
179
154
|
import {
|
|
180
155
|
stripAnsi
|
|
181
156
|
} from "./chunk-TWPJO254.js";
|
|
182
157
|
import {
|
|
158
|
+
sanitizeForOsc,
|
|
159
|
+
supportsHyperlinks,
|
|
160
|
+
wrapForMultiplexer
|
|
161
|
+
} from "./chunk-DG4IQ6JG.js";
|
|
162
|
+
import {
|
|
163
|
+
MAIN_SOURCE,
|
|
183
164
|
formatVisionBridgeNoticeDisplay,
|
|
184
165
|
getMCPServerStatus,
|
|
185
166
|
isVisionBridgeNoticeDisplay,
|
|
186
167
|
uiTelemetryService
|
|
187
|
-
} from "./chunk-
|
|
168
|
+
} from "./chunk-4KM2SYK5.js";
|
|
188
169
|
import {
|
|
170
|
+
ToolDisplayNames,
|
|
189
171
|
ToolNames,
|
|
190
172
|
ToolNamesMigration,
|
|
191
173
|
isTerminalImageDisplay
|
|
192
|
-
} from "./chunk-
|
|
193
|
-
import {
|
|
194
|
-
sanitizeForOsc,
|
|
195
|
-
supportsHyperlinks
|
|
196
|
-
} from "./chunk-CDDLHCC2.js";
|
|
174
|
+
} from "./chunk-YIGGWOJE.js";
|
|
197
175
|
import {
|
|
198
176
|
createDebugLogger,
|
|
199
177
|
escapePath,
|
|
200
178
|
unescapePath
|
|
201
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-HOSVOUDK.js";
|
|
202
180
|
import {
|
|
203
181
|
init_esbuild_shims
|
|
204
182
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2257,15 +2235,78 @@ init_esbuild_shims();
|
|
|
2257
2235
|
init_esbuild_shims();
|
|
2258
2236
|
var import_react6 = __toESM(require_react(), 1);
|
|
2259
2237
|
|
|
2238
|
+
// packages/cli/src/ui/utils/sessionPickerUtils.ts
|
|
2239
|
+
init_esbuild_shims();
|
|
2240
|
+
var graphemeSegmenter = new Intl.Segmenter(void 0, {
|
|
2241
|
+
granularity: "grapheme"
|
|
2242
|
+
});
|
|
2243
|
+
var SESSION_PAGE_SIZE = 20;
|
|
2244
|
+
function truncateText(text, maxWidth) {
|
|
2245
|
+
const widthLimit = Math.max(0, Math.floor(maxWidth));
|
|
2246
|
+
if (widthLimit === 0) {
|
|
2247
|
+
return "";
|
|
2248
|
+
}
|
|
2249
|
+
const firstLine = text.split(/\r?\n/, 1)[0];
|
|
2250
|
+
if (getCachedStringWidth(firstLine) <= widthLimit) {
|
|
2251
|
+
return firstLine;
|
|
2252
|
+
}
|
|
2253
|
+
if (widthLimit <= 3) {
|
|
2254
|
+
return truncateToDisplayWidth(firstLine, widthLimit);
|
|
2255
|
+
}
|
|
2256
|
+
return `${truncateToDisplayWidth(firstLine, widthLimit - 3)}...`;
|
|
2257
|
+
}
|
|
2258
|
+
__name(truncateText, "truncateText");
|
|
2259
|
+
function truncateToDisplayWidth(text, maxWidth) {
|
|
2260
|
+
let width = 0;
|
|
2261
|
+
let result = "";
|
|
2262
|
+
for (const { segment } of graphemeSegmenter.segment(text)) {
|
|
2263
|
+
const segmentWidth = getCachedStringWidth(segment);
|
|
2264
|
+
if (width + segmentWidth > maxWidth) {
|
|
2265
|
+
break;
|
|
2266
|
+
}
|
|
2267
|
+
result += segment;
|
|
2268
|
+
width += segmentWidth;
|
|
2269
|
+
}
|
|
2270
|
+
return result;
|
|
2271
|
+
}
|
|
2272
|
+
__name(truncateToDisplayWidth, "truncateToDisplayWidth");
|
|
2273
|
+
function matchesQuery(session, normalizedQuery) {
|
|
2274
|
+
if (!normalizedQuery) return true;
|
|
2275
|
+
const haystacks = [
|
|
2276
|
+
session.customTitle,
|
|
2277
|
+
session.prompt,
|
|
2278
|
+
session.gitBranch
|
|
2279
|
+
];
|
|
2280
|
+
for (const h of haystacks) {
|
|
2281
|
+
if (h && h.toLowerCase().includes(normalizedQuery)) return true;
|
|
2282
|
+
}
|
|
2283
|
+
return false;
|
|
2284
|
+
}
|
|
2285
|
+
__name(matchesQuery, "matchesQuery");
|
|
2286
|
+
function filterSessions(sessions, filterByBranch, currentBranch, query) {
|
|
2287
|
+
const normalizedQuery = query?.toLowerCase().trim() ?? "";
|
|
2288
|
+
return sessions.filter((session) => {
|
|
2289
|
+
if (filterByBranch && currentBranch) {
|
|
2290
|
+
if (session.gitBranch !== currentBranch) return false;
|
|
2291
|
+
}
|
|
2292
|
+
return matchesQuery(session, normalizedQuery);
|
|
2293
|
+
});
|
|
2294
|
+
}
|
|
2295
|
+
__name(filterSessions, "filterSessions");
|
|
2296
|
+
function formatMessageCount(count) {
|
|
2297
|
+
return count === 1 ? "1 message" : `${count} messages`;
|
|
2298
|
+
}
|
|
2299
|
+
__name(formatMessageCount, "formatMessageCount");
|
|
2300
|
+
|
|
2260
2301
|
// packages/cli/src/ui/hooks/useSessionSearchInput.ts
|
|
2261
2302
|
init_esbuild_shims();
|
|
2262
2303
|
var import_react5 = __toESM(require_react(), 1);
|
|
2263
2304
|
var DELETION_KEY_NAMES = /* @__PURE__ */ new Set(["backspace", "delete"]);
|
|
2264
|
-
var
|
|
2305
|
+
var graphemeSegmenter2 = new Intl.Segmenter(void 0, {
|
|
2265
2306
|
granularity: "grapheme"
|
|
2266
2307
|
});
|
|
2267
2308
|
function splitGraphemes(value) {
|
|
2268
|
-
return Array.from(
|
|
2309
|
+
return Array.from(graphemeSegmenter2.segment(value), ({ segment }) => segment);
|
|
2269
2310
|
}
|
|
2270
2311
|
__name(splitGraphemes, "splitGraphemes");
|
|
2271
2312
|
function removeLastGrapheme(value) {
|
|
@@ -3296,6 +3337,118 @@ function renderInlineLatex(input, depth = 0) {
|
|
|
3296
3337
|
}
|
|
3297
3338
|
__name(renderInlineLatex, "renderInlineLatex");
|
|
3298
3339
|
|
|
3340
|
+
// packages/cli/src/ui/utils/osc8.ts
|
|
3341
|
+
init_esbuild_shims();
|
|
3342
|
+
function osc8Open(url) {
|
|
3343
|
+
return wrapForMultiplexer(`\x1B]8;;${sanitizeForOsc(url)}\x07`);
|
|
3344
|
+
}
|
|
3345
|
+
__name(osc8Open, "osc8Open");
|
|
3346
|
+
function osc8Close() {
|
|
3347
|
+
return wrapForMultiplexer(`\x1B]8;;\x07`);
|
|
3348
|
+
}
|
|
3349
|
+
__name(osc8Close, "osc8Close");
|
|
3350
|
+
var SAFE_OSC8_SCHEMES = /* @__PURE__ */ new Set([
|
|
3351
|
+
"http:",
|
|
3352
|
+
"https:",
|
|
3353
|
+
"mailto:",
|
|
3354
|
+
"ftp:",
|
|
3355
|
+
"ftps:",
|
|
3356
|
+
"sftp:",
|
|
3357
|
+
"ssh:"
|
|
3358
|
+
]);
|
|
3359
|
+
function isSafeOscScheme(url) {
|
|
3360
|
+
const match = url.match(/^([a-z][a-z0-9+.-]*:)/i);
|
|
3361
|
+
if (!match) return false;
|
|
3362
|
+
return SAFE_OSC8_SCHEMES.has(match[1].toLowerCase());
|
|
3363
|
+
}
|
|
3364
|
+
__name(isSafeOscScheme, "isSafeOscScheme");
|
|
3365
|
+
var BARE_URL_BREAK_CHARACTERS = String.raw`\u3001-\u3004\u3008-\u3020\u302e-\u3030\u3036-\u3037\u303d-\u303f\uff01-\uff0f\uff1a-\uff20\uff3b-\uff40\uff5b-\uff65\ufe10-\ufe1f\ufe30-\ufe32\ufe35-\ufe6f`;
|
|
3366
|
+
var BARE_URL_BREAK_PATTERN = new RegExp(`[${BARE_URL_BREAK_CHARACTERS}]`);
|
|
3367
|
+
function trimTrailingUrlPunctuation(url, nextCharacter = "") {
|
|
3368
|
+
let openParen = 0;
|
|
3369
|
+
let openBracket = 0;
|
|
3370
|
+
let openBrace = 0;
|
|
3371
|
+
let closeParen = 0;
|
|
3372
|
+
let closeBracket = 0;
|
|
3373
|
+
let closeBrace = 0;
|
|
3374
|
+
for (let i = 0; i < url.length; i++) {
|
|
3375
|
+
const cc = url.charCodeAt(i);
|
|
3376
|
+
if (cc === 40) openParen++;
|
|
3377
|
+
else if (cc === 91) openBracket++;
|
|
3378
|
+
else if (cc === 123) openBrace++;
|
|
3379
|
+
else if (cc === 41) closeParen++;
|
|
3380
|
+
else if (cc === 93) closeBracket++;
|
|
3381
|
+
else if (cc === 125) closeBrace++;
|
|
3382
|
+
}
|
|
3383
|
+
let end = url.length;
|
|
3384
|
+
if (url.charCodeAt(end - 1) === 95 && BARE_URL_BREAK_PATTERN.test(nextCharacter)) {
|
|
3385
|
+
end--;
|
|
3386
|
+
}
|
|
3387
|
+
while (end > 0) {
|
|
3388
|
+
const c = url.charCodeAt(end - 1);
|
|
3389
|
+
if (c === 46 || c === 44 || c === 59 || c === 58 || c === 33 || c === 63 || c === 39 || c === 34 || c === 96 || c === 62) {
|
|
3390
|
+
end--;
|
|
3391
|
+
continue;
|
|
3392
|
+
}
|
|
3393
|
+
if (c === 41 && closeParen > openParen) {
|
|
3394
|
+
closeParen--;
|
|
3395
|
+
end--;
|
|
3396
|
+
continue;
|
|
3397
|
+
}
|
|
3398
|
+
if (c === 93 && closeBracket > openBracket) {
|
|
3399
|
+
closeBracket--;
|
|
3400
|
+
end--;
|
|
3401
|
+
continue;
|
|
3402
|
+
}
|
|
3403
|
+
if (c === 125 && closeBrace > openBrace) {
|
|
3404
|
+
closeBrace--;
|
|
3405
|
+
end--;
|
|
3406
|
+
continue;
|
|
3407
|
+
}
|
|
3408
|
+
break;
|
|
3409
|
+
}
|
|
3410
|
+
return url.slice(0, end);
|
|
3411
|
+
}
|
|
3412
|
+
__name(trimTrailingUrlPunctuation, "trimTrailingUrlPunctuation");
|
|
3413
|
+
var MD_LINK_PATTERN = String.raw`\[.*?\]\((?:[^()]|\([^()]*\))*\)`;
|
|
3414
|
+
var MD_LINK_CAPTURE = /^\[(.*?)\]\(((?:[^()]|\([^()]*\))*)\)$/;
|
|
3415
|
+
var BARE_URL_PATTERN = String.raw`https?:\/\/[^\s${BARE_URL_BREAK_CHARACTERS}]+`;
|
|
3416
|
+
function shouldWrapMarkdownLink(url, canHyperlink) {
|
|
3417
|
+
return canHyperlink && isSafeOscScheme(url) && !/\s/.test(url);
|
|
3418
|
+
}
|
|
3419
|
+
__name(shouldWrapMarkdownLink, "shouldWrapMarkdownLink");
|
|
3420
|
+
var HOST_LIKE_RE = /\b[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)*\.[a-z]{2,}\b/gi;
|
|
3421
|
+
var IPV4_LIKE_RE = /\b(?:\d{1,3}\.){3}\d{1,3}\b/g;
|
|
3422
|
+
function targetHostname(url) {
|
|
3423
|
+
try {
|
|
3424
|
+
const u = new URL(url);
|
|
3425
|
+
if (u.protocol === "mailto:") {
|
|
3426
|
+
const at = u.pathname.lastIndexOf("@");
|
|
3427
|
+
return at >= 0 ? u.pathname.slice(at + 1).toLowerCase() || void 0 : void 0;
|
|
3428
|
+
}
|
|
3429
|
+
return u.hostname.toLowerCase() || void 0;
|
|
3430
|
+
} catch {
|
|
3431
|
+
return void 0;
|
|
3432
|
+
}
|
|
3433
|
+
}
|
|
3434
|
+
__name(targetHostname, "targetHostname");
|
|
3435
|
+
function labelMayDeceive(label, url) {
|
|
3436
|
+
if (label === url) return false;
|
|
3437
|
+
if (/:\/\//.test(label) || /^[a-z][a-z0-9+.-]*:/i.test(label.trim())) {
|
|
3438
|
+
return true;
|
|
3439
|
+
}
|
|
3440
|
+
const lower = label.toLowerCase();
|
|
3441
|
+
const labelHosts = [
|
|
3442
|
+
...lower.match(HOST_LIKE_RE) ?? [],
|
|
3443
|
+
...lower.match(IPV4_LIKE_RE) ?? []
|
|
3444
|
+
];
|
|
3445
|
+
if (labelHosts.length === 0) return false;
|
|
3446
|
+
const target = targetHostname(url);
|
|
3447
|
+
if (!target) return true;
|
|
3448
|
+
return labelHosts.some((h) => h !== target);
|
|
3449
|
+
}
|
|
3450
|
+
__name(labelMayDeceive, "labelMayDeceive");
|
|
3451
|
+
|
|
3299
3452
|
// packages/cli/src/ui/utils/TableRenderer.tsx
|
|
3300
3453
|
var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
|
|
3301
3454
|
var MIN_COLUMN_WIDTH = 3;
|
|
@@ -6186,6 +6339,66 @@ var RenderTableInternal = /* @__PURE__ */ __name(({
|
|
|
6186
6339
|
var RenderTable = import_react13.default.memo(RenderTableInternal);
|
|
6187
6340
|
var MarkdownDisplay = import_react13.default.memo(MarkdownDisplayInternal);
|
|
6188
6341
|
|
|
6342
|
+
// packages/cli/src/ui/utils/displayUtils.ts
|
|
6343
|
+
init_esbuild_shims();
|
|
6344
|
+
function getArenaStatusLabel(status) {
|
|
6345
|
+
switch (status) {
|
|
6346
|
+
case "idle" /* IDLE */:
|
|
6347
|
+
return { icon: "\u2713", text: "Idle", color: theme.status.success };
|
|
6348
|
+
case "completed" /* COMPLETED */:
|
|
6349
|
+
return { icon: "\u2713", text: "Done", color: theme.status.success };
|
|
6350
|
+
case "cancelled" /* CANCELLED */:
|
|
6351
|
+
return { icon: "\u2298", text: "Cancelled", color: theme.status.warning };
|
|
6352
|
+
case "failed" /* FAILED */:
|
|
6353
|
+
return { icon: "\u2717", text: "Failed", color: theme.status.error };
|
|
6354
|
+
case "running" /* RUNNING */:
|
|
6355
|
+
return {
|
|
6356
|
+
icon: ICON.CIRCLE_EMPTY,
|
|
6357
|
+
text: "Running",
|
|
6358
|
+
color: theme.text.secondary
|
|
6359
|
+
};
|
|
6360
|
+
case "initializing" /* INITIALIZING */:
|
|
6361
|
+
return {
|
|
6362
|
+
icon: ICON.CIRCLE_EMPTY,
|
|
6363
|
+
text: "Initializing",
|
|
6364
|
+
color: theme.text.secondary
|
|
6365
|
+
};
|
|
6366
|
+
default:
|
|
6367
|
+
return {
|
|
6368
|
+
icon: ICON.CIRCLE_EMPTY,
|
|
6369
|
+
text: status,
|
|
6370
|
+
color: theme.text.secondary
|
|
6371
|
+
};
|
|
6372
|
+
}
|
|
6373
|
+
}
|
|
6374
|
+
__name(getArenaStatusLabel, "getArenaStatusLabel");
|
|
6375
|
+
var TOOL_SUCCESS_RATE_HIGH = 95;
|
|
6376
|
+
var TOOL_SUCCESS_RATE_MEDIUM = 85;
|
|
6377
|
+
var USER_AGREEMENT_RATE_HIGH = 75;
|
|
6378
|
+
var USER_AGREEMENT_RATE_MEDIUM = 45;
|
|
6379
|
+
var getStatusColor = /* @__PURE__ */ __name((value, thresholds, options = {}) => {
|
|
6380
|
+
if (value >= thresholds.green) {
|
|
6381
|
+
return theme.status.success;
|
|
6382
|
+
}
|
|
6383
|
+
if (value >= thresholds.yellow) {
|
|
6384
|
+
return theme.status.warning;
|
|
6385
|
+
}
|
|
6386
|
+
if (thresholds.red != null && value >= thresholds.red) {
|
|
6387
|
+
return theme.status.error;
|
|
6388
|
+
}
|
|
6389
|
+
return options.defaultColor ?? theme.status.error;
|
|
6390
|
+
}, "getStatusColor");
|
|
6391
|
+
function formatDuration2(ms) {
|
|
6392
|
+
const totalSeconds = Math.round(ms / 1e3);
|
|
6393
|
+
if (totalSeconds < 60) {
|
|
6394
|
+
return `${totalSeconds}s`;
|
|
6395
|
+
}
|
|
6396
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
6397
|
+
const seconds = totalSeconds % 60;
|
|
6398
|
+
return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
|
|
6399
|
+
}
|
|
6400
|
+
__name(formatDuration2, "formatDuration");
|
|
6401
|
+
|
|
6189
6402
|
// packages/cli/src/ui/components/TerminalImage.tsx
|
|
6190
6403
|
init_esbuild_shims();
|
|
6191
6404
|
var import_react14 = __toESM(require_react(), 1);
|
|
@@ -6985,6 +7198,254 @@ var import_react20 = __toESM(require_react(), 1);
|
|
|
6985
7198
|
// packages/cli/src/ui/hooks/useSelectionList.ts
|
|
6986
7199
|
init_esbuild_shims();
|
|
6987
7200
|
var import_react15 = __toESM(require_react(), 1);
|
|
7201
|
+
|
|
7202
|
+
// packages/cli/src/ui/keyMatchers.ts
|
|
7203
|
+
init_esbuild_shims();
|
|
7204
|
+
|
|
7205
|
+
// packages/cli/src/config/keyBindings.ts
|
|
7206
|
+
init_esbuild_shims();
|
|
7207
|
+
var Command = /* @__PURE__ */ ((Command2) => {
|
|
7208
|
+
Command2["RETURN"] = "return";
|
|
7209
|
+
Command2["ESCAPE"] = "escape";
|
|
7210
|
+
Command2["HOME"] = "home";
|
|
7211
|
+
Command2["END"] = "end";
|
|
7212
|
+
Command2["KILL_LINE_RIGHT"] = "killLineRight";
|
|
7213
|
+
Command2["KILL_LINE_LEFT"] = "killLineLeft";
|
|
7214
|
+
Command2["CLEAR_INPUT"] = "clearInput";
|
|
7215
|
+
Command2["DELETE_WORD_BACKWARD"] = "deleteWordBackward";
|
|
7216
|
+
Command2["CLEAR_SCREEN"] = "clearScreen";
|
|
7217
|
+
Command2["HISTORY_UP"] = "historyUp";
|
|
7218
|
+
Command2["HISTORY_DOWN"] = "historyDown";
|
|
7219
|
+
Command2["NAVIGATION_UP"] = "navigationUp";
|
|
7220
|
+
Command2["NAVIGATION_DOWN"] = "navigationDown";
|
|
7221
|
+
Command2["SELECTION_UP"] = "selectionUp";
|
|
7222
|
+
Command2["SELECTION_DOWN"] = "selectionDown";
|
|
7223
|
+
Command2["ACCEPT_SUGGESTION"] = "acceptSuggestion";
|
|
7224
|
+
Command2["COMPLETION_UP"] = "completionUp";
|
|
7225
|
+
Command2["COMPLETION_DOWN"] = "completionDown";
|
|
7226
|
+
Command2["COMPLETION_TAB_LEFT"] = "completionTabLeft";
|
|
7227
|
+
Command2["COMPLETION_TAB_RIGHT"] = "completionTabRight";
|
|
7228
|
+
Command2["SUBMIT"] = "submit";
|
|
7229
|
+
Command2["QUEUE_MESSAGE"] = "queueMessage";
|
|
7230
|
+
Command2["NEWLINE"] = "newline";
|
|
7231
|
+
Command2["VOICE_PUSH_TO_TALK"] = "voicePushToTalk";
|
|
7232
|
+
Command2["OPEN_EXTERNAL_EDITOR"] = "openExternalEditor";
|
|
7233
|
+
Command2["PASTE_CLIPBOARD_IMAGE"] = "pasteClipboardImage";
|
|
7234
|
+
Command2["TOGGLE_TOOL_DESCRIPTIONS"] = "toggleToolDescriptions";
|
|
7235
|
+
Command2["TOGGLE_IDE_CONTEXT_DETAIL"] = "toggleIDEContextDetail";
|
|
7236
|
+
Command2["QUIT"] = "quit";
|
|
7237
|
+
Command2["EXIT"] = "exit";
|
|
7238
|
+
Command2["SHOW_MORE_LINES"] = "showMoreLines";
|
|
7239
|
+
Command2["RETRY_LAST"] = "retryLast";
|
|
7240
|
+
Command2["TOGGLE_RENDER_MODE"] = "toggleRenderMode";
|
|
7241
|
+
Command2["PROMOTE_SHELL_TO_BACKGROUND"] = "promoteShellToBackground";
|
|
7242
|
+
Command2["REVERSE_SEARCH"] = "reverseSearch";
|
|
7243
|
+
Command2["SUBMIT_REVERSE_SEARCH"] = "submitReverseSearch";
|
|
7244
|
+
Command2["ACCEPT_SUGGESTION_REVERSE_SEARCH"] = "acceptSuggestionReverseSearch";
|
|
7245
|
+
Command2["TOGGLE_SHELL_INPUT_FOCUS"] = "toggleShellInputFocus";
|
|
7246
|
+
Command2["EXPAND_SUGGESTION"] = "expandSuggestion";
|
|
7247
|
+
Command2["COLLAPSE_SUGGESTION"] = "collapseSuggestion";
|
|
7248
|
+
Command2["TOGGLE_THINKING_EXPANDED"] = "toggleThinkingExpanded";
|
|
7249
|
+
Command2["SCROLL_UP"] = "scrollUp";
|
|
7250
|
+
Command2["SCROLL_DOWN"] = "scrollDown";
|
|
7251
|
+
Command2["PAGE_UP"] = "pageUp";
|
|
7252
|
+
Command2["PAGE_DOWN"] = "pageDown";
|
|
7253
|
+
Command2["SCROLL_HOME"] = "scrollHome";
|
|
7254
|
+
Command2["SCROLL_END"] = "scrollEnd";
|
|
7255
|
+
return Command2;
|
|
7256
|
+
})(Command || {});
|
|
7257
|
+
var defaultKeyBindings = {
|
|
7258
|
+
// Basic bindings
|
|
7259
|
+
["return" /* RETURN */]: [{ key: "return" }],
|
|
7260
|
+
["escape" /* ESCAPE */]: [{ key: "escape" }],
|
|
7261
|
+
// Cursor movement
|
|
7262
|
+
["home" /* HOME */]: [{ key: "a", ctrl: true }],
|
|
7263
|
+
["end" /* END */]: [{ key: "e", ctrl: true }],
|
|
7264
|
+
// Text deletion
|
|
7265
|
+
["killLineRight" /* KILL_LINE_RIGHT */]: [{ key: "k", ctrl: true }],
|
|
7266
|
+
["killLineLeft" /* KILL_LINE_LEFT */]: [{ key: "u", ctrl: true }],
|
|
7267
|
+
["clearInput" /* CLEAR_INPUT */]: [{ key: "c", ctrl: true, shift: false }],
|
|
7268
|
+
// Added command (meta/alt/option) for mac compatibility
|
|
7269
|
+
["deleteWordBackward" /* DELETE_WORD_BACKWARD */]: [
|
|
7270
|
+
{ key: "backspace", ctrl: true },
|
|
7271
|
+
{ key: "backspace", command: true },
|
|
7272
|
+
// MinTTY (Git Bash on Windows) emits the byte \x1f (ASCII Unit
|
|
7273
|
+
// Separator, rendered as "^_" by `cat -v`) for Ctrl+Backspace under
|
|
7274
|
+
// its standard Ctrl-modifies-meta-keys convention. The same byte is
|
|
7275
|
+
// the historical Ctrl-mapping of the Unit Separator on traditional
|
|
7276
|
+
// ANSI/VT terminals (Ctrl+_ and Ctrl+/ also emit it), but qwen-code
|
|
7277
|
+
// doesn't bind those keystrokes elsewhere so this entry is additive
|
|
7278
|
+
// and non-conflicting on every platform.
|
|
7279
|
+
{ sequence: "" }
|
|
7280
|
+
],
|
|
7281
|
+
// Screen control
|
|
7282
|
+
["clearScreen" /* CLEAR_SCREEN */]: [{ key: "l", ctrl: true }],
|
|
7283
|
+
// History navigation
|
|
7284
|
+
["historyUp" /* HISTORY_UP */]: [{ key: "p", ctrl: true }],
|
|
7285
|
+
["historyDown" /* HISTORY_DOWN */]: [{ key: "n", ctrl: true }],
|
|
7286
|
+
["navigationUp" /* NAVIGATION_UP */]: [{ key: "up", shift: false }],
|
|
7287
|
+
["navigationDown" /* NAVIGATION_DOWN */]: [{ key: "down", shift: false }],
|
|
7288
|
+
// Selection-list nav: arrows + k/j + Ctrl+P/Ctrl+N
|
|
7289
|
+
// ctrl: false on bare k/j skips Ctrl+K and Ctrl+J
|
|
7290
|
+
["selectionUp" /* SELECTION_UP */]: [
|
|
7291
|
+
{ key: "up", shift: false },
|
|
7292
|
+
{ key: "k", ctrl: false },
|
|
7293
|
+
{ key: "p", ctrl: true }
|
|
7294
|
+
],
|
|
7295
|
+
["selectionDown" /* SELECTION_DOWN */]: [
|
|
7296
|
+
{ key: "down", shift: false },
|
|
7297
|
+
{ key: "j", ctrl: false },
|
|
7298
|
+
{ key: "n", ctrl: true }
|
|
7299
|
+
],
|
|
7300
|
+
// Auto-completion
|
|
7301
|
+
["acceptSuggestion" /* ACCEPT_SUGGESTION */]: [
|
|
7302
|
+
{ key: "tab" },
|
|
7303
|
+
{ key: "return", ctrl: false, shift: false }
|
|
7304
|
+
],
|
|
7305
|
+
// Completion navigation: arrows + readline/Vim-style Ctrl+P/Ctrl+N
|
|
7306
|
+
["completionUp" /* COMPLETION_UP */]: [
|
|
7307
|
+
{ key: "up", shift: false },
|
|
7308
|
+
{ key: "p", ctrl: true }
|
|
7309
|
+
],
|
|
7310
|
+
["completionDown" /* COMPLETION_DOWN */]: [
|
|
7311
|
+
{ key: "down", shift: false },
|
|
7312
|
+
{ key: "n", ctrl: true }
|
|
7313
|
+
],
|
|
7314
|
+
// Completion category tab switching (for the tabbed @ completion UI).
|
|
7315
|
+
// Bound to the BARE arrow keys: Ctrl+←/→ was the original binding but many
|
|
7316
|
+
// terminals intercept it for word-jump, and on macOS the system claims it
|
|
7317
|
+
// for Mission Control, so the documented gesture was unreachable for most
|
|
7318
|
+
// users (#8069).
|
|
7319
|
+
//
|
|
7320
|
+
// Tradeoff, accepted deliberately: while the `@` category tabs are visible,
|
|
7321
|
+
// the bare arrows no longer move the caret in the input buffer — press Esc
|
|
7322
|
+
// to dismiss the menu first. InputPrompt only renders and handles the tabs
|
|
7323
|
+
// when they own the arrows, so search and attachment navigation keep their
|
|
7324
|
+
// normal behavior.
|
|
7325
|
+
//
|
|
7326
|
+
// Modifiers are pinned false so Alt/Option+arrow word movement and any
|
|
7327
|
+
// Ctrl+arrow terminal binding fall through untouched.
|
|
7328
|
+
["completionTabLeft" /* COMPLETION_TAB_LEFT */]: [
|
|
7329
|
+
{ key: "left", shift: false, ctrl: false, meta: false }
|
|
7330
|
+
],
|
|
7331
|
+
["completionTabRight" /* COMPLETION_TAB_RIGHT */]: [
|
|
7332
|
+
{ key: "right", shift: false, ctrl: false, meta: false }
|
|
7333
|
+
],
|
|
7334
|
+
// Text input
|
|
7335
|
+
// Must also exclude shift to allow shift+enter for newline
|
|
7336
|
+
["submit" /* SUBMIT */]: [
|
|
7337
|
+
{
|
|
7338
|
+
key: "return",
|
|
7339
|
+
ctrl: false,
|
|
7340
|
+
command: false,
|
|
7341
|
+
paste: false,
|
|
7342
|
+
shift: false
|
|
7343
|
+
}
|
|
7344
|
+
],
|
|
7345
|
+
["queueMessage" /* QUEUE_MESSAGE */]: [
|
|
7346
|
+
{ key: "q", ctrl: true, command: false, shift: false, paste: false }
|
|
7347
|
+
],
|
|
7348
|
+
// Split into multiple data-driven bindings
|
|
7349
|
+
// Now also includes shift+enter for multi-line input
|
|
7350
|
+
["newline" /* NEWLINE */]: [
|
|
7351
|
+
{ key: "return", ctrl: true },
|
|
7352
|
+
{ key: "return", command: true },
|
|
7353
|
+
{ key: "return", paste: true },
|
|
7354
|
+
{ key: "return", shift: true },
|
|
7355
|
+
{ key: "j", ctrl: true }
|
|
7356
|
+
],
|
|
7357
|
+
["voicePushToTalk" /* VOICE_PUSH_TO_TALK */]: [{ key: "space", ctrl: false, meta: false }],
|
|
7358
|
+
// External tools
|
|
7359
|
+
["openExternalEditor" /* OPEN_EXTERNAL_EDITOR */]: [
|
|
7360
|
+
{ key: "x", ctrl: true },
|
|
7361
|
+
{ sequence: "", ctrl: true }
|
|
7362
|
+
],
|
|
7363
|
+
["pasteClipboardImage" /* PASTE_CLIPBOARD_IMAGE */]: process.platform === "win32" ? [
|
|
7364
|
+
{ key: "v", command: true },
|
|
7365
|
+
{ key: "v", meta: true }
|
|
7366
|
+
] : [
|
|
7367
|
+
{ key: "v", ctrl: true },
|
|
7368
|
+
{ key: "v", command: true }
|
|
7369
|
+
],
|
|
7370
|
+
// App level bindings
|
|
7371
|
+
["toggleToolDescriptions" /* TOGGLE_TOOL_DESCRIPTIONS */]: [{ key: "t", ctrl: true }],
|
|
7372
|
+
["toggleIDEContextDetail" /* TOGGLE_IDE_CONTEXT_DETAIL */]: [{ key: "g", ctrl: true }],
|
|
7373
|
+
["quit" /* QUIT */]: [{ key: "c", ctrl: true, shift: false }],
|
|
7374
|
+
["exit" /* EXIT */]: [{ key: "d", ctrl: true }],
|
|
7375
|
+
["showMoreLines" /* SHOW_MORE_LINES */]: [{ key: "s", ctrl: true }],
|
|
7376
|
+
["retryLast" /* RETRY_LAST */]: [{ key: "y", ctrl: true }],
|
|
7377
|
+
["toggleRenderMode" /* TOGGLE_RENDER_MODE */]: [{ key: "m", meta: true }],
|
|
7378
|
+
["promoteShellToBackground" /* PROMOTE_SHELL_TO_BACKGROUND */]: [{ key: "b", ctrl: true }],
|
|
7379
|
+
// Shell commands
|
|
7380
|
+
["reverseSearch" /* REVERSE_SEARCH */]: [{ key: "r", ctrl: true }],
|
|
7381
|
+
// Note: original logic ONLY checked ctrl=false, ignored meta/shift/paste
|
|
7382
|
+
["submitReverseSearch" /* SUBMIT_REVERSE_SEARCH */]: [{ key: "return", ctrl: false }],
|
|
7383
|
+
["acceptSuggestionReverseSearch" /* ACCEPT_SUGGESTION_REVERSE_SEARCH */]: [{ key: "tab" }],
|
|
7384
|
+
["toggleShellInputFocus" /* TOGGLE_SHELL_INPUT_FOCUS */]: [{ key: "f", ctrl: true }],
|
|
7385
|
+
// Suggestion expansion
|
|
7386
|
+
["expandSuggestion" /* EXPAND_SUGGESTION */]: [{ key: "right" }],
|
|
7387
|
+
["collapseSuggestion" /* COLLAPSE_SUGGESTION */]: [{ key: "left" }],
|
|
7388
|
+
// Thinking expansion (Ctrl+O primary, Alt+T legacy)
|
|
7389
|
+
["toggleThinkingExpanded" /* TOGGLE_THINKING_EXPANDED */]: [
|
|
7390
|
+
{ key: "o", ctrl: true },
|
|
7391
|
+
{ key: "t", meta: true }
|
|
7392
|
+
],
|
|
7393
|
+
// Scroll commands
|
|
7394
|
+
["scrollUp" /* SCROLL_UP */]: [{ key: "up", shift: true }],
|
|
7395
|
+
["scrollDown" /* SCROLL_DOWN */]: [{ key: "down", shift: true }],
|
|
7396
|
+
["pageUp" /* PAGE_UP */]: [{ key: "pageup" }],
|
|
7397
|
+
["pageDown" /* PAGE_DOWN */]: [{ key: "pagedown" }],
|
|
7398
|
+
["scrollHome" /* SCROLL_HOME */]: [{ key: "home", ctrl: true }],
|
|
7399
|
+
["scrollEnd" /* SCROLL_END */]: [{ key: "end", ctrl: true }]
|
|
7400
|
+
};
|
|
7401
|
+
|
|
7402
|
+
// packages/cli/src/ui/keyMatchers.ts
|
|
7403
|
+
function matchKeyBinding(keyBinding, key) {
|
|
7404
|
+
let keyMatches = false;
|
|
7405
|
+
if (keyBinding.key !== void 0) {
|
|
7406
|
+
keyMatches = keyBinding.key === key.name;
|
|
7407
|
+
} else if (keyBinding.sequence !== void 0) {
|
|
7408
|
+
keyMatches = keyBinding.sequence === key.sequence;
|
|
7409
|
+
} else {
|
|
7410
|
+
return false;
|
|
7411
|
+
}
|
|
7412
|
+
if (!keyMatches) {
|
|
7413
|
+
return false;
|
|
7414
|
+
}
|
|
7415
|
+
if (keyBinding.ctrl !== void 0 && !!key.ctrl !== keyBinding.ctrl) {
|
|
7416
|
+
return false;
|
|
7417
|
+
}
|
|
7418
|
+
if (keyBinding.shift !== void 0 && !!key.shift !== keyBinding.shift) {
|
|
7419
|
+
return false;
|
|
7420
|
+
}
|
|
7421
|
+
if (keyBinding.command !== void 0 && !!key.meta !== keyBinding.command) {
|
|
7422
|
+
return false;
|
|
7423
|
+
}
|
|
7424
|
+
if (keyBinding.paste !== void 0 && !!key.paste !== keyBinding.paste) {
|
|
7425
|
+
return false;
|
|
7426
|
+
}
|
|
7427
|
+
if (keyBinding.meta !== void 0 && !!key.meta !== keyBinding.meta) {
|
|
7428
|
+
return false;
|
|
7429
|
+
}
|
|
7430
|
+
return true;
|
|
7431
|
+
}
|
|
7432
|
+
__name(matchKeyBinding, "matchKeyBinding");
|
|
7433
|
+
function matchCommand(command, key, config = defaultKeyBindings) {
|
|
7434
|
+
const bindings = config[command];
|
|
7435
|
+
return bindings.some((binding) => matchKeyBinding(binding, key));
|
|
7436
|
+
}
|
|
7437
|
+
__name(matchCommand, "matchCommand");
|
|
7438
|
+
function createKeyMatchers(config = defaultKeyBindings) {
|
|
7439
|
+
const matchers = {};
|
|
7440
|
+
for (const command of Object.values(Command)) {
|
|
7441
|
+
matchers[command] = (key) => matchCommand(command, key, config);
|
|
7442
|
+
}
|
|
7443
|
+
return matchers;
|
|
7444
|
+
}
|
|
7445
|
+
__name(createKeyMatchers, "createKeyMatchers");
|
|
7446
|
+
var keyMatchers = createKeyMatchers(defaultKeyBindings);
|
|
7447
|
+
|
|
7448
|
+
// packages/cli/src/ui/hooks/useSelectionList.ts
|
|
6988
7449
|
var debugLogger4 = createDebugLogger("SELECTION_LIST");
|
|
6989
7450
|
var NUMBER_INPUT_TIMEOUT_MS = 1e3;
|
|
6990
7451
|
var findNextValidIndex = /* @__PURE__ */ __name((currentIndex, direction, items) => {
|
|
@@ -11712,6 +12173,15 @@ var ShellInputPrompt = /* @__PURE__ */ __name(({
|
|
|
11712
12173
|
return null;
|
|
11713
12174
|
}, "ShellInputPrompt");
|
|
11714
12175
|
|
|
12176
|
+
// packages/cli/src/ui/utils/tool-display-map.ts
|
|
12177
|
+
init_esbuild_shims();
|
|
12178
|
+
var TOOL_DISPLAY_BY_NAME = Object.fromEntries(
|
|
12179
|
+
Object.keys(ToolNames).map((key) => [
|
|
12180
|
+
ToolNames[key],
|
|
12181
|
+
ToolDisplayNames[key]
|
|
12182
|
+
])
|
|
12183
|
+
);
|
|
12184
|
+
|
|
11715
12185
|
// packages/cli/src/ui/components/messages/ToolMessage.tsx
|
|
11716
12186
|
var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
|
|
11717
12187
|
var AGENT_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
@@ -13109,6 +13579,64 @@ function getRenderableGradientColors(...candidates) {
|
|
|
13109
13579
|
}
|
|
13110
13580
|
__name(getRenderableGradientColors, "getRenderableGradientColors");
|
|
13111
13581
|
|
|
13582
|
+
// packages/cli/src/ui/utils/modelsBySource.ts
|
|
13583
|
+
init_esbuild_shims();
|
|
13584
|
+
function flattenModelsBySource(models) {
|
|
13585
|
+
const sessionHasNonMainSource = Object.values(models).some(
|
|
13586
|
+
(modelMetrics) => Object.keys(modelMetrics.bySource).some((source) => source !== MAIN_SOURCE)
|
|
13587
|
+
);
|
|
13588
|
+
const result = [];
|
|
13589
|
+
for (const [modelName, modelMetrics] of Object.entries(models)) {
|
|
13590
|
+
if (modelMetrics.api.totalRequests <= 0) continue;
|
|
13591
|
+
const displayName = normalizeModelName(modelName);
|
|
13592
|
+
const sourceNames = Object.keys(modelMetrics.bySource);
|
|
13593
|
+
if (sourceNames.length === 0) {
|
|
13594
|
+
result.push({
|
|
13595
|
+
key: modelName,
|
|
13596
|
+
label: displayName,
|
|
13597
|
+
metrics: modelMetrics
|
|
13598
|
+
});
|
|
13599
|
+
continue;
|
|
13600
|
+
}
|
|
13601
|
+
if (!sessionHasNonMainSource) {
|
|
13602
|
+
result.push({
|
|
13603
|
+
key: modelName,
|
|
13604
|
+
label: displayName,
|
|
13605
|
+
metrics: modelMetrics.bySource[MAIN_SOURCE] ?? modelMetrics
|
|
13606
|
+
});
|
|
13607
|
+
continue;
|
|
13608
|
+
}
|
|
13609
|
+
const sortedSources = sortSources(sourceNames);
|
|
13610
|
+
for (const source of sortedSources) {
|
|
13611
|
+
result.push({
|
|
13612
|
+
key: `${modelName}::${source}`,
|
|
13613
|
+
label: `${displayName} (${source})`,
|
|
13614
|
+
metrics: modelMetrics.bySource[source]
|
|
13615
|
+
});
|
|
13616
|
+
}
|
|
13617
|
+
}
|
|
13618
|
+
return result;
|
|
13619
|
+
}
|
|
13620
|
+
__name(flattenModelsBySource, "flattenModelsBySource");
|
|
13621
|
+
function normalizeModelName(modelName) {
|
|
13622
|
+
return modelName.replace("-001", "");
|
|
13623
|
+
}
|
|
13624
|
+
__name(normalizeModelName, "normalizeModelName");
|
|
13625
|
+
function sortSources(sources) {
|
|
13626
|
+
const main = [];
|
|
13627
|
+
const rest = [];
|
|
13628
|
+
for (const source of sources) {
|
|
13629
|
+
if (source === MAIN_SOURCE) {
|
|
13630
|
+
main.push(source);
|
|
13631
|
+
} else {
|
|
13632
|
+
rest.push(source);
|
|
13633
|
+
}
|
|
13634
|
+
}
|
|
13635
|
+
rest.sort((a, b) => a.localeCompare(b));
|
|
13636
|
+
return [...main, ...rest];
|
|
13637
|
+
}
|
|
13638
|
+
__name(sortSources, "sortSources");
|
|
13639
|
+
|
|
13112
13640
|
// packages/cli/src/ui/components/StatsDisplay.tsx
|
|
13113
13641
|
var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
|
|
13114
13642
|
var StatRow = /* @__PURE__ */ __name(({ title, children }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Box_default, { children: [
|
|
@@ -17277,6 +17805,7 @@ export {
|
|
|
17277
17805
|
useConfig,
|
|
17278
17806
|
SettingsContext,
|
|
17279
17807
|
useSettings,
|
|
17808
|
+
truncateText,
|
|
17280
17809
|
removeLastGrapheme,
|
|
17281
17810
|
isDeletionKey,
|
|
17282
17811
|
isPrintableSearchChar,
|
|
@@ -17293,8 +17822,15 @@ export {
|
|
|
17293
17822
|
MarkdownDisplay,
|
|
17294
17823
|
consumeLastRenderError,
|
|
17295
17824
|
ErrorBoundary,
|
|
17825
|
+
getArenaStatusLabel,
|
|
17826
|
+
TOOL_SUCCESS_RATE_HIGH,
|
|
17827
|
+
TOOL_SUCCESS_RATE_MEDIUM,
|
|
17828
|
+
USER_AGREEMENT_RATE_HIGH,
|
|
17829
|
+
USER_AGREEMENT_RATE_MEDIUM,
|
|
17830
|
+
getStatusColor,
|
|
17296
17831
|
DiffRenderer,
|
|
17297
17832
|
Colors,
|
|
17833
|
+
keyMatchers,
|
|
17298
17834
|
useSelectionList,
|
|
17299
17835
|
VirtualViewportContext,
|
|
17300
17836
|
useVirtualViewport,
|
|
@@ -17314,6 +17850,7 @@ export {
|
|
|
17314
17850
|
renderSoftwareCursor,
|
|
17315
17851
|
TextInput,
|
|
17316
17852
|
ToolConfirmationMessage,
|
|
17853
|
+
TOOL_DISPLAY_BY_NAME,
|
|
17317
17854
|
dist_default,
|
|
17318
17855
|
AboutBox,
|
|
17319
17856
|
dist_default2,
|
|
@@ -17358,12 +17895,12 @@ export {
|
|
|
17358
17895
|
*/
|
|
17359
17896
|
/**
|
|
17360
17897
|
* @license
|
|
17361
|
-
* Copyright
|
|
17898
|
+
* Copyright 2025 Qwen
|
|
17362
17899
|
* SPDX-License-Identifier: Apache-2.0
|
|
17363
17900
|
*/
|
|
17364
17901
|
/**
|
|
17365
17902
|
* @license
|
|
17366
|
-
* Copyright
|
|
17903
|
+
* Copyright 2026 Qwen Team
|
|
17367
17904
|
* SPDX-License-Identifier: Apache-2.0
|
|
17368
17905
|
*/
|
|
17369
17906
|
/**
|