@zubriq/code 0.19.8-1 → 0.19.9-1

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 (243) hide show
  1. package/dist/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  2. package/dist/bundled/qc-helper/docs/features/channels/overview.md +23 -12
  3. package/dist/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
  4. package/dist/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
  5. package/dist/bundled/qc-helper/docs/features/hooks.md +36 -34
  6. package/dist/bundled/qc-helper/docs/features/memory.md +1 -1
  7. package/dist/bundled/qc-helper/docs/qwen-serve.md +17 -10
  8. package/dist/bundled/review/SKILL.md +6 -2
  9. package/dist/chunks/{MaxSizedBox-OWTCJQNO.js → MaxSizedBox-W6SAJMJC.js} +13 -11
  10. package/dist/chunks/{StandaloneSessionPicker-6NGEQFBH.js → StandaloneSessionPicker-YBKZZKIA.js} +28 -23
  11. package/dist/chunks/{acpAgent-XPRWSNOW.js → acpAgent-SQJQBOTS.js} +110 -80
  12. package/dist/chunks/{agent-TB6S4VXU.js → agent-QU7Q2RZN.js} +8 -8
  13. package/dist/chunks/{agent-headless-R3XYK5TT.js → agent-headless-PBHLWHND.js} +8 -8
  14. package/dist/chunks/{anthropicContentGenerator-FZQAEMYK.js → anthropicContentGenerator-52G6ZA3D.js} +31 -4
  15. package/dist/chunks/{artifact-tool-H2TNPNP5.js → artifact-tool-D233YJFH.js} +25 -6
  16. package/dist/chunks/{bridge-HVRG6SMU.js → bridge-LJLLDUMW.js} +17 -14
  17. package/dist/chunks/{ca-HCMB2I54.js → ca-MKD32FQL.js} +26 -1
  18. package/dist/chunks/{channel-worker-supervisor-B7MSMB5K.js → channel-worker-supervisor-NZQUOEFJ.js} +3 -3
  19. package/dist/chunks/{chunk-YRM6BC6H.js → chunk-27AYMAL6.js} +506 -63
  20. package/dist/chunks/{chunk-536GZ6UF.js → chunk-2MDC5WDB.js} +17 -111
  21. package/dist/chunks/{chunk-H3D6XAOL.js → chunk-2PRSBVPI.js} +3 -3
  22. package/dist/chunks/chunk-332PWN27.js +19 -0
  23. package/dist/chunks/{chunk-FVMWEHWU.js → chunk-3B26UVCX.js} +114 -12
  24. package/dist/chunks/{chunk-ZM5BPDXV.js → chunk-3F22JT4E.js} +1 -1
  25. package/dist/chunks/{chunk-W6RH6KHR.js → chunk-3GPVYALM.js} +4 -2
  26. package/dist/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
  27. package/dist/chunks/{chunk-PA7QS4X5.js → chunk-43W4YSO6.js} +1 -12
  28. package/dist/chunks/{chunk-5EB2HK3X.js → chunk-4IK56VLC.js} +1 -1
  29. package/dist/chunks/{chunk-UE5TCZE6.js → chunk-5FAUIGXH.js} +5 -13
  30. package/dist/chunks/{chunk-VEB3NYSO.js → chunk-5MBO76SL.js} +5 -0
  31. package/dist/chunks/{chunk-PDITONOB.js → chunk-5MRUKUOG.js} +5347 -4132
  32. package/dist/chunks/{chunk-4UC3U66K.js → chunk-6EUMFVPJ.js} +5 -5
  33. package/dist/chunks/{chunk-YOGGIAGF.js → chunk-6JL5OVLX.js} +1 -1
  34. package/dist/chunks/{chunk-QG4ZO2EB.js → chunk-74E6VVF6.js} +11 -11
  35. package/dist/chunks/chunk-A2X3KLC3.js +3807 -0
  36. package/dist/chunks/{chunk-BA4HLTG2.js → chunk-B6B2MUUF.js} +5 -5
  37. package/dist/chunks/{chunk-XKYOIERV.js → chunk-BN5VYAOZ.js} +681 -1239
  38. package/dist/chunks/{chunk-IO76BGJ3.js → chunk-BYUA6YYS.js} +15 -9
  39. package/dist/chunks/{chunk-NCFY7PWS.js → chunk-CCGOFQV3.js} +51 -2
  40. package/dist/chunks/{chunk-66KNL43D.js → chunk-CD6USWHZ.js} +1 -1
  41. package/dist/chunks/{chunk-ZWSTIPSW.js → chunk-CEITMQ62.js} +2 -2
  42. package/dist/chunks/{chunk-7AQTBTVY.js → chunk-EJP6Z7NU.js} +4 -3
  43. package/dist/chunks/{chunk-RTW5ZXHO.js → chunk-EZTNYRHH.js} +6 -5
  44. package/dist/chunks/{chunk-MJQFA66Z.js → chunk-FAATDXYS.js} +308 -81
  45. package/dist/chunks/{chunk-DNV4FSN5.js → chunk-FBET5XZ2.js} +6 -4
  46. package/dist/chunks/{chunk-HTC4R67V.js → chunk-FES4YXJ3.js} +9 -9
  47. package/dist/chunks/{chunk-NBKE6QRZ.js → chunk-FHTUTVIQ.js} +10 -5
  48. package/dist/chunks/chunk-FII3C4E7.js +168 -0
  49. package/dist/chunks/{chunk-2NL7ED5Q.js → chunk-FV7425LN.js} +22 -1
  50. package/dist/chunks/{chunk-J6OET6C3.js → chunk-GAI76CFX.js} +4 -4
  51. package/dist/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
  52. package/dist/chunks/chunk-GLE2YUPU.js +34 -0
  53. package/dist/chunks/{chunk-X265R5C6.js → chunk-GN3F6PIU.js} +1 -1
  54. package/dist/chunks/{chunk-SM624MOZ.js → chunk-GWUN54UD.js} +1 -1
  55. package/dist/chunks/chunk-H3TELH3H.js +942 -0
  56. package/dist/chunks/{chunk-XZULYFIX.js → chunk-HD4DZI2L.js} +2 -2
  57. package/dist/chunks/{chunk-KLLLWQM2.js → chunk-HPQIVXSP.js} +1 -1
  58. package/dist/chunks/{chunk-WSVZFWN4.js → chunk-IBY3Q3HG.js} +693 -104
  59. package/dist/chunks/{chunk-JSEOX4CM.js → chunk-JGR6W4IX.js} +14 -8
  60. package/dist/chunks/chunk-K652V4NH.js +283 -0
  61. package/dist/chunks/{chunk-OCBJKHF2.js → chunk-KH2CZZDD.js} +2 -2
  62. package/dist/chunks/chunk-LGFAYIKX.js +115 -0
  63. package/dist/chunks/{chunk-QG5KDB6X.js → chunk-LZDW5TDV.js} +5 -5
  64. package/dist/chunks/{chunk-ENKWIF75.js → chunk-MA4AZNP7.js} +10 -10
  65. package/dist/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
  66. package/dist/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
  67. package/dist/chunks/{chunk-ML2ZWH2K.js → chunk-PCWYMX57.js} +14 -153
  68. package/dist/chunks/{chunk-NHFBLJOI.js → chunk-Q3PQ5VGJ.js} +1 -1
  69. package/dist/chunks/{chunk-LGXBB2R2.js → chunk-QK3I36QG.js} +1 -1
  70. package/dist/chunks/chunk-RA7TR75G.js +8223 -0
  71. package/dist/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
  72. package/dist/chunks/{chunk-DHKDK57Q.js → chunk-SNZPA74J.js} +146 -54
  73. package/dist/chunks/{chunk-PWR5MVM3.js → chunk-SSP3UT5C.js} +4 -4
  74. package/dist/chunks/{chunk-4LETJLG2.js → chunk-SUCRVT5L.js} +1 -1
  75. package/dist/chunks/{chunk-5YLZHETW.js → chunk-TRR5KGDN.js} +1 -1
  76. package/dist/chunks/chunk-UIDXQNMV.js +13 -0
  77. package/dist/chunks/{chunk-PIORL4OD.js → chunk-UKV3D7WB.js} +0 -44
  78. package/dist/chunks/chunk-UYNUIGUR.js +167 -0
  79. package/dist/chunks/chunk-V2TYBEWU.js +28 -0
  80. package/dist/chunks/chunk-V35MD7KN.js +13 -0
  81. package/dist/chunks/{chunk-N4HTVZDZ.js → chunk-VR3KCBHH.js} +1 -1
  82. package/dist/chunks/{chunk-APYUOROB.js → chunk-W4CTWW7M.js} +423 -61
  83. package/dist/chunks/{chunk-ABANKQYY.js → chunk-WJAW2O5H.js} +92 -465
  84. package/dist/chunks/{chunk-6RSBRKF5.js → chunk-WN4YJJGH.js} +2 -2
  85. package/dist/chunks/chunk-XNXVCNAT.js +88 -0
  86. package/dist/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
  87. package/dist/chunks/chunk-XQPMKWSV.js +487 -0
  88. package/dist/chunks/{chunk-4FQL7KUS.js → chunk-XWDHZP7P.js} +8 -8
  89. package/dist/chunks/{chunk-REPRY4F7.js → chunk-YCKKP4QA.js} +10 -10
  90. package/dist/chunks/{chunk-YNWQ3PUQ.js → chunk-YJWMOGGZ.js} +3 -3
  91. package/dist/chunks/{chunk-RFIL6REB.js → chunk-YKZIAK7C.js} +119 -29
  92. package/dist/chunks/{chunk-45YCXM2H.js → chunk-YZDBUH6S.js} +45 -9
  93. package/dist/chunks/chunk-Z3I3QJK3.js +47 -0
  94. package/dist/chunks/{chunk-G23FFNLT.js → chunk-ZDGPPCTW.js} +20 -8
  95. package/dist/chunks/chunk-ZL5HN75Q.js +61 -0
  96. package/dist/chunks/{chunk-IQX5S2RS.js → chunk-ZL7JCYWM.js} +66 -7
  97. package/dist/chunks/{computer-use-A72BECH4.js → computer-use-4B45EG2F.js} +8 -8
  98. package/dist/chunks/{contextCommand-RREXA4B7.js → contextCommand-GIVRWNTS.js} +12 -11
  99. package/dist/chunks/{cron-create-DDYU4DIR.js → cron-create-JSXEIPVS.js} +1 -1
  100. package/dist/chunks/{cron-delete-DFKOUZWN.js → cron-delete-OIFVEPGU.js} +1 -1
  101. package/dist/chunks/{cron-list-ME5QGAR5.js → cron-list-D4ZX4IOE.js} +1 -1
  102. package/dist/chunks/{daemon-XWG2EGFX.js → daemon-WPAENEBW.js} +71 -3
  103. package/dist/chunks/{daemon-status-provider-Y6AFXTET.js → daemon-status-provider-WBOAMCHE.js} +20 -17
  104. package/dist/chunks/{de-PLLFDERI.js → de-ZFPPQVSF.js} +26 -1
  105. package/dist/chunks/{dist-LPVU3L2M.js → dist-BEXOZXLQ.js} +6 -3792
  106. package/dist/chunks/{dist-7GU63KI5.js → dist-E6UANPIM.js} +1 -1
  107. package/dist/chunks/{dist-VHBP2PIG.js → dist-H2AEJCZ5.js} +2 -2
  108. package/dist/chunks/{dist-3UDX5T4T.js → dist-O2IRTRPP.js} +1 -1
  109. package/dist/chunks/dist-SCFLLYMK.js +3217 -0
  110. package/dist/chunks/{dist-H4HHZYCI.js → dist-Z34QPAQW.js} +2 -2
  111. package/dist/chunks/{earlyInputCapture-OAHBOGOO.js → earlyInputCapture-JWMCAJZR.js} +8 -8
  112. package/dist/chunks/{edit-SFYW3FOV.js → edit-O5FUVHBE.js} +9 -9
  113. package/dist/chunks/{en-AXARKOWO.js → en-N4EPZAQI.js} +31 -2
  114. package/dist/chunks/{enter-worktree-LUPPQ2NH.js → enter-worktree-LOJFRC3D.js} +8 -8
  115. package/dist/chunks/{enterPlanMode-44GEN5U6.js → enterPlanMode-VS3FAUPX.js} +8 -8
  116. package/dist/chunks/environment-WKW5TLSH.js +90 -0
  117. package/dist/chunks/{errors-H3Q3W3DL.js → errors-LEZXHJMR.js} +10 -10
  118. package/dist/chunks/{exit-worktree-34CVVWT4.js → exit-worktree-RN2NXRMP.js} +8 -8
  119. package/dist/chunks/{exitPlanMode-5G5BHNUP.js → exitPlanMode-EPC424I4.js} +8 -8
  120. package/dist/chunks/{fast-path-7PKGFBRM.js → fast-path-UUPAFOSQ.js} +12 -3
  121. package/dist/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-7RIFI3PK.js} +3 -2
  122. package/dist/chunks/{fr-MBMNQSQ6.js → fr-5WWMY53B.js} +30 -1
  123. package/dist/chunks/{gemini-2II6JH4H.js → gemini-QCKK4XNU.js} +438 -265
  124. package/dist/chunks/{geminiContentGenerator-SWEJVOC4.js → geminiContentGenerator-DX4SRXJA.js} +1 -1
  125. package/dist/chunks/{glob-5DFC7DXW.js → glob-4URMJWRX.js} +8 -8
  126. package/dist/chunks/{grep-QYVXGRRJ.js → grep-AEQB5KED.js} +8 -8
  127. package/dist/chunks/handleAutoUpdate-Y4YNG34Y.js +65 -0
  128. package/dist/chunks/{initializer-XX3UGUHE.js → initializer-NDEBMSOG.js} +17 -13
  129. package/dist/chunks/{ja-HFV5QCHR.js → ja-CUHZOLEJ.js} +30 -1
  130. package/dist/chunks/{list-AX5FWBVC.js → list-VSCBNOWT.js} +17 -15
  131. package/dist/chunks/{loadedSettingsAdapter-ISOM6GJ7.js → loadedSettingsAdapter-FDO752BA.js} +15 -13
  132. package/dist/chunks/{loop-wakeup-ZW5P6VPY.js → loop-wakeup-OHWEMFP5.js} +2 -2
  133. package/dist/chunks/{ls-L654WOAT.js → ls-7MFU2QYW.js} +1 -1
  134. package/dist/chunks/{lsp-M35KE54Y.js → lsp-XHDTPTGV.js} +2 -4
  135. package/dist/chunks/{mcp-74F6725E.js → mcp-MLPWTHUV.js} +15 -13
  136. package/dist/chunks/{monitor-W4WRSC2C.js → monitor-WCVHIJUJ.js} +16 -11
  137. package/dist/chunks/{nonInteractiveCli-4QMV6C4J.js → nonInteractiveCli-32HZK274.js} +52 -44
  138. package/dist/chunks/{notebook-edit-XBZEIP42.js → notebook-edit-NPOMPKS4.js} +9 -9
  139. package/dist/chunks/{openaiContentGenerator-RTUJDESE.js → openaiContentGenerator-6AIBSRQK.js} +6 -6
  140. package/dist/chunks/{pidfile-YWSGNTPK.js → pidfile-7Y3QEDSZ.js} +8 -8
  141. package/dist/chunks/{pt-2THT3YHA.js → pt-OLYN42DS.js} +26 -1
  142. package/dist/chunks/{qwenContentGenerator-4ZFYAZLY.js → qwenContentGenerator-OUYOAYT4.js} +10 -10
  143. package/dist/chunks/{read-file-D7DKDIAC.js → read-file-EESFA24L.js} +3 -3
  144. package/dist/chunks/{record-artifact-PP3LKHTS.js → record-artifact-SQ2OKRJW.js} +3 -3
  145. package/dist/chunks/{ripGrep-KG7JYNER.js → ripGrep-DLYV7ZZG.js} +8 -8
  146. package/dist/chunks/{ru-PER5I4OI.js → ru-MKM2HFDS.js} +26 -1
  147. package/dist/chunks/{run-qwen-serve-XGJSNF6S.js → run-qwen-serve-WUEHQROF.js} +602 -143
  148. package/dist/chunks/{scheduler-MOLWOE4G.js → scheduler-SK4Y66V4.js} +8 -8
  149. package/dist/chunks/{send-message-OA6MV4EU.js → send-message-76GT3JMC.js} +1 -1
  150. package/dist/chunks/{serve-4ZNVPYND.js → serve-UCDGVZFI.js} +17 -14
  151. package/dist/chunks/{server-ACWDFHIF.js → server-FVGFFVZ4.js} +1394 -328
  152. package/dist/chunks/{session-VYO2GRO2.js → session-RIGKDMGR.js} +53 -45
  153. package/dist/chunks/{settings-4J2O3K22.js → settings-LVFFGXGE.js} +24 -20
  154. package/dist/chunks/{shell-RKERJYXR.js → shell-PAWNAFYN.js} +8 -8
  155. package/dist/chunks/{skill-JYACZJ5V.js → skill-5YIN3Z6Y.js} +15 -5
  156. package/dist/chunks/{spawnChannel-BA3U3RGX.js → spawnChannel-KIMZHWNR.js} +10 -10
  157. package/dist/chunks/{src-3P337V4P.js → src-BIWCD3VX.js} +21 -9
  158. package/dist/chunks/{startInteractiveUI-SUSZ6FWB.js → startInteractiveUI-AFXLGUFI.js} +33759 -41620
  159. package/dist/chunks/{task-create-RPFZNB4B.js → task-create-WCHTB435.js} +2 -2
  160. package/dist/chunks/{task-update-5WUG5MVQ.js → task-update-XYWMHJGJ.js} +2 -2
  161. package/dist/chunks/{team-create-YVWGRZEA.js → team-create-26WOMISV.js} +8 -8
  162. package/dist/chunks/{team-plan-approval-VRF54TTI.js → team-plan-approval-B5XB6UQC.js} +8 -8
  163. package/dist/chunks/{theme-manager-JW2KOACL.js → theme-manager-4TJ5TEFD.js} +8 -8
  164. package/dist/chunks/{tool-search-KUSMAZBN.js → tool-search-FFU63E6M.js} +6 -23
  165. package/dist/chunks/total-session-admission-JOD7SMPJ.js +72 -0
  166. package/dist/chunks/{trustedFolders-ERGSUCDK.js → trustedFolders-IJ2QHXSC.js} +9 -9
  167. package/dist/chunks/updateCheck-5Z25DCBP.js +65 -0
  168. package/dist/chunks/{validateNonInterActiveAuth-DDI62H5X.js → validateNonInterActiveAuth-G5EY47DE.js} +49 -41
  169. package/dist/chunks/{version-VB3AHVUF.js → version-LGO3GOKQ.js} +2 -1
  170. package/dist/chunks/{workflow-WINKRCI4.js → workflow-ZTK3WT3D.js} +9 -9
  171. package/dist/chunks/{workspace-providers-status-ZVZPXKSO.js → workspace-providers-status-YMPTRKW2.js} +18 -15
  172. package/dist/chunks/workspace-registry-NBUL6LBH.js +74 -0
  173. package/dist/chunks/{workspace-service-GAS2LV2P.js → workspace-service-V6G2RCD4.js} +21 -19
  174. package/dist/chunks/{workspace-skills-status-4WGKYJVA.js → workspace-skills-status-ZCW44BCH.js} +16 -14
  175. package/dist/chunks/{write-file-UTLKVZNN.js → write-file-4FUTAEW6.js} +9 -9
  176. package/dist/chunks/{zh-RS3HZHFH.js → zh-J4F6QWQV.js} +31 -2
  177. package/dist/chunks/{zh-TW-L5GRQ4S4.js → zh-TW-XVDWOLSW.js} +31 -2
  178. package/dist/cli.js +11 -11
  179. package/dist/locales/ca.js +30 -0
  180. package/dist/locales/de.js +30 -0
  181. package/dist/locales/en.js +38 -2
  182. package/dist/locales/fr.js +36 -0
  183. package/dist/locales/ja.js +36 -0
  184. package/dist/locales/pt.js +30 -0
  185. package/dist/locales/ru.js +30 -0
  186. package/dist/locales/zh-TW.js +38 -2
  187. package/dist/locales/zh.js +38 -2
  188. package/dist/package.json +3 -3
  189. package/dist/web-shell/assets/{arc-C6tzvtOa.js → arc-BWyoJpY2.js} +1 -1
  190. package/dist/web-shell/assets/{architectureDiagram-3BPJPVTR-DSYQFGn9.js → architectureDiagram-3BPJPVTR-BT0mGrz2.js} +1 -1
  191. package/dist/web-shell/assets/{blockDiagram-GPEHLZMM-CHjBdXAD.js → blockDiagram-GPEHLZMM-BLgUWvyf.js} +1 -1
  192. package/dist/web-shell/assets/{c4Diagram-AAUBKEIU-BQzK6Yyb.js → c4Diagram-AAUBKEIU-DYx9M7oU.js} +1 -1
  193. package/dist/web-shell/assets/channel-wmPUGHtg.js +1 -0
  194. package/dist/web-shell/assets/{chunk-2J33WTMH-hpP2p3Ij.js → chunk-2J33WTMH-CfMHWbuZ.js} +1 -1
  195. package/dist/web-shell/assets/{chunk-4BX2VUAB-B5KtK1JJ.js → chunk-4BX2VUAB-B1URoqEV.js} +1 -1
  196. package/dist/web-shell/assets/{chunk-55IACEB6-BDv6Mfr2.js → chunk-55IACEB6-DAIaM4QF.js} +1 -1
  197. package/dist/web-shell/assets/{chunk-727SXJPM-BevPWfrX.js → chunk-727SXJPM-B2X34knw.js} +1 -1
  198. package/dist/web-shell/assets/{chunk-AQP2D5EJ-ChDrz2ad.js → chunk-AQP2D5EJ-Cif-zLTQ.js} +1 -1
  199. package/dist/web-shell/assets/{chunk-FMBD7UC4-ClMdVSDs.js → chunk-FMBD7UC4-H18WCXdY.js} +1 -1
  200. package/dist/web-shell/assets/{chunk-ND2GUHAM-BceV8kZS.js → chunk-ND2GUHAM-YFtetHi0.js} +1 -1
  201. package/dist/web-shell/assets/{chunk-QZHKN3VN-DtyK2wwc.js → chunk-QZHKN3VN-By2hiH3r.js} +1 -1
  202. package/dist/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +1 -0
  203. package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +1 -0
  204. package/dist/web-shell/assets/{cose-bilkent-S5V4N54A-BGMsqwmE.js → cose-bilkent-S5V4N54A-VrcnnLZu.js} +1 -1
  205. package/dist/web-shell/assets/{dagre-BM42HDAG-C-71clpF.js → dagre-BM42HDAG-CGo-IaVV.js} +1 -1
  206. package/dist/web-shell/assets/{diagram-2AECGRRQ-WIzzlkec.js → diagram-2AECGRRQ-Dl4QjzIB.js} +1 -1
  207. package/dist/web-shell/assets/{diagram-5GNKFQAL-CtnhZUP1.js → diagram-5GNKFQAL-qMLmsO0u.js} +1 -1
  208. package/dist/web-shell/assets/{diagram-KO2AKTUF-CS_IUezp.js → diagram-KO2AKTUF-CHlmuxPI.js} +1 -1
  209. package/dist/web-shell/assets/{diagram-LMA3HP47-BQnGRwN9.js → diagram-LMA3HP47-BUwU3GwT.js} +1 -1
  210. package/dist/web-shell/assets/{diagram-OG6HWLK6-By2VIocq.js → diagram-OG6HWLK6-HEhwPDUM.js} +1 -1
  211. package/dist/web-shell/assets/{erDiagram-TEJ5UH35-Dy8WeNkr.js → erDiagram-TEJ5UH35-1n0llBmM.js} +1 -1
  212. package/dist/web-shell/assets/{flowDiagram-I6XJVG4X-Diu_4y0w.js → flowDiagram-I6XJVG4X-BN74uMnt.js} +1 -1
  213. package/dist/web-shell/assets/{ganttDiagram-6RSMTGT7-CH8euujP.js → ganttDiagram-6RSMTGT7-BoOq78i3.js} +1 -1
  214. package/dist/web-shell/assets/{gitGraphDiagram-PVQCEYII-DHiObZq1.js → gitGraphDiagram-PVQCEYII-CN8b00c8.js} +1 -1
  215. package/dist/web-shell/assets/index-CNwoO1Cn.js +783 -0
  216. package/dist/web-shell/assets/index-CWQ0z6kZ.css +5 -0
  217. package/dist/web-shell/assets/{infoDiagram-5YYISTIA-CvC9A6fh.js → infoDiagram-5YYISTIA-CCurnIna.js} +1 -1
  218. package/dist/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK46kC4E.js → ishikawaDiagram-YF4QCWOH-AwuRqdUP.js} +1 -1
  219. package/dist/web-shell/assets/{journeyDiagram-JHISSGLW-B2TIiKq4.js → journeyDiagram-JHISSGLW-B7IICk-E.js} +1 -1
  220. package/dist/web-shell/assets/{kanban-definition-UN3LZRKU-Bh0WAulO.js → kanban-definition-UN3LZRKU-BYF0OKhx.js} +1 -1
  221. package/dist/web-shell/assets/{linear-Bxe9SHMk.js → linear-GWWguGfD.js} +1 -1
  222. package/dist/web-shell/assets/{mermaid.core-B1Pv6D5B.js → mermaid.core-JqtkxvCl.js} +5 -5
  223. package/dist/web-shell/assets/{mindmap-definition-RKZ34NQL-Bz0joLH8.js → mindmap-definition-RKZ34NQL-B0MmHsZ6.js} +1 -1
  224. package/dist/web-shell/assets/{pieDiagram-4H26LBE5-CnN4x-VS.js → pieDiagram-4H26LBE5-DhImUZLQ.js} +1 -1
  225. package/dist/web-shell/assets/{quadrantDiagram-W4KKPZXB-BYWD4xO4.js → quadrantDiagram-W4KKPZXB-DGeSC3DT.js} +1 -1
  226. package/dist/web-shell/assets/{requirementDiagram-4Y6WPE33-B4MEhI9h.js → requirementDiagram-4Y6WPE33-DkspY6Re.js} +1 -1
  227. package/dist/web-shell/assets/{sankeyDiagram-5OEKKPKP-Dk_FgKLp.js → sankeyDiagram-5OEKKPKP-CaOofS2x.js} +1 -1
  228. package/dist/web-shell/assets/{sequenceDiagram-3UESZ5HK-B4ksiBZQ.js → sequenceDiagram-3UESZ5HK-DFQ_kFnN.js} +1 -1
  229. package/dist/web-shell/assets/{stateDiagram-AJRCARHV-CYf0xSPl.js → stateDiagram-AJRCARHV-D3snw0Tz.js} +1 -1
  230. package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +1 -0
  231. package/dist/web-shell/assets/{timeline-definition-PNZ67QCA-0CXeWHNY.js → timeline-definition-PNZ67QCA-l4zH8nLM.js} +1 -1
  232. package/dist/web-shell/assets/{vennDiagram-CIIHVFJN-DHoYY9v2.js → vennDiagram-CIIHVFJN-BnRlA98M.js} +1 -1
  233. package/dist/web-shell/assets/{wardley-L42UT6IY-D_65qshr.js → wardley-L42UT6IY-BS0xUdmd.js} +1 -1
  234. package/dist/web-shell/assets/{wardleyDiagram-YWT4CUSO-Cv90x1sd.js → wardleyDiagram-YWT4CUSO-DKGBUWyQ.js} +1 -1
  235. package/dist/web-shell/assets/{xychartDiagram-2RQKCTM6-5FQCYJyh.js → xychartDiagram-2RQKCTM6-DVb2HuOB.js} +1 -1
  236. package/dist/web-shell/index.html +2 -2
  237. package/package.json +3 -2
  238. package/dist/web-shell/assets/channel-V-ZaJrA6.js +0 -1
  239. package/dist/web-shell/assets/classDiagram-4FO5ZUOK-s-H0snGT.js +0 -1
  240. package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-s-H0snGT.js +0 -1
  241. package/dist/web-shell/assets/index-DW75jq0K.css +0 -5
  242. package/dist/web-shell/assets/index-tiCo0xbZ.js +0 -779
  243. package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-CMtrFRUb.js +0 -1
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  JsonFormatter,
8
8
  parseAndFormatApiError
