@qwen-code/qwen-code 0.19.7-nightly.20260708.394c1a289 → 0.19.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 (228) hide show
  1. package/bundled/qc-helper/docs/features/channels/overview.md +6 -3
  2. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
  3. package/bundled/qc-helper/docs/features/hooks.md +36 -34
  4. package/bundled/qc-helper/docs/features/memory.md +1 -1
  5. package/bundled/qc-helper/docs/qwen-serve.md +17 -10
  6. package/bundled/review/SKILL.md +6 -2
  7. package/chunks/{MaxSizedBox-XS37LWTD.js → MaxSizedBox-5DT2SD7B.js} +7 -7
  8. package/chunks/{StandaloneSessionPicker-LPALJTKN.js → StandaloneSessionPicker-EYRGH6PJ.js} +23 -21
  9. package/chunks/{acpAgent-4VE3FGJX.js → acpAgent-GRFTTRHW.js} +74 -69
  10. package/chunks/{agent-CCHERW6L.js → agent-H2DGKS77.js} +4 -4
  11. package/chunks/{agent-headless-55N6UBUU.js → agent-headless-KFMFIT6J.js} +4 -4
  12. package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-CPF22MA7.js} +28 -1
  13. package/chunks/{bridge-U6HXOHE7.js → bridge-NA3ZQQKJ.js} +11 -10
  14. package/chunks/{ca-HCMB2I54.js → ca-MKD32FQL.js} +26 -1
  15. package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-NZQUOEFJ.js} +3 -3
  16. package/chunks/{chunk-J43WPR6U.js → chunk-27BHARDE.js} +8 -8
  17. package/chunks/{chunk-KKWO4IX2.js → chunk-2EM7ECZD.js} +251 -71
  18. package/chunks/{chunk-E7HM76PR.js → chunk-3GNOQZDC.js} +1562 -1025
  19. package/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
  20. package/chunks/{chunk-VEB3NYSO.js → chunk-5MBO76SL.js} +5 -0
  21. package/chunks/{chunk-N74BA4VP.js → chunk-6VK6FIMQ.js} +1 -1
  22. package/chunks/{chunk-2FHWCKWA.js → chunk-A5JOJ77H.js} +35 -14
  23. package/chunks/{chunk-PLGONYEL.js → chunk-AYNCLGTW.js} +5 -5
  24. package/chunks/{chunk-K34DD7FH.js → chunk-BOBOCR5H.js} +4 -3
  25. package/chunks/chunk-BOBRZZKD.js +468 -0
  26. package/chunks/{chunk-7I4MGFBN.js → chunk-BUZ6HGL4.js} +5 -5
  27. package/chunks/{chunk-FK77ILF5.js → chunk-BVYU3ZTI.js} +2 -2
  28. package/chunks/{chunk-TBAZMRW3.js → chunk-CD6USWHZ.js} +1 -1
  29. package/chunks/{chunk-PVXPDMGP.js → chunk-CHB5SLZZ.js} +2 -2
  30. package/chunks/{chunk-SJHAUELE.js → chunk-DCZWC4PF.js} +2 -2
  31. package/chunks/{chunk-YYU6H66M.js → chunk-DHOLNQLC.js} +11 -11
  32. package/chunks/{chunk-MOQOAH7N.js → chunk-DICGXFAI.js} +1 -1
  33. package/chunks/{chunk-KT3SI3CQ.js → chunk-DIWVZ3VM.js} +8 -8
  34. package/chunks/{chunk-2DYY5XUZ.js → chunk-E7EMCSUG.js} +1 -1
  35. package/chunks/{chunk-XQ2GVLNJ.js → chunk-EEN2TKST.js} +1 -1
  36. package/chunks/{chunk-DNV4FSN5.js → chunk-FBET5XZ2.js} +6 -4
  37. package/chunks/{chunk-GIY6JTTC.js → chunk-FQNC62B2.js} +4 -4
  38. package/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
  39. package/chunks/chunk-GLE2YUPU.js +34 -0
  40. package/chunks/{chunk-X265R5C6.js → chunk-GN3F6PIU.js} +1 -1
  41. package/chunks/{chunk-LC4SMGYY.js → chunk-GSHQYYIV.js} +45 -9
  42. package/chunks/{chunk-BGL43SJ3.js → chunk-HDOH3QYE.js} +1 -1
  43. package/chunks/{chunk-4AFOWB47.js → chunk-I6WGFJJ3.js} +63 -4
  44. package/chunks/{chunk-2NPS2UDH.js → chunk-IBY3Q3HG.js} +390 -9
  45. package/chunks/{chunk-AXTPFMRS.js → chunk-J7RCB6N5.js} +1 -1
  46. package/chunks/{chunk-QCSLZO6J.js → chunk-JCH35JB3.js} +1 -1
  47. package/chunks/{chunk-JYOWO2F7.js → chunk-JPALE3PA.js} +3 -3
  48. package/chunks/{chunk-5FL2K3ZB.js → chunk-JRQ7EVGE.js} +1 -1
  49. package/chunks/{chunk-BHRU4SDF.js → chunk-JZHIQJOE.js} +3 -3
  50. package/chunks/{chunk-FB2ULV4M.js → chunk-L46XKEGM.js} +14 -153
  51. package/chunks/{chunk-LKXDC3AW.js → chunk-L4AMBVQG.js} +9 -9
  52. package/chunks/{chunk-ME344634.js → chunk-LAXNEOBG.js} +1 -1
  53. package/chunks/{chunk-QHT5USLK.js → chunk-M7S4GK5Z.js} +66 -445
  54. package/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
  55. package/chunks/{chunk-TBLJNMI7.js → chunk-O33TBKDC.js} +10 -10
  56. package/chunks/chunk-O7FIRWJV.js +168 -0
  57. package/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
  58. package/chunks/{chunk-CR5IU2RX.js → chunk-ON3JA3RU.js} +2 -2
  59. package/chunks/{chunk-VTCPREC7.js → chunk-OQXDAMKY.js} +3 -3
  60. package/chunks/{chunk-ELMPRVCB.js → chunk-P3XEEI3X.js} +1 -1
  61. package/chunks/{chunk-OU6FPTJZ.js → chunk-PMFULMLX.js} +296 -81
  62. package/chunks/{chunk-2YELHTUE.js → chunk-PUVCVELY.js} +1 -1
  63. package/chunks/{chunk-5OSSOBZC.js → chunk-RMLZAUWH.js} +4 -4
  64. package/chunks/{chunk-B6WUEODT.js → chunk-SQ2UATK7.js} +14 -8
  65. package/chunks/{chunk-TEYGKLIZ.js → chunk-TI3BWD4D.js} +1 -1
  66. package/chunks/{chunk-T2EJHSE3.js → chunk-TSPB77TG.js} +57 -35
  67. package/chunks/{chunk-L7IWK7JY.js → chunk-UX6OTBVD.js} +1 -1
  68. package/chunks/{chunk-XUSONNJ4.js → chunk-UXEW557D.js} +1 -1
  69. package/chunks/chunk-V35MD7KN.js +13 -0
  70. package/chunks/{chunk-B5FOCTEZ.js → chunk-VGGOPZUL.js} +6 -5
  71. package/chunks/{chunk-MYZWWRVW.js → chunk-WF4FAXDL.js} +2 -2
  72. package/chunks/{chunk-2SWMCXVR.js → chunk-WHJQ3JUS.js} +20 -8
  73. package/chunks/{chunk-VQJ64BIQ.js → chunk-WQTHLB5T.js} +3 -3
  74. package/chunks/chunk-XNXVCNAT.js +88 -0
  75. package/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
  76. package/chunks/{chunk-ZK5EI6NR.js → chunk-XYR5RUA5.js} +14 -5
  77. package/chunks/{chunk-YMWIKAEE.js → chunk-YDOXPLYL.js} +244 -47
  78. package/chunks/{chunk-UZCT5OLN.js → chunk-YHKAK72D.js} +11 -11
  79. package/chunks/{chunk-RFIL6REB.js → chunk-YKZIAK7C.js} +119 -29
  80. package/chunks/chunk-Z3I3QJK3.js +47 -0
  81. package/chunks/{chunk-3QDZDAJG.js → chunk-ZE6E424U.js} +1 -1
  82. package/chunks/chunk-ZL5HN75Q.js +61 -0
  83. package/chunks/{computer-use-4CTF6WS3.js → computer-use-WMY3UOBX.js} +4 -4
  84. package/chunks/{contextCommand-Z3XWQCY6.js → contextCommand-LXFZRP4L.js} +6 -6
  85. package/chunks/{daemon-F3I2RXP6.js → daemon-WPAENEBW.js} +48 -0
  86. package/chunks/{daemon-status-provider-6A4QCG6Q.js → daemon-status-provider-GJRXY5EN.js} +15 -13
  87. package/chunks/{de-PLLFDERI.js → de-ZFPPQVSF.js} +26 -1
  88. package/chunks/{dist-IMFFBMAT.js → dist-BEXOZXLQ.js} +1 -1
  89. package/chunks/{dist-OT7G2WNM.js → dist-E6UANPIM.js} +1 -1
  90. package/chunks/{dist-FQ5WRJPL.js → dist-H2AEJCZ5.js} +2 -2
  91. package/chunks/{dist-YTRKAVUB.js → dist-O2IRTRPP.js} +1 -1
  92. package/chunks/{dist-573HNSVO.js → dist-SCFLLYMK.js} +1 -1
  93. package/chunks/{dist-PKFTNUHO.js → dist-Z34QPAQW.js} +1 -1
  94. package/chunks/{earlyInputCapture-7O47HW62.js → earlyInputCapture-KNOYZ4MJ.js} +4 -4
  95. package/chunks/{edit-E32KWLF2.js → edit-OTYWAXGP.js} +5 -5
  96. package/chunks/{en-GA2RMXY5.js → en-N4EPZAQI.js} +26 -1
  97. package/chunks/{enter-worktree-ZKFFMHUD.js → enter-worktree-HNYBDVCX.js} +4 -4
  98. package/chunks/{enterPlanMode-HLDC6NGX.js → enterPlanMode-CJCNGT63.js} +4 -4
  99. package/chunks/environment-ATFTYMLZ.js +88 -0
  100. package/chunks/{errors-MTIDDXX7.js → errors-A54HAADA.js} +6 -6
  101. package/chunks/{exit-worktree-YHY72XA2.js → exit-worktree-DUUKOE3X.js} +4 -4
  102. package/chunks/{exitPlanMode-JNXKBZ2C.js → exitPlanMode-AMMSXOAJ.js} +4 -4
  103. package/chunks/{fast-path-DVAGBROV.js → fast-path-OV6NIP3K.js} +12 -3
  104. package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-7RIFI3PK.js} +3 -2
  105. package/chunks/{fr-GWNQG4XH.js → fr-5WWMY53B.js} +26 -1
  106. package/chunks/{gemini-2TMHJVRC.js → gemini-NQ3WWBKB.js} +431 -135
  107. package/chunks/{geminiContentGenerator-WCH4GWD3.js → geminiContentGenerator-CDUNEJQE.js} +1 -1
  108. package/chunks/{glob-I6Y4AGKO.js → glob-ROV3YS4R.js} +4 -4
  109. package/chunks/{grep-3P2J3LU5.js → grep-NRITKDCD.js} +4 -4
  110. package/chunks/{handleAutoUpdate-4IVRMRG4.js → handleAutoUpdate-CEZJAARW.js} +6 -6
  111. package/chunks/{initializer-DVNCPVTC.js → initializer-BRFJKRRX.js} +11 -9
  112. package/chunks/{ja-2HOTA47X.js → ja-CUHZOLEJ.js} +26 -1
  113. package/chunks/{list-4D6QK2KZ.js → list-KVHF7O4X.js} +13 -11
  114. package/chunks/{loadedSettingsAdapter-GNGELH6Q.js → loadedSettingsAdapter-LL5PSFKX.js} +11 -9
  115. package/chunks/{ls-L654WOAT.js → ls-7MFU2QYW.js} +1 -1
  116. package/chunks/{lsp-M35KE54Y.js → lsp-XHDTPTGV.js} +2 -4
  117. package/chunks/{mcp-2IL72YJP.js → mcp-3GCXRTOQ.js} +11 -9
  118. package/chunks/{monitor-BLVCZAVX.js → monitor-FL2ZO33W.js} +4 -4
  119. package/chunks/{nonInteractiveCli-UD3V7UOO.js → nonInteractiveCli-PTQI3DV6.js} +44 -41
  120. package/chunks/{notebook-edit-5TVMWIWY.js → notebook-edit-6PULTHL5.js} +5 -5
  121. package/chunks/{openaiContentGenerator-5LJ5A7YY.js → openaiContentGenerator-YE42PKCY.js} +3 -3
  122. package/chunks/{pidfile-AN5JQJ2T.js → pidfile-NZYSCFRK.js} +4 -4
  123. package/chunks/{pt-2THT3YHA.js → pt-OLYN42DS.js} +26 -1
  124. package/chunks/{qwenContentGenerator-E2JSB4FJ.js → qwenContentGenerator-NX2E7PB7.js} +5 -5
  125. package/chunks/{read-file-N5DEFUDU.js → read-file-33XGP5HF.js} +2 -2
  126. package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-SQ2OKRJW.js} +3 -3
  127. package/chunks/{ripGrep-BLJHTHKE.js → ripGrep-QWZLGTAN.js} +4 -4
  128. package/chunks/{ru-Z67YJHBG.js → ru-LDM3GWVQ.js} +26 -1
  129. package/chunks/{run-qwen-serve-4JDO64RN.js → run-qwen-serve-JK2DL7PI.js} +596 -143
  130. package/chunks/{scheduler-FQR4XA7J.js → scheduler-O4IGVZKK.js} +4 -4
  131. package/chunks/{send-message-OA6MV4EU.js → send-message-76GT3JMC.js} +1 -1
  132. package/chunks/{serve-ZOCFC7YM.js → serve-JTMIGANH.js} +13 -10
  133. package/chunks/{server-GEOYEPYT.js → server-SGNPKX2O.js} +667 -243
  134. package/chunks/{session-NJCONHGX.js → session-5BNM25EZ.js} +45 -42
  135. package/chunks/{settings-QBGGXANI.js → settings-3MI4XXP6.js} +20 -16
  136. package/chunks/{shell-2DVPSEKT.js → shell-YJKBE67T.js} +4 -4
  137. package/chunks/{skill-HIPXUHV7.js → skill-I22QK5XS.js} +2 -2
  138. package/chunks/{spawnChannel-3JYXY52G.js → spawnChannel-UNV6W4DU.js} +6 -6
  139. package/chunks/{src-NLEX4CUC.js → src-BBQSM46M.js} +8 -4
  140. package/chunks/{startInteractiveUI-TYGZIU27.js → startInteractiveUI-JII36UGN.js} +619 -288
  141. package/chunks/{task-create-RPFZNB4B.js → task-create-WCHTB435.js} +2 -2
  142. package/chunks/{task-update-5WUG5MVQ.js → task-update-XYWMHJGJ.js} +2 -2
  143. package/chunks/{team-create-MGX57SZJ.js → team-create-A7NUU5AQ.js} +4 -4
  144. package/chunks/{team-plan-approval-BO2N7J3E.js → team-plan-approval-TOQRJ2KI.js} +4 -4
  145. package/chunks/{theme-manager-WU7LOA64.js → theme-manager-WZ4RRMMB.js} +4 -4
  146. package/chunks/{tool-search-CLBKVEVK.js → tool-search-SZ4EFS2T.js} +3 -3
  147. package/chunks/total-session-admission-ULXJWXFV.js +72 -0
  148. package/chunks/{trustedFolders-GAQM2GHB.js → trustedFolders-LAZZPZ3D.js} +5 -5
  149. package/chunks/{updateCheck-RIK2YIQE.js → updateCheck-KONLM73X.js} +5 -5
  150. package/chunks/{validateNonInterActiveAuth-NS3GBIJZ.js → validateNonInterActiveAuth-MPKSRCXD.js} +41 -38
  151. package/chunks/{version-B3RSLP54.js → version-NO2XSNNP.js} +1 -1
  152. package/chunks/{workflow-7APPIGND.js → workflow-WO2H6NRI.js} +5 -5
  153. package/chunks/{workspace-providers-status-SC67GLMY.js → workspace-providers-status-3W7E7DFW.js} +14 -11
  154. package/chunks/workspace-registry-SXJZNN3O.js +74 -0
  155. package/chunks/{workspace-service-ZJHF22WA.js → workspace-service-CZRQZ4Q4.js} +17 -15
  156. package/chunks/{workspace-skills-status-NJEK6P6Y.js → workspace-skills-status-K7WFREPD.js} +12 -10
  157. package/chunks/{write-file-R6Z3VLRY.js → write-file-PX2Z7IBE.js} +5 -5
  158. package/chunks/{zh-7XVVRTDH.js → zh-J4F6QWQV.js} +26 -1
  159. package/chunks/{zh-TW-DPH554OG.js → zh-TW-XVDWOLSW.js} +26 -1
  160. package/cli.js +11 -11
  161. package/locales/ca.js +30 -0
  162. package/locales/de.js +30 -0
  163. package/locales/en.js +30 -0
  164. package/locales/fr.js +30 -0
  165. package/locales/ja.js +30 -0
  166. package/locales/pt.js +30 -0
  167. package/locales/ru.js +30 -0
  168. package/locales/zh-TW.js +30 -0
  169. package/locales/zh.js +30 -0
  170. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  171. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  172. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  173. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  174. package/package.json +3 -3
  175. package/web-shell/assets/{arc-C7hjaa7g.js → arc-BWyoJpY2.js} +1 -1
  176. package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-BT0mGrz2.js} +1 -1
  177. package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-BLgUWvyf.js} +1 -1
  178. package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-DYx9M7oU.js} +1 -1
  179. package/web-shell/assets/channel-wmPUGHtg.js +1 -0
  180. package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-CfMHWbuZ.js} +1 -1
  181. package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-B1URoqEV.js} +1 -1
  182. package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-DAIaM4QF.js} +1 -1
  183. package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-B2X34knw.js} +1 -1
  184. package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-Cif-zLTQ.js} +1 -1
  185. package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-H18WCXdY.js} +1 -1
  186. package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-YFtetHi0.js} +1 -1
  187. package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-By2hiH3r.js} +1 -1
  188. package/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +1 -0
  189. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +1 -0
  190. package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-VrcnnLZu.js} +1 -1
  191. package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-CGo-IaVV.js} +1 -1
  192. package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-Dl4QjzIB.js} +1 -1
  193. package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-qMLmsO0u.js} +1 -1
  194. package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-CHlmuxPI.js} +1 -1
  195. package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-BUwU3GwT.js} +1 -1
  196. package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-HEhwPDUM.js} +1 -1
  197. package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-1n0llBmM.js} +1 -1
  198. package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-BN74uMnt.js} +1 -1
  199. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-BoOq78i3.js} +1 -1
  200. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-CN8b00c8.js} +1 -1
  201. package/web-shell/assets/index-CNwoO1Cn.js +783 -0
  202. package/web-shell/assets/index-CWQ0z6kZ.css +5 -0
  203. package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-CCurnIna.js} +1 -1
  204. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-AwuRqdUP.js} +1 -1
  205. package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-B7IICk-E.js} +1 -1
  206. package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-BYF0OKhx.js} +1 -1
  207. package/web-shell/assets/{linear-Bo5bWzvo.js → linear-GWWguGfD.js} +1 -1
  208. package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-JqtkxvCl.js} +5 -5
  209. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-B0MmHsZ6.js} +1 -1
  210. package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-DhImUZLQ.js} +1 -1
  211. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-DGeSC3DT.js} +1 -1
  212. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-DkspY6Re.js} +1 -1
  213. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-CaOofS2x.js} +1 -1
  214. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-DFQ_kFnN.js} +1 -1
  215. package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-D3snw0Tz.js} +1 -1
  216. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +1 -0
  217. package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-l4zH8nLM.js} +1 -1
  218. package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-BnRlA98M.js} +1 -1
  219. package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-BS0xUdmd.js} +1 -1
  220. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-DKGBUWyQ.js} +1 -1
  221. package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-DVb2HuOB.js} +1 -1
  222. package/web-shell/index.html +2 -2
  223. package/web-shell/assets/channel-BNf1dW-j.js +0 -1
  224. package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
  225. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
  226. package/web-shell/assets/index-CnE2ur2L.js +0 -779
  227. package/web-shell/assets/index-hSKXrlSE.css +0 -5
  228. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
