@qwen-code/qwen-code 0.19.7 → 0.19.8-nightly.20260711.0ef3a76bd

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 (434) 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 +60 -51
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -2
  7. package/bundled/qc-helper/docs/features/channels/overview.md +86 -12
  8. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
  9. package/bundled/qc-helper/docs/features/channels/wecom.md +6 -0
  10. package/bundled/qc-helper/docs/features/code-review.md +29 -5
  11. package/bundled/qc-helper/docs/features/commands.md +39 -38
  12. package/bundled/qc-helper/docs/features/computer-use.md +77 -0
  13. package/bundled/qc-helper/docs/features/hooks.md +36 -34
  14. package/bundled/qc-helper/docs/features/memory.md +1 -1
  15. package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
  16. package/bundled/qc-helper/docs/integration-vscode.md +2 -2
  17. package/bundled/qc-helper/docs/qwen-serve.md +40 -16
  18. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  19. package/bundled/review/DESIGN.md +93 -22
  20. package/bundled/review/SKILL.md +300 -87
  21. package/chunks/MaxSizedBox-4CX4IQWE.js +70 -0
  22. package/chunks/{StandaloneSessionPicker-APISIRJZ.js → StandaloneSessionPicker-TYUSSNJ6.js} +79 -77
  23. package/chunks/{acpAgent-MMOSC2YA.js → acpAgent-5HJEXOPR.js} +978 -205
  24. package/chunks/agent-PZF5IUUB.js +68 -0
  25. package/chunks/agent-headless-L4N7V2SG.js +62 -0
  26. package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-L73TO3DB.js} +214 -31
  27. package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-U7IRTLIV.js} +5 -5
  28. package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-2DLUUZZG.js} +6 -6
  29. package/chunks/bridge-OJL6LD42.js +78 -0
  30. package/chunks/{ca-HCMB2I54.js → ca-WTQOU43B.js} +91 -6
  31. package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-LF66HCVT.js} +137 -13
  32. package/chunks/{chunk-QQDPRDVW.js → chunk-2HRYPZT5.js} +1 -1
  33. package/chunks/{chunk-JD33UY7E.js → chunk-2K56LTWA.js} +18 -12
  34. package/chunks/{chunk-XISQIIT7.js → chunk-2LV4JUNO.js} +4 -4
  35. package/chunks/chunk-2UU6DW5P.js +296 -0
  36. package/chunks/{chunk-2PSWA5ID.js → chunk-2X56YUSZ.js} +1 -1
  37. package/chunks/chunk-2ZQOQZIS.js +71 -0
  38. package/chunks/{chunk-Q6OEPOOC.js → chunk-3AMVHPEQ.js} +2 -2
  39. package/chunks/{chunk-4RQIB5UZ.js → chunk-3BTRNWWD.js} +1 -35
  40. package/chunks/{chunk-SD4N3QJ2.js → chunk-3QZ6GY6A.js} +66 -22
  41. package/chunks/{chunk-DNV4FSN5.js → chunk-3SJSQXNS.js} +24 -7
  42. package/chunks/{chunk-VQWAZSXN.js → chunk-3XATDZNP.js} +64 -42
  43. package/chunks/{chunk-LEIJKM7Q.js → chunk-3ZAIGBCP.js} +2 -2
  44. package/chunks/{chunk-2NPS2UDH.js → chunk-43JB7OF4.js} +905 -139
  45. package/chunks/chunk-43XJTCHT.js +444 -0
  46. package/chunks/{chunk-CNSF3WO5.js → chunk-47HXCVGG.js} +6 -6
  47. package/chunks/{chunk-VEB3NYSO.js → chunk-4GORAUCN.js} +8 -3
  48. package/chunks/{chunk-55ZMG67I.js → chunk-4LD5APFL.js} +4 -4
  49. package/chunks/{chunk-TLWA7TPR.js → chunk-4QLQE5WJ.js} +2 -2
  50. package/chunks/{chunk-UIDXQNMV.js → chunk-4WGODMVR.js} +1 -1
  51. package/chunks/{chunk-E6US47KI.js → chunk-4WKAA4KS.js} +1 -1
  52. package/chunks/{chunk-H6EMK6QK.js → chunk-4ZVWQHEQ.js} +11913 -5207
  53. package/chunks/{chunk-HW4N45EE.js → chunk-524RQP4Q.js} +29 -8
  54. package/chunks/{chunk-3GONHQOA.js → chunk-57OAHC2Y.js} +1 -1
  55. package/chunks/{chunk-B4U2M63D.js → chunk-5DOUQHL3.js} +2104 -14
  56. package/chunks/{chunk-JZSY4WP3.js → chunk-5DTTYNB7.js} +1 -1
  57. package/chunks/{chunk-A4BMJM77.js → chunk-5O2XNYP6.js} +1 -0
  58. package/chunks/{chunk-P7I3D7FM.js → chunk-5OIXALQ5.js} +2 -2
  59. package/chunks/chunk-5SFOMFG4.js +61 -0
  60. package/chunks/{chunk-QYNNN7BK.js → chunk-5XUCZNSY.js} +2 -2
  61. package/chunks/{chunk-FRFFNYUY.js → chunk-65F3I3PM.js} +5 -5
  62. package/chunks/{chunk-GO6LNQXT.js → chunk-6AM5D4ME.js} +1 -1
  63. package/chunks/{chunk-BWVQN2HV.js → chunk-6CR73ZIK.js} +7 -7
  64. package/chunks/{chunk-BJBWRCSK.js → chunk-6H67XLET.js} +1 -1
  65. package/chunks/{chunk-G7ZG7CA6.js → chunk-6RLROE6G.js} +9 -8
  66. package/chunks/{chunk-TBAZMRW3.js → chunk-6WH2WCSW.js} +2 -2
  67. package/chunks/{chunk-ZERZSAZL.js → chunk-75DOP5OR.js} +2 -2
  68. package/chunks/{chunk-FTFXDZYI.js → chunk-7KZNLIAI.js} +47 -31
  69. package/chunks/{chunk-HJ3GX3Y3.js → chunk-7PW5CTVR.js} +32 -18
  70. package/chunks/{chunk-NQKLOAVJ.js → chunk-7R3CZA3Q.js} +2 -2
  71. package/chunks/{chunk-SAIILPQ3.js → chunk-7X7TEQNX.js} +5 -3
  72. package/chunks/{chunk-IRJWHZWU.js → chunk-A4UCTEB5.js} +2 -2
  73. package/chunks/{chunk-XSAFNANZ.js → chunk-AHUEU3BP.js} +14 -14
  74. package/chunks/{chunk-X3YGAX7V.js → chunk-B5ORX3FG.js} +4 -2
  75. package/chunks/{chunk-ZN5T4BHI.js → chunk-BPZALHVR.js} +2 -2
  76. package/chunks/{chunk-IJRL2S3D.js → chunk-BZIFY5TF.js} +6 -6
  77. package/chunks/{chunk-AJBEAUIS.js → chunk-BZP7HZTK.js} +7 -6
  78. package/chunks/{chunk-OFEVLU4C.js → chunk-CARU2RR2.js} +1 -1
  79. package/chunks/{chunk-MIG5SQNL.js → chunk-CBKR4Q5K.js} +8 -8
  80. package/chunks/chunk-CC2ITGCF.js +176 -0
  81. package/chunks/{chunk-FV7425LN.js → chunk-CEA3E3JB.js} +18 -5
  82. package/chunks/{chunk-GD236YPV.js → chunk-CNOF2IZT.js} +3 -3
  83. package/chunks/chunk-COH43MRJ.js +34 -0
  84. package/chunks/{chunk-E5A7LHNN.js → chunk-CPBF7KYF.js} +1 -1
  85. package/chunks/{chunk-UWCTAVOD.js → chunk-CR3C7WXL.js} +1 -1
  86. package/chunks/{chunk-5P5XGNYH.js → chunk-CU3L64TP.js} +1 -1
  87. package/chunks/{chunk-IWKSG2AR.js → chunk-CXAOG665.js} +1 -1
  88. package/chunks/{chunk-MZ7BABX3.js → chunk-DC5Z3DU6.js} +2 -2
  89. package/chunks/{chunk-64WXLC72.js → chunk-DJ2GSRLV.js} +1 -1
  90. package/chunks/{chunk-4ZJIPVPB.js → chunk-DMN532MJ.js} +11 -11
  91. package/chunks/{chunk-QN5NZ3UQ.js → chunk-DMTGGOSA.js} +2 -2
  92. package/chunks/{chunk-KHDZHZMH.js → chunk-E5Z2AVNV.js} +1 -1
  93. package/chunks/chunk-F4PFZ7WP.js +239 -0
  94. package/chunks/{chunk-ME3YSROJ.js → chunk-FBSBT7JS.js} +25 -13
  95. package/chunks/{chunk-5IFG2VC4.js → chunk-FCMNKVXT.js} +1 -1
  96. package/chunks/{chunk-YDSYD7UI.js → chunk-FD3DA3B4.js} +3 -3
  97. package/chunks/{chunk-GL5TV7B5.js → chunk-GL22M2DU.js} +23 -7
  98. package/chunks/{chunk-AFOLR6YL.js → chunk-GQ4ZEYMI.js} +102 -16
  99. package/chunks/chunk-GRC5HGPI.js +13 -0
  100. package/chunks/{chunk-WMPVYQ4P.js → chunk-GWHYEOV2.js} +2 -2
  101. package/chunks/chunk-GZRTYZ2R.js +292 -0
  102. package/chunks/{chunk-A2X3KLC3.js → chunk-GZXCZHCT.js} +3 -3
  103. package/chunks/{chunk-K5PGHDBN.js → chunk-H6XPXXMH.js} +1 -1
  104. package/chunks/{chunk-24XYI5EI.js → chunk-HACY3IUM.js} +6 -6
  105. package/chunks/{chunk-DGHJTO2K.js → chunk-HIHQ3TWC.js} +38 -9
  106. package/chunks/{chunk-KYMBIKIW.js → chunk-HTHUX2T5.js} +1 -1
  107. package/chunks/{chunk-LQ7TMOCE.js → chunk-HTO4JFDZ.js} +1 -1
  108. package/chunks/{chunk-B34OV7K2.js → chunk-IAVB3HM3.js} +15 -2
  109. package/chunks/{chunk-4UCTWSTP.js → chunk-IDJEZU7C.js} +2 -2
  110. package/chunks/chunk-IEBIKN6A.js +38 -0
  111. package/chunks/{chunk-PRDFOIZF.js → chunk-IJEO2QSK.js} +73 -30
  112. package/chunks/{chunk-MJI36HER.js → chunk-IT6LIIVK.js} +2 -2
  113. package/chunks/{chunk-FEJ2FZ3U.js → chunk-J3JA76CF.js} +2 -2
  114. package/chunks/{chunk-4CGOWHKM.js → chunk-J4MOFEOK.js} +2 -2
  115. package/chunks/{chunk-22MNNNXE.js → chunk-J4TSQ5EQ.js} +3 -2
  116. package/chunks/{chunk-22IFUCVR.js → chunk-JESCGQM3.js} +1 -1
  117. package/chunks/{chunk-CCGOFQV3.js → chunk-JSG7ZSBC.js} +8 -7
  118. package/chunks/{chunk-X265R5C6.js → chunk-K434OPES.js} +5 -5
  119. package/chunks/{chunk-RFIL6REB.js → chunk-KHUQZZJ6.js} +185 -45
  120. package/chunks/{chunk-X2XNQQJI.js → chunk-KKNMOEZH.js} +4 -4
  121. package/chunks/{chunk-6BN7NZ5Z.js → chunk-KL23O5Z5.js} +7 -9
  122. package/chunks/{chunk-MRO43B25.js → chunk-KW7NOTN6.js} +1 -1
  123. package/chunks/{chunk-6IAWPIQ6.js → chunk-L36P3NBD.js} +3 -3
  124. package/chunks/{chunk-54YZOP7P.js → chunk-L573Z2QZ.js} +11894 -5190
  125. package/chunks/{chunk-STAZRKOT.js → chunk-L6GPKRH7.js} +132 -464
  126. package/chunks/{chunk-QAKFYMJI.js → chunk-LD5OWZ5E.js} +155 -19
  127. package/chunks/{chunk-E7KNELIZ.js → chunk-LK7KUE55.js} +2 -2
  128. package/chunks/{chunk-W7EEOR7D.js → chunk-LUODI7WD.js} +5 -5
  129. package/chunks/{chunk-CSOTA7KX.js → chunk-LXNEJD34.js} +2 -2
  130. package/chunks/{chunk-HLKG6CZN.js → chunk-M5GB774H.js} +1 -1
  131. package/chunks/{chunk-3B26UVCX.js → chunk-MC23XKFE.js} +39 -10
  132. package/chunks/{chunk-XPJH4PKR.js → chunk-MPEMTBUZ.js} +2 -2
  133. package/chunks/{chunk-GMOWQOQQ.js → chunk-MUCWGT7O.js} +248 -55
  134. package/chunks/{chunk-PC4ZXHU2.js → chunk-MXL5UP4X.js} +3 -3
  135. package/chunks/{chunk-PUQLHSQ2.js → chunk-N2FGNKOE.js} +10 -12
  136. package/chunks/{chunk-332PWN27.js → chunk-NHDKSOEY.js} +1 -1
  137. package/chunks/{chunk-65CFHNSE.js → chunk-NKHV3OHY.js} +62 -62
  138. package/chunks/{chunk-P7M4GA57.js → chunk-OCPBI7J5.js} +1 -1
  139. package/chunks/{chunk-42XGFRJS.js → chunk-ORBGV7NJ.js} +5 -5
  140. package/chunks/{chunk-ALZ75L2X.js → chunk-OZJLTZKP.js} +415 -379
  141. package/chunks/chunk-P3X7RYUQ.js +468 -0
  142. package/chunks/{chunk-AGHU5VRK.js → chunk-PZL23GTM.js} +1 -1
  143. package/chunks/{chunk-FXGLL2HL.js → chunk-Q7YDKOGY.js} +1 -1
  144. package/chunks/{chunk-LGFAYIKX.js → chunk-QHTIBUWB.js} +1 -1
  145. package/chunks/{chunk-AIY5UTFI.js → chunk-QK2JET6S.js} +934 -2881
  146. package/chunks/{chunk-P3MYAZBY.js → chunk-QMGX2KO2.js} +1 -1
  147. package/chunks/{chunk-QZF5U5KA.js → chunk-QNTUV3PP.js} +11 -11
  148. package/chunks/chunk-QRUIS3DN.js +47 -0
  149. package/chunks/{chunk-ITOGNELQ.js → chunk-QSWDGAIC.js} +2 -2
  150. package/chunks/{chunk-7JGISHHZ.js → chunk-QUJIDGIW.js} +15 -157
  151. package/chunks/{chunk-GHOTR7HL.js → chunk-QUPXZXLV.js} +1 -1
  152. package/chunks/{chunk-TDGF35EN.js → chunk-QYMQSECS.js} +3 -3
  153. package/chunks/{chunk-QYUE6W3T.js → chunk-RDJSGHZE.js} +1 -1
  154. package/chunks/{chunk-TLRYABYP.js → chunk-RKUWKYED.js} +1 -1
  155. package/chunks/{chunk-ADZG46HR.js → chunk-RRNR5U2U.js} +2 -2
  156. package/chunks/{chunk-4O344UEE.js → chunk-RW7CXRUM.js} +39 -19
  157. package/chunks/{chunk-RNBYOUGV.js → chunk-RXFQM6FQ.js} +1 -1
  158. package/chunks/{chunk-QXPI7FEC.js → chunk-S3TWXGKA.js} +4 -4
  159. package/chunks/{chunk-44NROQYV.js → chunk-SJHDYNHF.js} +4 -4
  160. package/chunks/{chunk-MLZQVCF3.js → chunk-SZRN75WQ.js} +1 -1
  161. package/chunks/{chunk-7RYW5LQV.js → chunk-T2NCM2ET.js} +2 -2
  162. package/chunks/{chunk-Z2Z3GUXZ.js → chunk-TB6UDU4T.js} +1 -1
  163. package/chunks/{chunk-SUAKHHK7.js → chunk-TDEXZKMT.js} +3 -3
  164. package/chunks/{chunk-EXPMGZZV.js → chunk-TEGEBB2I.js} +1 -1
  165. package/chunks/{chunk-JF7DFPQ5.js → chunk-TJCEUA3S.js} +15 -3
  166. package/chunks/{chunk-MX2YXRER.js → chunk-TJTKSVIV.js} +1 -1
  167. package/chunks/{chunk-H6BD2ELD.js → chunk-TYAMGABM.js} +2 -2
  168. package/chunks/{chunk-CISB3IQF.js → chunk-U3VSCGEJ.js} +100 -15
  169. package/chunks/{chunk-VRDMOSQS.js → chunk-UDXSXLER.js} +2 -2
  170. package/chunks/{chunk-AHNJGLFV.js → chunk-UOZWKTQG.js} +3 -3
  171. package/chunks/{chunk-CJCKDMWO.js → chunk-URK542T4.js} +1 -1
  172. package/chunks/{chunk-YEGT55NW.js → chunk-UUVCHN62.js} +5697 -2983
  173. package/chunks/{chunk-AHNXYU4O.js → chunk-V6WHFGST.js} +1 -1
  174. package/chunks/{chunk-U4FRHCLA.js → chunk-VAUPLGDZ.js} +2370 -364
  175. package/chunks/{chunk-ZTQ26VBE.js → chunk-VDDGDZMA.js} +1 -1
  176. package/chunks/{chunk-OMX7CUOE.js → chunk-VGC4I5JJ.js} +1 -1
  177. package/chunks/{chunk-IUE7YWC3.js → chunk-VIUKEWUL.js} +8 -8
  178. package/chunks/{chunk-43W4YSO6.js → chunk-VJNBRRZG.js} +2 -2
  179. package/chunks/{chunk-I4A4K72C.js → chunk-VL7GBUQA.js} +1309 -703
  180. package/chunks/{chunk-VZ7HY3YU.js → chunk-W2UIXQDL.js} +3 -3
  181. package/chunks/{chunk-ER3BKOLB.js → chunk-W7FJ3N32.js} +1 -1
  182. package/chunks/{chunk-3HX5LZ6R.js → chunk-WBL3FJEU.js} +2 -2
  183. package/chunks/{chunk-RYFZCUJO.js → chunk-WCUK2QXK.js} +17 -9
  184. package/chunks/{chunk-OWVIH4HY.js → chunk-WFHJDT4S.js} +421 -114
  185. package/chunks/{chunk-BMFMJINR.js → chunk-WL4L7EZH.js} +1 -1
  186. package/chunks/{chunk-NZEGNV4V.js → chunk-WPHYXKFL.js} +8 -51
  187. package/chunks/chunk-X4NKFGFJ.js +81 -0
  188. package/chunks/{chunk-3RW4AZJV.js → chunk-XFSFZCM5.js} +1 -1
  189. package/chunks/{chunk-2MPVVENX.js → chunk-XU457J4V.js} +2 -2
  190. package/chunks/{chunk-SIUQ3YYX.js → chunk-XVNQMZ2I.js} +1 -1
  191. package/chunks/{chunk-SYCJMSIJ.js → chunk-XWRJCPHC.js} +1 -1
  192. package/chunks/chunk-YAF2MQZ6.js +19 -0
  193. package/chunks/chunk-YF4RZPJP.js +168 -0
  194. package/chunks/{chunk-4KJ2BPIT.js → chunk-YLV3XXFB.js} +4 -40
  195. package/chunks/{chunk-BR4QREVK.js → chunk-YQ3U5MUC.js} +1 -1
  196. package/chunks/{chunk-Y6Z2O3WR.js → chunk-YUZI3WAC.js} +1 -1
  197. package/chunks/{chunk-II73RK2S.js → chunk-YVEDCAUE.js} +1 -1
  198. package/chunks/{chunk-SKAZWEV5.js → chunk-ZJE7NSL3.js} +1 -1
  199. package/chunks/{chunk-7LTB54MK.js → chunk-ZLXQN2QS.js} +2 -2
  200. package/chunks/cli-entry-path-4VJ3Y6T2.js +10 -0
  201. package/chunks/{computer-use-X4KUU3NM.js → computer-use-2ZTYDNN4.js} +50 -50
  202. package/chunks/config-utils-ZITWCFBY.js +23 -0
  203. package/chunks/contextCommand-6L4XCZZT.js +68 -0
  204. package/chunks/create-sub-session-INX7TXJI.js +207 -0
  205. package/chunks/create-sub-session-VZIOFS6N.js +375 -0
  206. package/chunks/{cron-create-JSXEIPVS.js → cron-create-AMBKGZX6.js} +9 -9
  207. package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-LRU4OJYG.js} +7 -7
  208. package/chunks/{cron-list-D4ZX4IOE.js → cron-list-WVP2JXER.js} +14 -10
  209. package/chunks/{daemon-F3I2RXP6.js → daemon-QEDXW7ER.js} +554 -4
  210. package/chunks/daemon-status-provider-7XJZ3HPS.js +76 -0
  211. package/chunks/{de-PLLFDERI.js → de-XHBEYUMG.js} +91 -6
  212. package/chunks/{devtools-FM6GJPYG.js → devtools-4QFYJT6U.js} +3 -3
  213. package/chunks/{dist-573HNSVO.js → dist-EFXT7A3G.js} +12 -11
  214. package/chunks/{dist-PKFTNUHO.js → dist-KCRX7TGL.js} +529 -79
  215. package/chunks/{dist-OT7G2WNM.js → dist-MFEAEUV4.js} +1011 -197
  216. package/chunks/{dist-63IS3ZMI.js → dist-PZV5RKM6.js} +4 -4
  217. package/chunks/{dist-FQ5WRJPL.js → dist-QY3THJM5.js} +5 -5
  218. package/chunks/{dist-IMFFBMAT.js → dist-UJOR6KEQ.js} +32 -15
  219. package/chunks/{dist-YTRKAVUB.js → dist-ZWZB4CCN.js} +10 -10
  220. package/chunks/earlyInputCapture-TTWXFIWO.js +69 -0
  221. package/chunks/{edit-WZTZDGCI.js → edit-6UWFRZKY.js} +51 -51
  222. package/chunks/{en-GA2RMXY5.js → en-TKHUFIK7.js} +100 -6
  223. package/chunks/{enter-worktree-DEPXBJEL.js → enter-worktree-LS7SGAII.js} +50 -50
  224. package/chunks/{enterPlanMode-JFGXZHHJ.js → enterPlanMode-TSZYLEEP.js} +66 -51
  225. package/chunks/environment-XCVLHOXG.js +88 -0
  226. package/chunks/errors-KIANLUTC.js +75 -0
  227. package/chunks/{exit-worktree-Y7XBK3VV.js → exit-worktree-2QV6UJSW.js} +50 -50
  228. package/chunks/{exitPlanMode-WQQER65F.js → exitPlanMode-GVZG3F6S.js} +51 -51
  229. package/chunks/{fast-path-W2U6XDNO.js → fast-path-GNFZAMQK.js} +16 -7
  230. package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-5QZE64HR.js} +6 -5
  231. package/chunks/{fileFromPath-IBEHA3CO.js → fileFromPath-UDALK7FM.js} +3 -3
  232. package/chunks/{fr-GWNQG4XH.js → fr-TBF6JZNE.js} +91 -6
  233. package/chunks/{gemini-T4WX6SRW.js → gemini-N3H6OLHR.js} +501 -197
  234. package/chunks/{geminiContentGenerator-MKQACXEJ.js → geminiContentGenerator-4C257R2N.js} +9 -9
  235. package/chunks/{getMachineId-bsd-4CASPIU4.js → getMachineId-bsd-EXV7SWPA.js} +3 -3
  236. package/chunks/{getMachineId-darwin-HPQPEMZR.js → getMachineId-darwin-IUOMFXU3.js} +3 -3
  237. package/chunks/{getMachineId-linux-AUARKYHL.js → getMachineId-linux-K7XJYFHL.js} +2 -2
  238. package/chunks/{getMachineId-unsupported-S32ZDA2T.js → getMachineId-unsupported-EA5FDRJ6.js} +2 -2
  239. package/chunks/{getMachineId-win-4EFLHYIJ.js → getMachineId-win-KBA6RAI5.js} +3 -3
  240. package/chunks/{glob-4KKSHZDF.js → glob-QTUI5I3Y.js} +95 -74
  241. package/chunks/{grep-GHRYXSLZ.js → grep-Z5MGLRCG.js} +50 -50
  242. package/chunks/handleAutoUpdate-FFF3CZGP.js +69 -0
  243. package/chunks/i18n-QQAJT7A2.js +84 -0
  244. package/chunks/initializer-LGQGC7ZT.js +71 -0
  245. package/chunks/installationInfo-4FEZGXIN.js +65 -0
  246. package/chunks/{ja-2HOTA47X.js → ja-CDXUA2H3.js} +92 -7
  247. package/chunks/{keychain-token-storage-UJV5XP4Z.js → keychain-token-storage-VKUBNCP4.js} +4 -4
  248. package/chunks/{kittyProtocolDetector-OJRCJLIU.js → kittyProtocolDetector-HCNNKJTI.js} +2 -2
  249. package/chunks/list-KIVFF3BB.js +74 -0
  250. package/chunks/loadedSettingsAdapter-EOD3RVZS.js +68 -0
  251. package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-WX7BLWWP.js} +10 -10
  252. package/chunks/{lowlight-FYAAUU5J.js → lowlight-J2OZNPCA.js} +1 -1
  253. package/chunks/{ls-L654WOAT.js → ls-ZB2BDP6T.js} +6 -6
  254. package/chunks/{lsp-M35KE54Y.js → lsp-V5DN4YUJ.js} +6 -8
  255. package/chunks/mcp-D2P46DB4.js +68 -0
  256. package/chunks/{monitor-464OY2UE.js → monitor-4ZWVOL6J.js} +50 -50
  257. package/chunks/{multipart-parser-AJ4WASWR.js → multipart-parser-AWZKXSQN.js} +3 -3
  258. package/chunks/nonInteractiveCli-NAHUR2X6.js +124 -0
  259. package/chunks/{notebook-edit-BLJYCNDO.js → notebook-edit-RCQ2D2IE.js} +51 -51
  260. package/chunks/openaiContentGenerator-U655T5QC.js +56 -0
  261. package/chunks/pidfile-O3OO2TCP.js +73 -0
  262. package/chunks/{pt-2THT3YHA.js → pt-6IR2VRQY.js} +91 -6
  263. package/chunks/{qwenContentGenerator-SUUHZ6CR.js → qwenContentGenerator-ABGWCRS6.js} +52 -52
  264. package/chunks/{qwenOAuth2-ZV7YLMND.js → qwenOAuth2-PJQ27GSO.js} +9 -9
  265. package/chunks/read-file-X7M4GUPY.js +30 -0
  266. package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-SM5DA4RG.js} +5 -5
  267. package/chunks/{read-package-up-ER5OJUGP.js → read-package-up-TCM6I7S2.js} +2 -2
  268. package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-4XKZX3UW.js} +7 -7
  269. package/chunks/ripGrep-KMPJJK5J.js +60 -0
  270. package/chunks/{ru-Z67YJHBG.js → ru-DBTHQA3F.js} +91 -6
  271. package/chunks/{run-qwen-serve-5OKADVLE.js → run-qwen-serve-O6CMPURG.js} +958 -184
  272. package/chunks/runtime-THE2YO27.js +94 -0
  273. package/chunks/{scheduler-ZRW3AIDU.js → scheduler-XXEA6EFC.js} +51 -51
  274. package/chunks/{send-message-OA6MV4EU.js → send-message-F36YD6KQ.js} +7 -7
  275. package/chunks/serve-W6F44JQQ.js +74 -0
  276. package/chunks/{server-M372UENX.js → server-SAEKMY52.js} +4340 -829
  277. package/chunks/{session-F5KSNP2N.js → session-4GGYGOWY.js} +162 -117
  278. package/chunks/settings-PYEU5HVD.js +118 -0
  279. package/chunks/shell-JGQECKTH.js +68 -0
  280. package/chunks/{skill-A2TL2NPC.js → skill-XPP3C2DS.js} +24 -24
  281. package/chunks/spawnChannel-62QKQBQN.js +70 -0
  282. package/chunks/{src-XKZMNHXS.js → src-2656Q6SN.js} +126 -52
  283. package/chunks/{src-7XL4G4DC.js → src-VLI3TKEY.js} +4 -4
  284. package/chunks/standalone-update-X7AZVG5R.js +79 -0
  285. package/chunks/{startInteractiveUI-REKSTOHU.js → startInteractiveUI-DXR4K6T5.js} +2277 -1834
  286. package/chunks/stdioHelpers-UMY72QRP.js +14 -0
  287. package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-34H7LGA7.js} +5 -5
  288. package/chunks/task-create-FRGOEIKY.js +22 -0
  289. package/chunks/{task-list-TGGJX7EA.js → task-list-OW766BXZ.js} +10 -10
  290. package/chunks/{task-stop-W7NGTMYQ.js → task-stop-SIR5SNBN.js} +4 -4
  291. package/chunks/{task-update-5WUG5MVQ.js → task-update-YRA532MT.js} +12 -12
  292. package/chunks/{team-create-TBQVWAG7.js → team-create-3EHCUCKA.js} +50 -50
  293. package/chunks/{team-delete-UHQQ2QQX.js → team-delete-6OSECUZC.js} +10 -10
  294. package/chunks/{team-plan-approval-FZPGUSHJ.js → team-plan-approval-KZ7NZIMX.js} +50 -50
  295. package/chunks/theme-manager-J7ANV4JR.js +64 -0
  296. package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-YDMFEV4G.js} +6 -6
  297. package/chunks/{tool-search-FDQ3SLNJ.js → tool-search-2XLGWG4H.js} +24 -24
  298. package/chunks/total-session-admission-EQIHUOL6.js +72 -0
  299. package/chunks/trustedFolders-BEX5334Z.js +79 -0
  300. package/chunks/{types-QX5C3CHJ.js → types-JNKGKUJT.js} +2 -2
  301. package/chunks/updateCheck-NKPJGJCR.js +69 -0
  302. package/chunks/updateEventEmitter-5MKC7BLQ.js +10 -0
  303. package/chunks/validateNonInterActiveAuth-6DGGGE4A.js +190 -0
  304. package/chunks/{version-CEDD6ZZR.js → version-FRVWU5ZU.js} +3 -3
  305. package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-PAAEQKBW.js} +8 -8
  306. package/chunks/{workflow-CQQ4J4I6.js → workflow-LWFMECLD.js} +51 -51
  307. package/chunks/workspace-providers-status-NE7QWEYS.js +71 -0
  308. package/chunks/workspace-registry-RCWAP57G.js +76 -0
  309. package/chunks/workspace-service-4QUMVGBX.js +80 -0
  310. package/chunks/workspace-skills-status-L34BYRSY.js +70 -0
  311. package/chunks/{write-file-VWGY7AJP.js → write-file-WXO4M5FN.js} +51 -51
  312. package/chunks/{yargs-B64EYTCF.js → yargs-6H2AUULL.js} +2 -2
  313. package/chunks/{zh-7XVVRTDH.js → zh-LJP47LX7.js} +101 -7
  314. package/chunks/{zh-TW-DPH554OG.js → zh-TW-5ISMO3VJ.js} +101 -7
  315. package/cli.js +18 -17
  316. package/locales/ca.js +117 -7
  317. package/locales/de.js +116 -7
  318. package/locales/en.js +133 -7
  319. package/locales/fr.js +117 -7
  320. package/locales/ja.js +119 -7
  321. package/locales/pt.js +116 -7
  322. package/locales/ru.js +116 -7
  323. package/locales/zh-TW.js +130 -7
  324. package/locales/zh.js +130 -7
  325. package/package.json +3 -6
  326. package/web-shell/assets/{arc-C7hjaa7g.js → arc-BRDEF7h6.js} +1 -1
  327. package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-Cxnk4Ygq.js} +1 -1
  328. package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-BZrtayqw.js} +1 -1
  329. package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-Djmbi1yB.js} +1 -1
  330. package/web-shell/assets/channel-C9zfQCn-.js +1 -0
  331. package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-Cdokj-0U.js} +1 -1
  332. package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-BI9Hx57o.js} +1 -1
  333. package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-Cb17cEzj.js} +1 -1
  334. package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-DY1Fc0h_.js} +1 -1
  335. package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-B10G71Hd.js} +1 -1
  336. package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-BP6OoB6Z.js} +1 -1
  337. package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-CWIIwUFC.js} +1 -1
  338. package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-DMrqCfGO.js} +1 -1
  339. package/web-shell/assets/classDiagram-4FO5ZUOK-BVNaf5JM.js +1 -0
  340. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BVNaf5JM.js +1 -0
  341. package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-CF-mpkgI.js} +1 -1
  342. package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-DfsRFsg7.js} +1 -1
  343. package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-DBNwf6Dy.js} +1 -1
  344. package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-CD1TqV1j.js} +1 -1
  345. package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-DkWlaLI2.js} +1 -1
  346. package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-ClrAcxwF.js} +1 -1
  347. package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-Dr6dnPLw.js} +1 -1
  348. package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-Dm_vj18R.js} +1 -1
  349. package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-lp3cMdZu.js} +1 -1
  350. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-AtdCWZya.js} +3 -3
  351. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-BARTJafF.js} +1 -1
  352. package/web-shell/assets/index-BkNgyfu7.js +3 -0
  353. package/web-shell/assets/index-CihmnZZR.js +784 -0
  354. package/web-shell/assets/index-zfdXhnwH.css +5 -0
  355. package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-CxbJ54_f.js} +1 -1
  356. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-hFoO0HQA.js} +1 -1
  357. package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-Bo6cKnLe.js} +1 -1
  358. package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-DIFrH-XL.js} +1 -1
  359. package/web-shell/assets/{linear-Bo5bWzvo.js → linear-Bjv_GjDd.js} +1 -1
  360. package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-C_OiqQEP.js} +5 -5
  361. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-B79Gk8aB.js} +1 -1
  362. package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-B_P0gIHr.js} +1 -1
  363. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-BC7F0ohb.js} +1 -1
  364. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-BrA5_NSW.js} +1 -1
  365. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-Q2iqrNI_.js} +1 -1
  366. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-6vdIWz4H.js} +1 -1
  367. package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-DMzXNKcB.js} +1 -1
  368. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWFH0OCO.js +1 -0
  369. package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-BykEawmS.js} +1 -1
  370. package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-B24KD2X1.js} +1 -1
  371. package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-C761G_tA.js} +1 -1
  372. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-CfwGJYqw.js} +1 -1
  373. package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-BDu5AZ2D.js} +1 -1
  374. package/web-shell/index.html +16 -4
  375. package/chunks/MaxSizedBox-XY5LIO5O.js +0 -71
  376. package/chunks/agent-TKIBLLQT.js +0 -68
  377. package/chunks/agent-headless-VLX4C7KX.js +0 -62
  378. package/chunks/bridge-BCU73DZO.js +0 -77
  379. package/chunks/chunk-6SHO7WFF.js +0 -79
  380. package/chunks/chunk-IFEWJXFS.js +0 -37
  381. package/chunks/chunk-S6RLAIUR.js +0 -23
  382. package/chunks/contextCommand-LAYJZF7H.js +0 -68
  383. package/chunks/daemon-status-provider-XSAFKVDS.js +0 -74
  384. package/chunks/earlyInputCapture-AERYYGXE.js +0 -69
  385. package/chunks/errors-GMZL4QV7.js +0 -75
  386. package/chunks/handleAutoUpdate-HN7ZOSXY.js +0 -65
  387. package/chunks/initializer-SRN3IM42.js +0 -69
  388. package/chunks/list-INTVXUPA.js +0 -71
  389. package/chunks/loadedSettingsAdapter-QVHHQPGM.js +0 -66
  390. package/chunks/mcp-7V4T46RG.js +0 -66
  391. package/chunks/nonInteractiveCli-LJEEODU2.js +0 -116
  392. package/chunks/openaiContentGenerator-PFF6HYB2.js +0 -56
  393. package/chunks/pidfile-LIBUENIV.js +0 -73
  394. package/chunks/read-file-L7TBQVX7.js +0 -30
  395. package/chunks/ripGrep-CKKX3GRB.js +0 -60
  396. package/chunks/serve-36WS32W6.js +0 -71
  397. package/chunks/settings-WFLNS3WT.js +0 -114
  398. package/chunks/shell-DEDSWN56.js +0 -68
  399. package/chunks/spawnChannel-RQHUWTCL.js +0 -70
  400. package/chunks/task-create-RPFZNB4B.js +0 -22
  401. package/chunks/theme-manager-DQZVNSOC.js +0 -64
  402. package/chunks/trustedFolders-Z475EIHL.js +0 -79
  403. package/chunks/updateCheck-E2ZX7RL7.js +0 -65
  404. package/chunks/validateNonInterActiveAuth-O4ECBHQL.js +0 -181
  405. package/chunks/workspace-providers-status-MVYXMYDG.js +0 -68
  406. package/chunks/workspace-service-OMBR6ZLG.js +0 -78
  407. package/chunks/workspace-skills-status-IMMQ7CAY.js +0 -68
  408. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
  409. package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
  410. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
  411. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
  412. package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
  413. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
  414. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
  415. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
  416. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
  417. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
  418. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
  419. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
  420. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  421. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
  422. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
  423. package/node_modules/@qwen-code/audio-capture/package.json +0 -30
  424. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  425. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  426. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  427. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  428. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  429. package/web-shell/assets/channel-BNf1dW-j.js +0 -1
  430. package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
  431. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
  432. package/web-shell/assets/index-CnE2ur2L.js +0 -779
  433. package/web-shell/assets/index-hSKXrlSE.css +0 -5
  434. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
