@qwen-code/qwen-code 0.21.13 → 0.21.14

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 (293) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +13 -7
  2. package/bundled/qc-helper/docs/features/code-review.md +5 -1
  3. package/bundled/qc-helper/docs/features/commands.md +120 -8
  4. package/bundled/qc-helper/docs/features/sub-agents.md +2 -2
  5. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +1 -1
  6. package/bundled/qc-helper/docs/qwen-serve.md +20 -3
  7. package/bundled/review/SKILL.md +50 -30
  8. package/chunks/{MaxSizedBox-UQALOVVT.js → MaxSizedBox-67IDQILY.js} +24 -23
  9. package/chunks/{StandaloneSessionPicker-KEGXNUG6.js → StandaloneSessionPicker-G4QJIRMH.js} +41 -40
  10. package/chunks/{acp-startup-profiler-NMDXYGDN.js → acp-startup-profiler-HUYGO57H.js} +2 -2
  11. package/chunks/{acpAgent-XPES32S7.js → acpAgent-BS3YYO33.js} +626 -141
  12. package/chunks/{agent-DPTOZFEM.js → agent-EHHEXKWN.js} +22 -21
  13. package/chunks/{agent-headless-GJCQMURW.js → agent-headless-UT2ZF76T.js} +22 -21
  14. package/chunks/{anthropicContentGenerator-G7BVXTKN.js → anthropicContentGenerator-M7XRJMSK.js} +3 -3
  15. package/chunks/{bridge-YNQBAA4Z.js → bridge-WQ4IL2RF.js} +26 -25
  16. package/chunks/{ca-4CQ6MYNQ.js → ca-SLZJD6QH.js} +8 -0
  17. package/chunks/{channel-management-service-GWY2GAIC.js → channel-management-service-X6LCQUAD.js} +1 -1
  18. package/chunks/{channel-settings-store-WNWYFHG7.js → channel-settings-store-ZDFXY7VY.js} +30 -29
  19. package/chunks/{channel-worker-group-7LXCMZ77.js → channel-worker-group-TJ35JDPE.js} +2 -2
  20. package/chunks/{channel-worker-manager-RYEME4ZZ.js → channel-worker-manager-G5LKWGOG.js} +2 -2
  21. package/chunks/{chunk-4PKCUT7F.js → chunk-2A6VQJYK.js} +6 -6
  22. package/chunks/chunk-2C6HJMG3.js +757 -0
  23. package/chunks/chunk-3PWCMXIR.js +9169 -0
  24. package/chunks/{chunk-BVJS5BSP.js → chunk-3PWNVF6N.js} +1 -1
  25. package/chunks/{chunk-X26JYGTD.js → chunk-3SL2P3WX.js} +1 -1
  26. package/chunks/{chunk-ZYBBISBY.js → chunk-3YRVPHT3.js} +15 -12
  27. package/chunks/{chunk-AS5IN4GK.js → chunk-47L5MLB5.js} +3 -3
  28. package/chunks/{chunk-3U3VAL47.js → chunk-4SR45OM4.js} +1 -1
  29. package/chunks/{chunk-OMLJNPBE.js → chunk-4ZMS3JCR.js} +1 -0
  30. package/chunks/{chunk-UKMR3CKV.js → chunk-4ZS3BLER.js} +3 -3
  31. package/chunks/{chunk-5EYKMUUY.js → chunk-544KT7X4.js} +1 -1
  32. package/chunks/{chunk-TUGSVUJB.js → chunk-55VKMB7X.js} +5 -5
  33. package/chunks/{chunk-GO7STP6N.js → chunk-5IJSFWQO.js} +4 -4
  34. package/chunks/{chunk-A4QRWUDE.js → chunk-5IYS4WWR.js} +1 -1
  35. package/chunks/{chunk-TS6625XH.js → chunk-5MK45KZ3.js} +9 -5
  36. package/chunks/{chunk-MLPXSYXR.js → chunk-6BJSYAML.js} +25 -16
  37. package/chunks/{chunk-V57QC6WW.js → chunk-6LAPGPVA.js} +5 -3
  38. package/chunks/{chunk-NNHNLJ2X.js → chunk-6RDZLBSJ.js} +240 -42
  39. package/chunks/{chunk-ZZO74WKW.js → chunk-73JUK3ZW.js} +24 -18
  40. package/chunks/{chunk-N5YPT6PH.js → chunk-7VNHO4MN.js} +7 -4
  41. package/chunks/{chunk-OVZPVYZB.js → chunk-AKBOLMUF.js} +95 -17
  42. package/chunks/{chunk-NHDR76JX.js → chunk-BQWNIPTE.js} +1 -1
  43. package/chunks/{chunk-IWPYVAO2.js → chunk-C3T6M24E.js} +2 -2
  44. package/chunks/{chunk-NM5V5OVW.js → chunk-CEXU72GE.js} +2 -2
  45. package/chunks/{chunk-AA2BEKV3.js → chunk-CH5OFRV7.js} +1 -1
  46. package/chunks/{chunk-MS7GNABG.js → chunk-CXJHQVEK.js} +8 -0
  47. package/chunks/{chunk-E23IPNGS.js → chunk-CZK622ZK.js} +12 -3
  48. package/chunks/{chunk-K5IDV3PC.js → chunk-D34RDOLP.js} +12 -2
  49. package/chunks/{chunk-OXCMMLED.js → chunk-DGJ7O55J.js} +1 -1
  50. package/chunks/{chunk-DGK6P3BQ.js → chunk-DHUPMYMC.js} +10 -10
  51. package/chunks/{chunk-O4D7SPJN.js → chunk-DRAONPUW.js} +3 -3
  52. package/chunks/{chunk-P7MPQI75.js → chunk-DVR7XKO5.js} +1 -1
  53. package/chunks/{chunk-PP4FUZNV.js → chunk-E5WQMF3K.js} +2 -2
  54. package/chunks/{chunk-4NFY2S7N.js → chunk-E7REAOTN.js} +15 -0
  55. package/chunks/{chunk-ZYYTZUI2.js → chunk-EOPBFLA5.js} +3 -3
  56. package/chunks/{chunk-OOQUVWIG.js → chunk-FN6M5WUL.js} +4 -4
  57. package/chunks/{chunk-DGZEMW5R.js → chunk-FS5NGKWC.js} +1 -1
  58. package/chunks/{chunk-MRMJCLIY.js → chunk-G6KI5UOJ.js} +2 -2
  59. package/chunks/{chunk-6ORZ2EDC.js → chunk-H3SHU2XU.js} +1 -1
  60. package/chunks/{chunk-GMIEIY3Y.js → chunk-I3N2Z25H.js} +1 -1
  61. package/chunks/{chunk-BHILXOC3.js → chunk-J63PKMYA.js} +1 -1
  62. package/chunks/{chunk-KD5BOPLP.js → chunk-J6YS7Z25.js} +98 -4
  63. package/chunks/chunk-K2Y45XXS.js +3887 -0
  64. package/chunks/{chunk-RVOJ2FBP.js → chunk-KC4WMLZO.js} +1486 -10574
  65. package/chunks/{chunk-LJQAUZMR.js → chunk-L3T4V5GZ.js} +925 -92
  66. package/chunks/{chunk-M6NDLY2T.js → chunk-LD5VIJ7S.js} +1 -1
  67. package/chunks/{chunk-RIAABG2K.js → chunk-LSO6EL4Y.js} +1 -1
  68. package/chunks/{chunk-XHRY7BXD.js → chunk-MDIGJH5X.js} +3 -3
  69. package/chunks/{chunk-MC4TLKEI.js → chunk-MVHJZ3FZ.js} +2 -2
  70. package/chunks/{chunk-YEYY7TEP.js → chunk-N6RSOOWJ.js} +5 -5
  71. package/chunks/{chunk-OD2WU5QY.js → chunk-NRPXRNN4.js} +1 -1
  72. package/chunks/{chunk-CKSJECTU.js → chunk-NVRMCWTP.js} +8 -4
  73. package/chunks/{chunk-Y3YCSWG5.js → chunk-OBJYN4MX.js} +1 -1
  74. package/chunks/{chunk-GGDBMYGZ.js → chunk-OEYAK5O6.js} +3 -3
  75. package/chunks/{chunk-6YKYPVDV.js → chunk-OEZCXK7Y.js} +3 -3
  76. package/chunks/{chunk-4S5337WV.js → chunk-OFTPCOGR.js} +4312 -2704
  77. package/chunks/{chunk-7UXUJ5T3.js → chunk-OJB5FYVK.js} +1 -1
  78. package/chunks/{chunk-WFSTRPRO.js → chunk-OJOP26ET.js} +1 -1
  79. package/chunks/{chunk-TIGA2IVL.js → chunk-OO4FKHLO.js} +2 -2
  80. package/chunks/{chunk-BZ263IKX.js → chunk-OVY67CYC.js} +1 -1
  81. package/chunks/{chunk-PQ36L4F5.js → chunk-P3AA6S7O.js} +1 -1
  82. package/chunks/{chunk-CU6GJD55.js → chunk-PCETXVVV.js} +1 -1
  83. package/chunks/{chunk-AFSG32D5.js → chunk-PHN4R2ZV.js} +1 -1
  84. package/chunks/{chunk-QF2NHSPB.js → chunk-PJSD2FOR.js} +233 -184
  85. package/chunks/{chunk-NEFOOD54.js → chunk-QAVTWAHL.js} +2 -2
  86. package/chunks/{chunk-AW4TRXOC.js → chunk-QEHH23OM.js} +1 -1
  87. package/chunks/{chunk-CZBYX5MY.js → chunk-QEJZUXSK.js} +1 -1
  88. package/chunks/{chunk-XIT3GURH.js → chunk-QRVHGEVY.js} +3 -3
  89. package/chunks/{chunk-M732YJPW.js → chunk-RXHBTKMG.js} +2 -2
  90. package/chunks/{chunk-JOOFMXGF.js → chunk-S7N3HUIB.js} +5 -5
  91. package/chunks/{chunk-76J3IJ3M.js → chunk-SCZU65AI.js} +3 -3
  92. package/chunks/{chunk-QIH2HAEN.js → chunk-SFJMFZT5.js} +1 -1
  93. package/chunks/{chunk-JNDY2MDR.js → chunk-SFTKAX4O.js} +1 -1
  94. package/chunks/{chunk-WSH6GRKG.js → chunk-SLILKYV2.js} +2 -2
  95. package/chunks/{chunk-DXIBNLBZ.js → chunk-SNQZZ765.js} +1 -1
  96. package/chunks/{chunk-V26NVGAU.js → chunk-TSMPNGBC.js} +8 -3
  97. package/chunks/{chunk-QV5YN5YD.js → chunk-U657UZJN.js} +5 -5
  98. package/chunks/{chunk-QNQAPSN2.js → chunk-UC67T4SF.js} +3 -1
  99. package/chunks/{chunk-O565M6A4.js → chunk-UYDGFWIJ.js} +199 -14
  100. package/chunks/{chunk-OY5RNSV4.js → chunk-V6WEMZPD.js} +3 -3
  101. package/chunks/{chunk-A267JX7H.js → chunk-VFP5YOHJ.js} +6 -6
  102. package/chunks/{chunk-HUTNYWBG.js → chunk-VTOLYFWM.js} +18 -10
  103. package/chunks/{chunk-EZ5RP345.js → chunk-W7EYJGN7.js} +40 -9
  104. package/chunks/{chunk-BKPPWD33.js → chunk-WAO53ZQF.js} +1 -1
  105. package/chunks/{chunk-S5DWMTHO.js → chunk-WP4WIUOJ.js} +2 -0
  106. package/chunks/{chunk-25EYDK42.js → chunk-WPVUOVYX.js} +1 -1
  107. package/chunks/{chunk-AXN7UPYQ.js → chunk-WSSH2BNO.js} +1 -1
  108. package/chunks/chunk-WZAD4ZNJ.js +59 -0
  109. package/chunks/{chunk-JUEPY766.js → chunk-XITLNXLX.js} +2 -2
  110. package/chunks/{chunk-EL5SXY3T.js → chunk-XT4RKHVE.js} +2 -2
  111. package/chunks/{chunk-IGGGG5CX.js → chunk-XYRBK56E.js} +4635 -1655
  112. package/chunks/{chunk-UZPM4XHR.js → chunk-Y4RVDOXV.js} +29 -8
  113. package/chunks/{chunk-QRCNA3SR.js → chunk-Y7QY6DKW.js} +49 -69
  114. package/chunks/{chunk-FDGGZIYW.js → chunk-YECDICIO.js} +2 -2
  115. package/chunks/{chunk-46UV252V.js → chunk-YHC2EYYG.js} +35 -38
  116. package/chunks/{chunk-U3VNBPUO.js → chunk-YHXQK4SR.js} +2 -2
  117. package/chunks/{chunk-A4MFR4C5.js → chunk-ZIGC3MUS.js} +2 -4
  118. package/chunks/{computer-use-77C5FHMW.js → computer-use-YORZJQE5.js} +22 -21
  119. package/chunks/{config-utils-IVHRSXWI.js → config-utils-NJQA5YLJ.js} +2 -2
  120. package/chunks/{contextCommand-PJ77GBWL.js → contextCommand-PACHGIF4.js} +24 -23
  121. package/chunks/{core-runtime-7VMIKUTG.js → core-runtime-6HD5DSPX.js} +22 -21
  122. package/chunks/{create-sub-session-2L5MQRN4.js → create-sub-session-IQFIPUQA.js} +26 -24
  123. package/chunks/{cron-create-H7UEPDSN.js → cron-create-NFRZEOQX.js} +2 -2
  124. package/chunks/{cron-delete-6SZK7YFM.js → cron-delete-GFVSVO7C.js} +2 -2
  125. package/chunks/{cron-list-H25JIHEZ.js → cron-list-NRW34CLU.js} +2 -2
  126. package/chunks/{daemon-2KTG7ZBN.js → daemon-XH76IXOC.js} +356 -21
  127. package/chunks/{daemon-git-worktree-guard-DXYIMWFT.js → daemon-git-worktree-guard-6P27GKSU.js} +24 -23
  128. package/chunks/{daemon-status-provider-ZDOYJCU6.js → daemon-status-provider-SXS66ZIR.js} +31 -30
  129. package/chunks/{daemon-trust-policy-E67OYUK2.js → daemon-trust-policy-5QJHAS3N.js} +29 -28
  130. package/chunks/{daemon-trust-policy-monitor-RYYGCQ3J.js → daemon-trust-policy-monitor-JA2WZRZ3.js} +29 -28
  131. package/chunks/{de-UBEBKG6V.js → de-AH4LGCF5.js} +8 -0
  132. package/chunks/{deferred-core-runtime-3SGXFXEQ.js → deferred-core-runtime-R2VWOVG3.js} +22 -21
  133. package/chunks/{discovery-ORA5J7YP.js → discovery-X2NV535U.js} +1 -1
  134. package/chunks/{dist-WJ4BHIEW.js → dist-ESS34DHC.js} +72 -0
  135. package/chunks/{earlyInputCapture-KJMLFVQV.js → earlyInputCapture-PQEEOFKJ.js} +22 -21
  136. package/chunks/{edit-I4LQFAEC.js → edit-RASZHTU2.js} +25 -23
  137. package/chunks/{en-X6YV7GME.js → en-MD3GP5YL.js} +8 -0
  138. package/chunks/{enter-worktree-YNPOJSRH.js → enter-worktree-CH5OMHJE.js} +22 -21
  139. package/chunks/{enterPlanMode-XCPK62ER.js → enterPlanMode-AQKR3CAH.js} +22 -21
  140. package/chunks/{environment-S7CTIHMX.js → environment-7QRYIEBA.js} +25 -24
  141. package/chunks/{errors-7HB2AIDS.js → errors-P2LL5452.js} +24 -23
  142. package/chunks/{exit-worktree-AIIY7SR6.js → exit-worktree-WUDL26CY.js} +22 -21
  143. package/chunks/{exitPlanMode-R4JY7V2O.js → exitPlanMode-JM75SAUI.js} +22 -21
  144. package/chunks/{fast-path-NDJV3ZFJ.js → fast-path-KVNSOHVA.js} +3 -3
  145. package/chunks/{fast-path-settings-LNOFM2YP.js → fast-path-settings-WHX3J3ZI.js} +2 -2
  146. package/chunks/{fr-VENTC2BS.js → fr-ZEML2JWS.js} +8 -0
  147. package/chunks/{gemini-RSUFP5OE.js → gemini-ADMD2EOS.js} +62 -61
  148. package/chunks/{geminiContentGenerator-SQ5XBPZ7.js → geminiContentGenerator-CS3M7SOS.js} +3 -3
  149. package/chunks/{glob-J4RUJAHX.js → glob-WIJOGYVV.js} +22 -21
  150. package/chunks/{goal-tools-VHTNVOKK.js → goal-tools-K5OHOJ6B.js} +1 -1
  151. package/chunks/{grep-VJWPLFOT.js → grep-CIFRQBR7.js} +22 -21
  152. package/chunks/{handleAutoUpdate-POCX2MNB.js → handleAutoUpdate-KJ4SN7DM.js} +26 -25
  153. package/chunks/{i18n-RM5YOICI.js → i18n-36SZUO4C.js} +23 -22
  154. package/chunks/{image-gen-EXECB5XM.js → image-gen-R4B5VUYB.js} +2 -2
  155. package/chunks/{initializer-Z2AFGBNR.js → initializer-CW5YCAOL.js} +29 -28
  156. package/chunks/{installationInfo-4I5FXNMH.js → installationInfo-NMQIOUGY.js} +23 -22
  157. package/chunks/{ja-QHT4EQTO.js → ja-UM5B2HMD.js} +8 -0
  158. package/chunks/{list-ZMBFIGZA.js → list-HHGT3S4P.js} +32 -31
  159. package/chunks/{loadedSettingsAdapter-T6TV4YJ7.js → loadedSettingsAdapter-SJ2MJF35.js} +29 -28
  160. package/chunks/{loggingContentGenerator-WF4ZOJEZ.js → loggingContentGenerator-GR2QQ2C5.js} +12 -10
  161. package/chunks/{loop-wakeup-WQS6JYAG.js → loop-wakeup-HWVUU5CF.js} +3 -3
  162. package/chunks/{managed-npm-update-E7IW6N7V.js → managed-npm-update-ADQJHKTO.js} +23 -22
  163. package/chunks/{mcp-6UNYX4HG.js → mcp-QW3OTL5W.js} +29 -28
  164. package/chunks/{monitor-EE2UYMGE.js → monitor-RJKPVERH.js} +22 -21
  165. package/chunks/{nonInteractiveCli-WAY237O4.js → nonInteractiveCli-MROMHSTL.js} +59 -57
  166. package/chunks/{notebook-edit-NTDY4QDU.js → notebook-edit-2ENWDBZO.js} +26 -24
  167. package/chunks/{openaiContentGenerator-YNFVJMRJ.js → openaiContentGenerator-Z3GPWJU4.js} +12 -11
  168. package/chunks/{pidfile-4XSFLYBZ.js → pidfile-5G42YSTP.js} +22 -21
  169. package/chunks/{processUtils-WDA2MJFD.js → processUtils-ZDMXYKQY.js} +2 -2
  170. package/chunks/{pt-VL3I5RNY.js → pt-5BMJ3XYH.js} +8 -0
  171. package/chunks/{qwenContentGenerator-434M7QKY.js → qwenContentGenerator-NLEMBZVU.js} +25 -24
  172. package/chunks/{qwenOAuth2-GMYZOO6A.js → qwenOAuth2-EBV52DWJ.js} +3 -3
  173. package/chunks/{read-file-TAFBKMNI.js → read-file-5BYIF53O.js} +9 -7
  174. package/chunks/{record-artifact-SEYFJEJF.js → record-artifact-GLU3UWBV.js} +3 -1
  175. package/chunks/{resumeHistoryUtils-EVG3WYK2.js → resumeHistoryUtils-AFTBRS3G.js} +25 -24
  176. package/chunks/{ripGrep-WOEK2PXS.js → ripGrep-NN7AOLQY.js} +22 -21
  177. package/chunks/{ru-4RCKL4PY.js → ru-6GL66ORV.js} +8 -0
  178. package/chunks/{run-qwen-serve-3QSGRXAN.js → run-qwen-serve-UR3DYDAF.js} +49 -40
  179. package/chunks/{runtime-5MLLZ7DC.js → runtime-PR5RKGNH.js} +32 -31
  180. package/chunks/{scheduler-RPBJ63CH.js → scheduler-GPMLVKJM.js} +24 -23
  181. package/chunks/{sdk-exporters-http-XUVP63H6.js → sdk-exporters-http-NC746HLT.js} +2 -2
  182. package/chunks/{sdk-impl-YXUEN2Z2.js → sdk-impl-YVL7BP6Y.js} +2 -2
  183. package/chunks/{send-message-VZENRWRH.js → send-message-TNBG5EVA.js} +1 -1
  184. package/chunks/{serve-HS3XLPXU.js → serve-E7V2JVA2.js} +29 -30
  185. package/chunks/{server-TC4A7AAZ.js → server-YXB3DBN7.js} +1267 -165
  186. package/chunks/{session-UBOFXVMN.js → session-DZEAUT7S.js} +60 -58
  187. package/chunks/{settings-D5644OM5.js → settings-ESZ3NWAP.js} +28 -27
  188. package/chunks/{shell-3PZULQQV.js → shell-JMSK5WIL.js} +22 -21
  189. package/chunks/{skill-PEVVXQ3L.js → skill-5K5CSUJV.js} +11 -9
  190. package/chunks/{skill-settings-J65JKKES.js → skill-settings-V64NIOTI.js} +28 -27
  191. package/chunks/{spawnChannel-IYGXRHSQ.js → spawnChannel-S63APBZZ.js} +24 -23
  192. package/chunks/{standalone-update-IFM53PE7.js → standalone-update-P42HDFXX.js} +24 -23
  193. package/chunks/{startInteractiveUI-3AVH7L6H.js → startInteractiveUI-LFBLFHJ4.js} +262 -191
  194. package/chunks/{task-create-FCBDX7UH.js → task-create-EILHJJB7.js} +4 -4
  195. package/chunks/{task-list-YIYIUFUA.js → task-list-WGJR6YL5.js} +18 -4
  196. package/chunks/{task-update-MYPFVOVM.js → task-update-XZAHVXJ5.js} +79 -8
  197. package/chunks/{team-create-ZAIA7KAV.js → team-create-EDNOUM2U.js} +23 -23
  198. package/chunks/{team-delete-6UMU4XLS.js → team-delete-UEP4QOOT.js} +3 -3
  199. package/chunks/{team-plan-approval-UNIUS7OD.js → team-plan-approval-QRSNK2DX.js} +22 -21
  200. package/chunks/{terminal-image-renderer-G343P2RV.js → terminal-image-renderer-6J2NPL32.js} +22 -21
  201. package/chunks/{theme-manager-Z3RIT7DB.js → theme-manager-WJMLRBXS.js} +22 -21
  202. package/chunks/{todoWrite-U2R4NVF4.js → todoWrite-ATS62CAP.js} +1 -1
  203. package/chunks/{tool-search-5R2OE4C7.js → tool-search-MZ6WU7DM.js} +9 -7
  204. package/chunks/{total-session-admission-4KBHMQQ2.js → total-session-admission-DQVW2LIP.js} +26 -25
  205. package/chunks/{trustedFolders-LK6T4XC7.js → trustedFolders-QMH25GOX.js} +23 -22
  206. package/chunks/{update-relaunch-UBKROIC6.js → update-relaunch-EG75LLW5.js} +5 -5
  207. package/chunks/{updateCheck-W4Y2GFSD.js → updateCheck-MTZIVGT5.js} +25 -24
  208. package/chunks/{useAutoAcceptIndicator-C7BEICBF.js → useAutoAcceptIndicator-IGCW5EPO.js} +31 -30
  209. package/chunks/{validateNonInterActiveAuth-LTEI2TB6.js → validateNonInterActiveAuth-D5FPAB2C.js} +56 -54
  210. package/chunks/{version-G5A5DGVS.js → version-UOLDLLRB.js} +1 -1
  211. package/chunks/{web-fetch-RTEQTR5Z.js → web-fetch-QKKW6CWH.js} +11 -8
  212. package/chunks/{web-search-5OXHEZPV.js → web-search-JYRBZMCW.js} +2 -2
  213. package/chunks/{workflow-ISQJHPG2.js → workflow-SR7SEAU7.js} +139 -37
  214. package/chunks/{workspace-providers-status-2ZPZPUPZ.js → workspace-providers-status-OXGV4EFF.js} +32 -31
  215. package/chunks/{workspace-registration-store-CYNY6IP6.js → workspace-registration-store-V5EGKLBH.js} +1 -1
  216. package/chunks/{workspace-registry-34GTUUHB.js → workspace-registry-KJVIYTF5.js} +26 -25
  217. package/chunks/{workspace-service-XCDQLE2Y.js → workspace-service-6RLSGUB5.js} +33 -32
  218. package/chunks/{workspace-skills-status-RS4O7AIJ.js → workspace-skills-status-BHFEPDGH.js} +30 -29
  219. package/chunks/{workspace-trust-reconciler-AYGXC7A3.js → workspace-trust-reconciler-DB5ERSUN.js} +33 -32
  220. package/chunks/{write-file-EWXKVVXF.js → write-file-IUP4GTZ4.js} +22 -21
  221. package/chunks/{zh-TW-SQ4HTSCW.js → zh-TW-LVLBK4KF.js} +8 -0
  222. package/chunks/{zh-LMSTK4WD.js → zh-UBMWS2BJ.js} +8 -0
  223. package/chunks/{zoom-image-4BFYJ3HG.js → zoom-image-SRBDTIVA.js} +14 -11
  224. package/cli.js +13 -13
  225. package/locales/ca.js +13 -0
  226. package/locales/de.js +12 -0
  227. package/locales/en.js +11 -0
  228. package/locales/fr.js +13 -0
  229. package/locales/ja.js +13 -0
  230. package/locales/pt.js +12 -0
  231. package/locales/ru.js +12 -0
  232. package/locales/zh-TW.js +11 -0
  233. package/locales/zh.js +11 -0
  234. package/package.json +3 -3
  235. package/web-shell/assets/{arc-CgOpDKvm.js → arc-DItbX0DI.js} +1 -1
  236. package/web-shell/assets/{architectureDiagram-3BPJPVTR-0Ag_m34F.js → architectureDiagram-3BPJPVTR-CmnIlH8y.js} +1 -1
  237. package/web-shell/assets/{blockDiagram-GPEHLZMM-IwTwFau0.js → blockDiagram-GPEHLZMM-pObnB9kw.js} +1 -1
  238. package/web-shell/assets/{c4Diagram-AAUBKEIU-DLa5GUv8.js → c4Diagram-AAUBKEIU-BNBmMS0Y.js} +1 -1
  239. package/web-shell/assets/channel-hZnMfWA9.js +1 -0
  240. package/web-shell/assets/{chunk-2J33WTMH-DcYP-WFG.js → chunk-2J33WTMH-Dz4JBOO6.js} +1 -1
  241. package/web-shell/assets/{chunk-4BX2VUAB-C8MVPMiQ.js → chunk-4BX2VUAB-Cz2GnvAR.js} +1 -1
  242. package/web-shell/assets/{chunk-55IACEB6-BUi4Yfv3.js → chunk-55IACEB6-CC6kOQYx.js} +1 -1
  243. package/web-shell/assets/{chunk-727SXJPM-Cy3Su2YY.js → chunk-727SXJPM-Z4lY4gbh.js} +1 -1
  244. package/web-shell/assets/{chunk-AQP2D5EJ-Dp8Teqv6.js → chunk-AQP2D5EJ-Yz0hZr3D.js} +1 -1
  245. package/web-shell/assets/{chunk-FMBD7UC4-BDTDM-4j.js → chunk-FMBD7UC4-nKmTWTv9.js} +1 -1
  246. package/web-shell/assets/{chunk-ND2GUHAM-7HfDt0r2.js → chunk-ND2GUHAM-CjZz0f6Y.js} +1 -1
  247. package/web-shell/assets/{chunk-QZHKN3VN-BIBU0uCF.js → chunk-QZHKN3VN-Bab3FpuS.js} +1 -1
  248. package/web-shell/assets/classDiagram-4FO5ZUOK-BRnxm8DX.js +1 -0
  249. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BRnxm8DX.js +1 -0
  250. package/web-shell/assets/{cose-bilkent-S5V4N54A-DRLdcg9p.js → cose-bilkent-S5V4N54A-BuSAGFox.js} +1 -1
  251. package/web-shell/assets/{dagre-BM42HDAG-DCCgDwqW.js → dagre-BM42HDAG-CRZXTg3g.js} +1 -1
  252. package/web-shell/assets/{diagram-2AECGRRQ-CsBTBmk3.js → diagram-2AECGRRQ-BFx1Ayrz.js} +1 -1
  253. package/web-shell/assets/{diagram-5GNKFQAL-C9qjH8Lt.js → diagram-5GNKFQAL-B2hMZ3gS.js} +1 -1
  254. package/web-shell/assets/{diagram-KO2AKTUF-Brjs_lj2.js → diagram-KO2AKTUF-DKxAQLmc.js} +1 -1
  255. package/web-shell/assets/{diagram-LMA3HP47-DtiWCl_F.js → diagram-LMA3HP47-Bo1xGqVY.js} +1 -1
  256. package/web-shell/assets/{diagram-OG6HWLK6-DmfKLkBT.js → diagram-OG6HWLK6-B9NG78d-.js} +1 -1
  257. package/web-shell/assets/{erDiagram-TEJ5UH35-Bve_4deH.js → erDiagram-TEJ5UH35-DltQKiqQ.js} +1 -1
  258. package/web-shell/assets/{flowDiagram-I6XJVG4X-C2_kXCcV.js → flowDiagram-I6XJVG4X-5xXGmS4I.js} +1 -1
  259. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BSBIjiTF.js → ganttDiagram-6RSMTGT7-bhGL5n0l.js} +1 -1
  260. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CyebwI55.js → gitGraphDiagram-PVQCEYII-ZYnz9hgh.js} +1 -1
  261. package/web-shell/assets/{index-d0yfnV1M.js → index-CBBeUArD.js} +1 -1
  262. package/web-shell/assets/index-CbgU-jUo.css +5 -0
  263. package/web-shell/assets/index-_nhzXqab.js +1750 -0
  264. package/web-shell/assets/{infoDiagram-5YYISTIA-CSDGnWxU.js → infoDiagram-5YYISTIA-Cg-jamQf.js} +1 -1
  265. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK4jU13p.js → ishikawaDiagram-YF4QCWOH-CcmvKlyq.js} +1 -1
  266. package/web-shell/assets/{journeyDiagram-JHISSGLW-D_W6j-oF.js → journeyDiagram-JHISSGLW-BRsOQZp1.js} +1 -1
  267. package/web-shell/assets/{kanban-definition-UN3LZRKU-C7xf-SdC.js → kanban-definition-UN3LZRKU-xW-dmEHK.js} +1 -1
  268. package/web-shell/assets/{linear-DQmzxpxd.js → linear-ClBfEZH2.js} +1 -1
  269. package/web-shell/assets/{mermaid.core-9P7AGOLG.js → mermaid.core-D65NDkzc.js} +5 -5
  270. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DgcgMyPk.js → mindmap-definition-RKZ34NQL-CyvFslYa.js} +1 -1
  271. package/web-shell/assets/{pieDiagram-4H26LBE5-3wWGb9eG.js → pieDiagram-4H26LBE5-BwSefMyG.js} +1 -1
  272. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BeCXnQw9.js → quadrantDiagram-W4KKPZXB-GqBJspFS.js} +1 -1
  273. package/web-shell/assets/{requirementDiagram-4Y6WPE33-Bi1UOHDz.js → requirementDiagram-4Y6WPE33-B137PlTJ.js} +1 -1
  274. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-lrLUjjbb.js → sankeyDiagram-5OEKKPKP-maHkkt8i.js} +1 -1
  275. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-BFuqKz6Q.js → sequenceDiagram-3UESZ5HK-DJ1mRaG3.js} +1 -1
  276. package/web-shell/assets/{stateDiagram-AJRCARHV-8DemQLhu.js → stateDiagram-AJRCARHV-aRmP7Q4i.js} +1 -1
  277. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Db39gvZ_.js +1 -0
  278. package/web-shell/assets/{timeline-definition-PNZ67QCA-uzEuVQXg.js → timeline-definition-PNZ67QCA-CIQ3BRPA.js} +1 -1
  279. package/web-shell/assets/{vennDiagram-CIIHVFJN-BQTeZ_-o.js → vennDiagram-CIIHVFJN-DR9VPd5h.js} +1 -1
  280. package/web-shell/assets/{wardley-L42UT6IY-B6yM5Im7.js → wardley-L42UT6IY-ZcfIbT4D.js} +1 -1
  281. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-ChM8bmgn.js → wardleyDiagram-YWT4CUSO-D0jgPi4T.js} +1 -1
  282. package/web-shell/assets/{xychartDiagram-2RQKCTM6-oNG6HyB1.js → xychartDiagram-2RQKCTM6-BGWU4s5o.js} +1 -1
  283. package/web-shell/index.html +2 -2
  284. package/chunks/chunk-MPHPFVKK.js +0 -48
  285. package/chunks/chunk-RLKC46YT.js +0 -3582
  286. package/chunks/chunk-UPDOZBWO.js +0 -358
  287. package/web-shell/assets/channel-BrGVBa2L.js +0 -1
  288. package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +0 -1
  289. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +0 -1
  290. package/web-shell/assets/index-CIDsgxTe.js +0 -1792
  291. package/web-shell/assets/index-DiQnWi_E.css +0 -5
  292. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +0 -1
  293. /package/chunks/{chunk-NTTBXH7U.js → chunk-UGK4K2N2.js} +0 -0
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  contextCommand
5
- } from "./chunk-N5YPT6PH.js";
5
+ } from "./chunk-7VNHO4MN.js";
6
6
  import {
7
7
  ExtensionRefreshState,
8
8
  clearSkillArgs,
@@ -11,7 +11,7 @@ import {
11
11
  staleArgsWarning,
12
12
  validateAuthMethod,
13
13
  writeSkillArgs
14
- } from "./chunk-IGGGG5CX.js";
14
+ } from "./chunk-XYRBK56E.js";
15
15
  import {
16
16
  calculateCost,
17
17
  computeSessionStats,
@@ -20,7 +20,7 @@ import {
20
20
  findInlineMathExpressions,
21
21
  getSystemInfoFields,
22
22
  levelLabel
23
- } from "./chunk-O4D7SPJN.js";
23
+ } from "./chunk-DRAONPUW.js";
24
24
  import {
25
25
  formatDuration,
26
26
  formatTokenCount
@@ -32,16 +32,16 @@ import {
32
32
  VSCODE_SHIFT_ENTER_SEQUENCE,
33
33
  isWaylandSession,
34
34
  writeOsc52
35
- } from "./chunk-DXIBNLBZ.js";
35
+ } from "./chunk-SNQZZ765.js";
36
36
  import {
37
37
  themeManager
38
38
  } from "./chunk-2M55OBEB.js";