@@ -0,0 +1,468 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ DEFAULT_EXCLUDED_ENV_VARS,
5
+ HOME_ENV_BOOTSTRAP_KEYS,
6
+ PROJECT_ENV_HARDCODED_EXCLUSIONS
7
+ } from "./chunk-Z3I3QJK3.js";
8
+ import {
9
+ isWorkspaceTrusted
10
+ } from "./chunk-DICGXFAI.js";
11
+ import {
12
+ require_main
13
+ } from "./chunk-SKAZWEV5.js";
14
+ import {
15
+ QWEN_DIR,
16
+ Storage,
17
+ getErrorMessage
18
+ } from "./chunk-22MNNNXE.js";
19
+ import {
20
+ init_esbuild_shims
21
+ } from "./chunk-A4BMJM77.js";
22
+ import {
23
+ __name,
24
+ __toESM
25
+ } from "./chunk-J2S4EL5Y.js";
26
+
27
+ // packages/cli/src/config/environment.ts
28
+ init_esbuild_shims();
29
+ var dotenv = __toESM(require_main(), 1);
30
+ import * as fs from "node:fs";
31
+ import * as path from "node:path";
32
+ import * as os from "node:os";
33
+ var SETTINGS_DIRECTORY_NAME = QWEN_DIR;
34
+ var RELOAD_EXCLUDED_KEYS = /* @__PURE__ */ new Set([
35
+ ...PROJECT_ENV_HARDCODED_EXCLUSIONS,
36
+ "QWEN_SERVER_TOKEN",
37
+ "QWEN_CLI_ENTRY",
38
+ "NODE_OPTIONS",
39
+ "NODE_PATH",
40
+ "NODE_TLS_REJECT_UNAUTHORIZED",
41
+ "LD_PRELOAD",
42
+ "LD_AUDIT",
43
+ "LD_LIBRARY_PATH",
44
+ "DYLD_INSERT_LIBRARIES",
45
+ "DYLD_LIBRARY_PATH",
46
+ "BASH_ENV",
47
+ "ENV",
48
+ "PATH",
49
+ "HOME",
50
+ "TMPDIR",
51
+ "TMP",
52
+ "TEMP"
53
+ ]);
54
+ var dotEnvSourcedKeys = /* @__PURE__ */ new Set();
55
+ var settingsEnvSourcedKeys = /* @__PURE__ */ new Set();
56
+ var lastReloadSnapshot = /* @__PURE__ */ new Map();
57
+ var lastReloadSnapshotSeeded = false;
58
+ function getUserLevelEnvPaths() {
59
+ const homeDir = os.homedir();
60
+ const globalQwenDir = Storage.getGlobalQwenDir();
61
+ const paths = /* @__PURE__ */ new Set([
62
+ path.normalize(path.join(homeDir, ".env")),
63
+ path.normalize(path.join(globalQwenDir, ".env"))
64
+ ]);
65
+ const legacyQwenEnv = path.normalize(path.join(homeDir, QWEN_DIR, ".env"));
66
+ paths.add(legacyQwenEnv);
67
+ return paths;
68
+ }
69
+ __name(getUserLevelEnvPaths, "getUserLevelEnvPaths");
70
+ var homeEnvBootstrapped = false;
71
+ function preResolveHomeEnvOverrides() {
72
+ if (homeEnvBootstrapped) {
73
+ return;
74
+ }
75
+ homeEnvBootstrapped = true;
76
+ if (HOME_ENV_BOOTSTRAP_KEYS.every((key) => process.env[key])) {
77
+ return;
78
+ }
79
+ const initialQwenHome = process.env["QWEN_HOME"];
80
+ const initialQwenDir = Storage.getGlobalQwenDir();
81
+ const candidates = [path.join(initialQwenDir, ".env")];
82
+ if (!initialQwenHome) {
83
+ candidates.push(path.join(path.dirname(initialQwenDir), ".env"));
84
+ }
85
+ for (const candidate of candidates) {
86
+ readHomeEnvInto(candidate);
87
+ }
88
+ const discoveredQwenHome = process.env["QWEN_HOME"];
89
+ if (discoveredQwenHome && discoveredQwenHome !== initialQwenHome) {
90
+ const discoveredDir = Storage.getGlobalQwenDir();
91
+ if (discoveredDir !== initialQwenDir) {
92
+ readHomeEnvInto(path.join(discoveredDir, ".env"));
93
+ }
94
+ }
95
+ }
96
+ __name(preResolveHomeEnvOverrides, "preResolveHomeEnvOverrides");
97
+ function readHomeEnvInto(file) {
98
+ if (!fs.existsSync(file)) {
99
+ return;
100
+ }
101
+ try {
102
+ const parsed = dotenv.parse(fs.readFileSync(file, "utf-8"));
103
+ for (const key of PROJECT_ENV_HARDCODED_EXCLUSIONS) {
104
+ if (parsed[key] && !Object.hasOwn(process.env, key)) {
105
+ process.env[key] = parsed[key];
106
+ }
107
+ }
108
+ } catch (_e) {
109
+ }
110
+ }
111
+ __name(readHomeEnvInto, "readHomeEnvInto");
112
+ function resetHomeEnvBootstrapForTesting() {
113
+ homeEnvBootstrapped = false;
114
+ }
115
+ __name(resetHomeEnvBootstrapForTesting, "resetHomeEnvBootstrapForTesting");
116
+ function resetEnvironmentTrackingForTesting() {
117
+ dotEnvSourcedKeys.clear();
118
+ settingsEnvSourcedKeys.clear();
119
+ lastReloadSnapshot.clear();
120
+ lastReloadSnapshotSeeded = false;
121
+ }
122
+ __name(resetEnvironmentTrackingForTesting, "resetEnvironmentTrackingForTesting");
123
+ function getHomeEnvFallbackVars(onReadError) {
124
+ const globalQwenDir = Storage.getGlobalQwenDir();
125
+ const candidates = [path.join(globalQwenDir, ".env")];
126
+ if (!process.env["QWEN_HOME"]) {
127
+ candidates.push(path.join(path.dirname(globalQwenDir), ".env"));
128
+ }
129
+ const result = {};
130
+ for (const candidate of candidates) {
131
+ if (!fs.existsSync(candidate)) {
132
+ continue;
133
+ }
134
+ try {
135
+ const parsed = dotenv.parse(fs.readFileSync(candidate, "utf-8"));
136
+ for (const key in parsed) {
137
+ if (Object.hasOwn(parsed, key) && !Object.hasOwn(process.env, key)) {
138
+ result[key] ??= parsed[key];
139
+ }
140
+ }
141
+ } catch (e) {
142
+ onReadError?.(
143
+ `Failed to read home .env candidate ${candidate}: ${getErrorMessage(e)}`
144
+ );
145
+ }
146
+ }
147
+ return result;
148
+ }
149
+ __name(getHomeEnvFallbackVars, "getHomeEnvFallbackVars");
150
+ function findEnvFiles(settings, startDir, userLevelPaths = getUserLevelEnvPaths()) {
151
+ const homeDir = os.homedir();
152
+ let realStartDir = path.resolve(startDir);
153
+ try {
154
+ realStartDir = fs.realpathSync(realStartDir);
155
+ } catch {
156
+ }
157
+ const isTrusted = isWorkspaceTrusted(
158
+ settings,
159
+ void 0,
160
+ realStartDir
161
+ ).isTrusted;
162
+ const globalQwenDir = Storage.getGlobalQwenDir();
163
+ const legacyQwenDir = path.normalize(path.join(homeDir, QWEN_DIR));
164
+ const hasCustomConfigDir = path.normalize(globalQwenDir) !== legacyQwenDir;
165
+ const found = [];
166
+ const seen = /* @__PURE__ */ new Set();
167
+ const canUseEnvFile = /* @__PURE__ */ __name((filePath) => isTrusted !== false || userLevelPaths.has(path.normalize(filePath)), "canUseEnvFile");
168
+ const pushCandidate = /* @__PURE__ */ __name((filePath) => {
169
+ const normalized = path.normalize(filePath);
170
+ if (!seen.has(normalized) && fs.existsSync(filePath) && canUseEnvFile(filePath)) {
171
+ seen.add(normalized);
172
+ found.push(filePath);
173
+ return true;
174
+ }
175
+ return false;
176
+ }, "pushCandidate");
177
+ const pushHomeCandidates = /* @__PURE__ */ __name(() => {
178
+ const candidates = [path.join(globalQwenDir, ".env")];
179
+ if (hasCustomConfigDir) {
180
+ candidates.push(path.join(legacyQwenDir, ".env"));
181
+ }
182
+ candidates.push(path.join(homeDir, ".env"));
183
+ for (const candidate of candidates) {
184
+ pushCandidate(candidate);
185
+ }
186
+ }, "pushHomeCandidates");
187
+ let currentDir = realStartDir;
188
+ let visitedHomeDir = false;
189
+ while (true) {
190
+ if (currentDir === homeDir) {
191
+ visitedHomeDir = true;
192
+ pushHomeCandidates();
193
+ return found;
194
+ } else {
195
+ const geminiEnvPath = path.join(currentDir, QWEN_DIR, ".env");
196
+ if (pushCandidate(geminiEnvPath)) {
197
+ pushHomeCandidates();
198
+ return found;
199
+ }
200
+ const envPath = path.join(currentDir, ".env");
201
+ if (pushCandidate(envPath)) {
202
+ pushHomeCandidates();
203
+ return found;
204
+ }
205
+ }
206
+ const parentDir = path.dirname(currentDir);
207
+ if (parentDir === currentDir || !parentDir) {
208
+ if (!visitedHomeDir) {
209
+ pushHomeCandidates();
210
+ }
211
+ return found;
212
+ }
213
+ currentDir = parentDir;
214
+ }
215
+ }
216
+ __name(findEnvFiles, "findEnvFiles");
217
+ function setUpCloudShellEnvironment(envFilePath) {
218
+ if (envFilePath && fs.existsSync(envFilePath)) {
219
+ const envFileContent = fs.readFileSync(envFilePath);
220
+ const parsedEnv = dotenv.parse(envFileContent);
221
+ if (parsedEnv["GOOGLE_CLOUD_PROJECT"]) {
222
+ process.env["GOOGLE_CLOUD_PROJECT"] = parsedEnv["GOOGLE_CLOUD_PROJECT"];
223
+ } else {
224
+ process.env["GOOGLE_CLOUD_PROJECT"] = "cloudshell-gca";
225
+ }
226
+ } else {
227
+ process.env["GOOGLE_CLOUD_PROJECT"] = "cloudshell-gca";
228
+ }
229
+ }
230
+ __name(setUpCloudShellEnvironment, "setUpCloudShellEnvironment");
231
+ function setUpCloudShellEnvironmentInEnv(env, envFiles) {
232
+ for (const envFile of envFiles) {
233
+ if (envFile.parsedEnv["GOOGLE_CLOUD_PROJECT"]) {
234
+ env["GOOGLE_CLOUD_PROJECT"] = envFile.parsedEnv["GOOGLE_CLOUD_PROJECT"];
235
+ return;
236
+ }
237
+ }
238
+ env["GOOGLE_CLOUD_PROJECT"] = "cloudshell-gca";
239
+ }
240
+ __name(setUpCloudShellEnvironmentInEnv, "setUpCloudShellEnvironmentInEnv");
241
+ function parseEnvFiles(envFilePaths, userLevelPaths) {
242
+ const files = [];
243
+ const readFailures = [];
244
+ for (const envFilePath of envFilePaths) {
245
+ try {
246
+ const envFileContent = fs.readFileSync(envFilePath, "utf-8");
247
+ const parsedEnv = dotenv.parse(envFileContent);
248
+ const normalizedEnvFilePath = path.normalize(envFilePath);
249
+ const isHomeScopedEnvFile = userLevelPaths.has(normalizedEnvFilePath);
250
+ const isQwenScopedEnvFile = isHomeScopedEnvFile || path.basename(path.dirname(normalizedEnvFilePath)) === QWEN_DIR;
251
+ files.push({
252
+ parsedEnv,
253
+ isHomeScopedEnvFile,
254
+ isQwenScopedEnvFile
255
+ });
256
+ } catch (err) {
257
+ readFailures.push({
258
+ path: envFilePath,
259
+ error: getErrorMessage(err)
260
+ });
261
+ }
262
+ }
263
+ return { files, readFailed: readFailures.length > 0, readFailures };
264
+ }
265
+ __name(parseEnvFiles, "parseEnvFiles");
266
+ function canApplyParsedEnvKey(envFile, key, excludedVars, options = {}) {
267
+ if (!Object.hasOwn(envFile.parsedEnv, key)) return false;
268
+ if (options.reload && RELOAD_EXCLUDED_KEYS.has(key)) return false;
269
+ if (!envFile.isHomeScopedEnvFile && PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) {
270
+ return false;
271
+ }
272
+ return envFile.isQwenScopedEnvFile || !excludedVars.includes(key);
273
+ }
274
+ __name(canApplyParsedEnvKey, "canApplyParsedEnvKey");
275
+ function isEffectivelyUnset(env, key) {
276
+ const existingValue = env[key];
277
+ return !Object.hasOwn(env, key) || existingValue === "";
278
+ }
279
+ __name(isEffectivelyUnset, "isEffectivelyUnset");
280
+ function setRuntimeEnvIfUnset(env, key, value) {
281
+ if (isEffectivelyUnset(env, key)) {
282
+ env[key] = value;
283
+ }
284
+ }
285
+ __name(setRuntimeEnvIfUnset, "setRuntimeEnvIfUnset");
286
+ function buildRuntimeEnvironment(settings, startDir = process.cwd(), baseEnv = process.env) {
287
+ const userLevelPaths = getUserLevelEnvPaths();
288
+ const envFilePaths = findEnvFiles(settings, startDir, userLevelPaths);
289
+ const parsedEnvFiles = parseEnvFiles(envFilePaths, userLevelPaths);
290
+ const effectiveEnv = { ...baseEnv };
291
+ if (baseEnv["CLOUD_SHELL"] === "true") {
292
+ setUpCloudShellEnvironmentInEnv(effectiveEnv, parsedEnvFiles.files);
293
+ }
294
+ for (const envFile of parsedEnvFiles.files) {
295
+ const excludedVars = settings?.advanced?.excludedEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
296
+ for (const key in envFile.parsedEnv) {
297
+ if (!canApplyParsedEnvKey(envFile, key, excludedVars, { reload: true })) {
298
+ continue;
299
+ }
300
+ setRuntimeEnvIfUnset(effectiveEnv, key, envFile.parsedEnv[key]);
301
+ }
302
+ }
303
+ if (settings.env) {
304
+ const excludedVars = settings?.advanced?.excludedEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
305
+ for (const [key, value] of Object.entries(settings.env)) {
306
+ if (RELOAD_EXCLUDED_KEYS.has(key)) continue;
307
+ if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) continue;
308
+ if (excludedVars.includes(key)) continue;
309
+ if (typeof value !== "string") continue;
310
+ setRuntimeEnvIfUnset(effectiveEnv, key, value);
311
+ }
312
+ }
313
+ const overlayKeys = Object.keys(effectiveEnv).filter((key) => effectiveEnv[key] !== baseEnv[key]).sort();
314
+ return {
315
+ effectiveEnv: Object.freeze({ ...effectiveEnv }),
316
+ overlayKeys: Object.freeze(overlayKeys),
317
+ envFilePaths: Object.freeze([...envFilePaths]),
318
+ envFileReadFailed: parsedEnvFiles.readFailed,
319
+ envFileReadFailures: Object.freeze([...parsedEnvFiles.readFailures])
320
+ };
321
+ }
322
+ __name(buildRuntimeEnvironment, "buildRuntimeEnvironment");
323
+ function loadEnvironment(settings, startDir = process.cwd()) {
324
+ const userLevelPaths = getUserLevelEnvPaths();
325
+ const envFilePaths = findEnvFiles(settings, startDir, userLevelPaths);
326
+ const parsedEnvFiles = parseEnvFiles(envFilePaths, userLevelPaths);
327
+ if (process.env["CLOUD_SHELL"] === "true") {
328
+ setUpCloudShellEnvironmentInEnv(process.env, parsedEnvFiles.files);
329
+ }
330
+ for (const envFile of parsedEnvFiles.files) {
331
+ const excludedVars = settings?.advanced?.excludedEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
332
+ for (const key in envFile.parsedEnv) {
333
+ if (!canApplyParsedEnvKey(envFile, key, excludedVars)) continue;
334
+ const existingValue = process.env[key];
335
+ const isEffectivelyUnset2 = !Object.hasOwn(process.env, key) || existingValue === "";
336
+ if (isEffectivelyUnset2) {
337
+ process.env[key] = envFile.parsedEnv[key];
338
+ dotEnvSourcedKeys.add(key);
339
+ }
340
+ if (!lastReloadSnapshotSeeded && !lastReloadSnapshot.has(key)) {
341
+ lastReloadSnapshot.set(key, envFile.parsedEnv[key]);
342
+ }
343
+ }
344
+ }
345
+ if (settings.env) {
346
+ for (const [key, value] of Object.entries(settings.env)) {
347
+ if (RELOAD_EXCLUDED_KEYS.has(key)) {
348
+ continue;
349
+ }
350
+ if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) {
351
+ continue;
352
+ }
353
+ const existingValue = process.env[key];
354
+ const isEffectivelyUnset2 = !Object.hasOwn(process.env, key) || existingValue === "";
355
+ if (isEffectivelyUnset2 && typeof value === "string") {
356
+ process.env[key] = value;
357
+ settingsEnvSourcedKeys.add(key);
358
+ }
359
+ if (!lastReloadSnapshotSeeded && typeof value === "string" && !lastReloadSnapshot.has(key)) {
360
+ lastReloadSnapshot.set(key, value);
361
+ }
362
+ }
363
+ }
364
+ lastReloadSnapshotSeeded = true;
365
+ }
366
+ __name(loadEnvironment, "loadEnvironment");
367
+ function reloadEnvironment(settings, workspaceCwd) {
368
+ const userLevelPaths = getUserLevelEnvPaths();
369
+ const envFilePaths = findEnvFiles(settings, workspaceCwd, userLevelPaths);
370
+ const parsedEnvFiles = parseEnvFiles(envFilePaths, userLevelPaths);
371
+ if (process.env["CLOUD_SHELL"] === "true") {
372
+ setUpCloudShellEnvironmentInEnv(process.env, parsedEnvFiles.files);
373
+ }
374
+ const dotEnvReadFailed = parsedEnvFiles.readFailed;
375
+ const newDotEnvKeys = /* @__PURE__ */ new Map();
376
+ const newSettingsEnvKeys = /* @__PURE__ */ new Map();
377
+ for (const envFile of parsedEnvFiles.files) {
378
+ const excludedVars = settings?.advanced?.excludedEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
379
+ for (const key in envFile.parsedEnv) {
380
+ if (!canApplyParsedEnvKey(envFile, key, excludedVars, { reload: true })) {
381
+ continue;
382
+ }
383
+ if (!newDotEnvKeys.has(key)) {
384
+ newDotEnvKeys.set(key, envFile.parsedEnv[key]);
385
+ }
386
+ }
387
+ }
388
+ if (settings.env) {
389
+ for (const [key, value] of Object.entries(settings.env)) {
390
+ if (RELOAD_EXCLUDED_KEYS.has(key)) continue;
391
+ if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) continue;
392
+ if (typeof value !== "string") continue;
393
+ const dotEnvValue = newDotEnvKeys.get(key);
394
+ if (dotEnvValue !== void 0 && dotEnvValue !== "") continue;
395
+ if (dotEnvReadFailed && lastReloadSnapshot.has(key)) continue;
396
+ newSettingsEnvKeys.set(key, value);
397
+ }
398
+ }
399
+ const allNewKeys = /* @__PURE__ */ new Set([
400
+ ...newDotEnvKeys.keys(),
401
+ ...newSettingsEnvKeys.keys()
402
+ ]);
403
+ const updatedKeys = [];
404
+ const removedKeys = [];
405
+ if (!dotEnvReadFailed) {
406
+ const previouslyKnown = /* @__PURE__ */ new Set([
407
+ ...lastReloadSnapshot.keys(),
408
+ ...dotEnvSourcedKeys,
409
+ ...settingsEnvSourcedKeys
410
+ ]);
411
+ for (const key of previouslyKnown) {
412
+ if (!allNewKeys.has(key) && !RELOAD_EXCLUDED_KEYS.has(key)) {
413
+ delete process.env[key];
414
+ removedKeys.push(key);
415
+ }
416
+ }
417
+ }
418
+ for (const [key, value] of newDotEnvKeys) {
419
+ if (value === "" && newSettingsEnvKeys.has(key)) continue;
420
+ if (process.env[key] !== value) {
421
+ updatedKeys.push(key);
422
+ }
423
+ process.env[key] = value;
424
+ }
425
+ for (const [key, value] of newSettingsEnvKeys) {
426
+ if (process.env[key] !== value) {
427
+ updatedKeys.push(key);
428
+ }
429
+ process.env[key] = value;
430
+ }
431
+ if (!dotEnvReadFailed) {
432
+ dotEnvSourcedKeys.clear();
433
+ for (const key of newDotEnvKeys.keys()) {
434
+ dotEnvSourcedKeys.add(key);
435
+ }
436
+ lastReloadSnapshot.clear();
437
+ for (const [key, value] of newDotEnvKeys) {
438
+ lastReloadSnapshot.set(key, value);
439
+ }
440
+ for (const [key, value] of newSettingsEnvKeys) {
441
+ lastReloadSnapshot.set(key, value);
442
+ }
443
+ }
444
+ settingsEnvSourcedKeys.clear();
445
+ for (const key of newSettingsEnvKeys.keys()) {
446
+ settingsEnvSourcedKeys.add(key);
447
+ }
448
+ return { updatedKeys, removedKeys };
449
+ }
450
+ __name(reloadEnvironment, "reloadEnvironment");
451
+
452
+ export {
453
+ SETTINGS_DIRECTORY_NAME,
454
+ preResolveHomeEnvOverrides,
455
+ resetHomeEnvBootstrapForTesting,
456
+ resetEnvironmentTrackingForTesting,
457
+ getHomeEnvFallbackVars,
458
+ findEnvFiles,
459
+ setUpCloudShellEnvironment,
460
+ buildRuntimeEnvironment,
461
+ loadEnvironment,
462
+ reloadEnvironment
463
+ };
464
+ /**
465
+ * @license
466
+ * Copyright 2025 Qwen Team
467
+ * SPDX-License-Identifier: Apache-2.0
468
+ */
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-OMX7CUOE.js";
24
24
  import {
25
25
  isAnyAutoMemPath
26
- } from "./chunk-4KJ2BPIT.js";
26
+ } from "./chunk-OACJLMLD.js";
27
27
  import {
28
28
  InstallationManager
29
29
  } from "./chunk-SUAKHHK7.js";
