@qwen-code/qwen-code 0.19.2 → 0.19.3-nightly.20260630.e00fe6a27

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 (286) hide show
  1. package/bundled/extension-creator/SKILL.md +357 -0
  2. package/bundled/loop/SKILL.md +21 -7
  3. package/bundled/loop/SKILL.test.ts +41 -0
  4. package/bundled/loop/loop-task-file.test.ts +1064 -0
  5. package/bundled/loop/loop-task-file.ts +404 -0
  6. package/bundled/loop/loop-tick-resolver.test.ts +665 -0
  7. package/bundled/loop/loop-tick-resolver.ts +347 -0
  8. package/bundled/qc-helper/SKILL.md +26 -19
  9. package/bundled/qc-helper/docs/configuration/auth.md +11 -11
  10. package/bundled/qc-helper/docs/configuration/model-providers.md +13 -13
  11. package/bundled/qc-helper/docs/configuration/settings.md +76 -75
  12. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
  13. package/bundled/qc-helper/docs/features/commands.md +108 -77
  14. package/bundled/qc-helper/docs/features/hooks.md +6 -1
  15. package/bundled/qc-helper/docs/features/memory.md +52 -0
  16. package/bundled/qc-helper/docs/qwen-serve.md +24 -2
  17. package/bundled/qc-helper/docs/support/tos-privacy.md +16 -3
  18. package/bundled/qc-helper/docs/support/troubleshooting.md +6 -0
  19. package/chunks/{MaxSizedBox-7RERNLFK.js → MaxSizedBox-T5X5MN5Q.js} +29 -27
  20. package/chunks/{StandaloneSessionPicker-S22XBSN6.js → StandaloneSessionPicker-P3E3WTOQ.js} +42 -37
  21. package/chunks/{acpAgent-4MCETHF2.js → acpAgent-QEP6DXFW.js} +864 -175
  22. package/chunks/{agent-K3ENVYSB.js → agent-UDANDUF7.js} +24 -23
  23. package/chunks/{agent-headless-HO3V3A3A.js → agent-headless-KYVSZHSO.js} +24 -23
  24. package/chunks/{anthropicContentGenerator-E3TQ5XJJ.js → anthropicContentGenerator-KWSJAQ7B.js} +33 -12
  25. package/chunks/{artifact-tool-QA4KRO3B.js → artifact-tool-D2X7G3C3.js} +2 -2
  26. package/chunks/{askUserQuestion-HMWXW6VN.js → askUserQuestion-UGETICJQ.js} +2 -2
  27. package/chunks/{bridge-4LV2HBH2.js → bridge-X42LXPTA.js} +31 -30
  28. package/chunks/{ca-7WC7ELX6.js → ca-IUFWESZL.js} +1 -0
  29. package/chunks/{chunk-JXQ23SNT.js → chunk-2JKEQWDZ.js} +623 -78
  30. package/chunks/{chunk-2TJ3YN6Q.js → chunk-2RJA6J57.js} +416 -401
  31. package/chunks/{chunk-3UALQ56H.js → chunk-3227DZO4.js} +1 -1
  32. package/chunks/{chunk-BGUDAULQ.js → chunk-3CPCDXFR.js} +5 -5
  33. package/chunks/{chunk-5RVSM6NW.js → chunk-3HUHAQF3.js} +1 -1
  34. package/chunks/{chunk-D5E5TMYH.js → chunk-3M4W4U5G.js} +16 -2
  35. package/chunks/{chunk-DBZUXSSV.js → chunk-4X7NIEQJ.js} +3 -3
  36. package/chunks/chunk-5GOVVXEV.js +73 -0
  37. package/chunks/{chunk-2BAQ3ACS.js → chunk-5SM4VT6V.js} +405 -5
  38. package/chunks/{chunk-NYOHZYHM.js → chunk-5XQ4A26L.js} +45 -3
  39. package/chunks/{chunk-CI5O6SQL.js → chunk-6FKEVYCD.js} +4 -4
  40. package/chunks/{chunk-ZD3NW5KL.js → chunk-7LM4XHPE.js} +63 -9
  41. package/chunks/chunk-7UNP2XM7.js +840 -0
  42. package/chunks/{chunk-OQHQHJRK.js → chunk-ARYCHZ4B.js} +151 -4775
  43. package/chunks/chunk-BC3C4F3Q.js +40 -0
  44. package/chunks/{chunk-CGEGHF2C.js → chunk-BKXBARJZ.js} +1 -1
  45. package/chunks/chunk-BMFMJINR.js +45 -0
  46. package/chunks/chunk-BOJWHRMX.js +11273 -0
  47. package/chunks/{chunk-CGOMICBE.js → chunk-BSZEQNUA.js} +34 -1
  48. package/chunks/{chunk-OIC6S73E.js → chunk-BUUQ5HPX.js} +1 -1
  49. package/chunks/{chunk-2BIF2NVV.js → chunk-BVSVIN45.js} +2 -2
  50. package/chunks/{chunk-TOEGRAVX.js → chunk-BX5YO7UW.js} +17 -5
  51. package/chunks/{chunk-4W4T77MO.js → chunk-BXVWV4GI.js} +109 -6
  52. package/chunks/{chunk-VQRYPFCV.js → chunk-CYHVPQYT.js} +10 -460
  53. package/chunks/{chunk-PRYMDRBV.js → chunk-DDMOU62Q.js} +1 -1
  54. package/chunks/{chunk-S566HKUS.js → chunk-DHXWNSJA.js} +15 -1
  55. package/chunks/{chunk-F6XNTYNE.js → chunk-E6XQPQXW.js} +30 -307
  56. package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
  57. package/chunks/{chunk-EL5IHQON.js → chunk-EWYQFWYF.js} +6 -27
  58. package/chunks/{chunk-HG6YKEBI.js → chunk-F2DOT6UZ.js} +161 -30
  59. package/chunks/{chunk-JTYRZODB.js → chunk-FOOIZCWL.js} +16 -7
  60. package/chunks/{chunk-EX4W6ZYG.js → chunk-G5G4TFZ7.js} +1 -1
  61. package/chunks/{chunk-EW6C27XX.js → chunk-GEHVIWAT.js} +9 -3
  62. package/chunks/chunk-HEVBZSXG.js +4923 -0
  63. package/chunks/chunk-HFQ2XSE7.js +690 -0
  64. package/chunks/{chunk-PF523XJX.js → chunk-HPGTGMP3.js} +1 -1
  65. package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
  66. package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
  67. package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
  68. package/chunks/{chunk-TZM5JIAX.js → chunk-JYPQTRA3.js} +10 -7
  69. package/chunks/chunk-K5XU6E4T.js +167 -0
  70. package/chunks/{chunk-BS64PXY3.js → chunk-KFVU7ODN.js} +1 -1
  71. package/chunks/{chunk-3RJ3ZPPR.js → chunk-KKQWC6WS.js} +7 -7
  72. package/chunks/{chunk-3QFE4OTE.js → chunk-LBW7NW7X.js} +4 -4
  73. package/chunks/{chunk-Z7XXFPGP.js → chunk-LDWTYE33.js} +1 -1
  74. package/chunks/{chunk-EXMX5YHG.js → chunk-LP5E4YIH.js} +1 -1
  75. package/chunks/{chunk-ZUAXI2OA.js → chunk-M2U5NM24.js} +188 -11366
  76. package/chunks/{chunk-I5T6PIBQ.js → chunk-MBV2CTRL.js} +1010 -925
  77. package/chunks/{chunk-5JZLXFPD.js → chunk-MTHMXSNT.js} +11 -11
  78. package/chunks/{chunk-FPACXT7T.js → chunk-MTJVHQDP.js} +534 -164
  79. package/chunks/chunk-NDOC6M5S.js +481 -0
  80. package/chunks/{chunk-HGNSRCRB.js → chunk-NL4C3H6C.js} +1 -1
  81. package/chunks/{chunk-GZCJS5WH.js → chunk-O2VBQ3Y2.js} +2 -2
  82. package/chunks/{chunk-UN3C6GOR.js → chunk-PPFWEV7G.js} +10 -108
  83. package/chunks/{chunk-RS4HRC75.js → chunk-QI2CFVRF.js} +85 -8
  84. package/chunks/{chunk-XU5P23GN.js → chunk-QLDPRILK.js} +3 -3
  85. package/chunks/chunk-QYUE6W3T.js +123 -0
  86. package/chunks/{chunk-USGMPVOY.js → chunk-R3LHDWF2.js} +21 -12
  87. package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
  88. package/chunks/{chunk-PXFFKNCO.js → chunk-RIP623NO.js} +4877 -2469
  89. package/chunks/{chunk-XKBP7M7A.js → chunk-RYBSUGOR.js} +142 -30
  90. package/chunks/{chunk-BG4BIP7F.js → chunk-SBBN4BWR.js} +4 -2
  91. package/chunks/{chunk-T2VDEFUU.js → chunk-SKQZZVAV.js} +2 -2
  92. package/chunks/{chunk-5R4SBCX6.js → chunk-SL5MOGQH.js} +3 -3
  93. package/chunks/chunk-SMXULRAN.js +37 -0
  94. package/chunks/{chunk-WA5OJGFL.js → chunk-SS6WJMQK.js} +363 -76
  95. package/chunks/{chunk-UAARVVBI.js → chunk-TNWFHGN6.js} +1 -1
  96. package/chunks/{chunk-I2RFAW6Q.js → chunk-TT6Q3EN4.js} +7 -5
  97. package/chunks/chunk-UAKXW3DN.js +30 -0
  98. package/chunks/{chunk-C4K3FEQ2.js → chunk-UX4SGCGN.js} +32 -3
  99. package/chunks/{chunk-J6AW7O5D.js → chunk-WHDQZHRU.js} +2 -2
  100. package/chunks/{chunk-WGAEWQTF.js → chunk-WN6K47NR.js} +1 -2
  101. package/chunks/{chunk-UAARJR2G.js → chunk-WQT5SOI6.js} +2 -2
  102. package/chunks/{chunk-VYFMN7C6.js → chunk-WUMVIRTN.js} +225 -37
  103. package/chunks/{chunk-R36VMVEP.js → chunk-XJMKOTVV.js} +5 -5
  104. package/chunks/{chunk-TXVGVZYR.js → chunk-XJYUPHRC.js} +3 -3
  105. package/chunks/{chunk-2JD55C6G.js → chunk-Y6YMRS3U.js} +2 -2
  106. package/chunks/{chunk-LLFFKXZZ.js → chunk-YALKC62D.js} +56 -29
  107. package/chunks/{chunk-GYZQA2FO.js → chunk-YLZJCUH6.js} +1 -1
  108. package/chunks/chunk-YTFBURQD.js +313 -0
  109. package/chunks/{chunk-KBXLIVWQ.js → chunk-ZFPRYHWR.js} +2 -2
  110. package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
  111. package/chunks/{computer-use-6BBRNT6S.js → computer-use-LF2S6LUZ.js} +103 -49
  112. package/chunks/{contextCommand-UJAJ6N57.js → contextCommand-VPX5UG55.js} +26 -25
  113. package/chunks/{cron-create-4KQE6YLH.js → cron-create-SKEY55RG.js} +4 -4
  114. package/chunks/{cron-delete-THME66UP.js → cron-delete-I3NAT32Z.js} +6 -6
  115. package/chunks/{cron-list-7A54SJ5N.js → cron-list-6XRRL6TH.js} +5 -5
  116. package/chunks/{daemon-status-provider-CSL3BUOY.js → daemon-status-provider-5JAWZS4V.js} +34 -34
  117. package/chunks/{de-ACHALDED.js → de-EOW5PVHF.js} +1 -0
  118. package/chunks/{dist-BD27IA3L.js → dist-4FCNM6KJ.js} +2 -2
  119. package/chunks/{dist-OD2FY543.js → dist-O3H4PABL.js} +2 -2
  120. package/chunks/{dist-BOOH5JWN.js → dist-SCAAUWPS.js} +18 -4
  121. package/chunks/{dist-QHJRBCMP.js → dist-UKPWQJCL.js} +44 -2
  122. package/chunks/{dist-QFFZWACU.js → dist-VD7HXTML.js} +20 -9
  123. package/chunks/{earlyInputCapture-X6KMCSHD.js → earlyInputCapture-7FRQMU4P.js} +25 -24
  124. package/chunks/{edit-7J6WXARF.js → edit-REKJDIRL.js} +68 -27
  125. package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
  126. package/chunks/{enter-worktree-KULCKJPJ.js → enter-worktree-GBKUDCD3.js} +24 -23
  127. package/chunks/{enterPlanMode-H2CIOLMH.js → enterPlanMode-WB3Y4FGT.js} +24 -23
  128. package/chunks/{errors-6G2JYR54.js → errors-2XJDYO3M.js} +26 -25
  129. package/chunks/{exit-worktree-ECBWBVC5.js → exit-worktree-KKC7O2ZV.js} +24 -23
  130. package/chunks/{exitPlanMode-DQV56GTW.js → exitPlanMode-7HMS3TF7.js} +24 -23
  131. package/chunks/{fast-path-35JJFS3C.js → fast-path-XVNIYWGG.js} +4 -4
  132. package/chunks/{fast-path-settings-TSVI53EB.js → fast-path-settings-UQLRFDQP.js} +3 -2
  133. package/chunks/{fr-GVKZ27MF.js → fr-BN5NKSAC.js} +1 -0
  134. package/chunks/{gemini-NDTG7WAX.js → gemini-U5TPU3IQ.js} +210 -104
  135. package/chunks/{geminiContentGenerator-XTG6SFLA.js → geminiContentGenerator-ZVWRHXOO.js} +4 -4
  136. package/chunks/{glob-SJ2JBZK4.js → glob-FEJWIH2W.js} +24 -23
  137. package/chunks/{grep-BRMWFEWR.js → grep-KMP25IIA.js} +24 -23
  138. package/chunks/{headlessSafetyWarnings-LJ6FJX77.js → headlessSafetyWarnings-5DEDET4M.js} +24 -23
  139. package/chunks/{initializer-P5AXF7PV.js → initializer-FJTACLOH.js} +31 -28
  140. package/chunks/{ja-FKZ2WZ4D.js → ja-7DEUB2TS.js} +1 -0
  141. package/chunks/{keychain-token-storage-CSYMNRPP.js → keychain-token-storage-YLMDLKXT.js} +2 -2
  142. package/chunks/{list-6COK34BP.js → list-SCQXYJUW.js} +32 -29
  143. package/chunks/{loadedSettingsAdapter-XIUTN245.js → loadedSettingsAdapter-P6KPNAG7.js} +30 -27
  144. package/chunks/{loop-wakeup-33GPXJLA.js → loop-wakeup-FYEQEJUA.js} +7 -7
  145. package/chunks/{ls-BYQY7RVV.js → ls-R5WP4BGZ.js} +4 -4
  146. package/chunks/{lsp-X54RO4IV.js → lsp-GSICJMMW.js} +2 -2
  147. package/chunks/{monitor-DH7KFSJV.js → monitor-JU3HHHVY.js} +24 -23
  148. package/chunks/nonInteractiveCli-IZEKUHU3.js +100 -0
  149. package/chunks/{notebook-edit-D4R4ZLMA.js → notebook-edit-YHY3Z2QQ.js} +52 -23
  150. package/chunks/{openaiContentGenerator-F74IPQ6E.js → openaiContentGenerator-4WUVA3Q2.js} +13 -12
  151. package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
  152. package/chunks/{qwenContentGenerator-ATTK5P4D.js → qwenContentGenerator-MVYYR44B.js} +26 -25
  153. package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-6HNGHALT.js} +5 -4
  154. package/chunks/{read-file-767G23OY.js → read-file-NABEO2X4.js} +8 -8
  155. package/chunks/{read-mcp-resource-I5HCZJ6X.js → read-mcp-resource-DQQW7H7T.js} +2 -2
  156. package/chunks/{ripGrep-4OMMGSWX.js → ripGrep-YXLK6UTX.js} +24 -23
  157. package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
  158. package/chunks/{run-qwen-serve-REKSTYRA.js → run-qwen-serve-4B5QBMLQ.js} +144 -41
  159. package/chunks/{scheduler-UNTFDQLG.js → scheduler-XAKIYBDL.js} +24 -23
  160. package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
  161. package/chunks/{serve-KZ56QB5S.js → serve-4RXVLUKD.js} +30 -28
  162. package/chunks/{server-BV5TZUMU.js → server-7PA5QGIA.js} +11037 -8747
  163. package/chunks/{session-OIBXFSGD.js → session-WNVWRYAH.js} +194 -57
  164. package/chunks/{settings-WJTCBIRA.js → settings-YJH32TFF.js} +30 -27
  165. package/chunks/{shell-WC52IBHW.js → shell-YFLABOS5.js} +24 -23
  166. package/chunks/{skill-U7F7JR4M.js → skill-N3J7FUAY.js} +38 -11
  167. package/chunks/{spawnChannel-EI2E5BCW.js → spawnChannel-D6WVMFZJ.js} +26 -25
  168. package/chunks/{src-4F6FBZFI.js → src-IU5GDBEH.js} +88 -28
  169. package/chunks/{startInteractiveUI-SFRVB3CE.js → startInteractiveUI-QIPQTRT4.js} +2784 -2474
  170. package/chunks/{syntheticOutput-PPS3HDVA.js → syntheticOutput-T5YHQ6S2.js} +3 -3
  171. package/chunks/{task-create-OUYCA553.js → task-create-BLY7RHXX.js} +6 -6
  172. package/chunks/{task-list-WAX7I2IA.js → task-list-3QUYNVYR.js} +5 -5
  173. package/chunks/{task-stop-CAIL6FNH.js → task-stop-U4RATK2V.js} +2 -2
  174. package/chunks/{task-update-AHEO5OUT.js → task-update-U54O7KJX.js} +6 -6
  175. package/chunks/{team-create-3WC7CIIW.js → team-create-TP4CLLM3.js} +24 -23
  176. package/chunks/{team-delete-HGHFG23B.js → team-delete-LKBYPASD.js} +5 -5
  177. package/chunks/{theme-manager-DICFCT3P.js → theme-manager-N2TBIBZT.js} +25 -24
  178. package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
  179. package/chunks/{tool-search-L5K7HLER.js → tool-search-GBBSICYB.js} +101 -16
  180. package/chunks/trustedFolders-F7TBU5CD.js +76 -0
  181. package/chunks/types-QX5C3CHJ.js +12 -0
  182. package/chunks/{validateNonInterActiveAuth-GCH4Z6KI.js → validateNonInterActiveAuth-EQDQPSMI.js} +55 -50
  183. package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-PCVCML2X.js} +29 -15
  184. package/chunks/{workflow-OB3AND7I.js → workflow-ANJ4FYBK.js} +32 -30
  185. package/chunks/{workspace-providers-status-ZIR5EPOO.js → workspace-providers-status-462QQKQM.js} +32 -29
  186. package/chunks/workspace-service-VTG4G6CW.js +75 -0
  187. package/chunks/{write-file-SEXBNDZM.js → write-file-3P3WMQQW.js} +63 -27
  188. package/chunks/{zh-RBEGQVQT.js → zh-5EUYXASN.js} +8 -0
  189. package/chunks/{zh-TW-QGAVRXT3.js → zh-TW-TR3XYGE5.js} +8 -0
  190. package/cli-entry.js +20 -9
  191. package/cli.js +6 -6
  192. package/locales/ca.js +2 -0
  193. package/locales/de.js +2 -0
  194. package/locales/en.js +14 -0
  195. package/locales/fr.js +2 -0
  196. package/locales/ja.js +1 -0
  197. package/locales/pt.js +2 -0
  198. package/locales/ru.js +2 -0
  199. package/locales/zh-TW.js +12 -0
  200. package/locales/zh.js +12 -0
  201. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +35 -0
  202. package/node_modules/@qwen-code/audio-capture/dist/index.js +48 -0
  203. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +1 -0
  204. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +7 -0
  205. package/node_modules/@qwen-code/audio-capture/dist/platform.js +18 -0
  206. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +1 -0
  207. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +21 -0
  208. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +58 -0
  209. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +5 -0
  210. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +84 -0
  211. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +19 -0
  212. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +6 -0
  213. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  214. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +7 -0
  215. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +43 -0
  216. package/node_modules/@qwen-code/audio-capture/package.json +30 -0
  217. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  218. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  219. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  220. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  221. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  222. package/package.json +18 -6
  223. package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
  224. package/postinstall.js +50 -0
  225. package/web-shell/assets/{arc-D_ae_Y9k.js → arc-DIemsO_F.js} +1 -1
  226. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BMLRjppa.js → architectureDiagram-3BPJPVTR-CTlUvIQv.js} +1 -1
  227. package/web-shell/assets/{blockDiagram-GPEHLZMM-qVDQC8KL.js → blockDiagram-GPEHLZMM-DG0jmIZK.js} +1 -1
  228. package/web-shell/assets/{c4Diagram-AAUBKEIU-CxWS6MBd.js → c4Diagram-AAUBKEIU-WljDBi55.js} +1 -1
  229. package/web-shell/assets/channel-CbzRbdpA.js +1 -0
  230. package/web-shell/assets/{chunk-2J33WTMH-BtNuY5Yp.js → chunk-2J33WTMH-8nc6onr2.js} +1 -1
  231. package/web-shell/assets/{chunk-4BX2VUAB-BU-x368d.js → chunk-4BX2VUAB-EopXix8Z.js} +1 -1
  232. package/web-shell/assets/{chunk-55IACEB6-DRgTLvBu.js → chunk-55IACEB6-BE4Jz3N3.js} +1 -1
  233. package/web-shell/assets/{chunk-727SXJPM-D2aElv7q.js → chunk-727SXJPM-C_eErgDN.js} +1 -1
  234. package/web-shell/assets/{chunk-AQP2D5EJ-BwHCMRQ0.js → chunk-AQP2D5EJ-DFtVW-Is.js} +1 -1
  235. package/web-shell/assets/{chunk-FMBD7UC4-BMyPH-ku.js → chunk-FMBD7UC4-CJPyxIg9.js} +1 -1
  236. package/web-shell/assets/{chunk-ND2GUHAM-BNKTstUf.js → chunk-ND2GUHAM-Bk-xgj6M.js} +1 -1
  237. package/web-shell/assets/{chunk-QZHKN3VN-gD3vsFId.js → chunk-QZHKN3VN-p3Y4yaFB.js} +1 -1
  238. package/web-shell/assets/classDiagram-4FO5ZUOK-BFdyQ52h.js +1 -0
  239. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BFdyQ52h.js +1 -0
  240. package/web-shell/assets/{cose-bilkent-S5V4N54A-BG9FAsXE.js → cose-bilkent-S5V4N54A-BCMO6Js3.js} +1 -1
  241. package/web-shell/assets/{dagre-BM42HDAG-Cy1sR7om.js → dagre-BM42HDAG-DUMrwASf.js} +1 -1
  242. package/web-shell/assets/default-aEtf0G7-.svg +1 -0
  243. package/web-shell/assets/{diagram-2AECGRRQ-Bxi1I_Vu.js → diagram-2AECGRRQ-C5d7qJbL.js} +1 -1
  244. package/web-shell/assets/{diagram-5GNKFQAL-BGCJjO6y.js → diagram-5GNKFQAL-CjLzMhbT.js} +1 -1
  245. package/web-shell/assets/{diagram-KO2AKTUF-CMTeLXp7.js → diagram-KO2AKTUF-RCoNWeAm.js} +1 -1
  246. package/web-shell/assets/{diagram-LMA3HP47-BN1wyAGh.js → diagram-LMA3HP47-KThXjaNV.js} +1 -1
  247. package/web-shell/assets/{diagram-OG6HWLK6-UYSG_zcp.js → diagram-OG6HWLK6-DKsC2BWz.js} +1 -1
  248. package/web-shell/assets/{erDiagram-TEJ5UH35-DqXL08lw.js → erDiagram-TEJ5UH35-DJ2ukmq0.js} +1 -1
  249. package/web-shell/assets/{flowDiagram-I6XJVG4X-BPJ9SFji.js → flowDiagram-I6XJVG4X-zzqaARRX.js} +1 -1
  250. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BEd9Pnms.js → ganttDiagram-6RSMTGT7-kFUg-gqT.js} +1 -1
  251. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DrNRH3oi.js → gitGraphDiagram-PVQCEYII-C6JnMVzD.js} +1 -1
  252. package/web-shell/assets/index-B3XUm7dw.js +713 -0
  253. package/web-shell/assets/index-CHmzAWys.css +5 -0
  254. package/web-shell/assets/{infoDiagram-5YYISTIA-CFYBrkVI.js → infoDiagram-5YYISTIA-XqPVhp89.js} +1 -1
  255. package/web-shell/assets/insert-DmRbh9Rv.svg +1 -0
  256. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Dxsddth7.js → ishikawaDiagram-YF4QCWOH-D2k8sGpf.js} +1 -1
  257. package/web-shell/assets/{journeyDiagram-JHISSGLW-DxaDK80t.js → journeyDiagram-JHISSGLW-CQEST1GE.js} +1 -1
  258. package/web-shell/assets/{kanban-definition-UN3LZRKU-Q0jQCOct.js → kanban-definition-UN3LZRKU-DZ7kqVBC.js} +1 -1
  259. package/web-shell/assets/{linear-DGGM2kcP.js → linear-B6C_6q_E.js} +1 -1
  260. package/web-shell/assets/{mermaid.core-ByoxnWut.js → mermaid.core-CsyNP1qt.js} +5 -5
  261. package/web-shell/assets/{mindmap-definition-RKZ34NQL-C0ZseHsi.js → mindmap-definition-RKZ34NQL-B1VDIzJq.js} +1 -1
  262. package/web-shell/assets/{pieDiagram-4H26LBE5-MQXNhl5A.js → pieDiagram-4H26LBE5-DN0E7Jwu.js} +1 -1
  263. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DIR4ee2A.js → quadrantDiagram-W4KKPZXB-UKTQdHKm.js} +1 -1
  264. package/web-shell/assets/queue-DWpnpFgW.svg +1 -0
  265. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BTR0UdYQ.js → requirementDiagram-4Y6WPE33-BRGceQvN.js} +1 -1
  266. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-sfnhMELN.js → sankeyDiagram-5OEKKPKP-2DDyu41v.js} +1 -1
  267. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DXczHOHH.js → sequenceDiagram-3UESZ5HK-CT5iE8ZU.js} +1 -1
  268. package/web-shell/assets/{stateDiagram-AJRCARHV-DdE_KQFH.js → stateDiagram-AJRCARHV-CqMQ_s4G.js} +1 -1
  269. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CamhV5pM.js +1 -0
  270. package/web-shell/assets/{timeline-definition-PNZ67QCA-DIc61uE8.js → timeline-definition-PNZ67QCA-Di37QSZU.js} +1 -1
  271. package/web-shell/assets/{vennDiagram-CIIHVFJN-BF7ODmxB.js → vennDiagram-CIIHVFJN-DCXvpz5S.js} +1 -1
  272. package/web-shell/assets/{wardley-L42UT6IY-3pc1MEaw.js → wardley-L42UT6IY-CpUCk6OX.js} +1 -1
  273. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-9jnPcZuP.js → wardleyDiagram-YWT4CUSO-D01pVEBg.js} +1 -1
  274. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DcthaZK6.js → xychartDiagram-2RQKCTM6-DOu5JDoz.js} +1 -1
  275. package/web-shell/index.html +2 -2
  276. package/chunks/chunk-B6HQGTYR.js +0 -410
  277. package/chunks/chunk-R2BXK7SX.js +0 -13
  278. package/chunks/chunk-RKIZXJMB.js +0 -13
  279. package/chunks/nonInteractiveCli-7575LBXP.js +0 -91
  280. package/chunks/workspace-service-OM5D4OI2.js +0 -60
  281. package/web-shell/assets/channel-DYPNiTww.js +0 -1
  282. package/web-shell/assets/classDiagram-4FO5ZUOK-p_g25Tni.js +0 -1
  283. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-p_g25Tni.js +0 -1
  284. package/web-shell/assets/index-CpOXWDPh.js +0 -714
  285. package/web-shell/assets/index-oVK7qhre.css +0 -5
  286. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BHUSEndU.js +0 -1
