@qwen-code/qwen-code 0.20.1-jobbench-claude-prompt.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +1 -1
  2. package/bundled/qc-helper/docs/features/auto-mode.md +19 -16
  3. package/bundled/qc-helper/docs/features/commands.md +54 -0
  4. package/bundled/qc-helper/docs/features/sub-agents.md +16 -7
  5. package/bundled/qc-helper/docs/integration-github-action.md +10 -10
  6. package/bundled/qc-helper/docs/qwen-serve.md +2 -1
  7. package/bundled/review/DESIGN.md +2 -2
  8. package/bundled/review/SKILL.md +4 -4
  9. package/chunks/{MaxSizedBox-BGLP6FQT.js → MaxSizedBox-4WZYPSRU.js} +40 -36
  10. package/chunks/{StandaloneSessionPicker-K6I4ZEHD.js → StandaloneSessionPicker-PE4JAIFA.js} +58 -54
  11. package/chunks/{acpAgent-PKKBOEP4.js → acpAgent-BVIKGJ2C.js} +1503 -520
  12. package/chunks/{agent-Y7XOSZY5.js → agent-DHLFAOUV.js} +36 -32
  13. package/chunks/{agent-headless-NXRPEYGF.js → agent-headless-ZP5WTNXZ.js} +36 -32
  14. package/chunks/{anthropicContentGenerator-BWBAZGTW.js → anthropicContentGenerator-NMSS7IMV.js} +11 -11
  15. package/chunks/{artifact-tool-IUJ7QWCX.js → artifact-tool-56T5IMBP.js} +3 -3
  16. package/chunks/{askUserQuestion-IUMUUTDQ.js → askUserQuestion-E25OBIC2.js} +3 -3
  17. package/chunks/{bridge-DCMYGFJ2.js → bridge-XAK7JKMD.js} +41 -37
  18. package/chunks/{build-SSCNEHZZ.js → build-GHIZ4MSZ.js} +1 -1
  19. package/chunks/{ca-2SL2BXTK.js → ca-N6VVUFVB.js} +611 -201
  20. package/chunks/{channel-worker-group-53CMOPFT.js → channel-worker-group-LFBT7K64.js} +5 -5
  21. package/chunks/{channel-worker-manager-UTXILKC2.js → channel-worker-manager-3RUPERG2.js} +5 -5
  22. package/chunks/{channel-worker-supervisor-ZGO2W2MD.js → channel-worker-supervisor-A3KVATD3.js} +4 -4
  23. package/chunks/{chunk-C5L66QPF.js → chunk-27CLX4FV.js} +1 -1
  24. package/chunks/{chunk-2HOVDT7W.js → chunk-2LI23QA6.js} +1 -1
  25. package/chunks/chunk-2RFKHEXL.js +74 -0
  26. package/chunks/{chunk-5244PA32.js → chunk-3KQSDUK3.js} +3 -3
  27. package/chunks/{chunk-MEDHWB34.js → chunk-3LH5Q2AR.js} +8 -8
  28. package/chunks/{chunk-E6XTP5ZF.js → chunk-3SXF4GMQ.js} +1 -1
  29. package/chunks/chunk-43T5WDQ7.js +127 -0
  30. package/chunks/{chunk-6UTNZOZG.js → chunk-4BRH6FP5.js} +31 -6
  31. package/chunks/{chunk-NYMHN4ZK.js → chunk-4DSBFQMI.js} +2 -2
  32. package/chunks/{chunk-JD3MKVKL.js → chunk-4K56OJFJ.js} +1 -1
  33. package/chunks/{chunk-KTUQMDEP.js → chunk-4K7VDKAD.js} +1 -1
  34. package/chunks/{chunk-QKYTTBYW.js → chunk-4LVZNIDO.js} +1 -1
  35. package/chunks/{chunk-EKVLDUP4.js → chunk-52T5UHAZ.js} +2 -2
  36. package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
  37. package/chunks/{chunk-SWRMKMVY.js → chunk-5EA5NVXS.js} +1 -1
  38. package/chunks/chunk-5G2SK2OO.js +20600 -0
  39. package/chunks/{chunk-6EFTQYW7.js → chunk-5I5BM454.js} +1 -1
  40. package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
  41. package/chunks/{chunk-26LLB6FM.js → chunk-6NHK6HS7.js} +2 -2
  42. package/chunks/{chunk-6UTRTWUF.js → chunk-6PRNSLMB.js} +11 -6
  43. package/chunks/chunk-6PVPNMXU.js +29 -0
  44. package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
  45. package/chunks/{chunk-4ODB7WIB.js → chunk-6ZBPS62S.js} +1 -1
  46. package/chunks/{chunk-SMR34EQM.js → chunk-766HLFAG.js} +54 -33
  47. package/chunks/{chunk-J5CK6QYL.js → chunk-76OFFG6L.js} +137 -5
  48. package/chunks/{chunk-AU2GX7QQ.js → chunk-7LH6CHKG.js} +1 -1
  49. package/chunks/{chunk-A2F633L4.js → chunk-7NDXG4MB.js} +60 -35
  50. package/chunks/{chunk-QCCOKIGW.js → chunk-7SWFAKVH.js} +22 -22
  51. package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
  52. package/chunks/{chunk-CMFMPPKV.js → chunk-AZD6KAV7.js} +3 -3
  53. package/chunks/{chunk-7YBZGNEC.js → chunk-BKZEHVPV.js} +176 -168
  54. package/chunks/{chunk-M2DASLLB.js → chunk-BWQRDISK.js} +1 -1
  55. package/chunks/{chunk-EELSDL62.js → chunk-BZAEENUV.js} +3 -3
  56. package/chunks/{chunk-DFQGFXMQ.js → chunk-CHXKGIMK.js} +1 -1
  57. package/chunks/{chunk-W2LKWG6I.js → chunk-D53NR4GO.js} +562 -301
  58. package/chunks/{chunk-P5OX37TK.js → chunk-D6ZOVZLF.js} +5 -1
  59. package/chunks/{chunk-NBMIC7DR.js → chunk-D7WXIW7H.js} +4 -4
  60. package/chunks/{chunk-VT3KBCIU.js → chunk-DPRMI6NU.js} +1 -1
  61. package/chunks/{chunk-JXWFXSLN.js → chunk-DRIXALGM.js} +2 -2
  62. package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
  63. package/chunks/{chunk-EMMNRTQX.js → chunk-EC2ET5ZZ.js} +1 -1
  64. package/chunks/{chunk-NNDKJNCC.js → chunk-EFIOE2EH.js} +3 -3
  65. package/chunks/{chunk-7H2JMOPS.js → chunk-EWXXMRMP.js} +3 -3
  66. package/chunks/{chunk-NEEB7UEN.js → chunk-FFFM6NJV.js} +1 -2
  67. package/chunks/{chunk-3PG4G7SK.js → chunk-G6LRTI62.js} +4 -4
  68. package/chunks/{chunk-RTEHQUAD.js → chunk-GEB2CGUV.js} +11024 -7988
  69. package/chunks/{chunk-OONJNQ42.js → chunk-GPSKDNEE.js} +3 -3
  70. package/chunks/{chunk-FNGK2Z5B.js → chunk-H4AR2JQF.js} +3 -3
  71. package/chunks/chunk-HTR4WV6U.js +327 -0
  72. package/chunks/chunk-IS2SBY6T.js +2256 -0
  73. package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
  74. package/chunks/{chunk-4E33SVWA.js → chunk-JHFVJQRO.js} +1 -1
  75. package/chunks/{chunk-BL7EEZ4Y.js → chunk-JIBBZH37.js} +27 -23
  76. package/chunks/{chunk-UJEZQ562.js → chunk-JJEFX6U5.js} +3 -3
  77. package/chunks/{chunk-UTBTCPKF.js → chunk-JKFHJK5U.js} +4 -4
  78. package/chunks/{chunk-XSSAJZXG.js → chunk-JO7FGOSY.js} +5 -5
  79. package/chunks/{chunk-CAKC64KX.js → chunk-JTUAAVUT.js} +2 -2
  80. package/chunks/{chunk-MAQQGNQ5.js → chunk-JYS55H6Z.js} +66 -7
  81. package/chunks/{chunk-D742634K.js → chunk-KDPIV6WC.js} +29 -2
  82. package/chunks/{chunk-EIAK6Q2B.js → chunk-KHOVYUHX.js} +2 -2
  83. package/chunks/{chunk-OLMETXLX.js → chunk-KQQ757OQ.js} +2 -2
  84. package/chunks/{chunk-7AB5URLY.js → chunk-KSZZBDVD.js} +165 -48
  85. package/chunks/chunk-KWK7UE6L.js +6194 -0
  86. package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
  87. package/chunks/{chunk-2T2FG7OX.js → chunk-LPMBFOWH.js} +73 -68
  88. package/chunks/{chunk-UNIQ7KNW.js → chunk-LYEKAAEH.js} +5 -5
  89. package/chunks/chunk-M7WBGLYP.js +151 -0
  90. package/chunks/{chunk-LB7ZIQ6C.js → chunk-MTSYH4MB.js} +3 -3
  91. package/chunks/{chunk-7YK65ZFC.js → chunk-N5ARKAVE.js} +8 -8
  92. package/chunks/chunk-NABLFI57.js +82 -0
  93. package/chunks/{chunk-PXVAFBEI.js → chunk-NNFK277W.js} +1 -1
  94. package/chunks/{chunk-467G3SV5.js → chunk-NPQDJGKU.js} +1 -1
  95. package/chunks/chunk-OQ5SYCPE.js +10017 -0
  96. package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
  97. package/chunks/{chunk-WCPQTUDI.js → chunk-OUDZVU7H.js} +242 -1607
  98. package/chunks/{chunk-C44MIZ2K.js → chunk-PBED7USE.js} +1 -1
  99. package/chunks/{chunk-C5Z652G4.js → chunk-PIHKWN7M.js} +1 -1
  100. package/chunks/{chunk-NL37SKPP.js → chunk-PPIHLGNE.js} +2 -2
  101. package/chunks/{chunk-ORDXX5SE.js → chunk-PSVSP2OS.js} +6 -6
  102. package/chunks/{chunk-SKQD5RCT.js → chunk-Q2V2ADXF.js} +7 -7
  103. package/chunks/{chunk-JDI67JFB.js → chunk-Q2YKNMLS.js} +3 -3
  104. package/chunks/{chunk-L4PEDXOX.js → chunk-Q3GGJDYN.js} +5 -5
  105. package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.js} +1 -1
  106. package/chunks/{chunk-OMH3276Y.js → chunk-QD6BRERJ.js} +7 -7
  107. package/chunks/{chunk-Y2ENGUD6.js → chunk-QKTHJXCS.js} +1 -1
  108. package/chunks/{chunk-BVLROR2T.js → chunk-QLJUC7TG.js} +1 -1
  109. package/chunks/{chunk-UEY4AYUL.js → chunk-QNLNLENL.js} +2 -2
  110. package/chunks/{chunk-2F7HITKF.js → chunk-QSJ6JIF5.js} +4 -4
  111. package/chunks/{chunk-2R7OXGYM.js → chunk-QUHJRRUA.js} +126 -30
  112. package/chunks/{chunk-WJYCCJ3Q.js → chunk-R3BCL5XW.js} +10 -4
  113. package/chunks/{chunk-YXBZOR3D.js → chunk-R7MPKABX.js} +307 -86
  114. package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
  115. package/chunks/{chunk-NIJEXGV6.js → chunk-RVLZCXEE.js} +79 -10
  116. package/chunks/{chunk-NRPP5TOB.js → chunk-RYSMKY43.js} +4 -4
  117. package/chunks/{chunk-XBAYQWDL.js → chunk-S3YQCNJE.js} +3 -3
  118. package/chunks/{chunk-3P4TUBON.js → chunk-SP32MK6J.js} +2 -2
  119. package/chunks/{chunk-JNWZQ27S.js → chunk-SP5WRGVG.js} +3 -3
  120. package/chunks/{chunk-FSL5W5TI.js → chunk-T2L47JJK.js} +3 -3
  121. package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
  122. package/chunks/{chunk-3XZIXCJY.js → chunk-TPR35HHZ.js} +6 -6
  123. package/chunks/{chunk-L4BZXQR3.js → chunk-TXRKCFWS.js} +6 -6
  124. package/chunks/chunk-U7ZFW55U.js +2098 -0
  125. package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
  126. package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
  127. package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
  128. package/chunks/{chunk-IMVIN5UC.js → chunk-WCFTQD7H.js} +11 -11
  129. package/chunks/chunk-WHGVTP7Q.js +1049 -0
  130. package/chunks/{chunk-PC2QR5QO.js → chunk-WML6JOGQ.js} +31 -19
  131. package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
  132. package/chunks/{chunk-YHRBVZ53.js → chunk-X7XWGRDT.js} +4 -4
  133. package/chunks/chunk-XHATNRQA.js +1500 -0
  134. package/chunks/{chunk-2RDNKVZ2.js → chunk-Y2DAH52F.js} +7 -6
  135. package/chunks/{chunk-S35ZDXOS.js → chunk-YM3SZTH4.js} +2 -1
  136. package/chunks/{chunk-GKY2OJ7R.js → chunk-ZHERRXZJ.js} +1 -1
  137. package/chunks/{computer-use-KQVQD3IW.js → computer-use-MV4K6WJM.js} +41 -37
  138. package/chunks/{config-utils-6FXFJUYB.js → config-utils-WYUQ7II4.js} +3 -3
  139. package/chunks/{contextCommand-IOC5HY6R.js → contextCommand-TQD36VNX.js} +38 -34
  140. package/chunks/{create-sub-session-X5RVIHCK.js → create-sub-session-AZ77LBL3.js} +3 -3
  141. package/chunks/{create-sub-session-IOAGEN3O.js → create-sub-session-JOW4BKMC.js} +36 -32
  142. package/chunks/{cron-create-AC5FFLN7.js → cron-create-KTWJM7QT.js} +5 -5
  143. package/chunks/{cron-delete-JEB3FAHA.js → cron-delete-2P3I5ULL.js} +5 -5
  144. package/chunks/{cron-list-NBYPCNIB.js → cron-list-PXDPGEDQ.js} +5 -5
  145. package/chunks/{daemon-RG2MAI6T.js → daemon-KLPTQIE4.js} +138 -81
  146. package/chunks/daemon-status-provider-TII4SMCZ.js +81 -0
  147. package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
  148. package/chunks/{dist-2BHAYBKP.js → dist-HMU6CYS4.js} +2 -2
  149. package/chunks/{dist-AU7NQQRP.js → dist-OAV7LJGJ.js} +1 -1
  150. package/chunks/{dist-FUTEXY6A.js → dist-OMW6WDEO.js} +1 -1
  151. package/chunks/{dist-2MIU4UUH.js → dist-PJLG2XYX.js} +1 -1
  152. package/chunks/{dist-53PZYC5B.js → dist-UIFWIFRO.js} +2 -2
  153. package/chunks/{dist-WGTQO7F2.js → dist-XRYV6TJP.js} +65 -25
  154. package/chunks/{earlyInputCapture-7AA4D4RF.js → earlyInputCapture-2V57RG6H.js} +37 -33
  155. package/chunks/{edit-RQXZUTEU.js → edit-TTUH7PWR.js} +43 -41
  156. package/chunks/{en-XE34GKAA.js → en-USMCCJAJ.js} +5 -1
  157. package/chunks/{enter-worktree-BPYKHGTX.js → enter-worktree-D4IVCXYB.js} +41 -37
  158. package/chunks/{enterPlanMode-VJ3KR5HM.js → enterPlanMode-WRUJTVYN.js} +47 -38
  159. package/chunks/{environment-PZYHWWG5.js → environment-SEPKXB2C.js} +38 -34
  160. package/chunks/{errors-NZ6JOKJB.js → errors-YSVGBLBU.js} +38 -34
  161. package/chunks/{exit-worktree-TZNABJPX.js → exit-worktree-MZ4JSSP6.js} +41 -37
  162. package/chunks/{exitPlanMode-RZMERKLI.js → exitPlanMode-HAZLSSOJ.js} +41 -37
  163. package/chunks/{fast-path-F5UWH7GI.js → fast-path-EVBVIE2U.js} +4 -3
  164. package/chunks/{fast-path-settings-DAOVFADC.js → fast-path-settings-XB3CPUJT.js} +2 -2
  165. package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
  166. package/chunks/{gemini-2QJRGIKD.js → gemini-APQ76464.js} +100 -95
  167. package/chunks/{geminiContentGenerator-Q7IAYVM4.js → geminiContentGenerator-LB4MA2LI.js} +5 -5
  168. package/chunks/{getMachineId-bsd-EXV7SWPA.js → getMachineId-bsd-QFVLPUPT.js} +1 -1
  169. package/chunks/{getMachineId-darwin-IUOMFXU3.js → getMachineId-darwin-DGMQQE2E.js} +1 -1
  170. package/chunks/{getMachineId-linux-K7XJYFHL.js → getMachineId-linux-R4Z6CSWC.js} +1 -1
  171. package/chunks/{getMachineId-unsupported-EA5FDRJ6.js → getMachineId-unsupported-Z3SBVBUV.js} +1 -1
  172. package/chunks/{getMachineId-win-KBA6RAI5.js → getMachineId-win-SCK5UFDT.js} +1 -1
  173. package/chunks/{glob-MP7IPPNS.js → glob-LABYMYKG.js} +43 -39
  174. package/chunks/{grep-OHN54Z7A.js → grep-HKIKJCAS.js} +43 -39
  175. package/chunks/{handleAutoUpdate-EGCO46FV.js → handleAutoUpdate-RWAAL2UM.js} +40 -36
  176. package/chunks/{i18n-4LK42EK5.js → i18n-ZUVDAJIJ.js} +37 -33
  177. package/chunks/{initializer-DAL5QAZU.js → initializer-7YUHIC36.js} +43 -39
  178. package/chunks/{installationInfo-HOKGVMMQ.js → installationInfo-DVEOMWDE.js} +39 -33
  179. package/chunks/{ja-2ICT3KXF.js → ja-KY4ROZTE.js} +5 -1
  180. package/chunks/{keychain-token-storage-DWRJMNH3.js → keychain-token-storage-6ACJDYIB.js} +3 -3
  181. package/chunks/list-WHCZSIR2.js +82 -0
  182. package/chunks/{loadedSettingsAdapter-I42UOUE7.js → loadedSettingsAdapter-YCWN6AK3.js} +42 -38
  183. package/chunks/{loop-wakeup-HMHCT5GU.js → loop-wakeup-RNMRVA66.js} +6 -6
  184. package/chunks/{ls-IW5HYDG4.js → ls-J2ZI5XYK.js} +5 -5
  185. package/chunks/{lsp-4RL52YIZ.js → lsp-UMS3NUB5.js} +3 -3
  186. package/chunks/managed-npm-update-PG3463CJ.js +333 -0
  187. package/chunks/{mcp-62XOYOXZ.js → mcp-VLHDCKAN.js} +42 -38
  188. package/chunks/{monitor-YIHFTVM7.js → monitor-GG4F4YM6.js} +41 -37
  189. package/chunks/nonInteractiveCli-UYXYV4YX.js +133 -0
  190. package/chunks/{notebook-edit-XK4J36D3.js → notebook-edit-US4VLN6Q.js} +44 -42
  191. package/chunks/{openaiContentGenerator-OEIKDARY.js → openaiContentGenerator-CVEDTMDB.js} +20 -18
  192. package/chunks/{pidfile-2XVZMMKS.js → pidfile-QQ45OIOY.js} +37 -33
  193. package/chunks/{processUtils-SYFMMDPV.js → processUtils-3WMHLQE5.js} +2 -2
  194. package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
  195. package/chunks/{qwenContentGenerator-LTTPUWV3.js → qwenContentGenerator-Y2GRNYZQ.js} +42 -38
  196. package/chunks/{qwenOAuth2-U3X6UBDP.js → qwenOAuth2-J2X6E5VO.js} +18 -16
  197. package/chunks/{read-file-P6IEAOBS.js → read-file-C7Z266CU.js} +13 -11
  198. package/chunks/{read-mcp-resource-OIBCNIX7.js → read-mcp-resource-F6HYMDUY.js} +3 -3
  199. package/chunks/{record-artifact-HDMK4LHG.js → record-artifact-7GCFLDD7.js} +3 -3
  200. package/chunks/{resumeHistoryUtils-WMJ5TUPF.js → resumeHistoryUtils-KBQWX77U.js} +43 -39
  201. package/chunks/{ripGrep-US5HKBSM.js → ripGrep-RW26MTQ3.js} +36 -32
  202. package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
  203. package/chunks/{run-qwen-serve-MIFJODT4.js → run-qwen-serve-MXFMOMEL.js} +104 -82
  204. package/chunks/{runtime-SK5QH53T.js → runtime-APNO3V6D.js} +48 -42
  205. package/chunks/{scheduler-4TIUONHH.js → scheduler-L6FYCGVO.js} +36 -32
  206. package/chunks/sdk-exporters-grpc-ETLH47EP.js +23214 -0
  207. package/chunks/sdk-exporters-http-IDGLRBGP.js +563 -0
  208. package/chunks/sdk-impl-5ESZBGJQ.js +9186 -0
  209. package/chunks/{send-message-WXVVK4DB.js → send-message-PYIJ2PZL.js} +6 -4
  210. package/chunks/{serve-F6VZULAL.js → serve-6QBXDVWT.js} +42 -38
  211. package/chunks/{server-UJEZDWGO.js → server-5TJJEMVQ.js} +1006 -305
  212. package/chunks/{session-PFCYZOZJ.js → session-BWEUHKQB.js} +92 -176
  213. package/chunks/{settings-7UHALRNO.js → settings-O7IUQNRR.js} +45 -41
  214. package/chunks/{shell-DY7EASPT.js → shell-R5L4NQYY.js} +36 -32
  215. package/chunks/{skill-DOZBVXRT.js → skill-ITEOSNW6.js} +24 -20
  216. package/chunks/{spawnChannel-HT7EQ4SL.js → spawnChannel-E7NTWSGW.js} +38 -34
  217. package/chunks/{src-VJO75DQQ.js → src-FFXGUTNL.js} +303 -237
  218. package/chunks/{standalone-update-5ERAJGLE.js → standalone-update-JCJOXW4P.js} +38 -34
  219. package/chunks/{startInteractiveUI-HYMIOBH7.js → startInteractiveUI-IJSBLZFO.js} +1057 -864
  220. package/chunks/{syntheticOutput-HCUFXSIA.js → syntheticOutput-H7RTI5KL.js} +4 -4
  221. package/chunks/{task-create-RIY5JTFC.js → task-create-7474AJJD.js} +10 -8
  222. package/chunks/{task-list-XBUCV3CO.js → task-list-633HGOIB.js} +6 -6
  223. package/chunks/{task-stop-QDFCCYR5.js → task-stop-MNUGHPIA.js} +3 -3
  224. package/chunks/{task-update-7PXKJQOI.js → task-update-66GQB5LI.js} +10 -8
  225. package/chunks/{team-create-NF3FCZE2.js → team-create-OVSZTJZO.js} +44 -40
  226. package/chunks/{team-delete-TNSSE2S5.js → team-delete-BB3CG3QF.js} +6 -6
  227. package/chunks/{team-plan-approval-P5U7U4NW.js → team-plan-approval-SLEVDLT5.js} +41 -37
  228. package/chunks/{theme-manager-WD73RXOX.js → theme-manager-V6ZQISHM.js} +37 -33
  229. package/chunks/{todoWrite-OMAIGB6V.js → todoWrite-KRAUN54W.js} +5 -5
  230. package/chunks/{tool-search-TDMA733L.js → tool-search-KYIF6C6E.js} +21 -17
  231. package/chunks/{total-session-admission-H3XZPCNC.js → total-session-admission-EU77XTL7.js} +42 -38
  232. package/chunks/{tree-sitter-VJEPTDMU.js → tree-sitter-4D7QS7F6.js} +1 -1
  233. package/chunks/{tree-sitter-bash-WFKBO43W.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  234. package/chunks/{trustedFolders-NEFWXHU2.js → trustedFolders-DDEF3ADH.js} +37 -33
  235. package/chunks/{update-relaunch-T2XQQC4W.js → update-relaunch-XEZTDP6K.js} +17 -17
  236. package/chunks/updateCheck-KZ5LZ545.js +89 -0
  237. package/chunks/{useAutoAcceptIndicator-5FLFR3BY.js → useAutoAcceptIndicator-47EZERGQ.js} +47 -43
  238. package/chunks/{validateNonInterActiveAuth-Z23SJ4D4.js → validateNonInterActiveAuth-J2DM4LWZ.js} +79 -75
  239. package/chunks/{version-PLKW23RX.js → version-PN7WYXHP.js} +1 -1
  240. package/chunks/{web-fetch-QNI3EEXN.js → web-fetch-WRI5QRFR.js} +100 -42
  241. package/chunks/{web-search-DLYTQBNN.js → web-search-2HCXNAVX.js} +111 -60
  242. package/chunks/{workflow-A3WFSQKU.js → workflow-U5XBPGQZ.js} +48 -43
  243. package/chunks/{workspace-providers-status-6K34OJLQ.js → workspace-providers-status-2T54GIJZ.js} +45 -41
  244. package/chunks/{workspace-registration-store-6FPLTQG3.js → workspace-registration-store-F3V4KBIW.js} +8 -2
  245. package/chunks/{workspace-registry-JZRIJXJS.js → workspace-registry-U6QVZ5BU.js} +42 -38
  246. package/chunks/{workspace-service-PQDLBZV3.js → workspace-service-734D36QD.js} +49 -45
  247. package/chunks/{workspace-skills-status-RKCPZVT2.js → workspace-skills-status-5ABUKOAQ.js} +43 -39
  248. package/chunks/write-file-CIH4I4CS.js +66 -0
  249. package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-BM47YBFH.js} +5 -1
  250. package/chunks/{zh-6ANG2HTL.js → zh-WY5DWYZD.js} +5 -1
  251. package/cli-entry.js +164 -12
  252. package/cli.js +18 -11
  253. package/locales/ca.js +772 -203
  254. package/locales/de.js +8 -2
  255. package/locales/en.js +8 -2
  256. package/locales/fr.js +8 -2
  257. package/locales/ja.js +8 -2
  258. package/locales/pt.js +8 -2
  259. package/locales/ru.js +8 -2
  260. package/locales/zh-TW.js +8 -2
  261. package/locales/zh.js +8 -2
  262. package/package.json +3 -3
  263. package/web-shell/assets/{arc-Buk1besA.js → arc-ByltRugA.js} +1 -1
  264. package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1aUKYDC.js → architectureDiagram-3BPJPVTR-CCRTto5d.js} +1 -1
  265. package/web-shell/assets/{blockDiagram-GPEHLZMM-CRTdg3Zx.js → blockDiagram-GPEHLZMM-Jfy36u1L.js} +1 -1
  266. package/web-shell/assets/{c4Diagram-AAUBKEIU-DFdRMp5g.js → c4Diagram-AAUBKEIU-4d5FfEZ0.js} +1 -1
  267. package/web-shell/assets/channel-4N2UIFcG.js +1 -0
  268. package/web-shell/assets/{chunk-2J33WTMH-4rYQdkEI.js → chunk-2J33WTMH-BPwxCEro.js} +1 -1
  269. package/web-shell/assets/{chunk-4BX2VUAB-Coi-pQJy.js → chunk-4BX2VUAB-jY7ZmJWY.js} +1 -1
  270. package/web-shell/assets/{chunk-55IACEB6-BtBjz02t.js → chunk-55IACEB6-C98HgCsS.js} +1 -1
  271. package/web-shell/assets/{chunk-727SXJPM-CGYOWorl.js → chunk-727SXJPM-cDu-ge-q.js} +1 -1
  272. package/web-shell/assets/{chunk-AQP2D5EJ-CH5AKhqx.js → chunk-AQP2D5EJ-BKdJwxXK.js} +1 -1
  273. package/web-shell/assets/{chunk-FMBD7UC4-Cd50-w85.js → chunk-FMBD7UC4-DnuxqwMu.js} +1 -1
  274. package/web-shell/assets/{chunk-ND2GUHAM-C2wF3KCK.js → chunk-ND2GUHAM-C4fZNPv0.js} +1 -1
  275. package/web-shell/assets/{chunk-QZHKN3VN-pCeRTaWi.js → chunk-QZHKN3VN-Cf4XWOmz.js} +1 -1
  276. package/web-shell/assets/classDiagram-4FO5ZUOK-Q4dYOtsh.js +1 -0
  277. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Q4dYOtsh.js +1 -0
  278. package/web-shell/assets/{cose-bilkent-S5V4N54A-B-_fAB6D.js → cose-bilkent-S5V4N54A-C82mFiqj.js} +1 -1
  279. package/web-shell/assets/{dagre-BM42HDAG-ChSPNHpL.js → dagre-BM42HDAG-Df8KACER.js} +1 -1
  280. package/web-shell/assets/{diagram-2AECGRRQ-BX7cFOF3.js → diagram-2AECGRRQ-EzNs7s_2.js} +1 -1
  281. package/web-shell/assets/{diagram-5GNKFQAL-BQUTW92n.js → diagram-5GNKFQAL-BRLNvreg.js} +1 -1
  282. package/web-shell/assets/{diagram-KO2AKTUF-BkYPh3e4.js → diagram-KO2AKTUF-2HLYHRjC.js} +1 -1
  283. package/web-shell/assets/{diagram-LMA3HP47-Cl6jsNyx.js → diagram-LMA3HP47-DeH0NzSp.js} +1 -1
  284. package/web-shell/assets/{diagram-OG6HWLK6-DRWoHz8n.js → diagram-OG6HWLK6-k5Gn47-G.js} +1 -1
  285. package/web-shell/assets/{erDiagram-TEJ5UH35-CGvFcZco.js → erDiagram-TEJ5UH35-gPHFo79f.js} +1 -1
  286. package/web-shell/assets/{flowDiagram-I6XJVG4X-vms6oVdv.js → flowDiagram-I6XJVG4X-DYBOiTRW.js} +1 -1
  287. package/web-shell/assets/{ganttDiagram-6RSMTGT7-ukT_sfmi.js → ganttDiagram-6RSMTGT7-cxjAuic9.js} +1 -1
  288. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bn2ZE2Ut.js → gitGraphDiagram-PVQCEYII-3nPqpmCP.js} +1 -1
  289. package/web-shell/assets/index-B7jzUZ_s.css +5 -0
  290. package/web-shell/assets/{index-wFXp7W68.js → index-Cl8d-1bK.js} +1 -1
  291. package/web-shell/assets/index-gE8OWwj_.js +1197 -0
  292. package/web-shell/assets/{infoDiagram-5YYISTIA-DHJdSi7x.js → infoDiagram-5YYISTIA-Dph21pR5.js} +1 -1
  293. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DOvd2Wph.js → ishikawaDiagram-YF4QCWOH-Cjg1hSaG.js} +1 -1
  294. package/web-shell/assets/{journeyDiagram-JHISSGLW-CH_urMCT.js → journeyDiagram-JHISSGLW-CR-IzvnU.js} +1 -1
  295. package/web-shell/assets/{kanban-definition-UN3LZRKU-FKiBdgbH.js → kanban-definition-UN3LZRKU-BYmuybuC.js} +1 -1
  296. package/web-shell/assets/{linear-0ZVQFVKf.js → linear-CngEEoy8.js} +1 -1
  297. package/web-shell/assets/{mermaid.core-DJ05ZZIK.js → mermaid.core-G6fbZRPf.js} +5 -5
  298. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BPuUhkUm.js → mindmap-definition-RKZ34NQL-BtnqnUwJ.js} +1 -1
  299. package/web-shell/assets/{pieDiagram-4H26LBE5-yLFKcXyG.js → pieDiagram-4H26LBE5-XTq6UHIA.js} +1 -1
  300. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-irWqc1pE.js → quadrantDiagram-W4KKPZXB-D1J5PrsS.js} +1 -1
  301. package/web-shell/assets/{requirementDiagram-4Y6WPE33-B_4uMoIV.js → requirementDiagram-4Y6WPE33-CLcBUy3t.js} +1 -1
  302. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-ciA4GPwk.js → sankeyDiagram-5OEKKPKP-iwKV02_6.js} +1 -1
  303. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CRdZvy0U.js → sequenceDiagram-3UESZ5HK-7NFYQcEX.js} +1 -1
  304. package/web-shell/assets/{stateDiagram-AJRCARHV-DaYIkCCn.js → stateDiagram-AJRCARHV-Bvm4Wih6.js} +1 -1
  305. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-xXU_zO2Z.js +1 -0
  306. package/web-shell/assets/{timeline-definition-PNZ67QCA-oBUKv6iH.js → timeline-definition-PNZ67QCA-B4FZFE9O.js} +1 -1
  307. package/web-shell/assets/{vennDiagram-CIIHVFJN-CGW9Sdmb.js → vennDiagram-CIIHVFJN-CvMBpmtL.js} +1 -1
  308. package/web-shell/assets/{wardley-L42UT6IY-CvwKJOCm.js → wardley-L42UT6IY-E3ag2327.js} +1 -1
  309. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Ipc260sN.js → wardleyDiagram-YWT4CUSO-BEXWlgxC.js} +1 -1
  310. package/web-shell/assets/{xychartDiagram-2RQKCTM6-D6-CM7pK.js → xychartDiagram-2RQKCTM6-CICK05gI.js} +1 -1
  311. package/web-shell/index.html +2 -2
  312. package/chunks/chunk-6YS6TQB3.js +0 -45
  313. package/chunks/chunk-ETD6K42I.js +0 -358
  314. package/chunks/chunk-HAL7YT4M.js +0 -74639
  315. package/chunks/chunk-W7FJ3N32.js +0 -49
  316. package/chunks/daemon-status-provider-DYDVT4S5.js +0 -77
  317. package/chunks/list-M5NNXMQQ.js +0 -78
  318. package/chunks/nonInteractiveCli-Z73R2B3B.js +0 -129
  319. package/chunks/updateCheck-G5JYMVJZ.js +0 -73
  320. package/chunks/write-file-LHZENZ2A.js +0 -599
  321. package/web-shell/assets/channel-04R0vLbG.js +0 -1
  322. package/web-shell/assets/classDiagram-4FO5ZUOK-Bw9SOwAV.js +0 -1
  323. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Bw9SOwAV.js +0 -1
  324. package/web-shell/assets/index-DgkKrjw3.js +0 -1187
  325. package/web-shell/assets/index-Rv6mOAN9.css +0 -5
  326. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DWBoO4UY.js +0 -1
  327. package/chunks/{chunk-PEJWA3QQ.js → chunk-QZJY47IE.js} +5 -5