@@ -69870,11 +69870,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
69870
69870
  let baseGenerator;
69871
69871
  try {
69872
69872
  if (authType === "openai" /* USE_OPENAI */) {
69873
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-5LJ5A7YY.js");
69873
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-YE42PKCY.js");
69874
69874
  baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
69875
69875
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
69876
69876
  const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-ZV7YLMND.js");
69877
- const { QwenContentGenerator } = await import("./qwenContentGenerator-E2JSB4FJ.js");
69877
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-NX2E7PB7.js");
69878
69878
  try {
69879
69879
  const qwenClient = await getQwenOauthClient(
69880
69880
  config,
@@ -69892,10 +69892,10 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
69892
69892
  throw new Error(error instanceof Error ? error.message : String(error));
69893
69893
  }
69894
69894
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
69895
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-AKYPSZIV.js");
69895
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-CPF22MA7.js");
69896
69896
  baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
69897
69897
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
69898
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-WCH4GWD3.js");
69898
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-CDUNEJQE.js");
69899
69899
  baseGenerator = createGeminiContentGenerator(generatorConfig, config);
69900
69900
  } else {
69901
69901
  throw new Error(
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-Y6Z2O3WR.js";
9
9
  import {
10
10
  getActiveGoal
11
- } from "./chunk-E7HM76PR.js";
11
+ } from "./chunk-3GNOQZDC.js";
12
12
  import {
13
13
  ToolNames
14
14
  } from "./chunk-X3YGAX7V.js";
@@ -1603,7 +1603,7 @@ async function extractMetadata(conversation, config) {
1603
1603
  const gitBranch = firstRecord?.gitBranch;
1604
1604
  let gitRepo;
1605
1605
  if (cwd) {
1606
- const { getGitRepoName } = await import("./src-NLEX4CUC.js");
1606
+ const { getGitRepoName } = await import("./src-BBQSM46M.js");
1607
1607
  gitRepo = getGitRepoName(cwd);
1608
1608
  }
1609
1609
  let model;
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getGlobalQwenDir
5
- } from "./chunk-2NPS2UDH.js";
5
+ } from "./chunk-IBY3Q3HG.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  functionResponsePartsToString
5
- } from "./chunk-KKWO4IX2.js";
5
+ } from "./chunk-2EM7ECZD.js";
6
6
  import {
7
7
  parseAndFormatApiError
8
- } from "./chunk-E7HM76PR.js";
8
+ } from "./chunk-3GNOQZDC.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-A4BMJM77.js";
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  JsonFormatter,
8
8
  parseAndFormatApiError
