@zubriq/code 0.19.8-2 → 0.19.9-2
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.
- package/README.md +5 -1
- package/dist/README.md +5 -1
- package/dist/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/dist/bundled/qc-helper/docs/features/channels/overview.md +23 -12
- package/dist/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
- package/dist/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
- package/dist/bundled/qc-helper/docs/features/hooks.md +36 -34
- package/dist/bundled/qc-helper/docs/features/memory.md +1 -1
- package/dist/bundled/qc-helper/docs/qwen-serve.md +17 -10
- package/dist/bundled/review/SKILL.md +6 -2
- package/dist/chunks/{MaxSizedBox-DTQF2MAY.js → MaxSizedBox-DAULPOB3.js} +13 -11
- package/dist/chunks/{StandaloneSessionPicker-XYO5V6IL.js → StandaloneSessionPicker-5Z7LVQ7F.js} +28 -23
- package/dist/chunks/{acpAgent-STMSDYGP.js → acpAgent-7JXXVE6B.js} +110 -80
- package/dist/chunks/{agent-C6YBZNSA.js → agent-S52M66XP.js} +8 -8
- package/dist/chunks/{agent-headless-65TQRHOY.js → agent-headless-47CB7RWZ.js} +8 -8
- package/dist/chunks/{anthropicContentGenerator-FZQAEMYK.js → anthropicContentGenerator-52G6ZA3D.js} +31 -4
- package/dist/chunks/{artifact-tool-H2TNPNP5.js → artifact-tool-D233YJFH.js} +25 -6
- package/dist/chunks/{bridge-GHGQNQRB.js → bridge-O6CZID6W.js} +17 -14
- package/dist/chunks/{ca-HCMB2I54.js → ca-MKD32FQL.js} +26 -1
- package/dist/chunks/{channel-worker-supervisor-B7MSMB5K.js → channel-worker-supervisor-NZQUOEFJ.js} +3 -3
- package/dist/chunks/{chunk-ZCMLUE4O.js → chunk-27A4SPWJ.js} +1 -1
- package/dist/chunks/{chunk-O3DVJ2JO.js → chunk-2DFYBHN4.js} +507 -64
- package/dist/chunks/{chunk-3SBUWSLI.js → chunk-2KQ42WGR.js} +2 -2
- package/dist/chunks/{chunk-PADAEB6D.js → chunk-2MZ4AYIT.js} +308 -81
- package/dist/chunks/chunk-332PWN27.js +19 -0
- package/dist/chunks/{chunk-FVMWEHWU.js → chunk-3B26UVCX.js} +114 -12
- package/dist/chunks/{chunk-W6RH6KHR.js → chunk-3GPVYALM.js} +4 -2
- package/dist/chunks/{chunk-SVK2TREP.js → chunk-3KV2TYC4.js} +1 -1
- package/dist/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
- package/dist/chunks/{chunk-TYOF23VK.js → chunk-43W4YSO6.js} +1 -12
- package/dist/chunks/{chunk-3Y2SRVRF.js → chunk-4S7YIVL6.js} +3 -3
- package/dist/chunks/{chunk-VEB3NYSO.js → chunk-5MBO76SL.js} +5 -0
- package/dist/chunks/{chunk-6N76CE6T.js → chunk-65GWYZCU.js} +10 -5
- package/dist/chunks/{chunk-Z3VQSA4A.js → chunk-67JZ37FW.js} +1 -1
- package/dist/chunks/{chunk-FACTYQFS.js → chunk-72AW57IS.js} +5352 -4135
- package/dist/chunks/chunk-A2X3KLC3.js +3807 -0
- package/dist/chunks/chunk-A7JD2K4Z.js +28 -0
- package/dist/chunks/{chunk-3CRBBLJZ.js → chunk-BAC5H5F4.js} +9 -9
- package/dist/chunks/{chunk-46IFEQDM.js → chunk-BIO6D3EL.js} +1 -1
- package/dist/chunks/chunk-BLNH4ALH.js +283 -0
- package/dist/chunks/{chunk-GXQXFHYV.js → chunk-CBYHA7QC.js} +1 -1
- package/dist/chunks/{chunk-NCFY7PWS.js → chunk-CCGOFQV3.js} +51 -2
- package/dist/chunks/{chunk-66KNL43D.js → chunk-CD6USWHZ.js} +1 -1
- package/dist/chunks/{chunk-J6GMF2DO.js → chunk-CJGGW5FV.js} +66 -7
- package/dist/chunks/{chunk-LLVYPOQV.js → chunk-COUVVSMO.js} +2 -2
- package/dist/chunks/{chunk-A6XKBVOM.js → chunk-EHLC565U.js} +11 -11
- package/dist/chunks/{chunk-VKWGD42I.js → chunk-EKPIW37S.js} +10 -10
- package/dist/chunks/{chunk-DNV4FSN5.js → chunk-FBET5XZ2.js} +6 -4
- package/dist/chunks/{chunk-UMU5USBC.js → chunk-FNQ4NTFR.js} +14 -153
- package/dist/chunks/{chunk-2NL7ED5Q.js → chunk-FV7425LN.js} +22 -1
- package/dist/chunks/{chunk-6UBX2BIL.js → chunk-G2XMNE5I.js} +4 -4
- package/dist/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
- package/dist/chunks/chunk-GLE2YUPU.js +34 -0
- package/dist/chunks/{chunk-X265R5C6.js → chunk-GN3F6PIU.js} +1 -1
- package/dist/chunks/{chunk-TJS7CXNX.js → chunk-HY7JTIS2.js} +5 -5
- package/dist/chunks/{chunk-WSVZFWN4.js → chunk-IBY3Q3HG.js} +693 -104
- package/dist/chunks/{chunk-VEDR5V7H.js → chunk-ITIH3WEE.js} +8 -8
- package/dist/chunks/chunk-JGT7AZCW.js +168 -0
- package/dist/chunks/{chunk-PY6PG4BL.js → chunk-K6VOOZB4.js} +6 -5
- package/dist/chunks/chunk-LGFAYIKX.js +115 -0
- package/dist/chunks/chunk-LOJIM7ZB.js +487 -0
- package/dist/chunks/{chunk-FT5ASRN5.js → chunk-LRKOXGF6.js} +5 -5
- package/dist/chunks/{chunk-AXYGF5SX.js → chunk-LSB7QUTQ.js} +15 -9
- package/dist/chunks/{chunk-QUR23Z2Q.js → chunk-M6F3JCGI.js} +2 -2
- package/dist/chunks/{chunk-DH7XPKJV.js → chunk-MCAFUCA2.js} +5 -5
- package/dist/chunks/{chunk-SWHGVEH5.js → chunk-O2JNBKLL.js} +1 -1
- package/dist/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
- package/dist/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
- package/dist/chunks/{chunk-VQZSRYKB.js → chunk-OFGYDQPN.js} +423 -61
- package/dist/chunks/{chunk-5XZ6FOTY.js → chunk-ONGYTDFO.js} +1 -1
- package/dist/chunks/{chunk-RTCBBRJK.js → chunk-PBLEEGVC.js} +20 -8
- package/dist/chunks/{chunk-4KMU5RWV.js → chunk-PJWMYPWC.js} +45 -9
- package/dist/chunks/{chunk-65A6UQDZ.js → chunk-QGNRRKJJ.js} +146 -54
- package/dist/chunks/{chunk-GSNACUDM.js → chunk-RBXWE376.js} +5 -13
- package/dist/chunks/{chunk-COPJASIO.js → chunk-RRI2ZIIA.js} +10 -10
- package/dist/chunks/{chunk-GKUVMLJH.js → chunk-RVBG4B2L.js} +3 -3
- package/dist/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
- package/dist/chunks/{chunk-AKSRZ5BA.js → chunk-SBP3QB6S.js} +17 -111
- package/dist/chunks/{chunk-P42OA4GP.js → chunk-TBV35OBU.js} +14 -8
- package/dist/chunks/{chunk-HXVVCTID.js → chunk-TWKTKDO7.js} +1 -1
- package/dist/chunks/chunk-U3BZFGXZ.js +167 -0
- package/dist/chunks/chunk-UIDXQNMV.js +13 -0
- package/dist/chunks/{chunk-PIORL4OD.js → chunk-UKV3D7WB.js} +0 -44
- package/dist/chunks/{chunk-23TH7TAA.js → chunk-UNP2RK7B.js} +2 -2
- package/dist/chunks/{chunk-AGTU5PQ6.js → chunk-UWRIDCTO.js} +4 -4
- package/dist/chunks/chunk-V35MD7KN.js +13 -0
- package/dist/chunks/{chunk-OMO3UY57.js → chunk-VFGM47DK.js} +681 -1232
- package/dist/chunks/{chunk-PMMJS5AM.js → chunk-X4BBHJZ3.js} +4 -3
- package/dist/chunks/chunk-XMQOLL5Z.js +8223 -0
- package/dist/chunks/chunk-XNXVCNAT.js +88 -0
- package/dist/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
- package/dist/chunks/{chunk-PYWGOON5.js → chunk-XPS3UH2D.js} +1 -1
- package/dist/chunks/chunk-YBRZ3S2C.js +942 -0
- package/dist/chunks/{chunk-RFIL6REB.js → chunk-YKZIAK7C.js} +119 -29
- package/dist/chunks/{chunk-7SZJYZPR.js → chunk-YWRV5OJX.js} +92 -465
- package/dist/chunks/chunk-Z3I3QJK3.js +47 -0
- package/dist/chunks/{chunk-Z33V6JSK.js → chunk-ZF7UGIJ2.js} +1 -1
- package/dist/chunks/chunk-ZL5HN75Q.js +61 -0
- package/dist/chunks/{computer-use-BH6F7LI7.js → computer-use-AK2MPP4V.js} +8 -8
- package/dist/chunks/{contextCommand-URWDQXBJ.js → contextCommand-XXYJTFCX.js} +12 -11
- package/dist/chunks/{cron-create-DDYU4DIR.js → cron-create-JSXEIPVS.js} +1 -1
- package/dist/chunks/{cron-delete-DFKOUZWN.js → cron-delete-OIFVEPGU.js} +1 -1
- package/dist/chunks/{cron-list-ME5QGAR5.js → cron-list-D4ZX4IOE.js} +1 -1
- package/dist/chunks/{daemon-XWG2EGFX.js → daemon-WPAENEBW.js} +71 -3
- package/dist/chunks/{daemon-status-provider-CLNN2UY2.js → daemon-status-provider-DOBLLAUR.js} +20 -17
- package/dist/chunks/{de-PLLFDERI.js → de-ZFPPQVSF.js} +26 -1
- package/dist/chunks/{dist-LPVU3L2M.js → dist-BEXOZXLQ.js} +6 -3792
- package/dist/chunks/{dist-7GU63KI5.js → dist-E6UANPIM.js} +1 -1
- package/dist/chunks/{dist-VHBP2PIG.js → dist-H2AEJCZ5.js} +2 -2
- package/dist/chunks/{dist-3UDX5T4T.js → dist-O2IRTRPP.js} +1 -1
- package/dist/chunks/dist-SCFLLYMK.js +3217 -0
- package/dist/chunks/{dist-H4HHZYCI.js → dist-Z34QPAQW.js} +2 -2
- package/dist/chunks/{earlyInputCapture-SFINSVH2.js → earlyInputCapture-QX7FKEPY.js} +8 -8
- package/dist/chunks/{edit-5OJRPFGZ.js → edit-MNTA2GNC.js} +9 -9
- package/dist/chunks/{en-AXARKOWO.js → en-N4EPZAQI.js} +31 -2
- package/dist/chunks/{enter-worktree-HK54JBSR.js → enter-worktree-WAG3SZ2O.js} +8 -8
- package/dist/chunks/{enterPlanMode-5GXOH5PQ.js → enterPlanMode-THDBOOSG.js} +8 -8
- package/dist/chunks/environment-AE6MZDKE.js +90 -0
- package/dist/chunks/{errors-73SZF7O7.js → errors-ITLDJFFZ.js} +10 -10
- package/dist/chunks/{exit-worktree-CBX23VFX.js → exit-worktree-ENFBD2E5.js} +8 -8
- package/dist/chunks/{exitPlanMode-HADS7AAV.js → exitPlanMode-HOSNRC22.js} +8 -8
- package/dist/chunks/{fast-path-3QQW3W6W.js → fast-path-CDB4XPSL.js} +12 -3
- package/dist/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-7RIFI3PK.js} +3 -2
- package/dist/chunks/{fr-MBMNQSQ6.js → fr-5WWMY53B.js} +30 -1
- package/dist/chunks/{gemini-Q4KKJMFH.js → gemini-DR4ABGLP.js} +438 -265
- package/dist/chunks/{geminiContentGenerator-SBKWTYFU.js → geminiContentGenerator-GGRSUJG6.js} +1 -1
- package/dist/chunks/{glob-ORVXVDJJ.js → glob-S3ESYOFY.js} +8 -8
- package/dist/chunks/{grep-TMSN6VOF.js → grep-WVRBUHNE.js} +8 -8
- package/dist/chunks/handleAutoUpdate-K73DXUO2.js +65 -0
- package/dist/chunks/{initializer-NFO725XQ.js → initializer-O2E3RKOG.js} +17 -13
- package/dist/chunks/{ja-HFV5QCHR.js → ja-CUHZOLEJ.js} +30 -1
- package/dist/chunks/{list-NP6QTWKD.js → list-7HRANYR2.js} +17 -15
- package/dist/chunks/{loadedSettingsAdapter-5PXZC4ZO.js → loadedSettingsAdapter-DC3DUNGS.js} +15 -13
- package/dist/chunks/{loop-wakeup-ZW5P6VPY.js → loop-wakeup-OHWEMFP5.js} +2 -2
- package/dist/chunks/{ls-L654WOAT.js → ls-7MFU2QYW.js} +1 -1
- package/dist/chunks/{lsp-M35KE54Y.js → lsp-XHDTPTGV.js} +2 -4
- package/dist/chunks/{mcp-D3C75I47.js → mcp-T676RK3N.js} +15 -13
- package/dist/chunks/{monitor-YZFSN33Z.js → monitor-NDBNCHYZ.js} +16 -11
- package/dist/chunks/{nonInteractiveCli-U7ZDVLQD.js → nonInteractiveCli-TMB4TLML.js} +52 -44
- package/dist/chunks/{notebook-edit-LVCCTW65.js → notebook-edit-XNEWNIID.js} +9 -9
- package/dist/chunks/{openaiContentGenerator-G4JHCIGX.js → openaiContentGenerator-2GGVNH4J.js} +6 -6
- package/dist/chunks/{pidfile-O37JZBNN.js → pidfile-U6U3KDMU.js} +8 -8
- package/dist/chunks/{pt-2THT3YHA.js → pt-OLYN42DS.js} +26 -1
- package/dist/chunks/{qwenContentGenerator-SPHKYVJF.js → qwenContentGenerator-FZR3VYQW.js} +10 -10
- package/dist/chunks/{read-file-MBGSR77H.js → read-file-2P3MNXBM.js} +3 -3
- package/dist/chunks/{record-artifact-PP3LKHTS.js → record-artifact-SQ2OKRJW.js} +3 -3
- package/dist/chunks/{ripGrep-WMM4G6QB.js → ripGrep-W5DKLIC2.js} +8 -8
- package/dist/chunks/{ru-PER5I4OI.js → ru-MKM2HFDS.js} +26 -1
- package/dist/chunks/{run-qwen-serve-3BOGJBTS.js → run-qwen-serve-FGGLFPLG.js} +602 -143
- package/dist/chunks/{scheduler-KWPXUSJ4.js → scheduler-CTJIZOWI.js} +8 -8
- package/dist/chunks/{send-message-OA6MV4EU.js → send-message-76GT3JMC.js} +1 -1
- package/dist/chunks/{serve-6JXYVZRD.js → serve-2OBCBFXZ.js} +17 -14
- package/dist/chunks/{server-KOSHCREY.js → server-K5VEB225.js} +1394 -328
- package/dist/chunks/{session-5RI6JYZ6.js → session-7EVRNUXC.js} +53 -45
- package/dist/chunks/{settings-URS74H6Z.js → settings-7QGLUMUT.js} +24 -20
- package/dist/chunks/{shell-6VOD5NUH.js → shell-JSJCMSGS.js} +8 -8
- package/dist/chunks/{skill-MKIISOW7.js → skill-DSJPTMVO.js} +15 -5
- package/dist/chunks/{spawnChannel-GM7HIIDH.js → spawnChannel-ANPAH5LN.js} +10 -10
- package/dist/chunks/{src-X2S7YA5D.js → src-GMUN6GZG.js} +21 -9
- package/dist/chunks/{startInteractiveUI-REEHDN4Z.js → startInteractiveUI-ID2KOH7Z.js} +33759 -41620
- package/dist/chunks/{task-create-RPFZNB4B.js → task-create-WCHTB435.js} +2 -2
- package/dist/chunks/{task-update-5WUG5MVQ.js → task-update-XYWMHJGJ.js} +2 -2
- package/dist/chunks/{team-create-MQVOXIHZ.js → team-create-FNAI6F35.js} +8 -8
- package/dist/chunks/{team-plan-approval-H74NA3K2.js → team-plan-approval-GPAFPCI7.js} +8 -8
- package/dist/chunks/{theme-manager-YMC4EJQO.js → theme-manager-366AQFJU.js} +8 -8
- package/dist/chunks/{tool-search-VUJGWH7W.js → tool-search-GVSOY72G.js} +6 -23
- package/dist/chunks/total-session-admission-FUTVSIVT.js +72 -0
- package/dist/chunks/{trustedFolders-UMMVN4P2.js → trustedFolders-2J5VZVXS.js} +9 -9
- package/dist/chunks/updateCheck-BHMVBNNI.js +65 -0
- package/dist/chunks/{validateNonInterActiveAuth-ORA3KCZO.js → validateNonInterActiveAuth-6BNWQW3V.js} +49 -41
- package/dist/chunks/{version-II46VXNW.js → version-SI22TR43.js} +2 -1
- package/dist/chunks/{workflow-KYFPOWKK.js → workflow-EGCATP2M.js} +9 -9
- package/dist/chunks/{workspace-providers-status-QDQEYCHT.js → workspace-providers-status-NSB2VFSX.js} +18 -15
- package/dist/chunks/workspace-registry-B3YUZ2VM.js +74 -0
- package/dist/chunks/{workspace-service-YBVUOSP7.js → workspace-service-U23V3DKO.js} +21 -19
- package/dist/chunks/{workspace-skills-status-3ASS4VEE.js → workspace-skills-status-3OHN6C62.js} +16 -14
- package/dist/chunks/{write-file-7ZHZO4K5.js → write-file-YJHRI5NS.js} +9 -9
- package/dist/chunks/{zh-RS3HZHFH.js → zh-J4F6QWQV.js} +31 -2
- package/dist/chunks/{zh-TW-L5GRQ4S4.js → zh-TW-XVDWOLSW.js} +31 -2
- package/dist/cli.js +11 -11
- package/dist/locales/ca.js +30 -0
- package/dist/locales/de.js +30 -0
- package/dist/locales/en.js +38 -2
- package/dist/locales/fr.js +36 -0
- package/dist/locales/ja.js +36 -0
- package/dist/locales/pt.js +30 -0
- package/dist/locales/ru.js +30 -0
- package/dist/locales/zh-TW.js +38 -2
- package/dist/locales/zh.js +38 -2
- package/dist/package.json +3 -3
- package/dist/web-shell/assets/{arc-C6tzvtOa.js → arc-BWyoJpY2.js} +1 -1
- package/dist/web-shell/assets/{architectureDiagram-3BPJPVTR-DSYQFGn9.js → architectureDiagram-3BPJPVTR-BT0mGrz2.js} +1 -1
- package/dist/web-shell/assets/{blockDiagram-GPEHLZMM-CHjBdXAD.js → blockDiagram-GPEHLZMM-BLgUWvyf.js} +1 -1
- package/dist/web-shell/assets/{c4Diagram-AAUBKEIU-BQzK6Yyb.js → c4Diagram-AAUBKEIU-DYx9M7oU.js} +1 -1
- package/dist/web-shell/assets/channel-wmPUGHtg.js +1 -0
- package/dist/web-shell/assets/{chunk-2J33WTMH-hpP2p3Ij.js → chunk-2J33WTMH-CfMHWbuZ.js} +1 -1
- package/dist/web-shell/assets/{chunk-4BX2VUAB-B5KtK1JJ.js → chunk-4BX2VUAB-B1URoqEV.js} +1 -1
- package/dist/web-shell/assets/{chunk-55IACEB6-BDv6Mfr2.js → chunk-55IACEB6-DAIaM4QF.js} +1 -1
- package/dist/web-shell/assets/{chunk-727SXJPM-BevPWfrX.js → chunk-727SXJPM-B2X34knw.js} +1 -1
- package/dist/web-shell/assets/{chunk-AQP2D5EJ-ChDrz2ad.js → chunk-AQP2D5EJ-Cif-zLTQ.js} +1 -1
- package/dist/web-shell/assets/{chunk-FMBD7UC4-ClMdVSDs.js → chunk-FMBD7UC4-H18WCXdY.js} +1 -1
- package/dist/web-shell/assets/{chunk-ND2GUHAM-BceV8kZS.js → chunk-ND2GUHAM-YFtetHi0.js} +1 -1
- package/dist/web-shell/assets/{chunk-QZHKN3VN-DtyK2wwc.js → chunk-QZHKN3VN-By2hiH3r.js} +1 -1
- package/dist/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +1 -0
- package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +1 -0
- package/dist/web-shell/assets/{cose-bilkent-S5V4N54A-BGMsqwmE.js → cose-bilkent-S5V4N54A-VrcnnLZu.js} +1 -1
- package/dist/web-shell/assets/{dagre-BM42HDAG-C-71clpF.js → dagre-BM42HDAG-CGo-IaVV.js} +1 -1
- package/dist/web-shell/assets/{diagram-2AECGRRQ-WIzzlkec.js → diagram-2AECGRRQ-Dl4QjzIB.js} +1 -1
- package/dist/web-shell/assets/{diagram-5GNKFQAL-CtnhZUP1.js → diagram-5GNKFQAL-qMLmsO0u.js} +1 -1
- package/dist/web-shell/assets/{diagram-KO2AKTUF-CS_IUezp.js → diagram-KO2AKTUF-CHlmuxPI.js} +1 -1
- package/dist/web-shell/assets/{diagram-LMA3HP47-BQnGRwN9.js → diagram-LMA3HP47-BUwU3GwT.js} +1 -1
- package/dist/web-shell/assets/{diagram-OG6HWLK6-By2VIocq.js → diagram-OG6HWLK6-HEhwPDUM.js} +1 -1
- package/dist/web-shell/assets/{erDiagram-TEJ5UH35-Dy8WeNkr.js → erDiagram-TEJ5UH35-1n0llBmM.js} +1 -1
- package/dist/web-shell/assets/{flowDiagram-I6XJVG4X-Diu_4y0w.js → flowDiagram-I6XJVG4X-BN74uMnt.js} +1 -1
- package/dist/web-shell/assets/{ganttDiagram-6RSMTGT7-CH8euujP.js → ganttDiagram-6RSMTGT7-BoOq78i3.js} +1 -1
- package/dist/web-shell/assets/{gitGraphDiagram-PVQCEYII-DHiObZq1.js → gitGraphDiagram-PVQCEYII-CN8b00c8.js} +1 -1
- package/dist/web-shell/assets/index-CNwoO1Cn.js +783 -0
- package/dist/web-shell/assets/index-CWQ0z6kZ.css +5 -0
- package/dist/web-shell/assets/{infoDiagram-5YYISTIA-CvC9A6fh.js → infoDiagram-5YYISTIA-CCurnIna.js} +1 -1
- package/dist/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK46kC4E.js → ishikawaDiagram-YF4QCWOH-AwuRqdUP.js} +1 -1
- package/dist/web-shell/assets/{journeyDiagram-JHISSGLW-B2TIiKq4.js → journeyDiagram-JHISSGLW-B7IICk-E.js} +1 -1
- package/dist/web-shell/assets/{kanban-definition-UN3LZRKU-Bh0WAulO.js → kanban-definition-UN3LZRKU-BYF0OKhx.js} +1 -1
- package/dist/web-shell/assets/{linear-Bxe9SHMk.js → linear-GWWguGfD.js} +1 -1
- package/dist/web-shell/assets/{mermaid.core-B1Pv6D5B.js → mermaid.core-JqtkxvCl.js} +5 -5
- package/dist/web-shell/assets/{mindmap-definition-RKZ34NQL-Bz0joLH8.js → mindmap-definition-RKZ34NQL-B0MmHsZ6.js} +1 -1
- package/dist/web-shell/assets/{pieDiagram-4H26LBE5-CnN4x-VS.js → pieDiagram-4H26LBE5-DhImUZLQ.js} +1 -1
- package/dist/web-shell/assets/{quadrantDiagram-W4KKPZXB-BYWD4xO4.js → quadrantDiagram-W4KKPZXB-DGeSC3DT.js} +1 -1
- package/dist/web-shell/assets/{requirementDiagram-4Y6WPE33-B4MEhI9h.js → requirementDiagram-4Y6WPE33-DkspY6Re.js} +1 -1
- package/dist/web-shell/assets/{sankeyDiagram-5OEKKPKP-Dk_FgKLp.js → sankeyDiagram-5OEKKPKP-CaOofS2x.js} +1 -1
- package/dist/web-shell/assets/{sequenceDiagram-3UESZ5HK-B4ksiBZQ.js → sequenceDiagram-3UESZ5HK-DFQ_kFnN.js} +1 -1
- package/dist/web-shell/assets/{stateDiagram-AJRCARHV-CYf0xSPl.js → stateDiagram-AJRCARHV-D3snw0Tz.js} +1 -1
- package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +1 -0
- package/dist/web-shell/assets/{timeline-definition-PNZ67QCA-0CXeWHNY.js → timeline-definition-PNZ67QCA-l4zH8nLM.js} +1 -1
- package/dist/web-shell/assets/{vennDiagram-CIIHVFJN-DHoYY9v2.js → vennDiagram-CIIHVFJN-BnRlA98M.js} +1 -1
- package/dist/web-shell/assets/{wardley-L42UT6IY-D_65qshr.js → wardley-L42UT6IY-BS0xUdmd.js} +1 -1
- package/dist/web-shell/assets/{wardleyDiagram-YWT4CUSO-Cv90x1sd.js → wardleyDiagram-YWT4CUSO-DKGBUWyQ.js} +1 -1
- package/dist/web-shell/assets/{xychartDiagram-2RQKCTM6-5FQCYJyh.js → xychartDiagram-2RQKCTM6-DVb2HuOB.js} +1 -1
- package/dist/web-shell/index.html +2 -2
- package/package.json +3 -2
- package/dist/web-shell/assets/channel-V-ZaJrA6.js +0 -1
- package/dist/web-shell/assets/classDiagram-4FO5ZUOK-s-H0snGT.js +0 -1
- package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-s-H0snGT.js +0 -1
- package/dist/web-shell/assets/index-DW75jq0K.css +0 -5
- package/dist/web-shell/assets/index-tiCo0xbZ.js +0 -779
- package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-CMtrFRUb.js +0 -1
|
@@ -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-67JZ37FW.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
|
+
*/
|
|
@@ -5,19 +5,19 @@ import {
|
|
|
5
5
|
} from "./chunk-3GONHQOA.js";
|
|
6
6
|
import {
|
|
7
7
|
getErrorMessage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-UNP2RK7B.js";
|
|
9
9
|
import {
|
|
10
10
|
loadSettings
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YWRV5OJX.js";
|
|
12
12
|
import {
|
|
13
13
|
getCurrentLanguage,
|
|
14
14
|
initializeI18n,
|
|
15
15
|
resolveLanguageSetting,
|
|
16
16
|
t
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-RRI2ZIIA.js";
|
|
18
18
|
import {
|
|
19
19
|
isWorkspaceTrusted
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-67JZ37FW.js";
|
|
21
21
|
import {
|
|
22
22
|
writeStderrLine,
|
|
23
23
|
writeStdoutLine
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
redactUrlCredentials,
|
|
30
30
|
require_prompts,
|
|
31
31
|
stripAnsi
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-72AW57IS.js";
|
|
33
33
|
import {
|
|
34
34
|
init_esbuild_shims
|
|
35
35
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -6,23 +6,26 @@ import {
|
|
|
6
6
|
parseAcpBaseModelId,
|
|
7
7
|
resolveCliGenerationConfig,
|
|
8
8
|
sanitizeProviderBaseUrl
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ITIH3WEE.js";
|
|
10
|
+
import {
|
|
11
|
+
snapshotProcessEnv
|
|
12
|
+
} from "./chunk-JGT7AZCW.js";
|
|
10
13
|
import {
|
|
11
14
|
loadSettings
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YWRV5OJX.js";
|
|
13
16
|
import {
|
|
14
17
|
STATUS_SCHEMA_VERSION
|
|
15
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ZF7UGIJ2.js";
|
|
16
19
|
import {
|
|
17
20
|
ModelsConfig,
|
|
18
21
|
resolveProviderProtocol
|
|
19
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-72AW57IS.js";
|
|
20
23
|
import {
|
|
21
24
|
APPROVAL_MODES
|
|
22
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-5MBO76SL.js";
|
|
23
26
|
import {
|
|
24
27
|
tokenLimit
|
|
25
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-UKV3D7WB.js";
|
|
26
29
|
import {
|
|
27
30
|
createDebugLogger
|
|
28
31
|
} from "./chunk-22MNNNXE.js";
|
|
@@ -42,10 +45,13 @@ function createWorkspaceProvidersStatusProvider(options = {}) {
|
|
|
42
45
|
__name(createWorkspaceProvidersStatusProvider, "createWorkspaceProvidersStatusProvider");
|
|
43
46
|
function buildWorkspaceProvidersStatus(workspaceCwd, acpChannelLive, options) {
|
|
44
47
|
try {
|
|
45
|
-
const loaded = loadSettings(
|
|
48
|
+
const loaded = loadSettings(
|
|
49
|
+
workspaceCwd,
|
|
50
|
+
options.env ? { skipLoadEnvironment: true } : true
|
|
51
|
+
);
|
|
46
52
|
const settings = loaded.merged;
|
|
47
|
-
const env = options.env ??
|
|
48
|
-
const selectedAuthType = settings.security?.auth?.selectedType ?? getAuthTypeFromEnv();
|
|
53
|
+
const env = options.env ?? snapshotProcessEnv();
|
|
54
|
+
const selectedAuthType = settings.security?.auth?.selectedType ?? getAuthTypeFromEnv(env);
|
|
49
55
|
const argv = {
|
|
50
56
|
model: options.argv?.model,
|
|
51
57
|
openaiApiKey: options.argv?.openaiApiKey,
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
functionResponsePartsToString
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VFGM47DK.js";
|
|
6
6
|
import {
|
|
7
7
|
parseAndFormatApiError
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-72AW57IS.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esbuild_shims
|
|
11
11
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -7,25 +7,25 @@ import {
|
|
|
7
7
|
require_jsx_runtime,
|
|
8
8
|
use_stdin_default,
|
|
9
9
|
use_stdout_default
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RBXWE376.js";
|
|
11
11
|
import {
|
|
12
12
|
require_react
|
|
13
13
|
} from "./chunk-KYMBIKIW.js";
|
|
14
14
|
import {
|
|
15
15
|
sanitizeFilenameForDisplay
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SBP3QB6S.js";
|
|
17
17
|
import {
|
|
18
18
|
t
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-RRI2ZIIA.js";
|
|
20
20
|
import {
|
|
21
21
|
fetchGitDiff,
|
|
22
22
|
findProviderByCredentials,
|
|
23
23
|
resolveMetadataKey
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-72AW57IS.js";
|
|
25
25
|
import {
|
|
26
26
|
KittySequenceOverflowEvent,
|
|
27
27
|
logKittySequenceOverflow
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-2DFYBHN4.js";
|
|
29
29
|
import {
|
|
30
30
|
createDebugLogger
|
|
31
31
|
} from "./chunk-22MNNNXE.js";
|
|
@@ -221,35 +221,6 @@ var V1_INDICATOR_KEYS = [
|
|
|
221
221
|
"disableCacheControl"
|
|
222
222
|
];
|
|
223
223
|
|
|
224
|
-
// packages/cli/src/config/shared-env-keys.ts
|
|
225
|
-
init_esbuild_shims();
|
|
226
|
-
var DEFAULT_EXCLUDED_ENV_VARS = ["DEBUG", "DEBUG_MODE"];
|
|
227
|
-
var ENV_CORRUPTED_PATH = "QWEN_CODE_SETTINGS_CORRUPTED_PATH";
|
|
228
|
-
var ENV_WAS_RECOVERED = "QWEN_CODE_SETTINGS_WAS_RECOVERED";
|
|
229
|
-
var PROJECT_ENV_HARDCODED_EXCLUSIONS = [
|
|
230
|
-
"QWEN_HOME",
|
|
231
|
-
"QWEN_RUNTIME_DIR",
|
|
232
|
-
"QWEN_CODE_MCP_APPROVALS_PATH",
|
|
233
|
-
"QWEN_CODE_TRUSTED_FOLDERS_PATH",
|
|
234
|
-
ENV_CORRUPTED_PATH,
|
|
235
|
-
ENV_WAS_RECOVERED,
|
|
236
|
-
// QWEN_TLS_INSECURE (and NODE_TLS_REJECT_UNAUTHORIZED, which it mirrors)
|
|
237
|
-
// disable TLS certificate verification for all outbound API connections. A
|
|
238
|
-
// project `.env` must never enable either — that would let an untrusted repo
|
|
239
|
-
// silently turn off MITM protection. Opt-in stays with the user via the
|
|
240
|
-
// `--insecure` flag, the shell environment, or a home `.env`. The initial
|
|
241
|
-
// `.env` load only consults this list, so both keys must be here (not just
|
|
242
|
-
// RELOAD_EXCLUDED_KEYS, which only applies on reload).
|
|
243
|
-
"QWEN_TLS_INSECURE",
|
|
244
|
-
"NODE_TLS_REJECT_UNAUTHORIZED"
|
|
245
|
-
];
|
|
246
|
-
var HOME_ENV_BOOTSTRAP_KEYS = [
|
|
247
|
-
"QWEN_HOME",
|
|
248
|
-
"QWEN_RUNTIME_DIR",
|
|
249
|
-
"QWEN_CODE_MCP_APPROVALS_PATH",
|
|
250
|
-
"QWEN_CODE_TRUSTED_FOLDERS_PATH"
|
|
251
|
-
];
|
|
252
|
-
|
|
253
224
|
// packages/cli/src/config/storage-paths-lite.ts
|
|
254
225
|
init_esbuild_shims();
|
|
255
226
|
import * as os from "node:os";
|
|
@@ -310,11 +281,6 @@ export {
|
|
|
310
281
|
V1_TO_V2_PRESERVE_DISABLE_MAP,
|
|
311
282
|
CONSOLIDATED_DISABLE_KEYS,
|
|
312
283
|
V1_INDICATOR_KEYS,
|
|
313
|
-
DEFAULT_EXCLUDED_ENV_VARS,
|
|
314
|
-
ENV_CORRUPTED_PATH,
|
|
315
|
-
ENV_WAS_RECOVERED,
|
|
316
|
-
PROJECT_ENV_HARDCODED_EXCLUSIONS,
|
|
317
|
-
HOME_ENV_BOOTSTRAP_KEYS,
|
|
318
284
|
SETTINGS_DIRECTORY_NAME,
|
|
319
285
|
resolveConfigPathLite,
|
|
320
286
|
getGlobalQwenDirLite,
|