39
39
  import {
40
40
  getErrorMessage as getErrorMessage2
41
- } from "./chunk-JUEPY766.js";
41
+ } from "./chunk-XITLNXLX.js";
42
42
  import {
43
43
  rollbackStandaloneUpdate
44
- } from "./chunk-NEFOOD54.js";
44
+ } from "./chunk-QAVTWAHL.js";
45
45
  import {
46
46
  GITHUB_WORKFLOW_PATHS,
47
47
  INSIGHT_CSS,
@@ -54,12 +54,12 @@ import {
54
54
  toJson,
55
55
  toJsonl,
56
56
  toMarkdown
57
- } from "./chunk-RLKC46YT.js";
57
+ } from "./chunk-K2Y45XXS.js";
58
58
  import {
59
59
  stripUnsafeCharacters,
60
60
  toCodePoints,
61
61
  truncateToWidth
62
- } from "./chunk-4NFY2S7N.js";
62
+ } from "./chunk-E7REAOTN.js";
63
63
  import {
64
64
  isValidSessionId
65
65
  } from "./chunk-TQOF5KBL.js";
@@ -70,19 +70,19 @@ import {
70
70
  isVoiceEnabled,
71
71
  readVoiceMode,
72
72
  readVoiceModel
73
- } from "./chunk-QIH2HAEN.js";
73
+ } from "./chunk-SFJMFZT5.js";
74
74
  import {
75
75
  getExtendedSystemInfo,
76
76
  getGitVersion,
77
77
  getNpmVersion
78
- } from "./chunk-XHRY7BXD.js";
78
+ } from "./chunk-MDIGJH5X.js";
79
79
  import {
80
80
  isInlineModelOverrideAllowed,
81
81
  parseAcpModelOption
82
- } from "./chunk-ZYYTZUI2.js";
82
+ } from "./chunk-EOPBFLA5.js";
83
83
  import {
84
84
  getInstallationInfo
85
- } from "./chunk-BKPPWD33.js";
85
+ } from "./chunk-WAO53ZQF.js";
86
86
  import {
87
87
  OUTPUT_LANGUAGE_AUTO,
88
88
  getAllSettingKeys,
@@ -94,12 +94,12 @@ import {
94
94
  resolveOutputLanguageOrPreserveAuto,
95
95
  validateSettingValue,
96
96
  writeOutputLanguageAndRegisterPath
97
- } from "./chunk-A267JX7H.js";
97
+ } from "./chunk-VFP5YOHJ.js";
98
98
  import {
99
99
  getCurrentLanguage,
100
100
  setLanguageAsync,
101
101
  t
102
- } from "./chunk-HUTNYWBG.js";
102
+ } from "./chunk-VTOLYFWM.js";
103
103
  import {
104
104
  SUPPORTED_LANGUAGES,
105
105
  getSupportedLanguageIds,
@@ -108,7 +108,7 @@ import {
108
108
  import {
109
109
  isFolderTrustEnabled,
110
110
  loadTrustedFolders
111
- } from "./chunk-IWPYVAO2.js";
111
+ } from "./chunk-C3T6M24E.js";
112
112
  import {
113
113
  require_strip_json_comments
114
114
  } from "./chunk-NPQ5ZKRP.js";
@@ -178,13 +178,13 @@ import {
178
178
  resolveSlimmingConfig,
179
179
  runForkedAgent,
180
180
  tryGenerateSessionTitle
181
- } from "./chunk-4S5337WV.js";
181
+ } from "./chunk-OFTPCOGR.js";
182
182
  import {
183
183
  external_exports
184
184
  } from "./chunk-CQ35AJ4Z.js";
