@qwen-code/qwen-code 0.19.7 → 0.19.8-nightly.20260710.205430235

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 (292) hide show
  1. package/bundled/qc-helper/SKILL.md +1 -0
  2. package/bundled/qc-helper/docs/configuration/auth.md +40 -55
  3. package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
  4. package/bundled/qc-helper/docs/configuration/settings.md +43 -36
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/overview.md +20 -12
  7. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
  8. package/bundled/qc-helper/docs/features/code-review.md +2 -1
  9. package/bundled/qc-helper/docs/features/commands.md +39 -38
  10. package/bundled/qc-helper/docs/features/computer-use.md +77 -0
  11. package/bundled/qc-helper/docs/features/hooks.md +36 -34
  12. package/bundled/qc-helper/docs/features/memory.md +1 -1
  13. package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
  14. package/bundled/qc-helper/docs/qwen-serve.md +22 -12
  15. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  16. package/bundled/review/DESIGN.md +14 -13
  17. package/bundled/review/SKILL.md +38 -61
  18. package/chunks/{MaxSizedBox-XY5LIO5O.js → MaxSizedBox-LOFYQFYJ.js} +13 -14
  19. package/chunks/{StandaloneSessionPicker-APISIRJZ.js → StandaloneSessionPicker-U5OQBGEB.js} +31 -29
  20. package/chunks/{acpAgent-MMOSC2YA.js → acpAgent-SDIFRIED.js} +637 -131
  21. package/chunks/{agent-TKIBLLQT.js → agent-JIBBVHNQ.js} +10 -10
  22. package/chunks/{agent-headless-VLX4C7KX.js → agent-headless-6LGZYJYU.js} +10 -10
  23. package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-55REPTTF.js} +30 -3
  24. package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-EIN46DPM.js} +1 -1
  25. package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-6YX6ZRX7.js} +1 -1
  26. package/chunks/{bridge-BCU73DZO.js → bridge-HVPFYNM4.js} +17 -16
  27. package/chunks/{ca-HCMB2I54.js → ca-MULEGDVS.js} +89 -5
  28. package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-OPXXT4JK.js} +20 -3
  29. package/chunks/{chunk-DGHJTO2K.js → chunk-2AF26HVM.js} +31 -2
  30. package/chunks/{chunk-3B26UVCX.js → chunk-2GUVUHJY.js} +6 -4
  31. package/chunks/{chunk-FV7425LN.js → chunk-2SZOMGOR.js} +4 -1
  32. package/chunks/{chunk-CNSF3WO5.js → chunk-32KS5XSX.js} +3 -3
  33. package/chunks/{chunk-4UCTWSTP.js → chunk-34UUM3IN.js} +1 -1
  34. package/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
  35. package/chunks/{chunk-MIG5SQNL.js → chunk-4CSVIZLT.js} +4 -4
  36. package/chunks/{chunk-GD236YPV.js → chunk-4ONWIT5C.js} +1 -1
  37. package/chunks/{chunk-4ZJIPVPB.js → chunk-4XK7TNBP.js} +8 -8
  38. package/chunks/{chunk-I4A4K72C.js → chunk-5F2H3PXG.js} +446 -232
  39. package/chunks/chunk-5HOF2K5U.js +19 -0
  40. package/chunks/{chunk-GMOWQOQQ.js → chunk-5ZVIYNLN.js} +228 -36
  41. package/chunks/chunk-6O6Z2I5Q.js +292 -0
  42. package/chunks/{chunk-RYFZCUJO.js → chunk-6QKT5VNZ.js} +14 -6
  43. package/chunks/{chunk-SD4N3QJ2.js → chunk-6ZPSVWLF.js} +61 -17
  44. package/chunks/{chunk-X265R5C6.js → chunk-7YGSDQ5J.js} +2 -2
  45. package/chunks/{chunk-PRDFOIZF.js → chunk-A6KEUFJO.js} +32 -5
  46. package/chunks/{chunk-OWVIH4HY.js → chunk-B5OAMPJ5.js} +389 -87
  47. package/chunks/{chunk-ME3YSROJ.js → chunk-CV2AT2WJ.js} +22 -10
  48. package/chunks/{chunk-U4FRHCLA.js → chunk-DDKUYKHA.js} +1912 -201
  49. package/chunks/{chunk-YDSYD7UI.js → chunk-E3SA2LY4.js} +2 -2
  50. package/chunks/{chunk-6IAWPIQ6.js → chunk-EDM5O3SX.js} +2 -2
  51. package/chunks/{chunk-CISB3IQF.js → chunk-FONJQQWI.js} +65 -6
  52. package/chunks/{chunk-FRFFNYUY.js → chunk-G3WIMNL4.js} +3 -3
  53. package/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
  54. package/chunks/chunk-GLE2YUPU.js +34 -0
  55. package/chunks/{chunk-MJI36HER.js → chunk-GOTMC3BX.js} +1 -1
  56. package/chunks/{chunk-RFIL6REB.js → chunk-GRB4QSBD.js} +168 -31
  57. package/chunks/chunk-GVVY7GSP.js +38 -0
  58. package/chunks/{chunk-7JGISHHZ.js → chunk-HDEUQRAR.js} +14 -156
  59. package/chunks/{chunk-NZEGNV4V.js → chunk-HPRI22FZ.js} +6 -6
  60. package/chunks/{chunk-STAZRKOT.js → chunk-I34IHZFJ.js} +117 -459
  61. package/chunks/{chunk-JF7DFPQ5.js → chunk-I3MBKL6Z.js} +12 -2
  62. package/chunks/{chunk-DNV4FSN5.js → chunk-I5XN6KDI.js} +21 -4
  63. package/chunks/{chunk-VZ7HY3YU.js → chunk-IAMRWMFU.js} +1 -1
  64. package/chunks/{chunk-44NROQYV.js → chunk-JOQMY62N.js} +1 -1
  65. package/chunks/{chunk-VQWAZSXN.js → chunk-JW4IKIZ2.js} +57 -35
  66. package/chunks/{chunk-SAIILPQ3.js → chunk-KJMYXFUR.js} +3 -1
  67. package/chunks/{chunk-AFOLR6YL.js → chunk-KQ6MKCFE.js} +102 -16
  68. package/chunks/{chunk-X3YGAX7V.js → chunk-KS2FRTYI.js} +2 -0
  69. package/chunks/{chunk-IUE7YWC3.js → chunk-LE7EF36E.js} +7 -7
  70. package/chunks/{chunk-B4U2M63D.js → chunk-LRY7HD3Q.js} +2101 -11
  71. package/chunks/{chunk-PUQLHSQ2.js → chunk-ME7E6WZB.js} +6 -8
  72. package/chunks/{chunk-LEIJKM7Q.js → chunk-MEK7ZRJ3.js} +1 -1
  73. package/chunks/{chunk-AJBEAUIS.js → chunk-MG2TNCRX.js} +4 -3
  74. package/chunks/{chunk-GL5TV7B5.js → chunk-MSMQURDV.js} +21 -5
  75. package/chunks/{chunk-6BN7NZ5Z.js → chunk-NXDJLKKX.js} +4 -6
  76. package/chunks/{chunk-FEJ2FZ3U.js → chunk-NY2ZOFMM.js} +1 -1
  77. package/chunks/{chunk-QZF5U5KA.js → chunk-NY5BE643.js} +8 -8
  78. package/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
  79. package/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
  80. package/chunks/chunk-PCWSPWXZ.js +168 -0
  81. package/chunks/{chunk-XPJH4PKR.js → chunk-PJ74K3DH.js} +1 -1
  82. package/chunks/{chunk-FTFXDZYI.js → chunk-PW7VWRLX.js} +45 -29
  83. package/chunks/chunk-R3SLDK6Y.js +468 -0
  84. package/chunks/{chunk-4O344UEE.js → chunk-SDJOZOYY.js} +38 -18
  85. package/chunks/{chunk-ALZ75L2X.js → chunk-SMYIBRAA.js} +412 -376
  86. package/chunks/{chunk-CCGOFQV3.js → chunk-SS5P6JM6.js} +6 -5
  87. package/chunks/{chunk-AIY5UTFI.js → chunk-T3XHYGMG.js} +925 -2872
  88. package/chunks/{chunk-Q6OEPOOC.js → chunk-TB6GWNV4.js} +1 -1
  89. package/chunks/{chunk-24XYI5EI.js → chunk-TERKDCOZ.js} +3 -3
  90. package/chunks/chunk-TVO5C767.js +159 -0
  91. package/chunks/{chunk-TBAZMRW3.js → chunk-TVW53EK7.js} +1 -1
  92. package/chunks/chunk-TX5QZYK6.js +296 -0
  93. package/chunks/{chunk-JD33UY7E.js → chunk-TZRVTPJ6.js} +15 -9
  94. package/chunks/{chunk-65CFHNSE.js → chunk-UAFB2DNB.js} +59 -59
  95. package/chunks/{chunk-QAKFYMJI.js → chunk-UOXLB2LY.js} +152 -17
  96. package/chunks/chunk-V35MD7KN.js +13 -0
  97. package/chunks/{chunk-XSAFNANZ.js → chunk-VWDJHVXM.js} +12 -12
  98. package/chunks/{chunk-XISQIIT7.js → chunk-W77ZLCSX.js} +1 -1
  99. package/chunks/{chunk-BWVQN2HV.js → chunk-WTEIUA2V.js} +4 -4
  100. package/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
  101. package/chunks/{chunk-HJ3GX3Y3.js → chunk-XZVUZSDG.js} +25 -11
  102. package/chunks/{chunk-ADZG46HR.js → chunk-YHGCTQG3.js} +1 -1
  103. package/chunks/{chunk-2NPS2UDH.js → chunk-YUNPEB3Q.js} +478 -43
  104. package/chunks/chunk-Z3I3QJK3.js +47 -0
  105. package/chunks/{chunk-P7I3D7FM.js → chunk-Z466FBSA.js} +1 -1
  106. package/chunks/{chunk-YEGT55NW.js → chunk-ZDAZSR2O.js} +3009 -1220
  107. package/chunks/{chunk-VEB3NYSO.js → chunk-ZJQBTFJ6.js} +6 -1
  108. package/chunks/chunk-ZL5HN75Q.js +61 -0
  109. package/chunks/{computer-use-X4KUU3NM.js → computer-use-IW5XBECT.js} +10 -10
  110. package/chunks/{contextCommand-LAYJZF7H.js → contextCommand-4QPLK2SH.js} +14 -14
  111. package/chunks/create-sub-session-7JK3EYWA.js +212 -0
  112. package/chunks/create-sub-session-EVYZYAE3.js +364 -0
  113. package/chunks/{cron-create-JSXEIPVS.js → cron-create-2CCO2PW6.js} +2 -2
  114. package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-ETVTP5IV.js} +2 -2
  115. package/chunks/{cron-list-D4ZX4IOE.js → cron-list-FS3KWOY5.js} +2 -2
  116. package/chunks/{daemon-F3I2RXP6.js → daemon-NNUYIBWA.js} +461 -0
  117. package/chunks/{daemon-status-provider-XSAFKVDS.js → daemon-status-provider-3EPG6BXX.js} +21 -19
  118. package/chunks/{de-PLLFDERI.js → de-QRG6J2CM.js} +89 -5
  119. package/chunks/{dist-YTRKAVUB.js → dist-3EIIFOJV.js} +1 -1
  120. package/chunks/{dist-PKFTNUHO.js → dist-7F5GWZDZ.js} +2 -1
  121. package/chunks/{dist-FQ5WRJPL.js → dist-CBJ7OJ5R.js} +2 -2
  122. package/chunks/{dist-OT7G2WNM.js → dist-LIFJ2YAI.js} +1 -1
  123. package/chunks/{dist-573HNSVO.js → dist-OKXOQ63L.js} +2 -1
  124. package/chunks/{dist-IMFFBMAT.js → dist-SU5LY5R4.js} +3 -1
  125. package/chunks/{earlyInputCapture-AERYYGXE.js → earlyInputCapture-HP5XAS7A.js} +10 -10
  126. package/chunks/{edit-WZTZDGCI.js → edit-MDICC6KH.js} +11 -11
  127. package/chunks/{en-GA2RMXY5.js → en-HF3KFWZG.js} +91 -5
  128. package/chunks/{enter-worktree-DEPXBJEL.js → enter-worktree-JWTRNEN4.js} +10 -10
  129. package/chunks/{enterPlanMode-JFGXZHHJ.js → enterPlanMode-GMRZMTBQ.js} +10 -10
  130. package/chunks/environment-2CJAFOFN.js +88 -0
  131. package/chunks/{errors-GMZL4QV7.js → errors-UZOVFD2U.js} +13 -13
  132. package/chunks/{exit-worktree-Y7XBK3VV.js → exit-worktree-QQGEG343.js} +10 -10
  133. package/chunks/{exitPlanMode-WQQER65F.js → exitPlanMode-YK2JVAAB.js} +10 -10
  134. package/chunks/{fast-path-W2U6XDNO.js → fast-path-6SD4JNQW.js} +12 -3
  135. package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-RAQGCIT7.js} +3 -2
  136. package/chunks/{fr-GWNQG4XH.js → fr-RSCO6HHD.js} +89 -5
  137. package/chunks/{gemini-T4WX6SRW.js → gemini-TFQXPUZB.js} +436 -140
  138. package/chunks/{geminiContentGenerator-MKQACXEJ.js → geminiContentGenerator-LJ2BNXHX.js} +1 -1
  139. package/chunks/{glob-4KKSHZDF.js → glob-3IJ6JR5W.js} +10 -10
  140. package/chunks/{grep-GHRYXSLZ.js → grep-UFZ2RFQZ.js} +10 -10
  141. package/chunks/{handleAutoUpdate-HN7ZOSXY.js → handleAutoUpdate-TEZC5ZIR.js} +17 -13
  142. package/chunks/i18n-5QEODTJV.js +84 -0
  143. package/chunks/{initializer-SRN3IM42.js → initializer-222MPCLQ.js} +18 -16
  144. package/chunks/installationInfo-OZ62OHZ2.js +65 -0
  145. package/chunks/{ja-2HOTA47X.js → ja-RRFGG2DC.js} +89 -5
  146. package/chunks/{list-INTVXUPA.js → list-BN5VBIIE.js} +20 -18
  147. package/chunks/{loadedSettingsAdapter-QVHHQPGM.js → loadedSettingsAdapter-EHTUJRFB.js} +18 -16
  148. package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-SR2KWT4B.js} +3 -3
  149. package/chunks/{ls-L654WOAT.js → ls-RUBQK5Q2.js} +2 -2
  150. package/chunks/{lsp-M35KE54Y.js → lsp-DUTVY2ZA.js} +3 -5
  151. package/chunks/{mcp-7V4T46RG.js → mcp-OPGHD26Y.js} +18 -16
  152. package/chunks/{monitor-464OY2UE.js → monitor-WXBDVYYV.js} +10 -10
  153. package/chunks/{nonInteractiveCli-LJEEODU2.js → nonInteractiveCli-CWIBGJ4U.js} +54 -49
  154. package/chunks/{notebook-edit-BLJYCNDO.js → notebook-edit-T7P7M73F.js} +11 -11
  155. package/chunks/{openaiContentGenerator-PFF6HYB2.js → openaiContentGenerator-OES264C3.js} +7 -7
  156. package/chunks/{pidfile-LIBUENIV.js → pidfile-LJ3NLS2P.js} +10 -10
  157. package/chunks/{pt-2THT3YHA.js → pt-D4CG46JM.js} +89 -5
  158. package/chunks/{qwenContentGenerator-SUUHZ6CR.js → qwenContentGenerator-QJ67LAJ5.js} +12 -12
  159. package/chunks/{read-file-L7TBQVX7.js → read-file-KZD7TLU7.js} +5 -5
  160. package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-Q56IMYOH.js} +1 -1
  161. package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-GZ5D5HZX.js} +4 -4
  162. package/chunks/{ripGrep-CKKX3GRB.js → ripGrep-KUJLX75U.js} +10 -10
  163. package/chunks/{ru-Z67YJHBG.js → ru-O2QUEL22.js} +89 -5
  164. package/chunks/{run-qwen-serve-5OKADVLE.js → run-qwen-serve-M52KVRGI.js} +664 -153
  165. package/chunks/{scheduler-ZRW3AIDU.js → scheduler-FFATTAYZ.js} +10 -10
  166. package/chunks/{send-message-OA6MV4EU.js → send-message-HAGK3VTV.js} +2 -2
  167. package/chunks/{serve-36WS32W6.js → serve-B5S32524.js} +21 -18
  168. package/chunks/{server-M372UENX.js → server-6HK5FJMR.js} +3301 -665
  169. package/chunks/{session-F5KSNP2N.js → session-3WB76VTQ.js} +55 -50
  170. package/chunks/{settings-WFLNS3WT.js → settings-W3IX7NHK.js} +27 -23
  171. package/chunks/{shell-DEDSWN56.js → shell-HZIU2ZG7.js} +10 -10
  172. package/chunks/{skill-A2TL2NPC.js → skill-34OUFB65.js} +5 -5
  173. package/chunks/{spawnChannel-RQHUWTCL.js → spawnChannel-FTZJ3I5O.js} +12 -12
  174. package/chunks/{src-XKZMNHXS.js → src-NELBIIGI.js} +48 -10
  175. package/chunks/standalone-update-LICI2VSK.js +79 -0
  176. package/chunks/{startInteractiveUI-REKSTOHU.js → startInteractiveUI-LZEV5YI2.js} +2203 -1764
  177. package/chunks/stdioHelpers-CA7MG65Z.js +14 -0
  178. package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-XFFJVCGV.js} +2 -2
  179. package/chunks/{task-create-RPFZNB4B.js → task-create-VINUSVBF.js} +3 -3
  180. package/chunks/{task-list-TGGJX7EA.js → task-list-YZ2AWQEG.js} +1 -1
  181. package/chunks/{task-stop-W7NGTMYQ.js → task-stop-PEXPKUW3.js} +1 -1
  182. package/chunks/{task-update-5WUG5MVQ.js → task-update-BHIX57YH.js} +3 -3
  183. package/chunks/{team-create-TBQVWAG7.js → team-create-2JS2OYSF.js} +10 -10
  184. package/chunks/{team-delete-UHQQ2QQX.js → team-delete-2OHXSBVS.js} +1 -1
  185. package/chunks/{team-plan-approval-FZPGUSHJ.js → team-plan-approval-PHLGYUY7.js} +10 -10
  186. package/chunks/{theme-manager-DQZVNSOC.js → theme-manager-UYXLX37P.js} +10 -10
  187. package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-7Q4ELT4F.js} +1 -1
  188. package/chunks/{tool-search-FDQ3SLNJ.js → tool-search-2MWA3GWE.js} +6 -6
  189. package/chunks/total-session-admission-PRZK35X4.js +72 -0
  190. package/chunks/{trustedFolders-Z475EIHL.js → trustedFolders-IT4JBNPG.js} +12 -12
  191. package/chunks/{updateCheck-E2ZX7RL7.js → updateCheck-X3ZWDO3Z.js} +17 -13
  192. package/chunks/updateEventEmitter-NXWTRHXY.js +10 -0
  193. package/chunks/{validateNonInterActiveAuth-O4ECBHQL.js → validateNonInterActiveAuth-IAOL7CM3.js} +51 -45
  194. package/chunks/{version-CEDD6ZZR.js → version-25QF6A5H.js} +1 -1
  195. package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-I7FOWHGA.js} +2 -2
  196. package/chunks/{workflow-CQQ4J4I6.js → workflow-LZZ5U3IT.js} +11 -11
  197. package/chunks/{workspace-providers-status-MVYXMYDG.js → workspace-providers-status-7DTOAWEL.js} +21 -18
  198. package/chunks/workspace-registry-BBIPESIZ.js +76 -0
  199. package/chunks/{workspace-service-OMBR6ZLG.js → workspace-service-SY3P3FUY.js} +25 -23
  200. package/chunks/{workspace-skills-status-IMMQ7CAY.js → workspace-skills-status-GTT2A4WN.js} +20 -18
  201. package/chunks/{write-file-VWGY7AJP.js → write-file-M6IHNW3V.js} +11 -11
  202. package/chunks/{zh-7XVVRTDH.js → zh-K2EH6BDD.js} +91 -5
  203. package/chunks/{zh-TW-DPH554OG.js → zh-TW-4GPXJ7ZY.js} +91 -5
  204. package/cli.js +13 -12
  205. package/locales/ca.js +115 -7
  206. package/locales/de.js +114 -7
  207. package/locales/en.js +118 -7
  208. package/locales/fr.js +115 -7
  209. package/locales/ja.js +116 -6
  210. package/locales/pt.js +114 -7
  211. package/locales/ru.js +114 -7
  212. package/locales/zh-TW.js +114 -6
  213. package/locales/zh.js +114 -6
  214. package/package.json +3 -6
  215. package/web-shell/assets/{arc-C7hjaa7g.js → arc-G3HZaqaL.js} +1 -1
  216. package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-DhBrwwch.js} +1 -1
  217. package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-16JbbF0N.js} +1 -1
  218. package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-DQ3-pKgc.js} +1 -1
  219. package/web-shell/assets/channel-CX7ZHuuL.js +1 -0
  220. package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-ERCn30sp.js} +1 -1
  221. package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-DTysfbFi.js} +1 -1
  222. package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-BFGrbTBi.js} +1 -1
  223. package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-DCX4Oar-.js} +1 -1
  224. package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-CgT6sBr3.js} +1 -1
  225. package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-C1Uuk1KV.js} +1 -1
  226. package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-DajgESiu.js} +1 -1
  227. package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-DLJSvy9X.js} +1 -1
  228. package/web-shell/assets/classDiagram-4FO5ZUOK-B-oT3UI8.js +1 -0
  229. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B-oT3UI8.js +1 -0
  230. package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-CH3w3qs7.js} +1 -1
  231. package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-BloXan9B.js} +1 -1
  232. package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-BbZiGcmK.js} +1 -1
  233. package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-GQlYvLJv.js} +1 -1
  234. package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-CtIBvVq3.js} +1 -1
  235. package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-D5TBo9a2.js} +1 -1
  236. package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-N0gQhw6R.js} +1 -1
  237. package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-zab9vDj3.js} +1 -1
  238. package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-BnnjtWJa.js} +1 -1
  239. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-2T0SQU4f.js} +1 -1
  240. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-DAD6_que.js} +1 -1
  241. package/web-shell/assets/index-XLkWfLja.css +5 -0
  242. package/web-shell/assets/index-srlTR1Jg.js +786 -0
  243. package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-C-j8d0xO.js} +1 -1
  244. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-D97bAKoT.js} +1 -1
  245. package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-BJAHfJmm.js} +1 -1
  246. package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-CZgR5aac.js} +1 -1
  247. package/web-shell/assets/{linear-Bo5bWzvo.js → linear-DOd4kYhA.js} +1 -1
  248. package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-BBaplnXA.js} +5 -5
  249. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-IhBF_BR5.js} +1 -1
  250. package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-B4R4sYyH.js} +1 -1
  251. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-DKd1SJ61.js} +1 -1
  252. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-Cw96V0Xb.js} +1 -1
  253. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-C6ne_yWi.js} +1 -1
  254. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-CCyp4PDp.js} +1 -1
  255. package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-DHvIqTmx.js} +1 -1
  256. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DvFhmpwA.js +1 -0
  257. package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-amb3n9zH.js} +1 -1
  258. package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-Abf2qRFJ.js} +1 -1
  259. package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-BBlOp1av.js} +1 -1
  260. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-gE_sZ0Ak.js} +1 -1
  261. package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-BwOni53i.js} +1 -1
  262. package/web-shell/index.html +16 -4
  263. package/chunks/chunk-6SHO7WFF.js +0 -79
  264. package/chunks/chunk-IFEWJXFS.js +0 -37
  265. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
  266. package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
  267. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
  268. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
  269. package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
  270. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
  271. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
  272. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
  273. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
  274. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
  275. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
  276. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
  277. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  278. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
  279. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
  280. package/node_modules/@qwen-code/audio-capture/package.json +0 -30
  281. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  282. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  283. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  284. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  285. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  286. package/web-shell/assets/channel-BNf1dW-j.js +0 -1
  287. package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
  288. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
  289. package/web-shell/assets/index-CnE2ur2L.js +0 -779
  290. package/web-shell/assets/index-hSKXrlSE.css +0 -5
  291. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
  292. /package/chunks/{chunk-Y6Z2O3WR.js → chunk-JM7BYJO5.js} +0 -0
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-YDSYD7UI.js";
5
+ } from "./chunk-E3SA2LY4.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-KHDZHZMH.js";
6
6
  import {
7
7
  getCliVersion
8
- } from "./chunk-GD236YPV.js";
8
+ } from "./chunk-4ONWIT5C.js";
9
9
  import {
10
10
  IdeClient
11
- } from "./chunk-YEGT55NW.js";
11
+ } from "./chunk-ZDAZSR2O.js";
12
12
  import {
13
13
  createDebugLogger
14
14
  } from "./chunk-22MNNNXE.js";