@@ -0,0 +1,296 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ isGitRepository
5
+ } from "./chunk-UUVCHN62.js";
6
+ import {
7
+ createDebugLogger
8
+ } from "./chunk-J4TSQ5EQ.js";
9
+ import {
10
+ init_esbuild_shims
11
+ } from "./chunk-5O2XNYP6.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
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __require
@@ -0,0 +1,71 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getErrorMessage
5
+ } from "./chunk-65F3I3PM.js";
6
+ import {
7
+ extensionToOutputString,
8
+ getExtensionManager
9
+ } from "./chunk-WPHYXKFL.js";
10
+ import {
11
+ loadSettings
12
+ } from "./chunk-L6GPKRH7.js";
13
+ import {
14
+ initializeI18n,
15
+ resolveLanguageSetting,
16
+ t
17
+ } from "./chunk-LD5OWZ5E.js";
18
+ import {
19
+ writeStderrLine,
20
+ writeStdoutLine
21
+ } from "./chunk-YUZI3WAC.js";
22
+ import {
23
+ init_esbuild_shims
24
+ } from "./chunk-5O2XNYP6.js";
25
+ import {
26
+ __name
27
+ } from "./chunk-J2S4EL5Y.js";
28
+
29
+ // packages/cli/src/commands/extensions/list.ts
30
+ init_esbuild_shims();
31
+ async function handleList() {
32
+ try {
33
+ const settings = loadSettings();
34
+ await initializeI18n(
35
+ resolveLanguageSetting(settings.merged.general?.language)
36
+ );
37
+ const extensionManager = await getExtensionManager();
38
+ const extensions = extensionManager.getLoadedExtensions();
39
+ if (!extensions || extensions.length === 0) {
40
+ writeStdoutLine(t("No extensions installed."));
41
+ return;
42
+ }
43
+ writeStdoutLine(
44
+ extensions.map(
45
+ (extension, _) => extensionToOutputString(extension, extensionManager, process.cwd())
46
+ ).join("\n\n")
47
+ );
48
+ } catch (error) {
49
+ writeStderrLine(getErrorMessage(error));
50
+ process.exit(1);
51
+ }
52
+ }
53
+ __name(handleList, "handleList");
54
+ var listCommand = {
55
+ command: "list",
56
+ describe: t("Lists installed extensions."),
57
+ builder: /* @__PURE__ */ __name((yargs) => yargs, "builder"),
58
+ handler: /* @__PURE__ */ __name(async () => {
59
+ await handleList();
60
+ }, "handler")
61
+ };
62
+
63
+ export {
64
+ handleList,
65
+ listCommand
66
+ };
67
+ /**
68
+ * @license
69
+ * Copyright 2025 Google LLC
70
+ * SPDX-License-Identifier: Apache-2.0
71
+ */
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-YDSYD7UI.js";
5
+ } from "./chunk-FD3DA3B4.js";
6
6
  import {
7
7
  init_esbuild_shims
8
- } from "./chunk-A4BMJM77.js";
8
+ } from "./chunk-5O2XNYP6.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-J2S4EL5Y.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -221,35 +221,6 @@ var V1_INDICATOR_KEYS = [
221
221
  "disableCacheControl"