@@ -2,29 +2,35 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents,
5
+ assembleMcpServers,
5
6
  buildDisabledSkillNamesProvider,
7
+ getPendingGatedMcpServers,
8
+ getPromptableMcpServers,
6
9
  isDebugMode,
7
10
  isValidSessionId,
8
11
  loadCliConfig,
9
12
  loadSandboxConfig,
10
13
  parseArguments,
11
- require_undici,
12
14
  validateAuthMethod
13
- } from "./chunk-ZUAXI2OA.js";
15
+ } from "./chunk-BOJWHRMX.js";
14
16
  import {
15
17
  RELAUNCH_EXIT_CODE
16
- } from "./chunk-UAARVVBI.js";
17
- import "./chunk-I2RFAW6Q.js";
18
+ } from "./chunk-TNWFHGN6.js";
19
+ import "./chunk-4X7NIEQJ.js";
20
+ import "./chunk-TT6Q3EN4.js";
18
21
  import "./chunk-3GONHQOA.js";
19
- import "./chunk-5R4SBCX6.js";
20
- import "./chunk-Z7XXFPGP.js";
21
- import "./chunk-JXQ23SNT.js";
22
- import "./chunk-CGOMICBE.js";
23
- import "./chunk-RS4HRC75.js";
24
- import "./chunk-BS64PXY3.js";
25
- import "./chunk-DBZUXSSV.js";
26
- import "./chunk-R2BXK7SX.js";
22
+ import "./chunk-SL5MOGQH.js";
23
+ import "./chunk-LDWTYE33.js";
24
+ import "./chunk-2JKEQWDZ.js";
25
+ import {
26
+ require_undici
27
+ } from "./chunk-M2U5NM24.js";
28
+ import "./chunk-BSZEQNUA.js";
27
29
  import "./chunk-ALX6BUYW.js";