185
185
  import {
186
186
  resolveModelId
187
- } from "./chunk-5EYKMUUY.js";
187
+ } from "./chunk-544KT7X4.js";
188
188
  import {
189
189
  APPROVAL_MODES
190
190
  } from "./chunk-RWDNJBWN.js";
@@ -195,7 +195,7 @@ import {
195
195
  restoreArchivedAutoSkill,
196
196
  runAutoSkillCurator,
197
197
  setAutoSkillPinned
198
- } from "./chunk-25EYDK42.js";
198
+ } from "./chunk-WPVUOVYX.js";
199
199
  import {
200
200
  HookEventName,
201
201
  sanitizeUserPromptExpansionAdditionalContext
@@ -204,10 +204,10 @@ import {
204
204
  GoalPersistenceUnavailableError,
205
205
  emptyGoalSnapshot,
206
206
  projectUserTranscriptForDisplay
207
- } from "./chunk-OMLJNPBE.js";
207
+ } from "./chunk-4ZMS3JCR.js";
208
208
  import {
209
209
  resolveOpenAILogDir
210
- } from "./chunk-OXCMMLED.js";
210
+ } from "./chunk-DGJ7O55J.js";
211
211
  import {
212
212
  FORK_SUBAGENT_TYPE,
213
213
  stripStartupContext
@@ -229,7 +229,6 @@ import {
229
229
  IdeConnectionEvent,
230
230
  formatTokenUsageSummaryAsCsv,
231
231
  formatTokenUsageSummaryAsJson,
232
- getCurrentGeminiMdFilename,
233
232
  getMCPServerStatus,
234
233
  isImageCapable,
235
234
  logIdeConnection,
@@ -237,7 +236,10 @@ import {
237
236
  read,
238
237
  recordSkillInvocation,
239
238
  uiTelemetryService
240
- } from "./chunk-RVOJ2FBP.js";
239
+ } from "./chunk-KC4WMLZO.js";
240
+ import {
241
+ getCurrentGeminiMdFilename
242
+ } from "./chunk-3PWCMXIR.js";
241
243
  import {
242
244
  getAutoMemoryRoot
243
245
  } from "./chunk-CHHABXPE.js";
@@ -253,7 +255,7 @@ import {
253
255
  import {
254
256
  normalizeContent,
255
257
  redactUrlCredentials
256
- } from "./chunk-EL5SXY3T.js";
258
+ } from "./chunk-XT4RKHVE.js";
257
259
  import {
258
260
  Storage,
259
261
  createDebugLogger,
@@ -267,7 +269,7 @@ import {
267
269
  isCpuProfileRecording,
268
270
  startCpuProfile,
269
271
  stopCpuProfile
270
- } from "./chunk-AW4TRXOC.js";
272
+ } from "./chunk-QEHH23OM.js";
271
273
  import {
272
274
  init_esbuild_shims
273
275
  } from "./chunk-5O2XNYP6.js";
@@ -392,6 +394,18 @@ var isAtCommand = /* @__PURE__ */ __name((query) => (
392
394
  query.startsWith("@") || /\s@/.test(query)
393
395
  ), "isAtCommand");
394
396
  var SLASH_PATH_SEPARATOR_RE = /[/\\]/;
397
+ var SLASH_COMMANDS_SKIP_RECORDING = /* @__PURE__ */ new Set([
398
+ "quit",
399
+ "exit",
400
+ "clear",
401
+ "reset",
402
+ "new",
403
+ "resume",
404
+ "delete",
405
+ "branch",
406
+ "btw",
407
+ "history"
408
+ ]);
395
409
  var getSlashCommandFirstToken = /* @__PURE__ */ __name((query) => query.slice(1).trimStart().split(/\s+/u)[0] ?? "", "getSlashCommandFirstToken");
396
410
  var hasSlashCommandPathSeparator = /* @__PURE__ */ __name((query) => SLASH_PATH_SEPARATOR_RE.test(getSlashCommandFirstToken(query)), "hasSlashCommandPathSeparator");
397
411
  var isSlashCommand = /* @__PURE__ */ __name((query) => {
@@ -925,6 +939,174 @@ var aboutCommand = {
925
939
  ]
926
940
  };
927
941
 
942
+ // packages/cli/src/ui/commands/advisor-command.ts
943
+ init_esbuild_shims();
944
+ var ADVISOR_SCHEMA = {
945
+ type: "object",
946
+ additionalProperties: false,
947
+ properties: {
948
+ verdict: { type: "string", minLength: 1 },
949
+ risks: { type: "string", minLength: 1 },
950
+ missingEvidence: { type: "string", minLength: 1 },
951
+ recommendation: { type: "string", minLength: 1 }
952
+ },
953
+ required: ["verdict", "risks", "missingEvidence", "recommendation"]
954
+ };
955
+ function buildAdvisorPrompt(focus) {
956
+ return [
957
+ "<system-reminder>",
958
+ "You are acting as an ADVISOR \u2014 an independent senior reviewer giving a second opinion on the conversation so far. The transcript above may be truncated to the most recent turns; treat what is shown as the evidence available to you.",
959
+ "",
960
+ "CRITICAL CONSTRAINTS:",
961
+ "- You have NO tools. Base every claim strictly on evidence present in the transcript; never claim to have verified something you could not observe.",
962
+ "- Do not perform the task or write the implementation. Review only.",
963
+ "- Be direct about problems: flawed assumptions, premature conclusions, unverified claims, risky next steps.",
964
+ "- The main conversation is NOT interrupted; your review is shown to the user only.",
965
+ "",
966
+ "Return exactly one JSON object with these string fields and no markdown fence, preamble, extra key, or commentary:",
967
+ "- verdict: one short paragraph stating whether the current approach or conclusion is sound.",
968
+ '- risks: concrete risks or flawed assumptions, each citing transcript evidence. Write "None found" if none.',
969
+ "- missingEvidence: claims asserted but not verified in the visible transcript (earlier verification may exist outside the shown window).",
970
+ "- recommendation: the single most valuable next action.",
971
+ "</system-reminder>",
972
+ "",
973
+ focus || "Review the conversation above."
974
+ ].join("\n");
975
+ }
976
+ __name(buildAdvisorPrompt, "buildAdvisorPrompt");
977
+ function formatAdvisorReview(value) {
978
+ const fields = ["verdict", "risks", "missingEvidence", "recommendation"];
979
+ if (!value || Object.keys(value).length !== fields.length || fields.some((field) => {
980
+ const fieldValue = value[field];
981
+ return typeof fieldValue !== "string" || fieldValue.trim().length === 0;
982
+ })) {
983
+ throw new Error("Advisor returned invalid structured output.");
984
+ }
985
+ const review = value;
986
+ return [
987
+ "## Verdict",
988
+ review.verdict.trim(),
989
+ "## Risks",
990
+ review.risks.trim(),
991
+ "## Missing evidence",
992
+ review.missingEvidence.trim(),
993
+ "## Recommendation",
994
+ review.recommendation.trim()
995
+ ].join("\n\n");
996
+ }
997
+ __name(formatAdvisorReview, "formatAdvisorReview");
998
+ function formatAdvisorError(error) {
999
+ return t("Advisor review failed: {{error}}", {
1000
+ error: error instanceof Error ? error.message : String(error || "Unknown error")
1001
+ });
1002
+ }
1003
+ __name(formatAdvisorError, "formatAdvisorError");
1004
+ async function askAdvisor(context, focus, abortSignal) {
1005
+ const { config } = context.services;
1006
+ if (!config) throw new Error(t("Config not loaded."));
1007
+ const cacheSafeParams = buildBtwCacheSafeParams(config);
1008
+ if (!cacheSafeParams || config.getGeminiClient().getHistoryForForkWindow().length === 0) {
1009
+ throw new Error(t("No conversation context available for /advisor"));
1010
+ }
1011
+ const advisorModel = context.services.settings.merged.advisorModel?.trim() || void 0;
1012
+ const result = await runForkedAgent({
1013
+ config,
1014
+ userMessage: buildAdvisorPrompt(focus),
1015
+ cacheSafeParams,
1016
+ jsonSchema: ADVISOR_SCHEMA,
1017
+ ...advisorModel ? { model: advisorModel } : {},
1018
+ abortSignal,
1019
+ disableModelFallbacks: true
1020
+ });
1021
+ return {
1022
+ text: formatAdvisorReview(result.jsonResult),
1023
+ model: result.model
1024
+ };
1025
+ }
1026
+ __name(askAdvisor, "askAdvisor");
1027
+ var advisorCommand = {
1028
+ name: "advisor",
1029
+ get description() {
1030
+ return t(
1031
+ "Get a second opinion on the current conversation from a reviewer model"
1032
+ );
1033
+ },
1034
+ kind: "built-in" /* BUILT_IN */,
1035
+ supportedModes: ["interactive", "acp"],
1036
+ action: /* @__PURE__ */ __name(async (context, args) => {
1037
+ const focus = args.trim();
1038
+ if (focus.length > BTW_MAX_INPUT_LENGTH) {
1039
+ return {
1040
+ type: "message",
1041
+ messageType: "error",
1042
+ content: t("Focus too long (max {{max}} chars)", {
1043
+ max: String(BTW_MAX_INPUT_LENGTH)
1044
+ })
1045
+ };
1046
+ }
1047
+ const { config } = context.services;
1048
+ const { ui } = context;
1049
+ if (!config) {
1050
+ return {
1051
+ type: "message",
1052
+ messageType: "error",
1053
+ content: t("Config not loaded.")
1054
+ };
1055
+ }
1056
+ if (!config.getModel()) {
1057
+ return {
1058
+ type: "message",
1059
+ messageType: "error",
1060
+ content: t("No model configured.")
1061
+ };
1062
+ }
1063
+ const abortSignal = context.abortSignal ?? new AbortController().signal;
1064
+ const executionMode = context.executionMode ?? "interactive";
1065
+ if (executionMode !== "interactive") {
1066
+ try {
1067
+ const review = await askAdvisor(context, focus, abortSignal);
1068
+ return { type: "message", messageType: "info", content: review.text };
1069
+ } catch (error) {
1070
+ return {
1071
+ type: "message",
1072
+ messageType: "error",
1073
+ content: formatAdvisorError(error)
1074
+ };
1075
+ }
1076
+ }
1077
+ const turnInFlight = !ui.isIdleRef.current || ui.pendingItem !== null;
1078
+ if (turnInFlight) {
1079
+ return {
1080
+ type: "message",
1081
+ messageType: "error",
1082
+ content: t(
1083
+ "Another operation is in progress, wait for it to complete before running /advisor"
1084
+ )
1085
+ };
1086
+ }
1087
+ try {
1088
+ ui.setPendingItem({
1089
+ type: "info" /* INFO */,
1090
+ text: t("Consulting advisor...")
1091
+ });
1092
+ const review = await askAdvisor(context, focus, abortSignal);
1093
+ if (abortSignal.aborted) return;
1094
+ ui.addItem(
1095
+ { type: "advisor" /* ADVISOR */, text: review.text, model: review.model },
1096
+ Date.now()
1097
+ );
1098
+ } catch (error) {
1099
+ if (abortSignal.aborted) return;
1100
+ ui.addItem(
1101
+ { type: "error" /* ERROR */, text: formatAdvisorError(error) },
1102
+ Date.now()
1103
+ );
1104
+ } finally {
1105
+ if (!abortSignal.aborted) ui.setPendingItem(null);
1106
+ }
1107
+ }, "action")
1108
+ };
1109
+
928
1110
  // packages/cli/src/ui/commands/tasksCommand.ts
929
1111
  init_esbuild_shims();
930
1112
  function statusLabel(entry) {
@@ -2057,7 +2239,7 @@ var approvalModeCommand = {
2057
2239
  };
2058
2240
  }
2059
2241
  }
2060
- const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-C7BEICBF.js") : void 0;
2242
+ const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-IGCW5EPO.js") : void 0;
2061
2243
  if (config) {
2062
2244
  try {
2063
2245
  config.setApprovalMode(mode);
@@ -6848,7 +7030,7 @@ var expandNowCommand = {
6848
7030
  content: t("History is already expanded in this session.")
6849
7031
  };
6850
7032
  }
6851
- const { expandCollapsedHistory } = await import("./resumeHistoryUtils-EVG3WYK2.js");
7033
+ const { expandCollapsedHistory } = await import("./resumeHistoryUtils-AFTBRS3G.js");
6852
7034
  const updated = expandCollapsedHistory(history);
6853
7035
  loadHistory(updated);
6854
7036
  refreshStatic();
@@ -14119,10 +14301,10 @@ var updateCommand = {
14119
14301
  { performStandaloneUpdate },
14120
14302
  installationInfo
14121
14303
  ] = await Promise.all([
14122
- import("./updateCheck-W4Y2GFSD.js"),
14123
- import("./processUtils-WDA2MJFD.js"),
14124
- import("./standalone-update-IFM53PE7.js"),
14125
- import("./installationInfo-4I5FXNMH.js")
14304
+ import("./updateCheck-MTZIVGT5.js"),
14305
+ import("./processUtils-ZDMXYKQY.js"),
14306
+ import("./standalone-update-P42HDFXX.js"),
14307
+ import("./installationInfo-NMQIOUGY.js")
14126
14308
  ]);
14127
14309
  const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
14128
14310
  const settings = context.services.settings;
@@ -14270,6 +14452,7 @@ var BuiltinCommandLoader = class {
14270
14452
  }
14271
14453
  const allDefinitions = [
14272
14454
  aboutCommand,
14455
+ advisorCommand,
14273
14456
  agentsCommand,
14274
14457
  tasksCommand,
14275
14458
  // Gated behind isWorkflowsEnabled — feature flag honors
@@ -15968,6 +16151,10 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
15968
16151
  if (!commandToExecute.action) {
15969
16152
  return { type: "no_command" };
15970
16153
  }
16154
+ const resolvedCommand = {
16155
+ name: commandToExecute.name,
16156
+ kind: commandToExecute.kind
16157
+ };
15971
16158
  const sessionStats = {
15972
16159
  sessionId: config?.getSessionId(),
15973
16160
  sessionStartTime: /* @__PURE__ */ new Date(),
@@ -15984,6 +16171,7 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
15984
16171
  };
15985
16172
  const context = {
15986
16173
  executionMode,
16174
+ abortSignal: commandToExecute.name === "advisor" ? abortController.signal : void 0,
15987
16175
  services: {
15988
16176
  config,
15989
16177
  settings,
@@ -16024,7 +16212,8 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16024
16212
  return {
16025
16213
  type: "message",
16026
16214
  messageType: "info",
16027
- content: "Command executed successfully."
16215
+ content: "Command executed successfully.",
16216
+ resolvedCommand
16028
16217
  };
16029
16218
  }
16030
16219
  if (result.type === "submit_prompt") {
@@ -16043,16 +16232,22 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16043
16232
  }
16044
16233
  if (hookResult.blockedResult) {
16045
16234
  recordSkillCommandInvocation(false);
16046
- return hookResult.blockedResult;
16235
+ return { ...hookResult.blockedResult, resolvedCommand };
16047
16236
  }
16048
16237
  recordSkillCommandInvocation(true);
16049
16238
  void recordAutoSkillCommandUsage(config, commandToExecute);
16050
- return handleCommandResult(
16051
- { ...result, content: hookResult.content },
16052
- outputHistoryItems
16053
- );
16239
+ return {
16240
+ ...handleCommandResult(
16241
+ { ...result, content: hookResult.content },
16242
+ outputHistoryItems
16243
+ ),
16244
+ resolvedCommand
16245
+ };
16054
16246
  }
16055
- return handleCommandResult(result, outputHistoryItems);
16247
+ return {
16248
+ ...handleCommandResult(result, outputHistoryItems),
16249
+ resolvedCommand
16250
+ };
16056
16251
  }, "handleSlashCommand");
16057
16252
  var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mode = "acp", settings) => {
16058
16253
  try {
@@ -16257,7 +16452,8 @@ function createAgentToolProgressHandler(config, agentToolCallId, adapter) {
16257
16452
  error: toolCall.status === "failed" ? new Error(toolCall.error || "Tool execution failed") : void 0,
16258
16453
  errorType: toolCall.status === "failed" ? "execution_failed" /* EXECUTION_FAILED */ : void 0,
16259
16454
  resultDisplay: toolCall.resultDisplay,
16260
- responseParts: toolCall.responseParts || []
16455
+ responseParts: toolCall.responseParts || [],
16456
+ boundaryArtifact: toolCall.boundaryArtifact
16261
16457
  }), "buildResponse");
