@qwen-code/qwen-code 0.21.11 → 0.21.12-preview.3

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 (255) hide show
  1. package/chunks/{MaxSizedBox-G7QPSZTF.js → MaxSizedBox-EIK4BHBQ.js} +24 -24
  2. package/chunks/{StandaloneSessionPicker-3CTEPV7S.js → StandaloneSessionPicker-NHVJDRYD.js} +44 -43
  3. package/chunks/{acpAgent-43JURWOW.js → acpAgent-37UDZP64.js} +103 -97
  4. package/chunks/{agent-MIY4LJJJ.js → agent-FAWBG7PP.js} +20 -20
  5. package/chunks/{agent-headless-LWVA6GR5.js → agent-headless-SHK4PCCH.js} +20 -20
  6. package/chunks/{anthropicContentGenerator-7HEP7Q5D.js → anthropicContentGenerator-4JSC3ZFL.js} +20 -20
  7. package/chunks/{bridge-PTTJEBNP.js → bridge-DEAYNDCI.js} +22 -22
  8. package/chunks/{build-GDBLPA24.js → build-RZS65IIX.js} +1 -1
  9. package/chunks/{channel-management-service-PQ6SU56M.js → channel-management-service-SKAN6NOB.js} +1 -1
  10. package/chunks/{channel-settings-store-IKK34GMH.js → channel-settings-store-UIGYER6R.js} +27 -27
  11. package/chunks/{channel-worker-group-WBRE33ZV.js → channel-worker-group-YPTB5ASD.js} +3 -3
  12. package/chunks/{channel-worker-manager-V4LYVTPH.js → channel-worker-manager-4EHJSPRH.js} +3 -3
  13. package/chunks/{channel-worker-supervisor-YDAGW2RP.js → channel-worker-supervisor-DZKHYFHV.js} +2 -2
  14. package/chunks/{chunk-QG2IEE2E.js → chunk-2J53A6MV.js} +6 -6
  15. package/chunks/{chunk-2IIJTXYF.js → chunk-2SB4SLKC.js} +3 -1
  16. package/chunks/{chunk-TNS2M7VL.js → chunk-32VOOMEF.js} +6 -6
  17. package/chunks/{chunk-MCHGE3EC.js → chunk-3TT6MZHJ.js} +52 -830
  18. package/chunks/{chunk-BTYS2JAY.js → chunk-3XZYK76R.js} +1 -1
  19. package/chunks/{chunk-RUVZZKDH.js → chunk-3ZYX7AUR.js} +1 -1
  20. package/chunks/{chunk-YIKMBYMT.js → chunk-4ETA3KRC.js} +1 -1
  21. package/chunks/{chunk-NFSSQDB5.js → chunk-4GLFFNP3.js} +4 -4
  22. package/chunks/{chunk-JOXXPM3X.js → chunk-4M2F7OG7.js} +4 -4
  23. package/chunks/{chunk-4EX3DBFH.js → chunk-575MI5K3.js} +4 -4
  24. package/chunks/{chunk-DEKY5Y7V.js → chunk-5I5NMQCU.js} +1 -1
  25. package/chunks/{chunk-XBLYC4MI.js → chunk-5TXOGH4I.js} +1 -1
  26. package/chunks/{chunk-F4T5J34H.js → chunk-5UPJ774B.js} +1 -1
  27. package/chunks/{chunk-XUMBOJC2.js → chunk-6AECVSVX.js} +3 -3
  28. package/chunks/{chunk-2XZWO53E.js → chunk-6XZERB6P.js} +3 -3
  29. package/chunks/{chunk-J4EVBAB3.js → chunk-6ZIIHBNV.js} +4 -4
  30. package/chunks/{chunk-45HPDU3F.js → chunk-7D4KEFOT.js} +2 -2
  31. package/chunks/{chunk-W2PNY24B.js → chunk-7LZ7DK4D.js} +1 -1
  32. package/chunks/{chunk-OGQERNHD.js → chunk-AJX4ITUG.js} +2 -2
  33. package/chunks/chunk-CG3OQDNY.js +649 -0
  34. package/chunks/{chunk-3LHYTQ2R.js → chunk-CZXQ4UZA.js} +1 -1
  35. package/chunks/{chunk-MLZCPGDX.js → chunk-DAX3G67A.js} +1 -1
  36. package/chunks/{chunk-JPA7IDTE.js → chunk-DEG7R6Z6.js} +2 -2
  37. package/chunks/{chunk-X5GLCWPX.js → chunk-DYVCDQW2.js} +1 -1
  38. package/chunks/{chunk-TYAMGABM.js → chunk-E3GLDLYB.js} +6 -0
  39. package/chunks/{chunk-HUE2M6VI.js → chunk-E5BWLU5J.js} +1 -1
  40. package/chunks/{chunk-7QE3QFU3.js → chunk-EXG2R5UR.js} +9 -9
  41. package/chunks/{chunk-MZQ4I4AP.js → chunk-EYY4IBPV.js} +2 -2
  42. package/chunks/{chunk-PBYVS6QT.js → chunk-FDWH6CBK.js} +4 -4
  43. package/chunks/{chunk-TNQLAI6I.js → chunk-FRH4SSGX.js} +3 -1
  44. package/chunks/{chunk-KFCTC5IJ.js → chunk-GYBDYWMV.js} +1 -1
  45. package/chunks/{chunk-U2JLICUY.js → chunk-HB6QW4LM.js} +7 -7
  46. package/chunks/{chunk-ESVSQKPY.js → chunk-HBZUU4AE.js} +6 -8
  47. package/chunks/{chunk-XT6TGJFD.js → chunk-I4XSOFH2.js} +1 -1
  48. package/chunks/{chunk-G64M7R2Y.js → chunk-ILVATFYJ.js} +6 -6
  49. package/chunks/{chunk-RUKNJEJO.js → chunk-J7DNMZFO.js} +1 -1
  50. package/chunks/{chunk-AKLY5M2C.js → chunk-JEMR2FTD.js} +3 -3
  51. package/chunks/{chunk-UEUE6LJX.js → chunk-JL3LC3CQ.js} +1 -1
  52. package/chunks/{chunk-JKEO6OQY.js → chunk-JXK3WAP7.js} +5 -5
  53. package/chunks/{chunk-2R2HYSUQ.js → chunk-KIFRFCCB.js} +6 -4
  54. package/chunks/{chunk-JHMFKJEP.js → chunk-KNQZXSLW.js} +8 -2
  55. package/chunks/{chunk-BR6TUEKJ.js → chunk-KNXA5XXK.js} +28 -9
  56. package/chunks/chunk-L34XSHIZ.js +28 -0
  57. package/chunks/{chunk-T4576UW4.js → chunk-L7T742G2.js} +1 -1
  58. package/chunks/{chunk-22C7BQ6D.js → chunk-LHOG4E6Y.js} +3 -3
  59. package/chunks/{chunk-N3ZWGKXN.js → chunk-LHY6HBRA.js} +4 -4
  60. package/chunks/{chunk-EOBM4T2Z.js → chunk-M2PY7CNK.js} +1 -1
  61. package/chunks/{chunk-AZQ3DT76.js → chunk-M4NWDIFU.js} +1 -1
  62. package/chunks/{chunk-DSKLWQHC.js → chunk-M4OYAR6J.js} +2 -2
  63. package/chunks/{chunk-UIZGNLBP.js → chunk-M6HXP2SG.js} +152 -149
  64. package/chunks/{chunk-4PFKN7CQ.js → chunk-M6SXIXBV.js} +7 -7
  65. package/chunks/{chunk-BNRNVMOT.js → chunk-MDFUBQAQ.js} +20 -18
  66. package/chunks/chunk-N2TNM3QB.js +9 -0
  67. package/chunks/{chunk-QGZN4RYB.js → chunk-N3FJOQX7.js} +3 -3
  68. package/chunks/{chunk-LA3FF7RO.js → chunk-N5ULBHP3.js} +1 -1
  69. package/chunks/{chunk-EN2J77G7.js → chunk-NELCY6JT.js} +2 -0
  70. package/chunks/{chunk-23GFHEM3.js → chunk-NPE3STIW.js} +6 -6
  71. package/chunks/{chunk-BJKREW56.js → chunk-O5AZPHYZ.js} +1 -1
  72. package/chunks/{chunk-2AAFGCWP.js → chunk-O5G7IQGM.js} +4 -4
  73. package/chunks/{chunk-KCDQGIHS.js → chunk-P2UCMHDT.js} +1 -1
  74. package/chunks/{chunk-YVVIFFU4.js → chunk-P64FPV3G.js} +2 -2
  75. package/chunks/{chunk-JLYYGKRN.js → chunk-QZ5G26ZE.js} +19 -19
  76. package/chunks/{chunk-P7KCJGBR.js → chunk-RQVVXDHS.js} +3 -3
  77. package/chunks/{chunk-UM57UTTV.js → chunk-RRQJPCRQ.js} +1 -1
  78. package/chunks/{chunk-DM4C3OX5.js → chunk-SSAOTDK7.js} +1 -1
  79. package/chunks/{chunk-NM3E6GGL.js → chunk-TEKFBSMY.js} +2 -2
  80. package/chunks/{chunk-U7QUDFPD.js → chunk-TRYJ3BVE.js} +5 -5
  81. package/chunks/{chunk-OC5SKSNX.js → chunk-TYCXSMZU.js} +2 -2
  82. package/chunks/{chunk-TKAEODJR.js → chunk-TYGKUOEG.js} +9 -0
  83. package/chunks/{chunk-HMCSRTDY.js → chunk-U6PTKAOW.js} +1 -1
  84. package/chunks/{chunk-AAOONL5N.js → chunk-UNCIELQJ.js} +1 -1
  85. package/chunks/chunk-UOMZKPI5.js +830 -0
  86. package/chunks/{chunk-TTB6GBJ6.js → chunk-UZPWH6SP.js} +42 -42
  87. package/chunks/{chunk-SUTP6CZA.js → chunk-V4MJ56RS.js} +3 -3
  88. package/chunks/{chunk-P5Y23G2L.js → chunk-V7RNNPGC.js} +1 -18
  89. package/chunks/{chunk-HZV75ET2.js → chunk-VQZXRLEX.js} +1 -1
  90. package/chunks/{chunk-W2ITCESM.js → chunk-VWD7SNNN.js} +6 -127
  91. package/chunks/chunk-WFRHWDBT.js +622 -0
  92. package/chunks/chunk-WLML6VIA.js +18 -0
  93. package/chunks/{chunk-MDQSCFAZ.js → chunk-XWUQ4IH5.js} +6 -6
  94. package/chunks/{chunk-4C4QSXE3.js → chunk-Y66OOMKS.js} +73 -610
  95. package/chunks/{chunk-BIXG46YI.js → chunk-YI6UGZF5.js} +10 -10
  96. package/chunks/{chunk-VRWOMUZM.js → chunk-YTYPRVIZ.js} +1 -1
  97. package/chunks/{chunk-3SOTXJNO.js → chunk-YZJVVQD3.js} +4 -4
  98. package/chunks/chunk-ZBBVBZBR.js +137 -0
  99. package/chunks/{chunk-NQPYPDOY.js → chunk-ZQSNP4TG.js} +1 -1
  100. package/chunks/chunk-bdqvmfwv-OHYAFAAO.js +17446 -0
  101. package/chunks/{computer-use-7TIKEXBX.js → computer-use-S4JEU5P7.js} +23 -23
  102. package/chunks/{config-utils-6MVJ54TY.js → config-utils-TXVKR27S.js} +2 -2
  103. package/chunks/{contextCommand-5QKI7MRY.js → contextCommand-2H5OH2HW.js} +22 -22
  104. package/chunks/{core-runtime-USS7ZF3H.js → core-runtime-IAQ4DD4Y.js} +20 -20
  105. package/chunks/{create-sub-session-ZD2F3BH2.js → create-sub-session-EKHKXJAA.js} +20 -20
  106. package/chunks/{daemon-Y3NOHFKQ.js → daemon-PXIC4ZDK.js} +148 -0
  107. package/chunks/{daemon-status-provider-PMP4J7BC.js → daemon-status-provider-LPYR2GXY.js} +26 -26
  108. package/chunks/{daemon-trust-policy-2252VKXI.js → daemon-trust-policy-7JOBVFH3.js} +26 -26
  109. package/chunks/{daemon-trust-policy-monitor-OSGGKJXT.js → daemon-trust-policy-monitor-OU3NRHAR.js} +26 -26
  110. package/chunks/{deferred-core-runtime-3VD4V6YZ.js → deferred-core-runtime-SFT3KI2C.js} +22 -22
  111. package/chunks/{devtools-4QFYJT6U.js → devtools-X6ROTKHE.js} +1 -1
  112. package/chunks/dispatch-B53LNEO4.js +37 -0
  113. package/chunks/{dist-MAIUUIWN.js → dist-BW2LDPV3.js} +1 -1
  114. package/chunks/{dist-Q2WJ2IZU.js → dist-KTYDJNYM.js} +1 -1
  115. package/chunks/{earlyInputCapture-ER4HGLJN.js → earlyInputCapture-27RPWE2D.js} +20 -20
  116. package/chunks/{edit-B3MT7O53.js → edit-WXVZ7FHS.js} +28 -28
  117. package/chunks/{enter-worktree-WVIYVSDJ.js → enter-worktree-TYMVXFLA.js} +25 -25
  118. package/chunks/{enterPlanMode-DDCIM6HA.js → enterPlanMode-FT4MRU5N.js} +28 -28
  119. package/chunks/{environment-LITGMOUP.js → environment-Z6OMA34I.js} +22 -22
  120. package/chunks/{errors-E5CIOR2I.js → errors-YMXK2GG3.js} +22 -22
  121. package/chunks/{exit-worktree-NQ2A6URE.js → exit-worktree-ODZUQLGJ.js} +25 -25
  122. package/chunks/{exitPlanMode-YXSWN4D3.js → exitPlanMode-MBPAPBBV.js} +20 -20
  123. package/chunks/{fast-path-PH3DBS6X.js → fast-path-ZU5T6XSN.js} +2 -2
  124. package/chunks/{gemini-4YPO4ADY.js → gemini-OZK6AIMC.js} +74 -71
  125. package/chunks/{geminiContentGenerator-GMSVVXOU.js → geminiContentGenerator-MC6ZKWZG.js} +8 -8
  126. package/chunks/{glob-3Y3VHLM2.js → glob-KJ4A4ZOM.js} +27 -27
  127. package/chunks/{grep-VUHUDZYG.js → grep-QWBLG564.js} +27 -27
  128. package/chunks/{handleAutoUpdate-OBFFPWSJ.js → handleAutoUpdate-M3ACKDKF.js} +24 -24
  129. package/chunks/{i18n-4PJA5KKU.js → i18n-FPW7XZL5.js} +21 -21
  130. package/chunks/{image-gen-4IFV4HES.js → image-gen-OTFC2S7L.js} +7 -7
  131. package/chunks/{initializer-ZTY3VSWL.js → initializer-5HKUXXBT.js} +27 -27
  132. package/chunks/{installationInfo-6USRNCD2.js → installationInfo-4OA6UW7V.js} +21 -21
  133. package/chunks/{list-U2ZDKYWN.js → list-3TKZ264A.js} +29 -29
  134. package/chunks/{loadedSettingsAdapter-WW4HIVLO.js → loadedSettingsAdapter-IRUANLS2.js} +26 -26
  135. package/chunks/{loggingContentGenerator-XXG6YWUE.js → loggingContentGenerator-D4URLH2A.js} +25 -25
  136. package/chunks/{managed-npm-update-7GM2LPLL.js → managed-npm-update-2O7XSAWJ.js} +21 -21
  137. package/chunks/{mcp-7KZW2T5P.js → mcp-AFVHCHKT.js} +26 -26
  138. package/chunks/{monitor-RQROQHLD.js → monitor-PY4WDSX3.js} +25 -25
  139. package/chunks/{node-UUDY34IG.js → node-YSOU44FX.js} +3 -3
  140. package/chunks/{nonInteractiveCli-U7JNJGS6.js → nonInteractiveCli-ZHW6F76F.js} +61 -58
  141. package/chunks/{notebook-edit-XQA6YCH2.js → notebook-edit-GEPL33NO.js} +28 -28
  142. package/chunks/{openaiContentGenerator-BZW2IB42.js → openaiContentGenerator-ACYSXQ6R.js} +20 -20
  143. package/chunks/opentui-entry-SBAOWW7M.js +52325 -0
  144. package/chunks/{pidfile-NX5VZ3IK.js → pidfile-SUNYCAA4.js} +20 -20
  145. package/chunks/{processUtils-M635AD23.js → processUtils-F7LP7YUV.js} +2 -2
  146. package/chunks/{qwenContentGenerator-KHJ73E2C.js → qwenContentGenerator-BB6IPELF.js} +26 -26
  147. package/chunks/{qwenOAuth2-QMK25XO7.js → qwenOAuth2-OU3WGDOI.js} +4 -4
  148. package/chunks/{read-file-6LKIKKXD.js → read-file-GORBXJTS.js} +5 -5
  149. package/chunks/{resumeHistoryUtils-RR2KEVH5.js → resumeHistoryUtils-FOAJJJWK.js} +27 -27
  150. package/chunks/{ripGrep-CF2WRBYV.js → ripGrep-RNLIZGCY.js} +20 -20
  151. package/chunks/{run-qwen-serve-L5TF57J4.js → run-qwen-serve-GVMMX3IU.js} +47 -47
  152. package/chunks/{runtime-3RE3BPR4.js → runtime-RNBZ5FDD.js} +29 -29
  153. package/chunks/runtime-gate-T4ICWGQJ.js +89 -0
  154. package/chunks/{scheduler-LXQZAMYT.js → scheduler-NTRFSPIP.js} +22 -22
  155. package/chunks/{sdk-exporters-grpc-54L4LS5L.js → sdk-exporters-grpc-4QKV6MCX.js} +2 -2
  156. package/chunks/{sdk-exporters-http-7SYSCGEO.js → sdk-exporters-http-2VPMAPFI.js} +11 -11
  157. package/chunks/{sdk-impl-VZI6M6EH.js → sdk-impl-5W3JUCWF.js} +7 -7
  158. package/chunks/{serve-5D4S7GIA.js → serve-H3PGA26U.js} +26 -26
  159. package/chunks/{server-ILZB6TTC.js → server-SUXD2F3C.js} +619 -199
  160. package/chunks/{session-SXCZITZ4.js → session-MTFVUWWM.js} +64 -61
  161. package/chunks/{settings-4RQB3OVF.js → settings-GUJ3TN2J.js} +25 -25
  162. package/chunks/{shell-FCTR3OI2.js → shell-C2UP5FF2.js} +20 -20
  163. package/chunks/{skill-IAKHPD5H.js → skill-4XCNK55E.js} +14 -14
  164. package/chunks/{skill-settings-SOR23NOP.js → skill-settings-Y2BU27XM.js} +25 -25
  165. package/chunks/{spawnChannel-I6VAWYQJ.js → spawnChannel-UUUUK734.js} +23 -21
  166. package/chunks/{standalone-update-5NN3MTYH.js → standalone-update-MJ722XZ4.js} +22 -22
  167. package/chunks/{startInteractiveUI-OYGL3NZJ.js → startInteractiveUI-TCPIPNGN.js} +2440 -2950
  168. package/chunks/task-create-URFZ5EUX.js +2 -2
  169. package/chunks/{team-create-J4JP6AXN.js → team-create-WZWH2NJI.js} +25 -25
  170. package/chunks/{team-plan-approval-7BEAIR2H.js → team-plan-approval-SUZQJCWJ.js} +27 -27
  171. package/chunks/{terminal-image-renderer-SGGTG5LN.js → terminal-image-renderer-BCUN3Z3W.js} +20 -20
  172. package/chunks/{theme-manager-67TSB7LH.js → theme-manager-UGMFDREN.js} +21 -21
  173. package/chunks/{tool-search-XPOFDWOX.js → tool-search-B6F3MPUZ.js} +9 -9
  174. package/chunks/{total-session-admission-SZJFAM25.js → total-session-admission-MQLBJ5WL.js} +22 -22
  175. package/chunks/{trustedFolders-44NTYYV4.js → trustedFolders-2XST7U5C.js} +21 -21
  176. package/chunks/{update-relaunch-K33Q3WEH.js → update-relaunch-OVC7YNGD.js} +5 -5
  177. package/chunks/{updateCheck-VBRNPLS4.js → updateCheck-YAKM36WQ.js} +24 -24
  178. package/chunks/{useAutoAcceptIndicator-AUNRB5S7.js → useAutoAcceptIndicator-RF6FVX3S.js} +31 -31
  179. package/chunks/{validateNonInterActiveAuth-WTO36MTA.js → validateNonInterActiveAuth-IPPXFNQH.js} +57 -55
  180. package/chunks/{version-JZA6HYPI.js → version-4IDFEXOU.js} +1 -1
  181. package/chunks/{web-fetch-LLHPV2IR.js → web-fetch-NUOLHXPN.js} +14 -14
  182. package/chunks/{web-search-4HCHRZ3U.js → web-search-LVOOV4XZ.js} +11 -11
  183. package/chunks/{workflow-YI74QTWW.js → workflow-JSTYTG3K.js} +36 -36
  184. package/chunks/{workspace-providers-status-CI3AO2BH.js → workspace-providers-status-U4EYXA4K.js} +28 -28
  185. package/chunks/{workspace-registration-store-KPIKXDHA.js → workspace-registration-store-OG66U3CB.js} +1 -1
  186. package/chunks/{workspace-registry-XE22QDE6.js → workspace-registry-WSHWQRQQ.js} +22 -22
  187. package/chunks/{workspace-service-WI2FD72A.js → workspace-service-QZXQHX2F.js} +30 -30
  188. package/chunks/{workspace-skills-status-FFZU6FXL.js → workspace-skills-status-VRBHEX5O.js} +26 -26
  189. package/chunks/{workspace-trust-reconciler-GJLNXR2U.js → workspace-trust-reconciler-FCRIUIOF.js} +30 -30
  190. package/chunks/wrapper-46Z24CTM.js +35 -0
  191. package/chunks/{write-file-IEAC3XC3.js → write-file-PYL3JCCD.js} +20 -20
  192. package/chunks/{zoom-image-GTVVT25J.js → zoom-image-RS6MU26F.js} +5 -5
  193. package/cli.js +12 -12
  194. package/package.json +3 -3
  195. package/web-shell/assets/{arc-B13-S0Yo.js → arc-CgGUyHWd.js} +1 -1
  196. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CHvWNlVW.js → architectureDiagram-3BPJPVTR-BR0Qv-1Y.js} +1 -1
  197. package/web-shell/assets/{blockDiagram-GPEHLZMM-CXebOlXF.js → blockDiagram-GPEHLZMM-DIoaceaI.js} +1 -1
  198. package/web-shell/assets/{c4Diagram-AAUBKEIU-BQpx4y3Q.js → c4Diagram-AAUBKEIU-Bc5k6BbI.js} +1 -1
  199. package/web-shell/assets/channel-D2b9IYpS.js +1 -0
  200. package/web-shell/assets/{chunk-2J33WTMH-Cak1exSv.js → chunk-2J33WTMH-DtPEz2WX.js} +1 -1
  201. package/web-shell/assets/{chunk-4BX2VUAB-BIc8BV5_.js → chunk-4BX2VUAB-Dydo6ydE.js} +1 -1
  202. package/web-shell/assets/{chunk-55IACEB6-DoeJ5BL1.js → chunk-55IACEB6-DD9_VWXm.js} +1 -1
  203. package/web-shell/assets/{chunk-727SXJPM-BDR_wYSu.js → chunk-727SXJPM-DVI2m59k.js} +1 -1
  204. package/web-shell/assets/{chunk-AQP2D5EJ-BhRRGRq1.js → chunk-AQP2D5EJ-luatmaTN.js} +1 -1
  205. package/web-shell/assets/{chunk-FMBD7UC4-BJGAwVXr.js → chunk-FMBD7UC4-Duy8NTIi.js} +1 -1
  206. package/web-shell/assets/{chunk-ND2GUHAM-vhE73bsD.js → chunk-ND2GUHAM-CrL1yhms.js} +1 -1
  207. package/web-shell/assets/{chunk-QZHKN3VN-BuTBZsdR.js → chunk-QZHKN3VN-C7BX6bu1.js} +1 -1
  208. package/web-shell/assets/classDiagram-4FO5ZUOK-DHatTCmD.js +1 -0
  209. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHatTCmD.js +1 -0
  210. package/web-shell/assets/{cose-bilkent-S5V4N54A-CVHKipHP.js → cose-bilkent-S5V4N54A-BTzs7mIi.js} +1 -1
  211. package/web-shell/assets/{dagre-BM42HDAG-C1DPa8SV.js → dagre-BM42HDAG-3VTUmWts.js} +1 -1
  212. package/web-shell/assets/{diagram-2AECGRRQ-BYP_QxkT.js → diagram-2AECGRRQ-Ehdp75GN.js} +1 -1
  213. package/web-shell/assets/{diagram-5GNKFQAL-Cray7ruQ.js → diagram-5GNKFQAL-B3wu3teE.js} +1 -1
  214. package/web-shell/assets/{diagram-KO2AKTUF-Ds4vJANi.js → diagram-KO2AKTUF-DjgTSf2S.js} +1 -1
  215. package/web-shell/assets/{diagram-LMA3HP47-DxFrDykH.js → diagram-LMA3HP47-Br9mwjY3.js} +1 -1
  216. package/web-shell/assets/{diagram-OG6HWLK6-BdIO-pF_.js → diagram-OG6HWLK6-D4xz5M-z.js} +1 -1
  217. package/web-shell/assets/{erDiagram-TEJ5UH35-5JA8KDYV.js → erDiagram-TEJ5UH35-CXayWlG_.js} +1 -1
  218. package/web-shell/assets/{flowDiagram-I6XJVG4X-DL4drKro.js → flowDiagram-I6XJVG4X-CLonjQTi.js} +1 -1
  219. package/web-shell/assets/{ganttDiagram-6RSMTGT7-ijX2DD6_.js → ganttDiagram-6RSMTGT7-BTySFT-1.js} +1 -1
  220. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-_lPsFLFF.js → gitGraphDiagram-PVQCEYII--2WcUjOe.js} +1 -1
  221. package/web-shell/assets/{index-dHAFxPHb.css → index-CIFO52Wx.css} +1 -1
  222. package/web-shell/assets/{index-C-YoqYbs.js → index-DPJHkFOG.js} +1 -1
  223. package/web-shell/assets/index-bhq3CUUF.js +1789 -0
  224. package/web-shell/assets/{infoDiagram-5YYISTIA-COFClLab.js → infoDiagram-5YYISTIA-9vpgAf1m.js} +1 -1
  225. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Div9KOgO.js → ishikawaDiagram-YF4QCWOH-DcRpHnAW.js} +1 -1
  226. package/web-shell/assets/{journeyDiagram-JHISSGLW-VAw5u0wc.js → journeyDiagram-JHISSGLW-C2TKorRm.js} +1 -1
  227. package/web-shell/assets/{kanban-definition-UN3LZRKU-CncCn8Nl.js → kanban-definition-UN3LZRKU-DdsFwB8b.js} +1 -1
  228. package/web-shell/assets/{linear-D6ad7e_k.js → linear-7PjRvJrf.js} +1 -1
  229. package/web-shell/assets/{mermaid.core-BV1IECGb.js → mermaid.core-raDXa11C.js} +5 -5
  230. package/web-shell/assets/{mindmap-definition-RKZ34NQL-a3jeNgPr.js → mindmap-definition-RKZ34NQL-DLHc-PRN.js} +1 -1
  231. package/web-shell/assets/{pieDiagram-4H26LBE5-DsVRY5BW.js → pieDiagram-4H26LBE5-BftYpeTW.js} +1 -1
  232. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D6zgexJK.js → quadrantDiagram-W4KKPZXB-O-6ygOYn.js} +1 -1
  233. package/web-shell/assets/{requirementDiagram-4Y6WPE33-VEpSwJjn.js → requirementDiagram-4Y6WPE33-BmZWVufJ.js} +1 -1
  234. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CYEuOFne.js → sankeyDiagram-5OEKKPKP-2x5beiWt.js} +1 -1
  235. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CCg0lI-9.js → sequenceDiagram-3UESZ5HK-BH8uKokQ.js} +1 -1
  236. package/web-shell/assets/{stateDiagram-AJRCARHV-BHXPsL0B.js → stateDiagram-AJRCARHV-Dq1MFgX_.js} +1 -1
  237. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-spuAYji6.js +1 -0
  238. package/web-shell/assets/{timeline-definition-PNZ67QCA-gqTf9a0k.js → timeline-definition-PNZ67QCA-Cl2WKbv9.js} +1 -1
  239. package/web-shell/assets/{vennDiagram-CIIHVFJN-C4DXXkBh.js → vennDiagram-CIIHVFJN-BqoRo_Q-.js} +1 -1
  240. package/web-shell/assets/{wardley-L42UT6IY-CMK46EiX.js → wardley-L42UT6IY-BTxp-Yot.js} +1 -1
  241. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DTk1Gzt9.js → wardleyDiagram-YWT4CUSO-DFXVCSH2.js} +1 -1
  242. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BcJsM1dH.js → xychartDiagram-2RQKCTM6-qQhWx0aE.js} +1 -1
  243. package/web-shell/index.html +2 -2
  244. package/web-shell/assets/channel-BB_Hm8Rf.js +0 -1
  245. package/web-shell/assets/classDiagram-4FO5ZUOK-B_hFK54Y.js +0 -1
  246. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B_hFK54Y.js +0 -1
  247. package/web-shell/assets/index-BTwNYZkp.js +0 -1785
  248. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-eTG8D0QT.js +0 -1
  249. package/chunks/{artifact-tool-M7UAJ5NT.js → artifact-tool-FRMBPDPB.js} +3 -3
  250. package/chunks/{chunk-NWNEANAT.js → chunk-44CTCCLY.js} +0 -0
  251. package/chunks/{chunk-25OFRBH2.js → chunk-5PWLQ7SK.js} +4 -4
  252. package/chunks/{chunk-KCCODSAA.js → chunk-TBVNYG5B.js} +3 -3
  253. package/chunks/{chunk-4MHDNGAV.js → chunk-ZGWY4YUB.js} +3 -3
  254. package/chunks/{ls-O4VBQRG7.js → ls-FSHISLLA.js} +3 -3
  255. package/chunks/{task-update-LCJM3EYG.js → task-update-DVV6CUGI.js} +2 -2