30
+ import "./chunk-UFC57OYT.js";
31
+ import "./chunk-QI2CFVRF.js";
32
+ import "./chunk-BC3C4F3Q.js";
33
+ import "./chunk-KFVU7ODN.js";
28
34
  import {
29
35
  getHeadlessYoloSafetyWarning
30
36
  } from "./chunk-5DWXLGOM.js";
@@ -37,20 +43,21 @@ import {
37
43
  initializeLlmOutputLanguage,
38
44
  loadSettings,
39
45
  preResolveHomeEnvOverrides
40
- } from "./chunk-OQHQHJRK.js";
46
+ } from "./chunk-HEVBZSXG.js";
41
47
  import {
42
48
  initializeI18n,
43
49
  resolveLanguageSetting
44
- } from "./chunk-5JZLXFPD.js";
50
+ } from "./chunk-MTHMXSNT.js";
45
51
  import "./chunk-TLRYABYP.js";
46
- import {
47
- writeStderrLine
48
- } from "./chunk-Y6Z2O3WR.js";
49
- import "./chunk-UFC57OYT.js";
50
52
  import {
51
53
  ENV_CORRUPTED_PATH,
52
54
  ENV_WAS_RECOVERED
53
- } from "./chunk-UN3C6GOR.js";
55
+ } from "./chunk-PPFWEV7G.js";
56
+ import "./chunk-ARYCHZ4B.js";
57
+ import {
58
+ writeStderrLine
59
+ } from "./chunk-Y6Z2O3WR.js";
60
+ import "./chunk-QYUE6W3T.js";
54
61
  import {
55
62
  GitWorktreeService,
56
63
  QWEN_CODE_SIMPLE_ENV_VAR,
@@ -68,53 +75,57 @@ import {
68
75
  worktreeBranchForSlug,
69
76
  writeWorktreeSession,
70
77
  writeWorktreeSessionMarker
71
- } from "./chunk-PXFFKNCO.js";
78
+ } from "./chunk-RIP623NO.js";
72
79
  import "./chunk-K5PGHDBN.js";
