@qwen-code/qwen-code 0.23.1-preview.2 → 0.23.1

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 (297) hide show
  1. package/bundled/computer-use/SKILL.md +189 -116
  2. package/bundled/goal-draft/SKILL.md +23 -13
  3. package/bundled/qc-helper/docs/_meta.ts +1 -0
  4. package/bundled/qc-helper/docs/configuration/model-providers.md +47 -1
  5. package/bundled/qc-helper/docs/configuration/settings.md +50 -0
  6. package/bundled/qc-helper/docs/conversations-recovery.md +102 -0
  7. package/bundled/qc-helper/docs/features/channels/overview.md +1 -1
  8. package/bundled/qc-helper/docs/features/computer-use.md +9 -7
  9. package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
  10. package/bundled/qc-helper/docs/features/goals.md +15 -3
  11. package/bundled/qc-helper/docs/qwen-serve.md +19 -1
  12. package/chunks/{MaxSizedBox-IYIQ43IZ.js → MaxSizedBox-UDO6Y7RB.js} +20 -20
  13. package/chunks/{StandaloneSessionPicker-AWB2OHX6.js → StandaloneSessionPicker-D4CUOO4H.js} +38 -38
  14. package/chunks/{acp-startup-profiler-BAL4LJTN.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
  15. package/chunks/{acpAgent-ZC57OLS4.js → acpAgent-KWLJFADK.js} +118 -91
  16. package/chunks/{agent-GEBPAEJS.js → agent-GSUPGEOL.js} +13 -13
  17. package/chunks/{agent-headless-63ZEYAJK.js → agent-headless-HNYCQUJB.js} +13 -13
  18. package/chunks/{anthropicContentGenerator-6XDHXIII.js → anthropicContentGenerator-I7LQZH26.js} +30 -7
  19. package/chunks/{askUserQuestion-3KAYLLMM.js → askUserQuestion-I5W5S3D6.js} +1 -1
  20. package/chunks/{bridge-MHWO5I5T.js → bridge-B7CV6RVI.js} +23 -23
  21. package/chunks/{channel-management-service-NFRZXQFO.js → channel-management-service-TRTLQTSV.js} +4 -4
  22. package/chunks/{channel-settings-store-T7PMIHKC.js → channel-settings-store-FW45IRUP.js} +31 -31
  23. package/chunks/{channel-worker-group-O2BWK5F7.js → channel-worker-group-PIYPVCTF.js} +6 -6
  24. package/chunks/{channel-worker-manager-4WP7VJOD.js → channel-worker-manager-FQHEDTD2.js} +6 -6
  25. package/chunks/{channel-worker-supervisor-CCUXD6J5.js → channel-worker-supervisor-XJPZZ3VK.js} +3 -3
  26. package/chunks/{chunk-KTLT7VCX.js → chunk-25CBAK3H.js} +2 -2
  27. package/chunks/{chunk-SHX2HIE7.js → chunk-27LTEY6D.js} +1 -1
  28. package/chunks/{chunk-ZT3XUGSU.js → chunk-2TMJRF46.js} +86 -9
  29. package/chunks/{chunk-HWZOOSEB.js → chunk-2YS3NU4A.js} +3 -3
  30. package/chunks/chunk-2Z3T52OC.js +82 -0
  31. package/chunks/{chunk-QW7BUOSI.js → chunk-2ZFO5JD7.js} +20 -3
  32. package/chunks/{chunk-RH344FKI.js → chunk-3BTHHXXE.js} +1 -1
  33. package/chunks/{chunk-OFB36ZBA.js → chunk-3LPJ776W.js} +1 -1
  34. package/chunks/{chunk-GEV66YGE.js → chunk-3VDLQUR2.js} +1 -1
  35. package/chunks/{chunk-RRCNEW2A.js → chunk-3VWPPK5Q.js} +58 -4
  36. package/chunks/{chunk-L36LLVA5.js → chunk-3YQMUBTS.js} +3 -3
  37. package/chunks/{chunk-LTCI6ZOJ.js → chunk-45ROPFQY.js} +1 -1
  38. package/chunks/{chunk-W4LL5RZO.js → chunk-4ALNJDHL.js} +52 -13
  39. package/chunks/{chunk-4OCYWXKF.js → chunk-5CVY5Q2P.js} +3 -3
  40. package/chunks/{chunk-ZRVFHLLK.js → chunk-5DQ4YTIZ.js} +1 -1
  41. package/chunks/{chunk-FWH4736Q.js → chunk-5IL2BZHW.js} +3 -3
  42. package/chunks/{chunk-537SQ2AI.js → chunk-5WC2ECUK.js} +104 -16
  43. package/chunks/{chunk-3K65MUKD.js → chunk-65I7S4Z3.js} +2 -1
  44. package/chunks/{chunk-RUMSY4ES.js → chunk-66JBCTJF.js} +8 -7
  45. package/chunks/{chunk-YLFICBYK.js → chunk-6JXHO7LG.js} +3 -3
  46. package/chunks/{chunk-TDHVOZ65.js → chunk-6QILGINT.js} +2 -2
  47. package/chunks/{chunk-WQBR7LN5.js → chunk-6QV7Z74P.js} +1 -1
  48. package/chunks/{chunk-RSU3I6UL.js → chunk-6SADVYQQ.js} +1 -1
  49. package/chunks/{chunk-AIMZIXZM.js → chunk-6TPVIESH.js} +5 -7
  50. package/chunks/{chunk-2LD5U7Q3.js → chunk-6YEOCHSE.js} +29 -1
  51. package/chunks/{chunk-7PMKXGRP.js → chunk-75LBC7SV.js} +66 -9
  52. package/chunks/{chunk-B5FF3LRF.js → chunk-7SL55L5H.js} +22 -15
  53. package/chunks/{chunk-I7UNCY24.js → chunk-ARYNBBBM.js} +3 -3
  54. package/chunks/{chunk-QQGAR64U.js → chunk-B3EL44K3.js} +4 -4
  55. package/chunks/{chunk-KAZWXVI3.js → chunk-CABDNUJ4.js} +2 -2
  56. package/chunks/{chunk-R7TKFIQO.js → chunk-CALNF3Z3.js} +1 -1
  57. package/chunks/{chunk-75UQFGFE.js → chunk-CHVU543W.js} +1 -1
  58. package/chunks/{chunk-C4NXRR7T.js → chunk-CIKL2DQP.js} +2 -2
  59. package/chunks/{chunk-LD53HMPV.js → chunk-CRZBDVP2.js} +1 -0
  60. package/chunks/{chunk-SHK2SIR5.js → chunk-D6AQNMUA.js} +4 -4
  61. package/chunks/{chunk-EPZWBYQI.js → chunk-DO5SMV52.js} +8 -6
  62. package/chunks/{chunk-P5Z7VD23.js → chunk-DXQ6Z7AH.js} +106 -39
  63. package/chunks/{chunk-3RMVM33U.js → chunk-DZ6D4B3K.js} +5 -5
  64. package/chunks/{chunk-T7TP5UQL.js → chunk-E7XSUYCZ.js} +4 -4
  65. package/chunks/{chunk-2C3XDBGL.js → chunk-EEKU6COG.js} +4 -4
  66. package/chunks/{chunk-AX23QSX3.js → chunk-EHTKOO6W.js} +4 -4
  67. package/chunks/{chunk-XNC2TCUO.js → chunk-ENZDGHGJ.js} +4 -4
  68. package/chunks/{chunk-733KQL63.js → chunk-EOET4H7C.js} +3 -3
  69. package/chunks/{chunk-37SOBIA3.js → chunk-ERXNTINK.js} +1 -1
  70. package/chunks/{chunk-F47DITLZ.js → chunk-FAWTMDX7.js} +14 -0
  71. package/chunks/{chunk-5JLQWQK6.js → chunk-FV4DM2M4.js} +2 -2
  72. package/chunks/{chunk-UTVIIA7N.js → chunk-FW4E4QPG.js} +1 -1
  73. package/chunks/{chunk-REDVV5NC.js → chunk-FWRRUITH.js} +7 -7
  74. package/chunks/{chunk-5V4B3EWA.js → chunk-GM44O6F7.js} +1 -1
  75. package/chunks/{chunk-Z6DDPSGJ.js → chunk-GNY7B3CA.js} +1 -1
  76. package/chunks/{chunk-ERMAXPXA.js → chunk-HIXUUCGY.js} +187 -12
  77. package/chunks/{chunk-EJNYBDYC.js → chunk-HNLMYDQE.js} +1 -1
  78. package/chunks/{chunk-XX4MBBFW.js → chunk-HUX2DOTF.js} +3 -3
  79. package/chunks/{chunk-RCUWMVN3.js → chunk-HZ2HUXX7.js} +1 -1
  80. package/chunks/{chunk-RD3VPM4E.js → chunk-IKG2YVRZ.js} +2 -2
  81. package/chunks/{chunk-IMWCUWQT.js → chunk-J3TJH52D.js} +1 -1
  82. package/chunks/{chunk-ZJ2LM2SI.js → chunk-JGDRB4FP.js} +104 -33
  83. package/chunks/{chunk-ANVC5CSK.js → chunk-L7V52QEZ.js} +10 -10
  84. package/chunks/{chunk-MFCWL4LI.js → chunk-LNCNUMJ5.js} +451 -396
  85. package/chunks/{chunk-AUJOWIT5.js → chunk-LZGFVUWZ.js} +3 -3
  86. package/chunks/{chunk-6KYWU726.js → chunk-M73KHGNR.js} +13 -66
  87. package/chunks/{chunk-ADJD4LZF.js → chunk-MA5OUNN6.js} +1 -1
  88. package/chunks/{chunk-I67KJGM6.js → chunk-MFYH2VXV.js} +3 -3
  89. package/chunks/{chunk-PLUAIHZO.js → chunk-N7YQEKGX.js} +6 -6
  90. package/chunks/{chunk-JOV46WGX.js → chunk-NB3NDQQK.js} +1 -1
  91. package/chunks/chunk-NOO4QFXM.js +171 -0
  92. package/chunks/{chunk-VYCJITND.js → chunk-O2JBJQCF.js} +1 -1
  93. package/chunks/{chunk-RQNAO42A.js → chunk-OESZTXTG.js} +1 -1
  94. package/chunks/{chunk-UKADFFL2.js → chunk-OFVAS4AR.js} +1 -1
  95. package/chunks/{chunk-Y3C5COGI.js → chunk-OPMKGOLD.js} +1 -1
  96. package/chunks/{chunk-TSLRORQR.js → chunk-PDUMGZ2P.js} +1467 -1323
  97. package/chunks/{chunk-Z6KFLEG7.js → chunk-PSPAM24S.js} +1 -0
  98. package/chunks/{chunk-5FYGZ7E3.js → chunk-QK4K76T6.js} +2 -2
  99. package/chunks/{chunk-NUQFUXOG.js → chunk-QTNCGZHQ.js} +2 -0
  100. package/chunks/{chunk-WFXD5OZH.js → chunk-QZOXVQPK.js} +1 -1
  101. package/chunks/{chunk-QJVZLILI.js → chunk-R7OO56VZ.js} +1 -1
  102. package/chunks/{chunk-KP5QK3FB.js → chunk-RNYENHN5.js} +397 -54
  103. package/chunks/{chunk-22QOQKG4.js → chunk-RXT4QBDX.js} +1 -1
  104. package/chunks/{chunk-LYHYXJJ3.js → chunk-S6QVI3MV.js} +3 -3
  105. package/chunks/{chunk-NXWYCSPL.js → chunk-SOA4HKRJ.js} +1 -1
  106. package/chunks/{chunk-IGOIYZBG.js → chunk-T2IHCZLS.js} +2 -2
  107. package/chunks/{chunk-C55CR5I4.js → chunk-TGC4264Q.js} +6 -6
  108. package/chunks/{chunk-EGRFCIXD.js → chunk-TWAMIEQ2.js} +79 -18
  109. package/chunks/{chunk-PMGWY6ZP.js → chunk-TWWS7XUW.js} +13 -10
  110. package/chunks/{chunk-RGAQDQ3Z.js → chunk-UHUT4IDM.js} +18 -9
  111. package/chunks/{chunk-HPE4LEWX.js → chunk-USN6VNTO.js} +1 -1
  112. package/chunks/{chunk-BNWIX6BM.js → chunk-UXDVUFKU.js} +3 -3
  113. package/chunks/{chunk-HY3DXYZK.js → chunk-UYDQYDW2.js} +1 -1
  114. package/chunks/{chunk-3K456UJF.js → chunk-VF6D6EGV.js} +12 -4
  115. package/chunks/{chunk-ZNI3V2XA.js → chunk-WAASYFPK.js} +2 -2
  116. package/chunks/{chunk-OHOO527W.js → chunk-WG7BL3FY.js} +52 -2
  117. package/chunks/{chunk-C7M445SS.js → chunk-WJDXKQIO.js} +1 -1
  118. package/chunks/{chunk-HZS3JRQW.js → chunk-WNISCNTA.js} +40 -2
  119. package/chunks/{chunk-AWDF462I.js → chunk-WQMUGQ6G.js} +2 -2
  120. package/chunks/{chunk-VU7O7CGQ.js → chunk-XDNFODER.js} +1 -1
  121. package/chunks/{chunk-65GHQ4FX.js → chunk-XVTCSVBK.js} +514 -47
  122. package/chunks/{chunk-SI6Q52UI.js → chunk-XZ3Z43XL.js} +3 -3
  123. package/chunks/{chunk-SD7Y2PMC.js → chunk-YAC7H4K3.js} +2 -2
  124. package/chunks/{chunk-FXYNIZPW.js → chunk-YCEKI7QX.js} +51 -10
  125. package/chunks/{chunk-7IKXTGZT.js → chunk-YI2YCNSP.js} +1 -1
  126. package/chunks/{chunk-E4VX6LXB.js → chunk-YZTGGCEE.js} +10 -2
  127. package/chunks/{chunk-VMFPZXRT.js → chunk-ZNO5BUAD.js} +43 -31
  128. package/chunks/{chunk-WLZRMF3C.js → chunk-ZPL2TZNA.js} +353 -11
  129. package/chunks/{chunk-TXAEXF2B.js → chunk-ZU2T5JIS.js} +21 -8
  130. package/chunks/{config-utils-F4CFJ4MW.js → config-utils-KTDSQ4MU.js} +24 -24
  131. package/chunks/{contextCommand-OIIGGOMU.js → contextCommand-UQ3KRYGK.js} +22 -22
  132. package/chunks/{core-runtime-JEHLOGMB.js → core-runtime-JR34JAFH.js} +20 -20
  133. package/chunks/{create-sub-session-MVFBE5RA.js → create-sub-session-RGPJOI4S.js} +21 -21
  134. package/chunks/{daemon-LCUELM6E.js → daemon-UI6SQSBV.js} +1 -1
  135. package/chunks/{daemon-git-worktree-guard-5FTKLJOU.js → daemon-git-worktree-guard-H3OA26KQ.js} +20 -20
  136. package/chunks/{daemon-status-provider-P6A5MPMW.js → daemon-status-provider-6WZLKSZU.js} +27 -27
  137. package/chunks/{daemon-trust-policy-ZJ3NFYUO.js → daemon-trust-policy-3EDP2BYD.js} +27 -27
  138. package/chunks/{daemon-trust-policy-monitor-6SDLEW7S.js → daemon-trust-policy-monitor-CRHZPK52.js} +27 -27
  139. package/chunks/{deferred-core-runtime-DWOXIU5S.js → deferred-core-runtime-LO5NTQQ4.js} +20 -20
  140. package/chunks/{discovery-TUM3ZQ6U.js → discovery-XP4RMDUM.js} +4 -2
  141. package/chunks/{dist-NXW4DUUX.js → dist-24TCWK5H.js} +1 -1
  142. package/chunks/{dist-I74QLLQS.js → dist-5I4HLUTO.js} +1 -1
  143. package/chunks/{dist-XINEKB5A.js → dist-FDISN4AK.js} +1 -1
  144. package/chunks/{dist-VCAS67N5.js → dist-M4CBX53H.js} +1 -1
  145. package/chunks/{dist-AI25RVRA.js → dist-NQ2636VT.js} +1 -1
  146. package/chunks/{dist-3H3WODVS.js → dist-OR2ZQTXZ.js} +1 -1
  147. package/chunks/{dist-P6YWBITG.js → dist-STAGIFNB.js} +430 -51
  148. package/chunks/{dist-YNQU4CKC.js → dist-WZTUKIDR.js} +2 -2
  149. package/chunks/{dist-T4PRA5EZ.js → dist-XJ25G6OH.js} +1 -1
  150. package/chunks/{edit-WPVXLL3T.js → edit-LB7Z7XK5.js} +13 -13
  151. package/chunks/{enter-worktree-5A6VW6BN.js → enter-worktree-YFTKHXHZ.js} +2 -2
  152. package/chunks/{enterPlanMode-JSODW7E2.js → enterPlanMode-P6TVUFIY.js} +13 -13
  153. package/chunks/{environment-5LLJ3I3W.js → environment-QATJNNKI.js} +23 -23
  154. package/chunks/{errors-IQT3YZEP.js → errors-3XJ37PS2.js} +22 -22
  155. package/chunks/{exit-worktree-QV7E7KP6.js → exit-worktree-NF2XEMES.js} +3 -3
  156. package/chunks/{exitPlanMode-DDVFYNW4.js → exitPlanMode-A3OKL5UO.js} +13 -13
  157. package/chunks/{fast-path-PAUQQEVU.js → fast-path-DBIT5YQQ.js} +3 -3
  158. package/chunks/{fast-path-settings-ISEJPRYE.js → fast-path-settings-SATXY3PD.js} +3 -3
  159. package/chunks/{glob-SQ7CTZ7F.js → glob-73EDTXUE.js} +13 -13
  160. package/chunks/{goal-tools-UWZRCLQB.js → goal-tools-DFI6YMSD.js} +13 -13
  161. package/chunks/{handleAutoUpdate-RUPZZTSG.js → handleAutoUpdate-2FUNJO3B.js} +23 -23
  162. package/chunks/{i18n-SF5MPWEB.js → i18n-FDIA6KFI.js} +23 -21
  163. package/chunks/{image-gen-Q3RUTVKR.js → image-gen-XP4NNIYG.js} +4 -4
  164. package/chunks/{initializer-CK4WPYZG.js → initializer-4MJTJOTW.js} +27 -27
  165. package/chunks/{installationInfo-IRPQEYRF.js → installationInfo-232RA2OK.js} +20 -20
  166. package/chunks/{list-E3PS3EBJ.js → list-WN6WSGEB.js} +30 -30
  167. package/chunks/{llm-JQKBOYAF.js → llm-UDFWQWZA.js} +62 -62
  168. package/chunks/{llm-content-generator-2QWGBW42.js → llm-content-generator-VLMZ2A7A.js} +23 -8
  169. package/chunks/{loadedSettingsAdapter-DGXGVYZS.js → loadedSettingsAdapter-OBQEIXM7.js} +27 -27
  170. package/chunks/{loggingContentGenerator-ZYURLJKK.js → loggingContentGenerator-RGVUMUVX.js} +14 -14
  171. package/chunks/{managed-npm-update-HTHR63EA.js → managed-npm-update-QBAJYCFU.js} +20 -20
  172. package/chunks/{mcp-I7G2AEWS.js → mcp-OTIZZCPY.js} +27 -27
  173. package/chunks/{monitor-4R76BCRZ.js → monitor-BV5XF6LL.js} +13 -13
  174. package/chunks/{nonInteractiveCli-24OQ3VP2.js → nonInteractiveCli-W6MUKDVJ.js} +64 -61
  175. package/chunks/{notebook-edit-PPSH7FEX.js → notebook-edit-HGBEKGTE.js} +13 -13
  176. package/chunks/{openaiContentGenerator-K7V5EO7F.js → openaiContentGenerator-NSU3ERBH.js} +8 -8
  177. package/chunks/{pidfile-TGIUY2GG.js → pidfile-LE3TU4GE.js} +20 -20
  178. package/chunks/{processUtils-3USXUQWX.js → processUtils-YFBGJK67.js} +2 -2
  179. package/chunks/{prompt-terminal-ledger-XHVZRXJI.js → prompt-terminal-ledger-4W4W7DSO.js} +21 -21
  180. package/chunks/{qwenContentGenerator-MPBOQB64.js → qwenContentGenerator-HTA57WFC.js} +16 -16
  181. package/chunks/{qwenOAuth2-BS5D2LYV.js → qwenOAuth2-KX6LVYQ3.js} +4 -4
  182. package/chunks/{read-file-R256LDWQ.js → read-file-KHPQ2MB6.js} +2 -2
  183. package/chunks/{resumeHistoryUtils-S43LTFHD.js → resumeHistoryUtils-K7RV3QBN.js} +23 -23
  184. package/chunks/{ripGrep-L7HPZ75Y.js → ripGrep-NBBVCMG4.js} +3 -3
  185. package/chunks/{run-qwen-serve-CTFL5R6U.js → run-qwen-serve-A3JBOZCM.js} +58 -60
  186. package/chunks/{runtime-FS5TL6P7.js → runtime-7YOU2KJ3.js} +32 -32
  187. package/chunks/{scheduled-tasks-QXPV3Q35.js → scheduled-tasks-52LXK7LN.js} +25 -25
  188. package/chunks/{scheduler-EXU5HMVK.js → scheduler-J44M72VM.js} +22 -22
  189. package/chunks/{send-message-GQKXGMPI.js → send-message-AWKUDJBH.js} +1 -1
  190. package/chunks/{serve-ITJC7WNN.js → serve-TRC6XJUB.js} +27 -27
  191. package/chunks/{server-6JQY3PTU.js → server-YPNTJLX2.js} +1296 -822
  192. package/chunks/{session-PJDEKXD4.js → session-FMMIBFYX.js} +63 -62
  193. package/chunks/{session-attachments-root-L37ORSST.js → session-attachments-root-LDJMNK7K.js} +20 -20
  194. package/chunks/{session-pr-refresh-WIFD52YL.js → session-pr-refresh-NLR4EK2J.js} +24 -24
  195. package/chunks/{settings-LO6J5SAZ.js → settings-A46L577J.js} +26 -26
  196. package/chunks/{shell-ANAFVYGR.js → shell-Q5LSQPPY.js} +13 -13
  197. package/chunks/{skill-SHJWKSPH.js → skill-75KPJRCM.js} +2 -2
  198. package/chunks/{skill-settings-GX3XHZ5Q.js → skill-settings-775YT4YR.js} +26 -26
  199. package/chunks/{spawnChannel-WE42VBKM.js → spawnChannel-XY73I5CU.js} +20 -20
  200. package/chunks/{standalone-update-CWDIKJRP.js → standalone-update-L46XXNQ2.js} +22 -22
  201. package/chunks/{start-opentui-ui-BBHGFOTF.js → start-opentui-ui-WLV43247.js} +1991 -986
  202. package/chunks/{startInteractiveUI-FQX7LUYP.js → startInteractiveUI-F5DKMLOV.js} +1119 -1478
  203. package/chunks/{team-create-WKTPCH6D.js → team-create-2PATB77U.js} +13 -13
  204. package/chunks/{team-plan-approval-Y23DL7WR.js → team-plan-approval-QTANEWOS.js} +13 -13
  205. package/chunks/{terminal-image-renderer-B646HBDW.js → terminal-image-renderer-OGULCFNF.js} +20 -20
  206. package/chunks/{theme-manager-BNWESY26.js → theme-manager-CNO3QERP.js} +20 -20
  207. package/chunks/{tool-search-PVQ5O5Y2.js → tool-search-VXWEOZE7.js} +2 -2
  208. package/chunks/{total-session-admission-P5Z43KNW.js → total-session-admission-4KAADZPB.js} +24 -24
  209. package/chunks/{trustedFolders-FH2LT2MZ.js → trustedFolders-PPJSOPOT.js} +21 -21
  210. package/chunks/{update-relaunch-WOWTKJSN.js → update-relaunch-4PT4MW7B.js} +5 -5
  211. package/chunks/{updateCheck-3MYFMM35.js → updateCheck-WAVFLWNG.js} +22 -22
  212. package/chunks/{useAutoAcceptIndicator-Q7ZRRRKO.js → useAutoAcceptIndicator-XNED4NRB.js} +29 -29
  213. package/chunks/{validateNonInterActiveAuth-MYEWJX3G.js → validateNonInterActiveAuth-J676DUQ2.js} +59 -58
  214. package/chunks/{version-RO2FPO76.js → version-J6SRRQB2.js} +1 -1
  215. package/chunks/{web-fetch-QAKY2LUA.js → web-fetch-FMZZYX44.js} +5 -5
  216. package/chunks/{web-search-XA5Z4ZCD.js → web-search-3G2KXCX5.js} +18 -7
  217. package/chunks/{workflow-QFIOCMDM.js → workflow-PPZZICQ7.js} +15 -15
  218. package/chunks/{workspace-providers-status-B2UD7RAG.js → workspace-providers-status-IIYTAQST.js} +29 -29
  219. package/chunks/{workspace-registration-store-VZLRTI3Q.js → workspace-registration-store-VHCDXAV7.js} +1 -1
  220. package/chunks/{workspace-registry-GYOGG6TM.js → workspace-registry-I7VQIPS2.js} +24 -24
  221. package/chunks/{workspace-runtime-coordinator-7KRXGQ4V.js → workspace-runtime-coordinator-DBGNY32G.js} +24 -24
  222. package/chunks/{workspace-service-DJEYGJE4.js → workspace-service-QSKB2T54.js} +31 -31
  223. package/chunks/{workspace-skills-status-MOKNESUC.js → workspace-skills-status-T7GPT65J.js} +27 -27
  224. package/chunks/{workspace-trust-reconciler-AXOSUTQW.js → workspace-trust-reconciler-2PKRDAU4.js} +31 -31
  225. package/chunks/{write-file-QOYVHAKK.js → write-file-L76CGFTQ.js} +14 -14
  226. package/chunks/{zoom-image-UCCLGFNC.js → zoom-image-TDJJY2VZ.js} +2 -2
  227. package/cli.js +13 -13
  228. package/export-transcript-document.js +126 -122
  229. package/package.json +3 -3
  230. package/web-shell/assets/{abnfDiagram-VCTEODGH-CTstZpXw.js → abnfDiagram-VCTEODGH-DHc6plZn.js} +1 -1
  231. package/web-shell/assets/{arc-DKW0mbPo.js → arc-BQ9m8TDV.js} +1 -1
  232. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DkMpJ42t.js → architectureDiagram-5GKGNRK7-D5ap3oVB.js} +1 -1
  233. package/web-shell/assets/{blockDiagram-NRAW4CY4-7Cp1_4i3.js → blockDiagram-NRAW4CY4-BIbnyNph.js} +1 -1
  234. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BfaoSlBK.js → c4Diagram-UCG6FXSJ-BRsdx_iG.js} +1 -1
  235. package/web-shell/assets/channel-uMMdTrYk.js +1 -0
  236. package/web-shell/assets/{chunk-2Q5K7J3B-_n1qzAio.js → chunk-2Q5K7J3B-3lf1fNlx.js} +1 -1
  237. package/web-shell/assets/{chunk-5VM5RSS4-0cira5ZV.js → chunk-5VM5RSS4-DP8VNRc4.js} +1 -1
  238. package/web-shell/assets/{chunk-F27PBJKO-DseRXSHC.js → chunk-F27PBJKO-DrohDmZ6.js} +1 -1
  239. package/web-shell/assets/{chunk-G27WJ6UU-BehQWin0.js → chunk-G27WJ6UU-UZ2QhSx6.js} +1 -1
  240. package/web-shell/assets/{chunk-JWPE2WC7-B5ftg1Bb.js → chunk-JWPE2WC7-BIMHVcZK.js} +1 -1
  241. package/web-shell/assets/{chunk-LCL6LL3I-D7rnbVdk.js → chunk-LCL6LL3I-izRxdSDd.js} +1 -1
  242. package/web-shell/assets/{chunk-POPQ4Y6H-2Bp-Orju.js → chunk-POPQ4Y6H-CXADD4PP.js} +1 -1
  243. package/web-shell/assets/{chunk-SVP7TREG-CD2goGva.js → chunk-SVP7TREG-B96d8Y_1.js} +1 -1
  244. package/web-shell/assets/{chunk-XXDRQBXY-DzQt-Rji.js → chunk-XXDRQBXY-CF2sVQpv.js} +1 -1
  245. package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +1 -0
  246. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +1 -0
  247. package/web-shell/assets/{cose-bilkent-JH36ORCC-C-BZXSUn.js → cose-bilkent-JH36ORCC-CT6tXVAS.js} +1 -1
  248. package/web-shell/assets/csv-CX7rUNeC.svg +1 -0
  249. package/web-shell/assets/{cynefin-OW5HDTMX-BTcvowe1.js → cynefin-OW5HDTMX-X1NS4vtV.js} +1 -1
  250. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BoUE6K81.js → cynefinDiagram-5FMLGOSQ-DNsKNOT4.js} +1 -1
  251. package/web-shell/assets/{dagre-3AP2YEHR-BHxy9xeB.js → dagre-3AP2YEHR-9-AHKqsb.js} +1 -1
  252. package/web-shell/assets/{diagram-S7CK7UJ4-DMiJIvDT.js → diagram-S7CK7UJ4-Bjgms7j6.js} +1 -1
  253. package/web-shell/assets/{diagram-UQ7AKVKN-DXV09Aes.js → diagram-UQ7AKVKN-h6bCprbE.js} +1 -1
  254. package/web-shell/assets/{diagram-VSXAHHWV-CocpRomV.js → diagram-VSXAHHWV-4SbQXVLt.js} +1 -1
  255. package/web-shell/assets/{diagram-VX7I27RA-DL7nqtb4.js → diagram-VX7I27RA-B5gPCzzB.js} +1 -1
  256. package/web-shell/assets/{diagram-Z3DM3KII-CPZ2Jux_.js → diagram-Z3DM3KII-DFJXIA3A.js} +1 -1
  257. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BX-eVNsX.js → ebnfDiagram-PWID7BFC-FwyaU7VY.js} +1 -1
  258. package/web-shell/assets/{erDiagram-SSCWMZ5O-CPy_Ir6y.js → erDiagram-SSCWMZ5O-8vJQh2te.js} +1 -1
  259. package/web-shell/assets/{flowDiagram-A5DVABFB-eknAOte9.js → flowDiagram-A5DVABFB-BzA_1gMN.js} +1 -1
  260. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-crAxw_t7.js → ganttDiagram-EL5Y4UJY-Co-ABbVX.js} +1 -1
  261. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-M29pa3Tc.js → gitGraphDiagram-WWUBYQGX-DW_FcyrX.js} +1 -1
  262. package/web-shell/assets/{index-C9R-iojE.js → index-BbMXfhNG.js} +1 -1
  263. package/web-shell/assets/{index-B4TLaxWs.js → index-Bu-rZoJ-.js} +462 -454
  264. package/web-shell/assets/index-CsPwZ1ut.css +36 -0
  265. package/web-shell/assets/{infoDiagram-RXCK75RN-XqspXdOU.js → infoDiagram-RXCK75RN-BEgfhUFN.js} +1 -1
  266. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-C5KFS-7j.js → ishikawaDiagram-5VMMS53U-DCsMxQmc.js} +1 -1
  267. package/web-shell/assets/{journeyDiagram-EYS64GPL-Cc57LVRo.js → journeyDiagram-EYS64GPL-DyIEYoHz.js} +1 -1
  268. package/web-shell/assets/{kanban-definition-3QL26DDD-C81OG-AI.js → kanban-definition-3QL26DDD-CkxjqCNr.js} +1 -1
  269. package/web-shell/assets/{layout-CFVu37BB.js → layout-BEWc0Al9.js} +1 -1
  270. package/web-shell/assets/{linear-ChBxdtWf.js → linear-CNuNxirL.js} +1 -1
  271. package/web-shell/assets/{mermaid.core-CMLfue0w.js → mermaid.core-DZBre674.js} +6 -6
  272. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DFsvJThp.js → mindmap-definition-FBJOCRG2-CpafFz_F.js} +1 -1
  273. package/web-shell/assets/{pegDiagram-XKGWAZYB-BzpRzM4F.js → pegDiagram-XKGWAZYB-DfZqk_dq.js} +1 -1
  274. package/web-shell/assets/{pieDiagram-E7YTZNPT-Cv0Kankl.js → pieDiagram-E7YTZNPT-S0UWXlgC.js} +1 -1
  275. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-Bh2BJ3Ay.js → quadrantDiagram-AXDQQJYC-dd37_Ohj.js} +1 -1
  276. package/web-shell/assets/{railroadDiagram-O6MQD6OU-y8rNDdDS.js → railroadDiagram-O6MQD6OU-CH8NJZ7u.js} +1 -1
  277. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C0m2DKJ_.js → requirementDiagram-EFPCY7ZU-CFdqWYih.js} +1 -1
  278. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-BzdGnSF4.js → sankeyDiagram-P5KCCOFB-CsddcEGD.js} +1 -1
  279. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DPzAVmzz.js → sequenceDiagram-WJ2MYXX4-BZ270mGw.js} +1 -1
  280. package/web-shell/assets/{sizeCapture-X5ZJPWSS-LcHG28Zh.js → sizeCapture-X5ZJPWSS-CGaS4DBV.js} +1 -1
  281. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C1Bzy3IT.js → stateDiagram-HBIQ2CUA-COpIzMu6.js} +1 -1
  282. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +1 -0
  283. package/web-shell/assets/{swimlanes-XN3QIQJK-Bftk8V64.js → swimlanes-XN3QIQJK-CMF889m3.js} +1 -1
  284. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +8 -0
  285. package/web-shell/assets/{timeline-definition-24CTP7MA-BfXHcN1A.js → timeline-definition-24CTP7MA-BelnxYz5.js} +1 -1
  286. package/web-shell/assets/{vennDiagram-4TSXK5OY-DRSlI9-V.js → vennDiagram-4TSXK5OY-CU-NRqIB.js} +1 -1
  287. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CaLmqGau.js → wardleyDiagram-VM6X3IG4-CDNKqWh-.js} +1 -1
  288. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-8lgUT6e8.js → xychartDiagram-S5SC5T6Z-CLqguL5D.js} +1 -1
  289. package/web-shell/index.html +2 -2
  290. package/chunks/chunk-3UMWOKJC.js +0 -78
  291. package/chunks/chunk-IQAFKVXS.js +0 -22
  292. package/web-shell/assets/channel-CQx7VSAp.js +0 -1
  293. package/web-shell/assets/classDiagram-DTDB5LWJ-C-Uz8hHk.js +0 -1
  294. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C-Uz8hHk.js +0 -1
  295. package/web-shell/assets/index-CCrkEbzz.css +0 -36
  296. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-LuuL5byY.js +0 -1
  297. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-COmnNq8s.js +0 -8