@@ -0,0 +1,66 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ WriteFileTool,
5
+ buildRecordArtifactReminder
6
+ } from "./chunk-GEB2CGUV.js";
7
+ import "./chunk-T4TZQJ7W.js";
8
+ import "./chunk-H6XPXXMH.js";
9
+ import "./chunk-5M6IDOMF.js";
10
+ import "./chunk-T2L47JJK.js";
11
+ import "./chunk-GPSKDNEE.js";
12
+ import "./chunk-X6N25LXS.js";
13
+ import "./chunk-E2UVIFI2.js";
14
+ import "./chunk-Q2YKNMLS.js";
15
+ import "./chunk-XU457J4V.js";
16
+ import "./chunk-VDDGDZMA.js";
17
+ import "./chunk-KHOVYUHX.js";
18
+ import "./chunk-SZRN75WQ.js";
19
+ import "./chunk-6PVPNMXU.js";
20
+ import "./chunk-PIHKWN7M.js";
21
+ import "./chunk-CPBF7KYF.js";
22
+ import "./chunk-NABLFI57.js";
23
+ import "./chunk-QBUDF33N.js";
24
+ import "./chunk-LIZRAKPB.js";
25
+ import "./chunk-WHGVTP7Q.js";
26
+ import "./chunk-6AM5D4ME.js";
27
+ import "./chunk-JCW2R7WC.js";
28
+ import "./chunk-57FIIFJN.js";
29
+ import "./chunk-HTO4JFDZ.js";
30
+ import "./chunk-XVNQMZ2I.js";
31
+ import "./chunk-FODK6UMO.js";
32
+ import "./chunk-GLNBDYUX.js";
33
+ import "./chunk-TXRKCFWS.js";
34
+ import "./chunk-JESCGQM3.js";
35
+ import "./chunk-EWXXMRMP.js";
36
+ import "./chunk-PPIHLGNE.js";
37
+ import "./chunk-DJ2GSRLV.js";
38
+ import "./chunk-5I5BM454.js";
39
+ import "./chunk-5G2SK2OO.js";
40
+ import "./chunk-VGC4I5JJ.js";
41
+ import "./chunk-4K56OJFJ.js";
42
+ import "./chunk-JYS55H6Z.js";
43
+ import "./chunk-A4UCTEB5.js";
44
+ import "./chunk-XWRJCPHC.js";
45
+ import "./chunk-QNLNLENL.js";
46
+ import "./chunk-6X4GWOPW.js";
47
+ import "./chunk-TYQMGACW.js";
48
+ import "./chunk-TYAMGABM.js";
49
+ import "./chunk-FCMNKVXT.js";
50
+ import "./chunk-IS2SBY6T.js";
51
+ import "./chunk-HTR4WV6U.js";
52
+ import "./chunk-M7WBGLYP.js";
53
+ import "./chunk-U7ZFW55U.js";
54
+ import "./chunk-NPQDJGKU.js";
55
+ import "./chunk-YM3SZTH4.js";
56
+ import "./chunk-OQB4EXO4.js";
57
+ import "./chunk-75DOP5OR.js";
58
+ import "./chunk-DMTGGOSA.js";
59
+ import "./chunk-YQ3U5MUC.js";
60
+ import "./chunk-THJNPLI4.js";
61
+ import "./chunk-5O2XNYP6.js";
62
+ import "./chunk-J2S4EL5Y.js";
63
+ export {
64
+ WriteFileTool,
65
+ buildRecordArtifactReminder
66
+ };
@@ -1717,7 +1717,11 @@ var zh_TW_default = {
1717
1717
  "Qwen Code update available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u53EF\u7528\u66F4\u65B0\uFF01{{current}} \u2192 {{latest}}",
1718
1718
  "A new version of Qwen Code is available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u65B0\u7248\u672C\u53EF\u7528\uFF01{{current}} \u2192 {{latest}}",
1719
1719
  "Qwen Code {{version}} is up to date!": "Qwen Code {{version}} \u5DF2\u662F\u6700\u65B0\uFF01",
1720
- "Failed to check for updates. Please check your network or registry configuration.": "\u6AA2\u67E5\u66F4\u65B0\u5931\u6557\u3002\u8ACB\u6AA2\u67E5\u7DB2\u8DEF\u6216 registry \u8A2D\u5B9A\u3002",
1720
+ "Failed to check for updates ({{reason}}). Please check your network or registry configuration.": "\u6AA2\u67E5\u66F4\u65B0\u5931\u6557\uFF08{{reason}}\uFF09\u3002\u8ACB\u6AA2\u67E5\u7DB2\u8DEF\u6216 registry \u8A2D\u5B9A\u3002",
1721
+ "Update check skipped ({{reason}}) \u2014 run /update to retry.": "\u5DF2\u7565\u904E\u66F4\u65B0\u6AA2\u67E5\uFF08{{reason}}\uFF09\u2014 \u53EF\u57F7\u884C /update \u91CD\u8A66\u3002",
1722
+ "registry did not respond within {{seconds}}s": "registry \u5728 {{seconds}} \u79D2\u5167\u672A\u56DE\u61C9",
1723
+ "registry unreachable": "registry \u7121\u6CD5\u9023\u7DDA",
1724
+ "registry error": "registry \u932F\u8AA4",
1721
1725
  "Unable to check for updates: {{reason}}": "\u7121\u6CD5\u6AA2\u67E5\u66F4\u65B0\uFF1A{{reason}}",
1722
1726
  "Update successful! The new version will be used on your next run.": "\u66F4\u65B0\u6210\u529F\uFF01\u65B0\u7248\u672C\u5C07\u5728\u4E0B\u6B21\u57F7\u884C\u6642\u751F\u6548\u3002",
1723
1727
  "Update downloaded. It will be applied after you exit this session.": "\u66F4\u65B0\u5DF2\u4E0B\u8F09\u3002\u5C07\u5728\u7D50\u675F\u76EE\u524D\u5DE5\u4F5C\u968E\u6BB5\u5F8C\u5957\u7528\u3002",
@@ -1884,7 +1884,11 @@ var zh_default = {
1884
1884
  "Qwen Code update available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u53EF\u7528\u66F4\u65B0\uFF01{{current}} \u2192 {{latest}}",
1885
1885
  "A new version of Qwen Code is available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u65B0\u7248\u672C\u53EF\u7528\uFF01{{current}} \u2192 {{latest}}",
1886
1886
  "Qwen Code {{version}} is up to date!": "Qwen Code {{version}} \u5DF2\u662F\u6700\u65B0\uFF01",
1887
- "Failed to check for updates. Please check your network or registry configuration.": "\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216 registry \u914D\u7F6E\u3002",
1887
+ "Failed to check for updates ({{reason}}). Please check your network or registry configuration.": "\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{{reason}}\uFF09\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216 registry \u914D\u7F6E\u3002",
1888
+ "Update check skipped ({{reason}}) \u2014 run /update to retry.": "\u5DF2\u8DF3\u8FC7\u66F4\u65B0\u68C0\u67E5\uFF08{{reason}}\uFF09\u2014 \u53EF\u8FD0\u884C /update \u91CD\u8BD5\u3002",
1889
+ "registry did not respond within {{seconds}}s": "registry \u5728 {{seconds}} \u79D2\u5185\u672A\u54CD\u5E94",
1890
+ "registry unreachable": "registry \u65E0\u6CD5\u8FDE\u63A5",
1891
+ "registry error": "registry \u9519\u8BEF",
1888
1892
  "Unable to check for updates: {{reason}}": "\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\uFF1A{{reason}}",
1889
1893
  "Update successful! The new version will be used on your next run.": "\u66F4\u65B0\u6210\u529F\uFF01\u65B0\u7248\u672C\u5C06\u5728\u4E0B\u6B21\u8FD0\u884C\u65F6\u751F\u6548\u3002",
1890
1894
  "Update downloaded. It will be applied after you exit this session.": "\u66F4\u65B0\u5DF2\u4E0B\u8F7D\u3002\u5C06\u5728\u9000\u51FA\u5F53\u524D\u4F1A\u8BDD\u540E\u5E94\u7528\u3002",
package/cli-entry.js CHANGED
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  * Production bin entry wrapper.
11
11
  *
12
- * For most commands: launches dist/cli.js with --expose-gc so that
12
+ * For most commands: launches the bundled CLI with --expose-gc so that
13
13
  * global.gc() is available for the memory-pressure monitor's critical-tier
14
14
  * cleanup.
15
15
  *
@@ -60,13 +60,150 @@ if (isTopLevelVersion && process.env['CLI_VERSION']) {
60
60
  process.exit(0);
61
61
  }
62
62
 
63
- const { existsSync, realpathSync } = await import('node:fs');
63
+ const { existsSync, readFileSync, realpathSync, statSync } = await import(
64
+ 'node:fs'
65
+ );
66
+ const { createHash } = await import('node:crypto');
67
+ const { homedir, tmpdir } = await import('node:os');
68
+ const { parseEnv } = await import('node:util');
64
69
  const { fileURLToPath, pathToFileURL } = await import('node:url');
65
70
  const { delimiter, dirname, join, parse, resolve, sep } = await import(
66
71
  'node:path'
67
72
  );
68
73
 
69
74
  const __dirname = dirname(fileURLToPath(import.meta.url));
75
+ const currentEntryPath = realpathSync(fileURLToPath(import.meta.url));
76
+
77
+ function getHomeDir() {
78
+ try {
79
+ return homedir() || tmpdir();
80
+ } catch {
81
+ return tmpdir();
82
+ }
83
+ }
84
+
85
+ function resolveQwenHome() {
86
+ const configured = process.env['QWEN_HOME'];
87
+ if (!configured) return join(getHomeDir(), '.qwen');
88
+ if (configured === '~') return getHomeDir();
89
+ if (configured.startsWith('~/') || configured.startsWith('~\\')) {
90
+ return join(
91
+ getHomeDir(),
92
+ ...configured
93
+ .slice(2)
94
+ .split(/[/\\]+/)
95
+ .filter(Boolean),
96
+ );
97
+ }
98
+ return resolve(configured);
99
+ }
100
+
101
+ function preResolveQwenHome() {
102
+ if (Object.hasOwn(process.env, 'QWEN_HOME')) return;
103
+ const home = getHomeDir();
104
+ for (const candidate of [join(home, '.qwen', '.env'), join(home, '.env')]) {
105
+ try {
106
+ const source = readFileSync(candidate, 'utf8')
107
+ .replace(/^\uFEFF/, '')
108
+ .replace(/^(\s*(?:export\s+)?QWEN_HOME):[^\S\r\n]+/gm, '$1=');
109
+ const configured = parseEnv(source)['QWEN_HOME'];
110
+ if (configured) {
111
+ process.env['QWEN_HOME'] = configured;
112
+ return;
113
+ }
114
+ } catch {
115
+ // Match the CLI's quiet handling of missing or invalid home env files.
116
+ }
117
+ }
118
+ }
119
+
120
+ delete process.env['QWEN_CODE_MANAGED_NPM_UPDATE'];
121
+ preResolveQwenHome();
122
+
123
+ function getManagedNpmPin() {
124
+ try {
125
+ const pin = JSON.parse(process.env['QWEN_CODE_MANAGED_NPM_PIN'] ?? '');
126
+ if (pin.bootstrap !== currentEntryPath) return undefined;
127
+ if (
128
+ typeof pin.updateRoot !== 'string' ||
129
+ resolve(pin.updateRoot) !== pin.updateRoot
130
+ ) {
131
+ return undefined;
132
+ }
133
+ if (pin.version === null) {
134
+ return { version: null, updateRoot: pin.updateRoot };
135
+ }
136
+ return typeof pin.version === 'string' &&
137
+ /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(
138
+ pin.version,
139
+ )
140
+ ? { version: pin.version, updateRoot: pin.updateRoot }
141
+ : undefined;
142
+ } catch {
143
+ return undefined;
144
+ }
145
+ }
146
+
147
+ const managedNpmPin = getManagedNpmPin();
148
+ const managedNpmUpdateRoot =
149
+ managedNpmPin?.updateRoot ?? join(resolveQwenHome(), 'updates', 'npm');
150
+
151
+ function getManagedNpmInstallation() {
152
+ try {
153
+ if (managedNpmPin?.version === null) return undefined;
154
+ const launcherRoot = join(
155
+ managedNpmUpdateRoot,
156
+ createHash('sha256').update(currentEntryPath).digest('hex').slice(0, 16),
157
+ );
158
+ let version = managedNpmPin?.version;
159
+ if (version === undefined) {
160
+ const active = JSON.parse(
161
+ readFileSync(join(launcherRoot, 'active.json'), 'utf8'),
162
+ );
163
+ const basePackageJsonPath = [
164
+ join(__dirname, 'package.json'),
165
+ join(__dirname, '..', 'package.json'),
166
+ ].find((candidate) => existsSync(candidate));
167
+ if (!basePackageJsonPath) return undefined;
168
+ const basePackage = JSON.parse(readFileSync(basePackageJsonPath, 'utf8'));
169
+ if (
170
+ typeof active.version !== 'string' ||
171
+ !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(
172
+ active.version,
173
+ ) ||
174
+ typeof active.bootstrap !== 'string' ||
175
+ realpathSync(active.bootstrap) !== currentEntryPath ||
176
+ active.baseVersion !== basePackage.version ||
177
+ active.bootstrapCtimeMs !== statSync(currentEntryPath).ctimeMs
178
+ ) {
179
+ return undefined;
180
+ }
181
+ version = active.version;
182
+ }
183
+ const packageRoot = join(
184
+ launcherRoot,
185
+ 'versions',
186
+ version,
187
+ 'node_modules',
188
+ '@qwen-code',
189
+ 'qwen-code',
190
+ );
191
+ const packageJsonPath = join(packageRoot, 'package.json');
192
+ const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
193
+ const cliPath = join(packageRoot, 'cli.js');
194
+ if (
195
+ pkg.name !== '@qwen-code/qwen-code' ||
196
+ pkg.version !== version ||
197
+ !existsSync(cliPath)
198
+ ) {
199
+ return undefined;
200
+ }
201
+ process.env['QWEN_CODE_MANAGED_NPM_UPDATE'] = 'true';
202
+ return { cliPath, packageJsonPath, version };
203
+ } catch {
204
+ return undefined;
205
+ }
206
+ }
70
207
 
71
208
  // The entry a subprocess should call to reach THIS build.
72
209
  //
@@ -81,9 +218,9 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
81
218
  // Assignment, not `||=`: an inherited value is another session's CLI — an outer
82
219
  // qwen shelling out to this one — and honouring it re-creates the exact skew above,
83
220
  // one level up. Each entry stamps itself, so nested sessions each call their own
84
- // build. Nothing downstream overwrites this: the spawn below runs dist/cli.js,
85
- // which never re-executes this wrapper, and the post-update relaunch re-enters
86
- // through the launcher's own wrapper which stamps the updated entry, as it must.
221
+ // build. The managed-version pin keeps nested calls on the running session's build
222
+ // even if a background update changes the active pointer. A post-update relaunch
223
+ // clears that pin so the launcher's wrapper selects the newly active build.
87
224
  //
88
225
  // One exception, and it points the SAME way: the standalone package launches this
89
226
  // file through a shim (`bin/qwen`) that selects the BUNDLED Node — the host may
@@ -98,19 +235,33 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
98
235
  // wearing this one's stamp.
99
236
  const standaloneShim = process.env['QWEN_CODE_LAUNCHER_PATH'];
100
237
  delete process.env['QWEN_CODE_LAUNCHER_PATH'];
101
- process.env['QWEN_CODE_CLI'] =
102
- standaloneShim && existsSync(standaloneShim)
103
- ? standaloneShim
104
- : fileURLToPath(import.meta.url);
105
238
 
239
+ const managedNpmInstallation = getManagedNpmInstallation();
240
+ const validStandaloneShim =
241
+ standaloneShim && existsSync(standaloneShim) ? standaloneShim : undefined;
242
+ process.env['QWEN_CODE_CLI'] =
243
+ validStandaloneShim ?? fileURLToPath(import.meta.url);
244
+ if (validStandaloneShim) {
245
+ delete process.env['QWEN_CODE_MANAGED_NPM_PIN'];
246
+ delete process.env['QWEN_CODE_MANAGED_NPM_ROOT'];
247
+ } else {
248
+ process.env['QWEN_CODE_MANAGED_NPM_ROOT'] = managedNpmUpdateRoot;
249
+ process.env['QWEN_CODE_MANAGED_NPM_PIN'] = JSON.stringify({
250
+ bootstrap: currentEntryPath,
251
+ version: managedNpmInstallation?.version ?? null,
252
+ updateRoot: managedNpmUpdateRoot,
253
+ });
254
+ }
106
255
  const cliPathCandidates = [
256
+ managedNpmInstallation?.cliPath,
107
257
  join(__dirname, 'cli.js'),
108
258
  join(__dirname, '..', 'dist', 'cli.js'),
109
- ];
259
+ ].filter(Boolean);
110
260
  const packageJsonPathCandidates = [
261
+ managedNpmInstallation?.packageJsonPath,
111
262
  join(__dirname, 'package.json'),
112
263
  join(__dirname, '..', 'package.json'),
113
- ];
264
+ ].filter(Boolean);
114
265
  const cliPath =
