@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.
Files changed (347) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +7 -5
  2. package/bundled/qc-helper/docs/features/channels/overview.md +1 -1
  3. package/bundled/qc-helper/docs/features/channels/plugins.md +11 -11
  4. package/bundled/qc-helper/docs/features/code-review.md +13 -12
  5. package/bundled/qc-helper/docs/qwen-serve.md +65 -0
  6. package/bundled/review/SKILL.md +96 -68
  7. package/chunks/{MaxSizedBox-6STELMXN.js → MaxSizedBox-UQALOVVT.js} +46 -46
  8. package/chunks/{StandaloneSessionPicker-LXMGCAIF.js → StandaloneSessionPicker-KEGXNUG6.js} +68 -69
  9. package/chunks/{acp-startup-profiler-TVI2OVUN.js → acp-startup-profiler-NMDXYGDN.js} +2 -2
  10. package/chunks/{acpAgent-NFRP4O5A.js → acpAgent-XPES32S7.js} +804 -380
  11. package/chunks/{agent-4AGYD6I6.js → agent-DPTOZFEM.js} +42 -42
  12. package/chunks/{agent-headless-GH4UIDXU.js → agent-headless-GJCQMURW.js} +42 -42
  13. package/chunks/{anthropicContentGenerator-ZBBX5VMY.js → anthropicContentGenerator-G7BVXTKN.js} +25 -25
  14. package/chunks/{artifact-tool-RWJAKYBZ.js → artifact-tool-GEXTOPVO.js} +5 -5
  15. package/chunks/{askUserQuestion-IQCA2SOX.js → askUserQuestion-B33XRSB7.js} +2 -2
  16. package/chunks/{bridge-3S4SKXSQ.js → bridge-YNQBAA4Z.js} +48 -48
  17. package/chunks/{build-RZS65IIX.js → build-GDBLPA24.js} +1 -1
  18. package/chunks/{channel-management-service-5ZYX4ROW.js → channel-management-service-GWY2GAIC.js} +4 -4
  19. package/chunks/{channel-settings-store-62E3TWVK.js → channel-settings-store-WNWYFHG7.js} +49 -49
  20. package/chunks/{channel-worker-group-QFJKXO7R.js → channel-worker-group-7LXCMZ77.js} +6 -6
  21. package/chunks/{channel-worker-manager-PWD2UURZ.js → channel-worker-manager-RYEME4ZZ.js} +6 -6
  22. package/chunks/{channel-worker-supervisor-XQJBGFCM.js → channel-worker-supervisor-OEVWBHGT.js} +4 -4
  23. package/chunks/{chunk-LHOG4E6Y.js → chunk-22C7BQ6D.js} +3 -3
  24. package/chunks/{chunk-KTWUFHS4.js → chunk-25EYDK42.js} +3 -3
  25. package/chunks/{chunk-QEWAHAW2.js → chunk-2B2BF7P7.js} +3 -3
  26. package/chunks/{chunk-2SB4SLKC.js → chunk-2IIJTXYF.js} +1 -3
  27. package/chunks/{chunk-6LDLDK6E.js → chunk-2M55OBEB.js} +1 -3
  28. package/chunks/{chunk-V3NMFQD2.js → chunk-3EZLLVDF.js} +2 -2
  29. package/chunks/{chunk-HUDUANHL.js → chunk-3U3VAL47.js} +1 -1
  30. package/chunks/{chunk-BKHCW2BI.js → chunk-3VUENPWF.js} +10 -0
  31. package/chunks/{chunk-XY7DGTIC.js → chunk-45NQKMYB.js} +1 -1
  32. package/chunks/{chunk-VGGNHRYZ.js → chunk-4PKCUT7F.js} +7 -7
  33. package/chunks/{chunk-T7YMWGFY.js → chunk-4S5337WV.js} +1491 -711
  34. package/chunks/{chunk-FVHLDSQS.js → chunk-4W5U2TUT.js} +3 -3
  35. package/chunks/{chunk-6SU6OW5Z.js → chunk-5CVO7YES.js} +1 -1
  36. package/chunks/{chunk-OZTGLK53.js → chunk-5EYKMUUY.js} +1 -1
  37. package/chunks/{chunk-ZRT36RSF.js → chunk-6HY6IF3Z.js} +1 -1
  38. package/chunks/{chunk-HRAFAUM7.js → chunk-6ORZ2EDC.js} +3 -3
  39. package/chunks/{chunk-JOVJCXN4.js → chunk-6QFDQMQX.js} +1 -1
  40. package/chunks/{chunk-CPTIJGUK.js → chunk-6YKYPVDV.js} +4 -4
  41. package/chunks/{chunk-62OKKUOX.js → chunk-76J3IJ3M.js} +9 -7
  42. package/chunks/{chunk-JVY7FHUZ.js → chunk-7U5G6JXI.js} +9 -0
  43. package/chunks/{chunk-TIM7NVEO.js → chunk-7UXUJ5T3.js} +1 -1
  44. package/chunks/{chunk-YCGXJ4Q3.js → chunk-A267JX7H.js} +6 -6
  45. package/chunks/{chunk-4JS2QK7P.js → chunk-A4MFR4C5.js} +1 -1
  46. package/chunks/{chunk-TN3REXN4.js → chunk-A4QRWUDE.js} +79 -36
  47. package/chunks/{chunk-JW5UEE3V.js → chunk-A6NRNRKE.js} +1 -1
  48. package/chunks/{chunk-T4G33L3W.js → chunk-AA2BEKV3.js} +3 -3
  49. package/chunks/{chunk-M3DWLXEO.js → chunk-AFSG32D5.js} +1 -1
  50. package/chunks/{chunk-R4YAQULI.js → chunk-AS5IN4GK.js} +5 -5
  51. package/chunks/{chunk-ADJDLEVO.js → chunk-AW27A43Y.js} +9 -11
  52. package/chunks/{chunk-RIDUB2GC.js → chunk-AW4TRXOC.js} +1 -1
  53. package/chunks/{chunk-XL6GYJL2.js → chunk-AXN7UPYQ.js} +2 -2
  54. package/chunks/{chunk-M4NWDIFU.js → chunk-AZQ3DT76.js} +1 -1
  55. package/chunks/{chunk-OSA2TFDI.js → chunk-BHILXOC3.js} +3 -3
  56. package/chunks/{chunk-YMIQ24FR.js → chunk-BKPPWD33.js} +2 -2
  57. package/chunks/{chunk-YMB77M76.js → chunk-BUQDLC2G.js} +59 -0
  58. package/chunks/{chunk-DXXYMK2U.js → chunk-BVJS5BSP.js} +1 -1
  59. package/chunks/{chunk-EGB2PIYM.js → chunk-BZ263IKX.js} +1 -1
  60. package/chunks/{chunk-6OJDN5ZT.js → chunk-CHHABXPE.js} +1 -1
  61. package/chunks/{chunk-ZPZANKVP.js → chunk-CKSJECTU.js} +4 -4
  62. package/chunks/{chunk-H6BFLALJ.js → chunk-CPHEPGAO.js} +1 -1
  63. package/chunks/{chunk-V6PERRH4.js → chunk-CU6GJD55.js} +1 -1
  64. package/chunks/{chunk-ZZ7RUTJ4.js → chunk-CZBYX5MY.js} +1 -1
  65. package/chunks/{chunk-2OFDCPMS.js → chunk-DGK6P3BQ.js} +13 -13
  66. package/chunks/{chunk-NM33GGOM.js → chunk-DGZEMW5R.js} +3 -3
  67. package/chunks/{chunk-UPUAGRKY.js → chunk-DXIBNLBZ.js} +2 -4
  68. package/chunks/{chunk-J5SUM3ZJ.js → chunk-E23IPNGS.js} +25 -2
  69. package/chunks/{chunk-TNETSI2A.js → chunk-E3DYKPYZ.js} +3 -3
  70. package/chunks/{chunk-3MJ44LNC.js → chunk-EL5SXY3T.js} +265 -138
  71. package/chunks/{chunk-AFKOAHC3.js → chunk-EZ5RP345.js} +13 -11
  72. package/chunks/{chunk-PSTHNTHF.js → chunk-FAAUPSY2.js} +1 -1
  73. package/chunks/{chunk-NW7SPXVG.js → chunk-FDGGZIYW.js} +1 -1
  74. package/chunks/{chunk-6YSSQFHQ.js → chunk-GGDBMYGZ.js} +5 -5
  75. package/chunks/{chunk-CDDLHCC2.js → chunk-GMIEIY3Y.js} +5 -5
  76. package/chunks/{chunk-6JFPUJ2O.js → chunk-GO7STP6N.js} +4 -4
  77. package/chunks/{chunk-7JL5YBSA.js → chunk-H4A72DE5.js} +1 -1
  78. package/chunks/{chunk-I3UEXUWJ.js → chunk-HUTNYWBG.js} +2 -2
  79. package/chunks/{chunk-UQPLUR4A.js → chunk-IA2K2HJE.js} +2 -2
  80. package/chunks/{chunk-Q7VJUIIB.js → chunk-IGGGG5CX.js} +4104 -1293
  81. package/chunks/{chunk-VE2UV7IN.js → chunk-IWPYVAO2.js} +4 -4
  82. package/chunks/{chunk-HAR4G5K2.js → chunk-JNDY2MDR.js} +2 -2
  83. package/chunks/{chunk-UALXTL5Y.js → chunk-JOOFMXGF.js} +6 -6
  84. package/chunks/{chunk-HOXEJHJQ.js → chunk-JUEPY766.js} +3 -3
  85. package/chunks/{chunk-Q7YDKOGY.js → chunk-JVEGA3MM.js} +1 -1
  86. package/chunks/{chunk-QBJYSIQ4.js → chunk-K3LPAED5.js} +53 -12
  87. package/chunks/{chunk-UHF5VBKO.js → chunk-KBXKR5R2.js} +1 -1
  88. package/chunks/{chunk-32SNBMNP.js → chunk-KD5BOPLP.js} +27 -27
  89. package/chunks/{chunk-67F2BEYW.js → chunk-KV27IEHM.js} +1 -1
  90. package/chunks/{chunk-DLDVO2NY.js → chunk-LJQAUZMR.js} +360 -174
  91. package/chunks/{chunk-BNRIQWXW.js → chunk-M732YJPW.js} +7 -7
  92. package/chunks/{chunk-JRTJEGSP.js → chunk-MA2HEDVP.js} +1 -1
  93. package/chunks/{chunk-5IW3FJGD.js → chunk-MC4TLKEI.js} +2 -2
  94. package/chunks/{chunk-2ASWIM4A.js → chunk-MIPFDQAF.js} +1 -1
  95. package/chunks/{chunk-6GTKI2YX.js → chunk-MLPXSYXR.js} +133 -28
  96. package/chunks/{chunk-KRXPRVGL.js → chunk-MLXTMF7H.js} +0 -1
  97. package/chunks/{chunk-NNGCKJAD.js → chunk-MRMJCLIY.js} +3 -3
  98. package/chunks/{chunk-E7XJWIWC.js → chunk-N5YPT6PH.js} +7 -7
  99. package/chunks/{chunk-72SKJ3E7.js → chunk-NEFOOD54.js} +3 -3
  100. package/chunks/{chunk-2U3UCXZ3.js → chunk-NHDR76JX.js} +45 -13
  101. package/chunks/{chunk-QLFTWYTO.js → chunk-NM5V5OVW.js} +3 -3
  102. package/chunks/{chunk-N4LVA3S6.js → chunk-NNHNLJ2X.js} +840 -60
  103. package/chunks/chunk-NYWWQ437.js +24 -0
  104. package/chunks/{chunk-DGNQ5AFX.js → chunk-O4D7SPJN.js} +2 -2
  105. package/chunks/{chunk-YY23TR4M.js → chunk-O565M6A4.js} +411 -10
  106. package/chunks/{chunk-VUTOV2HG.js → chunk-OD2WU5QY.js} +4 -3
  107. package/chunks/{chunk-B66LYK4B.js → chunk-OMLJNPBE.js} +42 -12
  108. package/chunks/{chunk-WAF6AR5Y.js → chunk-OOQUVWIG.js} +4 -4
  109. package/chunks/{chunk-A6GQUQ7I.js → chunk-OVZPVYZB.js} +2 -2
  110. package/chunks/{chunk-VPZMLGD3.js → chunk-OXCMMLED.js} +5 -5
  111. package/chunks/{chunk-646ZB2TS.js → chunk-OY5RNSV4.js} +3 -3
  112. package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
  113. package/chunks/{chunk-O6SLWH4X.js → chunk-P7MPQI75.js} +2 -2
  114. package/chunks/{chunk-3HXLH5QV.js → chunk-PP4FUZNV.js} +47 -4
  115. package/chunks/{chunk-4XX2LZ3E.js → chunk-PQ36L4F5.js} +1 -1
  116. package/chunks/{chunk-SKRHR6N2.js → chunk-PT4I7NBA.js} +1 -1
  117. package/chunks/{chunk-KQLW7LLV.js → chunk-QF2NHSPB.js} +603 -66
  118. package/chunks/{chunk-KK3FEHPJ.js → chunk-QFJ5JHQR.js} +1 -1
  119. package/chunks/{chunk-N2G4RA77.js → chunk-QIH2HAEN.js} +1 -1
  120. package/chunks/{chunk-QSWDGAIC.js → chunk-QILD6R27.js} +1 -1
  121. package/chunks/{chunk-NHZF4VCD.js → chunk-QNQAPSN2.js} +1 -1
  122. package/chunks/{chunk-6DH5YA3X.js → chunk-QRCNA3SR.js} +8 -8
  123. package/chunks/{chunk-3RC5Q66G.js → chunk-QV5YN5YD.js} +7 -5
  124. package/chunks/{chunk-7TKNMQ6L.js → chunk-RIAABG2K.js} +2 -2
  125. package/chunks/{chunk-LYRA6ZTI.js → chunk-RLKC46YT.js} +138 -11
  126. package/chunks/{chunk-YI5G32RU.js → chunk-ROIYNTHJ.js} +3 -3
  127. package/chunks/{chunk-UAAWNTOC.js → chunk-RVOJ2FBP.js} +12 -12
  128. package/chunks/{chunk-SNHBRO4C.js → chunk-RWDNJBWN.js} +2 -2
  129. package/chunks/{chunk-UFHPAMAV.js → chunk-S5DWMTHO.js} +11 -1
  130. package/chunks/{chunk-TROB4PZY.js → chunk-SG7ZP5PG.js} +4 -4
  131. package/chunks/{chunk-E74YSVIN.js → chunk-SXCOEJO4.js} +1 -1
  132. package/chunks/{chunk-U5C2GIN2.js → chunk-TIGA2IVL.js} +117 -3
  133. package/chunks/chunk-TS6625XH.js +488 -0
  134. package/chunks/{chunk-EHXS5MAC.js → chunk-TUGSVUJB.js} +7 -7
  135. package/chunks/{chunk-E3GLDLYB.js → chunk-TYAMGABM.js} +0 -6
  136. package/chunks/{chunk-ZLX7FTZQ.js → chunk-U3VNBPUO.js} +3 -3
  137. package/chunks/{chunk-F7PTQFTB.js → chunk-UKMR3CKV.js} +4 -4
  138. package/chunks/{chunk-7WUMS2UA.js → chunk-UPDOZBWO.js} +1 -1
  139. package/chunks/{chunk-YK4O72LT.js → chunk-UZPM4XHR.js} +4 -4
  140. package/chunks/{chunk-VKEA37IR.js → chunk-V26NVGAU.js} +1 -1
  141. package/chunks/{chunk-IJCZP2MA.js → chunk-V57QC6WW.js} +3 -3
  142. package/chunks/{chunk-LSMCI42W.js → chunk-WFSTRPRO.js} +3 -3
  143. package/chunks/{chunk-5KZNWF2M.js → chunk-WGHHA7ZH.js} +1 -1
  144. package/chunks/{chunk-A4BAHMJF.js → chunk-WSH6GRKG.js} +4 -4
  145. package/chunks/{chunk-OK727E5D.js → chunk-X26JYGTD.js} +1 -1
  146. package/chunks/{chunk-VAPNUDD5.js → chunk-XHRY7BXD.js} +4 -4
  147. package/chunks/{chunk-XNL23MGG.js → chunk-XIT3GURH.js} +3 -3
  148. package/chunks/{chunk-2RTRFLWH.js → chunk-XLLKYULU.js} +6 -6
  149. package/chunks/{chunk-C2DR57L6.js → chunk-XUJNK7Y6.js} +1 -1
  150. package/chunks/{chunk-AAZWJAPQ.js → chunk-Y3YCSWG5.js} +2 -2
  151. package/chunks/{chunk-ZTBFA7I6.js → chunk-YEYY7TEP.js} +7 -7
  152. package/chunks/{chunk-FTGU6G45.js → chunk-YZHRN3CF.js} +2 -2
  153. package/chunks/{chunk-2N6CV4PW.js → chunk-YZOSNW4R.js} +1 -1
  154. package/chunks/{chunk-U7ROFHSH.js → chunk-ZLCT4C5A.js} +1 -1
  155. package/chunks/{chunk-VBKTP7TH.js → chunk-ZYBBISBY.js} +15 -34
  156. package/chunks/{chunk-7ATQGA6V.js → chunk-ZYYTZUI2.js} +6 -6
  157. package/chunks/{chunk-RXX5T3IF.js → chunk-ZZO74WKW.js} +44 -8
  158. package/chunks/{computer-use-ZFBJYSR3.js → computer-use-77C5FHMW.js} +45 -45
  159. package/chunks/{config-utils-7JZQN6L2.js → config-utils-IVHRSXWI.js} +4 -4
  160. package/chunks/{contextCommand-G3TAIY7T.js → contextCommand-PJ77GBWL.js} +44 -44
  161. package/chunks/{core-runtime-K3MQVNSF.js → core-runtime-7VMIKUTG.js} +42 -42
  162. package/chunks/{create-sub-session-DMTLJPDG.js → create-sub-session-2L5MQRN4.js} +42 -42
  163. package/chunks/{create-sub-session-23ULO5PO.js → create-sub-session-KRQULJE6.js} +2 -2
  164. package/chunks/{cron-create-5WUTNKNF.js → cron-create-H7UEPDSN.js} +4 -4
  165. package/chunks/{cron-delete-JEQ27YPS.js → cron-delete-6SZK7YFM.js} +4 -4
  166. package/chunks/{cron-list-IXGCA7UR.js → cron-list-H25JIHEZ.js} +4 -4
  167. package/chunks/{daemon-UBVOQMWY.js → daemon-2KTG7ZBN.js} +108 -9
  168. package/chunks/daemon-git-worktree-guard-DXYIMWFT.js +2062 -0
  169. package/chunks/{daemon-status-provider-KFLEZGD7.js → daemon-status-provider-ZDOYJCU6.js} +52 -53
  170. package/chunks/{daemon-trust-policy-ZZ6DRDAC.js → daemon-trust-policy-E67OYUK2.js} +48 -48
  171. package/chunks/{daemon-trust-policy-monitor-CIKHNV2K.js → daemon-trust-policy-monitor-RYYGCQ3J.js} +48 -48
  172. package/chunks/{deferred-core-runtime-MM7X7UYR.js → deferred-core-runtime-3SGXFXEQ.js} +44 -44
  173. package/chunks/{devtools-X6ROTKHE.js → devtools-4QFYJT6U.js} +1 -1
  174. package/chunks/discovery-ORA5J7YP.js +27 -0
  175. package/chunks/{display-image-CAD7RAUM.js → display-image-ON3EYFRD.js} +4 -4
  176. package/chunks/{dist-B3ODKYEB.js → dist-4ZPG4BY6.js} +2 -2
  177. package/chunks/{dist-CCUH2Z4C.js → dist-BROOP2EG.js} +1 -1
  178. package/chunks/{dist-DANKRAB3.js → dist-IYYN3RUT.js} +2 -2
  179. package/chunks/{dist-5VDE7U3A.js → dist-JWMKPWT5.js} +3 -1
  180. package/chunks/{dist-6RK4U6VU.js → dist-K7IQB53U.js} +1 -1
  181. package/chunks/{dist-EZHCZSW6.js → dist-MAQXAQ2Y.js} +1 -1
  182. package/chunks/{dist-362MN6CP.js → dist-WJ4BHIEW.js} +2 -2
  183. package/chunks/{dist-M3XMEIP2.js → dist-YEPL4RAW.js} +1 -1
  184. package/chunks/{earlyInputCapture-O77TUBIF.js → earlyInputCapture-KJMLFVQV.js} +43 -43
  185. package/chunks/{edit-CZ23AVP6.js → edit-I4LQFAEC.js} +50 -49
  186. package/chunks/{enter-worktree-4EMS7IRL.js → enter-worktree-YNPOJSRH.js} +47 -47
  187. package/chunks/{enterPlanMode-TS6KO6DU.js → enterPlanMode-XCPK62ER.js} +47 -47
  188. package/chunks/{environment-7JAXEU6I.js → environment-S7CTIHMX.js} +44 -44
  189. package/chunks/{errors-NBABPF4S.js → errors-7HB2AIDS.js} +44 -44
  190. package/chunks/{exit-worktree-Q3NFHYUI.js → exit-worktree-AIIY7SR6.js} +47 -47
  191. package/chunks/{exitPlanMode-4JH6WLKL.js → exitPlanMode-R4JY7V2O.js} +42 -42
  192. package/chunks/{external-tool-guard-provider-5HTGOPGU.js → external-tool-guard-provider-TE4DRY36.js} +1 -1
  193. package/chunks/{fast-path-5LFDLPHJ.js → fast-path-NDJV3ZFJ.js} +3 -3
  194. package/chunks/{gemini-MB4S7YLN.js → gemini-RSUFP5OE.js} +108 -103
  195. package/chunks/{geminiContentGenerator-EQY2QU7K.js → geminiContentGenerator-SQ5XBPZ7.js} +11 -11
  196. package/chunks/{glob-LA5XO2H7.js → glob-J4RUJAHX.js} +49 -49
  197. package/chunks/{goal-tools-LQFO4BRY.js → goal-tools-VHTNVOKK.js} +56 -12
  198. package/chunks/{grep-KYBZMY36.js → grep-VJWPLFOT.js} +47 -47
  199. package/chunks/{handleAutoUpdate-HZJSAUNC.js → handleAutoUpdate-POCX2MNB.js} +46 -46
  200. package/chunks/{i18n-BSCIN4J4.js → i18n-RM5YOICI.js} +43 -43
  201. package/chunks/{image-gen-HGURQAHX.js → image-gen-EXECB5XM.js} +11 -11
  202. package/chunks/{initializer-WUHJXIB3.js → initializer-Z2AFGBNR.js} +49 -49
  203. package/chunks/{installationInfo-G3PDBWG2.js → installationInfo-4I5FXNMH.js} +43 -43
  204. package/chunks/{keychain-token-storage-GU75J2T2.js → keychain-token-storage-3XFJ5ZB2.js} +2 -2
  205. package/chunks/{list-IC7KDSZ6.js → list-ZMBFIGZA.js} +51 -51
  206. package/chunks/{list-agents-5PNMK2AM.js → list-agents-OSVDFI6S.js} +2 -2
  207. package/chunks/{loadedSettingsAdapter-Z3GOJRI7.js → loadedSettingsAdapter-T6TV4YJ7.js} +48 -48
  208. package/chunks/{loggingContentGenerator-E2QENFPH.js → loggingContentGenerator-WF4ZOJEZ.js} +99 -66
  209. package/chunks/{loop-wakeup-OV65FEGR.js → loop-wakeup-WQS6JYAG.js} +5 -5
  210. package/chunks/{ls-RPRSX26R.js → ls-D3HUFHDP.js} +6 -6
  211. package/chunks/{lsp-IWTJWFLT.js → lsp-3QDDJTCS.js} +2 -2
  212. package/chunks/{managed-npm-update-MX2OPCW4.js → managed-npm-update-E7IW6N7V.js} +43 -43
  213. package/chunks/{mcp-QQEWPNWV.js → mcp-6UNYX4HG.js} +48 -48
  214. package/chunks/{monitor-SV64FNV3.js → monitor-EE2UYMGE.js} +47 -47
  215. package/chunks/{node-YSOU44FX.js → node-UUDY34IG.js} +3 -3
  216. package/chunks/nonInteractiveCli-WAY237O4.js +163 -0
  217. package/chunks/{notebook-edit-QPYSWPRI.js → notebook-edit-NTDY4QDU.js} +47 -47
  218. package/chunks/{openaiContentGenerator-CMZXOSVA.js → openaiContentGenerator-YNFVJMRJ.js} +30 -30
  219. package/chunks/{pidfile-D5UXVVAI.js → pidfile-4XSFLYBZ.js} +43 -43
  220. package/chunks/{processUtils-ZEIMIVPX.js → processUtils-WDA2MJFD.js} +2 -2
  221. package/chunks/proper-lockfile-3LHWIM44.js +8 -0
  222. package/chunks/{qwenContentGenerator-JAXZKB7R.js → qwenContentGenerator-434M7QKY.js} +50 -50
  223. package/chunks/{qwenOAuth2-C2QWTD2G.js → qwenOAuth2-GMYZOO6A.js} +10 -10
  224. package/chunks/{read-file-2V5GE6ZW.js → read-file-TAFBKMNI.js} +11 -11
  225. package/chunks/{read-mcp-resource-THCSZHXO.js → read-mcp-resource-XD54ZQMC.js} +2 -2
  226. package/chunks/{record-artifact-76YYQA5F.js → record-artifact-SEYFJEJF.js} +3 -3
  227. package/chunks/{resumeHistoryUtils-UZ7GHPNY.js → resumeHistoryUtils-EVG3WYK2.js} +50 -50
  228. package/chunks/{ripGrep-MUTMPQSV.js → ripGrep-WOEK2PXS.js} +42 -42
  229. package/chunks/{run-qwen-serve-WU43JKEA.js → run-qwen-serve-3QSGRXAN.js} +417 -208
  230. package/chunks/{runtime-YLOFDP2P.js → runtime-5MLLZ7DC.js} +53 -53
  231. package/chunks/{scheduler-G44OPSZE.js → scheduler-RPBJ63CH.js} +44 -44
  232. package/chunks/{sdk-exporters-grpc-4QKV6MCX.js → sdk-exporters-grpc-54L4LS5L.js} +2 -2
  233. package/chunks/{sdk-exporters-http-A7XLKZO7.js → sdk-exporters-http-XUVP63H6.js} +12 -12
  234. package/chunks/{sdk-impl-XO4UF6PR.js → sdk-impl-YXUEN2Z2.js} +8 -8
  235. package/chunks/{send-message-P5SLP57G.js → send-message-VZENRWRH.js} +6 -6
  236. package/chunks/{serve-CZQDBDYV.js → serve-HS3XLPXU.js} +50 -50
  237. package/chunks/{server-HGI2KF3Y.js → server-TC4A7AAZ.js} +3850 -1630
  238. package/chunks/{session-OVMSHAO5.js → session-UBOFXVMN.js} +92 -95
  239. package/chunks/{settings-TWX6ROGP.js → settings-D5644OM5.js} +47 -47
  240. package/chunks/{shell-JDSWGVC7.js → shell-3PZULQQV.js} +42 -42
  241. package/chunks/{skill-QILHTMYJ.js → skill-PEVVXQ3L.js} +22 -22
  242. package/chunks/{skill-settings-RKRD34RZ.js → skill-settings-J65JKKES.js} +47 -47
  243. package/chunks/{spawnChannel-V5PYSDEI.js → spawnChannel-IYGXRHSQ.js} +45 -47
  244. package/chunks/{standalone-update-Y52CWCGG.js → standalone-update-IFM53PE7.js} +44 -44
  245. package/chunks/{startInteractiveUI-RVA62ZM6.js → startInteractiveUI-3AVH7L6H.js} +3340 -2460
  246. package/chunks/{syntheticOutput-SEW4NA47.js → syntheticOutput-7GWFIDXT.js} +3 -3
  247. package/chunks/{task-create-247EAVF7.js → task-create-FCBDX7UH.js} +12 -12
  248. package/chunks/{task-list-ZJN4QHLK.js → task-list-YIYIUFUA.js} +6 -6
  249. package/chunks/{task-stop-MAYQJ42I.js → task-stop-X37KYTKB.js} +2 -2
  250. package/chunks/{task-update-SU5TMZGG.js → task-update-MYPFVOVM.js} +12 -12
  251. package/chunks/{team-create-YMWUDIE3.js → team-create-ZAIA7KAV.js} +47 -47
  252. package/chunks/{team-delete-3XVRPQBP.js → team-delete-6UMU4XLS.js} +6 -6
  253. package/chunks/{team-plan-approval-3GPZAW46.js → team-plan-approval-UNIUS7OD.js} +47 -47
  254. package/chunks/{terminal-image-renderer-UGQKWDM3.js → terminal-image-renderer-G343P2RV.js} +44 -44
  255. package/chunks/{theme-manager-KRG4GGFY.js → theme-manager-Z3RIT7DB.js} +43 -43
  256. package/chunks/{todoWrite-IE2YTCK7.js → todoWrite-U2R4NVF4.js} +4 -4
  257. package/chunks/{tool-search-SZRO5G72.js → tool-search-5R2OE4C7.js} +17 -17
  258. package/chunks/{total-session-admission-JYHYOKWX.js → total-session-admission-4KBHMQQ2.js} +48 -48
  259. package/chunks/{trustedFolders-2BDCB5NJ.js → trustedFolders-LK6T4XC7.js} +43 -43
  260. package/chunks/{update-relaunch-XSYVPSDL.js → update-relaunch-UBKROIC6.js} +5 -5
  261. package/chunks/{updateCheck-SMMJ27GG.js → updateCheck-W4Y2GFSD.js} +45 -45
  262. package/chunks/{useAutoAcceptIndicator-HPG4UFIZ.js → useAutoAcceptIndicator-C7BEICBF.js} +51 -51
  263. package/chunks/{validateNonInterActiveAuth-IIL774NT.js → validateNonInterActiveAuth-LTEI2TB6.js} +84 -86
  264. package/chunks/{version-WSGAB2PA.js → version-G5A5DGVS.js} +1 -1
  265. package/chunks/{web-fetch-LKC2F5DM.js → web-fetch-RTEQTR5Z.js} +20 -20
  266. package/chunks/{web-search-BHMAMXEU.js → web-search-5OXHEZPV.js} +16 -16
  267. package/chunks/{workflow-A7AQ52HO.js → workflow-ISQJHPG2.js} +54 -53
  268. package/chunks/{workspace-providers-status-JRT57TLL.js → workspace-providers-status-2ZPZPUPZ.js} +51 -51
  269. package/chunks/{workspace-registration-store-EACJNCM5.js → workspace-registration-store-CYNY6IP6.js} +2 -2
  270. package/chunks/{workspace-registry-OV5SI4ES.js → workspace-registry-34GTUUHB.js} +50 -49
  271. package/chunks/{workspace-service-PUHU4EEK.js → workspace-service-XCDQLE2Y.js} +53 -53
  272. package/chunks/{workspace-skills-status-YAJE3UW3.js → workspace-skills-status-RS4O7AIJ.js} +49 -49
  273. package/chunks/{workspace-trust-reconciler-JP5UR2H6.js → workspace-trust-reconciler-AYGXC7A3.js} +57 -56
  274. package/chunks/{write-file-UBIHUP5M.js → write-file-EWXKVVXF.js} +42 -42
  275. package/chunks/{zoom-image-4QTKAMTP.js → zoom-image-4BFYJ3HG.js} +11 -11
  276. package/cli.js +18 -17
  277. package/package.json +3 -3
  278. package/web-shell/assets/{arc-lZ04kynw.js → arc-CgOpDKvm.js} +1 -1
  279. package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1wZVhzD.js → architectureDiagram-3BPJPVTR-0Ag_m34F.js} +1 -1
  280. package/web-shell/assets/{blockDiagram-GPEHLZMM-CO0e0yJt.js → blockDiagram-GPEHLZMM-IwTwFau0.js} +1 -1
  281. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dfpo6Qie.js → c4Diagram-AAUBKEIU-DLa5GUv8.js} +1 -1
  282. package/web-shell/assets/channel-BrGVBa2L.js +1 -0
  283. package/web-shell/assets/{chunk-2J33WTMH-BvxArftT.js → chunk-2J33WTMH-DcYP-WFG.js} +1 -1
  284. package/web-shell/assets/{chunk-4BX2VUAB-BS2XXjGY.js → chunk-4BX2VUAB-C8MVPMiQ.js} +1 -1
  285. package/web-shell/assets/{chunk-55IACEB6-CYL6h3Ph.js → chunk-55IACEB6-BUi4Yfv3.js} +1 -1
  286. package/web-shell/assets/{chunk-727SXJPM-C-cWPX30.js → chunk-727SXJPM-Cy3Su2YY.js} +1 -1
  287. package/web-shell/assets/{chunk-AQP2D5EJ-CJLxNbVV.js → chunk-AQP2D5EJ-Dp8Teqv6.js} +1 -1
  288. package/web-shell/assets/{chunk-FMBD7UC4-DwfzKywA.js → chunk-FMBD7UC4-BDTDM-4j.js} +1 -1
  289. package/web-shell/assets/{chunk-ND2GUHAM-BI5raYHQ.js → chunk-ND2GUHAM-7HfDt0r2.js} +1 -1
  290. package/web-shell/assets/{chunk-QZHKN3VN-_GkNI90J.js → chunk-QZHKN3VN-BIBU0uCF.js} +1 -1
  291. package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +1 -0
  292. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +1 -0
  293. package/web-shell/assets/{cose-bilkent-S5V4N54A-BAVLNxh9.js → cose-bilkent-S5V4N54A-DRLdcg9p.js} +1 -1
  294. package/web-shell/assets/{dagre-BM42HDAG-BD4XNLqp.js → dagre-BM42HDAG-DCCgDwqW.js} +1 -1
  295. package/web-shell/assets/{diagram-2AECGRRQ-WO567p8w.js → diagram-2AECGRRQ-CsBTBmk3.js} +1 -1
  296. package/web-shell/assets/{diagram-5GNKFQAL-mAk23VWO.js → diagram-5GNKFQAL-C9qjH8Lt.js} +1 -1
  297. package/web-shell/assets/{diagram-KO2AKTUF-YQEeHKze.js → diagram-KO2AKTUF-Brjs_lj2.js} +1 -1
  298. package/web-shell/assets/{diagram-LMA3HP47-CMVjxAjv.js → diagram-LMA3HP47-DtiWCl_F.js} +1 -1
  299. package/web-shell/assets/{diagram-OG6HWLK6-42hPvbM-.js → diagram-OG6HWLK6-DmfKLkBT.js} +1 -1
  300. package/web-shell/assets/{erDiagram-TEJ5UH35-CXU_cPfu.js → erDiagram-TEJ5UH35-Bve_4deH.js} +1 -1
  301. package/web-shell/assets/{flowDiagram-I6XJVG4X-D-3TdhMT.js → flowDiagram-I6XJVG4X-C2_kXCcV.js} +1 -1
  302. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CsgkXolz.js → ganttDiagram-6RSMTGT7-BSBIjiTF.js} +1 -1
  303. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-B6Q3PBLD.js → gitGraphDiagram-PVQCEYII-CyebwI55.js} +1 -1
  304. package/web-shell/assets/index-CIDsgxTe.js +1792 -0
  305. package/web-shell/assets/index-DiQnWi_E.css +5 -0
  306. package/web-shell/assets/{index-BFrkGj2B.js → index-d0yfnV1M.js} +1 -1
  307. package/web-shell/assets/{infoDiagram-5YYISTIA-jiAfSXp8.js → infoDiagram-5YYISTIA-CSDGnWxU.js} +1 -1
  308. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BWif5KeJ.js → ishikawaDiagram-YF4QCWOH-BK4jU13p.js} +1 -1
  309. package/web-shell/assets/{journeyDiagram-JHISSGLW-B-GAZthS.js → journeyDiagram-JHISSGLW-D_W6j-oF.js} +1 -1
  310. package/web-shell/assets/{kanban-definition-UN3LZRKU-9TEuATdL.js → kanban-definition-UN3LZRKU-C7xf-SdC.js} +1 -1
  311. package/web-shell/assets/{linear-dy_QPfyE.js → linear-DQmzxpxd.js} +1 -1
  312. package/web-shell/assets/{mermaid.core-DB2uLAnq.js → mermaid.core-9P7AGOLG.js} +5 -5
  313. package/web-shell/assets/{mindmap-definition-RKZ34NQL-ey_dyxi-.js → mindmap-definition-RKZ34NQL-DgcgMyPk.js} +1 -1
  314. package/web-shell/assets/{pieDiagram-4H26LBE5-_6BuMdDj.js → pieDiagram-4H26LBE5-3wWGb9eG.js} +1 -1
  315. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-B2rM19W2.js → quadrantDiagram-W4KKPZXB-BeCXnQw9.js} +1 -1
  316. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DWj8b7vW.js → requirementDiagram-4Y6WPE33-Bi1UOHDz.js} +1 -1
  317. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5dtYh0N.js → sankeyDiagram-5OEKKPKP-lrLUjjbb.js} +1 -1
  318. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DVkdn_qW.js → sequenceDiagram-3UESZ5HK-BFuqKz6Q.js} +1 -1
  319. package/web-shell/assets/{stateDiagram-AJRCARHV-DgwD_fi6.js → stateDiagram-AJRCARHV-8DemQLhu.js} +1 -1
  320. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +1 -0
  321. package/web-shell/assets/{timeline-definition-PNZ67QCA-vNr_1UNX.js → timeline-definition-PNZ67QCA-uzEuVQXg.js} +1 -1
  322. package/web-shell/assets/{vennDiagram-CIIHVFJN-ChFcGAcu.js → vennDiagram-CIIHVFJN-BQTeZ_-o.js} +1 -1
  323. package/web-shell/assets/{wardley-L42UT6IY-C8PXoSWk.js → wardley-L42UT6IY-B6yM5Im7.js} +1 -1
  324. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-C2nqOV6i.js → wardleyDiagram-YWT4CUSO-ChM8bmgn.js} +1 -1
  325. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BntaqhSB.js → xychartDiagram-2RQKCTM6-oNG6HyB1.js} +1 -1
  326. package/web-shell/index.html +2 -2
  327. package/chunks/chunk-5PLOQW7H.js +0 -830
  328. package/chunks/chunk-DMODRHNL.js +0 -649
  329. package/chunks/chunk-L34XSHIZ.js +0 -28
  330. package/chunks/chunk-N2TNM3QB.js +0 -9
  331. package/chunks/chunk-RECPKBBD.js +0 -622
  332. package/chunks/chunk-WLML6VIA.js +0 -18
  333. package/chunks/chunk-ZBBVBZBR.js +0 -137
  334. package/chunks/chunk-bdqvmfwv-OHYAFAAO.js +0 -17446
  335. package/chunks/discovery-XLHITE74.js +0 -220
  336. package/chunks/dispatch-FW7DX2CR.js +0 -43
  337. package/chunks/nonInteractiveCli-3XFIFXBR.js +0 -166
  338. package/chunks/opentui-entry-TEHHLGN7.js +0 -52419
  339. package/chunks/runtime-gate-T4ICWGQJ.js +0 -89
  340. package/chunks/wrapper-46Z24CTM.js +0 -35
  341. package/web-shell/assets/channel-BxvRq3pV.js +0 -1
  342. package/web-shell/assets/classDiagram-4FO5ZUOK-tL8nAxYf.js +0 -1
  343. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-tL8nAxYf.js +0 -1
  344. package/web-shell/assets/index-BgjULKyF.css +0 -5
  345. package/web-shell/assets/index-CxXlPYfl.js +0 -1789
  346. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWGkVGVB.js +0 -1
  347. /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-M3DWLXEO.js";
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-DGNQ5AFX.js";
24
+ } from "./chunk-O4D7SPJN.js";
50
25
  import {
51
26
  MINIMUM_MAX_HEIGHT,
52
27
  MaxSizedBox
53
- } from "./chunk-OSA2TFDI.js";
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-VBKTP7TH.js";
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-JOVJCXN4.js";
52
+ } from "./chunk-6QFDQMQX.js";
73
53
  import {
74
54
  disableMouseEvents,
75
55
  enableMouseEvents,
76
56
  useKeypress,
77
57
  useKeypressContext
78
- } from "./chunk-BNRIQWXW.js";
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-2SB4SLKC.js";
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-HOXEJHJQ.js";
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-UQPLUR4A.js";
93
+ } from "./chunk-IA2K2HJE.js";
111
94
  import {
112
95
  formatInlineImageOverflow
113
- } from "./chunk-E74YSVIN.js";
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-DXXYMK2U.js";
119
+ } from "./chunk-BVJS5BSP.js";
145
120
  import {
146
121
  getPersistScopeForModelSelection
147
- } from "./chunk-YCGXJ4Q3.js";
122
+ } from "./chunk-A267JX7H.js";
148
123
  import {
149
124
  getCurrentLanguage,
150
125
  localizeToolDisplayName,
151
126
  t
152
- } from "./chunk-I3UEXUWJ.js";
127
+ } from "./chunk-HUTNYWBG.js";
153
128
  import {
154
129
  isWorkspaceTrusted
155
- } from "./chunk-VE2UV7IN.js";
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-T7YMWGFY.js";
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-UAAWNTOC.js";
168
+ } from "./chunk-RVOJ2FBP.js";
188
169
  import {
170
+ ToolDisplayNames,
189
171
  ToolNames,
190
172
  ToolNamesMigration,
191
173
  isTerminalImageDisplay
192
- } from "./chunk-ZRT36RSF.js";
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-YMB77M76.js";
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 graphemeSegmenter = new Intl.Segmenter(void 0, {
2305
+ var graphemeSegmenter2 = new Intl.Segmenter(void 0, {
2265
2306
  granularity: "grapheme"
2266
2307
  });
2267
2308
  function splitGraphemes(value) {
2268
- return Array.from(graphemeSegmenter.segment(value), ({ segment }) => segment);
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 2026 Qwen Team
17898
+ * Copyright 2025 Qwen
17362
17899
  * SPDX-License-Identifier: Apache-2.0
17363
17900
  */
17364
17901
  /**
17365
17902
  * @license
17366
- * Copyright 2025 Qwen
17903
+ * Copyright 2026 Qwen Team
17367
17904
  * SPDX-License-Identifier: Apache-2.0
17368
17905
  */
17369
17906
  /**