@qwen-code/qwen-code 0.21.7-nightly.20260808.4ec0371e6 → 0.21.8

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 (254) hide show
  1. package/README.md +2 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +12 -8
  3. package/bundled/qc-helper/docs/features/commands.md +1 -1
  4. package/bundled/qc-helper/docs/features/hooks.md +50 -0
  5. package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
  6. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  7. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +50 -36
  8. package/bundled/review/SKILL.md +24 -5
  9. package/chunks/{MaxSizedBox-COZBVNCI.js → MaxSizedBox-7PM6BGJ5.js} +13 -10
  10. package/chunks/{StandaloneSessionPicker-3OF2FS6S.js → StandaloneSessionPicker-3UQHM7GV.js} +29 -26
  11. package/chunks/{acp-startup-profiler-ORIQ2CCQ.js → acp-startup-profiler-B5BYAMYQ.js} +2 -2
  12. package/chunks/{acpAgent-3JCJ6KWG.js → acpAgent-5UWLFV6V.js} +369 -148
  13. package/chunks/{agent-DBSC47CD.js → agent-624T2BLO.js} +13 -10
  14. package/chunks/{agent-headless-ZJHZ7I3S.js → agent-headless-2EE5J2KX.js} +13 -10
  15. package/chunks/{bridge-NFBYT4ZI.js → bridge-JENKGFFP.js} +15 -12
  16. package/chunks/{ca-NYKNH222.js → ca-ZLKAB4K3.js} +6 -0
  17. package/chunks/{channel-management-service-LXSJXQGM.js → channel-management-service-DDWUPHMU.js} +1 -1
  18. package/chunks/{channel-settings-store-LABKDKSI.js → channel-settings-store-SA6JZSPH.js} +21 -18
  19. package/chunks/{channel-worker-group-MTW2AGT3.js → channel-worker-group-E67EN3RV.js} +2 -2
  20. package/chunks/{channel-worker-manager-UU6PTQSI.js → channel-worker-manager-SW4C45CF.js} +2 -2
  21. package/chunks/{chunk-CJXIIILK.js → chunk-2FRY5CRX.js} +1 -1
  22. package/chunks/{chunk-HKCYGZZ4.js → chunk-2ILAOM2I.js} +30 -13
  23. package/chunks/{chunk-LDY4J4G6.js → chunk-2M4K4KYS.js} +176 -119
  24. package/chunks/{chunk-22NBYCPD.js → chunk-3P2LV43B.js} +1 -1
  25. package/chunks/{chunk-XCG76UE6.js → chunk-3PY4LPJF.js} +17 -129
  26. package/chunks/{chunk-26ISE5EG.js → chunk-3SE7J4DR.js} +3 -3
  27. package/chunks/{chunk-APMRLB2H.js → chunk-3WNQOYHQ.js} +12 -12
  28. package/chunks/{chunk-O7VQ3F22.js → chunk-4ALIARFY.js} +1 -1
  29. package/chunks/{chunk-FJ6YHWHZ.js → chunk-4DU3NCHG.js} +47 -54
  30. package/chunks/{chunk-BGG4MBYD.js → chunk-4PYCZH2V.js} +4 -187
  31. package/chunks/{chunk-3HS6Y4UA.js → chunk-4WU6NY7F.js} +2 -2
  32. package/chunks/{chunk-JRIJOZXO.js → chunk-5ZGR6RKJ.js} +3 -3
  33. package/chunks/{chunk-3K7FH2KQ.js → chunk-67N6HB5H.js} +1310 -171
  34. package/chunks/{chunk-ZQGHESAS.js → chunk-6TR7CFXH.js} +1 -1
  35. package/chunks/{chunk-EZ53KMUN.js → chunk-757GB46F.js} +1 -1
  36. package/chunks/{chunk-5YT3Y33M.js → chunk-77QVBFCU.js} +3 -3
  37. package/chunks/{chunk-5PGKKSO6.js → chunk-7DVT4LVV.js} +35 -28
  38. package/chunks/{chunk-IMK3SJ43.js → chunk-7VUERJHS.js} +1066 -597
  39. package/chunks/{chunk-KPMB4JEZ.js → chunk-B52AWKBB.js} +64 -20
  40. package/chunks/{chunk-R2KZWK5Z.js → chunk-BF224XHL.js} +2 -2
  41. package/chunks/{chunk-TSYIQDG7.js → chunk-BF52U4XJ.js} +1 -1
  42. package/chunks/{chunk-LDUGDB5H.js → chunk-C5VWPTGT.js} +1 -1
  43. package/chunks/{chunk-W7U4ESW2.js → chunk-CG3WBKJK.js} +1 -1
  44. package/chunks/chunk-COBO5EBO.js +135 -0
  45. package/chunks/{chunk-ACHMWGC5.js → chunk-DQSDACD2.js} +1 -1
  46. package/chunks/{chunk-VT3VNFVW.js → chunk-DX5W5AON.js} +2 -2
  47. package/chunks/{chunk-JACAHYEN.js → chunk-E4ZBKMSF.js} +4 -4
  48. package/chunks/{chunk-MV7VUCIG.js → chunk-EIVICVHM.js} +4 -4
  49. package/chunks/{chunk-YHEEE624.js → chunk-EN2TKTFH.js} +1 -1
  50. package/chunks/chunk-F6WFNA7U.js +22 -0
  51. package/chunks/{chunk-Z6W3XDLN.js → chunk-FN6YXJOP.js} +1 -1
  52. package/chunks/{chunk-BJKFFPX2.js → chunk-FWBXMANW.js} +3 -3
  53. package/chunks/{chunk-764F335K.js → chunk-FYAXKJK7.js} +314 -63
  54. package/chunks/{chunk-XIDHBXUI.js → chunk-GBDINRIL.js} +3 -3
  55. package/chunks/{chunk-Z5ZAWED3.js → chunk-GOEVOFQI.js} +3 -3
  56. package/chunks/{chunk-ZKUJ4AO7.js → chunk-GQCEQPYQ.js} +3 -3
  57. package/chunks/{chunk-BFSQBXHV.js → chunk-GXSNGY5M.js} +399 -534
  58. package/chunks/{chunk-3ARO4N5G.js → chunk-HA3SAB64.js} +22 -69
  59. package/chunks/{chunk-3ULCB3NE.js → chunk-HV76SFIA.js} +1 -1
  60. package/chunks/{chunk-LMEIS6WW.js → chunk-HWX5HPUG.js} +3 -3
  61. package/chunks/{chunk-VLFX3L3X.js → chunk-IBYULW65.js} +6 -6
  62. package/chunks/{chunk-SDUDZNF4.js → chunk-IUQ52YJK.js} +1 -1
  63. package/chunks/{chunk-H2352CX2.js → chunk-IYES5WOT.js} +2 -2
  64. package/chunks/{chunk-CE5UCTKO.js → chunk-KAQCJO6Y.js} +1 -1
  65. package/chunks/{chunk-DPH3MUAP.js → chunk-KKDVZLGL.js} +1 -1
  66. package/chunks/{chunk-R574ATRM.js → chunk-M2PNLYGY.js} +41 -0
  67. package/chunks/{chunk-P7HUJDBZ.js → chunk-M3STHEMM.js} +11 -16
  68. package/chunks/{chunk-VDS2WYM5.js → chunk-NGYI5EF5.js} +2 -2
  69. package/chunks/{chunk-ALGGS7UH.js → chunk-NPQ5ZKRP.js} +82 -1
  70. package/chunks/{chunk-GUFY6D3E.js → chunk-NPUXXRJI.js} +1 -1
  71. package/chunks/{chunk-4Q6N3SNL.js → chunk-NVRDQFCX.js} +1 -1
  72. package/chunks/{chunk-77WOUGCA.js → chunk-OHKJVAKG.js} +7 -7
  73. package/chunks/{chunk-TAOSTUHI.js → chunk-PG62DFWD.js} +10 -10
  74. package/chunks/{chunk-REHWPCG2.js → chunk-PLFATELK.js} +1 -1
  75. package/chunks/{chunk-APNNM3JC.js → chunk-QGHSP65Z.js} +2 -2
  76. package/chunks/{chunk-HY2INPTA.js → chunk-QQWD7LZV.js} +4 -4
  77. package/chunks/{chunk-P74TZRXD.js → chunk-QXVSWG66.js} +1 -1
  78. package/chunks/{chunk-TX3KSSDN.js → chunk-S3Y3GBFD.js} +1 -1
  79. package/chunks/{chunk-B23P3YWE.js → chunk-SNRT2TJJ.js} +6 -23
  80. package/chunks/chunk-SR7RZ4MS.js +202 -0
  81. package/chunks/{chunk-F3LPXDJP.js → chunk-TE3ZAJE7.js} +13 -3
  82. package/chunks/{chunk-AB4A73VL.js → chunk-TKSZJ5BV.js} +1 -1
  83. package/chunks/{chunk-RZMGG3HP.js → chunk-U5SLIG7E.js} +1 -1
  84. package/chunks/chunk-UA5H3DS2.js +203 -0
  85. package/chunks/{chunk-JSJTZ6GO.js → chunk-VWMUDKLC.js} +3 -3
  86. package/chunks/{chunk-RGTB44BO.js → chunk-VXZ5HAOV.js} +1 -1
  87. package/chunks/{chunk-BCMJPTXV.js → chunk-WG6542MA.js} +1 -1
  88. package/chunks/{chunk-AG3P2RES.js → chunk-WV5J6Q6N.js} +1 -1
  89. package/chunks/{chunk-MIA37QO3.js → chunk-XHD7CRP2.js} +2 -2
  90. package/chunks/{chunk-KKRGVSHC.js → chunk-XZKQT2B2.js} +4 -4
  91. package/chunks/{chunk-4QJJHIZ5.js → chunk-Y4TETC74.js} +5 -5
  92. package/chunks/{chunk-QKJT5K4Q.js → chunk-YEF7XEO2.js} +3 -3
  93. package/chunks/{chunk-UKAYEQDU.js → chunk-YHJFF7KH.js} +131 -38
  94. package/chunks/{chunk-64YLXLMY.js → chunk-YOM7DEGB.js} +2 -2
  95. package/chunks/{chunk-BN3OROB3.js → chunk-ZCLLJARV.js} +9 -9
  96. package/chunks/{chunk-RFA6VDCR.js → chunk-ZHA242R4.js} +2 -2
  97. package/chunks/{chunk-L4OW63GW.js → chunk-ZPLALRXZ.js} +17 -9
  98. package/chunks/{computer-use-QLJ27OCZ.js → computer-use-ESQYJ3JY.js} +13 -10
  99. package/chunks/{config-utils-KIEXWA4F.js → config-utils-XQHBJP7G.js} +2 -2
  100. package/chunks/{contextCommand-JDTOJRBO.js → contextCommand-CX3YF4ZE.js} +15 -12
  101. package/chunks/{core-runtime-MZIAVYQC.js → core-runtime-DIAU7JMG.js} +13 -10
  102. package/chunks/{create-sub-session-YBBCNSHE.js → create-sub-session-HDPD6HOA.js} +13 -10
  103. package/chunks/{daemon-SCTQMM7Z.js → daemon-VZBGJUNL.js} +30 -0
  104. package/chunks/{daemon-status-provider-BZ7RD4ZJ.js → daemon-status-provider-H6O4UQ4F.js} +19 -16
  105. package/chunks/{daemon-trust-policy-2E4C3M7S.js → daemon-trust-policy-BNUXG6MT.js} +20 -17
  106. package/chunks/{daemon-trust-policy-monitor-UYLFH6RW.js → daemon-trust-policy-monitor-E4EQ7GF4.js} +20 -17
  107. package/chunks/{de-VL76CPLV.js → de-LIW4XVLN.js} +5 -0
  108. package/chunks/{deferred-core-runtime-6XZYMJZB.js → deferred-core-runtime-CBMSHPAU.js} +13 -10
  109. package/chunks/{dist-BATY7GI4.js → dist-EEEQGCZA.js} +731 -136
  110. package/chunks/{dist-26RK5XZO.js → dist-MKX5OSFF.js} +4 -3
  111. package/chunks/{earlyInputCapture-LATQCGDC.js → earlyInputCapture-UIOP7OIN.js} +13 -10
  112. package/chunks/{edit-72DP57CD.js → edit-ITMZYFKA.js} +13 -10
  113. package/chunks/{en-IRJ2WN5T.js → en-SY5GTIGX.js} +6 -0
  114. package/chunks/{enter-worktree-B4FY2ZPP.js → enter-worktree-S4PL5UV6.js} +13 -10
  115. package/chunks/{enterPlanMode-TQBWGCPL.js → enterPlanMode-YV52NNJT.js} +13 -10
  116. package/chunks/{environment-MOGZGZDS.js → environment-NGOWPRZV.js} +17 -14
  117. package/chunks/{errors-PGON5GH7.js → errors-BU26DTDX.js} +15 -12
  118. package/chunks/{exit-worktree-EYUD4YP2.js → exit-worktree-XRM6LH5F.js} +13 -10
  119. package/chunks/{exitPlanMode-4Q7BSQXR.js → exitPlanMode-ZLI5F7KR.js} +13 -10
  120. package/chunks/{fast-path-WI7D5MER.js → fast-path-UJWORIED.js} +3 -3
  121. package/chunks/{fast-path-settings-YBRL24DB.js → fast-path-settings-37WQD5B2.js} +6 -3
  122. package/chunks/{fr-GK3HQYVB.js → fr-RQFO7U4P.js} +5 -0
  123. package/chunks/{gemini-ZXURGM6Y.js → gemini-ZSKNDUMU.js} +55 -48
  124. package/chunks/{geminiContentGenerator-EOODO75Y.js → geminiContentGenerator-YGEXOEKD.js} +1 -1
  125. package/chunks/{glob-QNRIUOS6.js → glob-7KZG44BR.js} +13 -10
  126. package/chunks/{goal-tools-QSYW65HV.js → goal-tools-PXWN5VK3.js} +3 -1
  127. package/chunks/{grep-56MTW67B.js → grep-6ZFC7RJ5.js} +13 -10
  128. package/chunks/{handleAutoUpdate-XGFIPVT4.js → handleAutoUpdate-KSEL3TQS.js} +17 -14
  129. package/chunks/{i18n-RZB35L4B.js → i18n-ZIUXBW5V.js} +14 -11
  130. package/chunks/{image-gen-OE2EEKN3.js → image-gen-AUIZJJNK.js} +6 -4
  131. package/chunks/{initializer-YPVMTMKD.js → initializer-7AHY3N6Q.js} +20 -17
  132. package/chunks/{installationInfo-ZTMTMYNW.js → installationInfo-VGBXMYLY.js} +14 -11
  133. package/chunks/{ja-3FA46IKD.js → ja-KOZKHJHZ.js} +5 -0
  134. package/chunks/{list-NIW3WID5.js → list-PSFKQHLB.js} +23 -20
  135. package/chunks/{loadedSettingsAdapter-VSLILTOZ.js → loadedSettingsAdapter-FTMRCTOF.js} +20 -17
  136. package/chunks/{loggingContentGenerator-KFZYVAGV.js → loggingContentGenerator-MZAN52UV.js} +5 -3
  137. package/chunks/{managed-npm-update-WHTA2K5V.js → managed-npm-update-O4NHK45X.js} +14 -11
  138. package/chunks/{mcp-7KGK3CS3.js → mcp-6CFP2AYQ.js} +20 -17
  139. package/chunks/{monitor-FDWEJQWP.js → monitor-DAKD6OU4.js} +13 -10
  140. package/chunks/{nonInteractiveCli-2MVJ6TCS.js → nonInteractiveCli-RC7VIUZL.js} +49 -44
  141. package/chunks/{notebook-edit-ZUVK2XWE.js → notebook-edit-474DPMRL.js} +13 -10
  142. package/chunks/{openaiContentGenerator-TNLWOPH5.js → openaiContentGenerator-2NFY2MWO.js} +6 -3
  143. package/chunks/{pidfile-BB6SKPH2.js → pidfile-KBFVDNQP.js} +13 -10
  144. package/chunks/{processUtils-WKHJOPDH.js → processUtils-6GRYH4Y3.js} +2 -2
  145. package/chunks/{pt-3AOBKPIJ.js → pt-U6AOCTMF.js} +5 -0
  146. package/chunks/{qwenContentGenerator-FZS2DYF7.js → qwenContentGenerator-KAHU6IZY.js} +14 -11
  147. package/chunks/{qwenOAuth2-UYMYRXBB.js → qwenOAuth2-RRQTCP4W.js} +6 -4
  148. package/chunks/{read-file-FMTE6LPA.js → read-file-3M6WXDXP.js} +4 -2
  149. package/chunks/{resumeHistoryUtils-Z34RCZFF.js → resumeHistoryUtils-D6TAY3HX.js} +16 -13
  150. package/chunks/{ripGrep-DUIYUZGM.js → ripGrep-PLPENT3E.js} +13 -10
  151. package/chunks/{ru-VJRAMC4W.js → ru-CMX4UMYP.js} +5 -0
  152. package/chunks/{run-qwen-serve-KOHHR3F4.js → run-qwen-serve-ZAFIJKJC.js} +93 -40
  153. package/chunks/{runtime-K4NTZSAU.js → runtime-ZED7CYOZ.js} +23 -20
  154. package/chunks/{scheduler-6G6AMURS.js → scheduler-MD3AL2W5.js} +13 -10
  155. package/chunks/{serve-NMG2TM5K.js → serve-E3VUDRZN.js} +20 -17
  156. package/chunks/{server-FS7KDELS.js → server-OWMEMAKR.js} +381 -192
  157. package/chunks/{session-XZADUVKJ.js → session-HZ57QK7K.js} +141 -81
  158. package/chunks/{settings-G75R6FOA.js → settings-V7BR3RKP.js} +19 -16
  159. package/chunks/{shell-3D3PMQHE.js → shell-23OMNMW6.js} +13 -10
  160. package/chunks/{skill-TSEYMVQ2.js → skill-6HBDYZRS.js} +4 -2
  161. package/chunks/{skill-settings-HJC2CPBJ.js → skill-settings-HWJLTU7M.js} +19 -16
  162. package/chunks/{spawnChannel-YWCN74G5.js → spawnChannel-N6KKUW5B.js} +13 -10
  163. package/chunks/{standalone-update-HLYOLX6V.js → standalone-update-QGIKHATD.js} +15 -12
  164. package/chunks/{startInteractiveUI-ROUIQ5KU.js → startInteractiveUI-GX2CRL42.js} +269 -118
  165. package/chunks/{team-create-OTP5SSB2.js → team-create-CFFKU7KL.js} +13 -10
  166. package/chunks/{team-plan-approval-TQX5TMXU.js → team-plan-approval-6EFOKR6A.js} +13 -10
  167. package/chunks/{terminal-image-renderer-KF3GKNWW.js → terminal-image-renderer-TLDNACQY.js} +13 -10
  168. package/chunks/{theme-manager-XVWAAGAM.js → theme-manager-5LJ3H7VO.js} +13 -10
  169. package/chunks/{tool-search-7N4D4O56.js → tool-search-UJV3A24H.js} +4 -2
  170. package/chunks/{total-session-admission-ZQ4VKIRW.js → total-session-admission-D63QYXGO.js} +15 -12
  171. package/chunks/{trustedFolders-4XYFPWVV.js → trustedFolders-KZCOB53W.js} +17 -12
  172. package/chunks/{update-relaunch-L4GSBLUU.js → update-relaunch-IFILM3SA.js} +5 -5
  173. package/chunks/{updateCheck-PCUTVRFE.js → updateCheck-YZ2CRCFC.js} +16 -13
  174. package/chunks/{useAutoAcceptIndicator-WMXY7MND.js → useAutoAcceptIndicator-AXEVNA3Q.js} +22 -19
  175. package/chunks/{validateNonInterActiveAuth-5S3U2D56.js → validateNonInterActiveAuth-3WTOJFWA.js} +44 -41
  176. package/chunks/{version-P57IQU2T.js → version-GXK7OHZY.js} +1 -1
  177. package/chunks/{web-fetch-5ZLLLCDD.js → web-fetch-ILB4GAVR.js} +10 -6
  178. package/chunks/{web-search-NELKANTW.js → web-search-HKRPGPZZ.js} +5 -3
  179. package/chunks/{workflow-RXKBF3LO.js → workflow-FXIPRQQA.js} +735 -134
  180. package/chunks/{workspace-providers-status-HAEMNAWC.js → workspace-providers-status-NYHC7HSR.js} +22 -19
  181. package/chunks/{workspace-registration-store-U3U3YM6V.js → workspace-registration-store-AKEB7OMW.js} +1 -1
  182. package/chunks/{workspace-registry-ZFP33GVB.js → workspace-registry-CDAS5TVZ.js} +15 -12
  183. package/chunks/{workspace-service-QMISJBMA.js → workspace-service-PAMUKMAV.js} +23 -20
  184. package/chunks/{workspace-skills-status-K7EOUGXL.js → workspace-skills-status-YQSHCCMS.js} +20 -17
  185. package/chunks/{workspace-trust-reconciler-BFPKULDZ.js → workspace-trust-reconciler-RPTXOIY2.js} +22 -19
  186. package/chunks/{write-file-2F76RRFE.js → write-file-CGS57TS4.js} +13 -10
  187. package/chunks/{zh-ARWDLDLR.js → zh-AGL2FVBI.js} +6 -0
  188. package/chunks/{zh-TW-Y4RGI3P7.js → zh-TW-KI66MHQY.js} +6 -0
  189. package/chunks/{zoom-image-DPR22XWY.js → zoom-image-E7D72GYV.js} +4 -2
  190. package/cli.js +13 -13
  191. package/locales/ca.js +10 -0
  192. package/locales/de.js +9 -0
  193. package/locales/en.js +10 -0
  194. package/locales/fr.js +9 -0
  195. package/locales/ja.js +9 -0
  196. package/locales/pt.js +9 -0
  197. package/locales/ru.js +9 -0
  198. package/locales/zh-TW.js +10 -0
  199. package/locales/zh.js +10 -0
  200. package/package.json +3 -3
  201. package/web-shell/assets/{arc-CunFPPcQ.js → arc-DybZaz32.js} +1 -1
  202. package/web-shell/assets/{architectureDiagram-3BPJPVTR-D3SqCgeM.js → architectureDiagram-3BPJPVTR-jN3qBd19.js} +1 -1
  203. package/web-shell/assets/{blockDiagram-GPEHLZMM-CPRx90S_.js → blockDiagram-GPEHLZMM-Ct5DZPrj.js} +1 -1
  204. package/web-shell/assets/{c4Diagram-AAUBKEIU-CahP9Ue4.js → c4Diagram-AAUBKEIU-CUAFMlUG.js} +1 -1
  205. package/web-shell/assets/channel-BMwLrwLW.js +1 -0
  206. package/web-shell/assets/{chunk-2J33WTMH-DckIWZ12.js → chunk-2J33WTMH-CuV8n90B.js} +1 -1
  207. package/web-shell/assets/{chunk-4BX2VUAB-D2Kfctyn.js → chunk-4BX2VUAB-BUzl_kls.js} +1 -1
  208. package/web-shell/assets/{chunk-55IACEB6-DkI11FTX.js → chunk-55IACEB6-BnDBLX6A.js} +1 -1
  209. package/web-shell/assets/{chunk-727SXJPM-rR-TSCIi.js → chunk-727SXJPM-B83uTOjm.js} +1 -1
  210. package/web-shell/assets/{chunk-AQP2D5EJ-DFGKcGRO.js → chunk-AQP2D5EJ-DM3HLgpT.js} +1 -1
  211. package/web-shell/assets/{chunk-FMBD7UC4-CjWqcTPE.js → chunk-FMBD7UC4-CSQ5hgyb.js} +1 -1
  212. package/web-shell/assets/{chunk-ND2GUHAM-RXe-87UV.js → chunk-ND2GUHAM-BWOF4SxX.js} +1 -1
  213. package/web-shell/assets/{chunk-QZHKN3VN-Dz0c_Yrn.js → chunk-QZHKN3VN-BsOH9LMi.js} +1 -1
  214. package/web-shell/assets/classDiagram-4FO5ZUOK-BGDv98jY.js +1 -0
  215. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BGDv98jY.js +1 -0
  216. package/web-shell/assets/{cose-bilkent-S5V4N54A-ZHF0-jvV.js → cose-bilkent-S5V4N54A-IENqH2iJ.js} +1 -1
  217. package/web-shell/assets/{dagre-BM42HDAG-7Umz_ygJ.js → dagre-BM42HDAG--dyzDTGo.js} +1 -1
  218. package/web-shell/assets/{diagram-2AECGRRQ-DomN8nxq.js → diagram-2AECGRRQ-BE7Dcqof.js} +1 -1
  219. package/web-shell/assets/{diagram-5GNKFQAL-eebvj2OL.js → diagram-5GNKFQAL-Cr8-5OTj.js} +1 -1
  220. package/web-shell/assets/{diagram-KO2AKTUF-IR1mmn9d.js → diagram-KO2AKTUF-Bzey3uAY.js} +1 -1
  221. package/web-shell/assets/{diagram-LMA3HP47-CKysx5KF.js → diagram-LMA3HP47-sErl28Xb.js} +1 -1
  222. package/web-shell/assets/{diagram-OG6HWLK6-cBy5puHn.js → diagram-OG6HWLK6-Dq30ATIo.js} +1 -1
  223. package/web-shell/assets/{erDiagram-TEJ5UH35-B5RJagPG.js → erDiagram-TEJ5UH35-BkCoEfVW.js} +1 -1
  224. package/web-shell/assets/{flowDiagram-I6XJVG4X-CfHgDmPg.js → flowDiagram-I6XJVG4X-DHwO0rrI.js} +1 -1
  225. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DUfFF5nb.js → ganttDiagram-6RSMTGT7-s7vAPxWq.js} +1 -1
  226. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-M9dt57k5.js → gitGraphDiagram-PVQCEYII-CQxhwPOU.js} +1 -1
  227. package/web-shell/assets/{index-B8e-CkuC.css → index-Bckpjr-I.css} +1 -1
  228. package/web-shell/assets/{index-CKjO4myk.js → index-CF4wApWp.js} +1 -1
  229. package/web-shell/assets/{index-Dc-fTO0V.js → index-DwEr9HEW.js} +316 -316
  230. package/web-shell/assets/{infoDiagram-5YYISTIA-CTKMmIro.js → infoDiagram-5YYISTIA-BnFrD0bq.js} +1 -1
  231. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DJIJDP4s.js → ishikawaDiagram-YF4QCWOH-Bf9zK5NK.js} +1 -1
  232. package/web-shell/assets/{journeyDiagram-JHISSGLW-DgRnvn6S.js → journeyDiagram-JHISSGLW-CyGAhsxi.js} +1 -1
  233. package/web-shell/assets/{kanban-definition-UN3LZRKU-VUwO8yrg.js → kanban-definition-UN3LZRKU-CbsK5akB.js} +1 -1
  234. package/web-shell/assets/{linear-BCvgV5I_.js → linear-cQsF4P8D.js} +1 -1
  235. package/web-shell/assets/{mermaid.core-mv_kVV6q.js → mermaid.core-Z4HVqrKY.js} +5 -5
  236. package/web-shell/assets/{mindmap-definition-RKZ34NQL-sfnjMlOd.js → mindmap-definition-RKZ34NQL-CYnrBo_f.js} +1 -1
  237. package/web-shell/assets/{pieDiagram-4H26LBE5-BlhICse4.js → pieDiagram-4H26LBE5-CBzOfhrs.js} +1 -1
  238. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BgTQzwen.js → quadrantDiagram-W4KKPZXB-D4LK1Ebn.js} +1 -1
  239. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CZ-FTrrN.js → requirementDiagram-4Y6WPE33-Bzti2Lcj.js} +1 -1
  240. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-G5Wp_jn3.js → sankeyDiagram-5OEKKPKP-yTBw5Z2s.js} +1 -1
  241. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-C8MKZ3i1.js → sequenceDiagram-3UESZ5HK-D07UVRiZ.js} +1 -1
  242. package/web-shell/assets/{stateDiagram-AJRCARHV-Bo0ZDm7y.js → stateDiagram-AJRCARHV-UE_lHsTn.js} +1 -1
  243. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DC6xgXjX.js +1 -0
  244. package/web-shell/assets/{timeline-definition-PNZ67QCA-M3L9E01f.js → timeline-definition-PNZ67QCA-DRvYdiTs.js} +1 -1
  245. package/web-shell/assets/{vennDiagram-CIIHVFJN-DD4eHCrm.js → vennDiagram-CIIHVFJN-CQLIXs0u.js} +1 -1
  246. package/web-shell/assets/{wardley-L42UT6IY-DNEL_3g4.js → wardley-L42UT6IY-JZz_Xqse.js} +1 -1
  247. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-q484OoqI.js → wardleyDiagram-YWT4CUSO--i7BiJwB.js} +1 -1
  248. package/web-shell/assets/{xychartDiagram-2RQKCTM6-4mcNt1Yg.js → xychartDiagram-2RQKCTM6-Bkc-bW0S.js} +1 -1
  249. package/web-shell/index.html +2 -2
  250. package/chunks/chunk-ALFTV7GA.js +0 -92
  251. package/web-shell/assets/channel-zbv7GWAw.js +0 -1
  252. package/web-shell/assets/classDiagram-4FO5ZUOK-DSjLkJJZ.js +0 -1
  253. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DSjLkJJZ.js +0 -1
  254. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-31TSCPcH.js +0 -1
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  getUserSettingsPath,
5
5
  v1ToV2Migration