115
266
  cliPathCandidates.find((candidate) => existsSync(candidate)) ??
116
267
  cliPathCandidates[0];
@@ -193,7 +344,7 @@ if (isInProcessFastPath()) {
193
344
  } else {
194
345
  if (!launcher) {
195
346
  process.stderr.write(
196
- 'Update installed. Restart Qwen Code to use the new version.\n',
347
+ 'Update successful! The new version will be used on your next run.\n',
197
348
  );
198
349
  process.exit(0);
199
350
  }
@@ -202,6 +353,7 @@ if (isInProcessFastPath()) {
202
353
  QWEN_CODE_RELAUNCH_ARGS: JSON.stringify(cliArgs),
203
354
  QWEN_CODE_SKIP_UPDATE_CHECK_ONCE: 'true',
204
355
  };
356
+ delete relaunchEnv['QWEN_CODE_MANAGED_NPM_PIN'];
205
357
  const relaunchResult =
206
358
  process.platform === 'win32' && launcher.endsWith('.cmd')
207
359
  ? spawnSync(
package/cli.js CHANGED
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  initCpuProfiler
5
- } from "./chunks/chunk-VT3KBCIU.js";
6
- import "./chunks/chunk-P5OX37TK.js";
5
+ } from "./chunks/chunk-DPRMI6NU.js";
7
6
  import {
8
7
  initStartupProfiler
9
8
  } from "./chunks/chunk-QSWDGAIC.js";