9
- } from "./chunk-E7HM76PR.js";
9
+ } from "./chunk-3GNOQZDC.js";
10
10
  import {
11
11
  FatalBudgetExceededError,
12
12
  FatalCancellationError,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-22MNNNXE.js";
16
16
  import {
17
17
  runExitCleanup
18
- } from "./chunk-QCSLZO6J.js";
18
+ } from "./chunk-JCH35JB3.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-A4BMJM77.js";
@@ -1,14 +1,14 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ handleAtCommand
5
+ } from "./chunk-RMLZAUWH.js";
3
6
  import {
4
7
  JsonOutputAdapter
5
- } from "./chunk-XQ2GVLNJ.js";
8
+ } from "./chunk-EEN2TKST.js";
6
9
  import {
7
10
  StreamJsonOutputAdapter
8
- } from "./chunk-PVXPDMGP.js";
9
- import {
10
- handleAtCommand
11
- } from "./chunk-5OSSOBZC.js";
11
+ } from "./chunk-CHB5SLZZ.js";
12
12
  import {
13
13
  buildInitialSystemReminders,
14
14
  buildSystemMessage,
@@ -20,10 +20,10 @@ import {
20
20
  insertAfterFunctionResponses,
21
21
  isSlashCommand,
22
22
  normalizePartList
23
- } from "./chunk-KKWO4IX2.js";
23
+ } from "./chunk-2EM7ECZD.js";
24
24
  import {
25
25
  RunBudgetEnforcer
26
- } from "./chunk-YMWIKAEE.js";
26
+ } from "./chunk-YDOXPLYL.js";
27
27
  import {
28
28
  AlreadyReportedError,
29
29
  handleBudgetExceededError,
@@ -31,10 +31,10 @@ import {
31
31
  handleError,
32
32
  handleMaxTurnsExceededError,
33
33
  handleToolError
34
- } from "./chunk-SJHAUELE.js";
34
+ } from "./chunk-DCZWC4PF.js";
35
35
  import {
36
36
  isInlineModelOverrideAllowed
37
- } from "./chunk-KT3SI3CQ.js";
37
+ } from "./chunk-DIWVZ3VM.js";
38
38
  import {
39
39
  ORPHAN_TOOL_USE_REPAIR_REASON,
40
40
  buildSyntheticToolResponseParts,
@@ -49,12 +49,12 @@ import {
49
49
  parseAndFormatApiError,
50
50
  promptIdContext,
51
51
  restoreWorktreeContext
52
- } from "./chunk-E7HM76PR.js";
52
+ } from "./chunk-3GNOQZDC.js";
53
53
  import {
54
54
  isTelemetrySdkInitialized,
55
55
  shutdownTelemetry,
56
56
  uiTelemetryService
57
- } from "./chunk-7I4MGFBN.js";
57
+ } from "./chunk-BUZ6HGL4.js";
58
58
  import {
59
59
  ToolNames
60
60
  } from "./chunk-X3YGAX7V.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-QYUE6W3T.js";