6
- } from "./chunk-77WOUGCA.js";
6
+ } from "./chunk-OHKJVAKG.js";
7
7
  import {
8
8
  getSystemDefaultsPath,
9
9
  getSystemSettingsPath
@@ -11,17 +11,18 @@ import {
11
11
  import {
12
12
  LoadedTrustedFolders,
13
13
  TrustLevel,
14
+ getExplicitTrustLevel,
14
15
  getTrustedFoldersPath
15
- } from "./chunk-3ARO4N5G.js";
16
+ } from "./chunk-HA3SAB64.js";
16
17
  import {
17
18
  require_strip_json_comments
18
- } from "./chunk-ALGGS7UH.js";
19
+ } from "./chunk-NPQ5ZKRP.js";
19
20
  import {
20
21
  arePathsEquivalent
21
22
  } from "./chunk-MR3PXB6E.js";
22
23
  import {
23
24
  ideContextStore
24
- } from "./chunk-BFSQBXHV.js";
25
+ } from "./chunk-GXSNGY5M.js";
25
26
  import {
26
27
  init_esbuild_shims
27
28
  } from "./chunk-5O2XNYP6.js";
@@ -235,25 +236,7 @@ async function readDaemonTrustPolicySnapshot() {
235
236
  }
236
237
  __name(readDaemonTrustPolicySnapshot, "readDaemonTrustPolicySnapshot");