@@ -57,6 +57,7 @@ var ACTIVE_WORK_HOLD_CATEGORIES = [
57
57
  "agent",
58
58
  "notification",
59
59
  "shell",
60
+ "session",
60
61
  "workflow"
61
62
  ];
62
63
  function clampActiveWorkIntervalMs(raw) {
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-HWVUSYSN.js";
12
12
  import {
13
13
  loadSettings
14
- } from "./chunk-RUMSY4ES.js";
14
+ } from "./chunk-66JBCTJF.js";
15
15
  import {
16
16
  SkillManager,
17
17
  isSafeModeEnv
18
- } from "./chunk-TSLRORQR.js";
18
+ } from "./chunk-PDUMGZ2P.js";
19
19
  import {
20
20
  writeStderrLine
21
21
  } from "./chunk-7FA2II6K.js";
@@ -39,6 +39,8 @@ var PROJECT_ENV_HARDCODED_EXCLUSIONS = [
39
39
  "QWEN_RUNTIME_DIR",
40
40
  "QWEN_CODE_MCP_APPROVALS_PATH",
41
41
  "QWEN_CODE_TRUSTED_FOLDERS_PATH",
42
+ // Downloaded updates execute as the user; a project must not select them.
43
+ "QWEN_UPDATE_BASE_URL",
42
44
  // This points to a host temp file that carries build warnings. A project
43
45
  // `.env` must not redirect it to an arbitrary file to read or delete.
44
46
  "QWEN_CODE_WARNINGS_FILE",
@@ -568,7 +568,7 @@ var WorkspaceRegistrationStore = class {
568
568
  return removed;
569
569
  }
570
570
  async update(mutate) {
571
- const { atomicWriteFile } = await import("./deferred-core-runtime-DWOXIU5S.js");
571
+ const { atomicWriteFile } = await import("./deferred-core-runtime-LO5NTQQ4.js");
572
572
  return withInProcessLock(this.filePath, async () => {
573
573
  const lock = await acquireFileLock(this.filePath);
574
574
  let committed = false;
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-NYWWQ437.js";
6
6
  import {
7
7
  SessionNotFoundError
8
- } from "./chunk-F47DITLZ.js";
8
+ } from "./chunk-FAWTMDX7.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  ICON
5
- } from "./chunk-T7TP5UQL.js";
5
+ } from "./chunk-E7XSUYCZ.js";
6
6
  import {
7
7
  theme
8
8
  } from "./chunk-4LIPOIXS.js";
@@ -15,11 +15,11 @@ import {
15
15
  import {
16
16
  sanitizeForOsc,
17
17
  wrapForMultiplexer
18
- } from "./chunk-VU7O7CGQ.js";
18
+ } from "./chunk-XDNFODER.js";
19
19
  import {
20
20
  MAIN_SOURCE,
21
21
  uiTelemetryService
22
- } from "./chunk-WQBR7LN5.js";
22
+ } from "./chunk-6QV7Z74P.js";
23
23
  import {
24
24
  ToolDisplayNames,
25
25
  ToolNames
@@ -427,6 +427,66 @@ function labelMayDeceive(label, url) {
427
427
  }
428
428
  __name(labelMayDeceive, "labelMayDeceive");
429
429
 
430
+ // packages/cli/src/ui/utils/displayUtils.ts
431
+ init_esbuild_shims();
432
+ function getArenaStatusLabel(status) {
433
+ switch (status) {
434
+ case "idle" /* IDLE */:
435
+ return { icon: "\u2713", text: "Idle", color: theme.status.success };
436
+ case "completed" /* COMPLETED */:
437
+ return { icon: "\u2713", text: "Done", color: theme.status.success };
438
+ case "cancelled" /* CANCELLED */:
439
+ return { icon: "\u2298", text: "Cancelled", color: theme.status.warning };
440
+ case "failed" /* FAILED */:
441
+ return { icon: "\u2717", text: "Failed", color: theme.status.error };
442
+ case "running" /* RUNNING */:
443
+ return {
444
+ icon: ICON.CIRCLE_EMPTY,
445
+ text: "Running",
446
+ color: theme.text.secondary
447
+ };
448
+ case "initializing" /* INITIALIZING */:
449
+ return {
450
+ icon: ICON.CIRCLE_EMPTY,
451
+ text: "Initializing",
452
+ color: theme.text.secondary
453
+ };
454
+ default:
455
+ return {
456
+ icon: ICON.CIRCLE_EMPTY,
457
+ text: status,
458
+ color: theme.text.secondary
459
+ };
460
+ }
461
+ }
462
+ __name(getArenaStatusLabel, "getArenaStatusLabel");
463
+ var TOOL_SUCCESS_RATE_HIGH = 95;
464
+ var TOOL_SUCCESS_RATE_MEDIUM = 85;
465
+ var USER_AGREEMENT_RATE_HIGH = 75;
466
+ var USER_AGREEMENT_RATE_MEDIUM = 45;
467
+ var getStatusColor = /* @__PURE__ */ __name((value, thresholds, options = {}) => {
468
+ if (value >= thresholds.green) {
469
+ return theme.status.success;
470
+ }
471
+ if (value >= thresholds.yellow) {
472
+ return theme.status.warning;
473
+ }
474
+ if (thresholds.red != null && value >= thresholds.red) {
475
+ return theme.status.error;
476
+ }
477
+ return options.defaultColor ?? theme.status.error;
478
+ }, "getStatusColor");
479
+ function formatDuration(ms) {
480
+ const totalSeconds = Math.round(ms / 1e3);
481
+ if (totalSeconds < 60) {
482
+ return `${totalSeconds}s`;
483
+ }
484
+ const minutes = Math.floor(totalSeconds / 60);
485
+ const seconds = totalSeconds % 60;
486
+ return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
487
+ }
488
+ __name(formatDuration, "formatDuration");
489
+
430
490
  // packages/cli/src/ui/keyMatchers.ts
431
491
  init_esbuild_shims();
432
492
 
@@ -682,65 +742,335 @@ var TOOL_DISPLAY_BY_NAME = Object.fromEntries(
682
742
  ])