16262
16458
  const hasResultContent = /* @__PURE__ */ __name((toolCall) => {
16263
16459
  if (typeof toolCall.resultDisplay === "string" && toolCall.resultDisplay.trim().length > 0) {
@@ -16382,6 +16578,8 @@ export {
16382
16578
  resetBackgroundStateForSessionSwitch,
16383
16579
  buildBackgroundWorkBlockedMessage,
16384
16580
  isAtCommand,
16581
+ SLASH_COMMANDS_SKIP_RECORDING,
16582
+ getSlashCommandFirstToken,
16385
16583
  hasSlashCommandPathSeparator,
16386
16584
  isSlashCommand,
16387
16585
  isBtwCommand,
@@ -16430,22 +16628,22 @@ export {
16430
16628
  */
16431
16629
  /**
16432
16630
  * @license
16433
- * Copyright 2026 Qwen Team
16631
+ * Copyright 2025 Qwen Code
16434
16632
  * SPDX-License-Identifier: Apache-2.0
16435
16633
  */
16436
16634
  /**
16437
16635
  * @license
16438
- * Copyright 2025 Qwen
16636
+ * Copyright 2026 Qwen Team
16439
16637
  * SPDX-License-Identifier: Apache-2.0
16440
16638
  */
16441
16639
  /**
16442
16640
  * @license
16443
- * Copyright 2025 Qwen Team
16641
+ * Copyright 2025 Qwen
16444
16642
  * SPDX-License-Identifier: Apache-2.0
16445
16643
  */
16446
16644
  /**
16447
16645
  * @license
16448
- * Copyright 2025 Qwen Code
16646
+ * Copyright 2025 Qwen Team
16449
16647
  * SPDX-License-Identifier: Apache-2.0
16450
16648
  */
16451
16649
  /**
@@ -5,11 +5,12 @@ import {
5
5
  JSON_STRING_DELIMITER_BYTES,
6
6
  jsonStringJsonByteLength,
7
7
  jsonStringPayloadByteLength,
8
+ observeAcpToolResultProjection,
8
9
  truncateJsonStringPayload
9
- } from "./chunk-RLKC46YT.js";
10
+ } from "./chunk-K2Y45XXS.js";
10
11
  import {
11
12
  isA2uiToolMeta
12
- } from "./chunk-LJQAUZMR.js";
13
+ } from "./chunk-L3T4V5GZ.js";
13
14
  import {
14
15
  ChannelDeliveryError,
15
16
  MAX_CHANNEL_DELIVERY_TEXT_LENGTH
@@ -19,15 +20,15 @@ import {
19
20
  } from "./chunk-M5GB774H.js";
20
21
  import {
21
22
  getResponseText
22
- } from "./chunk-4S5337WV.js";
23
+ } from "./chunk-OFTPCOGR.js";
23
24
  import {
24
25
  MAX_CHANNEL_DELIVERY_NAME_LENGTH,
25
26
  MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH
26
- } from "./chunk-Y3YCSWG5.js";
27
+ } from "./chunk-OBJYN4MX.js";
27
28
  import {
28
29
  parseGoalSnapshotV2,
29
30
  parseGoalStateCause
30
- } from "./chunk-OMLJNPBE.js";
31
+ } from "./chunk-4ZMS3JCR.js";
31
32
  import {
32
33
  init_esbuild_shims
33
34
  } from "./chunk-5O2XNYP6.js";
@@ -804,6 +805,13 @@ function replayContext(sessionId, updates, cumulativeUsage, config, limits) {
804
805
  _meta: { ...meta, "qwen.session.recordId": activeRecordId }
805
806
  };
806
807
  })();
808
+ const deliveredUpdate = liftSessionUpdateTimestamp(updateWithRecordId);
809
+ observeAcpToolResultProjection(
810
+ update,
811
+ projectedUpdate,
812
+ sessionId,
813
+ deliveredUpdate
814
+ );
807
815
  if (limits) {
808
816
  const updateCount = updates.length + 1;
809
817
  if (updateCount > limits.maxUpdates) {
@@ -814,7 +822,7 @@ function replayContext(sessionId, updates, cumulativeUsage, config, limits) {
814
822
  limits.maxUpdates
815
823
  );
816
824
  }
817
- serializedUpdateBytes += (updates.length === 0 ? 0 : 1) + Buffer2.byteLength(JSON.stringify(updateWithRecordId), "utf8");
825
+ serializedUpdateBytes += (updates.length === 0 ? 0 : 1) + Buffer2.byteLength(JSON.stringify(deliveredUpdate), "utf8");
818
826
  if (serializedUpdateBytes > limits.maxBytes) {
819
827
  throw new HistoryReplayLimitError(
820
828
  sessionId,
@@ -824,7 +832,7 @@ function replayContext(sessionId, updates, cumulativeUsage, config, limits) {
824
832
  );
825
833
  }
826
834
  }
827
- updates.push(updateWithRecordId);
835
+ updates.push(deliveredUpdate);
828
836
  }, "sendUpdate"),
829
837
  setActiveRecordId: /* @__PURE__ */ __name((recordId) => {
830
838
  activeRecordId = recordId;
@@ -864,20 +872,18 @@ async function collectHistoryReplayUpdates({
864
872
  updates.length,
865
873
  error
866
874
  );
867
- return { updates: liftSessionUpdateTimestamps(updates), replayError };
875
+ return { updates, replayError };
868
876
  }
869
- return { updates: liftSessionUpdateTimestamps(updates) };
877
+ return { updates };
870
878
  }
871
879
  __name(collectHistoryReplayUpdates, "collectHistoryReplayUpdates");
872
- function liftSessionUpdateTimestamps(updates) {
873
- return updates.map((update) => {
874
- const record = update;
875
- const meta = record["_meta"];
876
- const timestamp = isObjectRecord2(meta) ? meta["timestamp"] : void 0;
877
- return typeof timestamp === "number" || typeof timestamp === "string" ? { ...record, timestamp } : update;
878
- });
880
+ function liftSessionUpdateTimestamp(update) {
881
+ const record = update;
882
+ const meta = record["_meta"];
883
+ const timestamp = isObjectRecord2(meta) ? meta["timestamp"] : void 0;
884
+ return typeof timestamp === "number" || typeof timestamp === "string" ? { ...record, timestamp } : update;
879
885
  }
880
- __name(liftSessionUpdateTimestamps, "liftSessionUpdateTimestamps");
886
+ __name(liftSessionUpdateTimestamp, "liftSessionUpdateTimestamp");
881
887
  function readTranscriptSourceRecordIds(update) {
882
888
  const value = update;
883
889
  const meta = value["_meta"] && typeof value["_meta"] === "object" ? value["_meta"] : void 0;
@@ -955,7 +961,7 @@ async function replayTranscriptRecordPage({
955
961
  ...page.direction === "backward" ? {} : { replay: replayState }
956
962
  }) : void 0;
957
963
  return {
958
- updates: liftSessionUpdateTimestamps(updates),
964
+ updates,
959
965
  ...nextCursor ? { nextCursor } : {},
960
966
  hasMore: replayError === void 0 && page.hasMore,
961
967
  startTime: page.startTime,
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-HUTNYWBG.js";
5
+ } from "./chunk-VTOLYFWM.js";
6
6
  import {
7
7
  computeThresholds,
8
8
  getCoreSystemPrompt,
9
9
  resolveInteractionMode
10
- } from "./chunk-4S5337WV.js";
10
+ } from "./chunk-OFTPCOGR.js";
11
11
  import {
12
12
  buildSkillLlmContent
13
13
  } from "./chunk-K623ENWT.js";
14
14
  import {
15
15
  DiscoveredMCPTool,
16
16
  uiTelemetryService
17
- } from "./chunk-RVOJ2FBP.js";
17
+ } from "./chunk-KC4WMLZO.js";
18
18
  import {
19
19
  ToolNames
20
20
  } from "./chunk-6HY6IF3Z.js";
@@ -129,6 +129,7 @@ async function collectContextData(config, showDetails) {
129
129
  const loadedSkillNames = skillTool && "getLoadedSkillNames" in skillTool ? skillTool.getLoadedSkillNames() : /* @__PURE__ */ new Set();
130
130
  const skillManager = config.getSkillManager();
131
131
  const skillConfigs = skillManager ? await skillManager.listSkills() : [];
132
+ const disabledSkillNames = config.getDisabledSkillNames();
132
133
  let loadedBodiesTokens = 0;
133
134
  const skills = skillConfigs.map((skill) => {
134
135
  const listingTokens = estimateTokens(
@@ -266,7 +267,9 @@ ${skill.level}
266
267
  builtinTools: showDetails ? detailBuiltinTools : [],
267
268
  mcpTools: showDetails ? detailMcpTools : [],
268
269
  memoryFiles: showDetails ? detailMemoryFiles : [],
269
- skills: showDetails ? detailSkills : [],
270
+ skills: showDetails ? detailSkills.filter(
271
+ (skill) => !disabledSkillNames.has(skill.name.toLowerCase())
272
+ ) : [],
270
273
  isEstimated,
271
274
  showDetails
272
275
  };