@qwen-code/qwen-code 0.19.9 → 0.19.10-nightly.20260716.506ce0a1a

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 (323) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +14 -6
  2. package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
  3. package/bundled/qc-helper/docs/features/channels/dingtalk.md +33 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +64 -20
  5. package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
  6. package/bundled/qc-helper/docs/features/code-review.md +88 -44
  7. package/bundled/qc-helper/docs/features/commands.md +6 -6
  8. package/bundled/qc-helper/docs/features/hooks.md +29 -0
  9. package/bundled/qc-helper/docs/features/sandbox.md +2 -0
  10. package/bundled/qc-helper/docs/features/sub-agents.md +21 -0
  11. package/bundled/qc-helper/docs/qwen-serve.md +49 -20
  12. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  13. package/bundled/review/DESIGN.md +219 -33
  14. package/bundled/review/SKILL.md +429 -382
  15. package/chunks/{MaxSizedBox-6HYJ3ZPJ.js → MaxSizedBox-WOC3YDWA.js} +31 -32
  16. package/chunks/{StandaloneSessionPicker-WS4GXYOG.js → StandaloneSessionPicker-H5HZCAFD.js} +49 -48
  17. package/chunks/{acpAgent-5FWSOZL5.js → acpAgent-55YDJDNM.js} +922 -550
  18. package/chunks/{agent-HOLHB3RT.js → agent-H6VE5W3L.js} +26 -27
  19. package/chunks/{agent-headless-SXL6H56A.js → agent-headless-T4XJOCRU.js} +26 -27
  20. package/chunks/{anthropicContentGenerator-L73TO3DB.js → anthropicContentGenerator-HBRXJSP4.js} +78 -16
  21. package/chunks/{artifact-tool-U7IRTLIV.js → artifact-tool-MIZLXBLF.js} +2 -2
  22. package/chunks/{askUserQuestion-2DLUUZZG.js → askUserQuestion-XMJVPNWM.js} +2 -2
  23. package/chunks/{bridge-BCJQ7BBB.js → bridge-FTB6ZP3R.js} +31 -34
  24. package/chunks/{ca-UJ6HC4H2.js → ca-CODEN7TD.js} +9 -1
  25. package/chunks/channel-worker-group-K7QKH6IG.js +13 -0
  26. package/chunks/channel-worker-manager-CUDPU4CN.js +418 -0
  27. package/chunks/channel-worker-supervisor-4XTO2ZD3.js +20 -0
  28. package/chunks/{chunk-LXNEJD34.js → chunk-2FO5GFKZ.js} +1 -1
  29. package/chunks/{chunk-VA4KQY6V.js → chunk-2JNR4VP2.js} +3 -3
  30. package/chunks/{chunk-L36P3NBD.js → chunk-2W3OOD4W.js} +2 -0
  31. package/chunks/{chunk-7R3CZA3Q.js → chunk-2Z5UX4KI.js} +1 -1
  32. package/chunks/{chunk-CUMMSHH6.js → chunk-3DWIFU7L.js} +1 -1
  33. package/chunks/chunk-3MX7D6QN.js +516 -0
  34. package/chunks/{chunk-SJHDYNHF.js → chunk-4BJVSIS3.js} +3 -3
  35. package/chunks/{chunk-TO6QE22P.js → chunk-5CNYZ7TN.js} +26 -22
  36. package/chunks/{chunk-N3EMS75V.js → chunk-5DEJ4T6C.js} +1333 -1232
  37. package/chunks/chunk-5HBA2Z7V.js +28 -0
  38. package/chunks/{chunk-ZJE7NSL3.js → chunk-5M6IDOMF.js} +34 -97
  39. package/chunks/{chunk-SCGXUJBT.js → chunk-6LI3L22E.js} +3 -3
  40. package/chunks/{chunk-K434OPES.js → chunk-6WPJRYLZ.js} +3 -3
  41. package/chunks/{chunk-YAUFFXDS.js → chunk-7GM2RWCR.js} +12 -11
  42. package/chunks/{chunk-OQ4DRIOA.js → chunk-7HWE2W74.js} +2 -2
  43. package/chunks/{chunk-J4TSQ5EQ.js → chunk-7NFB7LBQ.js} +8 -1
  44. package/chunks/{chunk-MC23XKFE.js → chunk-A2HWMJVO.js} +37 -3
  45. package/chunks/{chunk-3G7CIHVV.js → chunk-ABNYOMDG.js} +4 -4
  46. package/chunks/{chunk-3AHXV67U.js → chunk-AGZLXLBY.js} +1 -1
  47. package/chunks/{chunk-RDJSGHZE.js → chunk-ALGGS7UH.js} +1 -38
  48. package/chunks/{chunk-Q4YQW46J.js → chunk-AMRZVQUY.js} +43 -40
  49. package/chunks/{chunk-W3JHSWRP.js → chunk-AN6C2U46.js} +4 -4
  50. package/chunks/{chunk-GWHYEOV2.js → chunk-ARKANCNX.js} +2 -1
  51. package/chunks/{chunk-5SFOMFG4.js → chunk-AVEOWVOM.js} +36 -2
  52. package/chunks/{chunk-34MW4KTI.js → chunk-BA5JGE5F.js} +2 -2
  53. package/chunks/{chunk-5HOMWMCL.js → chunk-BSJAQUFD.js} +5492 -1336
  54. package/chunks/{chunk-L6P4KPHR.js → chunk-BWJKL5DB.js} +58 -38
  55. package/chunks/{chunk-PVZM22CK.js → chunk-C32JFRGV.js} +5 -5
  56. package/chunks/{chunk-AKIVHSJR.js → chunk-CZIHPO7L.js} +163 -782
  57. package/chunks/chunk-DL7RCO6V.js +493 -0
  58. package/chunks/{chunk-KKNMOEZH.js → chunk-E2UVIFI2.js} +185 -398
  59. package/chunks/{chunk-5VXNZWGF.js → chunk-ENUQSKEY.js} +1 -1
  60. package/chunks/{chunk-PDZ7MBDG.js → chunk-EWILX3BM.js} +27 -6
  61. package/chunks/{chunk-BMGVRZN4.js → chunk-EZWX232B.js} +1 -1
  62. package/chunks/{chunk-4GORAUCN.js → chunk-F333XEAU.js} +1 -1
  63. package/chunks/{chunk-YLV3XXFB.js → chunk-FBU7WRZI.js} +17 -1
  64. package/chunks/chunk-FEOZBUMT.js +77 -0
  65. package/chunks/{chunk-5U27BZ72.js → chunk-FKEGVMPX.js} +269 -83
  66. package/chunks/chunk-FNX3LGAK.js +34 -0
  67. package/chunks/{chunk-LK7KUE55.js → chunk-FSA7ERJ2.js} +1 -1
  68. package/chunks/{chunk-PODM4SZ4.js → chunk-G3BIBPI7.js} +5 -5
  69. package/chunks/{chunk-A3XKDTSH.js → chunk-GA65O2TB.js} +4 -4
  70. package/chunks/{chunk-3BTRNWWD.js → chunk-GOXKNSDZ.js} +1 -64
  71. package/chunks/{channel-worker-supervisor-WSOAAYUO.js → chunk-GXGIM7QP.js} +67 -35
  72. package/chunks/{chunk-6PESIEKJ.js → chunk-GXUWGPYX.js} +68 -6
  73. package/chunks/chunk-GYTKQYDB.js +23 -0
  74. package/chunks/{chunk-GZRTYZ2R.js → chunk-H3XMJV7T.js} +218 -1
  75. package/chunks/{chunk-WQUQVGTF.js → chunk-HGRXW4HQ.js} +467 -106
  76. package/chunks/{chunk-YVEDCAUE.js → chunk-HGT6JR3U.js} +19 -0
  77. package/chunks/{chunk-ECNYL4AA.js → chunk-HUEWOHKV.js} +1 -1
  78. package/chunks/chunk-IDS7MSUP.js +74 -0
  79. package/chunks/{chunk-KHUQZZJ6.js → chunk-IHDRJLLR.js} +382 -36
  80. package/chunks/{chunk-CLFKOZEK.js → chunk-J4SEAF4X.js} +114 -4
  81. package/chunks/{chunk-B5ORX3FG.js → chunk-JGUT3LWZ.js} +6 -1
  82. package/chunks/{chunk-P67PFTUT.js → chunk-KEYEYCHZ.js} +4 -4
  83. package/chunks/{chunk-ORBGV7NJ.js → chunk-KKRTYONM.js} +6 -4
  84. package/chunks/{chunk-7PU4FYLG.js → chunk-KOXFAG6P.js} +4 -18
  85. package/chunks/{chunk-EGYZ275M.js → chunk-KWLVWNF5.js} +55 -7
  86. package/chunks/{chunk-XLA62MYB.js → chunk-KXECVZPD.js} +2 -2
  87. package/chunks/{chunk-IAVB3HM3.js → chunk-L4Y55KIS.js} +33 -1
  88. package/chunks/{chunk-4QLQE5WJ.js → chunk-L5U3ELZX.js} +1 -1
  89. package/chunks/{chunk-4ZVWQHEQ.js → chunk-LQIDP6K5.js} +1 -1
  90. package/chunks/{chunk-DC5Z3DU6.js → chunk-LXLTBIDP.js} +43 -6
  91. package/chunks/chunk-LXXMOYPL.js +22 -0
  92. package/chunks/{chunk-Q6I5QHMH.js → chunk-MFNKBXYH.js} +1 -1
  93. package/chunks/chunk-MR3PXB6E.js +48 -0
  94. package/chunks/{chunk-JZETEN3Z.js → chunk-N45S36AH.js} +3 -3
  95. package/chunks/{chunk-GWLSNBG4.js → chunk-NA3IG6XG.js} +748 -27
  96. package/chunks/{chunk-D5SKC4YG.js → chunk-O3M25JXE.js} +213 -29
  97. package/chunks/{chunk-EAXLGSFP.js → chunk-O6XGHDS5.js} +11 -11
  98. package/chunks/{chunk-WL4L7EZH.js → chunk-OA4JVLSA.js} +27 -1
  99. package/chunks/{chunk-X4NKFGFJ.js → chunk-OJAMDVF5.js} +0 -15
  100. package/chunks/{chunk-BZIFY5TF.js → chunk-OKAIGAYW.js} +3 -3
  101. package/chunks/{chunk-CNEIYWSA.js → chunk-OVIV236K.js} +5 -5
  102. package/chunks/{chunk-3SJSQXNS.js → chunk-PEJWA3QQ.js} +12 -8
  103. package/chunks/{chunk-E2IY465S.js → chunk-PWNOAWXB.js} +59 -12
  104. package/chunks/{chunk-B4G2WOFA.js → chunk-Q5MKHNIR.js} +28 -5
  105. package/chunks/{chunk-MXL5UP4X.js → chunk-Q6TUALBE.js} +1 -1
  106. package/chunks/{chunk-QYMQSECS.js → chunk-QAW7PIHT.js} +2 -2
  107. package/chunks/{chunk-HKMAENAO.js → chunk-QDTGDM2T.js} +14 -9
  108. package/chunks/{chunk-LUODI7WD.js → chunk-RCEEXIOO.js} +6 -4
  109. package/chunks/{chunk-W2UIXQDL.js → chunk-RTV5TUYB.js} +12 -4
  110. package/chunks/chunk-RW7DUKFO.js +91 -0
  111. package/chunks/{chunk-NVYTCB5Z.js → chunk-SA6QVLWI.js} +17325 -16259
  112. package/chunks/chunk-SJSI7PXU.js +59 -0
  113. package/chunks/{chunk-HVY356M2.js → chunk-SMGBWLNU.js} +3 -3
  114. package/chunks/{chunk-CEA3E3JB.js → chunk-SPJQO2CE.js} +2 -2
  115. package/chunks/{chunk-CC2ITGCF.js → chunk-STZQCNN3.js} +49 -6
  116. package/chunks/{chunk-HPDUL5MF.js → chunk-T2ZDAER2.js} +1 -1
  117. package/chunks/{chunk-XUOOWUZS.js → chunk-T3TQ3ACP.js} +1 -1
  118. package/chunks/{chunk-4C5BQ2D2.js → chunk-TIKDHS6V.js} +100 -17
  119. package/chunks/chunk-TV6K2FB4.js +224 -0
  120. package/chunks/{chunk-5XUCZNSY.js → chunk-TYLOFD2U.js} +1 -1
  121. package/chunks/{chunk-D2GFWEXB.js → chunk-UCUUH2JV.js} +6 -6
  122. package/chunks/{chunk-BAPGSC7U.js → chunk-UZP7K33Y.js} +23 -9
  123. package/chunks/{chunk-77XJ3SWN.js → chunk-VDAR6UO2.js} +8 -6
  124. package/chunks/{chunk-XYQSMABS.js → chunk-VKLVGA2D.js} +4 -4
  125. package/chunks/{chunk-JSG7ZSBC.js → chunk-VRR65QYW.js} +251 -3
  126. package/chunks/{chunk-U2NNEY4R.js → chunk-VT5AWJN4.js} +1 -1
  127. package/chunks/{chunk-ZLXQN2QS.js → chunk-WIEO4CWB.js} +1 -1
  128. package/chunks/{chunk-X6TJ3YZV.js → chunk-WKEO3GLZ.js} +160 -60
  129. package/chunks/{chunk-J3JA76CF.js → chunk-WTNZ6DXB.js} +1 -1
  130. package/chunks/{chunk-VWPVHAMO.js → chunk-XIWQ5QST.js} +8 -1
  131. package/chunks/{chunk-TDEXZKMT.js → chunk-Y66VOBRP.js} +2 -2
  132. package/chunks/{chunk-3VAGG5T5.js → chunk-YYBZUIPL.js} +1015 -100
  133. package/chunks/{chunk-CCDMCZPP.js → chunk-YZ3SBNP7.js} +1 -1
  134. package/chunks/{chunk-ATAKVRIF.js → chunk-Z3XA2TNG.js} +7 -7
  135. package/chunks/{chunk-EMDMPBJ4.js → chunk-Z7SVC7PJ.js} +10 -3
  136. package/chunks/{chunk-AURZZYMD.js → chunk-ZIVSSTUG.js} +4 -4
  137. package/chunks/{chunk-UOZWKTQG.js → chunk-ZPAHLFZU.js} +2 -2
  138. package/chunks/{chunk-34Z3U5RQ.js → chunk-ZQIYGQCG.js} +765 -168
  139. package/chunks/{computer-use-HM37RX6A.js → computer-use-NADT7ULB.js} +26 -27
  140. package/chunks/{config-utils-NV2SVGPB.js → config-utils-IQQT3GCI.js} +3 -2
  141. package/chunks/{contextCommand-OF5SFGH2.js → contextCommand-U7NEJYJ7.js} +28 -29
  142. package/chunks/{create-sub-session-INX7TXJI.js → create-sub-session-EAB2U5XW.js} +2 -2
  143. package/chunks/{create-sub-session-KPRT7ECJ.js → create-sub-session-SUN33INC.js} +26 -27
  144. package/chunks/{cron-create-AMBKGZX6.js → cron-create-GMVKSXZT.js} +4 -4
  145. package/chunks/{cron-delete-LRU4OJYG.js → cron-delete-VDZKUAVK.js} +4 -4
  146. package/chunks/{cron-list-WVP2JXER.js → cron-list-UG7C7RAR.js} +4 -4
  147. package/chunks/{daemon-ARHTSTXP.js → daemon-SJXEKP3H.js} +773 -126
  148. package/chunks/daemon-status-provider-WIIYLGZJ.js +74 -0
  149. package/chunks/{de-EBJN3OVN.js → de-NOXPCSYN.js} +9 -1
  150. package/chunks/{dist-XKU3ABM5.js → dist-4WCQEZIN.js} +4 -51
  151. package/chunks/{dist-QYCAEZIT.js → dist-DOPL5LSQ.js} +5 -1
  152. package/chunks/{dist-WKPOYU7O.js → dist-GXJVCOS7.js} +1 -1
  153. package/chunks/{dist-R7LN5AZE.js → dist-PX2ERZ6I.js} +2 -2
  154. package/chunks/{dist-PNVLTKTL.js → dist-V2YVLYOW.js} +215 -33
  155. package/chunks/{dist-VHV4EVHG.js → dist-VYWUKURL.js} +1 -1
  156. package/chunks/{earlyInputCapture-3VTHRC4C.js → earlyInputCapture-6FRM6UMU.js} +27 -28
  157. package/chunks/{edit-VNI4NJ73.js → edit-7GOIQTCZ.js} +27 -28
  158. package/chunks/{en-5A6LA7RK.js → en-JFVULHTB.js} +11 -1
  159. package/chunks/{enter-worktree-IYYBKPZT.js → enter-worktree-476E6WIK.js} +26 -27
  160. package/chunks/{enterPlanMode-GMC5FD5A.js → enterPlanMode-IRJM6W3C.js} +42 -28
  161. package/chunks/{environment-5HSSRMJ7.js → environment-ROMULS2X.js} +30 -30
  162. package/chunks/{errors-HMFCJJ7P.js → errors-OUIWPUDY.js} +28 -29
  163. package/chunks/{exit-worktree-6BHCMP5G.js → exit-worktree-PPSFK753.js} +26 -27
  164. package/chunks/{exitPlanMode-CJW7G74W.js → exitPlanMode-YKQMD4D7.js} +26 -27
  165. package/chunks/{fast-path-FRDMDVHG.js → fast-path-CNK2HHKH.js} +3 -3
  166. package/chunks/{fast-path-settings-5QZE64HR.js → fast-path-settings-DAOVFADC.js} +6 -4
  167. package/chunks/{fr-YXRABLYZ.js → fr-HVFNU42H.js} +9 -1
  168. package/chunks/{gemini-QYSEGHAX.js → gemini-WQNFT6TR.js} +216 -90
  169. package/chunks/{geminiContentGenerator-J7YNZDYP.js → geminiContentGenerator-4QJH2JDP.js} +4 -4
  170. package/chunks/{glob-BRCSGFOT.js → glob-36TVLBWW.js} +28 -28
  171. package/chunks/{grep-EE2DUOSY.js → grep-QTYLNO2M.js} +26 -27
  172. package/chunks/{handleAutoUpdate-5NWTLR67.js → handleAutoUpdate-36FQFODK.js} +30 -31
  173. package/chunks/{i18n-BASPENNQ.js → i18n-JUGYPVSP.js} +27 -28
  174. package/chunks/initializer-OBBJUS25.js +72 -0
  175. package/chunks/{installationInfo-W6V4DT7W.js → installationInfo-MCKTPX64.js} +27 -28
  176. package/chunks/{ja-7VQOANVG.js → ja-PY5AF544.js} +10 -2
  177. package/chunks/{keychain-token-storage-VKUBNCP4.js → keychain-token-storage-AU22CQI6.js} +2 -2
  178. package/chunks/list-VW5QY4VJ.js +75 -0
  179. package/chunks/loadedSettingsAdapter-IELOOXG6.js +69 -0
  180. package/chunks/{loop-wakeup-WX7BLWWP.js → loop-wakeup-QXWZSCYM.js} +5 -5
  181. package/chunks/{ls-ZB2BDP6T.js → ls-2OUTG3IZ.js} +4 -4
  182. package/chunks/{lsp-V5DN4YUJ.js → lsp-4VMNXZW6.js} +2 -2
  183. package/chunks/mcp-Q3EC37ZS.js +69 -0
  184. package/chunks/{monitor-X5Z3H4FY.js → monitor-DCZ27AFR.js} +26 -27
  185. package/chunks/nonInteractiveCli-KXD7PFO4.js +128 -0
  186. package/chunks/{notebook-edit-TRM2QIJK.js → notebook-edit-YU4XF5LI.js} +27 -28
  187. package/chunks/{openaiContentGenerator-AAYONPMF.js → openaiContentGenerator-KL5WER2D.js} +13 -13
  188. package/chunks/{pidfile-D4I4FTVA.js → pidfile-WBOD7EJV.js} +27 -28
  189. package/chunks/processUtils-AOV4R34M.js +29 -0
  190. package/chunks/{pt-2C6YCSHL.js → pt-A3PRQXMU.js} +9 -1
  191. package/chunks/{qwenContentGenerator-K3HZ2H76.js → qwenContentGenerator-YIGBHYE3.js} +28 -29
  192. package/chunks/{qwenOAuth2-PJQ27GSO.js → qwenOAuth2-LEYOU7RU.js} +5 -5
  193. package/chunks/{read-file-7SZSIZOL.js → read-file-WVL4Y76X.js} +9 -9
  194. package/chunks/{read-mcp-resource-SM5DA4RG.js → read-mcp-resource-JUFHCKSC.js} +2 -2
  195. package/chunks/{record-artifact-4XKZX3UW.js → record-artifact-DWSMBXYY.js} +2 -2
  196. package/chunks/{ripGrep-YNPFVCZP.js → ripGrep-6GSWJERP.js} +26 -27
  197. package/chunks/{ru-6BBHVZZV.js → ru-IBCWUTOC.js} +9 -1
  198. package/chunks/{run-qwen-serve-DMWV5N6L.js → run-qwen-serve-QYUQMEDT.js} +1233 -371
  199. package/chunks/{runtime-57WWRVHN.js → runtime-K2YZCNB3.js} +42 -38
  200. package/chunks/{scheduler-YBLGWSIL.js → scheduler-EQCSN7QV.js} +26 -27
  201. package/chunks/{send-message-F36YD6KQ.js → send-message-JZ752NWD.js} +3 -3
  202. package/chunks/{serve-R63NK3CV.js → serve-DX5UGZD4.js} +36 -35
  203. package/chunks/{server-Z22GCAXP.js → server-T6HJH3DR.js} +5869 -1398
  204. package/chunks/{session-HKAAI7BN.js → session-SNU6ACY6.js} +299 -100
  205. package/chunks/{settings-3EYN66GK.js → settings-AKHZZNEL.js} +34 -33
  206. package/chunks/{shell-6YXINTWJ.js → shell-EY74IEZK.js} +28 -27
  207. package/chunks/{skill-OO57P4X6.js → skill-DPU62O3H.js} +11 -11
  208. package/chunks/{spawnChannel-JD7G4VU6.js → spawnChannel-RQZRWJ2V.js} +28 -30
  209. package/chunks/{src-G5UPLZSZ.js → src-7FITDSVC.js} +164 -52
  210. package/chunks/{standalone-update-OB7F4JPZ.js → standalone-update-XO3RK6DO.js} +28 -29
  211. package/chunks/{startInteractiveUI-73EGLIIH.js → startInteractiveUI-DVWZRHYQ.js} +728 -382
  212. package/chunks/{syntheticOutput-34H7LGA7.js → syntheticOutput-LELY6HAI.js} +3 -3
  213. package/chunks/{task-create-FRGOEIKY.js → task-create-QY3BIMNM.js} +8 -7
  214. package/chunks/{task-list-OW766BXZ.js → task-list-D2U47WBJ.js} +6 -5
  215. package/chunks/{task-stop-SIR5SNBN.js → task-stop-N6E5IYLH.js} +2 -2
  216. package/chunks/{task-update-YRA532MT.js → task-update-HJCQILLB.js} +8 -7
  217. package/chunks/{team-create-PECAAPXK.js → team-create-FOSRT62K.js} +26 -27
  218. package/chunks/{team-delete-6OSECUZC.js → team-delete-RCWYDRF4.js} +6 -5
  219. package/chunks/{team-plan-approval-L6F434RY.js → team-plan-approval-6VUDV27J.js} +26 -27
  220. package/chunks/{theme-manager-ZG4RY6GU.js → theme-manager-6UT6IO5T.js} +27 -28
  221. package/chunks/{todoWrite-YDMFEV4G.js → todoWrite-FKCGATPJ.js} +4 -4
  222. package/chunks/{tool-search-THVIWAPB.js → tool-search-ASSFMMN5.js} +10 -10
  223. package/chunks/{total-session-admission-JOKNRIIA.js → total-session-admission-YYWUO23H.js} +32 -35
  224. package/chunks/tree-sitter-YJVE2ZUK.js +2980 -0
  225. package/chunks/{trustedFolders-EOGT3UVS.js → trustedFolders-4BWV2IBK.js} +29 -29
  226. package/chunks/types-ML3TRJQ5.js +16 -0
  227. package/chunks/update-relaunch-74DLGH73.js +87 -0
  228. package/chunks/{updateCheck-2KYEYVSB.js → updateCheck-CRFCGFO5.js} +31 -30
  229. package/chunks/{validateNonInterActiveAuth-EN6ZQSR2.js → validateNonInterActiveAuth-BTTEPBGQ.js} +76 -73
  230. package/chunks/{version-3UEA6ZIR.js → version-Y5JE5Q63.js} +1 -1
  231. package/chunks/{web-fetch-PAAEQKBW.js → web-fetch-CFCWTCAP.js} +5 -6
  232. package/chunks/{workflow-QCCCMYP3.js → workflow-6WC7VPQN.js} +27 -28
  233. package/chunks/workspace-providers-status-RVG2C5ZS.js +72 -0
  234. package/chunks/workspace-registration-store-SLEU3D3X.js +27 -0
  235. package/chunks/{workspace-registry-24QFLQYH.js → workspace-registry-QMWGVOTF.js} +32 -35
  236. package/chunks/workspace-service-G572JSEU.js +84 -0
  237. package/chunks/workspace-skills-status-VSSMSMNK.js +71 -0
  238. package/chunks/{write-file-I3MUDRIE.js → write-file-5XVDRORP.js} +27 -28
  239. package/chunks/{zh-RQE7I22T.js → zh-PAUNIMHQ.js} +12 -2
  240. package/chunks/{zh-TW-TBPQGHKH.js → zh-TW-GNEUIUFF.js} +12 -2
  241. package/cli-entry.js +92 -8
  242. package/cli.js +11 -11
  243. package/locales/ca.js +16 -0
  244. package/locales/de.js +16 -0
  245. package/locales/en.js +19 -0
  246. package/locales/fr.js +16 -0
  247. package/locales/ja.js +17 -1
  248. package/locales/pt.js +16 -0
  249. package/locales/ru.js +16 -0
  250. package/locales/zh-TW.js +20 -1
  251. package/locales/zh.js +20 -1
  252. package/package.json +3 -3
  253. package/web-shell/assets/{arc-C15hqnJe.js → arc-vx1tRwnX.js} +1 -1
  254. package/web-shell/assets/{architectureDiagram-3BPJPVTR-B-At37J_.js → architectureDiagram-3BPJPVTR-DBi6iUA1.js} +1 -1
  255. package/web-shell/assets/{blockDiagram-GPEHLZMM-B51wjcU7.js → blockDiagram-GPEHLZMM-Ga9JJ4Ak.js} +1 -1
  256. package/web-shell/assets/{c4Diagram-AAUBKEIU-xBK7BAwN.js → c4Diagram-AAUBKEIU-D8Vi5FYw.js} +1 -1
  257. package/web-shell/assets/channel-B29zQDTL.js +1 -0
  258. package/web-shell/assets/{chunk-2J33WTMH-xKmLg7Yr.js → chunk-2J33WTMH-CSV6yQpU.js} +1 -1
  259. package/web-shell/assets/{chunk-4BX2VUAB-BfkdKZCM.js → chunk-4BX2VUAB-toYlppdI.js} +1 -1
  260. package/web-shell/assets/{chunk-55IACEB6-DT713sZf.js → chunk-55IACEB6-DbjzuyAr.js} +1 -1
  261. package/web-shell/assets/{chunk-727SXJPM-CYEeAamv.js → chunk-727SXJPM-IkkSjSkk.js} +1 -1
  262. package/web-shell/assets/{chunk-AQP2D5EJ-DBN-5CFd.js → chunk-AQP2D5EJ-D5wUL6Zm.js} +1 -1
  263. package/web-shell/assets/{chunk-FMBD7UC4-CGZKk4PH.js → chunk-FMBD7UC4-C3o2DXG0.js} +1 -1
  264. package/web-shell/assets/{chunk-ND2GUHAM-qQbC2O-y.js → chunk-ND2GUHAM-CutIi14T.js} +1 -1
  265. package/web-shell/assets/{chunk-QZHKN3VN-B3zeXwsX.js → chunk-QZHKN3VN-DZ0NRHH-.js} +1 -1
  266. package/web-shell/assets/classDiagram-4FO5ZUOK-BNGI2SvC.js +1 -0
  267. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BNGI2SvC.js +1 -0
  268. package/web-shell/assets/{cose-bilkent-S5V4N54A-BKsl1Wvy.js → cose-bilkent-S5V4N54A-B3Dl88UJ.js} +1 -1
  269. package/web-shell/assets/{dagre-BM42HDAG-CuuuLiBK.js → dagre-BM42HDAG-DfTxfF6-.js} +1 -1
  270. package/web-shell/assets/{diagram-2AECGRRQ-CG4_eKiV.js → diagram-2AECGRRQ-CJyH98yO.js} +1 -1
  271. package/web-shell/assets/{diagram-5GNKFQAL-DSFTmZB1.js → diagram-5GNKFQAL-EbOiJNmW.js} +1 -1
  272. package/web-shell/assets/{diagram-KO2AKTUF-BxwlEHn8.js → diagram-KO2AKTUF-AYNqpqqA.js} +1 -1
  273. package/web-shell/assets/{diagram-LMA3HP47-BUAg-jMG.js → diagram-LMA3HP47-BY5VPa4H.js} +1 -1
  274. package/web-shell/assets/{diagram-OG6HWLK6-BFM2jlO5.js → diagram-OG6HWLK6-BhMYAKlk.js} +1 -1
  275. package/web-shell/assets/{erDiagram-TEJ5UH35-CerbFPa2.js → erDiagram-TEJ5UH35-Bp8S_F9l.js} +1 -1
  276. package/web-shell/assets/{flowDiagram-I6XJVG4X-BNeZz5Zz.js → flowDiagram-I6XJVG4X-az3TE9PU.js} +1 -1
  277. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CTOogLaM.js → ganttDiagram-6RSMTGT7-CfkAEpCe.js} +3 -3
  278. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-yxSFkXPj.js → gitGraphDiagram-PVQCEYII-D1QmjMCy.js} +1 -1
  279. package/web-shell/assets/index-C8sDwQUv.js +1130 -0
  280. package/web-shell/assets/index-CaBoc5bb.js +3 -0
  281. package/web-shell/assets/index-Dpg5Wymg.css +5 -0
  282. package/web-shell/assets/{infoDiagram-5YYISTIA-DYdAUevm.js → infoDiagram-5YYISTIA-D3ompLrG.js} +1 -1
  283. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CNuijZ90.js → ishikawaDiagram-YF4QCWOH-D3MRWp9I.js} +1 -1
  284. package/web-shell/assets/{journeyDiagram-JHISSGLW-BTyiuonf.js → journeyDiagram-JHISSGLW-DVkKCa44.js} +1 -1
  285. package/web-shell/assets/{kanban-definition-UN3LZRKU-DPJo0Uow.js → kanban-definition-UN3LZRKU-BLif81wF.js} +1 -1
  286. package/web-shell/assets/{linear-C8wKCbIC.js → linear-BDU96EGS.js} +1 -1
  287. package/web-shell/assets/{mermaid.core-BV5o7nW5.js → mermaid.core-B-CwC26B.js} +5 -5
  288. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BtLcBmSt.js → mindmap-definition-RKZ34NQL-CS1WOJ4G.js} +1 -1
  289. package/web-shell/assets/{pieDiagram-4H26LBE5-C22J7A9Q.js → pieDiagram-4H26LBE5-BzgtNXVP.js} +1 -1
  290. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DSL10wiL.js → quadrantDiagram-W4KKPZXB-BRfGC8MA.js} +1 -1
  291. package/web-shell/assets/{requirementDiagram-4Y6WPE33-feqh0UpX.js → requirementDiagram-4Y6WPE33-CPBZkC7g.js} +1 -1
  292. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Z4OVaWaZ.js → sankeyDiagram-5OEKKPKP-nqNvinIk.js} +1 -1
  293. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DIluIcb1.js → sequenceDiagram-3UESZ5HK-CM_Wdjh3.js} +1 -1
  294. package/web-shell/assets/{stateDiagram-AJRCARHV-hlhnuoYH.js → stateDiagram-AJRCARHV-L0y-48VE.js} +1 -1
  295. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BX1DdF8s.js +1 -0
  296. package/web-shell/assets/{timeline-definition-PNZ67QCA-Dqf_CqgL.js → timeline-definition-PNZ67QCA-B_n5rb3A.js} +1 -1
  297. package/web-shell/assets/{vennDiagram-CIIHVFJN-DD2QhaTX.js → vennDiagram-CIIHVFJN-C9NmLV5e.js} +1 -1
  298. package/web-shell/assets/{wardley-L42UT6IY-B2uI85U_.js → wardley-L42UT6IY-CrefK9gt.js} +1 -1
  299. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-U1aJX71g.js → wardleyDiagram-YWT4CUSO-BUccf-bC.js} +1 -1
  300. package/web-shell/assets/{xychartDiagram-2RQKCTM6-C0ODHUee.js → xychartDiagram-2RQKCTM6-DM6ef92l.js} +1 -1
  301. package/web-shell/index.html +2 -2
  302. package/chunks/chunk-524RQP4Q.js +0 -305
  303. package/chunks/chunk-CARU2RR2.js +0 -24
  304. package/chunks/chunk-CU3L64TP.js +0 -93
  305. package/chunks/chunk-OCPBI7J5.js +0 -18
  306. package/chunks/chunk-TEGEBB2I.js +0 -122
  307. package/chunks/chunk-VTU57BWZ.js +0 -30
  308. package/chunks/daemon-status-provider-B2UTZUJ2.js +0 -76
  309. package/chunks/initializer-UTQ7FB7G.js +0 -71
  310. package/chunks/list-DEICDL65.js +0 -74
  311. package/chunks/loadedSettingsAdapter-NOWEGDYJ.js +0 -68
  312. package/chunks/mcp-L5JXEEIA.js +0 -68
  313. package/chunks/nonInteractiveCli-LS2K4X6A.js +0 -124
  314. package/chunks/types-JNKGKUJT.js +0 -12
  315. package/chunks/workspace-providers-status-4KMGETOJ.js +0 -71
  316. package/chunks/workspace-service-RVLBMSMZ.js +0 -80
  317. package/chunks/workspace-skills-status-DS4ZVFTO.js +0 -70
  318. package/web-shell/assets/channel-CLiQD50f.js +0 -1
  319. package/web-shell/assets/classDiagram-4FO5ZUOK-D3sYqow5.js +0 -1
  320. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-D3sYqow5.js +0 -1
  321. package/web-shell/assets/index-D5IWFVk1.css +0 -5
  322. package/web-shell/assets/index-KFJRDhX7.js +0 -783
  323. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BhQMwgpl.js +0 -1