683
743
  );
684
744
 
685
- // packages/cli/src/ui/utils/displayUtils.ts
745
+ // packages/cli/src/ui/statusLinePresets.ts
686
746
  init_esbuild_shims();
687
- function getArenaStatusLabel(status) {
688
- switch (status) {
689
- case "idle" /* IDLE */:
690
- return { icon: "\u2713", text: "Idle", color: theme.status.success };
691
- case "completed" /* COMPLETED */:
692
- return { icon: "\u2713", text: "Done", color: theme.status.success };
693
- case "cancelled" /* CANCELLED */:
694
- return { icon: "\u2298", text: "Cancelled", color: theme.status.warning };
695
- case "failed" /* FAILED */:
696
- return { icon: "\u2717", text: "Failed", color: theme.status.error };
697
- case "running" /* RUNNING */:
698
- return {
699
- icon: ICON.CIRCLE_EMPTY,
700
- text: "Running",
701
- color: theme.text.secondary
702
- };
703
- case "initializing" /* INITIALIZING */:
704
- return {
705
- icon: ICON.CIRCLE_EMPTY,
706
- text: "Initializing",
707
- color: theme.text.secondary
708
- };
747
+ import nodePath from "node:path";
748
+ var STATUS_LINE_PRESET_ITEM_IDS = [
749
+ "project-name",
750
+ "git-branch",
751
+ "model-with-reasoning",
752
+ "model",
753
+ "context-remaining",
754
+ "total-input-tokens",
755
+ "total-output-tokens",
756
+ "current-dir",
757
+ "pull-request-number",
758
+ "branch-changes",
759
+ "context-used",
760
+ "run-state",
761
+ "qwen-version",
762
+ "context-window-size",
763
+ "used-tokens",
764
+ "session-id"
765
+ ];
766
+ function aggregateModelTokens(metrics) {
767
+ let totalInputTokens = 0;
768
+ let totalOutputTokens = 0;
769
+ for (const modelMetrics of Object.values(metrics.models)) {
770
+ totalInputTokens += modelMetrics.tokens.prompt;
771
+ totalOutputTokens += modelMetrics.tokens.candidates;
772
+ }
773
+ return { totalInputTokens, totalOutputTokens };
774
+ }
775
+ __name(aggregateModelTokens, "aggregateModelTokens");
776
+ var STATUS_LINE_PRESET_ITEMS = [
777
+ {
778
+ id: "project-name",
779
+ label: "project-name",
780
+ description: "Project name when available",
781
+ defaultSelected: true
782
+ },
783
+ {
784
+ id: "git-branch",
785
+ label: "git-branch",
786
+ description: "Current Git branch when available",
787
+ defaultSelected: true
788
+ },
789
+ {
790
+ id: "model-with-reasoning",
791
+ label: "model-with-reasoning",
792
+ description: "Current model name with reasoning level when available",
793
+ defaultSelected: true
794
+ },
795
+ {
796
+ id: "model",
797
+ label: "model-only",
798
+ description: "Current model name without reasoning level"
799
+ },
800
+ {
801
+ id: "context-remaining",
802
+ label: "context-remaining",
803
+ description: "Percentage of context window remaining"
804
+ },
805
+ {
806
+ id: "total-input-tokens",
807
+ label: "total-input-tokens",
808
+ description: "Total input tokens used in session"
809
+ },
810
+ {
811
+ id: "total-output-tokens",
812
+ label: "total-output-tokens",
813
+ description: "Total output tokens used in session"
814
+ },
815
+ {
816
+ id: "current-dir",
817
+ label: "current-dir",
818
+ description: "Current working directory"
819
+ },
820
+ {
821
+ id: "pull-request-number",
822
+ label: "pull-request-number",
823
+ description: "Open pull request number for the current branch"
824
+ },
825
+ {
826
+ id: "branch-changes",
827
+ label: "branch-changes",
828
+ description: "Session file changes added and removed"
829
+ },
830
+ {
831
+ id: "context-used",
832
+ label: "context-used",
833
+ description: "Percentage of context window used",
834
+ defaultSelected: true
835
+ },
836
+ {
837
+ id: "run-state",
838
+ label: "run-state",
839
+ description: "Compact session run-state text"
840
+ },
841
+ {
842
+ id: "qwen-version",
843
+ label: "qwen-version",
844
+ description: "Qwen Code application version"
845
+ },
846
+ {
847
+ id: "context-window-size",
848
+ label: "context-window-size",
849
+ description: "Total context window size in tokens"
850
+ },
851
+ {
852
+ id: "used-tokens",
853
+ label: "used-tokens",
854
+ description: "Current prompt tokens used"
855
+ },
856
+ {
857
+ id: "session-id",
858
+ label: "session-id",
859
+ description: "Current session identifier"
860
+ }
861
+ ];
862
+ var STATUS_LINE_PRESET_ITEM_ID_SET = new Set(
863
+ STATUS_LINE_PRESET_ITEM_IDS
864
+ );
865
+ function orderStatusLinePresetItems(items) {
866
+ const selectedItems = new Set(
867
+ items.filter(
868
+ (item) => typeof item === "string" && STATUS_LINE_PRESET_ITEM_ID_SET.has(item)
869
+ )
870
+ );
871
+ return STATUS_LINE_PRESET_ITEM_IDS.filter((item) => selectedItems.has(item));
872
+ }
873
+ __name(orderStatusLinePresetItems, "orderStatusLinePresetItems");
874
+ var DEFAULT_STATUS_LINE_PRESET_CONFIG = {
875
+ type: "preset",
876
+ useThemeColors: true,
877
+ items: orderStatusLinePresetItems(
878
+ STATUS_LINE_PRESET_ITEMS.filter((item) => item.defaultSelected).map(
879
+ (item) => item.id
880
+ )
881
+ )
882
+ };
883
+ function normalizeStatusLinePresetConfig(raw) {
884
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
885
+ return void 0;
886
+ }
887
+ const candidate = raw;
888
+ if (candidate["type"] !== "preset") {
889
+ return void 0;
890
+ }
891
+ const hasItemsArray = Array.isArray(candidate["items"]);
892
+ const items = hasItemsArray ? orderStatusLinePresetItems(candidate["items"]) : [];
893
+ return {
894
+ type: "preset",
895
+ useThemeColors: typeof candidate["useThemeColors"] === "boolean" ? candidate["useThemeColors"] : true,
896
+ items: hasItemsArray ? items : [...DEFAULT_STATUS_LINE_PRESET_CONFIG.items],
897
+ hideContextIndicator: typeof candidate["hideContextIndicator"] === "boolean" ? candidate["hideContextIndicator"] : void 0
898
+ };
899
+ }
900
+ __name(normalizeStatusLinePresetConfig, "normalizeStatusLinePresetConfig");
901
+ function formatPercent(value) {
902
+ if (!Number.isFinite(value)) {
903
+ return "0%";
904
+ }
905
+ const rounded = Math.round(value * 10) / 10;
906
+ return `${Number.isInteger(rounded) ? rounded.toFixed(0) : rounded}%`;
907
+ }
908
+ __name(formatPercent, "formatPercent");
909
+ function formatTokenCount(value) {
910
+ if (!Number.isFinite(value) || value <= 0) {
911
+ return "0";
912
+ }
913
+ if (value >= 1e6) {
914
+ return `${(value / 1e6).toFixed(1)}m`;
915
+ }
916
+ if (value >= 1e3) {
917
+ return `${(value / 1e3).toFixed(1)}k`;
918
+ }
919
+ return String(Math.round(value));
920
+ }
921
+ __name(formatTokenCount, "formatTokenCount");
922
+ function getRunStateLabel(state) {
923
+ switch (state) {
924
+ case "idle" /* Idle */:
925
+ return "Ready";
926
+ case "responding" /* Responding */:
927
+ return "Working";
928
+ case "waiting_for_confirmation" /* WaitingForConfirmation */:
929
+ return "Confirm";
709
930
  default:
710
- return {
711
- icon: ICON.CIRCLE_EMPTY,
712
- text: status,
713
- color: theme.text.secondary
714
- };
931
+ return "Working";
715
932
  }
716
933
  }
717
- __name(getArenaStatusLabel, "getArenaStatusLabel");
718
- var TOOL_SUCCESS_RATE_HIGH = 95;
719
- var TOOL_SUCCESS_RATE_MEDIUM = 85;
720
- var USER_AGREEMENT_RATE_HIGH = 75;
721
- var USER_AGREEMENT_RATE_MEDIUM = 45;
722
- var getStatusColor = /* @__PURE__ */ __name((value, thresholds, options = {}) => {
723
- if (value >= thresholds.green) {
724
- return theme.status.success;
934
+ __name(getRunStateLabel, "getRunStateLabel");
935
+ function stripProviderPrefix(name) {
936
+ return name.replace(/^\[[^\]]*\]\s*/, "");
937
+ }
938
+ __name(stripProviderPrefix, "stripProviderPrefix");
939
+ function formatModelWithReasoning(modelDisplayName, reasoning) {
940
+ const cleanName = stripProviderPrefix(modelDisplayName);
941
+ if (reasoning === false) {
942
+ return `${cleanName} reasoning off`;
725
943
  }
726
- if (value >= thresholds.yellow) {
727
- return theme.status.warning;
944
+ if (reasoning?.effort) {
945
+ return `${cleanName} ${reasoning.effort}`;
728
946
  }
729
- if (thresholds.red != null && value >= thresholds.red) {
730
- return theme.status.error;
947
+ return cleanName;
948
+ }
949
+ __name(formatModelWithReasoning, "formatModelWithReasoning");
950
+ function inferPullRequestNumber(branch) {
951
+ if (!branch) {
952
+ return void 0;
731
953
  }
732
- return options.defaultColor ?? theme.status.error;
733
- }, "getStatusColor");
734
- function formatDuration(ms) {
735
- const totalSeconds = Math.round(ms / 1e3);
736
- if (totalSeconds < 60) {
737
- return `${totalSeconds}s`;
954
+ const match = branch.match(
955
+ /(?:^|[/_-])(?:pr|pull|pull-request)[/_-]?#?(\d+)(?:$|[/_-])/i
956
+ );
957
+ return match?.[1];
958
+ }
959
+ __name(inferPullRequestNumber, "inferPullRequestNumber");
960
+ function buildStatusLinePresetData(params) {
961
+ const usedPercentage = params.contextWindowSize > 0 ? Math.min(
962
+ 100,
963
+ Math.max(
964
+ 0,
965
+ Math.round(
966
+ params.currentUsage / params.contextWindowSize * 1e3
967
+ ) / 10
968
+ )
969
+ ) : 0;
970
+ return {
971
+ sessionId: params.sessionId,
972
+ version: params.version || "unknown",
973
+ modelDisplayName: params.modelDisplayName || "unknown",
974
+ reasoning: params.reasoning,
975
+ currentDir: params.currentDir,
976
+ projectName: nodePath.basename(params.currentDir) || void 0,
977
+ branch: params.branch,
978
+ pullRequestNumber: params.pullRequestNumber,
979
+ contextWindowSize: params.contextWindowSize,
980
+ usedPercentage,
981
+ remainingPercentage: Math.round((100 - usedPercentage) * 10) / 10,
982
+ currentUsage: params.currentUsage,
983
+ totalInputTokens: params.totalInputTokens,
984
+ totalOutputTokens: params.totalOutputTokens,
985
+ totalLinesAdded: params.totalLinesAdded,
986
+ totalLinesRemoved: params.totalLinesRemoved,
987
+ streamingState: params.streamingState
988
+ };
989
+ }
990
+ __name(buildStatusLinePresetData, "buildStatusLinePresetData");
991
+ function formatPresetItem(item, data) {
992
+ switch (item) {
993
+ case "model-with-reasoning":
994
+ return formatModelWithReasoning(data.modelDisplayName, data.reasoning);
995
+ case "model":
996
+ return stripProviderPrefix(data.modelDisplayName);
997
+ case "context-remaining":
998
+ if (data.contextWindowSize > 0) {
999
+ return `Context ${formatPercent(data.remainingPercentage)} left`;
1000
+ }
1001
+ return void 0;
1002
+ case "current-dir":
1003
+ return data.currentDir;
1004
+ case "context-used":
1005
+ if (data.contextWindowSize > 0 && data.usedPercentage > 0) {
1006
+ return `${formatTokenCount(data.contextWindowSize)} Context ${formatPercent(data.usedPercentage)} used`;
1007
+ }
1008
+ return void 0;
1009
+ case "git-branch":
1010
+ if (data.branch) {
1011
+ return `git:(${data.branch})`;
1012
+ }
1013
+ return void 0;
1014
+ case "project-name":
1015
+ if (data.projectName) {
1016
+ return `\u279C ${data.projectName}`;
1017
+ }
1018
+ return void 0;
1019
+ case "pull-request-number": {
1020
+ const prNumber = data.pullRequestNumber ?? inferPullRequestNumber(data.branch);
1021
+ if (prNumber) {
1022
+ return `#${prNumber}`;
1023
+ }
1024
+ return void 0;
1025
+ }
1026
+ case "branch-changes":
1027
+ if (data.totalLinesAdded > 0 || data.totalLinesRemoved > 0) {
1028
+ return `+${data.totalLinesAdded} -${data.totalLinesRemoved}`;
1029
+ }
1030
+ return void 0;
1031
+ case "run-state":
1032
+ return getRunStateLabel(data.streamingState);
1033
+ case "qwen-version":
1034
+ return `v${data.version}`;
1035
+ case "context-window-size":
1036
+ if (data.contextWindowSize > 0) {
1037
+ return `${formatTokenCount(data.contextWindowSize)} window`;
1038
+ }
1039
+ return void 0;
1040
+ case "used-tokens":
1041
+ if (data.currentUsage > 0) {
1042
+ return `${formatTokenCount(data.currentUsage)} used`;
1043
+ }
1044
+ return void 0;
1045
+ case "total-input-tokens":
1046
+ return `${formatTokenCount(data.totalInputTokens)} total in`;
1047
+ case "total-output-tokens":
1048
+ return `${formatTokenCount(data.totalOutputTokens)} total out`;
1049
+ case "session-id":
1050
+ return data.sessionId || void 0;
1051
+ default: {
1052
+ item;
1053
+ return void 0;
1054
+ }
738
1055
  }
739
- const minutes = Math.floor(totalSeconds / 60);
740
- const seconds = totalSeconds % 60;
741
- return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
742
1056
  }
743
- __name(formatDuration, "formatDuration");
1057
+ __name(formatPresetItem, "formatPresetItem");
1058
+ function buildStatusLinePresetParts(config, data) {
1059
+ const parts = [];
1060
+ for (const item of orderStatusLinePresetItems(config.items)) {
1061
+ const text = formatPresetItem(item, data);
1062
+ if (text) {
1063
+ parts.push(text);
1064
+ }
1065
+ }
1066
+ return parts;
1067
+ }
1068
+ __name(buildStatusLinePresetParts, "buildStatusLinePresetParts");
1069
+ function buildStatusLinePresetLines(config, data) {
1070
+ const line = buildStatusLinePresetParts(config, data).join(" \xB7 ");
1071
+ return line ? [line] : [];
1072
+ }
1073
+ __name(buildStatusLinePresetLines, "buildStatusLinePresetLines");
744
1074
 
745
1075
  // packages/cli/src/ui/utils/modelsBySource.ts
746
1076
  init_esbuild_shims();
@@ -821,7 +1151,15 @@ export {
821
1151
  TOOL_DISPLAY_BY_NAME,
822
1152
  SessionStatsProvider,
823
1153
  useSessionStats,
824
- flattenModelsBySource
1154
+ flattenModelsBySource,
1155
+ aggregateModelTokens,
1156
+ STATUS_LINE_PRESET_ITEMS,
1157
+ orderStatusLinePresetItems,
1158
+ DEFAULT_STATUS_LINE_PRESET_CONFIG,
1159
+ normalizeStatusLinePresetConfig,
1160
+ formatTokenCount,
1161
+ buildStatusLinePresetData,
1162
+ buildStatusLinePresetLines
825
1163
  };
826
1164
  /**
827
1165
  * @license
@@ -838,3 +1176,8 @@ export {
838
1176
  * Copyright 2025 Qwen Team
839
1177
  * SPDX-License-Identifier: Apache-2.0
840
1178
  */
1179
+ /**
1180
+ * @license
1181
+ * Copyright 2026 Qwen
1182
+ * SPDX-License-Identifier: Apache-2.0
1183
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-HPE4LEWX.js";
5
+ } from "./chunk-USN6VNTO.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -8,16 +8,16 @@ import {
8
8
  initializeI18n,
9
9
  resolveLanguageSetting,
10
10
  t
11
- } from "./chunk-LD53HMPV.js";
11
+ } from "./chunk-CRZBDVP2.js";
12
12
  import {
13
13
  IdeClient
14
- } from "./chunk-TSLRORQR.js";
14
+ } from "./chunk-PDUMGZ2P.js";
15
15
  import {
16
16
  AuthEvent,
17
17
  IdeConnectionEvent,
18
18
  logAuth,
19
19
  logIdeConnection
20
- } from "./chunk-WQBR7LN5.js";
20
+ } from "./chunk-6QV7Z74P.js";
21
21
  import {
22
22
  getErrorMessage
23
23
  } from "./chunk-ZAFYHRVY.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isPrivateHost
5
- } from "./chunk-UKADFFL2.js";
5
+ } from "./chunk-OFVAS4AR.js";
6
6
  import {
7
7
  loadUndici
8
8
  } from "./chunk-4HOEU2OR.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-FXYNIZPW.js";
5
+ } from "./chunk-YCEKI7QX.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-N6VQ37ZZ.js";
17
17
  import {
18
18
  t
19
- } from "./chunk-LD53HMPV.js";
19
+ } from "./chunk-CRZBDVP2.js";
20
20
  import {
21
21
  createDebugLogger
22
22
  } from "./chunk-ZAFYHRVY.js";
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-RUMSY4ES.js";
5
+ } from "./chunk-66JBCTJF.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-LD53HMPV.js";
8
+ } from "./chunk-CRZBDVP2.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-GEV66YGE.js";
11
+ } from "./chunk-3VDLQUR2.js";
12
12
  import {
13
13
  require_strip_json_comments
14
14
  } from "./chunk-NPQ5ZKRP.js";
15
15
  import {
16
16
  hashMcpServerConfig
17
- } from "./chunk-TXAEXF2B.js";
17
+ } from "./chunk-ZU2T5JIS.js";
18
18
  import {
19
19
  Config,
20
20
  ExtensionManager,
@@ -25,11 +25,11 @@ import {
25
25
  isGatedMcpScope,
26
26
  normalizeClaudeMcpServer,
27
27
  runWithTimeout
28
- } from "./chunk-TSLRORQR.js";
28
+ } from "./chunk-PDUMGZ2P.js";
29
29
  import {
30
30
  getMCPServerLastError,
31
31
  getMCPServerStatus
32
- } from "./chunk-WQBR7LN5.js";
32
+ } from "./chunk-6QV7Z74P.js";
33
33
  import {
34
34
  atomicWriteFile
35
35
  } from "./chunk-XFFRI3WM.js";