237
238
  function explicitTrustLevel(snapshot, workspaceCwd) {
238
- const folders = new LoadedTrustedFolders(
239
- {
240
- path: getTrustedFoldersPath(),
241
- config: { ...snapshot.trustedFolders }
242
- },
243
- []
244
- );
245
- const effective = folders.isPathTrusted(workspaceCwd);
246
- if (effective === void 0) return null;
247
- for (const [rulePath, trustLevel] of Object.entries(
248
- snapshot.trustedFolders
249
- )) {
250
- const preview = new LoadedTrustedFolders(
251
- { path: getTrustedFoldersPath(), config: { [rulePath]: trustLevel } },
252
- []
253
- ).isPathTrusted(workspaceCwd);
254
- if (preview === effective) return trustLevel;
255
- }
256
- return null;
239
+ return getExplicitTrustLevel(snapshot.trustedFolders, workspaceCwd);
257
240
  }
258
241
  __name(explicitTrustLevel, "explicitTrustLevel");
259
242
  function evaluateDaemonWorkspaceTrust(snapshot, workspaceCwd, processCwd = process.cwd()) {
@@ -0,0 +1,202 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getRateLimitErrorDetails,
5
+ isQwenQuotaExceededError,
6
+ isRateLimitError
7
+ } from "./chunk-M6HMMKVG.js";
8
+ import {
9
+ isAbortError
10
+ } from "./chunk-OIVKILPI.js";
11
+ import {
12
+ init_esbuild_shims
13
+ } from "./chunk-5O2XNYP6.js";
14
+ import {
15
+ __name
16
+ } from "./chunk-J2S4EL5Y.js";
17
+
18
+ // packages/core/src/utils/retryErrorClassification.ts
19
+ init_esbuild_shims();
20
+ function classifyRetryError(error, context = {}) {
21
+ if (isRetryAbortError(error)) {
22
+ return {
23
+ kind: "abort",
24
+ diagnosis: "fail-fast",
25
+ reason: "aborted"
26
+ };
27
+ }
28
+ const details = getRateLimitErrorDetails(error);
29
+ const statusCode = details.statusCode;
30
+ const providerFields = getProviderFields(error);
31
+ const providerCode = details.providerCode ?? providerFields.providerCode;
32
+ const providerMessage = details.providerMessage ?? providerFields.providerMessage;
33
+ const requestId = details.requestId ?? providerFields.requestId;
34
+ const common = {
35
+ ...statusCode !== void 0 ? { statusCode } : {},
36
+ ...providerCode !== void 0 ? { providerCode } : {},
37
+ ...providerMessage !== void 0 ? { providerMessage } : {},
38
+ ...requestId !== void 0 ? { requestId } : {}
39
+ };
40
+ if (context.authType === "qwen-oauth" /* QWEN_OAUTH */ && isQwenQuotaExceededError(error)) {
41
+ return {
42
+ kind: "provider-business",
43
+ diagnosis: "fail-fast",
44
+ reason: "qwen-oauth-free-tier-quota",
45
+ ...common
46
+ };
47
+ }
48
+ if (isAllocatedQuotaExceeded(providerCode)) {
49
+ return {
50
+ kind: "provider-business",
51
+ diagnosis: "fail-fast",
52
+ reason: "allocated-quota-exceeded",
53
+ ...common
54
+ };
55
+ }
56
+ if (isRateLimitError(error, context.extraRetryErrorCodes)) {
57
+ const kind = details.transport === "sse" ? "sse-provider" : statusCode !== void 0 ? "http" : "provider";
58
+ return {
59
+ kind,
60
+ diagnosis: "retryable",
61
+ reason: "rate-limit",
62
+ ...common
63
+ };
64
+ }
65
+ const transportCode = getTransportCode(error);
66
+ if (transportCode !== void 0 && (statusCode === void 0 || statusCode >= 500)) {
67
+ return {
68
+ kind: "transport",
69
+ diagnosis: "retryable",
70
+ reason: "transport-error",
71
+ transportCode,
72
+ ...statusCode !== void 0 ? { statusCode } : {}
73
+ };
74
+ }
75
+ if (statusCode !== void 0) {
76
+ const kind = details.transport === "sse" ? "sse-provider" : "http";
77
+ if (statusCode === 529) {
78
+ return {
79
+ kind,
80
+ diagnosis: "retryable",
81
+ reason: "capacity-overload",
82
+ ...common
83
+ };
84
+ }
85
+ if (statusCode === 401 || statusCode === 403) {
86
+ return {
87
+ kind,
88
+ diagnosis: "fail-fast",
89
+ reason: "auth-error",
90
+ ...common
91
+ };
92
+ }
93
+ if (statusCode >= 400 && statusCode < 500) {
94
+ return {
95
+ kind,
96
+ diagnosis: "fail-fast",
97
+ reason: "client-error",
98
+ ...common
99
+ };
100
+ }
101
+ if (statusCode >= 500 && statusCode < 600) {
102
+ return {
103
+ kind,
104
+ diagnosis: "retryable",
105
+ reason: "server-error",
106
+ ...common
107
+ };
108
+ }
109
+ return {
110
+ kind,
111
+ diagnosis: "unknown",
112
+ reason: "http-status",
113
+ ...common
114
+ };
115
+ }
116
+ return {
117
+ kind: "unknown",
118
+ diagnosis: "unknown",
119
+ reason: "unclassified",
120
+ ...common
121
+ };
122
+ }
123
+ __name(classifyRetryError, "classifyRetryError");
124
+ function isRetryAbortError(error) {
125
+ if (isAbortError(error)) {
126
+ return true;
127
+ }
128
+ return error instanceof Error && error.name === "CanceledError";
129
+ }
130
+ __name(isRetryAbortError, "isRetryAbortError");
131
+ var MAX_TRANSPORT_CAUSE_DEPTH = 4;
132
+ function getTransportCode(error) {
133
+ let current = error;
134
+ for (let depth = 0; depth <= MAX_TRANSPORT_CAUSE_DEPTH; depth++) {
135
+ if (typeof current !== "object" || current === null) {
136
+ return void 0;
137
+ }
138
+ const code = current.code;
139
+ if (typeof code === "string" && isTransportCode(code)) {
140
+ return code;
141
+ }
142
+ current = current instanceof Error ? current.cause : void 0;
143
+ }
144
+ return void 0;
145
+ }
146
+ __name(getTransportCode, "getTransportCode");
147
+ function isTransportCode(code) {
148
+ return TRANSPORT_ERROR_CODES.has(code);
149
+ }
150
+ __name(isTransportCode, "isTransportCode");
151
+ var TRANSPORT_ERROR_CODES = /* @__PURE__ */ new Set([
152
+ "EAI_AGAIN",
153
+ "ECONNABORTED",
154
+ "ECONNREFUSED",
155
+ "ECONNRESET",
156
+ "EHOSTUNREACH",
157
+ "ENETUNREACH",
158
+ "ENOTFOUND",
159
+ "EPIPE",
160
+ "ETIMEDOUT",
161
+ "UND_ERR_BODY_TIMEOUT",
162
+ "UND_ERR_CONNECT_TIMEOUT",
163
+ "UND_ERR_HEADERS_TIMEOUT",
164
+ "UND_ERR_SOCKET"
165
+ ]);
166
+ function isAllocatedQuotaExceeded(providerCode) {
167
+ return providerCode === "Throttling.AllocationQuota";
168
+ }
169
+ __name(isAllocatedQuotaExceeded, "isAllocatedQuotaExceeded");
170
+ function getProviderFields(error) {
171
+ if (typeof error !== "object" || error === null) {
172
+ return {};
173
+ }
174
+ const source = error;
175
+ const rawCode = typeof source.code === "string" || typeof source.code === "number" ? String(source.code) : void 0;
176
+ const isHttpStatusEcho = typeof source.code === "number" && source.code >= 100 && source.code < 600;
177
+ const providerCode = error instanceof Error && rawCode?.startsWith("ERR_") || isHttpStatusEcho ? void 0 : rawCode;
178
+ const requestId = typeof source.request_id === "string" ? source.request_id : typeof source.requestId === "string" ? source.requestId : void 0;
179
+ const providerMessage = typeof source.message === "string" && (!(error instanceof Error) || providerCode !== void 0 || requestId !== void 0) ? source.message : void 0;
180
+ return {
181
+ ...providerCode !== void 0 ? { providerCode } : {},
182
+ ...providerMessage !== void 0 ? { providerMessage } : {},
183
+ ...requestId !== void 0 ? { requestId } : {}
184
+ };
185
+ }
186
+ __name(getProviderFields, "getProviderFields");
187
+ var FALLBACK_ELIGIBLE_STATUS_CODES = /* @__PURE__ */ new Set([429, 503, 529]);
188
+ function isFallbackEligible(classification) {
189
+ return classification.kind !== "transport" && classification.statusCode !== void 0 && FALLBACK_ELIGIBLE_STATUS_CODES.has(classification.statusCode) && classification.diagnosis !== "fail-fast" && classification.diagnosis !== "unknown";
190
+ }
191
+ __name(isFallbackEligible, "isFallbackEligible");
192
+
193
+ export {
194
+ classifyRetryError,
195
+ getTransportCode,
196
+ isFallbackEligible
197
+ };
198
+ /**
199
+ * @license
200
+ * Copyright 2026 Google LLC
201
+ * SPDX-License-Identifier: Apache-2.0
202
+ */
@@ -22,6 +22,9 @@ import {
22
22
  import {
23
23
  isInForkExecution
24
24
  } from "./chunk-IA7TGCN2.js";
25
+ import {
26
+ getTransportCode
27
+ } from "./chunk-SR7RZ4MS.js";
25
28
  import {
26
29
  getRateLimitErrorDetails
27
30
  } from "./chunk-M6HMMKVG.js";
@@ -53,7 +56,7 @@ import {
53
56
  import {
54
57
  ProtocolTagSanitizedEvent,
55
58
  logProtocolTagSanitized
56
- } from "./chunk-XCG76UE6.js";
59
+ } from "./chunk-3PY4LPJF.js";
57
60
  import {
58
61
  isQwenFamilyWireModel,
59
62
  isTieredEffortWireModel
@@ -1728,11 +1731,18 @@ var EnhancedErrorHandler = class {
1728
1731
  );
1729
1732
  }
1730
1733
  if (isTimeoutError) {
1731
- throw new Error(
1734
+ const timeoutError = new Error(
1732
1735
  `${errorMessage}
1733
1736
 
1734
- ${this.getTimeoutTroubleshootingTips()}`
1737
+ ${this.getTimeoutTroubleshootingTips()}`,
1738
+ { cause: redactedError }
1735
1739
  );
1740
+ const status = getErrorStatus(redactedError);
1741
+ const transportCode = getTransportCode(redactedError);
1742
+ throw Object.assign(timeoutError, {
1743
+ ...status !== void 0 ? { status } : {},
1744
+ ...status === void 0 && transportCode === void 0 ? { code: "ETIMEDOUT" } : {}
1745
+ });
1736
1746
  }
1737
1747
  throw redactedError;
1738
1748
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
5
- } from "./chunk-R574ATRM.js";
5
+ } from "./chunk-M2PNLYGY.js";
6
6
  import {
7
7
  SessionNotFoundError
8
8
  } from "./chunk-J26HHFI5.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-TAOSTUHI.js";
5
+ } from "./chunk-PG62DFWD.js";
6
6
  import {
7
7
  createDebugLogger
8
8
  } from "./chunk-OIVKILPI.js";
@@ -0,0 +1,203 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ writeStderrLineSafe
5
+ } from "./chunk-KGJGEEVR.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/config/acp-channel-fallback.ts
14
+ init_esbuild_shims();
15
+ var QWEN_CODE_SERVE_ENV = "QWEN_CODE_SERVE";
16
+ var QWEN_CODE_DESKTOP_ENV = "QWEN_CODE_DESKTOP";
17
+ function resolveAcpChannelFallback(env = process.env) {
18
+ if (env[QWEN_CODE_DESKTOP_ENV]) {
19
+ return "desktop";
20
+ }
21
+ if (env[QWEN_CODE_SERVE_ENV]) {
22
+ return "daemon";
23
+ }
24
+ return "ACP";
25
+ }
26
+ __name(resolveAcpChannelFallback, "resolveAcpChannelFallback");
27
+
28
+ // packages/cli/src/config/shared-env-keys.ts
29
+ init_esbuild_shims();
30
+ var DEFAULT_EXCLUDED_ENV_VARS = ["DEBUG", "DEBUG_MODE"];
31
+ var ENV_CORRUPTED_PATH = "QWEN_CODE_SETTINGS_CORRUPTED_PATH";
32
+ var ENV_WAS_RECOVERED = "QWEN_CODE_SETTINGS_WAS_RECOVERED";
33
+ var PROJECT_ENV_HARDCODED_EXCLUSIONS = [
34
+ "QWEN_HOME",
35
+ "QWEN_RUNTIME_DIR",
36
+ "QWEN_CODE_MCP_APPROVALS_PATH",
37
+ "QWEN_CODE_TRUSTED_FOLDERS_PATH",
38
+ // Runtime attribution markers are stamped by trusted launchers. A project
39
+ // `.env` must not spoof client channel telemetry.
40
+ QWEN_CODE_SERVE_ENV,
41
+ QWEN_CODE_DESKTOP_ENV,
42
+ ENV_CORRUPTED_PATH,
43
+ ENV_WAS_RECOVERED,
44
+ // QWEN_TLS_INSECURE (and NODE_TLS_REJECT_UNAUTHORIZED, which it mirrors)
45
+ // disable TLS certificate verification for all outbound API connections. A
46
+ // project `.env` must never enable either — that would let an untrusted repo
47
+ // silently turn off MITM protection. Opt-in stays with the user via the
48
+ // `--insecure` flag, the shell environment, or a home `.env`. The initial
49
+ // `.env` load only consults this list, so both keys must be here (not just
50
+ // RELOAD_EXCLUDED_KEYS, which only applies on reload).
51
+ "QWEN_TLS_INSECURE",
52
+ "NODE_TLS_REJECT_UNAUTHORIZED",
53
+ // NODE_EXTRA_CA_CERTS reaches the same outcome by adding a TLS trust
54
+ // anchor instead of disabling verification.
55
+ "NODE_EXTRA_CA_CERTS",
56
+ // QWEN_CLI_ENTRY is the script path daemon-spawned session processes run.
57
+ // A project `.env` or settings.env fixing it turns
58
+ // `cd <untrusted repo> && qwen serve` into code execution as the daemon
59
+ // via an attacker-chosen ACP entrypoint, for every workspace's sessions.
60
+ "QWEN_CLI_ENTRY",
61
+ // DEV gates the daemon's inherited-loader-env scrub (run-qwen-serve.ts);
62
+ // only the dev harness (scripts/dev.js) stamps it into the launch env. A
63
+ // project file setting it would silently keep loader vars in the base env
64
+ // distributed to every workspace's session children — reopening the #8653
65
+ // vector for any repo whose .env happens to carry DEV=true.
66
+ "DEV"
67
+ ];
68
+ var HARDCODED_PROJECT_ENV_EXCLUSIONS = new Set(
69
+ PROJECT_ENV_HARDCODED_EXCLUSIONS.map((key) => key.toLowerCase())
70
+ );
71
+ function isHardcodedProjectEnvExclusion(key) {
72
+ return HARDCODED_PROJECT_ENV_EXCLUSIONS.has(key.toLowerCase());
73
+ }
74
+ __name(isHardcodedProjectEnvExclusion, "isHardcodedProjectEnvExclusion");
75
+ var HOME_ENV_BOOTSTRAP_KEYS = [
76
+ "QWEN_HOME",
77
+ "QWEN_RUNTIME_DIR",
78
+ "QWEN_CODE_MCP_APPROVALS_PATH",
79
+ "QWEN_CODE_TRUSTED_FOLDERS_PATH"
80
+ ];
81
+ var INHERITED_LOADER_ENV_KEYS = [
82
+ "NODE_OPTIONS",
83
+ // npm maps its `node-options` config onto npm_config_node_options in the
84
+ // environment, and `npm run` lifecycle scripts apply it like NODE_OPTIONS —
85
+ // the same hijack through an adjacent key. The config-file keys are the
86
+ // same hijack one level up: they point npm at an attacker-chosen .npmrc
87
+ // that can itself set node-options/script-shell/ignore-scripts, and `npm
88
+ // run` itself exports them into the script environment.
89
+ "npm_config_node_options",
90
+ "npm_config_userconfig",
91
+ "npm_config_globalconfig",
92
+ "npm_config_script_shell",
93
+ "npm_config_prefix",
94
+ "NODE_PATH",
95
+ "LD_PRELOAD",
96
+ "LD_AUDIT",
97
+ "DYLD_INSERT_LIBRARIES",
98
+ "BASH_ENV",
99
+ // zsh sources $ZDOTDIR/.zshenv on every invocation, including
100
+ // non-interactive `zsh -c` — the zsh analogue of BASH_ENV.
101
+ "ZDOTDIR"
102
+ // BASH_FUNC_* exported-function definitions are bash's other env-driven
103
+ // code-import channel (non-interactive `bash -c` still imports them);
104
+ // matched by prefix in isLoaderEnvKey, not listed here.
105
+ ];
106
+ var canonicalLoaderKey = /* @__PURE__ */ __name((key) => key.toLowerCase().replace(/_/gu, "-"), "canonicalLoaderKey");
107
+ var LOADER_ENV_KEYS = new Set(
108
+ INHERITED_LOADER_ENV_KEYS.map(canonicalLoaderKey)
109
+ );
110
+ function isLoaderEnvKey(key) {
111
+ const canonical = canonicalLoaderKey(key);
112
+ return canonical.startsWith("bash-func-") || LOADER_ENV_KEYS.has(canonical);
113
+ }
114
+ __name(isLoaderEnvKey, "isLoaderEnvKey");
115
+ function scrubInheritedLoaderEnv(env) {
116
+ const removedKeys = [];
117
+ for (const key of Object.keys(env)) {
118
+ if (isLoaderEnvKey(key)) {
119
+ delete env[key];
120
+ removedKeys.push(key);
121
+ }
122
+ }
123
+ return removedKeys;
124
+ }
125
+ __name(scrubInheritedLoaderEnv, "scrubInheritedLoaderEnv");
126
+ function scrubAndReportInheritedLoaderEnv(env, commandLabel, processLabel) {
127
+ const removedKeys = scrubInheritedLoaderEnv(env);
128
+ if (removedKeys.length > 0) {
129
+ writeStderrLineSafe(
130
+ `${commandLabel}: scrubbed inherited loader env vars from the ${processLabel} process; session subprocesses will not inherit them: ${removedKeys.join(", ")}`
131
+ );
132
+ }
133
+ return removedKeys;
134
+ }
135
+ __name(scrubAndReportInheritedLoaderEnv, "scrubAndReportInheritedLoaderEnv");
136
+ var reportedLoaderKeyRejections = /* @__PURE__ */ new Map();
137
+ var loaderKeyRejectionReporter;
138
+ function setLoaderKeyRejectionReporter(reporter) {
139
+ loaderKeyRejectionReporter = reporter;
140
+ }
141
+ __name(setLoaderKeyRejectionReporter, "setLoaderKeyRejectionReporter");
142
+ function reportRejectedLoaderKeys(source, candidateKeys) {
143
+ const rejectedKeys = candidateKeys.filter(isLoaderEnvKey);
144
+ const warnedKeys = reportedLoaderKeyRejections.get(source) ?? /* @__PURE__ */ new Set();
145
+ const freshKeys = rejectedKeys.filter((key) => !warnedKeys.has(key));
146
+ if (freshKeys.length === 0) return rejectedKeys;
147
+ for (const key of freshKeys) warnedKeys.add(key);
148
+ reportedLoaderKeyRejections.set(source, warnedKeys);
149
+ if (loaderKeyRejectionReporter) {
150
+ loaderKeyRejectionReporter(source, freshKeys);
151
+ } else {
152
+ writeStderrLineSafe(
153
+ `qwen: ${source} cannot set loader-affecting env vars; ignored: ` + freshKeys.join(", ")
154
+ );
155
+ }
156
+ return rejectedKeys;
157
+ }
158
+ __name(reportRejectedLoaderKeys, "reportRejectedLoaderKeys");
159
+ function resetLoaderKeyRejectionReportingForTesting() {
160
+ reportedLoaderKeyRejections.clear();
161
+ }
162
+ __name(resetLoaderKeyRejectionReportingForTesting, "resetLoaderKeyRejectionReportingForTesting");
163
+
164
+ // packages/cli/src/config/compile-cache.ts
165
+ init_esbuild_shims();
166
+ var PENDING_COMPILE_CACHE_ENV = "QWEN_CODE_PENDING_COMPILE_CACHE";
167
+ function publishPendingCompileCache(env = process.env) {
168
+ const pendingDirectory = env[PENDING_COMPILE_CACHE_ENV];
169
+ delete env[PENDING_COMPILE_CACHE_ENV];
170
+ if (pendingDirectory && !env["NODE_COMPILE_CACHE"] && env["NODE_DISABLE_COMPILE_CACHE"] !== "1") {
171
+ env["NODE_COMPILE_CACHE"] = pendingDirectory;
172
+ }
173
+ }
174
+ __name(publishPendingCompileCache, "publishPendingCompileCache");
175
+
176
+ export {
177
+ QWEN_CODE_SERVE_ENV,
178
+ QWEN_CODE_DESKTOP_ENV,
179
+ resolveAcpChannelFallback,
180
+ DEFAULT_EXCLUDED_ENV_VARS,
181
+ ENV_CORRUPTED_PATH,
182
+ ENV_WAS_RECOVERED,
183
+ PROJECT_ENV_HARDCODED_EXCLUSIONS,
184
+ isHardcodedProjectEnvExclusion,
185
+ HOME_ENV_BOOTSTRAP_KEYS,
186
+ isLoaderEnvKey,
187
+ scrubInheritedLoaderEnv,
188
+ scrubAndReportInheritedLoaderEnv,
189
+ setLoaderKeyRejectionReporter,
190
+ reportRejectedLoaderKeys,
191
+ resetLoaderKeyRejectionReportingForTesting,
192
+ publishPendingCompileCache
193
+ };
194
+ /**
195
+ * @license
196
+ * Copyright 2026 Qwen Team
197
+ * SPDX-License-Identifier: Apache-2.0
198
+ */
199
+ /**
200
+ * @license
201
+ * Copyright 2025 Qwen Team
202
+ * SPDX-License-Identifier: Apache-2.0
203
+ */
@@ -3,17 +3,17 @@
3
3
  import {
4
4
  getGitVersion,
5
5
  getNpmVersion
6
- } from "./chunk-26ISE5EG.js";
6
+ } from "./chunk-3SE7J4DR.js";
7
7
  import {
8
8
  buildEnvStatusFromEnv,
9
9
  snapshotProcessEnv
10
- } from "./chunk-TX3KSSDN.js";
10
+ } from "./chunk-S3Y3GBFD.js";
11
11
  import {
12
12
  mapDomainErrorToErrorKind
13
13
  } from "./chunk-NLREQJFK.js";
14
14
  import {
15
15
  canUseRipgrep
16
- } from "./chunk-BFSQBXHV.js";
16
+ } from "./chunk-GXSNGY5M.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  AuthType
5
- } from "./chunk-P7HUJDBZ.js";
5
+ } from "./chunk-M3STHEMM.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-5YT3Y33M.js";
5
+ } from "./chunk-77QVBFCU.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-77WOUGCA.js";
9
+ } from "./chunk-OHKJVAKG.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -5,12 +5,12 @@ import {
5
5
  } from "./chunk-4NFY2S7N.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-TAOSTUHI.js";