10
9
  import {
11
10
  normalizeServeFastPathArgv
12
11
  } from "./chunks/chunk-Q7YDKOGY.js";
12
+ import "./chunks/chunk-D6ZOVZLF.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunks/chunk-5O2XNYP6.js";
@@ -152,7 +152,7 @@ async function buildTopLevelHelpParser() {
152
152
  const { default: yargs } = await import("./chunks/yargs-6H2AUULL.js");
153
153
  const parser = yargs([]).scriptName("qwen").usage(
154
154
  "Usage: qwen [options] [command]\n\nQwen Code - Launch an interactive CLI, use -p/--prompt for non-interactive mode"
155
- ).version("0.20.1-jobbench-claude-prompt.0").alias("v", "version").help().alias("h", "help").strict().demandCommand(0, 0);
155
+ ).version("0.20.1").alias("v", "version").help().alias("h", "help").strict().demandCommand(0, 0);
156
156
  for (const [option, config] of TOP_LEVEL_HELP_OPTIONS) {
157
157
  parser.option(option, config);
158
158
  }
@@ -225,11 +225,11 @@ function printMcpHelp() {
225
225
  }
226
226
  __name(printMcpHelp, "printMcpHelp");
227
227
  async function printBootstrapVersion() {
228
- if ("0.20.1-jobbench-claude-prompt.0") {
229
- writeStdoutLine("0.20.1-jobbench-claude-prompt.0");
228
+ if ("0.20.1") {
229
+ writeStdoutLine("0.20.1");
230
230
  return;
231
231
  }
232
- const { getCliVersion } = await import("./chunks/version-PLKW23RX.js");
232
+ const { getCliVersion } = await import("./chunks/version-PN7WYXHP.js");
233
233
  writeStdoutLine(await getCliVersion());
234
234
  }
235
235
  __name(printBootstrapVersion, "printBootstrapVersion");
@@ -242,7 +242,7 @@ async function runMcpFastPath(rawArgv) {
242
242
  }
243
243
  const [{ default: yargsInstance }, { mcpCommand }] = await Promise.all([
244
244
  import("./chunks/yargs-6H2AUULL.js"),
245
- import("./chunks/mcp-62XOYOXZ.js")
245
+ import("./chunks/mcp-VLHDCKAN.js")
246
246
  ]);
247
247
  const parser = yargsInstance([]).scriptName("qwen").command(mcpCommand).version(false).help().alias("h", "help").strict().strictCommands().demandCommand(1, "You need at least one command before continuing.").fail((message, error, yargs) => {
248
248
  writeStderrLine(message || error?.message || "Unknown argument error");
@@ -293,6 +293,13 @@ async function parseYargsCommand(parser, argv) {
293
293
  }
294
294
  __name(parseYargsCommand, "parseYargsCommand");
295
295
  async function runCliEntry(rawArgv = process.argv.slice(2)) {
296
+ const managedUpdateVersion = process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
297
+ if (managedUpdateVersion) {
298
+ delete process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
299
+ const { installManagedNpmUpdate } = await import("./chunks/managed-npm-update-PG3463CJ.js");
300
+ await installManagedNpmUpdate(managedUpdateVersion);
301
+ return;
302
+ }
296
303
  const argv = normalizeServeFastPathArgv(rawArgv);
297
304
  const route = resolveBootstrapRoute(argv);
298
305
  if (route === "version") {
@@ -300,7 +307,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
300
307
  return;
301
308
  }
302
309
  if (route === "serve") {
303
- const { tryRunServeFastPath } = await import("./chunks/fast-path-F5UWH7GI.js");
310
+ const { tryRunServeFastPath } = await import("./chunks/fast-path-EVBVIE2U.js");
304
311
  if (await tryRunServeFastPath(argv)) {
305
312
  return;
306
313
  }
@@ -316,7 +323,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
316
323
  ) ? await import("./chunks/acp-startup-profiler-N3RHHXJ3.js") : void 0;
317
324
  acpStartupProfiler?.initializeAcpStartupProfiler();
318
325
  acpStartupProfiler?.markAcpStartup("geminiImportStart");
319
- const { main } = await import("./chunks/gemini-2QJRGIKD.js");
326
+ const { main } = await import("./chunks/gemini-APQ76464.js");
320
327
  acpStartupProfiler?.markAcpStartup("geminiImportEnd");
321
328
  await main();
322
329
  }
@@ -346,8 +353,8 @@ function isExpectedPtyRaceError(error) {
346
353
  __name(isExpectedPtyRaceError, "isExpectedPtyRaceError");
347
354
  async function handleCriticalError(error) {
348
355
  const [{ FatalError }, { AlreadyReportedError }] = await Promise.all([
349
- import("./chunks/src-VJO75DQQ.js"),
350
- import("./chunks/errors-NZ6JOKJB.js")
356
+ import("./chunks/src-FFXGUTNL.js"),
357
+ import("./chunks/errors-YSVGBLBU.js")
351
358
  ]);
352
359
  if (error instanceof FatalError) {
353
360
  let errorMessage = error.message;