73
80
  import "./chunk-5P5XGNYH.js";
74
81
  import "./chunk-SKAZWEV5.js";
75
- import "./chunk-TXVGVZYR.js";
76
- import "./chunk-XU5P23GN.js";
77
- import "./chunk-2BIF2NVV.js";
78
- import "./chunk-BG4BIP7F.js";
79
- import "./chunk-ZD3NW5KL.js";
82
+ import "./chunk-XJYUPHRC.js";
83
+ import "./chunk-QLDPRILK.js";
84
+ import "./chunk-BVSVIN45.js";
85
+ import "./chunk-SBBN4BWR.js";
86
+ import "./chunk-7LM4XHPE.js";
80
87
  import "./chunk-2MPVVENX.js";
81
88
  import "./chunk-ZTQ26VBE.js";
82
- import "./chunk-GZCJS5WH.js";
89
+ import "./chunk-O2VBQ3Y2.js";
83
90
  import "./chunk-MLZQVCF3.js";
84
91
  import "./chunk-LQ7TMOCE.js";
85
92
  import "./chunk-LD2XBG6Z.js";
86
- import "./chunk-OTBK43JR.js";
87
- import "./chunk-HGNSRCRB.js";
88
- import "./chunk-EEEZIVFJ.js";
89
- import "./chunk-PRYMDRBV.js";
93
+ import "./chunk-HYCC3XM3.js";
94
+ import "./chunk-NL4C3H6C.js";
95
+ import "./chunk-JOLIREYR.js";
96
+ import "./chunk-DDMOU62Q.js";
90
97
  import {
98
+ getMCPServerStatus,
91
99
  logUserPrompt,
92
100
  uiTelemetryService
93
- } from "./chunk-WA5OJGFL.js";
101
+ } from "./chunk-SS6WJMQK.js";
94
102
  import "./chunk-3PJXIDKI.js";
