@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,649 @@
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
+ require_jsx_runtime
11
+ } from "./chunk-SV5PQVQE.js";
12
+ import {
13
+ Box_default,
14
+ Text
15
+ } from "./chunk-2SB4SLKC.js";
16
+ import {
17
+ require_react
18
+ } from "./chunk-5QWWOFGG.js";
19
+ import {
20
+ SettingScope,
21
+ settingExistsInScope
22
+ } from "./chunk-M6SXIXBV.js";
23
+ import {
24
+ t
25
+ } from "./chunk-GYBDYWMV.js";
26
+ import {
27
+ resolveBranchName,
28
+ watchRepoBranch
29
+ } from "./chunk-M6HXP2SG.js";
30
+ import {
31
+ sanitizeForOsc
32
+ } from "./chunk-TBVNYG5B.js";
33
+ import {
34
+ init_esbuild_shims
35
+ } from "./chunk-5O2XNYP6.js";
36
+ import {
37
+ __name,
38
+ __toESM
39
+ } from "./chunk-J2S4EL5Y.js";
40
+
41
+ // packages/cli/src/utils/windowTitle.ts
42
+ init_esbuild_shims();
43
+ var DEFAULT_WINDOW_TITLE = "qwen";
44
+ var MULTIPLEXER_ENV_KEYS = ["TMUX", "STY", "ZELLIJ", "DVTM"];
45
+ function sanitizeWindowTitle(title) {
46
+ return sanitizeForOsc(title);
47
+ }
48
+ __name(sanitizeWindowTitle, "sanitizeWindowTitle");
49
+ function computeWindowTitle(folderName) {
50
+ return sanitizeWindowTitle(
51
+ process.env["CLI_TITLE"] || `Qwen - ${folderName || DEFAULT_WINDOW_TITLE}`
52
+ );
53
+ }
54
+ __name(computeWindowTitle, "computeWindowTitle");
55
+ function writeTerminalTitle(write, title) {
56
+ const clean = sanitizeWindowTitle(title);
57
+ if (process.platform === "win32") {
58
+ process.title = clean;
59
+ }
60
+ const inMultiplexer = MULTIPLEXER_ENV_KEYS.some((k) => !!process.env[k]);
61
+ if (clean.length === 0) {
62
+ if (inMultiplexer) {
63
+ write("\x1B]2;\x07");
64
+ } else {
65
+ write("\x1B]0;\x07\x1B]2;\x07");
66
+ }
67
+ return;
68
+ }
69
+ if (inMultiplexer) {
70
+ write(`\x1B]2;${clean}\x07`);
71
+ } else {
72
+ const padded = clean.substring(0, 80).padEnd(80, " ");
73
+ write(`\x1B]0;${padded}\x07\x1B]2;${padded}\x07`);
74
+ }
75
+ }
76
+ __name(writeTerminalTitle, "writeTerminalTitle");
77
+ function formatSessionWindowTitle(sessionName, folderName, statusPrefix = "") {
78
+ const base = sessionName ? sanitizeWindowTitle(sessionName) : computeWindowTitle(folderName);
79
+ return sanitizeWindowTitle(statusPrefix + base);
80
+ }
81
+ __name(formatSessionWindowTitle, "formatSessionWindowTitle");
82
+ function titleStatusPrefix(streamingState) {
83
+ switch (streamingState) {
84
+ case "responding" /* Responding */:
85
+ return `${ICON.CIRCLE_LEFT_HALF} `;
86
+ case "waiting_for_confirmation" /* WaitingForConfirmation */:
87
+ return `${ICON.SPARKLE} `;
88
+ default:
89
+ return "";
90
+ }
91
+ }
92
+ __name(titleStatusPrefix, "titleStatusPrefix");
93
+
94
+ // packages/cli/src/ui/components/AsciiArt.ts
95
+ init_esbuild_shims();
96
+ var shortAsciiLogo = `
97
+ \u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584 \u2584\u2584 \u2584\u2584\u2584\u2584\u2584\u2584\u2584 \u2584\u2584\u2584 \u2584\u2584
98
+ \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551
99
+ \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551
100
+ \u2588\u2588\u2551\u2584\u2584 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551
101
+ \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u255A\u2588\u2588\u2588\u2554\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551
102
+ \u255A\u2550\u2550\u2580\u2580\u2550\u255D \u255A\u2550\u2550\u255D\u255A\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D
103
+ `;
104
+
105
+ // packages/cli/src/ui/components/stats-helpers.tsx
106
+ init_esbuild_shims();
107
+ var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
108
+ var TAB_DEFS = [
109
+ { tab: "session", label: /* @__PURE__ */ __name(() => t("Session"), "label") },
110
+ { tab: "activity", label: /* @__PURE__ */ __name(() => t("Activity"), "label") },
111
+ { tab: "efficiency", label: /* @__PURE__ */ __name(() => t("Efficiency"), "label") }
112
+ ];
113
+ var RANGE_CYCLE = ["all", "month", "week", "today"];
114
+ function getHeatmapColors() {
115
+ return {
116
+ 0: "#161b22",
117
+ 1: "#0e4429",
118
+ 2: "#006d32",
119
+ 3: "#26a641",
120
+ 4: "#39d353"
121
+ };
122
+ }
123
+ __name(getHeatmapColors, "getHeatmapColors");
124
+ function getSeriesColors() {
125
+ return [
126
+ theme.text.link,
127
+ theme.status.error,
128
+ theme.text.accent,
129
+ theme.status.success,
130
+ theme.status.warning,
131
+ theme.text.code
132
+ ];
133
+ }
134
+ __name(getSeriesColors, "getSeriesColors");
135
+ function getRangeLabel(range) {
136
+ const labels = {
137
+ today: t("Today"),
138
+ all: t("All time"),
139
+ week: t("Last 7 days"),
140
+ month: t("Last 30 days")
141
+ };
142
+ return labels[range] ?? range;
143
+ }
144
+ __name(getRangeLabel, "getRangeLabel");
145
+ function fmtTokens(n) {
146
+ if (n >= 1e6) return `${(n / 1e6).toFixed(1)}m`;
147
+ if (n >= 1e3) return `${(n / 1e3).toFixed(1)}k`;
148
+ return `${n}`;
149
+ }
150
+ __name(fmtTokens, "fmtTokens");
151
+ function fmtDurationShort(ms) {
152
+ const totalMinutes = Math.floor(ms / 6e4);
153
+ const days = Math.floor(totalMinutes / 1440);
154
+ const hours = Math.floor(totalMinutes % 1440 / 60);
155
+ const minutes = totalMinutes % 60;
156
+ const d = t("d");
157
+ const h = t("h");
158
+ const m = t("m");
159
+ if (days > 0) return `${days}${d} ${hours}${h} ${minutes}${m}`;
160
+ if (hours > 0) return `${hours}${h} ${minutes}${m}`;
161
+ return `${minutes}${m}`;
162
+ }
163
+ __name(fmtDurationShort, "fmtDurationShort");
164
+ function fmtSuccessBar(rate) {
165
+ const filled = Math.max(0, Math.min(10, Math.round(rate / 10)));
166
+ return "\u2588".repeat(filled) + "\u2591".repeat(10 - filled);
167
+ }
168
+ __name(fmtSuccessBar, "fmtSuccessBar");
169
+ function getSuccessColor(rate) {
170
+ if (rate >= 95) return theme.status.success;
171
+ if (rate >= 80) return theme.status.warning;
172
+ return theme.status.error;
173
+ }
174
+ __name(getSuccessColor, "getSuccessColor");
175
+ function getCacheColor(rate) {
176
+ if (rate >= 85) return theme.status.success;
177
+ if (rate >= 70) return theme.status.warning;
178
+ return theme.status.error;
179
+ }
180
+ __name(getCacheColor, "getCacheColor");
181
+ var TableRow = /* @__PURE__ */ __name(({ cells }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box_default, { children: cells.map((cell, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box_default, { width: cell.width, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: cell.color, bold: cell.bold, children: cell.text }) }, i)) }), "TableRow");
182
+
183
+ // packages/cli/src/ui/hooks/useGitBranchName.ts
184
+ init_esbuild_shims();
185
+ var import_react = __toESM(require_react(), 1);
186
+ var BRANCH_POLL_INTERVAL_MS = 5e3;
187
+ function useGitBranchName(cwd) {
188
+ const [branchName, setBranchName] = (0, import_react.useState)(void 0);
189
+ const branchNameRef = (0, import_react.useRef)(branchName);
190
+ branchNameRef.current = branchName;
191
+ (0, import_react.useEffect)(() => {
192
+ let cancelled = false;
193
+ let dispose;
194
+ let pollTimer;
195
+ let refreshGeneration = 0;
196
+ const refresh = /* @__PURE__ */ __name(async () => {
197
+ const generation = ++refreshGeneration;
198
+ const name = await resolveBranchName(cwd);
199
+ if (!cancelled && generation === refreshGeneration && name !== branchNameRef.current) {
200
+ setBranchName(name);
201
+ }
202
+ }, "refresh");
203
+ const init = /* @__PURE__ */ __name(async () => {
204
+ await refresh();
205
+ if (cancelled) return;
206
+ const disposer = await watchRepoBranch(cwd, () => {
207
+ void refresh().catch(() => {
208
+ });
209
+ });
210
+ if (cancelled) {
211
+ disposer();
212
+ } else {
213
+ dispose = disposer;
214
+ }
215
+ if (!cancelled) {
216
+ pollTimer = setInterval(() => {
217
+ void refresh().catch(() => {
218
+ });
219
+ }, BRANCH_POLL_INTERVAL_MS);
220
+ pollTimer.unref?.();
221
+ }
222
+ }, "init");
223
+ void init().catch(() => {
224
+ });
225
+ return () => {
226
+ cancelled = true;
227
+ dispose?.();
228
+ if (pollTimer) clearInterval(pollTimer);
229
+ };
230
+ }, [cwd]);
231
+ return branchName;
232
+ }
233
+ __name(useGitBranchName, "useGitBranchName");
234
+
235
+ // packages/cli/src/utils/dialogScopeUtils.ts
236
+ init_esbuild_shims();
237
+ var SCOPE_LABELS = {
238
+ ["User" /* User */]: "User Settings",
239
+ ["Workspace" /* Workspace */]: "Workspace Settings"
240
+ // TODO: migrate system settings to user settings
241
+ // we don't want to save settings to system scope, it is a troublemaker
242
+ // comment it out for now.
243
+ // [SettingScope.System]: 'System Settings',
244
+ };
245
+ function getScopeItems() {
246
+ return [
247
+ { label: SCOPE_LABELS["User" /* User */], value: "User" /* User */ },
248
+ {
249
+ label: SCOPE_LABELS["Workspace" /* Workspace */],
250
+ value: "Workspace" /* Workspace */
251
+ }
252
+ // { label: SCOPE_LABELS[SettingScope.System], value: SettingScope.System },
253
+ ];
254
+ }
255
+ __name(getScopeItems, "getScopeItems");
256
+ function getScopeMessageForSetting(settingKey, selectedScope, settings) {
257
+ const otherScopes = Object.values(SettingScope).filter(
258
+ (scope) => scope !== selectedScope
259
+ );
260
+ const modifiedInOtherScopes = otherScopes.filter((scope) => {
261
+ const scopeSettings = settings.forScope(scope).settings;
262
+ return settingExistsInScope(settingKey, scopeSettings);
263
+ });
264
+ if (modifiedInOtherScopes.length === 0) {
265
+ return "";
266
+ }
267
+ const modifiedScopesStr = modifiedInOtherScopes.join(", ");
268
+ const currentScopeSettings = settings.forScope(selectedScope).settings;
269
+ const existsInCurrentScope = settingExistsInScope(
270
+ settingKey,
271
+ currentScopeSettings
272
+ );
273
+ return existsInCurrentScope ? `(Also modified in ${modifiedScopesStr})` : `(Modified in ${modifiedScopesStr})`;
274
+ }
275
+ __name(getScopeMessageForSetting, "getScopeMessageForSetting");
276
+
277
+ // packages/cli/src/ui/statusLinePresets.ts
278
+ init_esbuild_shims();
279
+ import nodePath from "node:path";
280
+ var STATUS_LINE_PRESET_ITEM_IDS = [
281
+ "project-name",
282
+ "git-branch",
283
+ "model-with-reasoning",
284
+ "model",
285
+ "context-remaining",
286
+ "total-input-tokens",
287
+ "total-output-tokens",
288
+ "current-dir",
289
+ "pull-request-number",
290
+ "branch-changes",
291
+ "context-used",
292
+ "run-state",
293
+ "qwen-version",
294
+ "context-window-size",
295
+ "used-tokens",
296
+ "session-id"
297
+ ];
298
+ function aggregateModelTokens(metrics) {
299
+ let totalInputTokens = 0;
300
+ let totalOutputTokens = 0;
301
+ for (const modelMetrics of Object.values(metrics.models)) {
302
+ totalInputTokens += modelMetrics.tokens.prompt;
303
+ totalOutputTokens += modelMetrics.tokens.candidates;
304
+ }
305
+ return { totalInputTokens, totalOutputTokens };
306
+ }
307
+ __name(aggregateModelTokens, "aggregateModelTokens");
308
+ var STATUS_LINE_PRESET_ITEMS = [
309
+ {
310
+ id: "project-name",
311
+ label: "project-name",
312
+ description: "Project name when available",
313
+ defaultSelected: true
314
+ },
315
+ {
316
+ id: "git-branch",
317
+ label: "git-branch",
318
+ description: "Current Git branch when available",
319
+ defaultSelected: true
320
+ },
321
+ {
322
+ id: "model-with-reasoning",
323
+ label: "model-with-reasoning",
324
+ description: "Current model name with reasoning level when available",
325
+ defaultSelected: true
326
+ },
327
+ {
328
+ id: "model",
329
+ label: "model-only",
330
+ description: "Current model name without reasoning level"
331
+ },
332
+ {
333
+ id: "context-remaining",
334
+ label: "context-remaining",
335
+ description: "Percentage of context window remaining"
336
+ },
337
+ {
338
+ id: "total-input-tokens",
339
+ label: "total-input-tokens",
340
+ description: "Total input tokens used in session"
341
+ },
342
+ {
343
+ id: "total-output-tokens",
344
+ label: "total-output-tokens",
345
+ description: "Total output tokens used in session"
346
+ },
347
+ {
348
+ id: "current-dir",
349
+ label: "current-dir",
350
+ description: "Current working directory"
351
+ },
352
+ {
353
+ id: "pull-request-number",
354
+ label: "pull-request-number",
355
+ description: "Open pull request number for the current branch"
356
+ },
357
+ {
358
+ id: "branch-changes",
359
+ label: "branch-changes",
360
+ description: "Session file changes added and removed"
361
+ },
362
+ {
363
+ id: "context-used",
364
+ label: "context-used",
365
+ description: "Percentage of context window used",
366
+ defaultSelected: true
367
+ },
368
+ {
369
+ id: "run-state",
370
+ label: "run-state",
371
+ description: "Compact session run-state text"
372
+ },
373
+ {
374
+ id: "qwen-version",
375
+ label: "qwen-version",
376
+ description: "Qwen Code application version"
377
+ },
378
+ {
379
+ id: "context-window-size",
380
+ label: "context-window-size",
381
+ description: "Total context window size in tokens"
382
+ },
383
+ {
384
+ id: "used-tokens",
385
+ label: "used-tokens",
386
+ description: "Current prompt tokens used"
387
+ },
388
+ {
389
+ id: "session-id",
390
+ label: "session-id",
391
+ description: "Current session identifier"
392
+ }
393
+ ];
394
+ var STATUS_LINE_PRESET_ITEM_ID_SET = new Set(
395
+ STATUS_LINE_PRESET_ITEM_IDS
396
+ );
397
+ function orderStatusLinePresetItems(items) {
398
+ const selectedItems = new Set(
399
+ items.filter(
400
+ (item) => typeof item === "string" && STATUS_LINE_PRESET_ITEM_ID_SET.has(item)
401
+ )
402
+ );
403
+ return STATUS_LINE_PRESET_ITEM_IDS.filter((item) => selectedItems.has(item));
404
+ }
405
+ __name(orderStatusLinePresetItems, "orderStatusLinePresetItems");
406
+ var DEFAULT_STATUS_LINE_PRESET_CONFIG = {
407
+ type: "preset",
408
+ useThemeColors: true,
409
+ items: orderStatusLinePresetItems(
410
+ STATUS_LINE_PRESET_ITEMS.filter((item) => item.defaultSelected).map(
411
+ (item) => item.id
412
+ )
413
+ )
414
+ };
415
+ function normalizeStatusLinePresetConfig(raw) {
416
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
417
+ return void 0;
418
+ }
419
+ const candidate = raw;
420
+ if (candidate["type"] !== "preset") {
421
+ return void 0;
422
+ }
423
+ const hasItemsArray = Array.isArray(candidate["items"]);
424
+ const items = hasItemsArray ? orderStatusLinePresetItems(candidate["items"]) : [];
425
+ return {
426
+ type: "preset",
427
+ useThemeColors: typeof candidate["useThemeColors"] === "boolean" ? candidate["useThemeColors"] : true,
428
+ items: hasItemsArray ? items : [...DEFAULT_STATUS_LINE_PRESET_CONFIG.items],
429
+ hideContextIndicator: typeof candidate["hideContextIndicator"] === "boolean" ? candidate["hideContextIndicator"] : void 0
430
+ };
431
+ }
432
+ __name(normalizeStatusLinePresetConfig, "normalizeStatusLinePresetConfig");
433
+ function formatPercent(value) {
434
+ if (!Number.isFinite(value)) {
435
+ return "0%";
436
+ }
437
+ const rounded = Math.round(value * 10) / 10;
438
+ return `${Number.isInteger(rounded) ? rounded.toFixed(0) : rounded}%`;
439
+ }
440
+ __name(formatPercent, "formatPercent");
441
+ function formatTokenCount(value) {
442
+ if (!Number.isFinite(value) || value <= 0) {
443
+ return "0";
444
+ }
445
+ if (value >= 1e6) {
446
+ return `${(value / 1e6).toFixed(1)}m`;
447
+ }
448
+ if (value >= 1e3) {
449
+ return `${(value / 1e3).toFixed(1)}k`;
450
+ }
451
+ return String(Math.round(value));
452
+ }
453
+ __name(formatTokenCount, "formatTokenCount");
454
+ function getRunStateLabel(state) {
455
+ switch (state) {
456
+ case "idle" /* Idle */:
457
+ return "Ready";
458
+ case "responding" /* Responding */:
459
+ return "Working";
460
+ case "waiting_for_confirmation" /* WaitingForConfirmation */:
461
+ return "Confirm";
462
+ default:
463
+ return "Working";
464
+ }
465
+ }
466
+ __name(getRunStateLabel, "getRunStateLabel");
467
+ function stripProviderPrefix(name) {
468
+ return name.replace(/^\[[^\]]*\]\s*/, "");
469
+ }
470
+ __name(stripProviderPrefix, "stripProviderPrefix");
471
+ function formatModelWithReasoning(modelDisplayName, reasoning) {
472
+ const cleanName = stripProviderPrefix(modelDisplayName);
473
+ if (reasoning === false) {
474
+ return `${cleanName} reasoning off`;
475
+ }
476
+ if (reasoning?.effort) {
477
+ return `${cleanName} ${reasoning.effort}`;
478
+ }
479
+ return cleanName;
480
+ }
481
+ __name(formatModelWithReasoning, "formatModelWithReasoning");
482
+ function inferPullRequestNumber(branch) {
483
+ if (!branch) {
484
+ return void 0;
485
+ }
486
+ const match = branch.match(
487
+ /(?:^|[/_-])(?:pr|pull|pull-request)[/_-]?#?(\d+)(?:$|[/_-])/i
488
+ );
489
+ return match?.[1];
490
+ }
491
+ __name(inferPullRequestNumber, "inferPullRequestNumber");
492
+ function buildStatusLinePresetData(params) {
493
+ const usedPercentage = params.contextWindowSize > 0 ? Math.min(
494
+ 100,
495
+ Math.max(
496
+ 0,
497
+ Math.round(
498
+ params.currentUsage / params.contextWindowSize * 1e3
499
+ ) / 10
500
+ )
501
+ ) : 0;
502
+ return {
503
+ sessionId: params.sessionId,
504
+ version: params.version || "unknown",
505
+ modelDisplayName: params.modelDisplayName || "unknown",
506
+ reasoning: params.reasoning,
507
+ currentDir: params.currentDir,
508
+ projectName: nodePath.basename(params.currentDir) || void 0,
509
+ branch: params.branch,
510
+ pullRequestNumber: params.pullRequestNumber,
511
+ contextWindowSize: params.contextWindowSize,
512
+ usedPercentage,
513
+ remainingPercentage: Math.round((100 - usedPercentage) * 10) / 10,
514
+ currentUsage: params.currentUsage,
515
+ totalInputTokens: params.totalInputTokens,
516
+ totalOutputTokens: params.totalOutputTokens,
517
+ totalLinesAdded: params.totalLinesAdded,
518
+ totalLinesRemoved: params.totalLinesRemoved,
519
+ streamingState: params.streamingState
520
+ };
521
+ }
522
+ __name(buildStatusLinePresetData, "buildStatusLinePresetData");
523
+ function formatPresetItem(item, data) {
524
+ switch (item) {
525
+ case "model-with-reasoning":
526
+ return formatModelWithReasoning(data.modelDisplayName, data.reasoning);
527
+ case "model":
528
+ return stripProviderPrefix(data.modelDisplayName);
529
+ case "context-remaining":
530
+ if (data.contextWindowSize > 0) {
531
+ return `Context ${formatPercent(data.remainingPercentage)} left`;
532
+ }
533
+ return void 0;
534
+ case "current-dir":
535
+ return data.currentDir;
536
+ case "context-used":
537
+ if (data.contextWindowSize > 0 && data.usedPercentage > 0) {
538
+ return `${formatTokenCount(data.contextWindowSize)} Context ${formatPercent(data.usedPercentage)} used`;
539
+ }
540
+ return void 0;
541
+ case "git-branch":
542
+ if (data.branch) {
543
+ return `git:(${data.branch})`;
544
+ }
545
+ return void 0;
546
+ case "project-name":
547
+ if (data.projectName) {
548
+ return `\u279C ${data.projectName}`;
549
+ }
550
+ return void 0;
551
+ case "pull-request-number": {
552
+ const prNumber = data.pullRequestNumber ?? inferPullRequestNumber(data.branch);
553
+ if (prNumber) {
554
+ return `#${prNumber}`;
555
+ }
556
+ return void 0;
557
+ }
558
+ case "branch-changes":
559
+ if (data.totalLinesAdded > 0 || data.totalLinesRemoved > 0) {
560
+ return `+${data.totalLinesAdded} -${data.totalLinesRemoved}`;
561
+ }
562
+ return void 0;
563
+ case "run-state":
564
+ return getRunStateLabel(data.streamingState);
565
+ case "qwen-version":
566
+ return `v${data.version}`;
567
+ case "context-window-size":
568
+ if (data.contextWindowSize > 0) {
569
+ return `${formatTokenCount(data.contextWindowSize)} window`;
570
+ }
571
+ return void 0;
572
+ case "used-tokens":
573
+ if (data.currentUsage > 0) {
574
+ return `${formatTokenCount(data.currentUsage)} used`;
575
+ }
576
+ return void 0;
577
+ case "total-input-tokens":
578
+ return `${formatTokenCount(data.totalInputTokens)} total in`;
579
+ case "total-output-tokens":
580
+ return `${formatTokenCount(data.totalOutputTokens)} total out`;
581
+ case "session-id":
582
+ return data.sessionId || void 0;
583
+ default: {
584
+ item;
585
+ return void 0;
586
+ }
587
+ }
588
+ }
589
+ __name(formatPresetItem, "formatPresetItem");
590
+ function buildStatusLinePresetParts(config, data) {
591
+ const parts = [];
592
+ for (const item of orderStatusLinePresetItems(config.items)) {
593
+ const text = formatPresetItem(item, data);
594
+ if (text) {
595
+ parts.push(text);
596
+ }
597
+ }
598
+ return parts;
599
+ }
600
+ __name(buildStatusLinePresetParts, "buildStatusLinePresetParts");
601
+ function buildStatusLinePresetLines(config, data) {
602
+ const line = buildStatusLinePresetParts(config, data).join(" \xB7 ");
603
+ return line ? [line] : [];
604
+ }
605
+ __name(buildStatusLinePresetLines, "buildStatusLinePresetLines");
606
+
607
+ export {
608
+ shortAsciiLogo,
609
+ getScopeItems,
610
+ getScopeMessageForSetting,
611
+ TAB_DEFS,
612
+ RANGE_CYCLE,
613
+ getHeatmapColors,
614
+ getSeriesColors,
615
+ getRangeLabel,
616
+ fmtTokens,
617
+ fmtDurationShort,
618
+ fmtSuccessBar,
619
+ getSuccessColor,
620
+ getCacheColor,
621
+ TableRow,
622
+ aggregateModelTokens,
623
+ STATUS_LINE_PRESET_ITEMS,
624
+ orderStatusLinePresetItems,
625
+ DEFAULT_STATUS_LINE_PRESET_CONFIG,
626
+ normalizeStatusLinePresetConfig,
627
+ buildStatusLinePresetData,
628
+ buildStatusLinePresetLines,
629
+ computeWindowTitle,
630
+ writeTerminalTitle,
631
+ formatSessionWindowTitle,
632
+ titleStatusPrefix,
633
+ useGitBranchName
634
+ };
635
+ /**
636
+ * @license
637
+ * Copyright 2025 Google LLC
638
+ * SPDX-License-Identifier: Apache-2.0
639
+ */
640
+ /**
641
+ * @license
642
+ * Copyright 2025 Qwen
643
+ * SPDX-License-Identifier: Apache-2.0
644
+ */
645
+ /**
646
+ * @license
647
+ * Copyright 2026 Qwen
648
+ * SPDX-License-Identifier: Apache-2.0
649
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-RUKNJEJO.js";
5
+ } from "./chunk-J7DNMZFO.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  themeManager
5
- } from "./chunk-EN2J77G7.js";
5
+ } from "./chunk-NELCY6JT.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -177,10 +177,10 @@ function ensureBuiltins() {
177
177
  const labelled = [
178
178
  { name: "telegram", promise: import("./dist-NPS52B2V.js") },
179
179
  { name: "weixin", promise: import("./dist-BNWP6IZL.js") },
180
- { name: "dingtalk", promise: import("./dist-MAIUUIWN.js") },
180
+ { name: "dingtalk", promise: import("./dist-BW2LDPV3.js") },
181
181
  { name: "wecom", promise: import("./dist-EFJILGIS.js") },
182
182
  { name: "feishu", promise: import("./dist-PKSRQAR2.js") },
183
- { name: "qqbot", promise: import("./dist-Q2WJ2IZU.js") },
183
+ { name: "qqbot", promise: import("./dist-KTYDJNYM.js") },
184
184
  { name: "github", promise: import("./dist-AVUYBK7L.js") },
185
185
  { name: "gitlab", promise: import("./dist-ZWDH5HLS.js") }
186
186
  ];
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-4PFKN7CQ.js";
9
+ } from "./chunk-M6SXIXBV.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -30,6 +30,12 @@ var import_websocket_server = __toESM(require_websocket_server(), 1);
30
30
  var wrapper_default = import_websocket.default;
31
31
 
32
32
  export {
33
+ import_stream,
34
+ import_extension,
35
+ import_permessage_deflate,
36
+ import_receiver,
37
+ import_sender,
38
+ import_subprotocol,
33
39
  import_websocket,
34
40
  import_websocket_server,
35
41
  wrapper_default