222
222
  ];
223
223
 
224
- // packages/cli/src/config/shared-env-keys.ts
225
- init_esbuild_shims();
226
- var DEFAULT_EXCLUDED_ENV_VARS = ["DEBUG", "DEBUG_MODE"];
227
- var ENV_CORRUPTED_PATH = "QWEN_CODE_SETTINGS_CORRUPTED_PATH";
228
- var ENV_WAS_RECOVERED = "QWEN_CODE_SETTINGS_WAS_RECOVERED";
229
- var PROJECT_ENV_HARDCODED_EXCLUSIONS = [
230
- "QWEN_HOME",
231
- "QWEN_RUNTIME_DIR",
232
- "QWEN_CODE_MCP_APPROVALS_PATH",
233
- "QWEN_CODE_TRUSTED_FOLDERS_PATH",
234
- ENV_CORRUPTED_PATH,
235
- ENV_WAS_RECOVERED,
236
- // QWEN_TLS_INSECURE (and NODE_TLS_REJECT_UNAUTHORIZED, which it mirrors)
237
- // disable TLS certificate verification for all outbound API connections. A
238
- // project `.env` must never enable either — that would let an untrusted repo
239
- // silently turn off MITM protection. Opt-in stays with the user via the
240
- // `--insecure` flag, the shell environment, or a home `.env`. The initial
241
- // `.env` load only consults this list, so both keys must be here (not just
242
- // RELOAD_EXCLUDED_KEYS, which only applies on reload).
243
- "QWEN_TLS_INSECURE",
244
- "NODE_TLS_REJECT_UNAUTHORIZED"
245
- ];
246
- var HOME_ENV_BOOTSTRAP_KEYS = [
247
- "QWEN_HOME",
248
- "QWEN_RUNTIME_DIR",
249
- "QWEN_CODE_MCP_APPROVALS_PATH",
250
- "QWEN_CODE_TRUSTED_FOLDERS_PATH"
251
- ];
252
-
253
224
  // packages/cli/src/config/storage-paths-lite.ts
