@qwen-code/qwen-code 0.20.1-preview.7215 → 0.20.2-gdpval-vl-agent.0
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/bundled/qc-helper/docs/configuration/settings.md +1 -1
- package/bundled/qc-helper/docs/features/auto-mode.md +19 -16
- package/bundled/qc-helper/docs/features/commands.md +54 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +16 -7
- package/bundled/qc-helper/docs/integration-github-action.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +2 -1
- package/bundled/review/DESIGN.md +2 -2
- package/bundled/review/SKILL.md +4 -4
- package/chunks/{MaxSizedBox-EH6G5AEH.js → MaxSizedBox-KYNG7EN7.js} +38 -35
- package/chunks/{StandaloneSessionPicker-264A3TEA.js → StandaloneSessionPicker-7XN4WVVG.js} +55 -52
- package/chunks/{acpAgent-6RBIJFDI.js → acpAgent-FTFFYP5G.js} +1536 -512
- package/chunks/{agent-QURXGAA3.js → agent-Y76LTTOT.js} +34 -31
- package/chunks/{agent-headless-CRGX4ICQ.js → agent-headless-IVAEQPK6.js} +34 -31
- package/chunks/{anthropicContentGenerator-BWBAZGTW.js → anthropicContentGenerator-HGWAHO24.js} +11 -13
- package/chunks/{artifact-tool-IUJ7QWCX.js → artifact-tool-56T5IMBP.js} +3 -3
- package/chunks/{askUserQuestion-IUMUUTDQ.js → askUserQuestion-E25OBIC2.js} +3 -3
- package/chunks/{bridge-MNFVKPMI.js → bridge-4M77KUEV.js} +39 -36
- package/chunks/{build-SSCNEHZZ.js → build-GHIZ4MSZ.js} +1 -1
- package/chunks/{ca-2SL2BXTK.js → ca-N6VVUFVB.js} +611 -201
- package/chunks/{channel-worker-group-53CMOPFT.js → channel-worker-group-QZV2SP5U.js} +4 -4
- package/chunks/{channel-worker-manager-UTXILKC2.js → channel-worker-manager-3GMAU45H.js} +4 -4
- package/chunks/{channel-worker-supervisor-ZGO2W2MD.js → channel-worker-supervisor-QCXSXCRY.js} +3 -3
- package/chunks/{chunk-UQES76OO.js → chunk-2HGTVAOW.js} +6 -6
- package/chunks/{chunk-2HOVDT7W.js → chunk-2LI23QA6.js} +1 -1
- package/chunks/{chunk-ANHT55MR.js → chunk-2P6CNEHB.js} +1 -1
- package/chunks/chunk-2RFKHEXL.js +74 -0
- package/chunks/{chunk-BF32GYSY.js → chunk-3IABAQR6.js} +1 -1
- package/chunks/chunk-3Z43GZUQ.js +32 -0
- package/chunks/chunk-43T5WDQ7.js +127 -0
- package/chunks/{chunk-DA7OOKVN.js → chunk-4CTP6VR6.js} +29 -2
- package/chunks/{chunk-JD3MKVKL.js → chunk-4K56OJFJ.js} +1 -1
- package/chunks/{chunk-KTUQMDEP.js → chunk-4K7VDKAD.js} +1 -1
- package/chunks/{chunk-QKYTTBYW.js → chunk-4LVZNIDO.js} +1 -1
- package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
- package/chunks/{chunk-7YBZGNEC.js → chunk-5G3ZVADU.js} +308 -199
- package/chunks/{chunk-X4CGDBKA.js → chunk-6GEJX3LE.js} +3 -3
- package/chunks/{chunk-6GUTHAN7.js → chunk-6HOCJNO5.js} +1 -1
- package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
- package/chunks/chunk-6PVPNMXU.js +29 -0
- package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
- package/chunks/{chunk-4ODB7WIB.js → chunk-6ZBPS62S.js} +1 -1
- package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
- package/chunks/{chunk-WAX3ITOA.js → chunk-A3TAEAHX.js} +1 -1
- package/chunks/{chunk-OLMETXLX.js → chunk-ACW3VNUE.js} +2 -2
- package/chunks/{chunk-IB35C3IL.js → chunk-AVQ6EX4J.js} +1 -1
- package/chunks/{chunk-TTSKHF43.js → chunk-BK6UOUJ2.js} +2 -2
- package/chunks/{chunk-6OH6A5EX.js → chunk-BLAEKN6K.js} +20603 -17709
- package/chunks/chunk-BULDBTYC.js +153 -0
- package/chunks/{chunk-XNP57UDV.js → chunk-C3EXYVFX.js} +2 -2
- package/chunks/{chunk-FVS747N7.js → chunk-C54UTDOC.js} +23 -19
- package/chunks/{chunk-MAQQGNQ5.js → chunk-CBOQ3HY7.js} +466 -10
- package/chunks/{chunk-VFAE4AGH.js → chunk-CGZ5SV23.js} +72 -67
- package/chunks/{chunk-WKRXIHD6.js → chunk-COAARUPK.js} +8 -8
- package/chunks/{chunk-GA7VRJVN.js → chunk-E2ZK5M4P.js} +5 -5
- package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
- package/chunks/{chunk-E5GIFWE3.js → chunk-EEFRJ5CT.js} +54 -33
- package/chunks/{chunk-WXAXH7IJ.js → chunk-ESQHGKPJ.js} +1 -1
- package/chunks/{chunk-NEEB7UEN.js → chunk-FFFM6NJV.js} +1 -2
- package/chunks/{chunk-Z5R4JMOL.js → chunk-FJ2IUWNQ.js} +4 -4
- package/chunks/{chunk-JVTCARQ6.js → chunk-FQI7LT7T.js} +4 -4
- package/chunks/{chunk-BRXIO5WY.js → chunk-FTNI3D7D.js} +7 -7
- package/chunks/{chunk-OMH3276Y.js → chunk-GHRSKGHF.js} +7 -7
- package/chunks/{chunk-OONJNQ42.js → chunk-GPSKDNEE.js} +3 -3
- package/chunks/{chunk-KPZNOZPC.js → chunk-GWM4PDYK.js} +19 -19
- package/chunks/{chunk-NBMIC7DR.js → chunk-H24SOJIQ.js} +2 -2
- package/chunks/{chunk-FNGK2Z5B.js → chunk-H4AR2JQF.js} +3 -3
- package/chunks/{chunk-WOT64EP2.js → chunk-HCJQORKC.js} +2 -2
- package/chunks/{chunk-7KDI2IB2.js → chunk-HDATOR4J.js} +4 -4
- package/chunks/{chunk-IE4JSQ5L.js → chunk-HIYP7IR4.js} +39 -37
- package/chunks/{chunk-N6YTEVLV.js → chunk-HL6AKUGD.js} +10 -4
- package/chunks/{chunk-BAIEQKR5.js → chunk-HPQFGWOD.js} +5 -5
- package/chunks/chunk-HTR4WV6U.js +327 -0
- package/chunks/{chunk-SDXIH6OA.js → chunk-IFUNDCQ6.js} +137 -5
- package/chunks/{chunk-Z6UEAQTP.js → chunk-IFVECEIK.js} +178 -61
- package/chunks/{chunk-QOK6RMIP.js → chunk-IKP54WUL.js} +4 -4
- package/chunks/{chunk-IUSNI6IX.js → chunk-ISMD2AB3.js} +1 -1
- package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
- package/chunks/{chunk-LZYWWWCZ.js → chunk-KF6CTNTJ.js} +8 -9
- package/chunks/{chunk-EIAK6Q2B.js → chunk-KHOVYUHX.js} +2 -2
- package/chunks/chunk-KWK7UE6L.js +6194 -0
- package/chunks/{chunk-WBTZGWQ6.js → chunk-L5F3T6TQ.js} +1 -1
- package/chunks/{chunk-RELYEO3R.js → chunk-L7ASZD66.js} +244 -1607
- package/chunks/{chunk-UJEZQ562.js → chunk-LESHKUWF.js} +3 -5
- package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
- package/chunks/{chunk-Q3ZBFXK4.js → chunk-LKB5YL5T.js} +143 -36
- package/chunks/{chunk-MKLKHZAK.js → chunk-LU3RXCM7.js} +1 -1
- package/chunks/{chunk-B453NMZJ.js → chunk-M3EQ3GZC.js} +3 -3
- package/chunks/{chunk-TCKTNY66.js → chunk-M4VFMLQK.js} +6 -6
- package/chunks/{chunk-26LLB6FM.js → chunk-MDZTPSXO.js} +2 -2
- package/chunks/{chunk-4SLLEAQP.js → chunk-MJPBB2GK.js} +591 -316
- package/chunks/chunk-NABLFI57.js +82 -0
- package/chunks/{chunk-T7DDD7CZ.js → chunk-NAXEEGJU.js} +4 -4
- package/chunks/{chunk-467G3SV5.js → chunk-NPQDJGKU.js} +1 -1
- package/chunks/{chunk-FLTN6NRU.js → chunk-O4OT3DM3.js} +5 -1
- package/chunks/{chunk-3EUZWNWA.js → chunk-OPDZT2VG.js} +1 -1
- package/chunks/chunk-OQ5SYCPE.js +10017 -0
- package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
- package/chunks/{chunk-V25Z5UUB.js → chunk-P6PBZL3N.js} +7 -6
- package/chunks/{chunk-5NWV4NFB.js → chunk-PRAUGUNM.js} +3 -3
- package/chunks/{chunk-MC2DOZS7.js → chunk-PVT6E3ZI.js} +3 -3
- package/chunks/{chunk-KXEGCGUG.js → chunk-Q22WWVR6.js} +31 -6
- package/chunks/{chunk-JDI67JFB.js → chunk-Q2YKNMLS.js} +3 -3
- package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.js} +1 -1
- package/chunks/{chunk-Y2ENGUD6.js → chunk-QKTHJXCS.js} +1 -1
- package/chunks/{chunk-BVLROR2T.js → chunk-QLJUC7TG.js} +1 -1
- package/chunks/{chunk-UEY4AYUL.js → chunk-QNLNLENL.js} +2 -2
- package/chunks/{chunk-OKWRU4NO.js → chunk-RC7A7SSL.js} +3 -3
- package/chunks/chunk-RCUEYZDE.js +2290 -0
- package/chunks/{chunk-EVSTCA7S.js → chunk-RMY5SX7S.js} +368 -113
- package/chunks/{chunk-4WUAQ2DO.js → chunk-RTQSXHS7.js} +2 -2
- package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
- package/chunks/{chunk-NIJEXGV6.js → chunk-RVLZCXEE.js} +79 -10
- package/chunks/{chunk-Q4RBU7WX.js → chunk-S333CBIA.js} +6 -6
- package/chunks/{chunk-JNWZQ27S.js → chunk-SP5WRGVG.js} +3 -3
- package/chunks/{chunk-FSL5W5TI.js → chunk-T2L47JJK.js} +3 -3
- package/chunks/{chunk-PWVTCGBP.js → chunk-TA4S377U.js} +30 -20
- package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
- package/chunks/chunk-U6TQGUNB.js +20687 -0
- package/chunks/chunk-U7ZFW55U.js +2098 -0
- package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
- package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
- package/chunks/{chunk-P2YAOGJD.js → chunk-UKU3NGW6.js} +3 -3
- package/chunks/{chunk-NOWTNYC7.js → chunk-UVFCANV5.js} +8 -8
- package/chunks/{chunk-CVDW42JT.js → chunk-V4AKJQ26.js} +1 -1
- package/chunks/{chunk-Z5Q65RVH.js → chunk-VJPRLNLR.js} +1 -1
- package/chunks/{chunk-Y4CRUWFZ.js → chunk-VTXX72XS.js} +60 -35
- package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
- package/chunks/chunk-WHGVTP7Q.js +1049 -0
- package/chunks/{chunk-IKP5DXZY.js → chunk-WOWQQGGN.js} +5 -5
- package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
- package/chunks/chunk-XHATNRQA.js +1500 -0
- package/chunks/{chunk-2DXOIVUI.js → chunk-YLSB23Y2.js} +11 -11
- package/chunks/{chunk-S35ZDXOS.js → chunk-YM3SZTH4.js} +2 -1
- package/chunks/{chunk-OF2BBLYQ.js → chunk-YNWJAOPL.js} +2 -2
- package/chunks/{chunk-GKY2OJ7R.js → chunk-ZHERRXZJ.js} +1 -1
- package/chunks/{chunk-AR27OPIU.js → chunk-ZKFJKN23.js} +2 -2
- package/chunks/{computer-use-R7KA6UJ6.js → computer-use-UKQBH7UM.js} +39 -36
- package/chunks/{config-utils-6FXFJUYB.js → config-utils-FYTBZLCJ.js} +3 -3
- package/chunks/{contextCommand-KAQQPHZ4.js → contextCommand-ESHGAVWX.js} +36 -33
- package/chunks/{create-sub-session-TDPDBU4K.js → create-sub-session-574EPZUU.js} +34 -31
- package/chunks/{create-sub-session-X5RVIHCK.js → create-sub-session-AZ77LBL3.js} +3 -3
- package/chunks/{cron-create-AC5FFLN7.js → cron-create-KTWJM7QT.js} +5 -5
- package/chunks/{cron-delete-JEB3FAHA.js → cron-delete-2P3I5ULL.js} +5 -5
- package/chunks/{cron-list-NBYPCNIB.js → cron-list-PXDPGEDQ.js} +5 -5
- package/chunks/{daemon-RG2MAI6T.js → daemon-GJRFILYS.js} +323 -99
- package/chunks/daemon-status-provider-GZXZP3NU.js +80 -0
- package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
- package/chunks/{dist-AU7NQQRP.js → dist-OAV7LJGJ.js} +1 -1
- package/chunks/{dist-FUTEXY6A.js → dist-OMW6WDEO.js} +1 -1
- package/chunks/{dist-2MIU4UUH.js → dist-PJLG2XYX.js} +1 -1
- package/chunks/{dist-53PZYC5B.js → dist-UIFWIFRO.js} +2 -2
- package/chunks/{dist-2BHAYBKP.js → dist-XBJVSWS2.js} +1 -1
- package/chunks/{dist-WGTQO7F2.js → dist-XRYV6TJP.js} +65 -25
- package/chunks/{earlyInputCapture-WC7RI5HV.js → earlyInputCapture-GI3HGQIT.js} +35 -32
- package/chunks/{edit-6MHKCJCM.js → edit-EBJK74B3.js} +42 -41
- package/chunks/{en-XE34GKAA.js → en-USMCCJAJ.js} +5 -1
- package/chunks/{enter-worktree-O7VJ2E7A.js → enter-worktree-2ETY5CSV.js} +39 -36
- package/chunks/{enterPlanMode-5XYAALIO.js → enterPlanMode-NY4U2727.js} +45 -37
- package/chunks/{environment-LSKFNLBU.js → environment-33IR3NOU.js} +36 -33
- package/chunks/{errors-ZFVCY6HG.js → errors-2OCY23IC.js} +36 -33
- package/chunks/{exit-worktree-MYIK66T7.js → exit-worktree-Y4ULJ45U.js} +39 -36
- package/chunks/{exitPlanMode-7MBNU76O.js → exitPlanMode-SECI2EQ6.js} +39 -36
- package/chunks/{fast-path-RNLIB64C.js → fast-path-6Z7RW5J5.js} +3 -2
- package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
- package/chunks/{gemini-WK5ISEAQ.js → gemini-XLGLUGSU.js} +93 -89
- package/chunks/{geminiContentGenerator-NUJQBZBW.js → geminiContentGenerator-NNZZDH24.js} +5 -5
- package/chunks/{getMachineId-bsd-EXV7SWPA.js → getMachineId-bsd-QFVLPUPT.js} +1 -1
- package/chunks/{getMachineId-darwin-IUOMFXU3.js → getMachineId-darwin-DGMQQE2E.js} +1 -1
- package/chunks/{getMachineId-linux-K7XJYFHL.js → getMachineId-linux-R4Z6CSWC.js} +1 -1
- package/chunks/{getMachineId-unsupported-EA5FDRJ6.js → getMachineId-unsupported-Z3SBVBUV.js} +1 -1
- package/chunks/{getMachineId-win-KBA6RAI5.js → getMachineId-win-SCK5UFDT.js} +1 -1
- package/chunks/{glob-7P6RYY4L.js → glob-KZA64SSV.js} +41 -38
- package/chunks/{grep-V3QHNP2J.js → grep-ONHQMY3V.js} +41 -38
- package/chunks/handleAutoUpdate-PRTJISXQ.js +73 -0
- package/chunks/{i18n-B7IO7WQT.js → i18n-ZTKKG5R5.js} +35 -32
- package/chunks/{initializer-E5TIC3CW.js → initializer-FPPZGBYN.js} +40 -37
- package/chunks/{installationInfo-XLPNAISK.js → installationInfo-DV2C27HT.js} +37 -32
- package/chunks/{ja-2ICT3KXF.js → ja-KY4ROZTE.js} +5 -1
- package/chunks/{keychain-token-storage-DWRJMNH3.js → keychain-token-storage-6ACJDYIB.js} +3 -3
- package/chunks/{list-3CZR5I42.js → list-KEHCNUAK.js} +42 -39
- package/chunks/{loadedSettingsAdapter-X5BSC6CE.js → loadedSettingsAdapter-7RZ6M3WH.js} +39 -36
- package/chunks/{loop-wakeup-HMHCT5GU.js → loop-wakeup-RNMRVA66.js} +6 -6
- package/chunks/{ls-IW5HYDG4.js → ls-J2ZI5XYK.js} +5 -5
- package/chunks/{lsp-4RL52YIZ.js → lsp-UMS3NUB5.js} +3 -3
- package/chunks/managed-npm-update-EBKNOG37.js +332 -0
- package/chunks/{mcp-4C4HWXAR.js → mcp-NHXKZRRP.js} +39 -36
- package/chunks/{monitor-3CJDNZB2.js → monitor-FMUAIFFH.js} +39 -36
- package/chunks/nonInteractiveCli-I2GPZNTP.js +132 -0
- package/chunks/{notebook-edit-MX366HCT.js → notebook-edit-V7RNXKVL.js} +43 -42
- package/chunks/{openaiContentGenerator-KRPNNJGZ.js → openaiContentGenerator-IBVUUZDH.js} +19 -18
- package/chunks/{pidfile-K7T2JLUJ.js → pidfile-AMTGL2H2.js} +35 -32
- package/chunks/{processUtils-YXL3VIBR.js → processUtils-3ZT2JF6D.js} +2 -2
- package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
- package/chunks/{qwenContentGenerator-GJVXFZ3U.js → qwenContentGenerator-E72VVWS3.js} +41 -38
- package/chunks/{qwenOAuth2-UZTIBQLY.js → qwenOAuth2-YCC3HP24.js} +17 -16
- package/chunks/{read-file-S5XQSYOW.js → read-file-5EWNGUXN.js} +13 -11
- package/chunks/{read-mcp-resource-OIBCNIX7.js → read-mcp-resource-F6HYMDUY.js} +3 -3
- package/chunks/{record-artifact-HDMK4LHG.js → record-artifact-7GCFLDD7.js} +3 -3
- package/chunks/{resumeHistoryUtils-IKR6XD2S.js → resumeHistoryUtils-IH4RNB76.js} +41 -38
- package/chunks/{ripGrep-H65GRSQX.js → ripGrep-B6A6N7GI.js} +34 -31
- package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
- package/chunks/{run-qwen-serve-7SKAQOAA.js → run-qwen-serve-6PKSMF6Z.js} +115 -74
- package/chunks/{runtime-I2STBGPR.js → runtime-ASRANXO6.js} +45 -40
- package/chunks/{scheduler-6F7HETNO.js → scheduler-IABM76UZ.js} +34 -31
- package/chunks/sdk-exporters-grpc-ETLH47EP.js +23214 -0
- package/chunks/sdk-exporters-http-6MCQH335.js +563 -0
- package/chunks/sdk-impl-HOLWAXC6.js +9193 -0
- package/chunks/{send-message-WXVVK4DB.js → send-message-KBO6X4ZS.js} +7 -5
- package/chunks/{serve-4ATEWSEA.js → serve-A4DT5D32.js} +39 -36
- package/chunks/{server-YPUPFV2O.js → server-DZ5ZSVRE.js} +2317 -472
- package/chunks/{session-AZFIERIY.js → session-G2R3CYU6.js} +87 -172
- package/chunks/{settings-EFQHLTM3.js → settings-7TNSXUTO.js} +43 -40
- package/chunks/{shell-FWXWBJ4Q.js → shell-5BRFGEMK.js} +34 -31
- package/chunks/{skill-A634MNCD.js → skill-3SWYEK7M.js} +24 -20
- package/chunks/{spawnChannel-KKBGGR47.js → spawnChannel-GGN2WVWW.js} +36 -33
- package/chunks/{src-BVROLD6N.js → src-5BPBNQ5S.js} +314 -236
- package/chunks/{standalone-update-ERLA3BDC.js → standalone-update-AHOZ56LS.js} +37 -34
- package/chunks/{startInteractiveUI-3VZ23WAY.js → startInteractiveUI-TLGOQVV7.js} +1105 -906
- package/chunks/{syntheticOutput-HCUFXSIA.js → syntheticOutput-H7RTI5KL.js} +4 -4
- package/chunks/{task-create-RIY5JTFC.js → task-create-7474AJJD.js} +10 -8
- package/chunks/{task-list-XBUCV3CO.js → task-list-633HGOIB.js} +6 -6
- package/chunks/{task-stop-QDFCCYR5.js → task-stop-MNUGHPIA.js} +3 -3
- package/chunks/{task-update-7PXKJQOI.js → task-update-66GQB5LI.js} +10 -8
- package/chunks/{team-create-ZZO7QFQ7.js → team-create-XHDF7UKM.js} +42 -39
- package/chunks/{team-delete-TNSSE2S5.js → team-delete-BB3CG3QF.js} +6 -6
- package/chunks/{team-plan-approval-3BZBJ46K.js → team-plan-approval-XKSBXWMH.js} +39 -36
- package/chunks/{theme-manager-FSFWNXFJ.js → theme-manager-6ZKLBFAN.js} +35 -32
- package/chunks/{todoWrite-OMAIGB6V.js → todoWrite-KRAUN54W.js} +5 -5
- package/chunks/{tool-search-VYXAAIDW.js → tool-search-UDNJCXYS.js} +21 -17
- package/chunks/{total-session-admission-PSMLQICS.js → total-session-admission-VWRCCDYM.js} +40 -37
- package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-L5BFT64K.js} +1 -1
- package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-ZKDNQGID.js} +1 -1
- package/chunks/{trustedFolders-QA3RK2NV.js → trustedFolders-TJI6OLAN.js} +35 -32
- package/chunks/{chunk-6EFTQYW7.js → undici-3FJYTMOF.js} +24 -399
- package/chunks/{chunk-L573Z2QZ.js → undici-PYHBDDPN.js} +1 -5
- package/chunks/{update-relaunch-LNLZFX3J.js → update-relaunch-RS5GB74A.js} +17 -17
- package/chunks/updateCheck-T4EEA5YR.js +88 -0
- package/chunks/{useAutoAcceptIndicator-DIWN27LT.js → useAutoAcceptIndicator-LLWMXC7F.js} +44 -41
- package/chunks/{validateNonInterActiveAuth-LOEOFCAF.js → validateNonInterActiveAuth-OJ3KYXAR.js} +74 -71
- package/chunks/{version-HBF2VBLE.js → version-ZCEUV5DO.js} +1 -1
- package/chunks/{web-fetch-BWGSD2BD.js → web-fetch-KQF4YFCI.js} +99 -42
- package/chunks/{web-search-OOHTCVR3.js → web-search-QDDGFGKI.js} +113 -61
- package/chunks/{workflow-LJAJBOR4.js → workflow-GIRKCX4P.js} +47 -43
- package/chunks/{workspace-providers-status-FYV7TTHA.js → workspace-providers-status-UTMAVTNE.js} +42 -39
- package/chunks/{workspace-registration-store-4EHGQW4Y.js → workspace-registration-store-EYJMJFZU.js} +8 -2
- package/chunks/{workspace-registry-BKD7VC4Y.js → workspace-registry-4W4UW6MY.js} +40 -37
- package/chunks/{workspace-service-75RHX6KR.js → workspace-service-DJCPY6ZN.js} +46 -43
- package/chunks/{workspace-skills-status-WBZBZI6A.js → workspace-skills-status-VQ2LKXXX.js} +40 -37
- package/chunks/write-file-PLK6RQ7M.js +65 -0
- package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-BM47YBFH.js} +5 -1
- package/chunks/{zh-6ANG2HTL.js → zh-WY5DWYZD.js} +5 -1
- package/cli-entry.js +164 -12
- package/cli.js +18 -11
- package/locales/ca.js +772 -203
- package/locales/de.js +8 -2
- package/locales/en.js +8 -2
- package/locales/fr.js +8 -2
- package/locales/ja.js +8 -2
- package/locales/pt.js +8 -2
- package/locales/ru.js +8 -2
- package/locales/zh-TW.js +8 -2
- package/locales/zh.js +8 -2
- package/package.json +3 -3
- package/web-shell/assets/{arc-Buk1besA.js → arc-DIQrcXXh.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1aUKYDC.js → architectureDiagram-3BPJPVTR-CbPd-DSw.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CRTdg3Zx.js → blockDiagram-GPEHLZMM-yzBIVhMX.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DFdRMp5g.js → c4Diagram-AAUBKEIU-B88Swcsu.js} +1 -1
- package/web-shell/assets/channel-BaTMUesZ.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-4rYQdkEI.js → chunk-2J33WTMH-BbOLo6NX.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-Coi-pQJy.js → chunk-4BX2VUAB-Bg6in0r0.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BtBjz02t.js → chunk-55IACEB6-Bv9QRyLI.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CGYOWorl.js → chunk-727SXJPM-CFokiv61.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CH5AKhqx.js → chunk-AQP2D5EJ-DS2Oxf6L.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-Cd50-w85.js → chunk-FMBD7UC4-D2NkHD3B.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-C2wF3KCK.js → chunk-ND2GUHAM-BsT_UC5B.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-pCeRTaWi.js → chunk-QZHKN3VN-tnJo3zln.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CyBPzWud.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CyBPzWud.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-B-_fAB6D.js → cose-bilkent-S5V4N54A-BTMa6DAZ.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-ChSPNHpL.js → dagre-BM42HDAG-ujGX7Owg.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BX7cFOF3.js → diagram-2AECGRRQ-fU4-dbPa.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BQUTW92n.js → diagram-5GNKFQAL-Bdm-TYSA.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BkYPh3e4.js → diagram-KO2AKTUF-Bkhz85Z9.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Cl6jsNyx.js → diagram-LMA3HP47-Bzu3q26p.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DRWoHz8n.js → diagram-OG6HWLK6-CZrXbG5Q.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CGvFcZco.js → erDiagram-TEJ5UH35-BjozEAYu.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-vms6oVdv.js → flowDiagram-I6XJVG4X-B3a2I8c-.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-ukT_sfmi.js → ganttDiagram-6RSMTGT7-CIMn9fNm.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bn2ZE2Ut.js → gitGraphDiagram-PVQCEYII-DlFy9KRx.js} +1 -1
- package/web-shell/assets/{index-wFXp7W68.js → index-BODUAzQA.js} +1 -1
- package/web-shell/assets/index-C54DNMF7.js +1209 -0
- package/web-shell/assets/index-lWqBfc78.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DHJdSi7x.js → infoDiagram-5YYISTIA-BmKjQgCy.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DOvd2Wph.js → ishikawaDiagram-YF4QCWOH-BrQEMZz2.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CH_urMCT.js → journeyDiagram-JHISSGLW-D-2r7Xrt.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-FKiBdgbH.js → kanban-definition-UN3LZRKU-CndsFHCX.js} +1 -1
- package/web-shell/assets/{linear-0ZVQFVKf.js → linear-D-IwNnKx.js} +1 -1
- package/web-shell/assets/{mermaid.core-DJ05ZZIK.js → mermaid.core-4ll09sri.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BPuUhkUm.js → mindmap-definition-RKZ34NQL-maMRIxjo.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-yLFKcXyG.js → pieDiagram-4H26LBE5-aunUDhrJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-irWqc1pE.js → quadrantDiagram-W4KKPZXB-D3K0P1NZ.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-B_4uMoIV.js → requirementDiagram-4Y6WPE33-CX2X9HRc.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-ciA4GPwk.js → sankeyDiagram-5OEKKPKP-CDroWk7l.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CRdZvy0U.js → sequenceDiagram-3UESZ5HK-DTk-2b16.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DaYIkCCn.js → stateDiagram-AJRCARHV-Cud64hQr.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-g-uUpecT.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-oBUKv6iH.js → timeline-definition-PNZ67QCA-DfD5okf_.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-CGW9Sdmb.js → vennDiagram-CIIHVFJN-BYl8ay25.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CvwKJOCm.js → wardley-L42UT6IY-BZFAt10J.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Ipc260sN.js → wardleyDiagram-YWT4CUSO-BIWn0GA7.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-D6-CM7pK.js → xychartDiagram-2RQKCTM6-1_H4xblT.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-ETD6K42I.js +0 -358
- package/chunks/chunk-I5NLVPZJ.js +0 -45
- package/chunks/chunk-ONWW74X6.js +0 -74639
- package/chunks/chunk-W7FJ3N32.js +0 -49
- package/chunks/daemon-status-provider-LVTVJGAD.js +0 -77
- package/chunks/handleAutoUpdate-AAQ6PL3E.js +0 -70
- package/chunks/nonInteractiveCli-QTEHDDFH.js +0 -129
- package/chunks/updateCheck-JJEUQ54U.js +0 -73
- package/chunks/write-file-M2DTFILF.js +0 -599
- package/web-shell/assets/channel-04R0vLbG.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Bw9SOwAV.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Bw9SOwAV.js +0 -1
- package/web-shell/assets/index-DgkKrjw3.js +0 -1187
- package/web-shell/assets/index-Rv6mOAN9.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DWBoO4UY.js +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
WriteFileTool,
|
|
5
|
+
buildRecordArtifactReminder
|
|
6
|
+
} from "./chunk-BLAEKN6K.js";
|
|
7
|
+
import "./chunk-T4TZQJ7W.js";
|
|
8
|
+
import "./chunk-H6XPXXMH.js";
|
|
9
|
+
import "./chunk-5M6IDOMF.js";
|
|
10
|
+
import "./chunk-T2L47JJK.js";
|
|
11
|
+
import "./chunk-GPSKDNEE.js";
|
|
12
|
+
import "./chunk-X6N25LXS.js";
|
|
13
|
+
import "./chunk-E2UVIFI2.js";
|
|
14
|
+
import "./chunk-L5F3T6TQ.js";
|
|
15
|
+
import "./chunk-Q2YKNMLS.js";
|
|
16
|
+
import "./chunk-XU457J4V.js";
|
|
17
|
+
import "./chunk-VDDGDZMA.js";
|
|
18
|
+
import "./chunk-KHOVYUHX.js";
|
|
19
|
+
import "./chunk-SZRN75WQ.js";
|
|
20
|
+
import "./chunk-6PVPNMXU.js";
|
|
21
|
+
import "./chunk-CPBF7KYF.js";
|
|
22
|
+
import "./chunk-NABLFI57.js";
|
|
23
|
+
import "./chunk-QBUDF33N.js";
|
|
24
|
+
import "./chunk-LIZRAKPB.js";
|
|
25
|
+
import "./chunk-WHGVTP7Q.js";
|
|
26
|
+
import "./chunk-6AM5D4ME.js";
|
|
27
|
+
import "./chunk-JCW2R7WC.js";
|
|
28
|
+
import "./chunk-57FIIFJN.js";
|
|
29
|
+
import "./chunk-HTO4JFDZ.js";
|
|
30
|
+
import "./chunk-2HGTVAOW.js";
|
|
31
|
+
import "./chunk-JESCGQM3.js";
|
|
32
|
+
import "./chunk-RC7A7SSL.js";
|
|
33
|
+
import "./chunk-C3EXYVFX.js";
|
|
34
|
+
import "./chunk-XVNQMZ2I.js";
|
|
35
|
+
import "./chunk-FODK6UMO.js";
|
|
36
|
+
import "./chunk-GLNBDYUX.js";
|
|
37
|
+
import "./chunk-DJ2GSRLV.js";
|
|
38
|
+
import "./chunk-U6TQGUNB.js";
|
|
39
|
+
import "./chunk-VGC4I5JJ.js";
|
|
40
|
+
import "./chunk-4K56OJFJ.js";
|
|
41
|
+
import "./chunk-CBOQ3HY7.js";
|
|
42
|
+
import "./chunk-A4UCTEB5.js";
|
|
43
|
+
import "./chunk-XWRJCPHC.js";
|
|
44
|
+
import "./chunk-QNLNLENL.js";
|
|
45
|
+
import "./chunk-6X4GWOPW.js";
|
|
46
|
+
import "./chunk-TYQMGACW.js";
|
|
47
|
+
import "./chunk-TYAMGABM.js";
|
|
48
|
+
import "./chunk-FCMNKVXT.js";
|
|
49
|
+
import "./chunk-RCUEYZDE.js";
|
|
50
|
+
import "./chunk-HTR4WV6U.js";
|
|
51
|
+
import "./chunk-BULDBTYC.js";
|
|
52
|
+
import "./chunk-U7ZFW55U.js";
|
|
53
|
+
import "./chunk-NPQDJGKU.js";
|
|
54
|
+
import "./chunk-YM3SZTH4.js";
|
|
55
|
+
import "./chunk-OQB4EXO4.js";
|
|
56
|
+
import "./chunk-75DOP5OR.js";
|
|
57
|
+
import "./chunk-DMTGGOSA.js";
|
|
58
|
+
import "./chunk-YQ3U5MUC.js";
|
|
59
|
+
import "./chunk-THJNPLI4.js";
|
|
60
|
+
import "./chunk-5O2XNYP6.js";
|
|
61
|
+
import "./chunk-J2S4EL5Y.js";
|
|
62
|
+
export {
|
|
63
|
+
WriteFileTool,
|
|
64
|
+
buildRecordArtifactReminder
|
|
65
|
+
};
|
|
@@ -1717,7 +1717,11 @@ var zh_TW_default = {
|
|
|
1717
1717
|
"Qwen Code update available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u53EF\u7528\u66F4\u65B0\uFF01{{current}} \u2192 {{latest}}",
|
|
1718
1718
|
"A new version of Qwen Code is available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u65B0\u7248\u672C\u53EF\u7528\uFF01{{current}} \u2192 {{latest}}",
|
|
1719
1719
|
"Qwen Code {{version}} is up to date!": "Qwen Code {{version}} \u5DF2\u662F\u6700\u65B0\uFF01",
|
|
1720
|
-
"Failed to check for updates. Please check your network or registry configuration.": "\u6AA2\u67E5\u66F4\u65B0\u5931\u6557\u3002\u8ACB\u6AA2\u67E5\u7DB2\u8DEF\u6216 registry \u8A2D\u5B9A\u3002",
|
|
1720
|
+
"Failed to check for updates ({{reason}}). Please check your network or registry configuration.": "\u6AA2\u67E5\u66F4\u65B0\u5931\u6557\uFF08{{reason}}\uFF09\u3002\u8ACB\u6AA2\u67E5\u7DB2\u8DEF\u6216 registry \u8A2D\u5B9A\u3002",
|
|
1721
|
+
"Update check skipped ({{reason}}) \u2014 run /update to retry.": "\u5DF2\u7565\u904E\u66F4\u65B0\u6AA2\u67E5\uFF08{{reason}}\uFF09\u2014 \u53EF\u57F7\u884C /update \u91CD\u8A66\u3002",
|
|
1722
|
+
"registry did not respond within {{seconds}}s": "registry \u5728 {{seconds}} \u79D2\u5167\u672A\u56DE\u61C9",
|
|
1723
|
+
"registry unreachable": "registry \u7121\u6CD5\u9023\u7DDA",
|
|
1724
|
+
"registry error": "registry \u932F\u8AA4",
|
|
1721
1725
|
"Unable to check for updates: {{reason}}": "\u7121\u6CD5\u6AA2\u67E5\u66F4\u65B0\uFF1A{{reason}}",
|
|
1722
1726
|
"Update successful! The new version will be used on your next run.": "\u66F4\u65B0\u6210\u529F\uFF01\u65B0\u7248\u672C\u5C07\u5728\u4E0B\u6B21\u57F7\u884C\u6642\u751F\u6548\u3002",
|
|
1723
1727
|
"Update downloaded. It will be applied after you exit this session.": "\u66F4\u65B0\u5DF2\u4E0B\u8F09\u3002\u5C07\u5728\u7D50\u675F\u76EE\u524D\u5DE5\u4F5C\u968E\u6BB5\u5F8C\u5957\u7528\u3002",
|
|
@@ -1884,7 +1884,11 @@ var zh_default = {
|
|
|
1884
1884
|
"Qwen Code update available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u53EF\u7528\u66F4\u65B0\uFF01{{current}} \u2192 {{latest}}",
|
|
1885
1885
|
"A new version of Qwen Code is available! {{current}} \u2192 {{latest}}": "Qwen Code \u6709\u65B0\u7248\u672C\u53EF\u7528\uFF01{{current}} \u2192 {{latest}}",
|
|
1886
1886
|
"Qwen Code {{version}} is up to date!": "Qwen Code {{version}} \u5DF2\u662F\u6700\u65B0\uFF01",
|
|
1887
|
-
"Failed to check for updates. Please check your network or registry configuration.": "\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216 registry \u914D\u7F6E\u3002",
|
|
1887
|
+
"Failed to check for updates ({{reason}}). Please check your network or registry configuration.": "\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{{reason}}\uFF09\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216 registry \u914D\u7F6E\u3002",
|
|
1888
|
+
"Update check skipped ({{reason}}) \u2014 run /update to retry.": "\u5DF2\u8DF3\u8FC7\u66F4\u65B0\u68C0\u67E5\uFF08{{reason}}\uFF09\u2014 \u53EF\u8FD0\u884C /update \u91CD\u8BD5\u3002",
|
|
1889
|
+
"registry did not respond within {{seconds}}s": "registry \u5728 {{seconds}} \u79D2\u5185\u672A\u54CD\u5E94",
|
|
1890
|
+
"registry unreachable": "registry \u65E0\u6CD5\u8FDE\u63A5",
|
|
1891
|
+
"registry error": "registry \u9519\u8BEF",
|
|
1888
1892
|
"Unable to check for updates: {{reason}}": "\u65E0\u6CD5\u68C0\u67E5\u66F4\u65B0\uFF1A{{reason}}",
|
|
1889
1893
|
"Update successful! The new version will be used on your next run.": "\u66F4\u65B0\u6210\u529F\uFF01\u65B0\u7248\u672C\u5C06\u5728\u4E0B\u6B21\u8FD0\u884C\u65F6\u751F\u6548\u3002",
|
|
1890
1894
|
"Update downloaded. It will be applied after you exit this session.": "\u66F4\u65B0\u5DF2\u4E0B\u8F7D\u3002\u5C06\u5728\u9000\u51FA\u5F53\u524D\u4F1A\u8BDD\u540E\u5E94\u7528\u3002",
|
package/cli-entry.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
/**
|
|
10
10
|
* Production bin entry wrapper.
|
|
11
11
|
*
|
|
12
|
-
* For most commands: launches
|
|
12
|
+
* For most commands: launches the bundled CLI with --expose-gc so that
|
|
13
13
|
* global.gc() is available for the memory-pressure monitor's critical-tier
|
|
14
14
|
* cleanup.
|
|
15
15
|
*
|
|
@@ -60,13 +60,150 @@ if (isTopLevelVersion && process.env['CLI_VERSION']) {
|
|
|
60
60
|
process.exit(0);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
const { existsSync, realpathSync } = await import(
|
|
63
|
+
const { existsSync, readFileSync, realpathSync, statSync } = await import(
|
|
64
|
+
'node:fs'
|
|
65
|
+
);
|
|
66
|
+
const { createHash } = await import('node:crypto');
|
|
67
|
+
const { homedir, tmpdir } = await import('node:os');
|
|
68
|
+
const { parseEnv } = await import('node:util');
|
|
64
69
|
const { fileURLToPath, pathToFileURL } = await import('node:url');
|
|
65
70
|
const { delimiter, dirname, join, parse, resolve, sep } = await import(
|
|
66
71
|
'node:path'
|
|
67
72
|
);
|
|
68
73
|
|
|
69
74
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
75
|
+
const currentEntryPath = realpathSync(fileURLToPath(import.meta.url));
|
|
76
|
+
|
|
77
|
+
function getHomeDir() {
|
|
78
|
+
try {
|
|
79
|
+
return homedir() || tmpdir();
|
|
80
|
+
} catch {
|
|
81
|
+
return tmpdir();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function resolveQwenHome() {
|
|
86
|
+
const configured = process.env['QWEN_HOME'];
|
|
87
|
+
if (!configured) return join(getHomeDir(), '.qwen');
|
|
88
|
+
if (configured === '~') return getHomeDir();
|
|
89
|
+
if (configured.startsWith('~/') || configured.startsWith('~\\')) {
|
|
90
|
+
return join(
|
|
91
|
+
getHomeDir(),
|
|
92
|
+
...configured
|
|
93
|
+
.slice(2)
|
|
94
|
+
.split(/[/\\]+/)
|
|
95
|
+
.filter(Boolean),
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
return resolve(configured);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function preResolveQwenHome() {
|
|
102
|
+
if (Object.hasOwn(process.env, 'QWEN_HOME')) return;
|
|
103
|
+
const home = getHomeDir();
|
|
104
|
+
for (const candidate of [join(home, '.qwen', '.env'), join(home, '.env')]) {
|
|
105
|
+
try {
|
|
106
|
+
const source = readFileSync(candidate, 'utf8')
|
|
107
|
+
.replace(/^\uFEFF/, '')
|
|
108
|
+
.replace(/^(\s*(?:export\s+)?QWEN_HOME):[^\S\r\n]+/gm, '$1=');
|
|
109
|
+
const configured = parseEnv(source)['QWEN_HOME'];
|
|
110
|
+
if (configured) {
|
|
111
|
+
process.env['QWEN_HOME'] = configured;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
} catch {
|
|
115
|
+
// Match the CLI's quiet handling of missing or invalid home env files.
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
delete process.env['QWEN_CODE_MANAGED_NPM_UPDATE'];
|
|
121
|
+
preResolveQwenHome();
|
|
122
|
+
|
|
123
|
+
function getManagedNpmPin() {
|
|
124
|
+
try {
|
|
125
|
+
const pin = JSON.parse(process.env['QWEN_CODE_MANAGED_NPM_PIN'] ?? '');
|
|
126
|
+
if (pin.bootstrap !== currentEntryPath) return undefined;
|
|
127
|
+
if (
|
|
128
|
+
typeof pin.updateRoot !== 'string' ||
|
|
129
|
+
resolve(pin.updateRoot) !== pin.updateRoot
|
|
130
|
+
) {
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
if (pin.version === null) {
|
|
134
|
+
return { version: null, updateRoot: pin.updateRoot };
|
|
135
|
+
}
|
|
136
|
+
return typeof pin.version === 'string' &&
|
|
137
|
+
/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(
|
|
138
|
+
pin.version,
|
|
139
|
+
)
|
|
140
|
+
? { version: pin.version, updateRoot: pin.updateRoot }
|
|
141
|
+
: undefined;
|
|
142
|
+
} catch {
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const managedNpmPin = getManagedNpmPin();
|
|
148
|
+
const managedNpmUpdateRoot =
|
|
149
|
+
managedNpmPin?.updateRoot ?? join(resolveQwenHome(), 'updates', 'npm');
|
|
150
|
+
|
|
151
|
+
function getManagedNpmInstallation() {
|
|
152
|
+
try {
|
|
153
|
+
if (managedNpmPin?.version === null) return undefined;
|
|
154
|
+
const launcherRoot = join(
|
|
155
|
+
managedNpmUpdateRoot,
|
|
156
|
+
createHash('sha256').update(currentEntryPath).digest('hex').slice(0, 16),
|
|
157
|
+
);
|
|
158
|
+
let version = managedNpmPin?.version;
|
|
159
|
+
if (version === undefined) {
|
|
160
|
+
const active = JSON.parse(
|
|
161
|
+
readFileSync(join(launcherRoot, 'active.json'), 'utf8'),
|
|
162
|
+
);
|
|
163
|
+
const basePackageJsonPath = [
|
|
164
|
+
join(__dirname, 'package.json'),
|
|
165
|
+
join(__dirname, '..', 'package.json'),
|
|
166
|
+
].find((candidate) => existsSync(candidate));
|
|
167
|
+
if (!basePackageJsonPath) return undefined;
|
|
168
|
+
const basePackage = JSON.parse(readFileSync(basePackageJsonPath, 'utf8'));
|
|
169
|
+
if (
|
|
170
|
+
typeof active.version !== 'string' ||
|
|
171
|
+
!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(
|
|
172
|
+
active.version,
|
|
173
|
+
) ||
|
|
174
|
+
typeof active.bootstrap !== 'string' ||
|
|
175
|
+
realpathSync(active.bootstrap) !== currentEntryPath ||
|
|
176
|
+
active.baseVersion !== basePackage.version ||
|
|
177
|
+
active.bootstrapCtimeMs !== statSync(currentEntryPath).ctimeMs
|
|
178
|
+
) {
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
version = active.version;
|
|
182
|
+
}
|
|
183
|
+
const packageRoot = join(
|
|
184
|
+
launcherRoot,
|
|
185
|
+
'versions',
|
|
186
|
+
version,
|
|
187
|
+
'node_modules',
|
|
188
|
+
'@qwen-code',
|
|
189
|
+
'qwen-code',
|
|
190
|
+
);
|
|
191
|
+
const packageJsonPath = join(packageRoot, 'package.json');
|
|
192
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
193
|
+
const cliPath = join(packageRoot, 'cli.js');
|
|
194
|
+
if (
|
|
195
|
+
pkg.name !== '@qwen-code/qwen-code' ||
|
|
196
|
+
pkg.version !== version ||
|
|
197
|
+
!existsSync(cliPath)
|
|
198
|
+
) {
|
|
199
|
+
return undefined;
|
|
200
|
+
}
|
|
201
|
+
process.env['QWEN_CODE_MANAGED_NPM_UPDATE'] = 'true';
|
|
202
|
+
return { cliPath, packageJsonPath, version };
|
|
203
|
+
} catch {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
70
207
|
|
|
71
208
|
// The entry a subprocess should call to reach THIS build.
|
|
72
209
|
//
|
|
@@ -81,9 +218,9 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
81
218
|
// Assignment, not `||=`: an inherited value is another session's CLI — an outer
|
|
82
219
|
// qwen shelling out to this one — and honouring it re-creates the exact skew above,
|
|
83
220
|
// one level up. Each entry stamps itself, so nested sessions each call their own
|
|
84
|
-
// build.
|
|
85
|
-
//
|
|
86
|
-
//
|
|
221
|
+
// build. The managed-version pin keeps nested calls on the running session's build
|
|
222
|
+
// even if a background update changes the active pointer. A post-update relaunch
|
|
223
|
+
// clears that pin so the launcher's wrapper selects the newly active build.
|
|
87
224
|
//
|
|
88
225
|
// One exception, and it points the SAME way: the standalone package launches this
|
|
89
226
|
// file through a shim (`bin/qwen`) that selects the BUNDLED Node — the host may
|
|
@@ -98,19 +235,33 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
98
235
|
// wearing this one's stamp.
|
|
99
236
|
const standaloneShim = process.env['QWEN_CODE_LAUNCHER_PATH'];
|
|
100
237
|
delete process.env['QWEN_CODE_LAUNCHER_PATH'];
|
|
101
|
-
process.env['QWEN_CODE_CLI'] =
|
|
102
|
-
standaloneShim && existsSync(standaloneShim)
|
|
103
|
-
? standaloneShim
|
|
104
|
-
: fileURLToPath(import.meta.url);
|
|
105
238
|
|
|
239
|
+
const managedNpmInstallation = getManagedNpmInstallation();
|
|
240
|
+
const validStandaloneShim =
|
|
241
|
+
standaloneShim && existsSync(standaloneShim) ? standaloneShim : undefined;
|
|
242
|
+
process.env['QWEN_CODE_CLI'] =
|
|
243
|
+
validStandaloneShim ?? fileURLToPath(import.meta.url);
|
|
244
|
+
if (validStandaloneShim) {
|
|
245
|
+
delete process.env['QWEN_CODE_MANAGED_NPM_PIN'];
|
|
246
|
+
delete process.env['QWEN_CODE_MANAGED_NPM_ROOT'];
|
|
247
|
+
} else {
|
|
248
|
+
process.env['QWEN_CODE_MANAGED_NPM_ROOT'] = managedNpmUpdateRoot;
|
|
249
|
+
process.env['QWEN_CODE_MANAGED_NPM_PIN'] = JSON.stringify({
|
|
250
|
+
bootstrap: currentEntryPath,
|
|
251
|
+
version: managedNpmInstallation?.version ?? null,
|
|
252
|
+
updateRoot: managedNpmUpdateRoot,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
106
255
|
const cliPathCandidates = [
|
|
256
|
+
managedNpmInstallation?.cliPath,
|
|
107
257
|
join(__dirname, 'cli.js'),
|
|
108
258
|
join(__dirname, '..', 'dist', 'cli.js'),
|
|
109
|
-
];
|
|
259
|
+
].filter(Boolean);
|
|
110
260
|
const packageJsonPathCandidates = [
|
|
261
|
+
managedNpmInstallation?.packageJsonPath,
|
|
111
262
|
join(__dirname, 'package.json'),
|
|
112
263
|
join(__dirname, '..', 'package.json'),
|
|
113
|
-
];
|
|
264
|
+
].filter(Boolean);
|
|
114
265
|
const cliPath =
|
|
115
266
|
cliPathCandidates.find((candidate) => existsSync(candidate)) ??
|
|
116
267
|
cliPathCandidates[0];
|
|
@@ -193,7 +344,7 @@ if (isInProcessFastPath()) {
|
|
|
193
344
|
} else {
|
|
194
345
|
if (!launcher) {
|
|
195
346
|
process.stderr.write(
|
|
196
|
-
'Update
|
|
347
|
+
'Update successful! The new version will be used on your next run.\n',
|
|
197
348
|
);
|
|
198
349
|
process.exit(0);
|
|
199
350
|
}
|
|
@@ -202,6 +353,7 @@ if (isInProcessFastPath()) {
|
|
|
202
353
|
QWEN_CODE_RELAUNCH_ARGS: JSON.stringify(cliArgs),
|
|
203
354
|
QWEN_CODE_SKIP_UPDATE_CHECK_ONCE: 'true',
|
|
204
355
|
};
|
|
356
|
+
delete relaunchEnv['QWEN_CODE_MANAGED_NPM_PIN'];
|
|
205
357
|
const relaunchResult =
|
|
206
358
|
process.platform === 'win32' && launcher.endsWith('.cmd')
|
|
207
359
|
? spawnSync(
|
package/cli.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
initCpuProfiler
|
|
5
|
-
} from "./chunks/chunk-
|
|
6
|
-
import "./chunks/chunk-FLTN6NRU.js";
|
|
5
|
+
} from "./chunks/chunk-LU3RXCM7.js";
|
|
7
6
|
import {
|
|
8
7
|
initStartupProfiler
|
|
9
8
|
} from "./chunks/chunk-QSWDGAIC.js";
|
|
10
9
|
import {
|
|
11
10
|
normalizeServeFastPathArgv
|
|
12
11
|
} from "./chunks/chunk-Q7YDKOGY.js";
|
|
12
|
+
import "./chunks/chunk-O4OT3DM3.js";
|
|
13
13
|
import {
|
|
14
14
|
init_esbuild_shims
|
|
15
15
|
} from "./chunks/chunk-5O2XNYP6.js";
|
|
@@ -152,7 +152,7 @@ async function buildTopLevelHelpParser() {
|
|
|
152
152
|
const { default: yargs } = await import("./chunks/yargs-6H2AUULL.js");
|
|
153
153
|
const parser = yargs([]).scriptName("qwen").usage(
|
|
154
154
|
"Usage: qwen [options] [command]\n\nQwen Code - Launch an interactive CLI, use -p/--prompt for non-interactive mode"
|
|
155
|
-
).version("0.20.
|
|
155
|
+
).version("0.20.2-gdpval-vl-agent.0").alias("v", "version").help().alias("h", "help").strict().demandCommand(0, 0);
|
|
156
156
|
for (const [option, config] of TOP_LEVEL_HELP_OPTIONS) {
|
|
157
157
|
parser.option(option, config);
|
|
158
158
|
}
|
|
@@ -225,11 +225,11 @@ function printMcpHelp() {
|
|
|
225
225
|
}
|
|
226
226
|
__name(printMcpHelp, "printMcpHelp");
|
|
227
227
|
async function printBootstrapVersion() {
|
|
228
|
-
if ("0.20.
|
|
229
|
-
writeStdoutLine("0.20.
|
|
228
|
+
if ("0.20.2-gdpval-vl-agent.0") {
|
|
229
|
+
writeStdoutLine("0.20.2-gdpval-vl-agent.0");
|
|
230
230
|
return;
|
|
231
231
|
}
|
|
232
|
-
const { getCliVersion } = await import("./chunks/version-
|
|
232
|
+
const { getCliVersion } = await import("./chunks/version-ZCEUV5DO.js");
|
|
233
233
|
writeStdoutLine(await getCliVersion());
|
|
234
234
|
}
|
|
235
235
|
__name(printBootstrapVersion, "printBootstrapVersion");
|
|
@@ -242,7 +242,7 @@ async function runMcpFastPath(rawArgv) {
|
|
|
242
242
|
}
|
|
243
243
|
const [{ default: yargsInstance }, { mcpCommand }] = await Promise.all([
|
|
244
244
|
import("./chunks/yargs-6H2AUULL.js"),
|
|
245
|
-
import("./chunks/mcp-
|
|
245
|
+
import("./chunks/mcp-NHXKZRRP.js")
|
|
246
246
|
]);
|
|
247
247
|
const parser = yargsInstance([]).scriptName("qwen").command(mcpCommand).version(false).help().alias("h", "help").strict().strictCommands().demandCommand(1, "You need at least one command before continuing.").fail((message, error, yargs) => {
|
|
248
248
|
writeStderrLine(message || error?.message || "Unknown argument error");
|
|
@@ -293,6 +293,13 @@ async function parseYargsCommand(parser, argv) {
|
|
|
293
293
|
}
|
|
294
294
|
__name(parseYargsCommand, "parseYargsCommand");
|
|
295
295
|
async function runCliEntry(rawArgv = process.argv.slice(2)) {
|
|
296
|
+
const managedUpdateVersion = process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
|
|
297
|
+
if (managedUpdateVersion) {
|
|
298
|
+
delete process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
|
|
299
|
+
const { installManagedNpmUpdate } = await import("./chunks/managed-npm-update-EBKNOG37.js");
|
|
300
|
+
await installManagedNpmUpdate(managedUpdateVersion);
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
296
303
|
const argv = normalizeServeFastPathArgv(rawArgv);
|
|
297
304
|
const route = resolveBootstrapRoute(argv);
|
|
298
305
|
if (route === "version") {
|
|
@@ -300,7 +307,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
|
|
|
300
307
|
return;
|
|
301
308
|
}
|
|
302
309
|
if (route === "serve") {
|
|
303
|
-
const { tryRunServeFastPath } = await import("./chunks/fast-path-
|
|
310
|
+
const { tryRunServeFastPath } = await import("./chunks/fast-path-6Z7RW5J5.js");
|
|
304
311
|
if (await tryRunServeFastPath(argv)) {
|
|
305
312
|
return;
|
|
306
313
|
}
|
|
@@ -316,7 +323,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
|
|
|
316
323
|
) ? await import("./chunks/acp-startup-profiler-N3RHHXJ3.js") : void 0;
|
|
317
324
|
acpStartupProfiler?.initializeAcpStartupProfiler();
|
|
318
325
|
acpStartupProfiler?.markAcpStartup("geminiImportStart");
|
|
319
|
-
const { main } = await import("./chunks/gemini-
|
|
326
|
+
const { main } = await import("./chunks/gemini-XLGLUGSU.js");
|
|
320
327
|
acpStartupProfiler?.markAcpStartup("geminiImportEnd");
|
|
321
328
|
await main();
|
|
322
329
|
}
|
|
@@ -346,8 +353,8 @@ function isExpectedPtyRaceError(error) {
|
|
|
346
353
|
__name(isExpectedPtyRaceError, "isExpectedPtyRaceError");
|
|
347
354
|
async function handleCriticalError(error) {
|
|
348
355
|
const [{ FatalError }, { AlreadyReportedError }] = await Promise.all([
|
|
349
|
-
import("./chunks/src-
|
|
350
|
-
import("./chunks/errors-
|
|
356
|
+
import("./chunks/src-5BPBNQ5S.js"),
|
|
357
|
+
import("./chunks/errors-2OCY23IC.js")
|
|
351
358
|
]);
|
|
352
359
|
if (error instanceof FatalError) {
|
|
353
360
|
let errorMessage = error.message;
|