8
+ } from "./chunk-PG62DFWD.js";
9
9
  import {
10
10
  fetchGitDiff,
11
11
  findProviderByCredentials,
12
12
  resolveMetadataKey
13
- } from "./chunk-BFSQBXHV.js";
13
+ } from "./chunk-GXSNGY5M.js";
14
14
  import {
15
15
  init_esbuild_shims
16
16
  } from "./chunk-5O2XNYP6.js";
@@ -7,19 +7,19 @@ import {
7
7
  parseAcpBaseModelId,
8
8
  resolveCliGenerationConfig,
9
9
  sanitizeProviderBaseUrl
10
- } from "./chunk-XIDHBXUI.js";
10
+ } from "./chunk-GBDINRIL.js";
11
11
  import {
12
12
  snapshotProcessEnv
13
- } from "./chunk-TX3KSSDN.js";
13
+ } from "./chunk-S3Y3GBFD.js";
14
14
  import {
15
15
  STATUS_SCHEMA_VERSION
16
16
  } from "./chunk-NLREQJFK.js";
17
17
  import {
18
18
  loadSettings
19
- } from "./chunk-77WOUGCA.js";
19
+ } from "./chunk-OHKJVAKG.js";
20
20
  import {
21
21
  ModelsConfig
22
- } from "./chunk-BFSQBXHV.js";
22
+ } from "./chunk-GXSNGY5M.js";
23
23
  import {
24
24
  APPROVAL_MODES
25
25
  } from "./chunk-WAUGQKUU.js";