12
12
  import {
13
13
  ideContextStore
14
- } from "./chunk-E7HM76PR.js";
14
+ } from "./chunk-3GNOQZDC.js";
15
15
  import {
16
16
  atomicWriteFileSync
17
17
  } from "./chunk-7LTB54MK.js";
@@ -4,14 +4,14 @@ import {
4
4
  resolveModelConfig,
5
5
  resolveProviderProtocol,
6
6
  stripRuntimeSnapshotPrefix
7
- } from "./chunk-E7HM76PR.js";
7
+ } from "./chunk-3GNOQZDC.js";
8
8
  import {
9
9
  external_exports
10
10
  } from "./chunk-K5PGHDBN.js";
11
11
  import {
12
12
  AuthType,
13
13
  MODEL_GENERATION_CONFIG_FIELDS
14
- } from "./chunk-7I4MGFBN.js";
14
+ } from "./chunk-BUZ6HGL4.js";
15
15
  import {
16
16
  REASONING_EFFORT_TIERS,
17
17
  normalizeReasoningEffort
@@ -214,20 +214,20 @@ function buildIgnoredTopLevelGenerationConfigWarning(providerId, modelProvider,
214
214
  return `Warning: ${fieldList} ${verb} ignored for provider model "${modelProvider.id}" from modelProviders.${providerId}. Move ${fieldReference} to modelProviders.${providerId}[].generationConfig for that model if you want ${pronoun} to apply.`;
215
215
  }
216
216
  __name(buildIgnoredTopLevelGenerationConfigWarning, "buildIgnoredTopLevelGenerationConfigWarning");
217
- function getAuthTypeFromEnv() {
218
- if (process.env["QWEN_OAUTH"]) {
217
+ function getAuthTypeFromEnv(env = process.env) {
218
+ if (env["QWEN_OAUTH"]) {
219
219
  return "qwen-oauth" /* QWEN_OAUTH */;
220
220
  }
221
- if (process.env["OPENAI_API_KEY"] && (process.env["OPENAI_MODEL"] || process.env["QWEN_MODEL"]) && process.env["OPENAI_BASE_URL"]) {
221
+ if (env["OPENAI_API_KEY"] && (env["OPENAI_MODEL"] || env["QWEN_MODEL"]) && env["OPENAI_BASE_URL"]) {
222
222
  return "openai" /* USE_OPENAI */;
223
223
  }
224
- if (process.env["GEMINI_API_KEY"] && process.env["GEMINI_MODEL"]) {
224
+ if (env["GEMINI_API_KEY"] && env["GEMINI_MODEL"]) {
225
225
  return "gemini" /* USE_GEMINI */;
226
226
  }
227
- if (process.env["GOOGLE_API_KEY"] && process.env["GOOGLE_MODEL"]) {
227
+ if (env["GOOGLE_API_KEY"] && env["GOOGLE_MODEL"]) {
228
228
  return "vertex-ai" /* USE_VERTEX_AI */;
229
229
  }
230
- if (process.env["ANTHROPIC_API_KEY"] && process.env["ANTHROPIC_MODEL"] && process.env["ANTHROPIC_BASE_URL"]) {
230
+ if (env["ANTHROPIC_API_KEY"] && env["ANTHROPIC_MODEL"] && env["ANTHROPIC_BASE_URL"]) {
231
231
  return "anthropic" /* USE_ANTHROPIC */;
232
232
  }
233
233
  return void 0;
@@ -24,7 +24,7 @@ import {
24
24
  ansi_regex_exports,
25
25
  init_ansi_regex,
26
26
  stripAnsi
27
- } from "./chunk-E7HM76PR.js";
27
+ } from "./chunk-3GNOQZDC.js";
28
28
  import {
29
29
  require_graceful_fs
30
30
  } from "./chunk-X2XNQQJI.js";