@qwen-code/qwen-code 0.21.12-preview.5 → 0.21.13
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/configuration/settings.md +7 -5
- 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/features/code-review.md +13 -12
- package/bundled/qc-helper/docs/qwen-serve.md +65 -0
- package/bundled/review/SKILL.md +96 -68
- package/chunks/{MaxSizedBox-6STELMXN.js → MaxSizedBox-UQALOVVT.js} +46 -46
- package/chunks/{StandaloneSessionPicker-LXMGCAIF.js → StandaloneSessionPicker-KEGXNUG6.js} +68 -69
- package/chunks/{acp-startup-profiler-TVI2OVUN.js → acp-startup-profiler-NMDXYGDN.js} +2 -2
- package/chunks/{acpAgent-NFRP4O5A.js → acpAgent-XPES32S7.js} +804 -380
- package/chunks/{agent-4AGYD6I6.js → agent-DPTOZFEM.js} +42 -42
- package/chunks/{agent-headless-GH4UIDXU.js → agent-headless-GJCQMURW.js} +42 -42
- package/chunks/{anthropicContentGenerator-ZBBX5VMY.js → anthropicContentGenerator-G7BVXTKN.js} +25 -25
- package/chunks/{artifact-tool-RWJAKYBZ.js → artifact-tool-GEXTOPVO.js} +5 -5
- package/chunks/{askUserQuestion-IQCA2SOX.js → askUserQuestion-B33XRSB7.js} +2 -2
- package/chunks/{bridge-3S4SKXSQ.js → bridge-YNQBAA4Z.js} +48 -48
- package/chunks/{build-RZS65IIX.js → build-GDBLPA24.js} +1 -1
- package/chunks/{channel-management-service-5ZYX4ROW.js → channel-management-service-GWY2GAIC.js} +4 -4
- package/chunks/{channel-settings-store-62E3TWVK.js → channel-settings-store-WNWYFHG7.js} +49 -49
- package/chunks/{channel-worker-group-QFJKXO7R.js → channel-worker-group-7LXCMZ77.js} +6 -6
- package/chunks/{channel-worker-manager-PWD2UURZ.js → channel-worker-manager-RYEME4ZZ.js} +6 -6
- package/chunks/{channel-worker-supervisor-XQJBGFCM.js → channel-worker-supervisor-OEVWBHGT.js} +4 -4
- package/chunks/{chunk-LHOG4E6Y.js → chunk-22C7BQ6D.js} +3 -3
- package/chunks/{chunk-KTWUFHS4.js → chunk-25EYDK42.js} +3 -3
- package/chunks/{chunk-QEWAHAW2.js → chunk-2B2BF7P7.js} +3 -3
- package/chunks/{chunk-2SB4SLKC.js → chunk-2IIJTXYF.js} +1 -3
- package/chunks/{chunk-6LDLDK6E.js → chunk-2M55OBEB.js} +1 -3
- package/chunks/{chunk-V3NMFQD2.js → chunk-3EZLLVDF.js} +2 -2
- package/chunks/{chunk-HUDUANHL.js → chunk-3U3VAL47.js} +1 -1
- package/chunks/{chunk-BKHCW2BI.js → chunk-3VUENPWF.js} +10 -0
- package/chunks/{chunk-XY7DGTIC.js → chunk-45NQKMYB.js} +1 -1
- package/chunks/{chunk-VGGNHRYZ.js → chunk-4PKCUT7F.js} +7 -7
- package/chunks/{chunk-T7YMWGFY.js → chunk-4S5337WV.js} +1491 -711
- package/chunks/{chunk-FVHLDSQS.js → chunk-4W5U2TUT.js} +3 -3
- package/chunks/{chunk-6SU6OW5Z.js → chunk-5CVO7YES.js} +1 -1
- package/chunks/{chunk-OZTGLK53.js → chunk-5EYKMUUY.js} +1 -1
- package/chunks/{chunk-ZRT36RSF.js → chunk-6HY6IF3Z.js} +1 -1
- package/chunks/{chunk-HRAFAUM7.js → chunk-6ORZ2EDC.js} +3 -3
- package/chunks/{chunk-JOVJCXN4.js → chunk-6QFDQMQX.js} +1 -1
- package/chunks/{chunk-CPTIJGUK.js → chunk-6YKYPVDV.js} +4 -4
- package/chunks/{chunk-62OKKUOX.js → chunk-76J3IJ3M.js} +9 -7
- package/chunks/{chunk-JVY7FHUZ.js → chunk-7U5G6JXI.js} +9 -0
- package/chunks/{chunk-TIM7NVEO.js → chunk-7UXUJ5T3.js} +1 -1
- package/chunks/{chunk-YCGXJ4Q3.js → chunk-A267JX7H.js} +6 -6
- package/chunks/{chunk-4JS2QK7P.js → chunk-A4MFR4C5.js} +1 -1
- package/chunks/{chunk-TN3REXN4.js → chunk-A4QRWUDE.js} +79 -36
- package/chunks/{chunk-JW5UEE3V.js → chunk-A6NRNRKE.js} +1 -1
- package/chunks/{chunk-T4G33L3W.js → chunk-AA2BEKV3.js} +3 -3
- package/chunks/{chunk-M3DWLXEO.js → chunk-AFSG32D5.js} +1 -1
- package/chunks/{chunk-R4YAQULI.js → chunk-AS5IN4GK.js} +5 -5
- package/chunks/{chunk-ADJDLEVO.js → chunk-AW27A43Y.js} +9 -11
- package/chunks/{chunk-RIDUB2GC.js → chunk-AW4TRXOC.js} +1 -1
- package/chunks/{chunk-XL6GYJL2.js → chunk-AXN7UPYQ.js} +2 -2
- package/chunks/{chunk-M4NWDIFU.js → chunk-AZQ3DT76.js} +1 -1
- package/chunks/{chunk-OSA2TFDI.js → chunk-BHILXOC3.js} +3 -3
- package/chunks/{chunk-YMIQ24FR.js → chunk-BKPPWD33.js} +2 -2
- package/chunks/{chunk-YMB77M76.js → chunk-BUQDLC2G.js} +59 -0
- package/chunks/{chunk-DXXYMK2U.js → chunk-BVJS5BSP.js} +1 -1
- package/chunks/{chunk-EGB2PIYM.js → chunk-BZ263IKX.js} +1 -1
- package/chunks/{chunk-6OJDN5ZT.js → chunk-CHHABXPE.js} +1 -1
- package/chunks/{chunk-ZPZANKVP.js → chunk-CKSJECTU.js} +4 -4
- package/chunks/{chunk-H6BFLALJ.js → chunk-CPHEPGAO.js} +1 -1
- package/chunks/{chunk-V6PERRH4.js → chunk-CU6GJD55.js} +1 -1
- package/chunks/{chunk-ZZ7RUTJ4.js → chunk-CZBYX5MY.js} +1 -1
- package/chunks/{chunk-2OFDCPMS.js → chunk-DGK6P3BQ.js} +13 -13
- package/chunks/{chunk-NM33GGOM.js → chunk-DGZEMW5R.js} +3 -3
- package/chunks/{chunk-UPUAGRKY.js → chunk-DXIBNLBZ.js} +2 -4
- package/chunks/{chunk-J5SUM3ZJ.js → chunk-E23IPNGS.js} +25 -2
- package/chunks/{chunk-TNETSI2A.js → chunk-E3DYKPYZ.js} +3 -3
- package/chunks/{chunk-3MJ44LNC.js → chunk-EL5SXY3T.js} +265 -138
- package/chunks/{chunk-AFKOAHC3.js → chunk-EZ5RP345.js} +13 -11
- package/chunks/{chunk-PSTHNTHF.js → chunk-FAAUPSY2.js} +1 -1
- package/chunks/{chunk-NW7SPXVG.js → chunk-FDGGZIYW.js} +1 -1
- package/chunks/{chunk-6YSSQFHQ.js → chunk-GGDBMYGZ.js} +5 -5
- package/chunks/{chunk-CDDLHCC2.js → chunk-GMIEIY3Y.js} +5 -5
- package/chunks/{chunk-6JFPUJ2O.js → chunk-GO7STP6N.js} +4 -4
- package/chunks/{chunk-7JL5YBSA.js → chunk-H4A72DE5.js} +1 -1
- package/chunks/{chunk-I3UEXUWJ.js → chunk-HUTNYWBG.js} +2 -2
- package/chunks/{chunk-UQPLUR4A.js → chunk-IA2K2HJE.js} +2 -2
- package/chunks/{chunk-Q7VJUIIB.js → chunk-IGGGG5CX.js} +4104 -1293
- package/chunks/{chunk-VE2UV7IN.js → chunk-IWPYVAO2.js} +4 -4
- package/chunks/{chunk-HAR4G5K2.js → chunk-JNDY2MDR.js} +2 -2
- package/chunks/{chunk-UALXTL5Y.js → chunk-JOOFMXGF.js} +6 -6
- package/chunks/{chunk-HOXEJHJQ.js → chunk-JUEPY766.js} +3 -3
- package/chunks/{chunk-Q7YDKOGY.js → chunk-JVEGA3MM.js} +1 -1
- package/chunks/{chunk-QBJYSIQ4.js → chunk-K3LPAED5.js} +53 -12
- package/chunks/{chunk-UHF5VBKO.js → chunk-KBXKR5R2.js} +1 -1
- package/chunks/{chunk-32SNBMNP.js → chunk-KD5BOPLP.js} +27 -27
- package/chunks/{chunk-67F2BEYW.js → chunk-KV27IEHM.js} +1 -1
- package/chunks/{chunk-DLDVO2NY.js → chunk-LJQAUZMR.js} +360 -174
- package/chunks/{chunk-BNRIQWXW.js → chunk-M732YJPW.js} +7 -7
- package/chunks/{chunk-JRTJEGSP.js → chunk-MA2HEDVP.js} +1 -1
- package/chunks/{chunk-5IW3FJGD.js → chunk-MC4TLKEI.js} +2 -2
- package/chunks/{chunk-2ASWIM4A.js → chunk-MIPFDQAF.js} +1 -1
- package/chunks/{chunk-6GTKI2YX.js → chunk-MLPXSYXR.js} +133 -28
- package/chunks/{chunk-KRXPRVGL.js → chunk-MLXTMF7H.js} +0 -1
- package/chunks/{chunk-NNGCKJAD.js → chunk-MRMJCLIY.js} +3 -3
- package/chunks/{chunk-E7XJWIWC.js → chunk-N5YPT6PH.js} +7 -7
- package/chunks/{chunk-72SKJ3E7.js → chunk-NEFOOD54.js} +3 -3
- package/chunks/{chunk-2U3UCXZ3.js → chunk-NHDR76JX.js} +45 -13
- package/chunks/{chunk-QLFTWYTO.js → chunk-NM5V5OVW.js} +3 -3
- package/chunks/{chunk-N4LVA3S6.js → chunk-NNHNLJ2X.js} +840 -60
- package/chunks/chunk-NYWWQ437.js +24 -0
- package/chunks/{chunk-DGNQ5AFX.js → chunk-O4D7SPJN.js} +2 -2
- package/chunks/{chunk-YY23TR4M.js → chunk-O565M6A4.js} +411 -10
- package/chunks/{chunk-VUTOV2HG.js → chunk-OD2WU5QY.js} +4 -3
- package/chunks/{chunk-B66LYK4B.js → chunk-OMLJNPBE.js} +42 -12
- package/chunks/{chunk-WAF6AR5Y.js → chunk-OOQUVWIG.js} +4 -4
- package/chunks/{chunk-A6GQUQ7I.js → chunk-OVZPVYZB.js} +2 -2
- package/chunks/{chunk-VPZMLGD3.js → chunk-OXCMMLED.js} +5 -5
- package/chunks/{chunk-646ZB2TS.js → chunk-OY5RNSV4.js} +3 -3
- package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
- package/chunks/{chunk-O6SLWH4X.js → chunk-P7MPQI75.js} +2 -2
- package/chunks/{chunk-3HXLH5QV.js → chunk-PP4FUZNV.js} +47 -4
- package/chunks/{chunk-4XX2LZ3E.js → chunk-PQ36L4F5.js} +1 -1
- package/chunks/{chunk-SKRHR6N2.js → chunk-PT4I7NBA.js} +1 -1
- package/chunks/{chunk-KQLW7LLV.js → chunk-QF2NHSPB.js} +603 -66
- package/chunks/{chunk-KK3FEHPJ.js → chunk-QFJ5JHQR.js} +1 -1
- package/chunks/{chunk-N2G4RA77.js → chunk-QIH2HAEN.js} +1 -1
- package/chunks/{chunk-QSWDGAIC.js → chunk-QILD6R27.js} +1 -1
- package/chunks/{chunk-NHZF4VCD.js → chunk-QNQAPSN2.js} +1 -1
- package/chunks/{chunk-6DH5YA3X.js → chunk-QRCNA3SR.js} +8 -8
- package/chunks/{chunk-3RC5Q66G.js → chunk-QV5YN5YD.js} +7 -5
- package/chunks/{chunk-7TKNMQ6L.js → chunk-RIAABG2K.js} +2 -2
- package/chunks/{chunk-LYRA6ZTI.js → chunk-RLKC46YT.js} +138 -11
- package/chunks/{chunk-YI5G32RU.js → chunk-ROIYNTHJ.js} +3 -3
- package/chunks/{chunk-UAAWNTOC.js → chunk-RVOJ2FBP.js} +12 -12
- package/chunks/{chunk-SNHBRO4C.js → chunk-RWDNJBWN.js} +2 -2
- package/chunks/{chunk-UFHPAMAV.js → chunk-S5DWMTHO.js} +11 -1
- package/chunks/{chunk-TROB4PZY.js → chunk-SG7ZP5PG.js} +4 -4
- package/chunks/{chunk-E74YSVIN.js → chunk-SXCOEJO4.js} +1 -1
- package/chunks/{chunk-U5C2GIN2.js → chunk-TIGA2IVL.js} +117 -3
- package/chunks/chunk-TS6625XH.js +488 -0
- package/chunks/{chunk-EHXS5MAC.js → chunk-TUGSVUJB.js} +7 -7
- package/chunks/{chunk-E3GLDLYB.js → chunk-TYAMGABM.js} +0 -6
- package/chunks/{chunk-ZLX7FTZQ.js → chunk-U3VNBPUO.js} +3 -3
- package/chunks/{chunk-F7PTQFTB.js → chunk-UKMR3CKV.js} +4 -4
- package/chunks/{chunk-7WUMS2UA.js → chunk-UPDOZBWO.js} +1 -1
- package/chunks/{chunk-YK4O72LT.js → chunk-UZPM4XHR.js} +4 -4
- package/chunks/{chunk-VKEA37IR.js → chunk-V26NVGAU.js} +1 -1
- package/chunks/{chunk-IJCZP2MA.js → chunk-V57QC6WW.js} +3 -3
- package/chunks/{chunk-LSMCI42W.js → chunk-WFSTRPRO.js} +3 -3
- package/chunks/{chunk-5KZNWF2M.js → chunk-WGHHA7ZH.js} +1 -1
- package/chunks/{chunk-A4BAHMJF.js → chunk-WSH6GRKG.js} +4 -4
- package/chunks/{chunk-OK727E5D.js → chunk-X26JYGTD.js} +1 -1
- package/chunks/{chunk-VAPNUDD5.js → chunk-XHRY7BXD.js} +4 -4
- package/chunks/{chunk-XNL23MGG.js → chunk-XIT3GURH.js} +3 -3
- package/chunks/{chunk-2RTRFLWH.js → chunk-XLLKYULU.js} +6 -6
- package/chunks/{chunk-C2DR57L6.js → chunk-XUJNK7Y6.js} +1 -1
- package/chunks/{chunk-AAZWJAPQ.js → chunk-Y3YCSWG5.js} +2 -2
- package/chunks/{chunk-ZTBFA7I6.js → chunk-YEYY7TEP.js} +7 -7
- package/chunks/{chunk-FTGU6G45.js → chunk-YZHRN3CF.js} +2 -2
- package/chunks/{chunk-2N6CV4PW.js → chunk-YZOSNW4R.js} +1 -1
- package/chunks/{chunk-U7ROFHSH.js → chunk-ZLCT4C5A.js} +1 -1
- package/chunks/{chunk-VBKTP7TH.js → chunk-ZYBBISBY.js} +15 -34
- package/chunks/{chunk-7ATQGA6V.js → chunk-ZYYTZUI2.js} +6 -6
- package/chunks/{chunk-RXX5T3IF.js → chunk-ZZO74WKW.js} +44 -8
- package/chunks/{computer-use-ZFBJYSR3.js → computer-use-77C5FHMW.js} +45 -45
- package/chunks/{config-utils-7JZQN6L2.js → config-utils-IVHRSXWI.js} +4 -4
- package/chunks/{contextCommand-G3TAIY7T.js → contextCommand-PJ77GBWL.js} +44 -44
- package/chunks/{core-runtime-K3MQVNSF.js → core-runtime-7VMIKUTG.js} +42 -42
- package/chunks/{create-sub-session-DMTLJPDG.js → create-sub-session-2L5MQRN4.js} +42 -42
- package/chunks/{create-sub-session-23ULO5PO.js → create-sub-session-KRQULJE6.js} +2 -2
- package/chunks/{cron-create-5WUTNKNF.js → cron-create-H7UEPDSN.js} +4 -4
- package/chunks/{cron-delete-JEQ27YPS.js → cron-delete-6SZK7YFM.js} +4 -4
- package/chunks/{cron-list-IXGCA7UR.js → cron-list-H25JIHEZ.js} +4 -4
- package/chunks/{daemon-UBVOQMWY.js → daemon-2KTG7ZBN.js} +108 -9
- package/chunks/daemon-git-worktree-guard-DXYIMWFT.js +2062 -0
- package/chunks/{daemon-status-provider-KFLEZGD7.js → daemon-status-provider-ZDOYJCU6.js} +52 -53
- package/chunks/{daemon-trust-policy-ZZ6DRDAC.js → daemon-trust-policy-E67OYUK2.js} +48 -48
- package/chunks/{daemon-trust-policy-monitor-CIKHNV2K.js → daemon-trust-policy-monitor-RYYGCQ3J.js} +48 -48
- package/chunks/{deferred-core-runtime-MM7X7UYR.js → deferred-core-runtime-3SGXFXEQ.js} +44 -44
- package/chunks/{devtools-X6ROTKHE.js → devtools-4QFYJT6U.js} +1 -1
- package/chunks/discovery-ORA5J7YP.js +27 -0
- package/chunks/{display-image-CAD7RAUM.js → display-image-ON3EYFRD.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-O77TUBIF.js → earlyInputCapture-KJMLFVQV.js} +43 -43
- package/chunks/{edit-CZ23AVP6.js → edit-I4LQFAEC.js} +50 -49
- package/chunks/{enter-worktree-4EMS7IRL.js → enter-worktree-YNPOJSRH.js} +47 -47
- package/chunks/{enterPlanMode-TS6KO6DU.js → enterPlanMode-XCPK62ER.js} +47 -47
- package/chunks/{environment-7JAXEU6I.js → environment-S7CTIHMX.js} +44 -44
- package/chunks/{errors-NBABPF4S.js → errors-7HB2AIDS.js} +44 -44
- package/chunks/{exit-worktree-Q3NFHYUI.js → exit-worktree-AIIY7SR6.js} +47 -47
- package/chunks/{exitPlanMode-4JH6WLKL.js → exitPlanMode-R4JY7V2O.js} +42 -42
- package/chunks/{external-tool-guard-provider-5HTGOPGU.js → external-tool-guard-provider-TE4DRY36.js} +1 -1
- package/chunks/{fast-path-5LFDLPHJ.js → fast-path-NDJV3ZFJ.js} +3 -3
- package/chunks/{gemini-MB4S7YLN.js → gemini-RSUFP5OE.js} +108 -103
- package/chunks/{geminiContentGenerator-EQY2QU7K.js → geminiContentGenerator-SQ5XBPZ7.js} +11 -11
- package/chunks/{glob-LA5XO2H7.js → glob-J4RUJAHX.js} +49 -49
- package/chunks/{goal-tools-LQFO4BRY.js → goal-tools-VHTNVOKK.js} +56 -12
- package/chunks/{grep-KYBZMY36.js → grep-VJWPLFOT.js} +47 -47
- package/chunks/{handleAutoUpdate-HZJSAUNC.js → handleAutoUpdate-POCX2MNB.js} +46 -46
- package/chunks/{i18n-BSCIN4J4.js → i18n-RM5YOICI.js} +43 -43
- package/chunks/{image-gen-HGURQAHX.js → image-gen-EXECB5XM.js} +11 -11
- package/chunks/{initializer-WUHJXIB3.js → initializer-Z2AFGBNR.js} +49 -49
- package/chunks/{installationInfo-G3PDBWG2.js → installationInfo-4I5FXNMH.js} +43 -43
- package/chunks/{keychain-token-storage-GU75J2T2.js → keychain-token-storage-3XFJ5ZB2.js} +2 -2
- package/chunks/{list-IC7KDSZ6.js → list-ZMBFIGZA.js} +51 -51
- package/chunks/{list-agents-5PNMK2AM.js → list-agents-OSVDFI6S.js} +2 -2
- package/chunks/{loadedSettingsAdapter-Z3GOJRI7.js → loadedSettingsAdapter-T6TV4YJ7.js} +48 -48
- package/chunks/{loggingContentGenerator-E2QENFPH.js → loggingContentGenerator-WF4ZOJEZ.js} +99 -66
- package/chunks/{loop-wakeup-OV65FEGR.js → loop-wakeup-WQS6JYAG.js} +5 -5
- package/chunks/{ls-RPRSX26R.js → ls-D3HUFHDP.js} +6 -6
- package/chunks/{lsp-IWTJWFLT.js → lsp-3QDDJTCS.js} +2 -2
- package/chunks/{managed-npm-update-MX2OPCW4.js → managed-npm-update-E7IW6N7V.js} +43 -43
- package/chunks/{mcp-QQEWPNWV.js → mcp-6UNYX4HG.js} +48 -48
- package/chunks/{monitor-SV64FNV3.js → monitor-EE2UYMGE.js} +47 -47
- package/chunks/{node-YSOU44FX.js → node-UUDY34IG.js} +3 -3
- package/chunks/nonInteractiveCli-WAY237O4.js +163 -0
- package/chunks/{notebook-edit-QPYSWPRI.js → notebook-edit-NTDY4QDU.js} +47 -47
- package/chunks/{openaiContentGenerator-CMZXOSVA.js → openaiContentGenerator-YNFVJMRJ.js} +30 -30
- package/chunks/{pidfile-D5UXVVAI.js → pidfile-4XSFLYBZ.js} +43 -43
- package/chunks/{processUtils-ZEIMIVPX.js → processUtils-WDA2MJFD.js} +2 -2
- package/chunks/proper-lockfile-3LHWIM44.js +8 -0
- package/chunks/{qwenContentGenerator-JAXZKB7R.js → qwenContentGenerator-434M7QKY.js} +50 -50
- package/chunks/{qwenOAuth2-C2QWTD2G.js → qwenOAuth2-GMYZOO6A.js} +10 -10
- package/chunks/{read-file-2V5GE6ZW.js → read-file-TAFBKMNI.js} +11 -11
- package/chunks/{read-mcp-resource-THCSZHXO.js → read-mcp-resource-XD54ZQMC.js} +2 -2
- package/chunks/{record-artifact-76YYQA5F.js → record-artifact-SEYFJEJF.js} +3 -3
- package/chunks/{resumeHistoryUtils-UZ7GHPNY.js → resumeHistoryUtils-EVG3WYK2.js} +50 -50
- package/chunks/{ripGrep-MUTMPQSV.js → ripGrep-WOEK2PXS.js} +42 -42
- package/chunks/{run-qwen-serve-WU43JKEA.js → run-qwen-serve-3QSGRXAN.js} +417 -208
- package/chunks/{runtime-YLOFDP2P.js → runtime-5MLLZ7DC.js} +53 -53
- package/chunks/{scheduler-G44OPSZE.js → scheduler-RPBJ63CH.js} +44 -44
- package/chunks/{sdk-exporters-grpc-4QKV6MCX.js → sdk-exporters-grpc-54L4LS5L.js} +2 -2
- package/chunks/{sdk-exporters-http-A7XLKZO7.js → sdk-exporters-http-XUVP63H6.js} +12 -12
- package/chunks/{sdk-impl-XO4UF6PR.js → sdk-impl-YXUEN2Z2.js} +8 -8
- package/chunks/{send-message-P5SLP57G.js → send-message-VZENRWRH.js} +6 -6
- package/chunks/{serve-CZQDBDYV.js → serve-HS3XLPXU.js} +50 -50
- package/chunks/{server-HGI2KF3Y.js → server-TC4A7AAZ.js} +3850 -1630
- package/chunks/{session-OVMSHAO5.js → session-UBOFXVMN.js} +92 -95
- package/chunks/{settings-TWX6ROGP.js → settings-D5644OM5.js} +47 -47
- package/chunks/{shell-JDSWGVC7.js → shell-3PZULQQV.js} +42 -42
- package/chunks/{skill-QILHTMYJ.js → skill-PEVVXQ3L.js} +22 -22
- package/chunks/{skill-settings-RKRD34RZ.js → skill-settings-J65JKKES.js} +47 -47
- package/chunks/{spawnChannel-V5PYSDEI.js → spawnChannel-IYGXRHSQ.js} +45 -47
- package/chunks/{standalone-update-Y52CWCGG.js → standalone-update-IFM53PE7.js} +44 -44
- package/chunks/{startInteractiveUI-RVA62ZM6.js → startInteractiveUI-3AVH7L6H.js} +3340 -2460
- package/chunks/{syntheticOutput-SEW4NA47.js → syntheticOutput-7GWFIDXT.js} +3 -3
- package/chunks/{task-create-247EAVF7.js → task-create-FCBDX7UH.js} +12 -12
- package/chunks/{task-list-ZJN4QHLK.js → task-list-YIYIUFUA.js} +6 -6
- package/chunks/{task-stop-MAYQJ42I.js → task-stop-X37KYTKB.js} +2 -2
- package/chunks/{task-update-SU5TMZGG.js → task-update-MYPFVOVM.js} +12 -12
- package/chunks/{team-create-YMWUDIE3.js → team-create-ZAIA7KAV.js} +47 -47
- package/chunks/{team-delete-3XVRPQBP.js → team-delete-6UMU4XLS.js} +6 -6
- package/chunks/{team-plan-approval-3GPZAW46.js → team-plan-approval-UNIUS7OD.js} +47 -47
- package/chunks/{terminal-image-renderer-UGQKWDM3.js → terminal-image-renderer-G343P2RV.js} +44 -44
- package/chunks/{theme-manager-KRG4GGFY.js → theme-manager-Z3RIT7DB.js} +43 -43
- package/chunks/{todoWrite-IE2YTCK7.js → todoWrite-U2R4NVF4.js} +4 -4
- package/chunks/{tool-search-SZRO5G72.js → tool-search-5R2OE4C7.js} +17 -17
- package/chunks/{total-session-admission-JYHYOKWX.js → total-session-admission-4KBHMQQ2.js} +48 -48
- package/chunks/{trustedFolders-2BDCB5NJ.js → trustedFolders-LK6T4XC7.js} +43 -43
- package/chunks/{update-relaunch-XSYVPSDL.js → update-relaunch-UBKROIC6.js} +5 -5
- package/chunks/{updateCheck-SMMJ27GG.js → updateCheck-W4Y2GFSD.js} +45 -45
- package/chunks/{useAutoAcceptIndicator-HPG4UFIZ.js → useAutoAcceptIndicator-C7BEICBF.js} +51 -51
- package/chunks/{validateNonInterActiveAuth-IIL774NT.js → validateNonInterActiveAuth-LTEI2TB6.js} +84 -86
- package/chunks/{version-WSGAB2PA.js → version-G5A5DGVS.js} +1 -1
- package/chunks/{web-fetch-LKC2F5DM.js → web-fetch-RTEQTR5Z.js} +20 -20
- package/chunks/{web-search-BHMAMXEU.js → web-search-5OXHEZPV.js} +16 -16
- package/chunks/{workflow-A7AQ52HO.js → workflow-ISQJHPG2.js} +54 -53
- package/chunks/{workspace-providers-status-JRT57TLL.js → workspace-providers-status-2ZPZPUPZ.js} +51 -51
- package/chunks/{workspace-registration-store-EACJNCM5.js → workspace-registration-store-CYNY6IP6.js} +2 -2
- package/chunks/{workspace-registry-OV5SI4ES.js → workspace-registry-34GTUUHB.js} +50 -49
- package/chunks/{workspace-service-PUHU4EEK.js → workspace-service-XCDQLE2Y.js} +53 -53
- package/chunks/{workspace-skills-status-YAJE3UW3.js → workspace-skills-status-RS4O7AIJ.js} +49 -49
- package/chunks/{workspace-trust-reconciler-JP5UR2H6.js → workspace-trust-reconciler-AYGXC7A3.js} +57 -56
- package/chunks/{write-file-UBIHUP5M.js → write-file-EWXKVVXF.js} +42 -42
- package/chunks/{zoom-image-4QTKAMTP.js → zoom-image-4BFYJ3HG.js} +11 -11
- package/cli.js +18 -17
- package/package.json +3 -3
- package/web-shell/assets/{arc-lZ04kynw.js → arc-CgOpDKvm.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1wZVhzD.js → architectureDiagram-3BPJPVTR-0Ag_m34F.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CO0e0yJt.js → blockDiagram-GPEHLZMM-IwTwFau0.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Dfpo6Qie.js → c4Diagram-AAUBKEIU-DLa5GUv8.js} +1 -1
- package/web-shell/assets/channel-BrGVBa2L.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BvxArftT.js → chunk-2J33WTMH-DcYP-WFG.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BS2XXjGY.js → chunk-4BX2VUAB-C8MVPMiQ.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CYL6h3Ph.js → chunk-55IACEB6-BUi4Yfv3.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-C-cWPX30.js → chunk-727SXJPM-Cy3Su2YY.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CJLxNbVV.js → chunk-AQP2D5EJ-Dp8Teqv6.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DwfzKywA.js → chunk-FMBD7UC4-BDTDM-4j.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BI5raYHQ.js → chunk-ND2GUHAM-7HfDt0r2.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-_GkNI90J.js → chunk-QZHKN3VN-BIBU0uCF.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BAVLNxh9.js → cose-bilkent-S5V4N54A-DRLdcg9p.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BD4XNLqp.js → dagre-BM42HDAG-DCCgDwqW.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-WO567p8w.js → diagram-2AECGRRQ-CsBTBmk3.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-mAk23VWO.js → diagram-5GNKFQAL-C9qjH8Lt.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-YQEeHKze.js → diagram-KO2AKTUF-Brjs_lj2.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-CMVjxAjv.js → diagram-LMA3HP47-DtiWCl_F.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-42hPvbM-.js → diagram-OG6HWLK6-DmfKLkBT.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CXU_cPfu.js → erDiagram-TEJ5UH35-Bve_4deH.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-D-3TdhMT.js → flowDiagram-I6XJVG4X-C2_kXCcV.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CsgkXolz.js → ganttDiagram-6RSMTGT7-BSBIjiTF.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-B6Q3PBLD.js → gitGraphDiagram-PVQCEYII-CyebwI55.js} +1 -1
- package/web-shell/assets/index-CIDsgxTe.js +1792 -0
- package/web-shell/assets/index-DiQnWi_E.css +5 -0
- package/web-shell/assets/{index-BFrkGj2B.js → index-d0yfnV1M.js} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-jiAfSXp8.js → infoDiagram-5YYISTIA-CSDGnWxU.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BWif5KeJ.js → ishikawaDiagram-YF4QCWOH-BK4jU13p.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-B-GAZthS.js → journeyDiagram-JHISSGLW-D_W6j-oF.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-9TEuATdL.js → kanban-definition-UN3LZRKU-C7xf-SdC.js} +1 -1
- package/web-shell/assets/{linear-dy_QPfyE.js → linear-DQmzxpxd.js} +1 -1
- package/web-shell/assets/{mermaid.core-DB2uLAnq.js → mermaid.core-9P7AGOLG.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-ey_dyxi-.js → mindmap-definition-RKZ34NQL-DgcgMyPk.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-_6BuMdDj.js → pieDiagram-4H26LBE5-3wWGb9eG.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-B2rM19W2.js → quadrantDiagram-W4KKPZXB-BeCXnQw9.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DWj8b7vW.js → requirementDiagram-4Y6WPE33-Bi1UOHDz.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5dtYh0N.js → sankeyDiagram-5OEKKPKP-lrLUjjbb.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DVkdn_qW.js → sequenceDiagram-3UESZ5HK-BFuqKz6Q.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DgwD_fi6.js → stateDiagram-AJRCARHV-8DemQLhu.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-vNr_1UNX.js → timeline-definition-PNZ67QCA-uzEuVQXg.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-ChFcGAcu.js → vennDiagram-CIIHVFJN-BQTeZ_-o.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-C8PXoSWk.js → wardley-L42UT6IY-B6yM5Im7.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-C2nqOV6i.js → wardleyDiagram-YWT4CUSO-ChM8bmgn.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BntaqhSB.js → xychartDiagram-2RQKCTM6-oNG6HyB1.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-5PLOQW7H.js +0 -830
- package/chunks/chunk-DMODRHNL.js +0 -649
- package/chunks/chunk-L34XSHIZ.js +0 -28
- package/chunks/chunk-N2TNM3QB.js +0 -9
- package/chunks/chunk-RECPKBBD.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/discovery-XLHITE74.js +0 -220
- package/chunks/dispatch-FW7DX2CR.js +0 -43
- package/chunks/nonInteractiveCli-3XFIFXBR.js +0 -166
- package/chunks/opentui-entry-TEHHLGN7.js +0 -52419
- 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-RECPKBBD.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-AFSG32D5.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-O4D7SPJN.js";
|
|
50
25
|
import {
|
|
51
26
|
MINIMUM_MAX_HEIGHT,
|
|
52
27
|
MaxSizedBox
|
|
53
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-BHILXOC3.js";
|
|
54
29
|
import {
|
|
55
30
|
CompactToolGroupDisplay,
|
|
56
31
|
ICON,
|
|
@@ -66,26 +41,24 @@ import {
|
|
|
66
41
|
estimateCompactToolGroupHeight,
|
|
67
42
|
isCollapsibleTool,
|
|
68
43
|
wrapAnsi
|
|
69
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-ZYBBISBY.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-6QFDQMQX.js";
|
|
73
53
|
import {
|
|
74
54
|
disableMouseEvents,
|
|
75
55
|
enableMouseEvents,
|
|
76
56
|
useKeypress,
|
|
77
57
|
useKeypressContext
|
|
78
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-M732YJPW.js";
|
|
79
59
|
import {
|
|
80
60
|
require_jsx_runtime
|
|
81
61
|
} from "./chunk-SV5PQVQE.js";
|
|
82
|
-
import {
|
|
83
|
-
isTerminalGoalStatusKind
|
|
84
|
-
} from "./chunk-EKTCKZV5.js";
|
|
85
|
-
import {
|
|
86
|
-
resolveColor,
|
|
87
|
-
themeManager
|
|
88
|
-
} from "./chunk-6LDLDK6E.js";
|
|
89
62
|
import {
|
|
90
63
|
Box_default,
|
|
91
64
|
Static,
|
|
@@ -94,26 +67,33 @@ import {
|
|
|
94
67
|
use_is_screen_reader_enabled_default,
|
|
95
68
|
use_stdin_default,
|
|
96
69
|
use_stdout_default
|
|
97
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-2IIJTXYF.js";
|
|
71
|
+
import {
|
|
72
|
+
relaunchApp
|
|
73
|
+
} from "./chunk-PQ36L4F5.js";
|
|
74
|
+
import {
|
|
75
|
+
isTerminalGoalStatusKind
|
|
76
|
+
} from "./chunk-EKTCKZV5.js";
|
|
77
|
+
import {
|
|
78
|
+
resolveColor,
|
|
79
|
+
themeManager
|
|
80
|
+
} from "./chunk-2M55OBEB.js";
|
|
98
81
|
import {
|
|
99
82
|
require_react
|
|
100
83
|
} from "./chunk-5QWWOFGG.js";
|
|
101
84
|
import {
|
|
102
85
|
getErrorMessage
|
|
103
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-JUEPY766.js";
|
|
104
87
|
import {
|
|
105
88
|
markKittyImageWritten,
|
|
106
89
|
prepareInlineTerminalImage,
|
|
107
90
|
renderMermaidImageAsync,
|
|
108
91
|
renderTerminalImage,
|
|
109
92
|
wasKittyImageWritten
|
|
110
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-IA2K2HJE.js";
|
|
111
94
|
import {
|
|
112
95
|
formatInlineImageOverflow
|
|
113
|
-
} from "./chunk-
|
|
114
|
-
import {
|
|
115
|
-
relaunchApp
|
|
116
|
-
} from "./chunk-4XX2LZ3E.js";
|
|
96
|
+
} from "./chunk-SXCOEJO4.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-BVJS5BSP.js";
|
|
145
120
|
import {
|
|
146
121
|
getPersistScopeForModelSelection
|
|
147
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-A267JX7H.js";
|
|
148
123
|
import {
|
|
149
124
|
getCurrentLanguage,
|
|
150
125
|
localizeToolDisplayName,
|
|
151
126
|
t
|
|
152
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-HUTNYWBG.js";
|
|
153
128
|
import {
|
|
154
129
|
isWorkspaceTrusted
|
|
155
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-IWPYVAO2.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-4S5337WV.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-GMIEIY3Y.js";
|
|
162
|
+
import {
|
|
163
|
+
MAIN_SOURCE,
|
|
183
164
|
formatVisionBridgeNoticeDisplay,
|
|
184
165
|
getMCPServerStatus,
|
|
185
166
|
isVisionBridgeNoticeDisplay,
|
|
186
167
|
uiTelemetryService
|
|
187
|
-
} from "./chunk-
|
|
168
|
+
} from "./chunk-RVOJ2FBP.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-6HY6IF3Z.js";
|
|
197
175
|
import {
|
|
198
176
|
createDebugLogger,
|
|
199
177
|
escapePath,
|
|
200
178
|
unescapePath
|
|
201
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-BUQDLC2G.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
|
/**
|