95
103
  import "./chunk-UWCTAVOD.js";
96
104
  import "./chunk-OFEVLU4C.js";
97
105
  import "./chunk-OMX7CUOE.js";
98
- import "./chunk-BNXANYLH.js";
99
- import "./chunk-T2VDEFUU.js";
100
- import "./chunk-OIC6S73E.js";
101
- import "./chunk-TOEGRAVX.js";
102
- import "./chunk-BGUDAULQ.js";
103
- import "./chunk-EW6C27XX.js";
104
- import "./chunk-22IFUCVR.js";
105
- import "./chunk-64WXLC72.js";
106
- import "./chunk-3UALQ56H.js";
106
+ import "./chunk-RD6YJJJ6.js";
107
+ import "./chunk-SKQZZVAV.js";
108
+ import "./chunk-BUUQ5HPX.js";
107
109
  import {
108
- detectRuntime,
109
- getOrCreateSharedDispatcher,
110
- redactProxyCredentials
111
- } from "./chunk-F6XNTYNE.js";
112
- import "./chunk-CGEGHF2C.js";
110
+ require_fast_deep_equal
111
+ } from "./chunk-BX5YO7UW.js";
112
+ import "./chunk-3CPCDXFR.js";
113
+ import "./chunk-GEHVIWAT.js";
114
+ import "./chunk-22IFUCVR.js";
115
+ import "./chunk-3227DZO4.js";
116
+ import "./chunk-YTFBURQD.js";
117
+ import "./chunk-BKXBARJZ.js";
113
118
  import "./chunk-IRJWHZWU.js";
114
119
  import "./chunk-SYCJMSIJ.js";
115
120
  import "./chunk-55ZMG67I.js";
116
121
  import "./chunk-H6BD2ELD.js";
117
122
  import "./chunk-5IFG2VC4.js";
