@qwen-code/qwen-code 0.23.3 → 0.23.4-dev.codemode-responses.20260914.87437db784
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/computer-use/SKILL.md +46 -198
- package/bundled/computer-use/references/macos.md +208 -0
- package/bundled/computer-use/references/windows-linux.md +247 -0
- package/bundled/goal-draft/SKILL.md +10 -10
- package/bundled/qc-helper/docs/configuration/settings.md +81 -71
- package/bundled/qc-helper/docs/extension/getting-started-extensions.md +2 -0
- package/bundled/qc-helper/docs/extension/introduction.md +9 -3
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/agent-board.md +89 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -21
- package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
- package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
- package/bundled/qc-helper/docs/features/code-review.md +18 -4
- package/bundled/qc-helper/docs/features/commands.md +9 -0
- package/bundled/qc-helper/docs/features/computer-use.md +26 -8
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +23 -5
- package/bundled/qc-helper/docs/features/followup-suggestions.md +17 -5
- package/bundled/qc-helper/docs/features/goals.md +22 -18
- package/bundled/qc-helper/docs/features/hooks.md +48 -37
- package/bundled/qc-helper/docs/features/skills.md +33 -3
- package/bundled/qc-helper/docs/features/status-line.md +2 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
- package/bundled/qc-helper/docs/qwen-serve.md +7 -3
- package/bundled/review/SKILL.md +20 -10
- package/bundled/review/references/persistence.md +2 -0
- package/bundled/workflow-authoring/SKILL.md +442 -0
- package/bundled/workflow-creator/SKILL.md +1 -1
- package/chunks/{MaxSizedBox-D4LW7RZZ.js → MaxSizedBox-CSMC6NNQ.js} +59 -55
- package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-5G46NROB.js} +83 -79
- package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
- package/chunks/acp-subagent-executor-4JLSF7SA.js +141 -0
- package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-WJ45JV2S.js} +1026 -355
- package/chunks/{agent-SQ6OY3QD.js → agent-KWNOVXAD.js} +43 -39
- package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-TU5N3GFF.js} +43 -39
- package/chunks/{anthropicContentGenerator-JSKMKS6V.js → anthropicContentGenerator-H5YPXIDE.js} +37 -15
- package/chunks/{artifact-tool-PMYZCYNH.js → artifact-tool-MFGORTWZ.js} +59 -109
- package/chunks/{askUserQuestion-4M4YYIB4.js → askUserQuestion-WS4GUT7C.js} +3 -3
- package/chunks/{bridge-DAFMI72L.js → bridge-PF7UX6MH.js} +63 -58
- package/chunks/{build-63BIOYWK.js → build-5KWQBWEQ.js} +1 -1
- package/chunks/{ca-KC2AISNS.js → ca-GZ4FDJU2.js} +3 -3
- package/chunks/{channel-management-service-OWDXVL7R.js → channel-management-service-AFVIT4VH.js} +8 -8
- package/chunks/{channel-settings-store-4I6JONT7.js → channel-settings-store-3OVAGIC2.js} +68 -64
- package/chunks/{channel-worker-group-F2ZZMLNS.js → channel-worker-group-JR6JOELM.js} +8 -8
- package/chunks/{channel-worker-manager-2SZLJJSJ.js → channel-worker-manager-AVKJEZFL.js} +8 -8
- package/chunks/{channel-worker-supervisor-ZFNWMG6D.js → channel-worker-supervisor-OOYY7BAQ.js} +5 -5
- package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
- package/chunks/{chunk-NRXWJXJ4.js → chunk-2YGR3VN6.js} +15 -15
- package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
- package/chunks/{chunk-3BTSSIJO.js → chunk-3DOAKZYD.js} +99 -14
- package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
- package/chunks/{chunk-2ZN3O5FT.js → chunk-457DR2MC.js} +6 -6
- package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
- package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
- package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
- package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
- package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
- package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
- package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
- package/chunks/{chunk-3KQBQ6FM.js → chunk-63WKMKVD.js} +190 -28
- package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
- package/chunks/{chunk-MLQNSPRZ.js → chunk-6MLDTOHU.js} +15 -5
- package/chunks/{chunk-SBRX4BDI.js → chunk-6NKDU7YL.js} +2 -2
- package/chunks/{chunk-3UXUOFO6.js → chunk-6TMXX4Z4.js} +9 -10
- package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
- package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
- package/chunks/{chunk-EVTNACMT.js → chunk-A6QMKS5S.js} +12 -12
- package/chunks/{chunk-NOAG7N22.js → chunk-A6YU6R5N.js} +2 -2
- package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
- package/chunks/chunk-ACHCT36C.js +28 -0
- package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
- package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
- package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
- package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
- package/chunks/{chunk-SYLECP23.js → chunk-B776VKDA.js} +4 -4
- package/chunks/{chunk-AC6KDLH3.js → chunk-BNYQHLPR.js} +1 -1
- package/chunks/{chunk-BZM5U74J.js → chunk-BS7ON54G.js} +724 -468
- package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
- package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
- package/chunks/{chunk-POC3YMHG.js → chunk-BY6CE34S.js} +4 -4
- package/chunks/{chunk-RLLRJJDR.js → chunk-C3VNHDWJ.js} +2 -2
- package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
- package/chunks/{chunk-MSNHNAQZ.js → chunk-C5ABXOC2.js} +3 -3
- package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
- package/chunks/chunk-CCWWPFZJ.js +191 -0
- package/chunks/chunk-CFMZLE3L.js +75 -0
- package/chunks/{chunk-N7VWZDWW.js → chunk-CFSBWJBB.js} +4462 -3840
- package/chunks/{chunk-KOKPXIAN.js → chunk-CL7JONZN.js} +3 -3
- package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
- package/chunks/{chunk-JYKWOREU.js → chunk-DBUOMHLZ.js} +13 -3
- package/chunks/{chunk-R4Q2PEFV.js → chunk-DLJBYORJ.js} +1 -1
- package/chunks/{chunk-DT75RKNH.js → chunk-DNVA2MQ2.js} +3 -3
- package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
- package/chunks/{chunk-HGAELO7B.js → chunk-DQMBQCTY.js} +2 -2
- package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
- package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
- package/chunks/chunk-EKJXDLDD.js +32 -0
- package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
- package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
- package/chunks/{chunk-GCDXVPFK.js → chunk-EZSSJSKR.js} +31 -7
- package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
- package/chunks/{chunk-UKZ45TJL.js → chunk-FFBP5POK.js} +420 -219
- package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
- package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
- package/chunks/{chunk-SSGAAWLY.js → chunk-GCV4NOHV.js} +95 -73
- package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
- package/chunks/{chunk-XBZTAGB7.js → chunk-GMN73IMT.js} +1 -1
- package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
- package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
- package/chunks/chunk-GXN7DWZZ.js +154 -0
- package/chunks/{chunk-SODMFNAR.js → chunk-H23UWPF7.js} +5 -5
- package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
- package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
- package/chunks/{chunk-GOXQL4YH.js → chunk-HWRXJQ6B.js} +2 -2
- package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
- package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
- package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
- package/chunks/chunk-INGBUYL6.js +230 -0
- package/chunks/{chunk-7BXXIQG4.js → chunk-J73WJIMT.js} +36 -72
- package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
- package/chunks/{chunk-Z3GF56ME.js → chunk-JAYWZWZF.js} +3 -3
- package/chunks/{chunk-DYFOSJHU.js → chunk-JBFC2644.js} +2756 -1153
- package/chunks/{chunk-Q5BD56BW.js → chunk-JPCYCFYG.js} +7 -7
- package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
- package/chunks/{chunk-NHCZJQE4.js → chunk-JZKBMADP.js} +6 -6
- package/chunks/{chunk-MF6E7FSA.js → chunk-K7CQWBLT.js} +8 -201
- package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
- package/chunks/{chunk-ZU47FBOC.js → chunk-KSIOXYVX.js} +126 -12
- package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
- package/chunks/{chunk-3XLK2QMY.js → chunk-L3S2Y2FF.js} +59 -16
- package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
- package/chunks/{chunk-6W4HBUA2.js → chunk-LATAUG2M.js} +1 -1
- package/chunks/{chunk-RWVD5RRY.js → chunk-LBDASOPR.js} +3 -3
- package/chunks/{chunk-OX7IZ2G5.js → chunk-LF5AD7PY.js} +4 -4
- package/chunks/{chunk-NMRCXKQ5.js → chunk-LKCNETDW.js} +3 -3
- package/chunks/chunk-LMJSPC55.js +260 -0
- package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
- package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
- package/chunks/{chunk-KFZYGSJN.js → chunk-M3YNPR56.js} +3 -3
- package/chunks/{chunk-HBQ2NXOU.js → chunk-MDG6GKSE.js} +2 -2
- package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
- package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
- package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
- package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
- package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
- package/chunks/{chunk-DAWWT2ID.js → chunk-NN4EC2WO.js} +1374 -2164
- package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
- package/chunks/{chunk-HBU7EKY4.js → chunk-NRUKL236.js} +45 -15
- package/chunks/{chunk-53GWJOLP.js → chunk-NTCFKGQF.js} +3 -1
- package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
- package/chunks/{chunk-X7UJKOHZ.js → chunk-OMDXAHCT.js} +4 -6
- package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
- package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
- package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-PAPBT3WP.js} +11 -110
- package/chunks/{chunk-7ICHPMBQ.js → chunk-PHSQVB6D.js} +4 -4
- package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
- package/chunks/{chunk-YQHLFCPU.js → chunk-Q5CCYZD3.js} +32 -24
- package/chunks/chunk-QQL5BFOL.js +1416 -0
- package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
- package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
- package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
- package/chunks/{chunk-2PJRI3EH.js → chunk-RVOD66ID.js} +218 -43
- package/chunks/{chunk-W5FIP7FC.js → chunk-S3PU3CNW.js} +5 -5
- package/chunks/chunk-S7UQ3V2H.js +87 -0
- package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
- package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
- package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
- package/chunks/{chunk-E7LB57MB.js → chunk-T3LUMYFP.js} +6 -6
- package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
- package/chunks/{chunk-5KI7ZDTB.js → chunk-TV5WDW7R.js} +24 -12
- package/chunks/{chunk-NMCDMLHL.js → chunk-TXUJOKVR.js} +50 -35
- package/chunks/{chunk-NHJKAR6E.js → chunk-TYWLBEL2.js} +972 -18
- package/chunks/chunk-U6H3XTFA.js +95 -0
- package/chunks/{chunk-GSILBZLN.js → chunk-U7RWQBGZ.js} +2 -2
- package/chunks/{chunk-7APZIRH3.js → chunk-V3CMBOQ6.js} +5 -5
- package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
- package/chunks/chunk-VGY2RGXL.js +100 -0
- package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
- package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
- package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
- package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
- package/chunks/chunk-WFNEY5G7.js +347 -0
- package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
- package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
- package/chunks/{chunk-BWAMMKIS.js → chunk-WLLRNQVT.js} +135 -6
- package/chunks/{chunk-MHAADZOZ.js → chunk-WMSP3XZK.js} +3 -3
- package/chunks/{chunk-IL5M5NYD.js → chunk-WUTXSXPP.js} +11 -9
- package/chunks/{chunk-NJQTG2G3.js → chunk-XE5ZFBVD.js} +11 -11
- package/chunks/{chunk-OLTN767L.js → chunk-XO3Z27IL.js} +2 -2
- package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
- package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
- package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
- package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
- package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
- package/chunks/{chunk-F42YYSCK.js → chunk-YVF4PKCV.js} +8 -8
- package/chunks/{chunk-LDVNJZGH.js → chunk-Z2H5HQS3.js} +17 -8
- package/chunks/chunk-Z72PLR74.js +36 -0
- package/chunks/{chunk-BWQLXU37.js → chunk-ZDHXRKRG.js} +381 -86
- package/chunks/{chunk-BHTYRHJF.js → chunk-ZJ7JQUGY.js} +4 -1
- package/chunks/{chunk-4ALNJDHL.js → chunk-ZKIAGIGH.js} +87 -4
- package/chunks/{chunk-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
- package/chunks/chunk-ZRZZLM37.js +2780 -0
- package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
- package/chunks/codex-subagent-executor-SM3TUSBA.js +586 -0
- package/chunks/{config-utils-L6KLDYIV.js → config-utils-JHKHFOG6.js} +60 -56
- package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-XE4NDYQW.js} +58 -54
- package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-PNCWH3RE.js} +58 -55
- package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
- package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-P7E5Y3HY.js} +169 -89
- package/chunks/{cron-create-AKWX67FO.js → cron-create-U2JJ5CCF.js} +3 -3
- package/chunks/{cron-delete-XPB6IYZJ.js → cron-delete-7DM4LJWD.js} +2 -2
- package/chunks/{cron-list-XBKO4WU5.js → cron-list-VCUSZK2Y.js} +2 -2
- package/chunks/{daemon-G5TYKZD6.js → daemon-NJB4PWZ7.js} +3 -1
- package/chunks/{daemon-git-worktree-guard-FOW4RQSK.js → daemon-git-worktree-guard-JFD5VZRN.js} +58 -54
- package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-A3VFVFWW.js} +68 -63
- package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-NPZ47MZH.js} +64 -60
- package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-XG2CHL3Z.js} +64 -60
- package/chunks/{de-UU2YTO37.js → de-VGY3VNBU.js} +3 -3
- package/chunks/{deferred-core-runtime-JK5IXL5K.js → deferred-core-runtime-V42EMU27.js} +56 -52
- package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
- package/chunks/{display-image-NAH3AZ63.js → display-image-QTHALY6N.js} +3 -3
- package/chunks/{dist-KLZ7XGEQ.js → dist-2QYIVNS6.js} +1 -4
- package/chunks/{dist-AHJYPSJL.js → dist-GUB7QRYA.js} +2 -5
- package/chunks/{dist-ZXTZTE54.js → dist-MPUZZOG5.js} +4 -17
- package/chunks/{dist-F2DVGTL3.js → dist-NIOJXMGY.js} +111 -101
- package/chunks/{dist-KJGRVIGJ.js → dist-PA7WPFVE.js} +5 -36
- package/chunks/{dist-AIKC5E5P.js → dist-SE4J6Z4O.js} +43 -669
- package/chunks/{dist-H6G3K26N.js → dist-T6DDPDLQ.js} +14 -34
- package/chunks/{dist-GWNQVPZT.js → dist-TFGETXFN.js} +10 -33
- package/chunks/{dist-ZA52JXAS.js → dist-VDLSBCLM.js} +1 -5
- package/chunks/{edit-SY35KYIE.js → edit-E2ZGJDBJ.js} +46 -42
- package/chunks/{en-CAJHTIQT.js → en-E5ZO5TZW.js} +5 -3
- package/chunks/{enter-worktree-54L5QJ3N.js → enter-worktree-CAARFWBI.js} +6 -5
- package/chunks/{enterPlanMode-HXX6KQJR.js → enterPlanMode-442YAAZB.js} +43 -39
- package/chunks/{environment-DKXHG4HB.js → environment-DCJ5FVHM.js} +59 -55
- package/chunks/{errors-ADY7LQJJ.js → errors-ZWTDW2NJ.js} +58 -54
- package/chunks/exec-RPKEY6HP.js +505 -0
- package/chunks/{exit-worktree-EORJDKDS.js → exit-worktree-JXGGUOBP.js} +6 -5
- package/chunks/{exitPlanMode-HSK2CQI6.js → exitPlanMode-4PLQOFOO.js} +43 -39
- package/chunks/{fast-path-U636VWN2.js → fast-path-DBSGDGB3.js} +10 -10
- package/chunks/{fast-path-settings-V7MI7EZJ.js → fast-path-settings-XDYX7X5Z.js} +2 -2
- package/chunks/{fr-HKNWVXRJ.js → fr-UAZJJH5N.js} +3 -3
- package/chunks/{glob-GUGGTH5L.js → glob-VWOE4W7K.js} +43 -39
- package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-K6SIBXMB.js} +49 -41
- package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
- package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-NCC3XELY.js} +61 -57
- package/chunks/{i18n-KSGKMUPT.js → i18n-GO7JI4PT.js} +57 -53
- package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
- package/chunks/{initializer-YYT5XEZF.js → initializer-BXKAW5A6.js} +64 -60
- package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-5JONIX62.js} +57 -53
- package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
- package/chunks/list-QW74LCLS.js +133 -0
- package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
- package/chunks/{llm-XGGLBGPH.js → llm-FJHSMJTM.js} +161 -125
- package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-3VLLPQS4.js} +14 -7
- package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-OLMQSKVC.js} +64 -60
- package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-IMLIJULY.js} +47 -43
- package/chunks/{loop-wakeup-HHMYIC7Z.js → loop-wakeup-VG6CGBQA.js} +4 -4
- package/chunks/{ls-N7ABR6HI.js → ls-6ZB3BEIR.js} +1 -1
- package/chunks/{lsp-LTOFWG5P.js → lsp-M54FQARP.js} +5 -1
- package/chunks/{managed-npm-update-HV5LPZH2.js → managed-npm-update-LXLBWCNA.js} +57 -53
- package/chunks/mcp-FOXA3372.js +127 -0
- package/chunks/model-configuration-SCOI2KPF.js +140 -0
- package/chunks/modelConfigUtils-EA44S64C.js +119 -0
- package/chunks/{monitor-TLBNM4MV.js → monitor-TJAHYCCY.js} +43 -39
- package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-QH2HABWC.js} +112 -107
- package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-WEMSBUBS.js} +45 -41
- package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-WD5DWYOA.js} +24 -19
- package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
- package/chunks/{pidfile-H32FEPWA.js → pidfile-TQL2LCEG.js} +56 -52
- package/chunks/{processUtils-SSLIPDEA.js → processUtils-6ZU56DCI.js} +2 -2
- package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-3HAKHXFV.js} +57 -53
- package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
- package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-3OIZQZLC.js} +47 -43
- package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
- package/chunks/{read-file-T2QAIZE2.js → read-file-2PWWL6J2.js} +9 -8
- package/chunks/{read-mcp-resource-B37WANAQ.js → read-mcp-resource-LPSWXVOD.js} +1 -1
- package/chunks/{record-artifact-OAXWXZ5D.js → record-artifact-PXMNP7GZ.js} +3 -3
- package/chunks/{record-source-D7R7X3GT.js → record-source-2GSY5JD5.js} +6 -6
- package/chunks/{report-findings-AR3VC6EQ.js → report-findings-W6GR7SYZ.js} +4 -4
- package/chunks/{request-shutdown-IKNWTX5M.js → request-shutdown-53SNYGVR.js} +5 -5
- package/chunks/{resumeHistoryUtils-QLKDH5GY.js → resumeHistoryUtils-S4TEUTKE.js} +63 -59
- package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-5NMGLMLX.js} +13 -11
- package/chunks/{ru-RMHURE5U.js → ru-7BNZFQKG.js} +3 -3
- package/chunks/{run-qwen-serve-26KZDECC.js → run-qwen-serve-6MGYRK4V.js} +314 -127
- package/chunks/{runtime-BMEIVDDG.js → runtime-ZJYUQCPP.js} +69 -65
- package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-5MKF4EV3.js} +66 -60
- package/chunks/{scheduler-47TVMUVN.js → scheduler-72DZWRH5.js} +58 -54
- package/chunks/{sdk-exporters-http-VWTF4W6K.js → sdk-exporters-http-3R2TRQHE.js} +2 -1
- package/chunks/{sdk-impl-G6FVTBQZ.js → sdk-impl-4WF3VZ2F.js} +3 -3
- package/chunks/{send-message-TWOGWCBG.js → send-message-UMJKN27Q.js} +7 -7
- package/chunks/{serve-KL3G6LQQ.js → serve-7ZDMMA7I.js} +66 -62
- package/chunks/{server-LBPYXZ5G.js → server-ONK5RTEV.js} +783 -350
- package/chunks/{session-YG6742LO.js → session-XQW2LM4S.js} +117 -112
- package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-Q5IUCMQV.js} +56 -52
- package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-MVECWT3W.js} +66 -60
- package/chunks/{settings-DDNHJX2L.js → settings-DL6K2HQ3.js} +67 -63
- package/chunks/{shell-KUCXWITU.js → shell-BLP25QJU.js} +43 -39
- package/chunks/{skill-JQLKPNWZ.js → skill-7KURUNLD.js} +128 -23
- package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-MY76LM46.js} +72 -60
- package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-IJLH3Z74.js} +60 -55
- package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-YQKN7VNO.js} +58 -54
- package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-ORNGKZTG.js} +2693 -2160
- package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-PRLIKB4U.js} +1610 -1773
- package/chunks/{syntheticOutput-F6F27JMK.js → syntheticOutput-EX5L5GYI.js} +2 -2
- package/chunks/{task-create-Y623TBHB.js → task-create-75HVPEAH.js} +7 -7
- package/chunks/{task-list-FCPEEGWL.js → task-list-ZLJSMRFA.js} +2 -2
- package/chunks/{task-stop-QTKZXLPH.js → task-stop-MD7P6QGK.js} +1 -1
- package/chunks/{task-update-YLSXF25N.js → task-update-RI7QNVDP.js} +20 -13
- package/chunks/{team-create-5DRLOLOE.js → team-create-ANLKOQ44.js} +43 -39
- package/chunks/{team-delete-S7TLHZCF.js → team-delete-RIDINW6I.js} +1 -1
- package/chunks/{team-plan-approval-MWSGAL5T.js → team-plan-approval-EFUENI6Y.js} +43 -39
- package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-CXMFIWKC.js} +58 -54
- package/chunks/{theme-manager-7AV73D6R.js → theme-manager-JUFYQDQQ.js} +56 -52
- package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
- package/chunks/{tool-search-UGYTBLUV.js → tool-search-SNCEA4VA.js} +17 -12
- package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-UHYNUO3L.js} +63 -58
- package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-NZ3QACD7.js} +1 -1
- package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-WXHLMORC.js} +1 -1
- package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-YBR5URPG.js} +57 -53
- package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-L6MTSN76.js} +5 -5
- package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-Z3SPZXHC.js} +60 -56
- package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-PR5XGMO6.js} +68 -64
- package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-KFLTWEYW.js} +109 -104
- package/chunks/{version-EAAZN4T2.js → version-NGAKFVUF.js} +1 -1
- package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WPGTHGU5.js} +15 -13
- package/chunks/web-search-JT63IJJV.js +39 -0
- package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
- package/chunks/{workflow-UHPFALVZ.js → workflow-EB63BAL4.js} +179 -79
- package/chunks/workspace-providers-status-NEPR67D2.js +133 -0
- package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-CFWXOMGH.js} +2 -2
- package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-6KRZXOGB.js} +63 -58
- package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-SP4X3UVH.js} +66 -59
- package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-PRMYJTTV.js} +70 -65
- package/chunks/workspace-skills-status-VYTZJ5MB.js +130 -0
- package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-B4QMGDMI.js} +73 -68
- package/chunks/{write-file-DPVB2SBQ.js → write-file-EGBMW7TS.js} +45 -41
- package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
- package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
- package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-UR6K2LDR.js} +11 -10
- package/cli.js +18 -17
- package/codeModeHost.js +4425 -0
- package/export-transcript-document.css +1 -1
- package/export-transcript-document.js +151 -151
- package/locales/ca.js +5 -6
- package/locales/de.js +5 -6
- package/locales/en.js +7 -6
- package/locales/fr.js +6 -6
- package/locales/ja.js +5 -6
- package/locales/pt.js +5 -6
- package/locales/ru.js +6 -6
- package/locales/zh-TW.js +7 -6
- package/locales/zh.js +7 -6
- package/package.json +4 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
- package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
- package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
- package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
- package/web-shell/assets/channel-BgGrpX_z.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
- package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
- package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
- package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
- package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
- package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
- package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
- package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
- package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
- package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
- package/web-shell/assets/dagre-3AP2YEHR-C8FA8vJk.js +4 -0
- package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
- package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
- package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
- package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
- package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
- package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
- package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
- package/web-shell/assets/index-CmMV8Jla.js +3 -0
- package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
- package/web-shell/assets/index-DyMtNYuu.js +2207 -0
- package/web-shell/assets/index-n6N-2a3v.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
- package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
- package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
- package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
- package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
- package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
- package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
- package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
- package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
- package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.js +7 -0
- package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
- package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
- package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
- package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
- package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
- package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-7Q2AXRDJ.js +0 -114
- package/chunks/chunk-AEY27Z35.js +0 -1411
- package/chunks/chunk-CFKIH3D3.js +0 -50
- package/chunks/chunk-HWVUSYSN.js +0 -126
- package/chunks/chunk-QHMLYMMS.js +0 -32
- package/chunks/chunk-SAH4BD2J.js +0 -92
- package/chunks/chunk-TWUKBNWM.js +0 -86
- package/chunks/chunk-ZTTC7T4X.js +0 -126
- package/chunks/list-YL6LDQKQ.js +0 -129
- package/chunks/mcp-IYVSIW6O.js +0 -123
- package/chunks/web-search-NEGYQNDJ.js +0 -912
- package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
- package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
- package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
- package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
- package/web-shell/assets/channel-Blod4z1X.js +0 -1
- package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
- package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
- package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
- package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
- package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
- package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
- package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
- package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
- package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
- package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
- package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
- package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
- package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
- package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
- package/web-shell/assets/index-BYWs4JWq.js +0 -3
- package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
- package/web-shell/assets/index-eBxK3rs2.css +0 -36
- package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
- package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
- package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
- package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
- package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
- package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
- package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
- package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
- package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
- package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
- package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
- package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
matches,
|
|
5
5
|
nextFireTime,
|
|
6
6
|
parseCron
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5EZRLTLQ.js";
|
|
8
8
|
import {
|
|
9
9
|
humanReadableCron
|
|
10
10
|
} from "./chunk-QHWCP53L.js";
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
addCronTask,
|
|
14
14
|
annotateCronRunSession,
|
|
15
15
|
appendCronRun,
|
|
16
|
+
cronTaskSessionDeletionId,
|
|
16
17
|
generateCronTaskId,
|
|
17
18
|
getCronFilePath,
|
|
18
19
|
readCronTasks,
|
|
@@ -20,10 +21,10 @@ import {
|
|
|
20
21
|
taskHasLegacyCondition,
|
|
21
22
|
taskHasLegacyRunMode,
|
|
22
23
|
updateCronTasks
|
|
23
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-3LMDSCLU.js";
|
|
24
25
|
import {
|
|
25
26
|
ToolNames
|
|
26
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-RSWBT7AZ.js";
|
|
27
28
|
import {
|
|
28
29
|
Storage,
|
|
29
30
|
createDebugLogger,
|
|
@@ -301,6 +302,15 @@ var CronScheduler = class {
|
|
|
301
302
|
// eligible to fire them. Cleared on stop so a later enable still treats
|
|
302
303
|
// genuinely overdue work as missed.
|
|
303
304
|
armedDurableOneShots = /* @__PURE__ */ new Set();
|
|
305
|
+
// Exact persisted snapshots for active per-run one-shots. The tick removes
|
|
306
|
+
// such a task before its async fresh-session dispatch finishes; retain the
|
|
307
|
+
// original so a rejected dispatch can put the unexecuted task back without
|
|
308
|
+
// dropping route-only fields such as session ownership.
|
|
309
|
+
restorablePerRunOneShots = /* @__PURE__ */ new Map();
|
|
310
|
+
consumedPerRunOneShots = /* @__PURE__ */ new Set();
|
|
311
|
+
// The durable deletion generation observed by the task-file mutation that
|
|
312
|
+
// removed each consumed one-shot.
|
|
313
|
+
consumedPerRunRemovalGenerations = /* @__PURE__ */ new Map();
|
|
304
314
|
// Ids of legacy tasks (a pre-removal `isolated` task with a `condition`
|
|
305
315
|
// precondition) already reported as skipped, so the fail-closed remediation
|
|
306
316
|
// breadcrumb is logged once per task rather than on every file reload.
|
|
@@ -504,7 +514,12 @@ var CronScheduler = class {
|
|
|
504
514
|
*/
|
|
505
515
|
async delete(id) {
|
|
506
516
|
const job = this.jobs.get(id);
|
|
507
|
-
if (!job)
|
|
517
|
+
if (!job) {
|
|
518
|
+
this.restorablePerRunOneShots.delete(id);
|
|
519
|
+
this.consumedPerRunOneShots.delete(id);
|
|
520
|
+
this.consumedPerRunRemovalGenerations.delete(id);
|
|
521
|
+
return this.cancelWakeup(id);
|
|
522
|
+
}
|
|
508
523
|
this.jobs.delete(id);
|
|
509
524
|
if (job.durable && this.projectRoot) {
|
|
510
525
|
this.pendingRemoval.add(id);
|
|
@@ -516,6 +531,9 @@ var CronScheduler = class {
|
|
|
516
531
|
throw error;
|
|
517
532
|
}
|
|
518
533
|
}
|
|
534
|
+
this.restorablePerRunOneShots.delete(id);
|
|
535
|
+
this.consumedPerRunOneShots.delete(id);
|
|
536
|
+
this.consumedPerRunRemovalGenerations.delete(id);
|
|
519
537
|
this.armedDurableOneShots.delete(id);
|
|
520
538
|
return true;
|
|
521
539
|
}
|
|
@@ -705,6 +723,11 @@ var CronScheduler = class {
|
|
|
705
723
|
}
|
|
706
724
|
const diskIds = new Set(tasks.map((t) => t.id));
|
|
707
725
|
for (const id of this.pendingAdd) diskIds.add(id);
|
|
726
|
+
for (const id of this.restorablePerRunOneShots.keys()) {
|
|
727
|
+
if (!diskIds.has(id) && !this.consumedPerRunOneShots.has(id)) {
|
|
728
|
+
this.restorablePerRunOneShots.delete(id);
|
|
729
|
+
}
|
|
730
|
+
}
|
|
708
731
|
for (const job of this.jobs.values()) {
|
|
709
732
|
if (job.durable && !diskIds.has(job.id)) {
|
|
710
733
|
this.jobs.delete(job.id);
|
|
@@ -730,6 +753,15 @@ var CronScheduler = class {
|
|
|
730
753
|
job.lastFiredAt = Math.max(existing.lastFiredAt, job.lastFiredAt ?? 0);
|
|
731
754
|
}
|
|
732
755
|
this.jobs.set(task.id, job);
|
|
756
|
+
if (!task.recurring && task.sessionMode === "per_run") {
|
|
757
|
+
this.restorablePerRunOneShots.set(task.id, {
|
|
758
|
+
task,
|
|
759
|
+
index: read.findIndex((candidate) => candidate.id === task.id)
|
|
760
|
+
});
|
|
761
|
+
} else {
|
|
762
|
+
this.restorablePerRunOneShots.delete(task.id);
|
|
763
|
+
this.consumedPerRunOneShots.delete(task.id);
|
|
764
|
+
}
|
|
733
765
|
if (!task.recurring && this.#shouldFireDurable(job)) {
|
|
734
766
|
this.armedDurableOneShots.add(task.id);
|
|
735
767
|
} else {
|
|
@@ -958,6 +990,10 @@ var CronScheduler = class {
|
|
|
958
990
|
/** Attributes an already-persisted per-run fire to the session it ran in,
|
|
959
991
|
* and/or marks its fresh-session creation as failed. */
|
|
960
992
|
async annotateRunSession(taskId, firedAt, outcome) {
|
|
993
|
+
if (outcome.sessionId && this.consumedPerRunOneShots.delete(taskId)) {
|
|
994
|
+
this.restorablePerRunOneShots.delete(taskId);
|
|
995
|
+
this.consumedPerRunRemovalGenerations.delete(taskId);
|
|
996
|
+
}
|
|
961
997
|
if (!this.projectRoot) return;
|
|
962
998
|
await Promise.resolve();
|
|
963
999
|
await this.pendingPersist;
|
|
@@ -968,6 +1004,84 @@ var CronScheduler = class {
|
|
|
968
1004
|
)
|
|
969
1005
|
);
|
|
970
1006
|
}
|
|
1007
|
+
/** Pauses and records a durable per-run one-shot that never dispatched. */
|
|
1008
|
+
async restoreConsumedOneShot(taskId) {
|
|
1009
|
+
const projectRoot = this.projectRoot;
|
|
1010
|
+
const snapshot = this.restorablePerRunOneShots.get(taskId);
|
|
1011
|
+
const firedAt = snapshot?.task.lastFiredAt;
|
|
1012
|
+
if (!projectRoot || !snapshot || firedAt == null || !this.consumedPerRunOneShots.has(taskId)) {
|
|
1013
|
+
return false;
|
|
1014
|
+
}
|
|
1015
|
+
await Promise.resolve();
|
|
1016
|
+
await this.pendingPersist;
|
|
1017
|
+
const removalGeneration = this.consumedPerRunRemovalGenerations.get(taskId);
|
|
1018
|
+
if (!this.consumedPerRunOneShots.has(taskId) || removalGeneration === void 0) {
|
|
1019
|
+
this.restorablePerRunOneShots.delete(taskId);
|
|
1020
|
+
this.consumedPerRunOneShots.delete(taskId);
|
|
1021
|
+
this.consumedPerRunRemovalGenerations.delete(taskId);
|
|
1022
|
+
return false;
|
|
1023
|
+
}
|
|
1024
|
+
this.armedDurableOneShots.delete(taskId);
|
|
1025
|
+
let restoreGenerations = /* @__PURE__ */ new Map();
|
|
1026
|
+
let restored = false;
|
|
1027
|
+
try {
|
|
1028
|
+
await updateCronTasks(
|
|
1029
|
+
projectRoot,
|
|
1030
|
+
(tasks) => {
|
|
1031
|
+
if ([...removalGeneration].some(
|
|
1032
|
+
([id, generation]) => restoreGenerations.get(id) !== generation
|
|
1033
|
+
))
|
|
1034
|
+
return tasks;
|
|
1035
|
+
const existing = tasks.findIndex((task) => task.id === taskId);
|
|
1036
|
+
const current = tasks[existing] ?? snapshot.task;
|
|
1037
|
+
const failed = {
|
|
1038
|
+
...current,
|
|
1039
|
+
enabled: false,
|
|
1040
|
+
lastFiredAt: firedAt,
|
|
1041
|
+
runs: appendCronRun(current.runs, {
|
|
1042
|
+
at: firedAt,
|
|
1043
|
+
kind: "scheduled",
|
|
1044
|
+
sessionDispatchFailed: true
|
|
1045
|
+
})
|
|
1046
|
+
};
|
|
1047
|
+
restored = true;
|
|
1048
|
+
if (existing !== -1) {
|
|
1049
|
+
return tasks.map(
|
|
1050
|
+
(task, index) => index === existing ? failed : task
|
|
1051
|
+
);
|
|
1052
|
+
}
|
|
1053
|
+
const next = [...tasks];
|
|
1054
|
+
next.splice(Math.min(snapshot.index, next.length), 0, failed);
|
|
1055
|
+
return next;
|
|
1056
|
+
},
|
|
1057
|
+
{
|
|
1058
|
+
observeDeletionIds: [...removalGeneration.keys()],
|
|
1059
|
+
onDeletionGenerations: /* @__PURE__ */ __name((generations) => {
|
|
1060
|
+
restoreGenerations = generations;
|
|
1061
|
+
}, "onDeletionGenerations")
|
|
1062
|
+
}
|
|
1063
|
+
);
|
|
1064
|
+
} catch (error) {
|
|
1065
|
+
this.restorablePerRunOneShots.delete(taskId);
|
|
1066
|
+
this.consumedPerRunOneShots.delete(taskId);
|
|
1067
|
+
this.consumedPerRunRemovalGenerations.delete(taskId);
|
|
1068
|
+
console.warn(
|
|
1069
|
+
`CronScheduler: could not restore scheduled one-shot task ${taskId} after its run failed to dispatch \u2014 the task may be gone from disk with no recorded run.`
|
|
1070
|
+
);
|
|
1071
|
+
throw error;
|
|
1072
|
+
}
|
|
1073
|
+
if (!restored) {
|
|
1074
|
+
this.restorablePerRunOneShots.delete(taskId);
|
|
1075
|
+
this.consumedPerRunOneShots.delete(taskId);
|
|
1076
|
+
this.consumedPerRunRemovalGenerations.delete(taskId);
|
|
1077
|
+
return false;
|
|
1078
|
+
}
|
|
1079
|
+
this.pendingRemoval.delete(taskId);
|
|
1080
|
+
this.jobs.delete(taskId);
|
|
1081
|
+
this.consumedPerRunOneShots.delete(taskId);
|
|
1082
|
+
this.consumedPerRunRemovalGenerations.delete(taskId);
|
|
1083
|
+
return true;
|
|
1084
|
+
}
|
|
971
1085
|
/**
|
|
972
1086
|
* Starts the scheduler tick. Calls `onFire` when a job is due.
|
|
973
1087
|
* Only fires when called — does not auto-fire missed intervals.
|
|
@@ -1122,12 +1236,41 @@ var CronScheduler = class {
|
|
|
1122
1236
|
this.armedDurableOneShots.delete(id);
|
|
1123
1237
|
}
|
|
1124
1238
|
const removed = new Set(removedIds);
|
|
1239
|
+
const removedByFire = /* @__PURE__ */ new Set();
|
|
1240
|
+
let removalGenerations = /* @__PURE__ */ new Map();
|
|
1125
1241
|
const guarded = [...firedAt.keys()];
|
|
1126
1242
|
this.markFirePersistPending(guarded);
|
|
1243
|
+
const recordRemovalGenerations = /* @__PURE__ */ __name(() => {
|
|
1244
|
+
for (const id of removedByFire) {
|
|
1245
|
+
const generation = removalGenerations.get(id);
|
|
1246
|
+
if (generation !== void 0 && this.consumedPerRunOneShots.has(id)) {
|
|
1247
|
+
const observed = /* @__PURE__ */ new Map([[id, generation]]);
|
|
1248
|
+
const sessionId = this.restorablePerRunOneShots.get(id)?.task.sessionId;
|
|
1249
|
+
if (sessionId) {
|
|
1250
|
+
const key = cronTaskSessionDeletionId(sessionId);
|
|
1251
|
+
const sessionGeneration = removalGenerations.get(key);
|
|
1252
|
+
if (sessionGeneration === void 0) continue;
|
|
1253
|
+
observed.set(key, sessionGeneration);
|
|
1254
|
+
}
|
|
1255
|
+
this.consumedPerRunRemovalGenerations.set(id, observed);
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
}, "recordRemovalGenerations");
|
|
1127
1259
|
this.trackPersist(
|
|
1128
1260
|
updateCronTasks(
|
|
1129
1261
|
this.projectRoot,
|
|
1130
|
-
(tasks) => tasks.filter((t) =>
|
|
1262
|
+
(tasks) => tasks.filter((t) => {
|
|
1263
|
+
if (!removed.has(t.id)) return true;
|
|
1264
|
+
removedByFire.add(t.id);
|
|
1265
|
+
const snapshot = this.restorablePerRunOneShots.get(t.id);
|
|
1266
|
+
if (snapshot) {
|
|
1267
|
+
snapshot.task = {
|
|
1268
|
+
...t,
|
|
1269
|
+
lastFiredAt: snapshot.task.lastFiredAt
|
|
1270
|
+
};
|
|
1271
|
+
}
|
|
1272
|
+
return false;
|
|
1273
|
+
}).map((t) => {
|
|
1131
1274
|
const stamp = firedAt.get(t.id);
|
|
1132
1275
|
if (stamp === void 0 || (t.lastFiredAt ?? 0) >= stamp)
|
|
1133
1276
|
return t;
|
|
@@ -1142,8 +1285,22 @@ var CronScheduler = class {
|
|
|
1142
1285
|
...t.sessionMode !== "per_run" && this.sessionId ? { sessionId: this.sessionId } : {}
|
|
1143
1286
|
})
|
|
1144
1287
|
};
|
|
1145
|
-
})
|
|
1146
|
-
|
|
1288
|
+
}),
|
|
1289
|
+
{
|
|
1290
|
+
observeDeletionIds: /* @__PURE__ */ __name((tasks) => [
|
|
1291
|
+
...removedIds,
|
|
1292
|
+
...tasks.flatMap(
|
|
1293
|
+
(task) => removed.has(task.id) && task.sessionId ? [cronTaskSessionDeletionId(task.sessionId)] : []
|
|
1294
|
+
)
|
|
1295
|
+
], "observeDeletionIds"),
|
|
1296
|
+
onDeletionGenerations: /* @__PURE__ */ __name((generations) => {
|
|
1297
|
+
removalGenerations = generations;
|
|
1298
|
+
}, "onDeletionGenerations")
|
|
1299
|
+
}
|
|
1300
|
+
).then(recordRemovalGenerations, (error) => {
|
|
1301
|
+
recordRemovalGenerations();
|
|
1302
|
+
throw error;
|
|
1303
|
+
}).finally(() => {
|
|
1147
1304
|
this.clearFirePersistPending(guarded);
|
|
1148
1305
|
})
|
|
1149
1306
|
);
|
|
@@ -1186,6 +1343,13 @@ var CronScheduler = class {
|
|
|
1186
1343
|
if (!job.recurring || expired) {
|
|
1187
1344
|
this.jobs.delete(job.id);
|
|
1188
1345
|
}
|
|
1346
|
+
if (!job.recurring && job.durable && job.sessionMode === "per_run") {
|
|
1347
|
+
this.consumedPerRunOneShots.add(job.id);
|
|
1348
|
+
const snapshot = this.restorablePerRunOneShots.get(job.id);
|
|
1349
|
+
if (snapshot) {
|
|
1350
|
+
snapshot.task = { ...snapshot.task, lastFiredAt: matchedMinuteMs };
|
|
1351
|
+
}
|
|
1352
|
+
}
|
|
1189
1353
|
if (this.onFire) {
|
|
1190
1354
|
this.onFire(job);
|
|
1191
1355
|
}
|
|
@@ -1274,6 +1438,8 @@ function durableTaskToJob(task, recurringMaxAgeMs, existing) {
|
|
|
1274
1438
|
durable: true,
|
|
1275
1439
|
...task.sessionId ? { boundSessionId: task.sessionId } : {},
|
|
1276
1440
|
...task.sessionMode ? { sessionMode: task.sessionMode } : {},
|
|
1441
|
+
...task.modelServiceId ? { modelServiceId: task.modelServiceId } : {},
|
|
1442
|
+
...task.groupId ? { groupId: task.groupId } : {},
|
|
1277
1443
|
...task.name ? { name: task.name } : {},
|
|
1278
1444
|
...task.delivery && task.sessionId ? { delivery: task.delivery } : {}
|
|
1279
1445
|
};
|
|
@@ -8,18 +8,18 @@ import {
|
|
|
8
8
|
} from "./chunk-JL6APGBX.js";
|
|
9
9
|
import {
|
|
10
10
|
buildSessionAwareFetch
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-C75BXMPM.js";
|
|
12
12
|
import {
|
|
13
13
|
isQwenFamilyWireModel,
|
|
14
14
|
isTieredEffortWireModel
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7MIBD3LG.js";
|
|
16
16
|
import {
|
|
17
17
|
REASONING_EFFORT_TIERS,
|
|
18
18
|
clampReasoningEffort,
|
|
19
19
|
getGptReasoningCapabilities,
|
|
20
20
|
isReasoningEffortPlaceholder,
|
|
21
21
|
parseModelReasoningCapabilities
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-ARDHE6MM.js";
|
|
23
23
|
import {
|
|
24
24
|
defaultOutputCeiling,
|
|
25
25
|
hasExplicitOutputLimit,
|
|
@@ -480,16 +480,20 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
480
480
|
*
|
|
481
481
|
* This method applies DashScope-specific configurations including:
|
|
482
482
|
* - Cache control for the system message, last tool message (when tools are configured),
|
|
483
|
-
* and the latest history message
|
|
483
|
+
* and the latest history message — or, when a reattach region trails the
|
|
484
|
+
* conversation, the last stable block before it
|
|
484
485
|
* - Output token limits based on model capabilities
|
|
485
486
|
* - Vision model specific parameters (vl_high_resolution_images)
|
|
486
487
|
* - Request metadata for session tracking
|
|
487
488
|
*
|
|
488
489
|
* @param request - The original chat completion request parameters
|
|
489
490
|
* @param userPromptId - Unique identifier for the user prompt for session tracking
|
|
491
|
+
* @param reattachBlockCount - Number of trailing blocks in the last message that
|
|
492
|
+
* belong to the regenerated reattach region; the conversation cache breakpoint
|
|
493
|
+
* is placed before them. Defaults to 0 (last block of the last message).
|
|
490
494
|
* @returns Configured request with DashScope-specific parameters applied
|
|
491
495
|
*/
|
|
492
|
-
buildRequest(request, userPromptId) {
|
|
496
|
+
buildRequest(request, userPromptId, reattachBlockCount = 0) {
|
|
493
497
|
let messages = request.messages;
|
|
494
498
|
let tools = request.tools;
|
|
495
499
|
const flattenPlainTextForGlm = this.isGlmModel(request.model) && !this.hasFunctionCallingContext(request);
|
|
@@ -498,7 +502,8 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
498
502
|
} else if (this.shouldEnableCacheControl()) {
|
|
499
503
|
const { messages: updatedMessages, tools: updatedTools } = this.addDashScopeCacheControl(
|
|
500
504
|
request,
|
|
501
|
-
request.stream ? "all" : "system_only"
|
|
505
|
+
request.stream ? "all" : "system_only",
|
|
506
|
+
reattachBlockCount
|
|
502
507
|
);
|
|
503
508
|
messages = updatedMessages;
|
|
504
509
|
tools = updatedTools;
|
|
@@ -530,7 +535,7 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
530
535
|
...requestParams,
|
|
531
536
|
messages,
|
|
532
537
|
...tools ? { tools } : {},
|
|
533
|
-
...this.
|
|
538
|
+
...this.buildRequestMetadata(request.model, userPromptId),
|
|
534
539
|
...dashscopeExtras2
|
|
535
540
|
};
|
|
536
541
|
if (hasQwenEffortConfig && "reasoning" in visionResult) {
|
|
@@ -552,7 +557,7 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
552
557
|
// Preserve all original parameters including sampling params and adjusted max_tokens
|
|
553
558
|
messages,
|
|
554
559
|
...tools ? { tools } : {},
|
|
555
|
-
...this.
|
|
560
|
+
...this.buildRequestMetadata(request.model, userPromptId),
|
|
556
561
|
...dashscopeExtras
|
|
557
562
|
};
|
|
558
563
|
if (hasQwenEffortConfig && "reasoning" in result) {
|
|
@@ -737,6 +742,49 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
737
742
|
}
|
|
738
743
|
}
|
|
739
744
|
conflictingKnobDropWarned = false;
|
|
745
|
+
/**
|
|
746
|
+
* DashScope is an aggregating gateway: a non-qwen model (e.g. `ZHIPU/GLM-...`)
|
|
747
|
+
* reached through the same endpoint has its request forwarded to that vendor's
|
|
748
|
+
* own backend, `metadata` object included. Those backends type `metadata` as a
|
|
749
|
+
* string, so the object fails to deserialize and the request is rejected with a
|
|
750
|
+
* flat 400, making the model unusable through Qwen Code. `metadata` is a
|
|
751
|
+
* platform-private tracing field (sessionId / promptId / channel) that only
|
|
752
|
+
* means anything to DashScope's own inference path, so gate it on the wire model
|
|
753
|
+
* the same way `buildQwenEffortConfig` gates the qwen-only thinking knobs, for
|
|
754
|
+
* the same stated reason: qwen-specific fields must not leak to a non-qwen model
|
|
755
|
+
* sharing the endpoint.
|
|
756
|
+
*
|
|
757
|
+
* This is orthogonal to which *origins* count as DashScope-compatible, so the
|
|
758
|
+
* `*.alicloudapi.com` recognition added in #9103 is untouched: a qwen model
|
|
759
|
+
* behind such a gateway still ships metadata.
|
|
760
|
+
*/
|
|
761
|
+
buildRequestMetadata(model, userPromptId) {
|
|
762
|
+
if (!this.shouldSendRequestMetadata(model)) {
|
|
763
|
+
return {};
|
|
764
|
+
}
|
|
765
|
+
return this.buildMetadata(userPromptId) || {};
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* Auto by default: qwen-family wire models only, per the gateway reasoning on
|
|
769
|
+
* {@link buildRequestMetadata}. The client cannot tell a forwarded request from
|
|
770
|
+
* one DashScope serves itself, so an explicit `enableRequestMetadata` wins in
|
|
771
|
+
* both directions: `true` restores the field for a non-qwen model served
|
|
772
|
+
* first-party whose tracing still matters, `false` suppresses it everywhere.
|
|
773
|
+
* Read only from the provider's own config, never the session's. A
|
|
774
|
+
* side-model generator is built with its own per-model config but shares
|
|
775
|
+
* the session `Config`, and a cross-provider agent config deliberately
|
|
776
|
+
* clears this field, so any session fallback would let the main model's
|
|
777
|
+
* value decide a different model's request. On the main route the provider
|
|
778
|
+
* config is the same object the qwen-oauth hot switch mutates in place, so
|
|
779
|
+
* nothing is latched here.
|
|
780
|
+
*/
|
|
781
|
+
shouldSendRequestMetadata(model) {
|
|
782
|
+
const configured = this.contentGeneratorConfig.enableRequestMetadata;
|
|
783
|
+
if (typeof configured === "boolean") {
|
|
784
|
+
return configured;
|
|
785
|
+
}
|
|
786
|
+
return isQwenFamilyWireModel(this.resolveWireModel(model));
|
|
787
|
+
}
|
|
740
788
|
buildMetadata(userPromptId) {
|
|
741
789
|
const channel = this.cliConfig.getChannel?.();
|
|
742
790
|
return {
|
|
@@ -753,20 +801,25 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
753
801
|
/**
|
|
754
802
|
* Add cache control flag to specified message(s) for DashScope providers
|
|
755
803
|
*/
|
|
756
|
-
addDashScopeCacheControl(request, cacheControl) {
|
|
804
|
+
addDashScopeCacheControl(request, cacheControl, reattachBlockCount = 0) {
|
|
757
805
|
const messages = request.messages;
|
|
758
806
|
const systemIndex = messages.findIndex((msg) => msg.role === "system");
|
|
759
807
|
const lastIndex = messages.length - 1;
|
|
808
|
+
const stableBlock = reattachBlockCount > 0 && lastIndex >= 0 ? this.lastStableBlock(messages, reattachBlockCount) : { messageIndex: lastIndex, excludeTail: 0 };
|
|
760
809
|
const updatedMessages = messages.length === 0 ? messages : messages.map((message, index) => {
|
|
810
|
+
const isConversationAnchor = stableBlock?.messageIndex === index && cacheControl === "all";
|
|
761
811
|
const shouldAddCacheControl = Boolean(
|
|
762
|
-
index === systemIndex && systemIndex !== -1 ||
|
|
812
|
+
index === systemIndex && systemIndex !== -1 || isConversationAnchor
|
|
763
813
|
);
|
|
764
814
|
if (!shouldAddCacheControl || !("content" in message) || message.content === null || message.content === void 0) {
|
|
765
815
|
return message;
|
|
766
816
|
}
|
|
767
817
|
return {
|
|
768
818
|
...message,
|
|
769
|
-
content: this.addCacheControlToContent(
|
|
819
|
+
content: this.addCacheControlToContent(
|
|
820
|
+
message.content,
|
|
821
|
+
isConversationAnchor && stableBlock ? stableBlock.excludeTail : 0
|
|
822
|
+
)
|
|
770
823
|
};
|
|
771
824
|
});
|
|
772
825
|
const updatedTools = cacheControl === "all" && request.tools?.length ? this.addCacheControlToTools(request.tools) : request.tools;
|
|
@@ -775,6 +828,25 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
775
828
|
tools: updatedTools
|
|
776
829
|
};
|
|
777
830
|
}
|
|
831
|
+
/**
|
|
832
|
+
* Locate the last block that is not part of the trailing reattach region,
|
|
833
|
+
* walking back through messages as needed. Returns the owning message index
|
|
834
|
+
* plus how many trailing blocks of that message to skip when stamping the
|
|
835
|
+
* conversation `cache_control` breakpoint.
|
|
836
|
+
*/
|
|
837
|
+
lastStableBlock(messages, reattachBlockCount) {
|
|
838
|
+
let remaining = reattachBlockCount;
|
|
839
|
+
for (let index = messages.length - 1; index >= 0; index--) {
|
|
840
|
+
const content = messages[index].content;
|
|
841
|
+
const blockCount = typeof content === "string" ? content.length > 0 ? 1 : 0 : Array.isArray(content) ? content.length : 0;
|
|
842
|
+
if (blockCount === 0) continue;
|
|
843
|
+
if (blockCount > remaining) {
|
|
844
|
+
return { messageIndex: index, excludeTail: remaining };
|
|
845
|
+
}
|
|
846
|
+
remaining -= blockCount;
|
|
847
|
+
}
|
|
848
|
+
return void 0;
|
|
849
|
+
}
|
|
778
850
|
addCacheControlToTools(tools) {
|
|
779
851
|
if (tools.length === 0) {
|
|
780
852
|
return tools;
|
|
@@ -790,9 +862,9 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
790
862
|
/**
|
|
791
863
|
* Add cache control to message content, handling both string and array formats
|
|
792
864
|
*/
|
|
793
|
-
addCacheControlToContent(content) {
|
|
865
|
+
addCacheControlToContent(content, excludeTail = 0) {
|
|
794
866
|
const contentArray = this.normalizeContentToArray(content);
|
|
795
|
-
return this.addCacheControlToContentArray(contentArray);
|
|
867
|
+
return this.addCacheControlToContentArray(contentArray, excludeTail);
|
|
796
868
|
}
|
|
797
869
|
/**
|
|
798
870
|
* Normalize content to array format
|
|
@@ -809,14 +881,25 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
809
881
|
return [...content];
|
|
810
882
|
}
|
|
811
883
|
/**
|
|
812
|
-
* Add cache control to the content array
|
|
884
|
+
* Add cache control to the content array, skipping `excludeTail` trailing
|
|
885
|
+
* blocks (the reattach region) so the breakpoint lands on the last stable
|
|
886
|
+
* block instead of a regenerated trailing image.
|
|
813
887
|
*/
|
|
814
|
-
addCacheControlToContentArray(contentArray) {
|
|
888
|
+
addCacheControlToContentArray(contentArray, excludeTail = 0) {
|
|
815
889
|
if (contentArray.length === 0) {
|
|
816
890
|
return contentArray;
|
|
817
891
|
}
|
|
818
|
-
|
|
819
|
-
|
|
892
|
+
let targetIndex = contentArray.length - 1 - excludeTail;
|
|
893
|
+
if (targetIndex < 0) {
|
|
894
|
+
return contentArray;
|
|
895
|
+
}
|
|
896
|
+
if (excludeTail > 0) {
|
|
897
|
+
while (targetIndex > 0 && contentArray[targetIndex].type !== "text") {
|
|
898
|
+
targetIndex -= 1;
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
const lastItem = contentArray[targetIndex];
|
|
902
|
+
contentArray[targetIndex] = {
|
|
820
903
|
...lastItem,
|
|
821
904
|
cache_control: { type: "ephemeral" }
|
|
822
905
|
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
getNestedProperty,
|
|
5
|
+
getPersistScopeForModelSelection
|
|
6
|
+
} from "./chunk-J73WJIMT.js";
|
|
7
|
+
import {
|
|
8
|
+
getHomeEnvFallbackVars
|
|
9
|
+
} from "./chunk-A6YU6R5N.js";
|
|
10
|
+
import {
|
|
11
|
+
writeWithBackupSync
|
|
12
|
+
} from "./chunk-NTCFKGQF.js";
|
|
13
|
+
import {
|
|
14
|
+
resolveEnvVarsInObject
|
|
15
|
+
} from "./chunk-65I7S4Z3.js";
|
|
16
|
+
import {
|
|
17
|
+
init_esbuild_shims
|
|
18
|
+
} from "./chunk-5O2XNYP6.js";
|
|
19
|
+
import {
|
|
20
|
+
__name
|
|
21
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
22
|
+
|
|
23
|
+
// packages/cli/src/config/loadedSettingsAdapter.ts
|
|
24
|
+
init_esbuild_shims();
|
|
25
|
+
import * as fs from "node:fs";
|
|
26
|
+
function preservePlaceholders(value, resolved, original) {
|
|
27
|
+
if (typeof original === "string" && value === resolved) return original;
|
|
28
|
+
if (Array.isArray(value) && Array.isArray(resolved) && Array.isArray(original)) {
|
|
29
|
+
return value.map(
|
|
30
|
+
(entry, index) => preservePlaceholders(entry, resolved[index], original[index])
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
if (value && resolved && original && typeof value === "object" && !Array.isArray(value) && typeof resolved === "object" && !Array.isArray(resolved) && typeof original === "object" && !Array.isArray(original)) {
|
|
34
|
+
return Object.fromEntries(
|
|
35
|
+
Object.entries(value).map(([key, entry]) => [
|
|
36
|
+
key,
|
|
37
|
+
preservePlaceholders(
|
|
38
|
+
entry,
|
|
39
|
+
resolved[key],
|
|
40
|
+
original[key]
|
|
41
|
+
)
|
|
42
|
+
])
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
__name(preservePlaceholders, "preservePlaceholders");
|
|
48
|
+
function createLoadedSettingsAdapter(settings, scope) {
|
|
49
|
+
const persistScope = scope ?? getPersistScopeForModelSelection(settings);
|
|
50
|
+
const settingsFile = settings.forScope(persistScope);
|
|
51
|
+
let fileSnapshot;
|
|
52
|
+
let settingsSnapshot = null;
|
|
53
|
+
let originalSnapshot = null;
|
|
54
|
+
return {
|
|
55
|
+
getValue(key) {
|
|
56
|
+
return getNestedProperty(settings.merged, key);
|
|
57
|
+
},
|
|
58
|
+
setValue(key, value) {
|
|
59
|
+
for (const part of key.split(".")) {
|
|
60
|
+
if (part === "__proto__" || part === "constructor" || part === "prototype") {
|
|
61
|
+
throw new Error(
|
|
62
|
+
`Refusing to write settings key with reserved segment: ${key}`
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const provider = key.startsWith("modelProviders.") && key.split(".").length === 2 ? key.slice("modelProviders.".length) : void 0;
|
|
67
|
+
if (!provider || !Array.isArray(value)) {
|
|
68
|
+
settings.setValue(persistScope, key, value);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const previous = settings.merged.modelProviders?.[provider];
|
|
72
|
+
const source = [
|
|
73
|
+
"System" /* System */,
|
|
74
|
+
...settings.isTrusted ? ["Workspace" /* Workspace */] : [],
|
|
75
|
+
"User" /* User */,
|
|
76
|
+
"SystemDefaults" /* SystemDefaults */
|
|
77
|
+
].map(
|
|
78
|
+
(source2) => settings.forScope(source2).originalSettings.modelProviders
|
|
79
|
+
).find((providers) => providers && Object.hasOwn(providers, provider));
|
|
80
|
+
const raw = source?.[provider];
|
|
81
|
+
const models = value;
|
|
82
|
+
const persisted = !Array.isArray(previous) || !Array.isArray(raw) ? models : models.map((model) => {
|
|
83
|
+
if (!model) return model;
|
|
84
|
+
const matches = previous.flatMap(
|
|
85
|
+
(entry, index2) => entry?.id === model.id && entry.baseUrl === model.baseUrl ? [index2] : []
|
|
86
|
+
);
|
|
87
|
+
if (matches.length > 1 && JSON.stringify(previous) !== JSON.stringify(raw)) {
|
|
88
|
+
throw new Error(
|
|
89
|
+
"Cannot preserve placeholders in an ambiguous model configuration. Remove duplicate model entries first."
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
const index = matches[0];
|
|
93
|
+
return index === void 0 ? model : preservePlaceholders(model, previous[index], raw[index]);
|
|
94
|
+
});
|
|
95
|
+
settings.setValue(persistScope, key, persisted);
|
|
96
|
+
settingsFile.settings.modelProviders = {
|
|
97
|
+
...settingsFile.settings.modelProviders,
|
|
98
|
+
[provider]: resolveEnvVarsInObject(persisted, getHomeEnvFallbackVars())
|
|
99
|
+
};
|
|
100
|
+
settings.recomputeMerged();
|
|
101
|
+
},
|
|
102
|
+
getModelProviders() {
|
|
103
|
+
return settings.merged.modelProviders ?? {};
|
|
104
|
+
},
|
|
105
|
+
persist() {
|
|
106
|
+
},
|
|
107
|
+
backup() {
|
|
108
|
+
const contents = fs.existsSync(settingsFile.path) ? fs.readFileSync(settingsFile.path, "utf8") : null;
|
|
109
|
+
settingsSnapshot = structuredClone(settingsFile.settings);
|
|
110
|
+
originalSnapshot = structuredClone(settingsFile.originalSettings);
|
|
111
|
+
fileSnapshot = contents;
|
|
112
|
+
},
|
|
113
|
+
restore() {
|
|
114
|
+
if (fileSnapshot === void 0) return;
|
|
115
|
+
try {
|
|
116
|
+
if (fileSnapshot === null) {
|
|
117
|
+
fs.rmSync(settingsFile.path, { force: true });
|
|
118
|
+
} else {
|
|
119
|
+
writeWithBackupSync(settingsFile.path, fileSnapshot);
|
|
120
|
+
}
|
|
121
|
+
} finally {
|
|
122
|
+
if (settingsSnapshot !== null) {
|
|
123
|
+
settingsFile.settings = settingsSnapshot;
|
|
124
|
+
}
|
|
125
|
+
if (originalSnapshot !== null) {
|
|
126
|
+
settingsFile.originalSettings = originalSnapshot;
|
|
127
|
+
}
|
|
128
|
+
settings.recomputeMerged();
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
cleanupBackup() {
|
|
132
|
+
fileSnapshot = void 0;
|
|
133
|
+
settingsSnapshot = null;
|
|
134
|
+
originalSnapshot = null;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
__name(createLoadedSettingsAdapter, "createLoadedSettingsAdapter");
|
|
139
|
+
|
|
140
|
+
export {
|
|
141
|
+
createLoadedSettingsAdapter
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* @license
|
|
145
|
+
* Copyright 2025 Qwen Team
|
|
146
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
147
|
+
*
|
|
148
|
+
* Adapter that lets core's `applyProviderInstallPlan` write through
|
|
149
|
+
* `LoadedSettings` while preserving CLI-specific guarantees:
|
|
150
|
+
* - scope resolution via `getPersistScopeForModelSelection`
|
|
151
|
+
* - original file contents for transaction rollback
|
|
152
|
+
* - in-memory snapshot of `settings` / `originalSettings` for rollback
|
|
153
|
+
* - merged-settings recomputation after restore
|
|
154
|
+
*/
|
|
@@ -5,26 +5,26 @@ import {
|
|
|
5
5
|
} from "./chunk-57OAHC2Y.js";
|
|
6
6
|
import {
|
|
7
7
|
loadSettings
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-J73WJIMT.js";
|
|
9
9
|
import {
|
|
10
10
|
getCurrentLanguage,
|
|
11
11
|
t
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-I6YJZGHS.js";
|
|
13
13
|
import {
|
|
14
14
|
isWorkspaceTrusted
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-NTCFKGQF.js";
|
|
16
16
|
import {
|
|
17
17
|
ExtensionManager,
|
|
18
18
|
getExtensionDescription,
|
|
19
19
|
getExtensionDisplayName,
|
|
20
20
|
require_prompts
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-CFSBWJBB.js";
|
|
22
22
|
import {
|
|
23
23
|
stripAnsi
|
|
24
24
|
} from "./chunk-TWPJO254.js";
|
|
25
25
|
import {
|
|
26
26
|
redactUrlCredentials
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-4Y2I3CI3.js";
|
|
28
28
|
import {
|
|
29
29
|
writeStdoutLine
|
|
30
30
|
} from "./chunk-7FA2II6K.js";
|