@@ -1,16 +1,18 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ contextCommand
5
+ } from "./chunk-UCUUH2JV.js";
3
6
  import {
4
7
  ExtensionRefreshState,
8
+ clearSkillArgs,
5
9
  isValidSessionId,
6
- validateAuthMethod
7
- } from "./chunk-5HOMWMCL.js";
8
- import {
9
- isKittyProtocolEnabled
10
- } from "./chunk-5DTTYNB7.js";
11
- import {
12
- contextCommand
13
- } from "./chunk-D2GFWEXB.js";
10
+ skillArgsNote,
11
+ skillArgsPath,
12
+ staleArgsWarning,
13
+ validateAuthMethod,
14
+ writeSkillArgs
15
+ } from "./chunk-BSJAQUFD.js";
14
16
  import {
15
17
  VSCODE_SHIFT_ENTER_SEQUENCE,
16
18
  calculateCost,
@@ -22,28 +24,28 @@ import {
22
24
  levelLabel,
23
25
  useKeypress,
24
26
  writeOsc52
25
- } from "./chunk-GWLSNBG4.js";
27
+ } from "./chunk-NA3IG6XG.js";
28
+ import {
29
+ Text
30
+ } from "./chunk-OVIV236K.js";
31
+ import {
32
+ isKittyProtocolEnabled
33
+ } from "./chunk-5DTTYNB7.js";
26
34
  import {
27
35
  isTerminalGoalStatusKind
28
36
  } from "./chunk-7X7TEQNX.js";