123
+ import "./chunk-64WXLC72.js";
124
+ import {
125
+ detectRuntime,
126
+ getOrCreateSharedDispatcher,
127
+ redactProxyCredentials
128
+ } from "./chunk-E6XQPQXW.js";
118
129
  import {
119
130
  FatalSandboxError,
120
131
  Storage,
@@ -122,12 +133,12 @@ import {
122
133
  getErrorMessage,
123
134
  isDebugLoggingDegraded,
124
135
  isSubpath
125
- } from "./chunk-C4K3FEQ2.js";
136
+ } from "./chunk-UX4SGCGN.js";
126
137
  import {
127
138
  cleanupCheckpoints,
128
139
  registerCleanup,
129
140
  runExitCleanup
130
- } from "./chunk-GYZQA2FO.js";
141
+ } from "./chunk-YLZJCUH6.js";
131
142
  import {
132
143
  finalizeStartupProfile,
133
144
  isStartupProfilerEnabled,
@@ -151,7 +162,7 @@ import {
151
162
  // packages/cli/src/gemini.tsx
152
163
  init_esbuild_shims();
153
164
  import dns from "node:dns";
154
- import os5 from "node:os";
165
+ import os4 from "node:os";
155
166
  import path6 from "node:path";
156
167
  import v8 from "node:v8";
157
168
 
@@ -472,10 +483,112 @@ var SettingsWatcher = class _SettingsWatcher {
472
483
  }
473
484
  };
474
485
 
486
+ // packages/cli/src/config/hot-reload.ts
487
+ init_esbuild_shims();
488
+ var import_fast_deep_equal = __toESM(require_fast_deep_equal(), 1);
489
+ var debugLogger2 = createDebugLogger("MCP_HOT_RELOAD");
490
+ function mcpServersEqual(a, b) {
491
+ return (0, import_fast_deep_equal.default)(a ?? {}, b ?? {});
492
+ }
493
+ __name(mcpServersEqual, "mcpServersEqual");
494
+ function mcpGatingEqual(a, b) {
495
+ const norm = /* @__PURE__ */ __name((xs) => [...xs ?? []].sort(), "norm");
496
+ const allowedEqual = a.allowed === void 0 === (b.allowed === void 0) && (0, import_fast_deep_equal.default)(norm(a.allowed), norm(b.allowed));
497
+ return (0, import_fast_deep_equal.default)(norm(a.excluded), norm(b.excluded)) && allowedEqual && (0, import_fast_deep_equal.default)(norm(a.pending), norm(b.pending));
498
+ }
499
+ __name(mcpGatingEqual, "mcpGatingEqual");
500
+ function recomputeMcpGating(settings, assembled, cwd, bootAllowed) {
501
+ const settingsAllowed = settings.merged.mcp?.allowed?.filter(Boolean);
502
+ const excluded = settings.merged.mcp?.excluded?.filter(Boolean);
503
+ let allowed = settingsAllowed;
504
+ if (bootAllowed) {
505
+ allowed = settingsAllowed ? settingsAllowed.filter((n) => bootAllowed.includes(n)) : [...bootAllowed];
506
+ }
507
+ return {
508
+ allowed,
509
+ excluded: excluded && excluded.length > 0 ? excluded : void 0,
510
+ pending: getPendingGatedMcpServers(assembled, cwd)
511
+ };
512
+ }
513
+ __name(recomputeMcpGating, "recomputeMcpGating");
514
+ function registerMcpHotReload(watcher, settings, config, topTierMcpServers) {
515
+ debugLogger2.debug("registered MCP hot-reload listener on SettingsWatcher");
516
+ return watcher.addChangeListener(async (events) => {
517
+ debugLogger2.debug(
518
+ `settings change fired (${events.length} event(s)): ${events.map((e) => `${e.scope}:${e.changeType}`).join(", ")}`
519
+ );
520
+ const cwd = config.getTargetDir();
521
+ const next = assembleMcpServers(
522
+ settings.merged.mcpServers,
523
+ cwd,
524
+ topTierMcpServers
525
+ );
526
+ const nextGating = recomputeMcpGating(
527
+ settings,
528
+ next,
529
+ cwd,
530
+ config.getCliAllowedMcpServerNames()
531
+ );
532
+ const prevServers = config.getSettingsMcpServers();
533
+ const prevGating = config.getMcpGating();
534
+ debugLogger2.debug(
535
+ `assembled servers: prev=[${Object.keys(prevServers ?? {}).join(
536
+ ", "
537
+ )}] next=[${Object.keys(next).join(", ")}]`
538
+ );
539
+ debugLogger2.debug(
540
+ `gating next: excluded=[${(nextGating.excluded ?? []).join(
541
+ ", "
542
+ )}] allowed=[${(nextGating.allowed ?? []).join(
543
+ ", "
544
+ )}] pending=[${(nextGating.pending ?? []).join(", ")}]`
545
+ );
546
+ const serversChanged = !mcpServersEqual(prevServers, next);
547
+ const gatingChanged = !mcpGatingEqual(prevGating, nextGating);
548
+ if (!serversChanged && !gatingChanged) {
549
+ debugLogger2.debug(
550
+ "no MCP-relevant change (servers + gating unchanged) \u2014 skipping reconcile"
551
+ );
552
+ return;
553
+ }
554
+ debugLogger2.debug(
555
+ `MCP-relevant change detected (serversChanged=${serversChanged} gatingChanged=${gatingChanged}) \u2014 reconciling`
556
+ );
557
+ const promptable = getPromptableMcpServers(next, cwd);
558
+ config.setExcludedMcpServers(nextGating.excluded ?? []);
559
+ config.setAllowedMcpServers(nextGating.allowed);
560
+ config.setPendingMcpServers(nextGating.pending);
561
+ try {
562
+ await config.reinitializeMcpServers(next);
563
+ const finalStatuses = Object.keys(next).map((name) => `${name}=${getMCPServerStatus(name)}`).join(", ");
564
+ debugLogger2.debug(
565
+ `reinitializeMcpServers resolved; final statuses=[${finalStatuses}]`
566
+ );
567
+ } catch (err) {
568
+ debugLogger2.error(
569
+ `reinitializeMcpServers threw: ${err instanceof Error ? err.stack ?? err.message : String(err)}`
570
+ );
571
+ appEvents.emit(
572
+ "log-error" /* LogError */,
573
+ "Failed to reload MCP server settings; existing MCP state may be unchanged. Run with --debug for details."
574
+ );
575
+ }
576
+ if (promptable.length > 0) {
577
+ debugLogger2.debug(
578
+ `gated servers awaiting approval \u2192 emitting ${"mcp-pending-approval-changed" /* McpPendingApprovalChanged */}: [${promptable.join(
579
+ ", "
580
+ )}]`
581
+ );
582
+ appEvents.emit("mcp-pending-approval-changed" /* McpPendingApprovalChanged */);
583
+ }
584
+ });
585
+ }
586
+ __name(registerMcpHotReload, "registerMcpHotReload");
587
+
475
588
  // packages/cli/src/startup/worktreeStartup.ts
476
589
  init_esbuild_shims();
477
590
  import * as path2 from "node:path";
478
- var debugLogger2 = createDebugLogger("WORKTREE_STARTUP");
591
+ var debugLogger3 = createDebugLogger("WORKTREE_STARTUP");
479
592
  var DETACHED_HEAD = "HEAD";
480
593
  async function setupStartupWorktree(rawInput, options) {
481
594
  if (rawInput === void 0) return null;
@@ -547,7 +660,7 @@ async function setupStartupWorktree(rawInput, options) {
547
660
  error: `--worktree: failed to chdir into ${worktreePath2} (${error instanceof Error ? error.message : String(error)}).`
548
661
  };
549
662
  }
550
- debugLogger2.debug(
663
+ debugLogger3.debug(
551
664
  `setupStartupWorktree: re-attached to existing worktree at ${worktreePath2} (branch=${registered.branch})`
552
665
  );
553
666
  return {
@@ -625,7 +738,7 @@ async function persistStartupWorktreeSidecar(config, context) {
625
738
  try {
626
739
  previous = await readWorktreeSession(sidecarPath);
627
740
  } catch (error) {
628
- debugLogger2.warn(
741
+ debugLogger3.warn(
629
742
  `persistStartupWorktreeSidecar: failed to read existing sidecar at ${sidecarPath} \u2014 treating as "no previous worktree" and proceeding: ${error}`
630
743
  );
631
744
  previous = null;
@@ -644,7 +757,7 @@ async function persistStartupWorktreeSidecar(config, context) {
644
757
  context.repoRoot,
645
758
  context.worktreePath
646
759
  ]).catch((error) => {
647
- debugLogger2.warn(
760
+ debugLogger3.warn(
648
761
  `persistStartupWorktreeSidecar: failed to check owner runtime ${owner}: ${error}`
649
762
  );
650
763
  return true;
@@ -1653,25 +1766,7 @@ __name(getStartupWarnings, "getStartupWarnings");
1653
1766
  // packages/cli/src/utils/userStartupWarnings.ts
1654
1767
  init_esbuild_shims();
1655
1768
  import fs4 from "node:fs/promises";
1656
- import * as os4 from "node:os";
1657
1769
  import path5 from "node:path";
1658
- var homeDirectoryCheck = {
1659
- id: "home-directory",
1660
- check: /* @__PURE__ */ __name(async (options) => {
1661
- try {
1662
- const [workspaceRealPath, homeRealPath] = await Promise.all([
1663
- fs4.realpath(options.workspaceRoot),
1664
- fs4.realpath(os4.homedir())
1665
- ]);
1666
- if (workspaceRealPath === homeRealPath) {
1667
- return "You are running Qwen Code in your home directory. It is recommended to run in a project-specific directory.";
1668
- }
1669
- return null;
1670
- } catch (_err) {
1671
- return "Could not verify the current directory due to a file system error.";
1672
- }
1673
- }, "check")
1674
- };
1675
1770
  var rootDirectoryCheck = {
1676
1771
  id: "root-directory",
1677
1772
  check: /* @__PURE__ */ __name(async (options) => {
@@ -1705,7 +1800,6 @@ var ripgrepAvailabilityCheck = {
1705
1800
  }, "check")
1706
1801
  };
1707
1802
  var WARNING_CHECKS = [
1708
- homeDirectoryCheck,
1709
1803
  rootDirectoryCheck,
1710
1804
  ripgrepAvailabilityCheck
1711
1805
  ];
@@ -1754,7 +1848,7 @@ __name(initializeWarningHandler, "initializeWarningHandler");
1754
1848
  // packages/cli/src/utils/apiPreconnect.ts
1755
1849
  init_esbuild_shims();
1756
1850
  var import_undici = __toESM(require_undici(), 1);
1757
- var debugLogger3 = createDebugLogger("PRECONNECT");
1851
+ var debugLogger4 = createDebugLogger("PRECONNECT");
1758
1852
  var preconnectFired = false;
1759
1853
  var DEFAULT_BASE_URLS = {
1760
1854
  openai: "https://api.openai.com",
@@ -1768,7 +1862,7 @@ var ALL_DEFAULT_URLS = [
1768
1862
  ];
1769
1863
  function shouldSkipPreconnect() {
1770
1864
  if (process.env["NODE_EXTRA_CA_CERTS"]) {
1771
- debugLogger3.debug("Skipping preconnect: custom CA certificate configured");
1865
+ debugLogger4.debug("Skipping preconnect: custom CA certificate configured");
1772
1866
  return true;
1773
1867
  }
1774
1868
  return false;
@@ -1791,7 +1885,7 @@ function getPreconnectTargetUrl(authType, resolvedBaseUrl) {
1791
1885
  if (isDefaultBaseUrl(resolvedBaseUrl)) {
1792
1886
  return resolvedBaseUrl;
1793
1887
  }
1794
- debugLogger3.debug(
1888
+ debugLogger4.debug(
1795
1889
  "Skipping preconnect: resolved baseUrl is not a default URL"
1796
1890
  );
1797
1891
  return void 0;
@@ -1807,12 +1901,12 @@ function preconnectApi(authType, options = {}) {
1807
1901
  return;
1808
1902
  }
1809
1903
  if (process.env["QWEN_CODE_DISABLE_PRECONNECT"] === "1") {
1810
- debugLogger3.debug("Preconnect disabled by environment variable");
1904
+ debugLogger4.debug("Preconnect disabled by environment variable");
1811
1905
  preconnectFired = true;
1812
1906
  return;
1813
1907
  }
1814
1908
  if (isInSandboxMode()) {
1815
- debugLogger3.debug("Skipping preconnect: sandbox mode detected");
1909
+ debugLogger4.debug("Skipping preconnect: sandbox mode detected");
1816
1910
  preconnectFired = true;
1817
1911
  return;
1818
1912
  }
@@ -1821,22 +1915,22 @@ function preconnectApi(authType, options = {}) {
1821
1915
  return;
1822
1916
  }
1823
1917
  if (detectRuntime() !== "node") {
1824
- debugLogger3.debug("Skipping preconnect: unsupported runtime");
1918
+ debugLogger4.debug("Skipping preconnect: unsupported runtime");
1825
1919
  preconnectFired = true;
1826
1920
  return;
1827
1921
  }
1828
1922
  if (!options.proxy) {
1829
- debugLogger3.debug("Skipping preconnect dispatcher: no proxy configured");
1923
+ debugLogger4.debug("Skipping preconnect dispatcher: no proxy configured");
1830
1924
  return;
1831
1925
  }
1832
1926
  const proxy = options.proxy;
1833
1927
  const targetUrl = getPreconnectTargetUrl(authType, options.resolvedBaseUrl);
1834
1928
  if (!targetUrl) {
1835
- debugLogger3.debug("No target URL for preconnect");
1929
+ debugLogger4.debug("No target URL for preconnect");
1836
1930
  return;
1837
1931
  }
1838
1932
  preconnectFired = true;
1839
- debugLogger3.debug(`Preconnecting to: ${targetUrl}`);
1933
+ debugLogger4.debug(`Preconnecting to: ${targetUrl}`);
1840
1934
  try {
1841
1935
  const dispatcher = getOrCreateSharedDispatcher(proxy);
1842
1936
  (0, import_undici.fetch)(targetUrl, {
@@ -1847,20 +1941,20 @@ function preconnectApi(authType, options = {}) {
1847
1941
  },
1848
1942
  dispatcher
1849
1943
  }).then(() => {
1850
- debugLogger3.debug("Preconnect completed");
1944
+ debugLogger4.debug("Preconnect completed");
1851
1945
  }).catch((error) => {
1852
1946
  const redactedError = redactProxyCredentials(String(error));
1853
- debugLogger3.debug(`Preconnect failed (ignored): ${redactedError}`);
1947
+ debugLogger4.debug(`Preconnect failed (ignored): ${redactedError}`);
1854
1948
  });
1855
1949
  } catch (error) {
1856
1950
  const redactedError = redactProxyCredentials(String(error));
1857
- debugLogger3.debug(`Preconnect failed (ignored): ${redactedError}`);
1951
+ debugLogger4.debug(`Preconnect failed (ignored): ${redactedError}`);
1858
1952
  }
1859
1953
  }
1860
1954
  __name(preconnectApi, "preconnectApi");
1861
1955
 
1862
1956
  // packages/cli/src/gemini.tsx
1863
- var debugLogger4 = createDebugLogger("STARTUP");
1957
+ var debugLogger5 = createDebugLogger("STARTUP");
1864
1958
  function clearCorruptionEnvVars() {
1865
1959
  delete process.env[ENV_CORRUPTED_PATH];
1866
1960
  delete process.env[ENV_WAS_RECOVERED];
@@ -1881,7 +1975,7 @@ function validateDnsResolutionOrder(order) {
1881
1975
  }
1882
1976
  __name(validateDnsResolutionOrder, "validateDnsResolutionOrder");
1883
1977
  function getNodeMemoryArgs(isDebugMode3) {
1884
- const totalMemoryMB = os5.totalmem() / (1024 * 1024);
1978
+ const totalMemoryMB = os4.totalmem() / (1024 * 1024);
1885
1979
  const heapStats = v8.getHeapStatistics();
1886
1980
  const currentMaxOldSpaceSizeMb = Math.floor(
1887
1981
  heapStats.heap_size_limit / 1024 / 1024
@@ -1939,7 +2033,7 @@ function installInteractiveSignalHandlers(wasRaw) {
1939
2033
  }
1940
2034
  cleanupStarted = true;
1941
2035
  void runExitCleanup().catch((error) => {
1942
- debugLogger4.error(`Error during ${signal} cleanup:`, error);
2036
+ debugLogger5.error(`Error during ${signal} cleanup:`, error);
1943
2037
  }).finally(() => {
1944
2038
  process.exit(getSignalExitCode(signal));
1945
2039
  });
@@ -1994,7 +2088,7 @@ async function main() {
1994
2088
  await initializeI18n(
1995
2089
  resolveLanguageSetting(settings.merged.general?.language)
1996
2090
  );
1997
- const { handleList: handleListExtensions } = await import("./list-6COK34BP.js");
2091
+ const { handleList: handleListExtensions } = await import("./list-SCQXYJUW.js");
1998
2092
  await handleListExtensions();
1999
2093
  process.exit(0);
2000
2094
  }
@@ -2008,7 +2102,7 @@ async function main() {
2008
2102
  dns.setDefaultResultOrder(
2009
2103
  validateDnsResolutionOrder(settings.merged.advanced?.dnsResolutionOrder)
2010
2104
  );
2011
- const { themeManager, AUTO_THEME_NAME } = await import("./theme-manager-DICFCT3P.js");
2105
+ const { themeManager, AUTO_THEME_NAME } = await import("./theme-manager-N2TBIBZT.js");
2012
2106
  themeManager.loadCustomThemes(settings.merged.ui?.customThemes);
2013
2107
  const configuredTheme = settings.merged.ui?.theme;
2014
2108
  if (configuredTheme && configuredTheme !== AUTO_THEME_NAME) {
@@ -2158,7 +2252,7 @@ ${finalArgs[promptIndex + 1]}`;
2158
2252
  );
2159
2253
  let resolvedSessionId;
2160
2254
  if (argv.resume === "") {
2161
- const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-S22XBSN6.js");
2255
+ const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-P3E3WTOQ.js");
2162
2256
  resolvedSessionId = await showResumeSessionPicker();
2163
2257
  } else if (!isValidSessionId(argv.resume)) {
2164
2258
  const sessionService = new SessionService(process.cwd());
@@ -2169,7 +2263,7 @@ ${finalArgs[promptIndex + 1]}`;
2169
2263
  writeStderrLine(
2170
2264
  `Multiple sessions found with title "${argv.resume}". Please select one:`
2171
2265
  );
2172
- const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-S22XBSN6.js");
2266
+ const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-P3E3WTOQ.js");
2173
2267
  resolvedSessionId = await showResumeSessionPicker(
2174
2268
  process.cwd(),
2175
2269
  matches
@@ -2209,6 +2303,15 @@ ${finalArgs[promptIndex + 1]}`;
2209
2303
  settingsWatcher
2210
2304
  );
2211
2305
  profileCheckpoint("after_load_cli_config");
2306
+ if (settingsWatcher) {
2307
+ const disposeMcpHotReload = registerMcpHotReload(
2308
+ settingsWatcher,
2309
+ settings,
2310
+ config,
2311
+ config.getTopTierMcpServers()
2312
+ );
2313
+ registerCleanup(disposeMcpHotReload);
2314
+ }
2212
2315
  if (startupWorktreeContext) {
2213
2316
  config.setPendingStartupWorktreeNotice(
2214
2317
  buildStartupWorktreeNotice(startupWorktreeContext)
@@ -2230,7 +2333,7 @@ ${finalArgs[promptIndex + 1]}`;
2230
2333
  )
2231
2334
  );
2232
2335
  } catch (error) {
2233
- debugLogger4.warn(
2336
+ debugLogger5.warn(
2234
2337
  `--worktree sidecar persist failed (non-fatal, notice preserved): ${error instanceof Error ? error.message : String(error)}`
2235
2338
  );
2236
2339
  }
@@ -2260,7 +2363,7 @@ ${finalArgs[promptIndex + 1]}`;
2260
2363
  const proxy = config.getProxy();
2261
2364
  preconnectApi(authType, { resolvedBaseUrl, proxy });
2262
2365
  } catch (error) {
2263
- debugLogger4.debug(
2366
+ debugLogger5.debug(
2264
2367
  `Preconnect skipped due to error getting authType: ${error}`
2265
2368
  );
2266
2369
  }
@@ -2271,7 +2374,7 @@ ${finalArgs[promptIndex + 1]}`;
2271
2374
  registerCleanup(installInteractiveSignalHandlers(wasRaw));
2272
2375
  }
2273
2376
  if (config.isInteractive() && !wasRaw && process.stdin.isTTY) {
2274
- const { startEarlyInputCapture, stopAndGetCapturedInput } = await import("./earlyInputCapture-X6KMCSHD.js");
2377
+ const { startEarlyInputCapture, stopAndGetCapturedInput } = await import("./earlyInputCapture-7FRQMU4P.js");
2275
2378
  const { detectAndEnableKittyProtocol } = await import("./kittyProtocolDetector-OJRCJLIU.js");
2276
2379
  process.stdin.setRawMode(true);
2277
2380
  startEarlyInputCapture();
@@ -2279,32 +2382,35 @@ ${finalArgs[promptIndex + 1]}`;
2279
2382
  kittyProtocolDetectionComplete = detectAndEnableKittyProtocol();
2280
2383
  if (!configuredTheme || configuredTheme === AUTO_THEME_NAME) {
2281
2384
  themeAutoDetectionComplete = themeManager.resolveAutoThemeAsync().catch((err) => {
2282
- debugLogger4.warn("Async theme auto-detection failed:", err);
2385
+ debugLogger5.warn("Async theme auto-detection failed:", err);
2283
2386
  });
2284
2387
  }
2285
2388
  }
2286
2389
  if (config.isInteractive()) {
2287
- const { setMaxSizedBoxDebugging } = await import("./MaxSizedBox-7RERNLFK.js");
2390
+ const { setMaxSizedBoxDebugging } = await import("./MaxSizedBox-T5X5MN5Q.js");
2288
2391
  setMaxSizedBoxDebugging(isDebugMode3);
2289
2392
  }
2290
2393
  const inputFormat = process.stdin.isTTY ? "text" /* TEXT */ : typeof config.getInputFormat === "function" ? config.getInputFormat() : "text" /* TEXT */;
2291
- const { initializeApp } = await import("./initializer-P5AXF7PV.js");
2394
+ const { initializeApp } = await import("./initializer-FJTACLOH.js");
2292
2395
  const initializationResult = await initializeApp(config, settings);
2293
2396
  profileCheckpoint("after_initialize_app");
2294
2397
  if (config.getExperimentalZedIntegration()) {
2295
- const { runAcpAgent } = await import("./acpAgent-4MCETHF2.js");
2398
+ const { runAcpAgent } = await import("./acpAgent-QEP6DXFW.js");
2296
2399
  await runAcpAgent(config, settings, argv);
2297
2400
  await runExitCleanup();
2298
2401
  process.exit(0);
2299
2402
  }
2300
2403
  if (config.isInteractive()) {
2301
- void import("./scheduler-UNTFDQLG.js").then((m) => m.startBackgroundHousekeeping(config, settings)).catch((err) => {
2302
- debugLogger4.warn("failed to start background housekeeping:", err);
2404
+ void import("./scheduler-XAKIYBDL.js").then((m) => m.startBackgroundHousekeeping(config, settings)).catch((err) => {
2405
+ debugLogger5.warn("failed to start background housekeeping:", err);
2303
2406
  });
2304
2407
  }
2305
2408
  let input = config.getQuestion();
2306
2409
  const startupWarnings = [
2307
2410
  .../* @__PURE__ */ new Set([
2411
+ ...config.isSafeMode() ? [
2412
+ "\u26A0 SAFE MODE \u2014 all customizations disabled (hooks, extensions, skills, MCP servers, QWEN.md). Restart without --safe-mode to resume normal operation."
2413
+ ] : [],
2308
2414
  ...await getStartupWarnings(),
2309
2415
  ...await getUserStartupWarnings({
2310
2416
  workspaceRoot: process.cwd(),
@@ -2334,7 +2440,7 @@ ${finalArgs[promptIndex + 1]}`;
2334
2440
  setInteractiveMode(true);
2335
2441
  await kittyProtocolDetectionComplete;
2336
2442
  await themeAutoDetectionComplete;
2337
- const { startInteractiveUI } = await import("./startInteractiveUI-SFRVB3CE.js");
2443
+ const { startInteractiveUI } = await import("./startInteractiveUI-QIPQTRT4.js");
2338
2444
  await startInteractiveUI(
2339
2445
  config,
2340
2446
  settings,
@@ -2387,7 +2493,7 @@ ${finalArgs[promptIndex + 1]}`;
2387
2493
  ${input}`;
2388
2494
  }
2389
2495
  }
2390
- const { validateNonInteractiveAuth } = await import("./validateNonInterActiveAuth-GCH4Z6KI.js");
2496
+ const { validateNonInteractiveAuth } = await import("./validateNonInterActiveAuth-EQDQPSMI.js");
2391
2497
  const nonInteractiveConfig = await validateNonInteractiveAuth(
2392
2498
  settings.merged.security?.auth?.useExternal,
2393
2499
  config,
@@ -2396,7 +2502,7 @@ ${input}`;
2396
2502
  const prompt_id = createNonInteractivePromptId(config.getSessionId());
2397
2503
  if (inputFormat === "stream-json" /* STREAM_JSON */) {
2398
2504
  const trimmedInput = (input ?? "").trim();
2399
- const { runNonInteractiveStreamJson } = await import("./session-OIBXFSGD.js");
2505
+ const { runNonInteractiveStreamJson } = await import("./session-WNVWRYAH.js");
2400
2506
  await runNonInteractiveStreamJson(
2401
2507
  nonInteractiveConfig,
2402
2508
  trimmedInput.length > 0 ? trimmedInput : "",
@@ -2419,8 +2525,8 @@ ${input}`;
2419
2525
  auth_type: config.getContentGeneratorConfig()?.authType,
2420
2526
  prompt_length: input.length
2421
2527
  });
2422
- debugLogger4.debug(`Session ID: ${config.getSessionId()}`);
2423
- const { runNonInteractive } = await import("./nonInteractiveCli-7575LBXP.js");
2528
+ debugLogger5.debug(`Session ID: ${config.getSessionId()}`);
2529
+ const { runNonInteractive } = await import("./nonInteractiveCli-IZEKUHU3.js");
2424
2530
  const exitCode = await runNonInteractive(
2425
2531
  nonInteractiveConfig,
2426
2532
  settings,
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  InstallationManager
5
- } from "./chunk-T2VDEFUU.js";
6
- import "./chunk-3UALQ56H.js";
5
+ } from "./chunk-SKQZZVAV.js";
6
+ import "./chunk-3227DZO4.js";
7
7
  import {
8
8
  GoogleGenAI
9
9
  } from "./chunk-55ZMG67I.js";
10
10
  import "./chunk-H6BD2ELD.js";
11
11
  import "./chunk-5IFG2VC4.js";
12
- import "./chunk-C4K3FEQ2.js";
12
+ import "./chunk-UX4SGCGN.js";
13
13
  import "./chunk-Z2Z3GUXZ.js";
14
14
  import {
15
15
  init_esbuild_shims
@@ -212,7 +212,7 @@ var GeminiContentGenerator = class {
212
212
 
213
213
  // packages/core/src/core/geminiContentGenerator/index.ts
214
214
  function createGeminiContentGenerator(config, gcConfig) {
215
- const version = "0.19.2";
215
+ const version = "0.19.3-nightly.20260630.e00fe6a27";
216
216
  const userAgent = config.userAgent || `QwenCode/${version} (${process.platform}; ${process.arch})`;
217
217
  const baseHeaders = {
218
218
  "User-Agent": userAgent