254
225
  init_esbuild_shims();
255
226
  import * as os from "node:os";
@@ -310,11 +281,6 @@ export {
310
281
  V1_TO_V2_PRESERVE_DISABLE_MAP,
311
282
  CONSOLIDATED_DISABLE_KEYS,
312
283
  V1_INDICATOR_KEYS,
313
- DEFAULT_EXCLUDED_ENV_VARS,
314
- ENV_CORRUPTED_PATH,
315
- ENV_WAS_RECOVERED,
316
- PROJECT_ENV_HARDCODED_EXCLUSIONS,
317
- HOME_ENV_BOOTSTRAP_KEYS,
318
284
  SETTINGS_DIRECTORY_NAME,
319
285
  resolveConfigPathLite,
320
286
  getGlobalQwenDirLite,
@@ -2,30 +2,31 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-I4A4K72C.js";
5
+ } from "./chunk-VL7GBUQA.js";
6
6
  import {
7
7
  require_undici
8
- } from "./chunk-54YZOP7P.js";
8
+ } from "./chunk-L573Z2QZ.js";
9
9
  import {
10
+ IdeClient,
10
11
  getAllProviderBaseUrls
11
- } from "./chunk-YEGT55NW.js";
12
+ } from "./chunk-UUVCHN62.js";
12
13
  import {
13
14
  initializeTelemetry
14
- } from "./chunk-GMOWQOQQ.js";
15
+ } from "./chunk-MUCWGT7O.js";
15
16
  import {
16
17
  detectRuntime,
17
18
  getOrCreateSharedDispatcher,
18
19
  redactProxyCredentials
19
- } from "./chunk-H6EMK6QK.js";
20
+ } from "./chunk-4ZVWQHEQ.js";
20
21
  import {
21
22
  createDebugLogger
22
- } from "./chunk-22MNNNXE.js";
23
+ } from "./chunk-J4TSQ5EQ.js";
23
24
  import {
24
25
  recordStartupEvent
25
- } from "./chunk-ITOGNELQ.js";
26
+ } from "./chunk-QSWDGAIC.js";
26
27
  import {
27
28
  init_esbuild_shims
28
- } from "./chunk-A4BMJM77.js";
29
+ } from "./chunk-5O2XNYP6.js";
29
30
  import {
30
31
  __name,
31
32
  __toESM
@@ -144,24 +145,38 @@ __name(preconnectApi, "preconnectApi");
144
145
 
145
146
  // packages/cli/src/startup/startup-prefetch.ts
146
147
  var debugLogger2 = createDebugLogger("STARTUP_PREFETCH");
147
- var DEFERRED_IDE_CONNECT_TIMEOUT_MS = 1e4;
148
+ var DEFERRED_IDE_CONNECT_TIMEOUT_MS = 15e3;
148
149
  var earlyStarted = /* @__PURE__ */ new WeakSet();
149
150
  var postRenderStarted = /* @__PURE__ */ new WeakSet();
150
- function withTimeout(promise, name, timeoutMs) {
151
+ function withTimeout(promise, name, timeoutMs, onTimeout = () => {
152
+ }) {
151
153
  let timeoutId;
152
154
  let timedOut = false;
155
+ const runTimeoutCleanup = /* @__PURE__ */ __name(() => {
156
+ void Promise.resolve().then(onTimeout).catch((err) => {
157
+ debugLogger2.debug(`${name} timeout cleanup failed:`, err);
158
+ });
159
+ }, "runTimeoutCleanup");
153
160
  const timeout = new Promise((_, reject) => {
154
161
  timeoutId = setTimeout(() => {
155
162
  timedOut = true;
163
+ runTimeoutCleanup();
156
164
  reject(new Error(`${name} timed out after ${timeoutMs}ms`));
157
165
  }, timeoutMs);
158
166
  timeoutId.unref?.();
159
167
  });
160
- promise.catch((err) => {
161
- if (timedOut) {
162
- debugLogger2.debug(`${name} underlying error after timeout:`, err);
168
+ void promise.then(
169
+ () => {
170
+ if (timedOut) {
171
+ runTimeoutCleanup();
172
+ }
173
+ },
174
+ (err) => {
175
+ if (timedOut) {
176
+ debugLogger2.debug(`${name} underlying error after timeout:`, err);
177
+ }
163
178
  }
164
- });
179
+ );
165
180
  return Promise.race([promise, timeout]).finally(() => {
166
181
  if (timeoutId) {
167
182
  clearTimeout(timeoutId);
@@ -179,6 +194,11 @@ function runDeferredTask(name, task) {
179
194
  });
180
195
  }
181
196
  __name(runDeferredTask, "runDeferredTask");
197
+ async function disconnectIdeAfterDeferredTimeout() {
198
+ const ideClient = await IdeClient.getInstance();
199
+ await ideClient.disconnect();
200
+ }
201
+ __name(disconnectIdeAfterDeferredTimeout, "disconnectIdeAfterDeferredTimeout");
182
202
  function startEarlyStartupPrefetches(config) {
183
203
  if (earlyStarted.has(config)) return;
184
204
  earlyStarted.add(config);
@@ -200,12 +220,35 @@ function startPostRenderPrefetches(config, settings, options = {}) {
200
220
  postRenderStarted.add(config);
201
221
  if (settings.merged.general?.enableAutoUpdate !== false) {
202
222
  runDeferredTask("update_check", async () => {
203
- const [{ checkForUpdates }, { handleAutoUpdate }] = await Promise.all([
204
- import("./updateCheck-E2ZX7RL7.js"),
205
- import("./handleAutoUpdate-HN7ZOSXY.js")
223
+ const [
224
+ { checkForUpdatesDetailed },
225
+ { handleAutoUpdate },
226
+ { updateEventEmitter },
227
+ { t }
228
+ ] = await Promise.all([
229
+ import("./updateCheck-NKPJGJCR.js"),
230
+ import("./handleAutoUpdate-FFF3CZGP.js"),
231
+ import("./updateEventEmitter-5MKC7BLQ.js"),
232
+ import("./i18n-QQAJT7A2.js")
206
233
  ]);
207
- const info = await checkForUpdates();
208
- handleAutoUpdate(info, settings, config.getProjectRoot());
234
+ const updateFailedMessage = t(
235
+ "Failed to check for updates. Please check your network or registry configuration."
236
+ );
237
+ try {
238
+ const result = await checkForUpdatesDetailed();
239
+ if (result.status === "update") {
240
+ handleAutoUpdate(result.info, settings, config.getProjectRoot());
241
+ } else if (result.status === "error") {
242
+ updateEventEmitter.emit("update-failed", {
243
+ message: updateFailedMessage
244
+ });
245
+ }
246
+ } catch (error) {
247
+ updateEventEmitter.emit("update-failed", {
248
+ message: updateFailedMessage
249
+ });
250
+ throw error;
251
+ }
209
252
  });
210
253
  }
211
254
  if (options.connectIde && config.getIdeMode()) {
@@ -214,11 +257,12 @@ function startPostRenderPrefetches(config, settings, options = {}) {
214
257
  state: "connecting"
215
258
  });
216
259
  try {
217
- const { connectIdeForStartup } = await import("./initializer-SRN3IM42.js");
260
+ const { connectIdeForStartup } = await import("./initializer-LGQGC7ZT.js");
218
261
  await withTimeout(
219
262
  connectIdeForStartup(config),
220
263
  "ide_connect",
221
- DEFERRED_IDE_CONNECT_TIMEOUT_MS
264
+ DEFERRED_IDE_CONNECT_TIMEOUT_MS,
265
+ disconnectIdeAfterDeferredTimeout
222
266
  );
223
267
  appEvents.emit("startup-ide-connection-status-changed" /* StartupIdeConnectionStatusChanged */, {
224
268
  state: "connected"
@@ -239,7 +283,7 @@ function startPostRenderPrefetches(config, settings, options = {}) {
239
283
  }
240
284
  if (config.isInteractive()) {
241
285
  runDeferredTask("background_housekeeping", async () => {
242
- const { startBackgroundHousekeeping } = await import("./scheduler-ZRW3AIDU.js");
286
+ const { startBackgroundHousekeeping } = await import("./scheduler-XXEA6EFC.js");
243
287
  startBackgroundHousekeeping(config, settings);
244
288
  });
245
289
  }
@@ -1,27 +1,29 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
3
  import {
4
- DEFAULT_EXCLUDED_ENV_VARS,
5
- HOME_ENV_BOOTSTRAP_KEYS,
6
- PROJECT_ENV_HARDCODED_EXCLUSIONS,
7
4
  SETTINGS_DIRECTORY_NAME,
8
5
  V1_INDICATOR_KEYS,
9
6
  getGlobalQwenDirLite,
10
7
  getSystemDefaultsPath,
11
8
  getSystemSettingsPath,
12
9
  resolveEnvVarsInObject
13
- } from "./chunk-4RQIB5UZ.js";
10
+ } from "./chunk-3BTRNWWD.js";
11
+ import {
12
+ DEFAULT_EXCLUDED_ENV_VARS,
13
+ HOME_ENV_BOOTSTRAP_KEYS,
14
+ PROJECT_ENV_HARDCODED_EXCLUSIONS
15
+ } from "./chunk-QRUIS3DN.js";
14
16
  import {
15
17
  getPathComparisonVariants,
16
18
  isWithinRoot,
17
19
  require_strip_json_comments
18
- } from "./chunk-QYUE6W3T.js";
20
+ } from "./chunk-RDJSGHZE.js";
19
21
  import {
20
22
  require_main
21
- } from "./chunk-SKAZWEV5.js";
23
+ } from "./chunk-ZJE7NSL3.js";
22
24
  import {
23
25
  init_esbuild_shims
24
- } from "./chunk-A4BMJM77.js";
26
+ } from "./chunk-5O2XNYP6.js";
25
27
  import {
26
28
  __name,
27
29
  __toESM
@@ -365,6 +367,18 @@ function pickFastPathSettings(value) {
365
367
  if (isPlainObject(env)) {
366
368
  out.env = pickStringRecord(env);
367
369
  }
370
+ const general = value["general"];
371
+ if (isPlainObject(general)) {
372
+ const chatRecording = general["chatRecording"];
373
+ if (chatRecording !== void 0 && typeof chatRecording !== "boolean") {
374
+ throw new Error(
375
+ "Serve fast path settings general.chatRecording must be a boolean."
376
+ );
377
+ }
378
+ if (chatRecording !== void 0) {
379
+ out.general = { chatRecording };
380
+ }
381
+ }
368
382
  const advanced = value["advanced"];
369
383
  if (isPlainObject(advanced)) {
370
384
  const pickedAdvanced = {};
@@ -509,6 +523,9 @@ function mergeFastPathSettings(...sources) {
509
523
  if (source.env) {
510
524
  merged.env = { ...merged.env ?? {}, ...source.env };
511
525
  }
526
+ if (source.general) {
527
+ merged.general = { ...merged.general ?? {}, ...source.general };
528
+ }
512
529
  if (source.advanced?.excludedEnvVars) {
513
530
  merged.advanced = {
514
531
  ...merged.advanced ?? {},