29
- import {
30
- Text
31
- } from "./chunk-CNEIYWSA.js";
32
37
  import {
33
38
  require_react
34
39
  } from "./chunk-HTHUX2T5.js";
35
- import {
36
- themeManager
37
- } from "./chunk-MXL5UP4X.js";
38
- import {
39
- getErrorMessage as getErrorMessage2
40
- } from "./chunk-VA4KQY6V.js";
41
40
  import {
42
41
  getInstallationInfo
43
- } from "./chunk-OQ4DRIOA.js";
42
+ } from "./chunk-7HWE2W74.js";
44
43
  import {
45
44
  rollbackStandaloneUpdate
46
- } from "./chunk-EMDMPBJ4.js";
45
+ } from "./chunk-Z7SVC7PJ.js";
46
+ import {
47
+ themeManager
48
+ } from "./chunk-Q6TUALBE.js";
47
49
  import {
48
50
  GITHUB_WORKFLOW_PATHS,
49
51
  INSIGHT_CSS,
@@ -56,24 +58,19 @@ import {
56
58
  toJson,
57
59
  toJsonl,
58
60
  toMarkdown
59
- } from "./chunk-N3EMS75V.js";
61
+ } from "./chunk-5DEJ4T6C.js";
60
62
  import {
61
63
  stripUnsafeCharacters,
62
64
  toCodePoints
63
- } from "./chunk-Q6I5QHMH.js";
65
+ } from "./chunk-MFNKBXYH.js";
64
66
  import {
65
- formatUnsupportedVoiceModelMessage,
66
- getVoiceSettingsScope,
67
- isSelectableVoiceModel,
68
- isVoiceEnabled,
69
- readVoiceMode,
70
- readVoiceModel
71
- } from "./chunk-HPDUL5MF.js";
67
+ getErrorMessage as getErrorMessage2
68
+ } from "./chunk-2JNR4VP2.js";
72
69
  import {
73
70
  getExtendedSystemInfo,
74
71
  getGitVersion,
75
72
  getNpmVersion
76
- } from "./chunk-W3JHSWRP.js";
73
+ } from "./chunk-AN6C2U46.js";
77
74
  import {
78
75
  formatDuration,
79
76
  formatMemoryUsage,
@@ -82,7 +79,15 @@ import {
82
79
  import {
83
80
  isInlineModelOverrideAllowed,
84
81
  parseAcpModelOption
85
- } from "./chunk-34MW4KTI.js";
82
+ } from "./chunk-BA5JGE5F.js";
83
+ import {
84
+ formatUnsupportedVoiceModelMessage,
85
+ getVoiceSettingsScope,
86
+ isSelectableVoiceModel,
87
+ isVoiceEnabled,
88
+ readVoiceMode,
89
+ readVoiceModel
90
+ } from "./chunk-T2ZDAER2.js";
86
91
  import {
87
92
  OUTPUT_LANGUAGE_AUTO,
88
93
  getAllSettingKeys,
@@ -94,7 +99,7 @@ import {
94
99
  resolveOutputLanguage,
95
100
  validateSettingValue,
96
101
  writeOutputLanguageAndRegisterPath
97
- } from "./chunk-4C5BQ2D2.js";
102
+ } from "./chunk-TIKDHS6V.js";
98
103
  import {
99
104
  SUPPORTED_LANGUAGES,
100
105
  getCurrentLanguage,
@@ -102,14 +107,14 @@ import {
102
107
  resolveSupportedLanguage,
103
108
  setLanguageAsync,
104
109
  t
105
- } from "./chunk-YAUFFXDS.js";
110
+ } from "./chunk-7GM2RWCR.js";
106
111
  import {
107
112
  isFolderTrustEnabled,
108
113
  loadTrustedFolders
109
- } from "./chunk-HKMAENAO.js";
114
+ } from "./chunk-QDTGDM2T.js";
110
115
  import {
111
116
  require_strip_json_comments
112
- } from "./chunk-RDJSGHZE.js";
117
+ } from "./chunk-ALGGS7UH.js";
113
118
  import {
114
119
  ArenaManager,
115
120
  BTW_MAX_INPUT_LENGTH,
@@ -127,6 +132,7 @@ import {
127
132
  buildBareRememberPrompt,
128
133
  buildBtwCacheSafeParams,
129
134
  buildBtwPrompt,
135
+ buildLearnSkillPrompt,
130
136
  buildManagedRememberPrompt,
131
137
  canUseRipgrep,
132
138
  checkArgumentSafety,
@@ -153,7 +159,7 @@ import {
153
159
  glob,
154
160
  hookEventSupportsMatcher,
155
161
  ideContextStore,
156
- isImageCapable,
162
+ isExtensionCommittedWithWarningsError,
157
163
  isSuccessStatus,
158
164
  isTerminalStatus,
159
165
  listSavedWorkflows,
@@ -178,44 +184,46 @@ import {
178
184
  stripStartupContext,
179
185
  tryGenerateSessionTitle,
180
186
  unregisterGoalHook
181
- } from "./chunk-NVYTCB5Z.js";
187
+ } from "./chunk-SA6QVLWI.js";
182
188
  import {
183
189
  external_exports
184
190
  } from "./chunk-H6XPXXMH.js";
185
- import {
186
- runSideQuery
187
- } from "./chunk-W2UIXQDL.js";
188
191
  import {
189
192
  APPROVAL_MODES,
190
193
  FORK_SUBAGENT_TYPE
191
- } from "./chunk-4GORAUCN.js";
194
+ } from "./chunk-F333XEAU.js";
192
195
  import {
193
196
  applySkillAllowedTools,
194
197
  buildSkillLlmContent
195
- } from "./chunk-7R3CZA3Q.js";
198
+ } from "./chunk-2Z5UX4KI.js";
196
199
  import {
197
200
  HookEventName,
198
201
  sanitizeUserPromptExpansionAdditionalContext
199
- } from "./chunk-GWHYEOV2.js";
202
+ } from "./chunk-ARKANCNX.js";
200
203
  import {
201
204
  IdeConnectionEvent,
202
205
  formatTokenUsageSummaryAsCsv,
203
206
  formatTokenUsageSummaryAsJson,
204
207
  getCurrentGeminiMdFilename,
205
208
  getMCPServerStatus,
209
+ isImageCapable,
206
210
  logIdeConnection,
207
211
  queryTokenUsage,
208
212
  read,
209
213
  recordSkillInvocation,
210
214
  resolveOpenAILogDir,
211
215
  uiTelemetryService
212
- } from "./chunk-3VAGG5T5.js";
216
+ } from "./chunk-YYBZUIPL.js";
217
+ import {
218
+ runSideQuery
219
+ } from "./chunk-RTV5TUYB.js";
213
220
  import {
214
221
  getAutoMemoryRoot
215
- } from "./chunk-YLV3XXFB.js";
222
+ } from "./chunk-FBU7WRZI.js";
216
223
  import {
217
- ToolNames
218
- } from "./chunk-B5ORX3FG.js";
224
+ ToolNames,
225
+ isShellProgressData
226
+ } from "./chunk-JGUT3LWZ.js";
219
227
  import {
220
228
  openBrowserSecurely
221
229
  } from "./chunk-JESCGQM3.js";