@@ -27,7 +27,7 @@ import { execFile } from "node:child_process";
27
27
 
28
28
  // packages/cli/src/generated/git-commit.ts
29
29
  init_esbuild_shims();
30
- var GIT_COMMIT_INFO = "47978cd9e";
30
+ var GIT_COMMIT_INFO = "4fe960c59";
31
31
 
32
32
  // packages/cli/src/utils/systemInfo.ts
33
33
  var debugLogger = createDebugLogger("STATUS");
@@ -0,0 +1,159 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ SessionNotFoundError
5
+ } from "./chunk-GGQQA4JW.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-A4BMJM77.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/serve/workspace-registry.ts
14
+ init_esbuild_shims();
15
+ function createWorkspaceSessionOwnerIndex() {
16
+ const bySessionId = /* @__PURE__ */ new Map();
17
+ const register = /* @__PURE__ */ __name((sessionId, workspaceCwd) => {
18
+ let owners = bySessionId.get(sessionId);
19
+ if (!owners) {
20
+ owners = /* @__PURE__ */ new Set();
21
+ bySessionId.set(sessionId, owners);
22
+ }
23
+ owners.add(workspaceCwd);
24
+ }, "register");
25
+ const remove = /* @__PURE__ */ __name((sessionId, workspaceCwd) => {
26
+ if (workspaceCwd === void 0) {
27
+ bySessionId.delete(sessionId);
28
+ return;
29
+ }
30
+ const owners = bySessionId.get(sessionId);
31
+ if (!owners) return;
32
+ owners.delete(workspaceCwd);
33
+ if (owners.size === 0) {
34
+ bySessionId.delete(sessionId);
35
+ }
36
+ }, "remove");
37
+ return {
38
+ register,
39
+ remove,
40
+ getWorkspaceCwds: /* @__PURE__ */ __name((sessionId) => [...bySessionId.get(sessionId) ?? []], "getWorkspaceCwds"),
41
+ handleBridgeSessionLifecycle: /* @__PURE__ */ __name((event) => {
42
+ if (event.type === "registered") {
43
+ register(event.sessionId, event.workspaceCwd);
44
+ } else {
45
+ remove(event.sessionId, event.workspaceCwd);
46
+ }
47
+ }, "handleBridgeSessionLifecycle")
48
+ };
49
+ }
50
+ __name(createWorkspaceSessionOwnerIndex, "createWorkspaceSessionOwnerIndex");
51
+ function createWorkspaceRegistry(inputRuntimes, options = {}) {
52
+ if (inputRuntimes.length === 0) {
53
+ throw new Error(
54
+ "WorkspaceRegistry requires at least one workspace runtime."
55
+ );
56
+ }
57
+ const primaryRuntimes = inputRuntimes.filter((runtime) => runtime.primary);
58
+ if (primaryRuntimes.length !== 1) {
59
+ throw new Error(
60
+ "WorkspaceRegistry requires exactly one primary workspace runtime."
61
+ );
62
+ }
63
+ const byCwd = /* @__PURE__ */ new Map();
64
+ const byId = /* @__PURE__ */ new Map();
65
+ for (const runtime of inputRuntimes) {
66
+ if (byCwd.has(runtime.workspaceCwd)) {
67
+ throw new Error(
68
+ `Duplicate workspace runtime cwd ${JSON.stringify(
69
+ runtime.workspaceCwd
70
+ )}.`
71
+ );
72
+ }
73
+ byCwd.set(runtime.workspaceCwd, runtime);
74
+ if (byId.has(runtime.workspaceId)) {
75
+ throw new Error(
76
+ `Duplicate workspace runtime id ${JSON.stringify(
77
+ runtime.workspaceId
78
+ )}.`
79
+ );
80
+ }
81
+ byId.set(runtime.workspaceId, runtime);
82
+ }
83
+ const runtimes = Object.freeze([...inputRuntimes]);
84
+ const primary = primaryRuntimes[0];
85
+ const sessionOwnerIndex = options.sessionOwnerIndex;
86
+ const scanLiveOwners = /* @__PURE__ */ __name((sessionId) => {
87
+ const matches = [];
88
+ for (const runtime of runtimes) {
89
+ try {
90
+ runtime.bridge.getSessionSummary(sessionId);
91
+ matches.push(runtime);
92
+ } catch (err) {
93
+ if (err instanceof SessionNotFoundError) continue;
94
+ throw err;
95
+ }
96
+ }
97
+ for (const match of matches) {
98
+ sessionOwnerIndex?.register(sessionId, match.workspaceCwd);
99
+ }
100
+ if (matches.length === 0) return { kind: "not_found" };
101
+ if (matches.length === 1) {
102
+ return { kind: "found", runtime: matches[0] };
103
+ }
104
+ return { kind: "ambiguous", runtimes: matches };
105
+ }, "scanLiveOwners");
106
+ return {
107
+ primary,
108
+ list: /* @__PURE__ */ __name(() => runtimes, "list"),
109
+ getByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => byCwd.get(workspaceCwd), "getByWorkspaceCwd"),
110
+ getByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => byId.get(workspaceId), "getByWorkspaceId"),
111
+ resolveWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => workspaceCwd === void 0 ? primary : byCwd.get(workspaceCwd), "resolveWorkspaceCwd"),
112
+ resolveLiveSessionOwner: /* @__PURE__ */ __name((sessionId) => {
113
+ const indexedCwds = sessionOwnerIndex?.getWorkspaceCwds(sessionId) ?? [];
114
+ if (indexedCwds.length > 0) {
115
+ const matches = [];
116
+ for (const workspaceCwd of indexedCwds) {
117
+ const runtime = byCwd.get(workspaceCwd);
118
+ if (!runtime) {
119
+ sessionOwnerIndex?.remove(sessionId, workspaceCwd);
120
+ continue;
121
+ }
122
+ try {
123
+ runtime.bridge.getSessionSummary(sessionId);
124
+ matches.push(runtime);
125
+ } catch (err) {
126
+ if (err instanceof SessionNotFoundError) {
127
+ sessionOwnerIndex?.remove(sessionId, workspaceCwd);
128
+ continue;
129
+ }
130
+ throw err;
131
+ }
132
+ }
133
+ if (matches.length === 1) {
134
+ return { kind: "found", runtime: matches[0] };
135
+ }
136
+ if (matches.length > 1) {
137
+ return { kind: "ambiguous", runtimes: matches };
138
+ }
139
+ }
140
+ return scanLiveOwners(sessionId);
141
+ }, "resolveLiveSessionOwner")
142
+ };
143
+ }
144
+ __name(createWorkspaceRegistry, "createWorkspaceRegistry");
145
+ function createSingleWorkspaceRegistry(runtime, options = {}) {
146
+ return createWorkspaceRegistry([runtime], options);
147
+ }
148
+ __name(createSingleWorkspaceRegistry, "createSingleWorkspaceRegistry");
149
+
150
+ export {
151
+ createWorkspaceSessionOwnerIndex,
152
+ createWorkspaceRegistry,
153
+ createSingleWorkspaceRegistry
154
+ };
155
+ /**
156
+ * @license
157
+ * Copyright 2026 Qwen Team
158
+ * SPDX-License-Identifier: Apache-2.0
159
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getGlobalQwenDir
5
- } from "./chunk-2NPS2UDH.js";
5
+ } from "./chunk-YUNPEB3Q.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -0,0 +1,296 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ isGitRepository
5
+ } from "./chunk-ZDAZSR2O.js";
6
+ import {
7
+ createDebugLogger
8
+ } from "./chunk-22MNNNXE.js";
9
+ import {
10
+ init_esbuild_shims
11
+ } from "./chunk-A4BMJM77.js";
12
+ import {
13
+ __name
14
+ } from "./chunk-J2S4EL5Y.js";
15
+
16
+ // packages/cli/src/utils/installationInfo.ts
17
+ init_esbuild_shims();
18
+ import * as fs from "node:fs";
19
+ import * as path from "node:path";
20
+ import * as childProcess from "node:child_process";
21
+ var PackageManager = /* @__PURE__ */ ((PackageManager2) => {
22
+ PackageManager2["NPM"] = "npm";
23
+ PackageManager2["YARN"] = "yarn";
24
+ PackageManager2["PNPM"] = "pnpm";
25
+ PackageManager2["PNPX"] = "pnpx";
26
+ PackageManager2["BUN"] = "bun";
27
+ PackageManager2["BUNX"] = "bunx";
28
+ PackageManager2["HOMEBREW"] = "homebrew";
29
+ PackageManager2["STANDALONE"] = "standalone";
30
+ PackageManager2["NPX"] = "npx";
31
+ PackageManager2["UNKNOWN"] = "unknown";
32
+ return PackageManager2;
33
+ })(PackageManager || {});
34
+ var debugLogger = createDebugLogger("INSTALLATION_INFO");
35
+ var STANDALONE_UNIX_INSTALLER = "https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh";
36
+ var STANDALONE_WINDOWS_INSTALLER = "https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.ps1";
37
+ function getStandaloneInstallerUrl() {
38
+ return process.platform === "win32" ? STANDALONE_WINDOWS_INSTALLER : STANDALONE_UNIX_INSTALLER;
39
+ }
40
+ __name(getStandaloneInstallerUrl, "getStandaloneInstallerUrl");
41
+ function resolveUpdateCommand(updateCommand, latestVersion) {
42
+ const isNightly = latestVersion.includes("nightly");
43
+ return updateCommand.replace(
44
+ "@latest",
45
+ isNightly ? "@nightly" : `@${latestVersion}`
46
+ );
47
+ }
48
+ __name(resolveUpdateCommand, "resolveUpdateCommand");
49
+ function formatUpdateInstructions(installationInfo, latestVersion) {
50
+ const lines = [];
51
+ if (installationInfo.updateMessage && !installationInfo.updateCommand) {
52
+ lines.push(
53
+ ...formatUpdateMessage(installationInfo.updateMessage, latestVersion)
54
+ );
55
+ }
56
+ if (installationInfo.updateCommand) {
57
+ const updateCmd = resolveUpdateCommand(
58
+ installationInfo.updateCommand,
59
+ latestVersion
60
+ );
61
+ lines.push("Run the following to update:", ` ${updateCmd}`);
62
+ } else if (!installationInfo.updateMessage) {
63
+ lines.push("Manual update required. Please reinstall Qwen Code.");
64
+ }
65
+ return lines;
66
+ }
67
+ __name(formatUpdateInstructions, "formatUpdateInstructions");
68
+ function formatUpdateMessage(updateMessage, latestVersion) {
69
+ const message = resolveUpdateCommand(updateMessage, latestVersion);
70
+ const sudoPrefix = "Update requires sudo. Please run: ";
71
+ if (message.startsWith(sudoPrefix)) {
72
+ return [
73
+ "Update requires sudo. Please run:",
74
+ ` ${message.slice(sudoPrefix.length)}`
75
+ ];
76
+ }
77
+ return [message];
78
+ }
79
+ __name(formatUpdateMessage, "formatUpdateMessage");
80
+ function getInstallationInfo(projectRoot, isAutoUpdateEnabled) {
81
+ const cliPath = process.argv[1];
82
+ if (!cliPath) {
83
+ return { packageManager: "unknown" /* UNKNOWN */, isGlobal: false };
84
+ }
85
+ try {
86
+ const realPath = fs.realpathSync(cliPath).replace(/\\/g, "/");
87
+ const normalizedProjectRoot = projectRoot?.replace(/\\/g, "/");
88
+ const isGit = isGitRepository(process.cwd());
89
+ if (isGit && normalizedProjectRoot && isSamePathOrInside(realPath, normalizedProjectRoot) && !realPath.includes("/node_modules/")) {
90
+ return {
91
+ packageManager: "unknown" /* UNKNOWN */,
92
+ // Not managed by a package manager in this sense
93
+ isGlobal: false,
94
+ updateMessage: 'Running from a local git clone. Please update with "git pull".'
95
+ };
96
+ }
97
+ if (realPath.includes("/.npm/_npx") || realPath.includes("/npm/_npx")) {
98
+ return {
99
+ packageManager: "npx" /* NPX */,
100
+ isGlobal: false,
101
+ updateMessage: "Running via npx, update not applicable."
102
+ };
103
+ }
104
+ if (realPath.includes("/.pnpm/_pnpx")) {
105
+ return {
106
+ packageManager: "pnpx" /* PNPX */,
107
+ isGlobal: false,
108
+ updateMessage: "Running via pnpx, update not applicable."
109
+ };
110
+ }
111
+ const standaloneInfo = getStandaloneInstallInfo(
112
+ realPath,
113
+ isAutoUpdateEnabled
114
+ );
115
+ if (standaloneInfo) {
116
+ return standaloneInfo;
117
+ }
118
+ if (process.platform === "darwin") {
119
+ try {
120
+ childProcess.execSync('brew list -1 | grep -q "^qwen-code$"', {
121
+ stdio: "ignore"
122
+ });
123
+ return {
124
+ packageManager: "homebrew" /* HOMEBREW */,
125
+ isGlobal: true,
126
+ updateMessage: 'Installed via Homebrew. Please update with "brew upgrade".'
127
+ };
128
+ } catch (_error) {
129
+ }
130
+ }
131
+ if (realPath.includes("/.pnpm/global")) {
132
+ const updateCommand2 = "pnpm add -g @qwen-code/qwen-code@latest";
133
+ return {
134
+ packageManager: "pnpm" /* PNPM */,
135
+ isGlobal: true,
136
+ updateCommand: updateCommand2,
137
+ updateMessage: isAutoUpdateEnabled ? "Installed with pnpm. Attempting to automatically update now..." : `Please run ${updateCommand2} to update`
138
+ };
139
+ }
140
+ if (realPath.includes("/.yarn/global")) {
141
+ const updateCommand2 = "yarn global add @qwen-code/qwen-code@latest";
142
+ return {
143
+ packageManager: "yarn" /* YARN */,
144
+ isGlobal: true,
145
+ updateCommand: updateCommand2,
146
+ updateMessage: isAutoUpdateEnabled ? "Installed with yarn. Attempting to automatically update now..." : `Please run ${updateCommand2} to update`
147
+ };
148
+ }
149
+ if (realPath.includes("/.bun/install/cache")) {
150
+ return {
151
+ packageManager: "bunx" /* BUNX */,
152
+ isGlobal: false,
153
+ updateMessage: "Running via bunx, update not applicable."
154
+ };
155
+ }
156
+ if (realPath.includes("/.bun/bin")) {
157
+ const updateCommand2 = "bun add -g @qwen-code/qwen-code@latest";
158
+ return {
159
+ packageManager: "bun" /* BUN */,
160
+ isGlobal: true,
161
+ updateCommand: updateCommand2,
162
+ updateMessage: isAutoUpdateEnabled ? "Installed with bun. Attempting to automatically update now..." : `Please run ${updateCommand2} to update`
163
+ };
164
+ }
165
+ if (normalizedProjectRoot && isSamePathOrInside(realPath, `${normalizedProjectRoot}/node_modules`)) {
166
+ let pm = "npm" /* NPM */;
167
+ if (fs.existsSync(path.join(projectRoot, "yarn.lock"))) {
168
+ pm = "yarn" /* YARN */;
169
+ } else if (fs.existsSync(path.join(projectRoot, "pnpm-lock.yaml"))) {
170
+ pm = "pnpm" /* PNPM */;
171
+ } else if (fs.existsSync(path.join(projectRoot, "bun.lockb"))) {
172
+ pm = "bun" /* BUN */;
173
+ }
174
+ return {
175
+ packageManager: pm,
176
+ isGlobal: false,
177
+ updateMessage: "Locally installed. Please update via your project's package.json."
178
+ };
179
+ }
180
+ const npmPackageDir = path.dirname(path.dirname(realPath));
181
+ let npmPrefixWritable = false;
182
+ try {
183
+ fs.accessSync(npmPackageDir, fs.constants.W_OK);
184
+ npmPrefixWritable = true;
185
+ } catch {
186
+ }
187
+ if (!npmPrefixWritable) {
188
+ return {
189
+ packageManager: "npm" /* NPM */,
190
+ isGlobal: true,
191
+ updateMessage: "Update requires sudo. Please run: sudo npm install -g @qwen-code/qwen-code@latest"
192
+ };
193
+ }
194
+ const updateCommand = "npm install -g @qwen-code/qwen-code@latest";
195
+ return {
196
+ packageManager: "npm" /* NPM */,
197
+ isGlobal: true,
198
+ updateCommand,
199
+ updateMessage: isAutoUpdateEnabled ? "Installed with npm. Attempting to automatically update now..." : `Please run ${updateCommand} to update`
200
+ };
201
+ } catch (error) {
202
+ debugLogger.error("Failed to detect installation info:", error);
203
+ return { packageManager: "unknown" /* UNKNOWN */, isGlobal: false };
204
+ }
205
+ }
206
+ __name(getInstallationInfo, "getInstallationInfo");
207
+ function stripTrailingSlashes(value) {
208
+ return value.replace(/\/+$/, "") || "/";
209
+ }
210
+ __name(stripTrailingSlashes, "stripTrailingSlashes");
211
+ function isSamePathOrInside(candidate, parent) {
212
+ const normalizedCandidate = stripTrailingSlashes(candidate);
213
+ const normalizedParent = stripTrailingSlashes(parent);
214
+ if (normalizedParent === "/") {
215
+ return normalizedCandidate === "/" || normalizedCandidate.startsWith("/");
216
+ }
217
+ return normalizedCandidate === normalizedParent || normalizedCandidate.startsWith(`${normalizedParent}/`);
218
+ }
219
+ __name(isSamePathOrInside, "isSamePathOrInside");
220
+ function getStandaloneInstallInfo(realPath, isAutoUpdateEnabled) {
221
+ const installDir = standaloneInstallDirForCliPath(realPath);
222
+ if (!installDir || !isStandaloneInstallDir(installDir)) {
223
+ return null;
224
+ }
225
+ const installerUrl = getStandaloneInstallerUrl();
226
+ const updateCommand = process.platform === "win32" ? `powershell -ExecutionPolicy Bypass -c "irm ${installerUrl} | iex"` : `curl -fsSL ${installerUrl} | bash`;
227
+ return {
228
+ packageManager: "standalone" /* STANDALONE */,
229
+ isGlobal: true,
230
+ isStandalone: true,
231
+ standaloneDir: installDir,
232
+ updateMessage: isAutoUpdateEnabled ? "Standalone install detected. Attempting to automatically update now..." : `Standalone install detected. Please rerun the standalone installer to update: ${updateCommand}`
233
+ };
234
+ }
235
+ __name(getStandaloneInstallInfo, "getStandaloneInstallInfo");
236
+ function standaloneInstallDirForCliPath(realPath) {
237
+ const normalized = realPath.replace(/\\/g, "/");
238
+ const suffix = "/lib/cli.js";
239
+ if (!normalized.endsWith(suffix)) {
240
+ return null;
241
+ }
242
+ return realPath.slice(0, -suffix.length);
243
+ }
244
+ __name(standaloneInstallDirForCliPath, "standaloneInstallDirForCliPath");
245
+ function isStandaloneInstallDir(installDir) {
246
+ try {
247
+ const manifestPath = path.join(installDir, "manifest.json");
248
+ if (!fs.existsSync(manifestPath)) {
249
+ return false;
250
+ }
251
+ const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf8"));
252
+ if (manifest.name !== "@qwen-code/qwen-code" || typeof manifest.target !== "string" || !isStandaloneTargetForCurrentPlatform(manifest.target)) {
253
+ return false;
254
+ }
255
+ const qwenBin = process.platform === "win32" ? path.join(installDir, "bin", "qwen.cmd") : path.join(installDir, "bin", "qwen");
256
+ const nodeBin = process.platform === "win32" ? path.join(installDir, "node", "node.exe") : path.join(installDir, "node", "bin", "node");
257
+ return fs.existsSync(qwenBin) && fs.existsSync(nodeBin) && isStandaloneRuntimeFile(qwenBin) && isStandaloneRuntimeFile(nodeBin);
258
+ } catch (err) {
259
+ debugLogger.error("Standalone detection failed:", installDir, err);
260
+ return false;
261
+ }
262
+ }
263
+ __name(isStandaloneInstallDir, "isStandaloneInstallDir");
264
+ function isStandaloneTargetForCurrentPlatform(target) {
265
+ switch (process.platform) {
266
+ case "darwin":
267
+ return /^darwin-(arm64|x64)$/.test(target);
268
+ case "linux":
269
+ return /^linux-(arm64|x64)$/.test(target);
270
+ case "win32":
271
+ return /^win-(arm64|x64)$/.test(target);
272
+ default:
273
+ return false;
274
+ }
275
+ }
276
+ __name(isStandaloneTargetForCurrentPlatform, "isStandaloneTargetForCurrentPlatform");
277
+ function isStandaloneRuntimeFile(filePath) {
278
+ const stats = fs.lstatSync(filePath);
279
+ if (!stats.isFile() || stats.isSymbolicLink()) {
280
+ return false;
281
+ }
282
+ return process.platform === "win32" || (stats.mode & 73) !== 0;
283
+ }
284
+ __name(isStandaloneRuntimeFile, "isStandaloneRuntimeFile");
285
+
286
+ export {
287
+ PackageManager,
288
+ resolveUpdateCommand,
289
+ formatUpdateInstructions,
290
+ getInstallationInfo
291
+ };
292
+ /**
293
+ * @license
294
+ * Copyright 2025 Google LLC
295
+ * SPDX-License-Identifier: Apache-2.0
296
+ */
@@ -6,20 +6,23 @@ import {
6
6
  parseAcpBaseModelId,
7
7
  resolveCliGenerationConfig,
8
8
  sanitizeProviderBaseUrl
9
- } from "./chunk-4ZJIPVPB.js";
9
+ } from "./chunk-4XK7TNBP.js";
10
10
  import {
11
- loadSettings
12
- } from "./chunk-STAZRKOT.js";
11
+ snapshotProcessEnv
12
+ } from "./chunk-PCWSPWXZ.js";
13
13
  import {
14
14
  STATUS_SCHEMA_VERSION
15
- } from "./chunk-JF7DFPQ5.js";
15
+ } from "./chunk-I3MBKL6Z.js";
16
+ import {
17
+ loadSettings
18
+ } from "./chunk-I34IHZFJ.js";
16
19
  import {
17
20
  ModelsConfig,
18
21
  resolveProviderProtocol
19
- } from "./chunk-YEGT55NW.js";
22
+ } from "./chunk-ZDAZSR2O.js";
20
23
  import {
21
24
  APPROVAL_MODES
22
- } from "./chunk-VEB3NYSO.js";
25
+ } from "./chunk-ZJQBTFJ6.js";
23
26
  import {
24
27
  tokenLimit
25
28
  } from "./chunk-HW4N45EE.js";