@@ -2,16 +2,16 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-77WOUGCA.js";
5
+ } from "./chunk-OHKJVAKG.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-TAOSTUHI.js";
8
+ } from "./chunk-PG62DFWD.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-3ARO4N5G.js";
11
+ } from "./chunk-HA3SAB64.js";
12
12
  import {
13
13
  require_strip_json_comments
14
- } from "./chunk-ALGGS7UH.js";
14
+ } from "./chunk-NPQ5ZKRP.js";
15
15
  import {
16
16
  Client,
17
17
  Config,
@@ -23,7 +23,7 @@ import {
23
23
  isGatedMcpScope,
24
24
  normalizeClaudeMcpServer,
25
25
  runWithTimeout
26
- } from "./chunk-BFSQBXHV.js";
26
+ } from "./chunk-GXSNGY5M.js";
27
27
  import {
28
28
  atomicWriteFile
29
29
  } from "./chunk-FOGU3LJX.js";
@@ -2,15 +2,15 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-IMK3SJ43.js";
5
+ } from "./chunk-7VUERJHS.js";
6
6
  import {
7
7
  assembleMcpServers,
8
8
  getPendingGatedMcpServers,
9
9
  getPromptableMcpServers
10
- } from "./chunk-4QJJHIZ5.js";
10
+ } from "./chunk-Y4TETC74.js";
11
11
  import {
12
12
  getMCPServerStatus
13
- } from "./chunk-XCG76UE6.js";
13
+ } from "./chunk-3PY4LPJF.js";
14
14
  import {
15
15
  require_fast_deep_equal
16
16
  } from "./chunk-PYQADEFD.js";