@@ -231,12 +239,12 @@ import {
231
239
  isSubpath,
232
240
  resolvePath,
233
241
  updateSymlink
234
- } from "./chunk-J4TSQ5EQ.js";
242
+ } from "./chunk-7NFB7LBQ.js";
235
243
  import {
236
244
  isCpuProfileRecording,
237
245
  startCpuProfile,
238
246
  stopCpuProfile
239
- } from "./chunk-CCDMCZPP.js";
247
+ } from "./chunk-YZ3SBNP7.js";
240
248
  import {
241
249
  init_esbuild_shims
242
250
  } from "./chunk-5O2XNYP6.js";
@@ -1823,7 +1831,12 @@ init_esbuild_shims();
1823
1831
  // packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
1824
1832
  init_esbuild_shims();
1825
1833
  var import_react = __toESM(require_react(), 1);
1826
- var AUTO_MODE_FIRST_TIME_MESSAGE = "Auto mode enabled.\n An LLM classifier evaluates each tool call \u2014 safe actions auto-approve,\n risky ones are blocked. Exit: Shift+Tab or /approval-mode default.";
1834
+ var AUTO_MODE_FIRST_TIME_MESSAGE_KEY = "auto_mode.entry_notice";
1835
+ var AUTO_MODE_FIRST_TIME_MESSAGE_FALLBACK = "Auto mode enabled.\n An LLM classifier evaluates each tool call \u2014 safe actions auto-approve,\n risky ones are blocked. Exit: Shift+Tab or /approval-mode default.";
1836
+ var getAutoModeFirstTimeMessage = /* @__PURE__ */ __name(() => {
1837
+ const message = t(AUTO_MODE_FIRST_TIME_MESSAGE_KEY);
1838
+ return message === AUTO_MODE_FIRST_TIME_MESSAGE_KEY ? AUTO_MODE_FIRST_TIME_MESSAGE_FALLBACK : message;
1839
+ }, "getAutoModeFirstTimeMessage");
1827
1840
  function useAutoAcceptIndicator({
1828
1841
  config,
1829
1842
  settings,
@@ -1884,7 +1897,7 @@ function emitAutoModeEntryNotices(opts) {
1884
1897
  const acknowledged = settings?.merged.ui?.autoModeAcknowledged === true;
1885
1898
  if (!acknowledged) {
1886
1899
  addItem(
1887
- { type: "info" /* INFO */, text: AUTO_MODE_FIRST_TIME_MESSAGE },
1900
+ { type: "info" /* INFO */, text: getAutoModeFirstTimeMessage() },
1888
1901
  now
1889
1902
  );
1890
1903
  if (settings) {
@@ -1913,10 +1926,16 @@ __name(emitAutoModeEntryNotices, "emitAutoModeEntryNotices");
1913
1926
  init_esbuild_shims();
1914
1927
  function formatApprovalModeName(mode) {
1915
1928
  switch (mode) {
1929
+ case "plan" /* PLAN */:
1930
+ return t("plan mode");
1916
1931
  case "default" /* DEFAULT */:
1917
1932
  return t("Ask permissions");
1933
+ case "auto-edit" /* AUTO_EDIT */:
1934
+ return t("auto-accept edits");
1935
+ case "auto" /* AUTO */:
1936
+ return t("Auto mode");
1918
1937
  case "yolo" /* YOLO */:
1919
- return "YOLO";
1938
+ return t("YOLO mode");
1920
1939
  default:
1921
1940
  return mode;
1922
1941
  }
@@ -3359,6 +3378,13 @@ var compressFastCommand = {
3359
3378
  );
3360
3379
  return;
3361
3380
  }
3381
+ if (context.invocation?.args?.trim()) {
3382
+ return {
3383
+ type: "message",
3384
+ messageType: "info",
3385
+ content: t("The /compress-fast command does not accept arguments.")
3386
+ };
3387
+ }
3362
3388
  const pendingMessage = {
3363
3389
  type: "compression" /* COMPRESSION */,
3364
3390
  compression: {
@@ -5970,6 +5996,20 @@ async function installAction(context, args) {
5970
5996
  );
5971
5997
  context.ui.reloadCommands();
5972
5998
  } catch (error) {
5999
+ if (isExtensionCommittedWithWarningsError(error)) {
6000
+ context.ui.addItem(
6001
+ {
6002
+ type: "warning" /* WARNING */,
6003
+ text: t(
6004
+ "Extension was installed but could not be reloaded: {{error}}",
6005
+ { error: redactUrlCredentials(getErrorMessage2(error)) }
6006
+ )
6007
+ },
6008
+ Date.now()
6009
+ );
6010
+ context.ui.reloadCommands();
6011
+ return;
6012
+ }
5973
6013
  context.ui.addItem(
5974
6014
  {
5975
6015
  type: "error" /* ERROR */,
@@ -6443,6 +6483,16 @@ function getHookExitCodes(eventName) {
6443
6483
  { code: 2, description: t("show stderr to model immediately") },
6444
6484
  { code: "Other", description: t("show stderr to user only") }
6445
6485
  ],
6486
+ ["MessageDisplay" /* MessageDisplay */]: [
6487
+ {
6488
+ code: 0,
6489
+ description: t("fire-and-forget; exit status is ignored")
6490
+ },
6491
+ {
6492
+ code: "Other",
6493
+ description: t("fire-and-forget; exit status is ignored")
6494
+ }
6495
+ ],
6446
6496
  ["Notification" /* Notification */]: [
6447
6497
  { code: 0, description: t("stdout/stderr not shown") },
6448
6498
  { code: "Other", description: t("show stderr to user only") }
@@ -6563,6 +6613,9 @@ function getHookShortDescription(eventName) {
6563
6613
  "When a slash command expands into a prompt"
6564
6614
  ),
6565
6615
  ["SessionStart" /* SessionStart */]: t("When a new session is started"),
6616
+ ["MessageDisplay" /* MessageDisplay */]: t(
6617
+ "Repeatedly, as the assistant reply streams"
6618
+ ),
6566
6619
  ["Stop" /* Stop */]: t("Right before Qwen Code concludes its response"),
6567
6620
  ["SubagentStart" /* SubagentStart */]: t(
6568
6621
  "When a subagent (Agent tool call) is started"
@@ -6618,6 +6671,9 @@ function getHookDescription(eventName) {
6618
6671
  ["SessionStart" /* SessionStart */]: t(
6619
6672
  "Input to command is JSON with session start source."
6620
6673
  ),
6674
+ ["MessageDisplay" /* MessageDisplay */]: t(
6675
+ "Input to command is JSON with message_id, displayed_text (cumulative text streamed so far), and is_final. Fire-and-forget: output and exit status are ignored."
6676
+ ),
6621
6677
  ["SessionEnd" /* SessionEnd */]: t(
6622
6678
  "Input to command is JSON with session end reason."
6623
6679
  ),
@@ -7896,7 +7952,23 @@ function formatUiLanguageDisplay(lang) {
7896
7952
  return option.nativeName && option.nativeName !== option.fullName ? `${option.nativeName} (${option.fullName}) [${option.id}]` : `${option.fullName} [${option.id}]`;
7897
7953
  }
7898
7954
  __name(formatUiLanguageDisplay, "formatUiLanguageDisplay");
7899
- async function setUiLanguage(context, lang) {
7955
+ function parseUiScopeFlags(input) {
7956
+ let remaining = input;
7957
+ const hasProject = /(?:^|\s)--project(?:\s|$)/.test(remaining);
7958
+ const hasGlobal = /(?:^|\s)--global(?:\s|$)/.test(remaining);
7959
+ let scope;
7960
+ if (hasProject) {
7961
+ scope = "Workspace" /* Workspace */;
7962
+ remaining = remaining.replace(/(?:^|\s)--project(?:\s|$)/, " ").trim();
7963
+ }
7964
+ if (hasGlobal) {
7965
+ scope = "User" /* User */;
7966
+ remaining = remaining.replace(/(?:^|\s)--global(?:\s|$)/, " ").trim();
7967
+ }
7968
+ return { scope, remaining, hasProject, hasGlobal };
7969
+ }
7970
+ __name(parseUiScopeFlags, "parseUiScopeFlags");
7971
+ async function setUiLanguage(context, lang, scope = "User" /* User */) {
7900
7972
  const { services } = context;
7901
7973
  if (!services.config) {
7902
7974
  return {
@@ -7908,7 +7980,7 @@ async function setUiLanguage(context, lang) {
7908
7980
  await setLanguageAsync(lang);
7909
7981
  if (services.settings?.setValue) {
7910
7982
  try {
7911
- services.settings.setValue("User" /* User */, "general.language", lang);
7983
+ services.settings.setValue(scope, "general.language", lang);
7912
7984
  } catch (error) {
7913
7985
  debugLogger9.warn("Failed to save language setting:", error);
7914
7986
  }
@@ -8046,7 +8118,28 @@ var languageCommand = {
8046
8118
  kind: "built-in" /* BUILT_IN */,
8047
8119
  supportedModes: ["interactive", "non_interactive", "acp"],
8048
8120
  action: /* @__PURE__ */ __name(async (context, args) => {
8049
- const trimmedArgs = args.trim();
8121
+ const { scope, remaining, hasProject, hasGlobal } = parseUiScopeFlags(
8122
+ args.trim()
8123
+ );
8124
+ if (hasProject && hasGlobal) {
8125
+ return {
8126
+ type: "message",
8127
+ messageType: "error",
8128
+ content: t(
8129
+ "Cannot use both --project and --global. Choose one scope flag."
8130
+ )
8131
+ };
8132
+ }
8133
+ if (scope === "Workspace" /* Workspace */ && context.services.settings && !context.services.settings.isTrusted) {
8134
+ return {
8135
+ type: "message",
8136
+ messageType: "error",
8137
+ content: t(
8138
+ "Workspace is untrusted; run /trust first or use --global."
8139
+ )
8140
+ };
8141
+ }
8142
+ const trimmedArgs = remaining;
8050
8143
  if (!trimmedArgs) {
8051
8144
  return {
8052
8145
  type: "message",
@@ -8079,7 +8172,7 @@ var languageCommand = {
8079
8172
  })
8080
8173
  };
8081
8174
  }
8082
- return setUiLanguage(context, targetLang);
8175
+ return setUiLanguage(context, targetLang, scope);
8083
8176
  }, "action"),
8084
8177
  // Nested subcommands for each supported language (e.g., /language ui zh-CN)
8085
8178
  subCommands: SUPPORTED_LANGUAGES.map(
@@ -9446,7 +9539,10 @@ var renameCommand = {
9446
9539
  }
9447
9540
  const chatRecordingService = config.getChatRecordingService();
9448
9541
  if (chatRecordingService) {
9449
- const ok = chatRecordingService.recordCustomTitle(name, titleSource);
9542
+ const ok = await chatRecordingService.recordCustomTitle(
9543
+ name,
9544
+ titleSource
9545
+ );
9450
9546
  if (!ok) {
9451
9547
  return {
9452
9548
  type: "message",
@@ -12325,6 +12421,7 @@ None captured`;
12325
12421
  async generateMetrics(files, onProgress) {
12326
12422
  const heatmap = {};
12327
12423
  const activeHours = {};
12424
+ let latestActiveTimestamp = null;
12328
12425
  const sessionStartTimes = {};
12329
12426
  const sessionEndTimes = {};
12330
12427
  let totalMessages = 0;
@@ -12350,6 +12447,9 @@ None captured`;
12350
12447
  totalMessages++;
12351
12448
  heatmap[dateKey] = (heatmap[dateKey] || 0) + 1;
12352
12449
  activeHours[hour] = (activeHours[hour] || 0) + 1;
12450
+ if (latestActiveTimestamp === null || timestamp > latestActiveTimestamp) {
12451
+ latestActiveTimestamp = timestamp;
12452
+ }
12353
12453
  }
12354
12454
  if (!sessionStartTimes[record.sessionId]) {
12355
12455
  sessionStartTimes[record.sessionId] = timestamp;
@@ -12412,18 +12512,10 @@ None captured`;
12412
12512
  }
12413
12513
  }
12414
12514
  const totalHours = Math.round(totalDurationMs / (1e3 * 60 * 60));
12415
- let latestActiveTime = null;
12416
- let latestTimestamp = /* @__PURE__ */ new Date(0);
12417
- for (const dateStr in heatmap) {
12418
- const date = new Date(dateStr);
12419
- if (date > latestTimestamp) {
12420
- latestTimestamp = date;
12421
- latestActiveTime = date.toLocaleTimeString([], {
12422
- hour: "2-digit",
12423
- minute: "2-digit"
12424
- });
12425
- }
12426
- }
12515
+ const latestActiveTime = latestActiveTimestamp ? latestActiveTimestamp.toLocaleTimeString([], {
12516
+ hour: "2-digit",
12517
+ minute: "2-digit"
12518
+ }) : null;
12427
12519
  const topTools = Object.entries(toolUsage).sort((a, b) => b[1] - a[1]).slice(0, 10);
12428
12520
  return {
12429
12521
  heatmap,
@@ -12582,6 +12674,7 @@ var TemplateRenderer = class {
12582
12674
  }
12583
12675
  // Render the complete HTML file
12584
12676
  async renderInsightHTML(insights) {
12677
+ const insightJson = JSON.stringify(insights).replace(/</g, "\\u003c").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
12585
12678
  const html = `<!doctype html>
12586
12679
  <html lang="en">
12587
12680
  <head>
@@ -12609,7 +12702,7 @@ var TemplateRenderer = class {
12609
12702
 
12610
12703
  <!-- Application Data -->
12611
12704
  <script>
12612
- window.INSIGHT_DATA = ${JSON.stringify(insights)};
12705
+ window.INSIGHT_DATA = ${insightJson};
12613
12706
  </script>
12614
12707
 
12615
12708
  <!-- App Script -->
@@ -12887,6 +12980,45 @@ var insightCommand = {
12887
12980
  }, "action")
12888
12981
  };
12889
12982
 
12983
+ // packages/cli/src/ui/commands/learn-command.ts
12984
+ init_esbuild_shims();
12985
+ var learnCommand = {
12986
+ name: "learn",
12987
+ get description() {
12988
+ return t(
12989
+ "Create a reusable skill from a knowledge source (file, URL, conversation, or text)."
12990
+ );
12991
+ },
12992
+ kind: "built-in" /* BUILT_IN */,
12993
+ supportedModes: ["interactive", "acp"],
12994
+ argumentHint: "<path|URL|text>",
12995
+ action: /* @__PURE__ */ __name(async (context, args) => {
12996
+ const rawInput = args.trim();
12997
+ if (!rawInput) {
12998
+ return {
12999
+ type: "message",
13000
+ messageType: "error",
13001
+ content: t(
13002
+ "Usage: /learn <path|URL|text>\nExamples:\n /learn https://docs.example.com/api\n /learn ~/projects/acme-sdk\n /learn Our deploy process: ssh to prod, run migrate, restart"
13003
+ )
13004
+ };
13005
+ }
13006
+ const config = context.services.config;
13007
+ if (!config) {
13008
+ return {
13009
+ type: "message",
13010
+ messageType: "error",
13011
+ content: t("Config not loaded.")
13012
+ };
13013
+ }
13014
+ const projectRoot = config.getProjectRoot();
13015
+ return {
13016
+ type: "submit_prompt",
13017
+ content: await buildLearnSkillPrompt(rawInput, projectRoot)
13018
+ };
13019
+ }, "action")
13020
+ };
13021
+
12890
13022
  // packages/cli/src/ui/commands/statuslineCommand.ts
12891
13023
  init_esbuild_shims();
12892
13024
  var statuslineCommand = {
@@ -13009,14 +13141,18 @@ var updateCommand = {
13009
13141
  action: /* @__PURE__ */ __name(async (context) => {
13010
13142
  const [
13011
13143
  { checkForUpdatesDetailed },
13012
- { handleAutoUpdate },
13144
+ {
13145
+ CUSTOM_SANDBOX_IMAGE_ENV_VAR,
13146
+ HOST_UPDATE_RELAUNCH_ENV_VAR,
13147
+ relaunchForUpdate
13148
+ },
13013
13149
  { performStandaloneUpdate },
13014
13150
  installationInfo
13015
13151
  ] = await Promise.all([
13016
- import("./updateCheck-2KYEYVSB.js"),
13017
- import("./handleAutoUpdate-5NWTLR67.js"),
13018
- import("./standalone-update-OB7F4JPZ.js"),
13019
- import("./installationInfo-W6V4DT7W.js")
13152
+ import("./updateCheck-CRFCGFO5.js"),
13153
+ import("./processUtils-AOV4R34M.js"),
13154
+ import("./standalone-update-XO3RK6DO.js"),
13155
+ import("./installationInfo-MCKTPX64.js")
13020
13156
  ]);
13021
13157
  const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
13022
13158
  const settings = context.services.settings;
@@ -13066,10 +13202,37 @@ var updateCommand = {
13066
13202
  };
13067
13203
  }, "manualInstructions");
13068
13204
  if (context.executionMode === "interactive" && projectRoot) {
13205
+ const customSandboxImage = process.env[CUSTOM_SANDBOX_IMAGE_ENV_VAR];
13206
+ if (customSandboxImage) {
13207
+ return {
13208
+ type: "message",
13209
+ messageType: "info",
13210
+ content: `${info.message}
13211
+ ${t(
13212
+ "This session uses the custom sandbox image {{image}}. Update that image and restart Qwen Code.",
13213
+ { image: customSandboxImage }
13214
+ )}`
13215
+ };
13216
+ }
13217
+ const hostUpdateRelaunch = process.env[HOST_UPDATE_RELAUNCH_ENV_VAR];
13069
13218
  const isAutoUpdateEnabled = settings.merged.general?.enableAutoUpdate !== false;
13219
+ if (hostUpdateRelaunch === "true" && isAutoUpdateEnabled) {
13220
+ await relaunchForUpdate();
13221
+ return;
13222
+ }
13223
+ if (hostUpdateRelaunch !== void 0) {
13224
+ return {
13225
+ type: "message",
13226
+ messageType: "info",
13227
+ content: `${info.message}
13228
+ ${t(
13229
+ "Update Qwen Code on the host, then restart the sandbox."
13230
+ )}`
13231
+ };
13232
+ }
13070
13233
  const canAutoUpdate = installInfo.updateCommand || installInfo.isStandalone && installInfo.standaloneDir;
13071
13234
  if (isAutoUpdateEnabled && canAutoUpdate) {
13072
- handleAutoUpdate(info, settings, projectRoot);
13235
+ await relaunchForUpdate();
13073
13236
  return;
13074
13237
  }
13075
13238
  return manualInstructions();
@@ -13174,6 +13337,7 @@ var BuiltinCommandLoader = class {
13174
13337
  importConfigCommand,
13175
13338
  initCommand,
13176
13339
  languageCommand,
13340
+ learnCommand,
13177
13341
  mcpCommand,
13178
13342
  ...this.config?.isManagedMemoryAvailable() ? [dreamCommand, forgetCommand] : [],
13179
13343
  goalCommand,
@@ -13292,10 +13456,19 @@ ${body}`;
13292
13456
  dirname2(skill.filePath),
13293
13457
  body
13294
13458
  );
13295
- const content = context.invocation?.args ? appendToLastTextPart(
13296
- [{ text: skillPrompt }],
13297
- context.invocation.raw
13298
- ) : [{ text: skillPrompt }];
13459
+ const rawArgs = context.invocation?.args ?? "";
13460
+ let content;
13461
+ if (rawArgs) {
13462
+ content = appendToLastTextPart(
13463
+ [{ text: skillPrompt }],
13464
+ context.invocation.raw + (writeSkillArgs(skill.name, rawArgs) ? skillArgsNote(skillArgsPath(skill.name), rawArgs) : "")
13465
+ );
13466
+ } else {
13467
+ content = [{ text: skillPrompt }];
13468
+ if (!clearSkillArgs(skill.name)) {
13469
+ content = appendToLastTextPart(content, staleArgsWarning());
13470
+ }
13471
+ }
13299
13472
  return {
13300
13473
  type: "submit_prompt",
13301
13474
  content
@@ -14375,7 +14548,19 @@ var SkillCommandLoader = class {
14375
14548
  dirname3(skill.filePath),
14376
14549
  skill.body
14377
14550
  );
14378
- const content = context.invocation?.args ? appendToLastTextPart([{ text: body }], context.invocation.raw) : [{ text: body }];
14551
+ const rawArgs = context.invocation?.args ?? "";
14552
+ let content;
14553
+ if (rawArgs) {
14554
+ content = appendToLastTextPart(
14555
+ [{ text: body }],
14556
+ context.invocation.raw + (writeSkillArgs(skill.name, rawArgs) ? skillArgsNote(skillArgsPath(skill.name), rawArgs) : "")
14557
+ );
14558
+ } else {
14559
+ content = [{ text: body }];
14560
+ if (!clearSkillArgs(skill.name)) {
14561
+ content = appendToLastTextPart(content, staleArgsWarning());
14562
+ }
14563
+ }
14379
14564
  return {
14380
14565
  type: "submit_prompt",
14381
14566
  content
@@ -15017,7 +15202,7 @@ function isMcpToolProgressData(output) {
15017
15202
  __name(isMcpToolProgressData, "isMcpToolProgressData");
15018
15203
  function createToolProgressHandler(request, adapter) {
15019
15204
  const handler = /* @__PURE__ */ __name((_callId, output) => {
15020
- if (isMcpToolProgressData(output)) {
15205
+ if (isMcpToolProgressData(output) || isShellProgressData(output)) {
15021
15206
  adapter.emitToolProgress(request, output);
15022
15207
  }
15023
15208
  }, "handler");
@@ -15144,7 +15329,8 @@ __name(createAgentToolProgressHandler, "createAgentToolProgressHandler");
15144
15329
  function functionResponsePartsToString(parts) {
15145
15330
  return parts.map((part) => {
15146
15331
  if ("functionResponse" in part) {
15147
- const content = part.functionResponse?.response?.["output"] ?? "";
15332
+ const response = part.functionResponse?.response;
15333
+ const content = response?.["output"] ?? response?.["error"] ?? "";
15148
15334
  return content;
15149
15335
  }
15150
15336
  return JSON.stringify(part);
@@ -0,0 +1,34 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ resolvePath
5
+ } from "./chunk-ZQIYGQCG.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/commands/channel/channel-cwd.ts
14
+ init_esbuild_shims();
15
+ import * as path from "node:path";
16
+ function isHomeRelative(value) {
17
+ return value === "~" || value.startsWith("~/") || value.startsWith("~\\");
18
+ }
19
+ __name(isHomeRelative, "isHomeRelative");
20
+ function resolveChannelCwd(rawCwd, defaultCwd) {
21
+ if (!rawCwd) return resolvePath(defaultCwd);
22
+ if (isHomeRelative(rawCwd)) return resolvePath(rawCwd);
23
+ return path.resolve(defaultCwd, rawCwd);
24
+ }
25
+ __name(resolveChannelCwd, "resolveChannelCwd");
26
+
27
+ export {
28
+ resolveChannelCwd
29
+ };
30
+ /**
31
+ * @license
32
+ * Copyright 2026 Qwen Team
33
+ * SPDX-License-Identifier: Apache-2.0
34
+ */