@@ -42,10 +45,13 @@ function createWorkspaceProvidersStatusProvider(options = {}) {
42
45
  __name(createWorkspaceProvidersStatusProvider, "createWorkspaceProvidersStatusProvider");
43
46
  function buildWorkspaceProvidersStatus(workspaceCwd, acpChannelLive, options) {
44
47
  try {
45
- const loaded = loadSettings(workspaceCwd);
48
+ const loaded = loadSettings(
49
+ workspaceCwd,
50
+ options.env ? { skipLoadEnvironment: true } : true
51
+ );
46
52
  const settings = loaded.merged;
47
- const env = options.env ?? process.env;
48
- const selectedAuthType = settings.security?.auth?.selectedType ?? getAuthTypeFromEnv();
53
+ const env = options.env ?? snapshotProcessEnv();
54
+ const selectedAuthType = settings.security?.auth?.selectedType ?? getAuthTypeFromEnv(env);
49
55
  const argv = {
50
56
  model: options.argv?.model,
51
57
  openaiApiKey: options.argv?.openaiApiKey,
@@ -4,11 +4,11 @@ import {
4
4
  disableMouseEvents,
5
5
  enableMouseEvents,
6
6
  useKeypressContext
7
- } from "./chunk-B4U2M63D.js";
7
+ } from "./chunk-LRY7HD3Q.js";
8
8
  import {
9
9
  use_stdin_default,
10
10
  use_stdout_default
11
- } from "./chunk-DGHJTO2K.js";
11
+ } from "./chunk-2AF26HVM.js";
12
12
  import {
13
13
  require_react
14
14
  } from "./chunk-KYMBIKIW.js";
@@ -62,6 +62,62 @@ function useTerminalSize() {
62
62
  }
63
63
  __name(useTerminalSize, "useTerminalSize");
64
64
 
65
+ // packages/cli/src/ui/colors.ts
66
+ init_esbuild_shims();
67
+ var Colors = {
68
+ get type() {
69
+ return themeManager.getActiveTheme().colors.type;
70
+ },
71
+ get Foreground() {
72
+ return themeManager.getActiveTheme().colors.Foreground;
73
+ },
74
+ get Background() {
75
+ return themeManager.getActiveTheme().colors.Background;
76
+ },
77
+ get LightBlue() {
78
+ return themeManager.getActiveTheme().colors.LightBlue;
79
+ },
80
+ get AccentBlue() {
81
+ return themeManager.getActiveTheme().colors.AccentBlue;
82
+ },
83
+ get AccentPurple() {
84
+ return themeManager.getActiveTheme().colors.AccentPurple;
85
+ },
86
+ get AccentCyan() {
87
+ return themeManager.getActiveTheme().colors.AccentCyan;
88
+ },
89
+ get AccentGreen() {
90
+ return themeManager.getActiveTheme().colors.AccentGreen;
91
+ },
92
+ get AccentYellow() {
93
+ return themeManager.getActiveTheme().colors.AccentYellow;
94
+ },
95
+ get AccentRed() {
96
+ return themeManager.getActiveTheme().colors.AccentRed;
97
+ },
98
+ get AccentYellowDim() {
99
+ return themeManager.getActiveTheme().colors.AccentYellowDim;
100
+ },
101
+ get AccentRedDim() {
102
+ return themeManager.getActiveTheme().colors.AccentRedDim;
103
+ },
104
+ get DiffAdded() {
105
+ return themeManager.getActiveTheme().colors.DiffAdded;
106
+ },
107
+ get DiffRemoved() {
108
+ return themeManager.getActiveTheme().colors.DiffRemoved;
109
+ },
110
+ get Comment() {
111
+ return themeManager.getActiveTheme().colors.Comment;
112
+ },
113
+ get Gray() {
114
+ return themeManager.getActiveTheme().colors.Gray;
115
+ },
116
+ get GradientColors() {
117
+ return themeManager.getActiveTheme().colors.GradientColors;
118
+ }
119
+ };
120
+
65
121
  // packages/cli/src/ui/hooks/useMouseEvents.ts
66
122
  init_esbuild_shims();
67
123
  var import_react3 = __toESM(require_react(), 1);
@@ -121,7 +177,7 @@ function useMouseEvents(handler, { isActive, tracking = "button", bypassVpGate =
121
177
  const vpGateOpen = isVpMode || bypassVpGate;
122
178
  const handlerRef = (0, import_react3.useRef)(handler);
123
179
  handlerRef.current = handler;
124
- const enabled = isActive && isRawModeSupported && vpGateOpen;
180
+ const enabled = isActive && isRawModeSupported && vpGateOpen && Boolean(stdout.isTTY);
125
181
  (0, import_react3.useEffect)(() => {
126
182
  if (!enabled) return;
127
183
  acquireMouseMode(stdout, tracking);
@@ -140,62 +196,6 @@ function useMouseEvents(handler, { isActive, tracking = "button", bypassVpGate =
140
196
  }
141
197
  __name(useMouseEvents, "useMouseEvents");
142
198
 
143
- // packages/cli/src/ui/colors.ts
144
- init_esbuild_shims();
145
- var Colors = {
146
- get type() {
147
- return themeManager.getActiveTheme().colors.type;
148
- },
149
- get Foreground() {
150
- return themeManager.getActiveTheme().colors.Foreground;
151
- },
152
- get Background() {
153
- return themeManager.getActiveTheme().colors.Background;
154
- },
155
- get LightBlue() {
156
- return themeManager.getActiveTheme().colors.LightBlue;
157
- },
158
- get AccentBlue() {
159
- return themeManager.getActiveTheme().colors.AccentBlue;
160
- },
161
- get AccentPurple() {
162
- return themeManager.getActiveTheme().colors.AccentPurple;
163
- },
164
- get AccentCyan() {
165
- return themeManager.getActiveTheme().colors.AccentCyan;
166
- },
167
- get AccentGreen() {
168
- return themeManager.getActiveTheme().colors.AccentGreen;
169
- },
170
- get AccentYellow() {
171
- return themeManager.getActiveTheme().colors.AccentYellow;
172
- },
173
- get AccentRed() {
174
- return themeManager.getActiveTheme().colors.AccentRed;
175
- },
176
- get AccentYellowDim() {
177
- return themeManager.getActiveTheme().colors.AccentYellowDim;
178
- },
179
- get AccentRedDim() {
180
- return themeManager.getActiveTheme().colors.AccentRedDim;
181
- },
182
- get DiffAdded() {
183
- return themeManager.getActiveTheme().colors.DiffAdded;
184
- },
185
- get DiffRemoved() {
186
- return themeManager.getActiveTheme().colors.DiffRemoved;
187
- },
188
- get Comment() {
189
- return themeManager.getActiveTheme().colors.Comment;
190
- },
191
- get Gray() {
192
- return themeManager.getActiveTheme().colors.Gray;
193
- },
194
- get GradientColors() {
195
- return themeManager.getActiveTheme().colors.GradientColors;
196
- }
197
- };
198
-
199
199
  // packages/cli/src/ui/utils/measure-element-position.ts
200
200
  init_esbuild_shims();
201
201