9
- } from "./chunk-PDITONOB.js";
9
+ } from "./chunk-5MRUKUOG.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-YOGGIAGF.js";
18
+ } from "./chunk-6JL5OVLX.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-A4BMJM77.js";
@@ -0,0 +1,88 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ SessionNotFoundError
5
+ } from "./chunk-GGQQA4JW.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-A4BMJM77.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/serve/workspace-registry.ts
14
+ init_esbuild_shims();
15
+ function createWorkspaceRegistry(inputRuntimes) {
16
+ if (inputRuntimes.length === 0) {
17
+ throw new Error(
18
+ "WorkspaceRegistry requires at least one workspace runtime."
19
+ );
20
+ }
21
+ const primaryRuntimes = inputRuntimes.filter((runtime) => runtime.primary);
22
+ if (primaryRuntimes.length !== 1) {
23
+ throw new Error(
24
+ "WorkspaceRegistry requires exactly one primary workspace runtime."
25
+ );
26
+ }
27
+ const byCwd = /* @__PURE__ */ new Map();
28
+ const byId = /* @__PURE__ */ new Map();
29
+ for (const runtime of inputRuntimes) {
30
+ if (byCwd.has(runtime.workspaceCwd)) {
31
+ throw new Error(
32
+ `Duplicate workspace runtime cwd ${JSON.stringify(
33
+ runtime.workspaceCwd
34
+ )}.`
35
+ );
36
+ }
37
+ byCwd.set(runtime.workspaceCwd, runtime);
38
+ if (byId.has(runtime.workspaceId)) {
39
+ throw new Error(
40
+ `Duplicate workspace runtime id ${JSON.stringify(
41
+ runtime.workspaceId
42
+ )}.`
43
+ );
44
+ }
45
+ byId.set(runtime.workspaceId, runtime);
46
+ }
47
+ const runtimes = Object.freeze([...inputRuntimes]);
48
+ const primary = primaryRuntimes[0];
49
+ return {
50
+ primary,
51
+ list: /* @__PURE__ */ __name(() => runtimes, "list"),
52
+ getByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => byCwd.get(workspaceCwd), "getByWorkspaceCwd"),
53
+ getByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => byId.get(workspaceId), "getByWorkspaceId"),
54
+ resolveWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => workspaceCwd === void 0 ? primary : byCwd.get(workspaceCwd), "resolveWorkspaceCwd"),
55
+ resolveLiveSessionOwner: /* @__PURE__ */ __name((sessionId) => {
56
+ const matches = [];
57
+ for (const runtime of runtimes) {
58
+ try {
59
+ runtime.bridge.getSessionSummary(sessionId);
60
+ matches.push(runtime);
61
+ } catch (err) {
62
+ if (err instanceof SessionNotFoundError) continue;
63
+ throw err;
64
+ }
65
+ }
66
+ if (matches.length === 0) return { kind: "not_found" };
67
+ if (matches.length === 1) {
68
+ return { kind: "found", runtime: matches[0] };
69
+ }
70
+ return { kind: "ambiguous", runtimes: matches };
71
+ }, "resolveLiveSessionOwner")
72
+ };
73
+ }
74
+ __name(createWorkspaceRegistry, "createWorkspaceRegistry");
75
+ function createSingleWorkspaceRegistry(runtime) {
76
+ return createWorkspaceRegistry([runtime]);
77
+ }
78
+ __name(createSingleWorkspaceRegistry, "createSingleWorkspaceRegistry");
79
+
80
+ export {
81
+ createWorkspaceRegistry,
82
+ createSingleWorkspaceRegistry
83
+ };
84
+ /**
85
+ * @license
86
+ * Copyright 2026 Qwen Team
87
+ * SPDX-License-Identifier: Apache-2.0
88
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTeamAutoMemPath
5
- } from "./chunk-4KJ2BPIT.js";
5
+ } from "./chunk-OACJLMLD.js";
6
6
  import {
7
7
  createDebugLogger
8
8
  } from "./chunk-22MNNNXE.js";
@@ -0,0 +1,487 @@
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-VR3KCBHH.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
+ applyZubriqDefaults();
366
+ }
367
+ __name(loadEnvironment, "loadEnvironment");
368
+ function applyZubriqDefaults() {
369
+ if (process.env["ZUBRIQ_API_KEY"] && !process.env["OPENAI_API_KEY"]) {
370
+ process.env["OPENAI_API_KEY"] = process.env["ZUBRIQ_API_KEY"];
371
+ }
372
+ if (process.env["OPENAI_API_KEY"]) {
373
+ if (!process.env["OPENAI_BASE_URL"]) {
374
+ process.env["OPENAI_BASE_URL"] = "https://api.zubriq.by/v1";
375
+ }
376
+ if (!process.env["OPENAI_MODEL"] && !process.env["QWEN_MODEL"]) {
377
+ process.env["OPENAI_MODEL"] = "qwen3.6-35b";
378
+ }
379
+ if (!process.env["QWEN_CODE_MAX_OUTPUT_TOKENS"]) {
380
+ process.env["QWEN_CODE_MAX_OUTPUT_TOKENS"] = "8192";
381
+ }
382
+ }
383
+ }
384
+ __name(applyZubriqDefaults, "applyZubriqDefaults");
385
+ function reloadEnvironment(settings, workspaceCwd) {
386
+ const userLevelPaths = getUserLevelEnvPaths();
387
+ const envFilePaths = findEnvFiles(settings, workspaceCwd, userLevelPaths);
388
+ const parsedEnvFiles = parseEnvFiles(envFilePaths, userLevelPaths);
389
+ if (process.env["CLOUD_SHELL"] === "true") {
390
+ setUpCloudShellEnvironmentInEnv(process.env, parsedEnvFiles.files);
391
+ }
392
+ const dotEnvReadFailed = parsedEnvFiles.readFailed;
393
+ const newDotEnvKeys = /* @__PURE__ */ new Map();
394
+ const newSettingsEnvKeys = /* @__PURE__ */ new Map();
395
+ for (const envFile of parsedEnvFiles.files) {
396
+ const excludedVars = settings?.advanced?.excludedEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
397
+ for (const key in envFile.parsedEnv) {
398
+ if (!canApplyParsedEnvKey(envFile, key, excludedVars, { reload: true })) {
399
+ continue;
400
+ }
401
+ if (!newDotEnvKeys.has(key)) {
402
+ newDotEnvKeys.set(key, envFile.parsedEnv[key]);
403
+ }
404
+ }
405
+ }
406
+ if (settings.env) {
407
+ for (const [key, value] of Object.entries(settings.env)) {
408
+ if (RELOAD_EXCLUDED_KEYS.has(key)) continue;
409
+ if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) continue;
410
+ if (typeof value !== "string") continue;
411
+ const dotEnvValue = newDotEnvKeys.get(key);
412
+ if (dotEnvValue !== void 0 && dotEnvValue !== "") continue;
413
+ if (dotEnvReadFailed && lastReloadSnapshot.has(key)) continue;
414
+ newSettingsEnvKeys.set(key, value);
415
+ }
416
+ }
417
+ const allNewKeys = /* @__PURE__ */ new Set([
418
+ ...newDotEnvKeys.keys(),
419
+ ...newSettingsEnvKeys.keys()
420
+ ]);
421
+ const updatedKeys = [];
422
+ const removedKeys = [];
423
+ if (!dotEnvReadFailed) {
424
+ const previouslyKnown = /* @__PURE__ */ new Set([
425
+ ...lastReloadSnapshot.keys(),
426
+ ...dotEnvSourcedKeys,
427
+ ...settingsEnvSourcedKeys
428
+ ]);
429
+ for (const key of previouslyKnown) {
430
+ if (!allNewKeys.has(key) && !RELOAD_EXCLUDED_KEYS.has(key)) {
431
+ delete process.env[key];
432
+ removedKeys.push(key);
433
+ }
434
+ }
435
+ }
436
+ for (const [key, value] of newDotEnvKeys) {
437
+ if (value === "" && newSettingsEnvKeys.has(key)) continue;
438
+ if (process.env[key] !== value) {
439
+ updatedKeys.push(key);
440
+ }
441
+ process.env[key] = value;
442
+ }
443
+ for (const [key, value] of newSettingsEnvKeys) {
444
+ if (process.env[key] !== value) {
445
+ updatedKeys.push(key);
446
+ }
447
+ process.env[key] = value;
448
+ }
449
+ if (!dotEnvReadFailed) {
450
+ dotEnvSourcedKeys.clear();
451
+ for (const key of newDotEnvKeys.keys()) {
452
+ dotEnvSourcedKeys.add(key);
453
+ }
454
+ lastReloadSnapshot.clear();
455
+ for (const [key, value] of newDotEnvKeys) {
456
+ lastReloadSnapshot.set(key, value);
457
+ }
458
+ for (const [key, value] of newSettingsEnvKeys) {
459
+ lastReloadSnapshot.set(key, value);
460
+ }
461
+ }
462
+ settingsEnvSourcedKeys.clear();
463
+ for (const key of newSettingsEnvKeys.keys()) {
464
+ settingsEnvSourcedKeys.add(key);
465
+ }
466
+ return { updatedKeys, removedKeys };
467
+ }
468
+ __name(reloadEnvironment, "reloadEnvironment");
469
+
470
+ export {
471
+ SETTINGS_DIRECTORY_NAME,
472
+ preResolveHomeEnvOverrides,
473
+ resetHomeEnvBootstrapForTesting,
474
+ resetEnvironmentTrackingForTesting,
475
+ getHomeEnvFallbackVars,
476
+ findEnvFiles,
477
+ setUpCloudShellEnvironment,
478
+ buildRuntimeEnvironment,
479
+ loadEnvironment,
480
+ applyZubriqDefaults,
481
+ reloadEnvironment
482
+ };
483
+ /**
484
+ * @license
485
+ * Copyright 2025 Qwen Team
486
+ * SPDX-License-Identifier: Apache-2.0
487
+ */
@@ -4,14 +4,14 @@ import {
4
4
  resolveModelConfig,
5
5
  resolveProviderProtocol,
6
6
  stripRuntimeSnapshotPrefix
7
- } from "./chunk-PDITONOB.js";
7
+ } from "./chunk-5MRUKUOG.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-YRM6BC6H.js";
14
+ } from "./chunk-27AYMAL6.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;