@qwen-code/qwen-code 0.19.11 → 0.19.12-preview.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/batch/SKILL.md +6 -0
- package/bundled/qc-helper/docs/configuration/model-providers.md +11 -0
- package/bundled/qc-helper/docs/configuration/settings.md +11 -10
- package/bundled/qc-helper/docs/features/channels/overview.md +66 -11
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -8
- package/bundled/qc-helper/docs/features/worktree.md +2 -2
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
- package/bundled/qc-helper/docs/qwen-serve.md +102 -40
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/SKILL.md +60 -49
- package/bundled/simplify/SKILL.md +1 -1
- package/chunks/{MaxSizedBox-L6TGYDM3.js → MaxSizedBox-3KIWAU6Z.js} +31 -32
- package/chunks/{StandaloneSessionPicker-AKEQHU5P.js → StandaloneSessionPicker-TF626NO7.js} +45 -46
- package/chunks/acp-startup-profiler-N3RHHXJ3.js +25 -0
- package/chunks/{acpAgent-PTNBGJDN.js → acpAgent-JDVJXVBO.js} +1863 -507
- package/chunks/{agent-AJOMOZPJ.js → agent-BONWC4VY.js} +26 -27
- package/chunks/{agent-headless-CYKOMAXS.js → agent-headless-H7HKMGLZ.js} +26 -27
- package/chunks/{anthropicContentGenerator-HBRXJSP4.js → anthropicContentGenerator-ZZRGFEES.js} +35 -12
- package/chunks/{artifact-tool-MIZLXBLF.js → artifact-tool-PHO5XEGZ.js} +5 -5
- package/chunks/{askUserQuestion-XMJVPNWM.js → askUserQuestion-CEPBT47X.js} +2 -47
- package/chunks/{bridge-QKISWPCI.js → bridge-ATN2TLWJ.js} +31 -32
- package/chunks/{ca-CODEN7TD.js → ca-2SL2BXTK.js} +3 -2
- package/chunks/{channel-worker-group-SOUWTFHC.js → channel-worker-group-S3H5QHTI.js} +4 -4
- package/chunks/{channel-worker-manager-LOVSV3WW.js → channel-worker-manager-ZJ4HTMO2.js} +4 -4
- package/chunks/{channel-worker-supervisor-XW6MHJBQ.js → channel-worker-supervisor-JA6VZ5V5.js} +3 -3
- package/chunks/{chunk-ZIXOTAPZ.js → chunk-2DZ7E27L.js} +92 -3
- package/chunks/{chunk-L5U3ELZX.js → chunk-335ECZTA.js} +1 -1
- package/chunks/{chunk-2FO5GFKZ.js → chunk-3DJY4IFO.js} +1 -1
- package/chunks/{chunk-4AGTGMCQ.js → chunk-3PE7OY2G.js} +12 -12
- package/chunks/{chunk-QOTQH4CB.js → chunk-4AGBO6RB.js} +27 -10
- package/chunks/{chunk-Y66VOBRP.js → chunk-4CA4WUMS.js} +2 -2
- package/chunks/{chunk-LQIDP6K5.js → chunk-4CHDYDG3.js} +1 -1
- package/chunks/{chunk-574PTLMU.js → chunk-4OVECYBM.js} +407 -92
- package/chunks/{chunk-TV6K2FB4.js → chunk-4RPARQ5D.js} +2 -2
- package/chunks/{chunk-TL4R5TRK.js → chunk-4W55BHOC.js} +2 -2
- package/chunks/{chunk-RCEEXIOO.js → chunk-4XCVGEEX.js} +3 -3
- package/chunks/{chunk-3DWIFU7L.js → chunk-53UMEONK.js} +1 -1
- package/chunks/{chunk-AU3MFJPL.js → chunk-54KPEDM2.js} +8 -8
- package/chunks/{chunk-T76DGHGG.js → chunk-66F4IJ4L.js} +5 -5
- package/chunks/{chunk-YLSSEUAM.js → chunk-675SVDMD.js} +354 -278
- package/chunks/{chunk-NVTQZXR7.js → chunk-6QGZVKOO.js} +91 -52
- package/chunks/{chunk-NJOFRXTM.js → chunk-6TDA4EVC.js} +4200 -3450
- package/chunks/{chunk-BYH2JRK3.js → chunk-6WZZHJSZ.js} +5 -5
- package/chunks/{chunk-7X7TEQNX.js → chunk-76BFY7AF.js} +13 -0
- package/chunks/chunk-7KS72E2N.js +883 -0
- package/chunks/{chunk-CF5VJRGC.js → chunk-7LMAKIWE.js} +1 -1
- package/chunks/{chunk-WMNXXRGL.js → chunk-7O7WZH7N.js} +31 -31
- package/chunks/{chunk-7ZYHLN67.js → chunk-7OZGMFHC.js} +26 -75
- package/chunks/{chunk-6WPJRYLZ.js → chunk-7SX6WZNO.js} +3 -3
- package/chunks/{chunk-JGUT3LWZ.js → chunk-ANRANWVE.js} +4 -1
- package/chunks/{chunk-JD44PNGJ.js → chunk-AWOU24F6.js} +10 -5
- package/chunks/{chunk-6WGZDD67.js → chunk-BEFQGC6H.js} +2 -2
- package/chunks/{chunk-KXYJPRT5.js → chunk-BEZPRKD3.js} +28 -6
- package/chunks/{chunk-FYQ22K62.js → chunk-CHVH4DVN.js} +6 -5
- package/chunks/{chunk-LS56TX3M.js → chunk-CMHJEUVB.js} +1 -1
- package/chunks/{chunk-FXKOAEXP.js → chunk-CXWUXRD5.js} +14 -14
- package/chunks/{chunk-CAHY5ABC.js → chunk-DULSE2SH.js} +1 -1
- package/chunks/{chunk-SQ5BK3GO.js → chunk-DYUPBU7H.js} +1 -1
- package/chunks/{chunk-FNX3LGAK.js → chunk-E655RDRL.js} +1 -1
- package/chunks/{chunk-N5VIZTND.js → chunk-EWPLL4OT.js} +1 -1
- package/chunks/{chunk-FSA7ERJ2.js → chunk-F2RR4HO2.js} +1 -1
- package/chunks/{chunk-S63Z5V42.js → chunk-F2YCCUXI.js} +4 -4
- package/chunks/{chunk-3AYLDB6B.js → chunk-FEZXQXW2.js} +1 -1
- package/chunks/{chunk-OWT2CAEQ.js → chunk-GEHSF7MS.js} +105 -12
- package/chunks/{chunk-LXLTBIDP.js → chunk-HCCR43AY.js} +1 -1
- package/chunks/{chunk-7NMU22Q3.js → chunk-HQ7MDVBO.js} +18 -7
- package/chunks/{chunk-KSZKSE23.js → chunk-HVWPSGDY.js} +1 -1
- package/chunks/{chunk-YFVO2HOR.js → chunk-HZXU6YZW.js} +5 -5
- package/chunks/{chunk-HASK4LMI.js → chunk-IKLWU6YS.js} +13 -6
- package/chunks/{chunk-GNBBAQ6J.js → chunk-ILQ42UG6.js} +111 -40
- package/chunks/{chunk-THXDQSTA.js → chunk-IQRQVPGN.js} +49 -154
- package/chunks/{chunk-SPJQO2CE.js → chunk-J2MKYJKZ.js} +2 -2
- package/chunks/{chunk-SUARMD4Q.js → chunk-J6NT5YTN.js} +28 -2
- package/chunks/{chunk-TYLOFD2U.js → chunk-JCJPZMJV.js} +1 -1
- package/chunks/{chunk-BYB3GF2T.js → chunk-JCYMQU5F.js} +133 -6
- package/chunks/{chunk-6EDDYPI3.js → chunk-JUNVFQVY.js} +4 -4
- package/chunks/{chunk-CH2XVB47.js → chunk-K7P34F2J.js} +3 -3
- package/chunks/{chunk-5VWYKIMW.js → chunk-KANTXY7B.js} +2 -2
- package/chunks/{chunk-K7VD4XLT.js → chunk-LHEQDKAR.js} +1 -1
- package/chunks/{chunk-A2HWMJVO.js → chunk-LKR7QQ63.js} +3 -3
- package/chunks/{chunk-4HUDDSO5.js → chunk-LLIGYAQU.js} +4 -4
- package/chunks/{chunk-5Z452MMD.js → chunk-LODZMRXC.js} +154 -83
- package/chunks/{chunk-FBU7WRZI.js → chunk-LPHGXXZX.js} +6 -1
- package/chunks/{chunk-CPFIQVZJ.js → chunk-LYFDJTXE.js} +1 -1
- package/chunks/{chunk-TIOE2OPE.js → chunk-MCYZTKBV.js} +2 -2
- package/chunks/{chunk-ZQIYGQCG.js → chunk-MHEZV3OY.js} +506 -143
- package/chunks/{chunk-JWICTOXS.js → chunk-NGTQA57Y.js} +2 -2
- package/chunks/{chunk-5CNYZ7TN.js → chunk-NJQPQ4IO.js} +7 -7
- package/chunks/chunk-NSZJQACR.js +45 -0
- package/chunks/{chunk-DOPUYNXO.js → chunk-NUHSLBJZ.js} +7 -7
- package/chunks/{chunk-CITWNIXJ.js → chunk-NVUGS23Y.js} +5 -5
- package/chunks/{chunk-2Z5UX4KI.js → chunk-OSSDHJDU.js} +1 -1
- package/chunks/{chunk-YUZI3WAC.js → chunk-OWAK7LMW.js} +7 -0
- package/chunks/{chunk-Y3KFTWVX.js → chunk-OZWJAFFE.js} +6 -6
- package/chunks/{chunk-YGYSMY2R.js → chunk-PSISZNIT.js} +1629 -1142
- package/chunks/{chunk-4ROQY23C.js → chunk-PTXVHS2O.js} +7 -7
- package/chunks/{chunk-OKAIGAYW.js → chunk-QGONRHUS.js} +3 -3
- package/chunks/{chunk-PZL23GTM.js → chunk-QR6U5QPP.js} +8 -0
- package/chunks/chunk-QSG4ZFG4.js +257 -0
- package/chunks/{chunk-BXBDC476.js → chunk-R32BTEZY.js} +5 -5
- package/chunks/{chunk-AVEOWVOM.js → chunk-R3VWUU2E.js} +1 -1
- package/chunks/{chunk-RP5R7MB6.js → chunk-R4RIMOJL.js} +12 -12
- package/chunks/{chunk-ARKANCNX.js → chunk-SGPFJMRP.js} +1 -1
- package/chunks/{chunk-3M75MSVA.js → chunk-SMASS3CY.js} +1 -1
- package/chunks/{chunk-4IJMTYCB.js → chunk-SNONG66P.js} +818 -29
- package/chunks/chunk-TDKQP3M6.js +201 -0
- package/chunks/{chunk-VFX7EZIR.js → chunk-TFV3XVAZ.js} +8 -1
- package/chunks/{chunk-4LD5APFL.js → chunk-TYQMGACW.js} +1 -0
- package/chunks/{chunk-7NFB7LBQ.js → chunk-UE5TZ55T.js} +8 -0
- package/chunks/{chunk-F333XEAU.js → chunk-UOA2IHRI.js} +4 -3
- package/chunks/{chunk-VRR65QYW.js → chunk-V4PCIS25.js} +5 -1
- package/chunks/{chunk-WIEO4CWB.js → chunk-VAJS2E2D.js} +1 -1
- package/chunks/{chunk-GLNHPRZT.js → chunk-W4DFAUAO.js} +1 -1
- package/chunks/{chunk-STZQCNN3.js → chunk-W7H223ZZ.js} +1 -1
- package/chunks/{chunk-6Y6ORE2G.js → chunk-WACI4VES.js} +288 -20
- package/chunks/{chunk-WTNZ6DXB.js → chunk-WEPXQKGP.js} +1 -1
- package/chunks/{chunk-4BJVSIS3.js → chunk-WHQNBBWW.js} +2 -2
- package/chunks/{chunk-QDJ2R4CM.js → chunk-WTHRMVKB.js} +3 -3
- package/chunks/{chunk-L4Y55KIS.js → chunk-X6YQWCIJ.js} +1 -1
- package/chunks/{chunk-Q6TUALBE.js → chunk-XAAEDML2.js} +1 -1
- package/chunks/{chunk-BUAXJVNP.js → chunk-XACBIZJB.js} +3 -3
- package/chunks/{chunk-2OG646IN.js → chunk-XFJU7SVP.js} +4 -4
- package/chunks/{chunk-KKRTYONM.js → chunk-XSPFQQRE.js} +3 -3
- package/chunks/{chunk-V2DXTLUE.js → chunk-Y5UDBQYF.js} +3 -3
- package/chunks/{chunk-MQOVXZAF.js → chunk-YN2I5I42.js} +529 -61
- package/chunks/{chunk-FMNYGWOD.js → chunk-Z4ZCVYJ5.js} +14 -8
- package/chunks/{chunk-SY7NEYX4.js → chunk-ZFHHBRRA.js} +2 -2
- package/chunks/{chunk-QYG4BY6Q.js → chunk-ZPVGEMVC.js} +1 -1
- package/chunks/{computer-use-VZZMJEQ7.js → computer-use-UY4A72X7.js} +26 -27
- package/chunks/{config-utils-IQQT3GCI.js → config-utils-KWTRFP7D.js} +3 -3
- package/chunks/{contextCommand-PORKIZSY.js → contextCommand-3DZ2SVH6.js} +30 -31
- package/chunks/{create-sub-session-EAB2U5XW.js → create-sub-session-DIJOV6HV.js} +2 -2
- package/chunks/{create-sub-session-XVFKHAFW.js → create-sub-session-OT7WXLDO.js} +27 -28
- package/chunks/{cron-create-GMVKSXZT.js → cron-create-X462ERYA.js} +4 -4
- package/chunks/{cron-delete-VDZKUAVK.js → cron-delete-SL5UJUM3.js} +4 -4
- package/chunks/{cron-list-UG7C7RAR.js → cron-list-3MD6SVXI.js} +4 -4
- package/chunks/{daemon-IHR6WSPB.js → daemon-ZW6LHOXT.js} +91 -14
- package/chunks/{daemon-status-provider-ABLBA3UJ.js → daemon-status-provider-GTZOYSBO.js} +35 -36
- package/chunks/{de-NOXPCSYN.js → de-I7ZIYXZC.js} +3 -2
- package/chunks/{dist-PX2ERZ6I.js → dist-HCUUS6IH.js} +2 -2
- package/chunks/{dist-VYWUKURL.js → dist-O2IP3G5D.js} +1 -1
- package/chunks/{dist-GXJVCOS7.js → dist-RZBJT5O2.js} +2 -1
- package/chunks/{dist-V2YVLYOW.js → dist-Y54RURGT.js} +3 -1
- package/chunks/{dist-DOPL5LSQ.js → dist-YTPTCUAD.js} +1 -1
- package/chunks/{dist-4WCQEZIN.js → dist-ZJHKKWUD.js} +1 -1
- package/chunks/{earlyInputCapture-DJCU5SPU.js → earlyInputCapture-GGWVGBZ7.js} +27 -28
- package/chunks/{edit-O4VV5AO6.js → edit-JN467GIR.js} +27 -28
- package/chunks/{en-JFVULHTB.js → en-XE34GKAA.js} +7 -3
- package/chunks/{enter-worktree-XQYDDI2I.js → enter-worktree-MMO4VBQE.js} +26 -27
- package/chunks/{enterPlanMode-CESVMQBV.js → enterPlanMode-BRZOG4DB.js} +27 -30
- package/chunks/{environment-5KXOLZNR.js → environment-LOCDCWMZ.js} +29 -30
- package/chunks/{errors-EBUTCBAQ.js → errors-XXSL5HGG.js} +29 -30
- package/chunks/{exit-worktree-MWGNSPNX.js → exit-worktree-UD7PI5H5.js} +26 -27
- package/chunks/exitPlanMode-EIUETQI6.js +389 -0
- package/chunks/{fast-path-6V73F2T2.js → fast-path-ULGAEUVK.js} +2 -2
- package/chunks/{fr-HVFNU42H.js → fr-X7KDVZIY.js} +3 -2
- package/chunks/{gemini-TEFJZCIZ.js → gemini-KW3APZ4P.js} +133 -80
- package/chunks/{geminiContentGenerator-M56BEXWI.js → geminiContentGenerator-4BQ5QHPR.js} +5 -5
- package/chunks/{glob-DMYFEEAZ.js → glob-FPKAMR6B.js} +32 -28
- package/chunks/{grep-GYE47MD4.js → grep-MOGRCYB4.js} +32 -28
- package/chunks/{handleAutoUpdate-OLUY4L7L.js → handleAutoUpdate-QUMRZZOS.js} +33 -34
- package/chunks/{i18n-462JC7IY.js → i18n-F3W6YUYP.js} +28 -29
- package/chunks/{initializer-Y7WD4D2I.js → initializer-KLU2KAIZ.js} +33 -34
- package/chunks/{installationInfo-I2Z3BKCE.js → installationInfo-P3ZP2SIZ.js} +27 -28
- package/chunks/{ja-PY5AF544.js → ja-2ICT3KXF.js} +3 -2
- package/chunks/{keychain-token-storage-AU22CQI6.js → keychain-token-storage-K23CFKGN.js} +2 -2
- package/chunks/{list-XQ5MSAXP.js → list-4X6D5JD2.js} +35 -36
- package/chunks/{loadedSettingsAdapter-TQOWYE7C.js → loadedSettingsAdapter-446B6WKA.js} +32 -33
- package/chunks/{loop-wakeup-QXWZSCYM.js → loop-wakeup-6H7OENTB.js} +5 -5
- package/chunks/{ls-2OUTG3IZ.js → ls-APTSOOS5.js} +4 -4
- package/chunks/{lsp-4VMNXZW6.js → lsp-HPACPJAN.js} +2 -2
- package/chunks/{mcp-22LLEEVM.js → mcp-JYVOJZOD.js} +32 -33
- package/chunks/{monitor-VKG324X3.js → monitor-KY7YH7TL.js} +26 -27
- package/chunks/nonInteractiveCli-EK35TLVJ.js +129 -0
- package/chunks/{notebook-edit-FJJRBQ3S.js → notebook-edit-IHGW42QK.js} +27 -28
- package/chunks/{openaiContentGenerator-4T2OGTR5.js → openaiContentGenerator-FURUCKQJ.js} +13 -14
- package/chunks/{pidfile-XL3MDCBM.js → pidfile-WKUVXDMR.js} +27 -28
- package/chunks/{processUtils-7UCFN34D.js → processUtils-LHSRN76X.js} +2 -2
- package/chunks/{pt-A3PRQXMU.js → pt-JJ4XPIBP.js} +3 -2
- package/chunks/{qwenContentGenerator-PQUXJDIZ.js → qwenContentGenerator-NRLM7R36.js} +30 -31
- package/chunks/{qwenOAuth2-LEYOU7RU.js → qwenOAuth2-5FNX3AWH.js} +22 -5
- package/chunks/{read-file-3EYQML7E.js → read-file-VLEAEXFP.js} +9 -10
- package/chunks/{read-mcp-resource-JUFHCKSC.js → read-mcp-resource-C6NT52T6.js} +2 -2
- package/chunks/{record-artifact-DWSMBXYY.js → record-artifact-ENCU7QCL.js} +2 -2
- package/chunks/{ripGrep-S6WPGQNA.js → ripGrep-MT23EIDD.js} +26 -27
- package/chunks/{ru-IBCWUTOC.js → ru-STR4KTW7.js} +3 -2
- package/chunks/{run-qwen-serve-NSKBT3HU.js → run-qwen-serve-5HWOQFLI.js} +63 -47
- package/chunks/{runtime-LG5ZZ3VH.js → runtime-6IVKJSLW.js} +38 -37
- package/chunks/{scheduler-PLX3VVTB.js → scheduler-63GJG75U.js} +26 -27
- package/chunks/{send-message-JZ752NWD.js → send-message-5GZ4FX2V.js} +3 -3
- package/chunks/{serve-S2ZLRZZR.js → serve-3LL7RRDP.js} +32 -33
- package/chunks/{server-5ECMV4TM.js → server-AA24QLPA.js} +1672 -615
- package/chunks/{session-ILSONWG4.js → session-LRVCFQQQ.js} +102 -75
- package/chunks/{settings-BOE7WWSA.js → settings-ZX3OKUT4.js} +36 -37
- package/chunks/{shell-VW664JIZ.js → shell-KR3IMYH6.js} +26 -27
- package/chunks/{skill-COHV6625.js → skill-QLM2LSF7.js} +11 -12
- package/chunks/{spawnChannel-5UUR5XOZ.js → spawnChannel-6WFOK3SA.js} +28 -29
- package/chunks/{src-XPKFZ3RN.js → src-ADLNIPHD.js} +101 -72
- package/chunks/{standalone-update-IOOJ2NZQ.js → standalone-update-C54OTJWJ.js} +29 -30
- package/chunks/{startInteractiveUI-3NGJGXXS.js → startInteractiveUI-KFAOS6HC.js} +2342 -1796
- package/chunks/{stdioHelpers-UMY72QRP.js → stdioHelpers-HGIYTWAY.js} +3 -1
- package/chunks/{syntheticOutput-LELY6HAI.js → syntheticOutput-ULOVVLY4.js} +3 -3
- package/chunks/{task-create-QY3BIMNM.js → task-create-DUE2PMNI.js} +7 -7
- package/chunks/{task-list-D2U47WBJ.js → task-list-WVPNX7BZ.js} +5 -5
- package/chunks/{task-stop-N6E5IYLH.js → task-stop-CPEQWOT6.js} +2 -2
- package/chunks/{task-update-HJCQILLB.js → task-update-HY2LNFFB.js} +7 -7
- package/chunks/{team-create-UPLVZQFX.js → team-create-Q5B5M7UD.js} +26 -27
- package/chunks/{team-delete-RCWYDRF4.js → team-delete-JJV6IUOA.js} +5 -5
- package/chunks/{team-plan-approval-F5F432RO.js → team-plan-approval-J55PXNY2.js} +26 -27
- package/chunks/{theme-manager-JJE4BJ67.js → theme-manager-QWTDRPHV.js} +27 -28
- package/chunks/todoWrite-JHHIDOIV.js +358 -0
- package/chunks/{tool-search-LRXI4JLZ.js → tool-search-LSSKWZKH.js} +10 -11
- package/chunks/{total-session-admission-I4DHN6UP.js → total-session-admission-S6ATY5HY.js} +32 -33
- package/chunks/{trustedFolders-SEH7LNX2.js → trustedFolders-CY4TUPDJ.js} +28 -29
- package/chunks/turndown.cjs-FZHGMUTY.js +17670 -0
- package/chunks/{update-relaunch-T6ZKBUA6.js → update-relaunch-IOKOUV3K.js} +6 -6
- package/chunks/{updateCheck-FWLXZPRO.js → updateCheck-YNRFE4V7.js} +30 -31
- package/chunks/{validateNonInterActiveAuth-X6K2VWYT.js → validateNonInterActiveAuth-OXTECS4B.js} +68 -68
- package/chunks/{version-LIFSOGSE.js → version-2CZQQDL5.js} +1 -1
- package/chunks/web-fetch-7QTEGJI5.js +938 -0
- package/chunks/{workflow-NX2DFWGD.js → workflow-G3CZU256.js} +29 -30
- package/chunks/{workspace-providers-status-VYD6M2NE.js → workspace-providers-status-UHQOIPAZ.js} +35 -36
- package/chunks/{workspace-registration-store-2Y6PWOEL.js → workspace-registration-store-5WPCMX4F.js} +1 -1
- package/chunks/{workspace-registry-PKBDBWCA.js → workspace-registry-LAQCRQTH.js} +32 -33
- package/chunks/{workspace-service-HHORUHTS.js → workspace-service-6ZEUJY2Z.js} +38 -39
- package/chunks/{workspace-skills-status-O5Q26LIY.js → workspace-skills-status-YG6OITSM.js} +33 -34
- package/chunks/{write-file-NVAEZ3J2.js → write-file-E7T3PU3B.js} +60 -28
- package/chunks/{zh-PAUNIMHQ.js → zh-6ANG2HTL.js} +7 -3
- package/chunks/{zh-TW-GNEUIUFF.js → zh-TW-4RR3YHNN.js} +7 -3
- package/cli-entry.js +37 -2
- package/cli.js +17 -11
- package/locales/ca.js +3 -2
- package/locales/de.js +3 -2
- package/locales/en.js +10 -5
- package/locales/fr.js +3 -2
- package/locales/ja.js +3 -2
- package/locales/pt.js +3 -2
- package/locales/ru.js +3 -2
- package/locales/zh-TW.js +9 -3
- package/locales/zh.js +9 -3
- package/package.json +3 -3
- package/web-shell/assets/{arc-H74fE8UR.js → arc-_dVIKMdB.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-DN3kEq-I.js → architectureDiagram-3BPJPVTR-MuN3nKpL.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BrqbsFUF.js → blockDiagram-GPEHLZMM-BtmvJjzx.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-ClFhU1P-.js → c4Diagram-AAUBKEIU-Dvi58_BU.js} +1 -1
- package/web-shell/assets/channel-Bi5TehaT.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-jCIcG0_M.js → chunk-2J33WTMH-YqxOVhS1.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DSkGe62-.js → chunk-4BX2VUAB-DoBgbC9z.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BxBHOGTd.js → chunk-55IACEB6-3NEQrBAr.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-v_DS7dH7.js → chunk-727SXJPM-DrCZQxp0.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-1RzEKRPq.js → chunk-AQP2D5EJ-m_g3zjgv.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DyrSbLOX.js → chunk-FMBD7UC4-D1_crABJ.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BCmdsZiy.js → chunk-ND2GUHAM-BdhgVtBx.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-CphHGW2D.js → chunk-QZHKN3VN-BlmThhm-.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BKhhRdd1.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BKhhRdd1.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-D5kRC7Fi.js → cose-bilkent-S5V4N54A-Cbjm_00Z.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DIiyJJ0U.js → dagre-BM42HDAG-C39QNVgC.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BOcuB8xU.js → diagram-2AECGRRQ-DNXSAixC.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CMgiZ4d3.js → diagram-5GNKFQAL-BCbGUPEA.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-Ctx8pfN0.js → diagram-KO2AKTUF-1eujKSDC.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BT5REAWC.js → diagram-LMA3HP47-DUMKXgql.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-CJkUqXcp.js → diagram-OG6HWLK6-BFktU3_u.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DyvNNX6v.js → erDiagram-TEJ5UH35-BvJC7DLk.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-VBf8_My8.js → flowDiagram-I6XJVG4X-Cgu3PlOt.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CviJnR7B.js → ganttDiagram-6RSMTGT7-DLNXN5Xh.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BY66_Oze.js → gitGraphDiagram-PVQCEYII-BQFRDv6R.js} +1 -1
- package/web-shell/assets/index-C_ouplMQ.js +1187 -0
- package/web-shell/assets/{index-DhYuvi3j.js → index-CdC3pjP3.js} +1 -1
- package/web-shell/assets/index-XGDFJE-X.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-D2jaewWZ.js → infoDiagram-5YYISTIA-DT2mOSvp.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BpnNTyi5.js → ishikawaDiagram-YF4QCWOH-9fy_K4bd.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CA55GNZF.js → journeyDiagram-JHISSGLW-CoGSEuhE.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-DyiSl_Ts.js → kanban-definition-UN3LZRKU-BP9hHYIj.js} +1 -1
- package/web-shell/assets/{linear-B-sN3dkV.js → linear-uIroDsmp.js} +1 -1
- package/web-shell/assets/{mermaid.core-xf9SXDdb.js → mermaid.core-BUwoStsA.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DXhr2kRk.js → mindmap-definition-RKZ34NQL-DZB-FWim.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DUXpbfGQ.js → pieDiagram-4H26LBE5-YPptloKl.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-NeDQYeWw.js → quadrantDiagram-W4KKPZXB-dgk3DSzm.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BSbFRL1A.js → requirementDiagram-4Y6WPE33-BH2En2i9.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-gg27cAaN.js → sankeyDiagram-5OEKKPKP-BB98feeI.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Bi_1TSs4.js → sequenceDiagram-3UESZ5HK-CunAIGh8.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CboCCRaf.js → stateDiagram-AJRCARHV-DTJs_-I2.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DrfFMYta.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DrGpF_jn.js → timeline-definition-PNZ67QCA-Cd4AN7O0.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DCaJU67x.js → vennDiagram-CIIHVFJN-xIG-rUU9.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-p0QcW1aP.js → wardley-L42UT6IY-D1UyjIcG.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DiEVxj1W.js → wardleyDiagram-YWT4CUSO-BVM0Mb99.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-iQB8nSlA.js → xychartDiagram-2RQKCTM6-BX31JDSz.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-2HRYPZT5.js +0 -25
- package/chunks/chunk-QAW7PIHT.js +0 -168
- package/chunks/chunk-RTV5TUYB.js +0 -143
- package/chunks/chunk-ZPAHLFZU.js +0 -172
- package/chunks/exitPlanMode-HYQL4XMB.js +0 -909
- package/chunks/nonInteractiveCli-UMYUT643.js +0 -129
- package/chunks/todoWrite-FKCGATPJ.js +0 -531
- package/chunks/web-fetch-CFCWTCAP.js +0 -5673
- package/web-shell/assets/channel-NFC5ADAa.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DHgwjz3X.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHgwjz3X.js +0 -1
- package/web-shell/assets/index-8xIBbHV3.js +0 -1143
- package/web-shell/assets/index-DLyhlZZO.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CXRqms6P.js +0 -1
|
@@ -4,18 +4,6 @@ import {
|
|
|
4
4
|
DEFAULT_DARK_THEME_NAME,
|
|
5
5
|
DEFAULT_LIGHT_THEME_NAME
|
|
6
6
|
} from "./chunk-RKUWKYED.js";
|
|
7
|
-
import {
|
|
8
|
-
SUPPORTED_LANGUAGES,
|
|
9
|
-
detectSystemLanguage,
|
|
10
|
-
getLanguageNameFromLocale,
|
|
11
|
-
getLanguageSettingsOptions,
|
|
12
|
-
t
|
|
13
|
-
} from "./chunk-4AGTGMCQ.js";
|
|
14
|
-
import {
|
|
15
|
-
getHomeEnvFallbackVars,
|
|
16
|
-
loadEnvironment,
|
|
17
|
-
preResolveHomeEnvOverrides
|
|
18
|
-
} from "./chunk-JWICTOXS.js";
|
|
19
7
|
import {
|
|
20
8
|
CONSOLIDATED_DISABLE_KEYS,
|
|
21
9
|
V1_INDICATOR_KEYS,
|
|
@@ -28,6 +16,17 @@ import {
|
|
|
28
16
|
getSystemDefaultsPath,
|
|
29
17
|
getSystemSettingsPath
|
|
30
18
|
} from "./chunk-IDS7MSUP.js";
|
|
19
|
+
import {
|
|
20
|
+
SUPPORTED_LANGUAGES,
|
|
21
|
+
getLanguageNameFromLocale,
|
|
22
|
+
getLanguageSettingsOptions,
|
|
23
|
+
t
|
|
24
|
+
} from "./chunk-3PE7OY2G.js";
|
|
25
|
+
import {
|
|
26
|
+
getHomeEnvFallbackVars,
|
|
27
|
+
loadEnvironment,
|
|
28
|
+
preResolveHomeEnvOverrides
|
|
29
|
+
} from "./chunk-NGTQA57Y.js";
|
|
31
30
|
import {
|
|
32
31
|
ENV_CORRUPTED_PATH,
|
|
33
32
|
ENV_WAS_RECOVERED
|
|
@@ -35,7 +34,7 @@ import {
|
|
|
35
34
|
import {
|
|
36
35
|
isWorkspaceTrusted,
|
|
37
36
|
updateSettingsFilePreservingFormat
|
|
38
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-XFJU7SVP.js";
|
|
39
38
|
import {
|
|
40
39
|
require_strip_json_comments
|
|
41
40
|
} from "./chunk-ALGGS7UH.js";
|
|
@@ -48,20 +47,20 @@ import {
|
|
|
48
47
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
|
|
49
48
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
|
|
50
49
|
stripRuntimeSnapshotPrefix
|
|
51
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-6TDA4EVC.js";
|
|
52
51
|
import {
|
|
53
52
|
DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
|
|
54
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-335ECZTA.js";
|
|
55
54
|
import {
|
|
56
55
|
DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
|
|
57
56
|
SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
|
|
58
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-YN2I5I42.js";
|
|
59
58
|
import {
|
|
60
59
|
FatalConfigError,
|
|
61
60
|
Storage,
|
|
62
61
|
createDebugLogger,
|
|
63
62
|
getErrorMessage
|
|
64
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-UE5TZ55T.js";
|
|
65
64
|
import {
|
|
66
65
|
init_esbuild_shims
|
|
67
66
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -479,7 +478,7 @@ var SETTINGS_SCHEMA = {
|
|
|
479
478
|
category: "General",
|
|
480
479
|
requiresRestart: true,
|
|
481
480
|
default: "auto",
|
|
482
|
-
description: 'The language for LLM output. Use "auto" to
|
|
481
|
+
description: 'The language for LLM output. Use "auto" to follow the user input language, or set a specific language.',
|
|
483
482
|
showInDialog: true
|
|
484
483
|
},
|
|
485
484
|
dynamicCommandTranslation: {
|
|
@@ -882,7 +881,7 @@ var SETTINGS_SCHEMA = {
|
|
|
882
881
|
category: "UI",
|
|
883
882
|
requiresRestart: false,
|
|
884
883
|
default: false,
|
|
885
|
-
description: "Render conversation history in an in-app scrollable viewport instead of the terminal scrollback buffer. Recommended if you see flicker, scroll-storm, or interface freeze on long sessions, after Ctrl+O, after Ctrl+E / Ctrl+F (expand), after window resize, or when alt-tabbing back. Scroll with Shift+\u2191/\u2193 (line), PgUp/PgDn (page), Ctrl+Home/End (top/bottom), or the mouse wheel. Also enables mouse interactions: click an option in a menu/dialog to select it, hover to highlight it, and click in the prompt to position the cursor. Does NOT use the host terminal scrollback while enabled
|
|
884
|
+
description: "Render conversation history in an in-app scrollable viewport instead of the terminal scrollback buffer. Recommended if you see flicker, scroll-storm, or interface freeze on long sessions, after Ctrl+O, after Ctrl+E / Ctrl+F (expand), after window resize, or when alt-tabbing back. Scroll with Shift+\u2191/\u2193 (line), PgUp/PgDn (page), Ctrl+Home/End (top/bottom), or the mouse wheel. Also enables mouse interactions: click an option in a menu/dialog to select it, hover to highlight it, and click in the prompt to position the cursor. Does NOT use the host terminal scrollback while enabled. Drag to select text in the viewport (double/triple click selects a word/line), copied on release. To use the terminal\u2019s own selection instead, hold Shift (or Option on macOS) while dragging.",
|
|
886
885
|
showInDialog: true
|
|
887
886
|
},
|
|
888
887
|
showScrollbar: {
|
|
@@ -1286,7 +1285,7 @@ var SETTINGS_SCHEMA = {
|
|
|
1286
1285
|
category: "Model",
|
|
1287
1286
|
requiresRestart: false,
|
|
1288
1287
|
default: DEFAULT_MAX_TOOL_CALLS_PER_TURN,
|
|
1289
|
-
description: "
|
|
1288
|
+
description: "Per-turn tool-call cap (one model turn plus its tool-result continuations; blocking Stop-hook continuations such as /goal iterations start a fresh budget). When set explicitly, this value is a hard cap: the turn halts on the next tool call after it is reached (the released behavior). When left unset (default 100), the cap is adaptive: once the turn exceeds 100 it halts only when the model keeps repeating the same call (a stuck loop); a productive turn (diverse calls) continues up to a hard backstop of 1000, which always halts. The adaptive default applies to both the interactive TUI and non-interactive (-p / JSON / stream-JSON) core-client runs; the daemon/ACP path always treats the value as a hard cap. An always-on circuit breaker against runaway turns, independent of model.skipLoopDetection. Set to 0 or a negative value to disable the cap.",
|
|
1290
1289
|
showInDialog: false
|
|
1291
1290
|
},
|
|
1292
1291
|
skipStartupContext: {
|
|
@@ -2486,13 +2485,30 @@ var SETTINGS_SCHEMA = {
|
|
|
2486
2485
|
requiresRestart: true,
|
|
2487
2486
|
default: void 0,
|
|
2488
2487
|
minimum: 1,
|
|
2489
|
-
description: "Global maximum number of background sub-agents that can run concurrently. Additional background agents wait in a queue until a slot is available.
|
|
2488
|
+
description: "Global maximum number of background sub-agents that can run concurrently. Additional background agents wait in a queue until a slot is available. Use maxParallelAgentsByModel to cap a specific model below this global limit.",
|
|
2490
2489
|
showInDialog: false,
|
|
2491
2490
|
jsonSchemaOverride: {
|
|
2492
2491
|
type: "integer",
|
|
2493
2492
|
minimum: 1
|
|
2494
2493
|
}
|
|
2495
2494
|
},
|
|
2495
|
+
maxParallelAgentsByModel: {
|
|
2496
|
+
type: "object",
|
|
2497
|
+
label: "Max Parallel Agents Per Model",
|
|
2498
|
+
category: "Advanced",
|
|
2499
|
+
requiresRestart: true,
|
|
2500
|
+
default: void 0,
|
|
2501
|
+
description: 'Per-model maximum number of background sub-agents that can run concurrently, keyed by model ID (e.g. { "qwen3-max": 2 }). Useful when a model has a lower concurrency capacity. Takes precedence over the global maxParallelAgents for the matched model; models not listed here fall back to the global limit.',
|
|
2502
|
+
showInDialog: false,
|
|
2503
|
+
mergeStrategy: "shallow_merge" /* SHALLOW_MERGE */,
|
|
2504
|
+
jsonSchemaOverride: {
|
|
2505
|
+
type: "object",
|
|
2506
|
+
additionalProperties: {
|
|
2507
|
+
type: "integer",
|
|
2508
|
+
minimum: 1
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
},
|
|
2496
2512
|
displayMode: {
|
|
2497
2513
|
type: "enum",
|
|
2498
2514
|
label: "Display Mode",
|
|
@@ -2794,6 +2810,15 @@ var SETTINGS_SCHEMA = {
|
|
|
2794
2810
|
description: "Enable in-session cron/loop tools. When enabled, the model can create recurring prompts using cron_create, cron_list, and cron_delete tools. Can be disabled via QWEN_CODE_DISABLE_CRON=1 environment variable.",
|
|
2795
2811
|
showInDialog: true
|
|
2796
2812
|
},
|
|
2813
|
+
todoStopGuard: {
|
|
2814
|
+
type: "boolean",
|
|
2815
|
+
label: "Enable Daemon Todo Stop Guard",
|
|
2816
|
+
category: "Experimental",
|
|
2817
|
+
requiresRestart: true,
|
|
2818
|
+
default: false,
|
|
2819
|
+
description: "Allow daemon and ACP sessions to continue an unfinished top-level Todo list for at most two consecutive primary-model calls without new user input. Mid-turn user input starts a fresh two-attempt stage. Disabled in safe, bare, and Approval plan modes.",
|
|
2820
|
+
showInDialog: false
|
|
2821
|
+
},
|
|
2797
2822
|
cronRecurringMaxAgeDays: {
|
|
2798
2823
|
type: "number",
|
|
2799
2824
|
label: "Recurring Cron Max Age (Days)",
|
|
@@ -2824,8 +2849,8 @@ var SETTINGS_SCHEMA = {
|
|
|
2824
2849
|
label: "Enable Artifacts",
|
|
2825
2850
|
category: "Experimental",
|
|
2826
2851
|
requiresRestart: true,
|
|
2827
|
-
default:
|
|
2828
|
-
description: "Enable
|
|
2852
|
+
default: true,
|
|
2853
|
+
description: "Enable artifact tools. Enabled by default. In interactive, non-SDK sessions, the model can publish a self-contained HTML page as an interactive Artifact and open it in the browser. Non-SDK daemon sessions can use the metadata-only record_artifact tool. Set this to false or use QWEN_CODE_DISABLE_ARTIFACT=1 to disable both.",
|
|
2829
2854
|
showInDialog: true
|
|
2830
2855
|
},
|
|
2831
2856
|
emitToolUseSummaries: {
|
|
@@ -2845,7 +2870,7 @@ var SETTINGS_SCHEMA = {
|
|
|
2845
2870
|
category: "Experimental",
|
|
2846
2871
|
requiresRestart: true,
|
|
2847
2872
|
default: {},
|
|
2848
|
-
description: "Configuration for
|
|
2873
|
+
description: "Configuration for artifact publishing. Selects the publish backend and, for the host backend, the upload command and shareable URL template.",
|
|
2849
2874
|
showInDialog: false,
|
|
2850
2875
|
properties: {
|
|
2851
2876
|
autoOpen: {
|
|
@@ -3033,12 +3058,17 @@ function normalizeOutputLanguage(language) {
|
|
|
3033
3058
|
__name(normalizeOutputLanguage, "normalizeOutputLanguage");
|
|
3034
3059
|
function resolveOutputLanguage(value) {
|
|
3035
3060
|
if (isAutoLanguage(value)) {
|
|
3036
|
-
|
|
3037
|
-
|
|
3061
|
+
throw new Error(
|
|
3062
|
+
"resolveOutputLanguage does not accept auto; use resolveOutputLanguageOrPreserveAuto instead."
|
|
3063
|
+
);
|
|
3038
3064
|
}
|
|
3039
3065
|
return normalizeOutputLanguage(value);
|
|
3040
3066
|
}
|
|
3041
3067
|
__name(resolveOutputLanguage, "resolveOutputLanguage");
|
|
3068
|
+
function resolveOutputLanguageOrPreserveAuto(value) {
|
|
3069
|
+
return isAutoLanguage(value) ? OUTPUT_LANGUAGE_AUTO : resolveOutputLanguage(value);
|
|
3070
|
+
}
|
|
3071
|
+
__name(resolveOutputLanguageOrPreserveAuto, "resolveOutputLanguageOrPreserveAuto");
|
|
3042
3072
|
function getOutputLanguageFilePath() {
|
|
3043
3073
|
return path.join(
|
|
3044
3074
|
Storage.getGlobalQwenDir(),
|
|
@@ -3052,6 +3082,28 @@ function sanitizeForMarker(language) {
|
|
|
3052
3082
|
__name(sanitizeForMarker, "sanitizeForMarker");
|
|
3053
3083
|
function generateOutputLanguageFileContent(language) {
|
|
3054
3084
|
const safeLanguage = sanitizeForMarker(language);
|
|
3085
|
+
if (isAutoLanguage(language)) {
|
|
3086
|
+
return `# Output language preference: ${OUTPUT_LANGUAGE_AUTO}
|
|
3087
|
+
<!-- ${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX} ${OUTPUT_LANGUAGE_AUTO} -->
|
|
3088
|
+
|
|
3089
|
+
## Rule
|
|
3090
|
+
Respond in the same language as the user's input.
|
|
3091
|
+
|
|
3092
|
+
## Exception
|
|
3093
|
+
If the user **explicitly** requests a response in a specific language (e.g., "please reply in English"), switch to the user's requested language for the remainder of the conversation.
|
|
3094
|
+
|
|
3095
|
+
## Mixed-language input
|
|
3096
|
+
If the user mixes languages, use the language that best matches the user's main request.
|
|
3097
|
+
|
|
3098
|
+
## Keep technical artifacts unchanged
|
|
3099
|
+
Do **not** translate or rewrite:
|
|
3100
|
+
- Code blocks, CLI commands, file paths, stack traces, logs, JSON keys, identifiers
|
|
3101
|
+
- Exact quoted text from the user (keep quotes verbatim)
|
|
3102
|
+
|
|
3103
|
+
## Tool / system outputs
|
|
3104
|
+
Raw tool/system outputs may contain fixed-format English. Preserve them verbatim, and if needed, add a short explanation in the user's language below.
|
|
3105
|
+
`;
|
|
3106
|
+
}
|
|
3055
3107
|
return `# Output language preference: ${language}
|
|
3056
3108
|
<!-- ${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX} ${safeLanguage} -->
|
|
3057
3109
|
|
|
@@ -3090,19 +3142,26 @@ function parseOutputLanguageFromContent(content) {
|
|
|
3090
3142
|
return null;
|
|
3091
3143
|
}
|
|
3092
3144
|
__name(parseOutputLanguageFromContent, "parseOutputLanguageFromContent");
|
|
3093
|
-
function
|
|
3145
|
+
function readOutputLanguageFileContent() {
|
|
3094
3146
|
const filePath = getOutputLanguageFilePath();
|
|
3095
3147
|
if (!fs.existsSync(filePath)) {
|
|
3096
3148
|
return null;
|
|
3097
3149
|
}
|
|
3098
3150
|
try {
|
|
3099
|
-
|
|
3100
|
-
return parseOutputLanguageFromContent(content);
|
|
3151
|
+
return fs.readFileSync(filePath, "utf-8");
|
|
3101
3152
|
} catch {
|
|
3102
3153
|
return null;
|
|
3103
3154
|
}
|
|
3104
3155
|
}
|
|
3105
|
-
__name(
|
|
3156
|
+
__name(readOutputLanguageFileContent, "readOutputLanguageFileContent");
|
|
3157
|
+
function isGeneratedFixedOutputLanguageFileContent(content, language) {
|
|
3158
|
+
const normalizedContent = content.replace(/\r\n/g, "\n");
|
|
3159
|
+
const headings = normalizedContent.match(/^#{1,2}\s+.+$/gm) ?? [];
|
|
3160
|
+
return normalizedContent.includes(
|
|
3161
|
+
`<!-- ${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX} ${sanitizeForMarker(language)} -->`
|
|
3162
|
+
) && headings.length === 5 && headings[0] === `# Output language preference: ${language}` && headings.includes("## Rule") && headings.includes("## Exception") && headings.includes("## Keep technical artifacts unchanged") && headings.includes("## Tool / system outputs") && normalizedContent.includes(`**${language}**`) && normalizedContent.includes("You MUST always respond");
|
|
3163
|
+
}
|
|
3164
|
+
__name(isGeneratedFixedOutputLanguageFileContent, "isGeneratedFixedOutputLanguageFileContent");
|
|
3106
3165
|
function writeOutputLanguageFile(language, targetPath) {
|
|
3107
3166
|
const filePath = targetPath ?? getOutputLanguageFilePath();
|
|
3108
3167
|
const content = generateOutputLanguageFileContent(language);
|
|
@@ -3112,7 +3171,7 @@ function writeOutputLanguageFile(language, targetPath) {
|
|
|
3112
3171
|
}
|
|
3113
3172
|
__name(writeOutputLanguageFile, "writeOutputLanguageFile");
|
|
3114
3173
|
function updateOutputLanguageFile(settingValue, targetPath) {
|
|
3115
|
-
const resolved =
|
|
3174
|
+
const resolved = resolveOutputLanguageOrPreserveAuto(settingValue);
|
|
3116
3175
|
writeOutputLanguageFile(resolved, targetPath);
|
|
3117
3176
|
}
|
|
3118
3177
|
__name(updateOutputLanguageFile, "updateOutputLanguageFile");
|
|
@@ -3125,11 +3184,23 @@ function writeOutputLanguageAndRegisterPath(settingValue, config) {
|
|
|
3125
3184
|
}
|
|
3126
3185
|
__name(writeOutputLanguageAndRegisterPath, "writeOutputLanguageAndRegisterPath");
|
|
3127
3186
|
function initializeLlmOutputLanguage(outputLanguage) {
|
|
3128
|
-
const
|
|
3187
|
+
const currentFileContent = readOutputLanguageFileContent();
|
|
3188
|
+
const currentFileLanguage = currentFileContent === null ? null : parseOutputLanguageFromContent(currentFileContent);
|
|
3189
|
+
const shouldMigrateFixedFileToAuto = isAutoLanguage(outputLanguage) && currentFileLanguage !== null && !isAutoLanguage(currentFileLanguage) && currentFileContent !== null && isGeneratedFixedOutputLanguageFileContent(
|
|
3190
|
+
currentFileContent,
|
|
3191
|
+
currentFileLanguage
|
|
3192
|
+
);
|
|
3129
3193
|
if (currentFileLanguage) {
|
|
3194
|
+
if (shouldMigrateFixedFileToAuto) {
|
|
3195
|
+
try {
|
|
3196
|
+
const resolved2 = resolveOutputLanguageOrPreserveAuto(outputLanguage);
|
|
3197
|
+
writeOutputLanguageFile(resolved2);
|
|
3198
|
+
} catch {
|
|
3199
|
+
}
|
|
3200
|
+
}
|
|
3130
3201
|
return;
|
|
3131
3202
|
}
|
|
3132
|
-
const resolved =
|
|
3203
|
+
const resolved = resolveOutputLanguageOrPreserveAuto(outputLanguage);
|
|
3133
3204
|
writeOutputLanguageFile(resolved);
|
|
3134
3205
|
}
|
|
3135
3206
|
__name(initializeLlmOutputLanguage, "initializeLlmOutputLanguage");
|
|
@@ -3410,7 +3481,7 @@ function getDisplayValue(key, settings, _mergedSettings, modifiedSettings, pendi
|
|
|
3410
3481
|
}
|
|
3411
3482
|
let valueString = String(value);
|
|
3412
3483
|
if (key === "general.outputLanguage" && isAutoLanguage(value)) {
|
|
3413
|
-
valueString = t("Auto (
|
|
3484
|
+
valueString = t("Auto (follow user input)");
|
|
3414
3485
|
} else if (definition?.type === "enum" && definition.options) {
|
|
3415
3486
|
const option = definition.options?.find((option2) => option2.value === value);
|
|
3416
3487
|
if (option?.label) {
|
|
@@ -4270,13 +4341,13 @@ var LoadedSettings = class {
|
|
|
4270
4341
|
static {
|
|
4271
4342
|
__name(this, "LoadedSettings");
|
|
4272
4343
|
}
|
|
4273
|
-
constructor(system, systemDefaults, user, workspace, isTrusted,
|
|
4344
|
+
constructor(system, systemDefaults, user, workspace, isTrusted, migratedInMemoryScopes, migrationWarnings = [], corruptedPath = void 0, wasRecovered = false, workspaceSettingsActive = true) {
|
|
4274
4345
|
this.system = system;
|
|
4275
4346
|
this.systemDefaults = systemDefaults;
|
|
4276
4347
|
this.user = user;
|
|
4277
4348
|
this.workspace = workspace;
|
|
4278
4349
|
this.isTrusted = isTrusted;
|
|
4279
|
-
this.
|
|
4350
|
+
this.migratedInMemoryScopes = migratedInMemoryScopes;
|
|
4280
4351
|
this.migrationWarnings = migrationWarnings;
|
|
4281
4352
|
this.corruptedPath = corruptedPath;
|
|
4282
4353
|
this.wasRecovered = wasRecovered;
|
|
@@ -4288,7 +4359,7 @@ var LoadedSettings = class {
|
|
|
4288
4359
|
user;
|
|
4289
4360
|
workspace;
|
|
4290
4361
|
isTrusted;
|
|
4291
|
-
|
|
4362
|
+
migratedInMemoryScopes;
|
|
4292
4363
|
migrationWarnings;
|
|
4293
4364
|
corruptedPath;
|
|
4294
4365
|
wasRecovered;
|
|
@@ -4466,7 +4537,7 @@ function loadSettings(workspaceDir = process.cwd(), consumeCorruptionEnvVars = t
|
|
|
4466
4537
|
const settingsErrors = [];
|
|
4467
4538
|
const systemSettingsPath = getSystemSettingsPath();
|
|
4468
4539
|
const systemDefaultsPath = getSystemDefaultsPath();
|
|
4469
|
-
const
|
|
4540
|
+
const migratedInMemoryScopes = /* @__PURE__ */ new Set();
|
|
4470
4541
|
const resolvedWorkspaceDir = path2.resolve(workspaceDir);
|
|
4471
4542
|
const resolvedHomeDir = path2.resolve(homedir());
|
|
4472
4543
|
let realWorkspaceDir = resolvedWorkspaceDir;
|
|
@@ -4701,7 +4772,7 @@ Please fix the configuration file(s) and try again.`
|
|
|
4701
4772
|
rawJson: workspaceResult.rawJson
|
|
4702
4773
|
},
|
|
4703
4774
|
isTrusted,
|
|
4704
|
-
|
|
4775
|
+
migratedInMemoryScopes,
|
|
4705
4776
|
allMigrationWarnings,
|
|
4706
4777
|
userResult.corruptedPath,
|
|
4707
4778
|
userResult.wasRecovered ?? false,
|
|
@@ -4750,7 +4821,7 @@ export {
|
|
|
4750
4821
|
TOGGLE_TYPES,
|
|
4751
4822
|
OUTPUT_LANGUAGE_AUTO,
|
|
4752
4823
|
isAutoLanguage,
|
|
4753
|
-
|
|
4824
|
+
resolveOutputLanguageOrPreserveAuto,
|
|
4754
4825
|
getOutputLanguageFilePath,
|
|
4755
4826
|
updateOutputLanguageFile,
|
|
4756
4827
|
writeOutputLanguageAndRegisterPath,
|