@@ -0,0 +1,622 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ ICON
5
+ } from "./chunk-KNXA5XXK.js";
6
+ import {
7
+ theme
8
+ } from "./chunk-DAX3G67A.js";
9
+ import {
10
+ getCachedStringWidth
11
+ } from "./chunk-4NFY2S7N.js";
12
+ import {
13
+ MAIN_SOURCE
14
+ } from "./chunk-HB6QW4LM.js";
15
+ import {
16
+ ToolDisplayNames,
17
+ ToolNames
18
+ } from "./chunk-XTH2OMDS.js";
19
+ import {
20
+ sanitizeForOsc,
21
+ wrapForMultiplexer
22
+ } from "./chunk-TBVNYG5B.js";
23
+ import {
24
+ init_esbuild_shims
25
+ } from "./chunk-5O2XNYP6.js";
26
+ import {
27
+ __name
28
+ } from "./chunk-J2S4EL5Y.js";
29
+
30
+ // packages/cli/src/ui/utils/sessionPickerUtils.ts
31
+ init_esbuild_shims();
32
+ var graphemeSegmenter = new Intl.Segmenter(void 0, {
33
+ granularity: "grapheme"
34
+ });
35
+ var SESSION_PAGE_SIZE = 20;
36
+ function truncateText(text, maxWidth) {
37
+ const widthLimit = Math.max(0, Math.floor(maxWidth));
38
+ if (widthLimit === 0) {
39
+ return "";
40
+ }
41
+ const firstLine = text.split(/\r?\n/, 1)[0];
42
+ if (getCachedStringWidth(firstLine) <= widthLimit) {
43
+ return firstLine;
44
+ }
45
+ if (widthLimit <= 3) {
46
+ return truncateToDisplayWidth(firstLine, widthLimit);
47
+ }
48
+ return `${truncateToDisplayWidth(firstLine, widthLimit - 3)}...`;
49
+ }
50
+ __name(truncateText, "truncateText");
51
+ function truncateToDisplayWidth(text, maxWidth) {
52
+ let width = 0;
53
+ let result = "";
54
+ for (const { segment } of graphemeSegmenter.segment(text)) {
55
+ const segmentWidth = getCachedStringWidth(segment);
56
+ if (width + segmentWidth > maxWidth) {
57
+ break;
58
+ }
59
+ result += segment;
60
+ width += segmentWidth;
61
+ }
62
+ return result;
63
+ }
64
+ __name(truncateToDisplayWidth, "truncateToDisplayWidth");
65
+ function matchesQuery(session, normalizedQuery) {
66
+ if (!normalizedQuery) return true;
67
+ const haystacks = [
68
+ session.customTitle,
69
+ session.prompt,
70
+ session.gitBranch
71
+ ];
72
+ for (const h of haystacks) {
73
+ if (h && h.toLowerCase().includes(normalizedQuery)) return true;
74
+ }
75
+ return false;
76
+ }
77
+ __name(matchesQuery, "matchesQuery");
78
+ function filterSessions(sessions, filterByBranch, currentBranch, query) {
79
+ const normalizedQuery = query?.toLowerCase().trim() ?? "";
80
+ return sessions.filter((session) => {
81
+ if (filterByBranch && currentBranch) {
82
+ if (session.gitBranch !== currentBranch) return false;
83
+ }
84
+ return matchesQuery(session, normalizedQuery);
85
+ });
86
+ }
87
+ __name(filterSessions, "filterSessions");
88
+ function formatMessageCount(count) {
89
+ return count === 1 ? "1 message" : `${count} messages`;
90
+ }
91
+ __name(formatMessageCount, "formatMessageCount");
92
+
93
+ // packages/cli/src/ui/utils/osc8.ts
94
+ init_esbuild_shims();
95
+ function osc8Open(url) {
96
+ return wrapForMultiplexer(`\x1B]8;;${sanitizeForOsc(url)}\x07`);
97
+ }
98
+ __name(osc8Open, "osc8Open");
99
+ function osc8Close() {
100
+ return wrapForMultiplexer(`\x1B]8;;\x07`);
101
+ }
102
+ __name(osc8Close, "osc8Close");
103
+ var SAFE_OSC8_SCHEMES = /* @__PURE__ */ new Set([
104
+ "http:",
105
+ "https:",
106
+ "mailto:",
107
+ "ftp:",
108
+ "ftps:",
109
+ "sftp:",
110
+ "ssh:"
111
+ ]);
112
+ function isSafeOscScheme(url) {
113
+ const match = url.match(/^([a-z][a-z0-9+.-]*:)/i);
114
+ if (!match) return false;
115
+ return SAFE_OSC8_SCHEMES.has(match[1].toLowerCase());
116
+ }
117
+ __name(isSafeOscScheme, "isSafeOscScheme");
118
+ 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`;
119
+ var BARE_URL_BREAK_PATTERN = new RegExp(`[${BARE_URL_BREAK_CHARACTERS}]`);
120
+ function trimTrailingUrlPunctuation(url, nextCharacter = "") {
121
+ let openParen = 0;
122
+ let openBracket = 0;
123
+ let openBrace = 0;
124
+ let closeParen = 0;
125
+ let closeBracket = 0;
126
+ let closeBrace = 0;
127
+ for (let i = 0; i < url.length; i++) {
128
+ const cc = url.charCodeAt(i);
129
+ if (cc === 40) openParen++;
130
+ else if (cc === 91) openBracket++;
131
+ else if (cc === 123) openBrace++;
132
+ else if (cc === 41) closeParen++;
133
+ else if (cc === 93) closeBracket++;
134
+ else if (cc === 125) closeBrace++;
135
+ }
136
+ let end = url.length;
137
+ if (url.charCodeAt(end - 1) === 95 && BARE_URL_BREAK_PATTERN.test(nextCharacter)) {
138
+ end--;
139
+ }
140
+ while (end > 0) {
141
+ const c = url.charCodeAt(end - 1);
142
+ if (c === 46 || c === 44 || c === 59 || c === 58 || c === 33 || c === 63 || c === 39 || c === 34 || c === 96 || c === 62) {
143
+ end--;
144
+ continue;
145
+ }
146
+ if (c === 41 && closeParen > openParen) {
147
+ closeParen--;
148
+ end--;
149
+ continue;
150
+ }
151
+ if (c === 93 && closeBracket > openBracket) {
152
+ closeBracket--;
153
+ end--;
154
+ continue;
155
+ }
156
+ if (c === 125 && closeBrace > openBrace) {
157
+ closeBrace--;
158
+ end--;
159
+ continue;
160
+ }
161
+ break;
162
+ }
163
+ return url.slice(0, end);
164
+ }
165
+ __name(trimTrailingUrlPunctuation, "trimTrailingUrlPunctuation");
166
+ var MD_LINK_PATTERN = String.raw`\[.*?\]\((?:[^()]|\([^()]*\))*\)`;
167
+ var MD_LINK_CAPTURE = /^\[(.*?)\]\(((?:[^()]|\([^()]*\))*)\)$/;
168
+ var BARE_URL_PATTERN = String.raw`https?:\/\/[^\s${BARE_URL_BREAK_CHARACTERS}]+`;
169
+ function shouldWrapMarkdownLink(url, canHyperlink) {
170
+ return canHyperlink && isSafeOscScheme(url) && !/\s/.test(url);
171
+ }
172
+ __name(shouldWrapMarkdownLink, "shouldWrapMarkdownLink");
173
+ 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;
174
+ var IPV4_LIKE_RE = /\b(?:\d{1,3}\.){3}\d{1,3}\b/g;
175
+ function targetHostname(url) {
176
+ try {
177
+ const u = new URL(url);
178
+ if (u.protocol === "mailto:") {
179
+ const at = u.pathname.lastIndexOf("@");
180
+ return at >= 0 ? u.pathname.slice(at + 1).toLowerCase() || void 0 : void 0;
181
+ }
182
+ return u.hostname.toLowerCase() || void 0;
183
+ } catch {
184
+ return void 0;
185
+ }
186
+ }
187
+ __name(targetHostname, "targetHostname");
188
+ function labelMayDeceive(label, url) {
189
+ if (label === url) return false;
190
+ if (/:\/\//.test(label) || /^[a-z][a-z0-9+.-]*:/i.test(label.trim())) {
191
+ return true;
192
+ }
193
+ const lower = label.toLowerCase();
194
+ const labelHosts = [
195
+ ...lower.match(HOST_LIKE_RE) ?? [],
196
+ ...lower.match(IPV4_LIKE_RE) ?? []
197
+ ];
198
+ if (labelHosts.length === 0) return false;
199
+ const target = targetHostname(url);
200
+ if (!target) return true;
201
+ return labelHosts.some((h) => h !== target);
202
+ }
203
+ __name(labelMayDeceive, "labelMayDeceive");
204
+
205
+ // packages/cli/src/ui/utils/displayUtils.ts
206
+ init_esbuild_shims();
207
+ function getArenaStatusLabel(status) {
208
+ switch (status) {
209
+ case "idle" /* IDLE */:
210
+ return { icon: "\u2713", text: "Idle", color: theme.status.success };
211
+ case "completed" /* COMPLETED */:
212
+ return { icon: "\u2713", text: "Done", color: theme.status.success };
213
+ case "cancelled" /* CANCELLED */:
214
+ return { icon: "\u2298", text: "Cancelled", color: theme.status.warning };
215
+ case "failed" /* FAILED */:
216
+ return { icon: "\u2717", text: "Failed", color: theme.status.error };
217
+ case "running" /* RUNNING */:
218
+ return {
219
+ icon: ICON.CIRCLE_EMPTY,
220
+ text: "Running",
221
+ color: theme.text.secondary
222
+ };
223
+ case "initializing" /* INITIALIZING */:
224
+ return {
225
+ icon: ICON.CIRCLE_EMPTY,
226
+ text: "Initializing",
227
+ color: theme.text.secondary
228
+ };
229
+ default:
230
+ return {
231
+ icon: ICON.CIRCLE_EMPTY,
232
+ text: status,
233
+ color: theme.text.secondary
234
+ };
235
+ }
236
+ }
237
+ __name(getArenaStatusLabel, "getArenaStatusLabel");
238
+ var TOOL_SUCCESS_RATE_HIGH = 95;
239
+ var TOOL_SUCCESS_RATE_MEDIUM = 85;
240
+ var USER_AGREEMENT_RATE_HIGH = 75;
241
+ var USER_AGREEMENT_RATE_MEDIUM = 45;
242
+ var getStatusColor = /* @__PURE__ */ __name((value, thresholds, options = {}) => {
243
+ if (value >= thresholds.green) {
244
+ return theme.status.success;
245
+ }
246
+ if (value >= thresholds.yellow) {
247
+ return theme.status.warning;
248
+ }
249
+ if (thresholds.red != null && value >= thresholds.red) {
250
+ return theme.status.error;
251
+ }
252
+ return options.defaultColor ?? theme.status.error;
253
+ }, "getStatusColor");
254
+ function formatDuration(ms) {
255
+ const totalSeconds = Math.round(ms / 1e3);
256
+ if (totalSeconds < 60) {
257
+ return `${totalSeconds}s`;
258
+ }
259
+ const minutes = Math.floor(totalSeconds / 60);
260
+ const seconds = totalSeconds % 60;
261
+ return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
262
+ }
263
+ __name(formatDuration, "formatDuration");
264
+
265
+ // packages/cli/src/ui/keyMatchers.ts
266
+ init_esbuild_shims();
267
+
268
+ // packages/cli/src/config/keyBindings.ts
269
+ init_esbuild_shims();
270
+ var Command = /* @__PURE__ */ ((Command2) => {
271
+ Command2["RETURN"] = "return";
272
+ Command2["ESCAPE"] = "escape";
273
+ Command2["HOME"] = "home";
274
+ Command2["END"] = "end";
275
+ Command2["KILL_LINE_RIGHT"] = "killLineRight";
276
+ Command2["KILL_LINE_LEFT"] = "killLineLeft";
277
+ Command2["CLEAR_INPUT"] = "clearInput";
278
+ Command2["DELETE_WORD_BACKWARD"] = "deleteWordBackward";
279
+ Command2["CLEAR_SCREEN"] = "clearScreen";
280
+ Command2["HISTORY_UP"] = "historyUp";
281
+ Command2["HISTORY_DOWN"] = "historyDown";
282
+ Command2["NAVIGATION_UP"] = "navigationUp";
283
+ Command2["NAVIGATION_DOWN"] = "navigationDown";
284
+ Command2["SELECTION_UP"] = "selectionUp";
285
+ Command2["SELECTION_DOWN"] = "selectionDown";
286
+ Command2["ACCEPT_SUGGESTION"] = "acceptSuggestion";
287
+ Command2["COMPLETION_UP"] = "completionUp";
288
+ Command2["COMPLETION_DOWN"] = "completionDown";
289
+ Command2["COMPLETION_TAB_LEFT"] = "completionTabLeft";
290
+ Command2["COMPLETION_TAB_RIGHT"] = "completionTabRight";
291
+ Command2["SUBMIT"] = "submit";
292
+ Command2["QUEUE_MESSAGE"] = "queueMessage";
293
+ Command2["NEWLINE"] = "newline";
294
+ Command2["VOICE_PUSH_TO_TALK"] = "voicePushToTalk";
295
+ Command2["OPEN_EXTERNAL_EDITOR"] = "openExternalEditor";
296
+ Command2["PASTE_CLIPBOARD_IMAGE"] = "pasteClipboardImage";
297
+ Command2["TOGGLE_TOOL_DESCRIPTIONS"] = "toggleToolDescriptions";
298
+ Command2["TOGGLE_IDE_CONTEXT_DETAIL"] = "toggleIDEContextDetail";
299
+ Command2["QUIT"] = "quit";
300
+ Command2["EXIT"] = "exit";
301
+ Command2["SHOW_MORE_LINES"] = "showMoreLines";
302
+ Command2["RETRY_LAST"] = "retryLast";
303
+ Command2["TOGGLE_RENDER_MODE"] = "toggleRenderMode";
304
+ Command2["PROMOTE_SHELL_TO_BACKGROUND"] = "promoteShellToBackground";
305
+ Command2["REVERSE_SEARCH"] = "reverseSearch";
306
+ Command2["SUBMIT_REVERSE_SEARCH"] = "submitReverseSearch";
307
+ Command2["ACCEPT_SUGGESTION_REVERSE_SEARCH"] = "acceptSuggestionReverseSearch";
308
+ Command2["TOGGLE_SHELL_INPUT_FOCUS"] = "toggleShellInputFocus";
309
+ Command2["EXPAND_SUGGESTION"] = "expandSuggestion";
310
+ Command2["COLLAPSE_SUGGESTION"] = "collapseSuggestion";
311
+ Command2["TOGGLE_THINKING_EXPANDED"] = "toggleThinkingExpanded";
312
+ Command2["SCROLL_UP"] = "scrollUp";
313
+ Command2["SCROLL_DOWN"] = "scrollDown";
314
+ Command2["PAGE_UP"] = "pageUp";
315
+ Command2["PAGE_DOWN"] = "pageDown";
316
+ Command2["SCROLL_HOME"] = "scrollHome";
317
+ Command2["SCROLL_END"] = "scrollEnd";
318
+ return Command2;
319
+ })(Command || {});
320
+ var defaultKeyBindings = {
321
+ // Basic bindings
322
+ ["return" /* RETURN */]: [{ key: "return" }],
323
+ ["escape" /* ESCAPE */]: [{ key: "escape" }],
324
+ // Cursor movement
325
+ ["home" /* HOME */]: [{ key: "a", ctrl: true }],
326
+ ["end" /* END */]: [{ key: "e", ctrl: true }],
327
+ // Text deletion
328
+ ["killLineRight" /* KILL_LINE_RIGHT */]: [{ key: "k", ctrl: true }],
329
+ ["killLineLeft" /* KILL_LINE_LEFT */]: [{ key: "u", ctrl: true }],
330
+ ["clearInput" /* CLEAR_INPUT */]: [{ key: "c", ctrl: true, shift: false }],
331
+ // Added command (meta/alt/option) for mac compatibility
332
+ ["deleteWordBackward" /* DELETE_WORD_BACKWARD */]: [
333
+ { key: "backspace", ctrl: true },
334
+ { key: "backspace", command: true },
335
+ // MinTTY (Git Bash on Windows) emits the byte \x1f (ASCII Unit
336
+ // Separator, rendered as "^_" by `cat -v`) for Ctrl+Backspace under
337
+ // its standard Ctrl-modifies-meta-keys convention. The same byte is
338
+ // the historical Ctrl-mapping of the Unit Separator on traditional
339
+ // ANSI/VT terminals (Ctrl+_ and Ctrl+/ also emit it), but qwen-code
340
+ // doesn't bind those keystrokes elsewhere so this entry is additive
341
+ // and non-conflicting on every platform.
342
+ { sequence: "" }
343
+ ],
344
+ // Screen control
345
+ ["clearScreen" /* CLEAR_SCREEN */]: [{ key: "l", ctrl: true }],
346
+ // History navigation
347
+ ["historyUp" /* HISTORY_UP */]: [{ key: "p", ctrl: true }],
348
+ ["historyDown" /* HISTORY_DOWN */]: [{ key: "n", ctrl: true }],
349
+ ["navigationUp" /* NAVIGATION_UP */]: [{ key: "up", shift: false }],
350
+ ["navigationDown" /* NAVIGATION_DOWN */]: [{ key: "down", shift: false }],
351
+ // Selection-list nav: arrows + k/j + Ctrl+P/Ctrl+N
352
+ // ctrl: false on bare k/j skips Ctrl+K and Ctrl+J
353
+ ["selectionUp" /* SELECTION_UP */]: [
354
+ { key: "up", shift: false },
355
+ { key: "k", ctrl: false },
356
+ { key: "p", ctrl: true }
357
+ ],
358
+ ["selectionDown" /* SELECTION_DOWN */]: [
359
+ { key: "down", shift: false },
360
+ { key: "j", ctrl: false },
361
+ { key: "n", ctrl: true }
362
+ ],
363
+ // Auto-completion
364
+ ["acceptSuggestion" /* ACCEPT_SUGGESTION */]: [
365
+ { key: "tab" },
366
+ { key: "return", ctrl: false, shift: false }
367
+ ],
368
+ // Completion navigation: arrows + readline/Vim-style Ctrl+P/Ctrl+N
369
+ ["completionUp" /* COMPLETION_UP */]: [
370
+ { key: "up", shift: false },
371
+ { key: "p", ctrl: true }
372
+ ],
373
+ ["completionDown" /* COMPLETION_DOWN */]: [
374
+ { key: "down", shift: false },
375
+ { key: "n", ctrl: true }
376
+ ],
377
+ // Completion category tab switching (for the tabbed @ completion UI).
378
+ // Bound to the BARE arrow keys: Ctrl+←/→ was the original binding but many
379
+ // terminals intercept it for word-jump, and on macOS the system claims it
380
+ // for Mission Control, so the documented gesture was unreachable for most
381
+ // users (#8069).
382
+ //
383
+ // Tradeoff, accepted deliberately: while the `@` category tabs are visible,
384
+ // the bare arrows no longer move the caret in the input buffer — press Esc
385
+ // to dismiss the menu first. InputPrompt only renders and handles the tabs
386
+ // when they own the arrows, so search and attachment navigation keep their
387
+ // normal behavior.
388
+ //
389
+ // Modifiers are pinned false so Alt/Option+arrow word movement and any
390
+ // Ctrl+arrow terminal binding fall through untouched.
391
+ ["completionTabLeft" /* COMPLETION_TAB_LEFT */]: [
392
+ { key: "left", shift: false, ctrl: false, meta: false }
393
+ ],
394
+ ["completionTabRight" /* COMPLETION_TAB_RIGHT */]: [
395
+ { key: "right", shift: false, ctrl: false, meta: false }
396
+ ],
397
+ // Text input
398
+ // Must also exclude shift to allow shift+enter for newline
399
+ ["submit" /* SUBMIT */]: [
400
+ {
401
+ key: "return",
402
+ ctrl: false,
403
+ command: false,
404
+ paste: false,
405
+ shift: false
406
+ }
407
+ ],
408
+ ["queueMessage" /* QUEUE_MESSAGE */]: [
409
+ { key: "q", ctrl: true, command: false, shift: false, paste: false }
410
+ ],
411
+ // Split into multiple data-driven bindings
412
+ // Now also includes shift+enter for multi-line input
413
+ ["newline" /* NEWLINE */]: [
414
+ { key: "return", ctrl: true },
415
+ { key: "return", command: true },
416
+ { key: "return", paste: true },
417
+ { key: "return", shift: true },
418
+ { key: "j", ctrl: true }
419
+ ],
420
+ ["voicePushToTalk" /* VOICE_PUSH_TO_TALK */]: [{ key: "space", ctrl: false, meta: false }],
421
+ // External tools
422
+ ["openExternalEditor" /* OPEN_EXTERNAL_EDITOR */]: [
423
+ { key: "x", ctrl: true },
424
+ { sequence: "", ctrl: true }
425
+ ],
426
+ ["pasteClipboardImage" /* PASTE_CLIPBOARD_IMAGE */]: process.platform === "win32" ? [
427
+ { key: "v", command: true },
428
+ { key: "v", meta: true }
429
+ ] : [
430
+ { key: "v", ctrl: true },
431
+ { key: "v", command: true }
432
+ ],
433
+ // App level bindings
434
+ ["toggleToolDescriptions" /* TOGGLE_TOOL_DESCRIPTIONS */]: [{ key: "t", ctrl: true }],
435
+ ["toggleIDEContextDetail" /* TOGGLE_IDE_CONTEXT_DETAIL */]: [{ key: "g", ctrl: true }],
436
+ ["quit" /* QUIT */]: [{ key: "c", ctrl: true, shift: false }],
437
+ ["exit" /* EXIT */]: [{ key: "d", ctrl: true }],
438
+ ["showMoreLines" /* SHOW_MORE_LINES */]: [{ key: "s", ctrl: true }],
439
+ ["retryLast" /* RETRY_LAST */]: [{ key: "y", ctrl: true }],
440
+ ["toggleRenderMode" /* TOGGLE_RENDER_MODE */]: [{ key: "m", meta: true }],
441
+ ["promoteShellToBackground" /* PROMOTE_SHELL_TO_BACKGROUND */]: [{ key: "b", ctrl: true }],
442
+ // Shell commands
443
+ ["reverseSearch" /* REVERSE_SEARCH */]: [{ key: "r", ctrl: true }],
444
+ // Note: original logic ONLY checked ctrl=false, ignored meta/shift/paste
445
+ ["submitReverseSearch" /* SUBMIT_REVERSE_SEARCH */]: [{ key: "return", ctrl: false }],
446
+ ["acceptSuggestionReverseSearch" /* ACCEPT_SUGGESTION_REVERSE_SEARCH */]: [{ key: "tab" }],
447
+ ["toggleShellInputFocus" /* TOGGLE_SHELL_INPUT_FOCUS */]: [{ key: "f", ctrl: true }],
448
+ // Suggestion expansion
449
+ ["expandSuggestion" /* EXPAND_SUGGESTION */]: [{ key: "right" }],
450
+ ["collapseSuggestion" /* COLLAPSE_SUGGESTION */]: [{ key: "left" }],
451
+ // Thinking expansion (Ctrl+O primary, Alt+T legacy)
452
+ ["toggleThinkingExpanded" /* TOGGLE_THINKING_EXPANDED */]: [
453
+ { key: "o", ctrl: true },
454
+ { key: "t", meta: true }
455
+ ],
456
+ // Scroll commands
457
+ ["scrollUp" /* SCROLL_UP */]: [{ key: "up", shift: true }],
458
+ ["scrollDown" /* SCROLL_DOWN */]: [{ key: "down", shift: true }],
459
+ ["pageUp" /* PAGE_UP */]: [{ key: "pageup" }],
460
+ ["pageDown" /* PAGE_DOWN */]: [{ key: "pagedown" }],
461
+ ["scrollHome" /* SCROLL_HOME */]: [{ key: "home", ctrl: true }],
462
+ ["scrollEnd" /* SCROLL_END */]: [{ key: "end", ctrl: true }]
463
+ };
464
+
465
+ // packages/cli/src/ui/keyMatchers.ts
466
+ function matchKeyBinding(keyBinding, key) {
467
+ let keyMatches = false;
468
+ if (keyBinding.key !== void 0) {
469
+ keyMatches = keyBinding.key === key.name;
470
+ } else if (keyBinding.sequence !== void 0) {
471
+ keyMatches = keyBinding.sequence === key.sequence;
472
+ } else {
473
+ return false;
474
+ }
475
+ if (!keyMatches) {
476
+ return false;
477
+ }
478
+ if (keyBinding.ctrl !== void 0 && !!key.ctrl !== keyBinding.ctrl) {
479
+ return false;
480
+ }
481
+ if (keyBinding.shift !== void 0 && !!key.shift !== keyBinding.shift) {
482
+ return false;
483
+ }
484
+ if (keyBinding.command !== void 0 && !!key.meta !== keyBinding.command) {
485
+ return false;
486
+ }
487
+ if (keyBinding.paste !== void 0 && !!key.paste !== keyBinding.paste) {
488
+ return false;
489
+ }
490
+ if (keyBinding.meta !== void 0 && !!key.meta !== keyBinding.meta) {
491
+ return false;
492
+ }
493
+ return true;
494
+ }
495
+ __name(matchKeyBinding, "matchKeyBinding");
496
+ function matchCommand(command, key, config = defaultKeyBindings) {
497
+ const bindings = config[command];
498
+ return bindings.some((binding) => matchKeyBinding(binding, key));
499
+ }
500
+ __name(matchCommand, "matchCommand");
501
+ function createKeyMatchers(config = defaultKeyBindings) {
502
+ const matchers = {};
503
+ for (const command of Object.values(Command)) {
504
+ matchers[command] = (key) => matchCommand(command, key, config);
505
+ }
506
+ return matchers;
507
+ }
508
+ __name(createKeyMatchers, "createKeyMatchers");
509
+ var keyMatchers = createKeyMatchers(defaultKeyBindings);
510
+
511
+ // packages/cli/src/ui/utils/tool-display-map.ts
512
+ init_esbuild_shims();
513
+ var TOOL_DISPLAY_BY_NAME = Object.fromEntries(
514
+ Object.keys(ToolNames).map((key) => [
515
+ ToolNames[key],
516
+ ToolDisplayNames[key]
517
+ ])
518
+ );
519
+
520
+ // packages/cli/src/ui/utils/modelsBySource.ts
521
+ init_esbuild_shims();
522
+ function flattenModelsBySource(models) {
523
+ const sessionHasNonMainSource = Object.values(models).some(
524
+ (modelMetrics) => Object.keys(modelMetrics.bySource).some((source) => source !== MAIN_SOURCE)
525
+ );
526
+ const result = [];
527
+ for (const [modelName, modelMetrics] of Object.entries(models)) {
528
+ if (modelMetrics.api.totalRequests <= 0) continue;
529
+ const displayName = normalizeModelName(modelName);
530
+ const sourceNames = Object.keys(modelMetrics.bySource);
531
+ if (sourceNames.length === 0) {
532
+ result.push({
533
+ key: modelName,
534
+ label: displayName,
535
+ metrics: modelMetrics
536
+ });
537
+ continue;
538
+ }
539
+ if (!sessionHasNonMainSource) {
540
+ result.push({
541
+ key: modelName,
542
+ label: displayName,
543
+ metrics: modelMetrics.bySource[MAIN_SOURCE] ?? modelMetrics
544
+ });
545
+ continue;
546
+ }
547
+ const sortedSources = sortSources(sourceNames);
548
+ for (const source of sortedSources) {
549
+ result.push({
550
+ key: `${modelName}::${source}`,
551
+ label: `${displayName} (${source})`,
552
+ metrics: modelMetrics.bySource[source]
553
+ });
554
+ }
555
+ }
556
+ return result;
557
+ }
558
+ __name(flattenModelsBySource, "flattenModelsBySource");
559
+ function normalizeModelName(modelName) {
560
+ return modelName.replace("-001", "");
561
+ }
562
+ __name(normalizeModelName, "normalizeModelName");
563
+ function sortSources(sources) {
564
+ const main = [];
565
+ const rest = [];
566
+ for (const source of sources) {
567
+ if (source === MAIN_SOURCE) {
568
+ main.push(source);
569
+ } else {
570
+ rest.push(source);
571
+ }
572
+ }
573
+ rest.sort((a, b) => a.localeCompare(b));
574
+ return [...main, ...rest];
575
+ }
576
+ __name(sortSources, "sortSources");
577
+
578
+ export {
579
+ SESSION_PAGE_SIZE,
580
+ truncateText,
581
+ filterSessions,
582
+ formatMessageCount,
583
+ osc8Open,
584
+ osc8Close,
585
+ isSafeOscScheme,
586
+ trimTrailingUrlPunctuation,
587
+ MD_LINK_PATTERN,
588
+ MD_LINK_CAPTURE,
589
+ BARE_URL_PATTERN,
590
+ shouldWrapMarkdownLink,
591
+ labelMayDeceive,
592
+ getArenaStatusLabel,
593
+ TOOL_SUCCESS_RATE_HIGH,
594
+ TOOL_SUCCESS_RATE_MEDIUM,
595
+ USER_AGREEMENT_RATE_HIGH,
596
+ USER_AGREEMENT_RATE_MEDIUM,
597
+ getStatusColor,
598
+ formatDuration,
599
+ keyMatchers,
600
+ TOOL_DISPLAY_BY_NAME,
601
+ flattenModelsBySource
602
+ };
603
+ /**
604
+ * @license
605
+ * Copyright 2025 Qwen Code
606
+ * SPDX-License-Identifier: Apache-2.0
607
+ */
608
+ /**
609
+ * @license
610
+ * Copyright 2025 Qwen
611
+ * SPDX-License-Identifier: Apache-2.0
612
+ */
613
+ /**
614
+ * @license
615
+ * Copyright 2025 Google LLC
616
+ * SPDX-License-Identifier: Apache-2.0
617
+ */
618
+ /**
619
+ * @license
620
+ * Copyright 2025 Qwen Team
621
+ * SPDX-License-Identifier: Apache-2.0
622
+ */
@@ -0,0 +1,18 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+
7
+ // packages/cli/src/ui/utils/suggestions.ts
8
+ init_esbuild_shims();
9
+ var MAX_SUGGESTIONS_TO_SHOW = 8;
10
+
11
+ export {
12
+ MAX_SUGGESTIONS_TO_SHOW
13
+ };
14
+ /**
15
+ * @license
16
+ * Copyright 2025 Google LLC
17
+ * SPDX-License-Identifier: Apache-2.0
18
+ */
@@ -405,18 +405,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
405
405
  try {
406
406
  if (authType === "openai" /* USE_OPENAI */) {
407
407
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
408
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-BZW2IB42.js");
408
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-ACYSXQ6R.js");
409
409
  return createOpenAIContentGenerator(generatorConfig, config);
410
410
  }, "loadBaseGenerator");
411
411
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
412
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-QMK25XO7.js");
412
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-OU3WGDOI.js");
413
413
  try {
414
414
  const qwenClient = await getQwenOauthClient(
415
415
  config,
416
416
  isInitialAuth ? { requireCachedCredentials: true } : void 0
417
417
  );
418
418
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
419
- const { QwenContentGenerator } = await import("./qwenContentGenerator-KHJ73E2C.js");
419
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-BB6IPELF.js");
420
420
  return new QwenContentGenerator(qwenClient, generatorConfig, config);
421
421
  }, "loadBaseGenerator");
422
422
  } catch (error) {
@@ -427,12 +427,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
427
427
  }
428
428
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
429
429
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
430
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-7HEP7Q5D.js");
430
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-4JSC3ZFL.js");
431
431
  return createAnthropicContentGenerator(generatorConfig, config);
432
432
  }, "loadBaseGenerator");
433
433
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
434
434
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
435
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-GMSVVXOU.js");
435
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-MC6ZKWZG.js");
436
436
  return createGeminiContentGenerator(generatorConfig, config);
437
437
  }, "loadBaseGenerator");
438
438
  } else {
@@ -448,7 +448,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
448
448
  try {
449
449
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
450
450
  loadBaseGenerator(),
451
- import("./loggingContentGenerator-XXG6YWUE.js")
451
+ import("./loggingContentGenerator-D4URLH2A.js")
452
452
  ]);
453
453
  return new LoggingContentGenerator(
454
454
  baseGenerator,