@qwen-code/qwen-code 0.21.1 → 0.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/settings.md +1 -0
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/github.md +42 -10
- package/bundled/qc-helper/docs/features/channels/gitlab.md +171 -0
- package/bundled/qc-helper/docs/features/code-review.md +20 -0
- package/bundled/qc-helper/docs/features/hooks.md +20 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +22 -8
- package/bundled/qc-helper/docs/qwen-serve.md +7 -5
- package/bundled/review/SKILL.md +1 -1
- package/chunks/{MaxSizedBox-VI3ROJJA.js → MaxSizedBox-TQBQ247P.js} +42 -38
- package/chunks/{StandaloneSessionPicker-LYXKD2EV.js → StandaloneSessionPicker-2HPTKCLX.js} +58 -54
- package/chunks/{acp-startup-profiler-DFVPFQ6C.js → acp-startup-profiler-2C4A5ZTJ.js} +2 -2
- package/chunks/{acpAgent-WN5SRDQO.js → acpAgent-PS6EDGH3.js} +431 -168
- package/chunks/{agent-K6ECSM64.js → agent-VDOUB35F.js} +38 -34
- package/chunks/{agent-headless-NO4Y2HOE.js → agent-headless-EO53EFS2.js} +38 -34
- package/chunks/{anthropicContentGenerator-V2QOGVYD.js → anthropicContentGenerator-OFHSZJBF.js} +6 -6
- package/chunks/{artifact-tool-6K6U7XYJ.js → artifact-tool-RDN2W7ND.js} +2 -2
- package/chunks/{askUserQuestion-GD2IJJ7I.js → askUserQuestion-OZERWH5R.js} +2 -2
- package/chunks/{bridge-3KJEWDNE.js → bridge-W7AZSRZQ.js} +42 -38
- package/chunks/{build-S6DO7LMM.js → build-GDBLPA24.js} +1 -1
- package/chunks/{channel-management-service-XR7GZSWF.js → channel-management-service-5S7YCWX5.js} +20 -5
- package/chunks/{channel-settings-store-HW4FXXUA.js → channel-settings-store-JFVRSNER.js} +44 -40
- package/chunks/{channel-worker-group-XDPTDWTX.js → channel-worker-group-OVWGYMZS.js} +5 -5
- package/chunks/{channel-worker-manager-YYEHVRRE.js → channel-worker-manager-H55GKOQA.js} +5 -5
- package/chunks/{channel-worker-supervisor-74HTWA2G.js → channel-worker-supervisor-CABBXYHK.js} +3 -3
- package/chunks/{chunk-UWMLWVCA.js → chunk-2IIJTXYF.js} +26 -10
- package/chunks/{chunk-VYOXCEPJ.js → chunk-2KKCCLPT.js} +1 -1
- package/chunks/{chunk-T4TXDL7G.js → chunk-2LEOZTBT.js} +36 -24
- package/chunks/{chunk-XWWKIXVD.js → chunk-3APUUXRF.js} +1 -1
- package/chunks/{chunk-TCIFAA7K.js → chunk-3F2WDAV6.js} +2 -2
- package/chunks/{chunk-SGFT55XI.js → chunk-3I6DUGQD.js} +1 -1
- package/chunks/{chunk-ZURDMIDR.js → chunk-44F4LBWZ.js} +228 -71
- package/chunks/{chunk-GKX7E4CO.js → chunk-45IOTAUS.js} +1 -1
- package/chunks/{chunk-6QIGFD5W.js → chunk-4KP2F2TE.js} +1 -1
- package/chunks/{chunk-X5WNMMIA.js → chunk-54YCNSK5.js} +4241 -1636
- package/chunks/{chunk-P4WOAOJW.js → chunk-56Z7QEAQ.js} +67 -21
- package/chunks/{chunk-UPUG4GXM.js → chunk-5NNHICSA.js} +3 -3
- package/chunks/{chunk-LGAOC3ZS.js → chunk-675H6PLP.js} +1 -1
- package/chunks/{chunk-5KTQXHPY.js → chunk-6CQWRWUC.js} +3 -3
- package/chunks/chunk-6FMJLI5M.js +1591 -0
- package/chunks/{chunk-GZ3RCT54.js → chunk-6MPDY6ZG.js} +1 -1
- package/chunks/{chunk-RCUQIPTN.js → chunk-6PQPKTXP.js} +1 -1
- package/chunks/{chunk-KCO4FLFJ.js → chunk-6TAASXWL.js} +3 -3
- package/chunks/{chunk-JHNRZMHI.js → chunk-77V3VIKL.js} +9 -9
- package/chunks/{chunk-CAPPWD3X.js → chunk-7KAXXBER.js} +3 -3
- package/chunks/{chunk-A4COXFB3.js → chunk-7SJN2IWT.js} +5 -5
- package/chunks/{chunk-Y4IHBGBP.js → chunk-7ULQIS27.js} +1 -1
- package/chunks/{chunk-5MKRTI4T.js → chunk-A7Y5H4TX.js} +4 -4
- package/chunks/{chunk-CVHIL5IG.js → chunk-AOHY3QJ3.js} +13 -6
- package/chunks/chunk-AQ37AY7B.js +93 -0
- package/chunks/{chunk-OCESJA77.js → chunk-AUOULH6Q.js} +45 -45
- package/chunks/{chunk-UBEPNVDI.js → chunk-BBIQAX4V.js} +3 -3
- package/chunks/{chunk-JSD33JG6.js → chunk-CBBP4BMC.js} +23 -9
- package/chunks/{chunk-ZHBO7WVX.js → chunk-CNTR4GR6.js} +1 -1
- package/chunks/{chunk-PB3MBFKG.js → chunk-CO2U743O.js} +4 -4
- package/chunks/{chunk-XZC5VLBZ.js → chunk-CPZAH673.js} +4 -0
- package/chunks/{chunk-T3O2B4XO.js → chunk-CU47KXB5.js} +3 -3
- package/chunks/{chunk-2LKVPASC.js → chunk-D4HTUMGX.js} +3 -3
- package/chunks/{chunk-BNWB5CYE.js → chunk-D6MDRSZ6.js} +7 -7
- package/chunks/{chunk-7BAU433D.js → chunk-DEEABGH2.js} +867 -91
- package/chunks/{chunk-52ZSWYEG.js → chunk-DQ2O5QOJ.js} +1 -1
- package/chunks/{chunk-WBSMNTSV.js → chunk-DSFHVTWD.js} +2 -2
- package/chunks/{chunk-PT722TDT.js → chunk-DUNI4EBW.js} +701 -86
- package/chunks/{chunk-UHUSJ6X7.js → chunk-E2BHWIDT.js} +19 -4
- package/chunks/{chunk-T2QMKU3R.js → chunk-E2FN6SM7.js} +17 -5
- package/chunks/{chunk-W4MIWP6M.js → chunk-E6CJ2SMM.js} +2 -2
- package/chunks/{chunk-5ZF5XXTS.js → chunk-EQNUDTL6.js} +2 -2
- package/chunks/{chunk-2N7CODY5.js → chunk-EU5TBFJI.js} +2 -2
- package/chunks/{chunk-TFRMVU6R.js → chunk-FANRZEAJ.js} +1 -1
- package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
- package/chunks/{chunk-GNR2RNMP.js → chunk-FCYYAB4S.js} +2 -2
- package/chunks/{chunk-FNMZK765.js → chunk-FJ5WUMUQ.js} +1 -1
- package/chunks/{chunk-J7OACQDE.js → chunk-FNDXMN7I.js} +71 -49
- package/chunks/{chunk-U3E3UQAA.js → chunk-FS674JW4.js} +3 -3
- package/chunks/{chunk-S7W2GKIO.js → chunk-G7XXKQYS.js} +2 -0
- package/chunks/{chunk-VWOOBLTY.js → chunk-GJ2GBPBD.js} +2 -2
- package/chunks/{chunk-TBBV36Y4.js → chunk-GL4JOZXU.js} +4 -4
- package/chunks/{chunk-FTD6DP4T.js → chunk-GURGAJTX.js} +2 -1
- package/chunks/{chunk-65PQENQP.js → chunk-H6I4PGRV.js} +5 -5
- package/chunks/{chunk-7XATOOE7.js → chunk-HC45LTEN.js} +1 -1
- package/chunks/{chunk-VCPIZRYH.js → chunk-HIVKI6O6.js} +7 -7
- package/chunks/{chunk-HMRM2A3U.js → chunk-HX6RLYUO.js} +3 -3
- package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
- package/chunks/{chunk-2XSLTRFZ.js → chunk-I5BT7ADR.js} +2 -2
- package/chunks/{chunk-GATT5TKW.js → chunk-IGTHU3T4.js} +1 -1
- package/chunks/{chunk-4G2BISNC.js → chunk-IIUGIWWY.js} +1 -1
- package/chunks/{chunk-7I5GTCT4.js → chunk-JCJ7LKNA.js} +5104 -4817
- package/chunks/{chunk-657BH7VM.js → chunk-JE2CEOBO.js} +2 -2
- package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
- package/chunks/{chunk-BPZKP57P.js → chunk-JJPKFJBT.js} +3 -3
- package/chunks/{chunk-6PE7N3A4.js → chunk-JLZ3RBQG.js} +7 -5
- package/chunks/{chunk-2LQTH543.js → chunk-JXVC2PL3.js} +2 -2
- package/chunks/{chunk-JCW2R7WC.js → chunk-K623ENWT.js} +3 -79
- package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
- package/chunks/{chunk-6RPMI2AB.js → chunk-KR32NIAN.js} +6 -6
- package/chunks/{chunk-XBYYDKAZ.js → chunk-KWHKHSIS.js} +8 -7
- package/chunks/{chunk-EVKE2FZL.js → chunk-KXDONCPU.js} +4 -4
- package/chunks/{chunk-5TBMQLGG.js → chunk-L2E5GFAG.js} +2 -2
- package/chunks/{chunk-MHAIJPTD.js → chunk-L32VV3ZJ.js} +12 -12
- package/chunks/{chunk-OKF7JF3R.js → chunk-LHKCY7DY.js} +3 -3
- package/chunks/{chunk-LW3RFMG7.js → chunk-LOY7RWQG.js} +3 -3
- package/chunks/{chunk-AQIDMUGU.js → chunk-LYI2PZDK.js} +1 -1
- package/chunks/{chunk-YGF33UXG.js → chunk-MB32MS4U.js} +12 -3
- package/chunks/{chunk-Y6AXW2OG.js → chunk-MM7TH7ZM.js} +1 -1
- package/chunks/{chunk-2DN4J57Y.js → chunk-N4ACHWNH.js} +1 -1
- package/chunks/{chunk-M7OONWYU.js → chunk-NBD76HUW.js} +4 -2
- package/chunks/{chunk-A2D5BAVP.js → chunk-NHFEMWAZ.js} +1 -1
- package/chunks/{chunk-3EFXSQCM.js → chunk-NTDH4IML.js} +7 -7
- package/chunks/chunk-O6GEWCJA.js +21 -0
- package/chunks/{chunk-7DXQIJID.js → chunk-OFZKFPYG.js} +3 -3
- package/chunks/{chunk-JTV5K7NH.js → chunk-P5VC5USY.js} +1 -1
- package/chunks/{chunk-Q43KPN7X.js → chunk-P755N4CS.js} +3 -3
- package/chunks/{chunk-XFZYFU3I.js → chunk-PCK4B6LR.js} +1 -1
- package/chunks/{chunk-EJGJIBRS.js → chunk-PJOHNFIY.js} +3 -3
- package/chunks/{chunk-WUZ7H6DP.js → chunk-PVNQRENX.js} +1 -1
- package/chunks/{chunk-LO4ROVP4.js → chunk-PZEXDV3H.js} +106 -8
- package/chunks/{chunk-WZRWHXFE.js → chunk-Q3T5KA2V.js} +1 -1
- package/chunks/{chunk-QIZKCVM3.js → chunk-Q5WZTTWE.js} +4 -4
- package/chunks/{chunk-BGTQCTQW.js → chunk-QARJNL2V.js} +3 -3
- package/chunks/{chunk-GXIJHV66.js → chunk-QCXGC7QB.js} +3 -3
- package/chunks/{chunk-DZLYR4U3.js → chunk-QDK4F2N5.js} +1 -1
- package/chunks/{chunk-NOKIVHOL.js → chunk-QTHQ6Z5X.js} +1 -1
- package/chunks/{chunk-A3NDJ5SB.js → chunk-R2XWGR75.js} +2 -2
- package/chunks/{chunk-JX27F6QS.js → chunk-RDJOB6S3.js} +1 -1
- package/chunks/{chunk-TV64SXKD.js → chunk-RG64CDT2.js} +4 -4
- package/chunks/{chunk-JFMA7Y5M.js → chunk-RSVPYAGK.js} +5 -5
- package/chunks/{chunk-64LQLPL7.js → chunk-SHN4KHDK.js} +3 -3
- package/chunks/chunk-T3CHYWJZ.js +758 -0
- package/chunks/{chunk-PONHVBRT.js → chunk-TEGJSJDF.js} +2 -2
- package/chunks/{chunk-75GFAX4R.js → chunk-THVU3RNH.js} +1 -1
- package/chunks/{record-artifact-XAMSFSW4.js → chunk-TIRRPCFS.js} +22 -7
- package/chunks/{chunk-HV26XH34.js → chunk-TTJZAIFP.js} +3 -3
- package/chunks/{chunk-JMONIXMJ.js → chunk-TZTAV5RH.js} +1 -1
- package/chunks/{chunk-7AEJDLRA.js → chunk-UV6KF7T3.js} +2 -2
- package/chunks/{chunk-PLDQBIO6.js → chunk-V25K5ID7.js} +1 -1
- package/chunks/{chunk-S4WJVPZW.js → chunk-V4XNUDPE.js} +3 -3
- package/chunks/{chunk-2FAK6PNM.js → chunk-VEMNQMHA.js} +2 -2
- package/chunks/{chunk-CQL64ESB.js → chunk-VMX5RZQH.js} +12 -10
- package/chunks/{chunk-EIF3FXTB.js → chunk-W3UKBMSI.js} +63 -18
- package/chunks/{chunk-TDL6LB4K.js → chunk-WWCMSZII.js} +21 -9
- package/chunks/{chunk-5YKDXHUY.js → chunk-XP4L6KS3.js} +2 -2
- package/chunks/{chunk-RPLGZJV2.js → chunk-XQK4XXTN.js} +1 -1
- package/chunks/{chunk-KAMYKP7E.js → chunk-XUGZYLDH.js} +1 -1
- package/chunks/{chunk-MR5EAQ5M.js → chunk-YANIWTRZ.js} +1 -1
- package/chunks/{chunk-3L2SPEBH.js → chunk-YGE3IXJP.js} +1 -1
- package/chunks/{chunk-BCZFQXWK.js → chunk-YUFIEIWC.js} +1 -1
- package/chunks/{chunk-75MIQ3LV.js → chunk-Z3S5EMOW.js} +4 -4
- package/chunks/{chunk-BMFALVGQ.js → chunk-ZMOJ7ISP.js} +1 -1
- package/chunks/{chunk-GEBV2JGB.js → chunk-ZPZ7ZJEE.js} +1 -1
- package/chunks/{computer-use-ZTIDHMMA.js → computer-use-5QWCFNKD.js} +38 -34
- package/chunks/{config-utils-NYSXDMEQ.js → config-utils-WADIDWGG.js} +4 -4
- package/chunks/{contextCommand-2PIEU37Z.js → contextCommand-4Z7T7TUM.js} +40 -36
- package/chunks/{core-runtime-3XEYLQFK.js → core-runtime-6N4EFC2Q.js} +38 -34
- package/chunks/{create-sub-session-SBYUMSSS.js → create-sub-session-62YZWVAY.js} +2 -2
- package/chunks/{create-sub-session-R76FVXCI.js → create-sub-session-AEREHZBQ.js} +38 -34
- package/chunks/{cron-create-2QK6TCEC.js → cron-create-6E7GIQTG.js} +4 -4
- package/chunks/{cron-delete-FDCDFYMG.js → cron-delete-JD26XY3W.js} +4 -4
- package/chunks/{cron-list-XN3WVBTP.js → cron-list-CUWFB44G.js} +4 -4
- package/chunks/{daemon-Q2AB5Z23.js → daemon-PCNCI5YU.js} +72 -3
- package/chunks/{daemon-status-provider-3XJI6CAL.js → daemon-status-provider-DDF7C5M7.js} +46 -42
- package/chunks/{daemon-trust-policy-ILUDTLHD.js → daemon-trust-policy-Q4KSOJTR.js} +43 -39
- package/chunks/{daemon-trust-policy-monitor-HS3PKKRO.js → daemon-trust-policy-monitor-V6FTE3IY.js} +43 -39
- package/chunks/{deferred-core-runtime-X4QV662U.js → deferred-core-runtime-GHJ5GQHK.js} +38 -34
- package/chunks/{dist-BSTVRPMT.js → dist-26BIMQT6.js} +276 -16
- package/chunks/{dist-SV7Q3AWJ.js → dist-2PERFI23.js} +12 -9
- package/chunks/{dist-DOLYHMXE.js → dist-OAOC5OV4.js} +2 -2
- package/chunks/{dist-YGBBMK3Z.js → dist-PVEAFLHY.js} +5 -4
- package/chunks/{dist-HVRQ2CFL.js → dist-SL2LUMML.js} +1180 -5
- package/chunks/dist-ULIG4M5H.js +13415 -0
- package/chunks/{dist-IXQEQWRG.js → dist-WGMNT3JQ.js} +1 -1
- package/chunks/{dist-SSU66DM4.js → dist-ZHXOBXDN.js} +1 -1
- package/chunks/{earlyInputCapture-XKLZT7ZD.js → earlyInputCapture-TQXLLISD.js} +39 -35
- package/chunks/{edit-HHGIOTQ2.js → edit-FJEUV6KZ.js} +38 -34
- package/chunks/{enter-worktree-ZN7PUQ46.js → enter-worktree-7GE3TZ4P.js} +38 -34
- package/chunks/{enterPlanMode-EIFIDSIV.js → enterPlanMode-KR5TMPCJ.js} +38 -34
- package/chunks/{environment-XXQ75D2Q.js → environment-SWL3CMB3.js} +40 -36
- package/chunks/{errors-4GMVU7CK.js → errors-XQE7BGZV.js} +40 -36
- package/chunks/{exit-worktree-GXMI4ATY.js → exit-worktree-CHKTYNCV.js} +38 -34
- package/chunks/{exitPlanMode-34UVY7M6.js → exitPlanMode-QYAG6LWX.js} +38 -34
- package/chunks/{fast-path-VPIVA7L6.js → fast-path-Z2K7W6DC.js} +2 -2
- package/chunks/{gemini-4BWIK4WD.js → gemini-YU4XKEDG.js} +91 -87
- package/chunks/{geminiContentGenerator-3XVV5MSS.js → geminiContentGenerator-ZZX6NBO4.js} +6 -6
- package/chunks/{glob-TZ2ABCJG.js → glob-VYF5CXSX.js} +38 -34
- package/chunks/goal-tools-HGO6VXPB.js +335 -0
- package/chunks/{grep-BEF463NA.js → grep-5DP5ZUTW.js} +38 -34
- package/chunks/{handleAutoUpdate-L6ERF36Y.js → handleAutoUpdate-UVBJ56DL.js} +42 -38
- package/chunks/{i18n-FMM5FDXR.js → i18n-UQNYHEUD.js} +39 -35
- package/chunks/{image-gen-HHVLF7HS.js → image-gen-WHPIZNWF.js} +9 -9
- package/chunks/{initializer-625TIAIO.js → initializer-GMIICF4W.js} +44 -40
- package/chunks/{installationInfo-6AM4I2Y3.js → installationInfo-4MGG4WVI.js} +39 -35
- package/chunks/{keychain-token-storage-72IYCAZV.js → keychain-token-storage-IKO4G53C.js} +2 -2
- package/chunks/list-CPN2W334.js +92 -0
- package/chunks/{list-agents-R6KDXQR3.js → list-agents-PXJ7ZUFB.js} +2 -2
- package/chunks/{loadedSettingsAdapter-SPUTNKAV.js → loadedSettingsAdapter-ZQAV5NDO.js} +43 -39
- package/chunks/{loggingContentGenerator-LKOF7XI7.js → loggingContentGenerator-5E7W4IEP.js} +18 -18
- package/chunks/{loop-wakeup-3IQKCYAH.js → loop-wakeup-Y26NQZ5I.js} +13 -6
- package/chunks/{ls-DKZ37A7N.js → ls-ONQTTMQR.js} +4 -4
- package/chunks/{lsp-QNWN7KN3.js → lsp-YGHHRGMD.js} +2 -2
- package/chunks/{managed-npm-update-ACQGGIN5.js → managed-npm-update-MKKAXYXA.js} +39 -35
- package/chunks/{mcp-SZLHKFJW.js → mcp-V5NTJF6X.js} +43 -39
- package/chunks/{monitor-DF52UVHI.js → monitor-CO3ASY6E.js} +38 -34
- package/chunks/nonInteractiveCli-ZJYEOO7U.js +148 -0
- package/chunks/{notebook-edit-FCWS4XVN.js → notebook-edit-Z7AEE6FM.js} +38 -34
- package/chunks/{openaiContentGenerator-7LDK3DCJ.js → openaiContentGenerator-CA3MQOP3.js} +19 -19
- package/chunks/{pidfile-6ERW3DF4.js → pidfile-NL7MKDRU.js} +39 -35
- package/chunks/{processUtils-COKZAMUP.js → processUtils-PB5K2DYH.js} +2 -2
- package/chunks/{qwenContentGenerator-TKWUMR7N.js → qwenContentGenerator-JYFNDCOS.js} +44 -40
- package/chunks/{qwenOAuth2-7HMU47SF.js → qwenOAuth2-W2ALKQDD.js} +8 -8
- package/chunks/{read-file-X6DRC574.js → read-file-IEOR5H5W.js} +11 -11
- package/chunks/{read-mcp-resource-GFTWYXMK.js → read-mcp-resource-U2IJN5HM.js} +2 -2
- package/chunks/record-artifact-MGPJ7EG4.js +21 -0
- package/chunks/{resumeHistoryUtils-PFPM2GWM.js → resumeHistoryUtils-BNBTP5AS.js} +44 -40
- package/chunks/{ripGrep-OWV2IVJC.js → ripGrep-UMQODKEB.js} +38 -34
- package/chunks/{run-qwen-serve-TSTCO4XE.js → run-qwen-serve-RN2R6QQW.js} +116 -65
- package/chunks/{runtime-DAUPSUKI.js → runtime-QFJ2MJF5.js} +48 -44
- package/chunks/{scheduler-KMADMT26.js → scheduler-AMYUFOZI.js} +38 -34
- package/chunks/{sdk-exporters-http-WO556XNU.js → sdk-exporters-http-4BQANSJ6.js} +3 -3
- package/chunks/{sdk-impl-LPAVACSF.js → sdk-impl-Z4VXWVFX.js} +3 -3
- package/chunks/{send-message-SAWK4DZX.js → send-message-PMP4ATVM.js} +6 -11
- package/chunks/{serve-NNRWS6F4.js → serve-EIIYJVX3.js} +43 -39
- package/chunks/{server-WEH7DVCH.js → server-EP2LLAPD.js} +1768 -712
- package/chunks/{session-WXC56V2I.js → session-GMPZBLOW.js} +83 -79
- package/chunks/{settings-DJDXFDZ3.js → settings-LN7RNKBS.js} +47 -43
- package/chunks/{shell-JN5VRQXD.js → shell-EM2OWU5X.js} +38 -34
- package/chunks/{skill-SGXPKJCS.js → skill-T5VPSK73.js} +17 -16
- package/chunks/{skill-settings-VJ5PDMZI.js → skill-settings-GMR3GMNY.js} +42 -38
- package/chunks/{spawnChannel-ETMJW7YX.js → spawnChannel-YPCU62DI.js} +40 -36
- package/chunks/{standalone-update-MK3Z7KBI.js → standalone-update-JAKIM2NF.js} +40 -36
- package/chunks/{startInteractiveUI-ZCGIXPGT.js → startInteractiveUI-YETQWGYF.js} +774 -779
- package/chunks/{syntheticOutput-355CB6CJ.js → syntheticOutput-D7E6ZFKR.js} +3 -3
- package/chunks/{task-create-INGWNUG4.js → task-create-NFCYD43L.js} +10 -9
- package/chunks/{task-list-5XNNGTF4.js → task-list-TAVMGEVD.js} +5 -5
- package/chunks/{task-stop-4ROAOBXH.js → task-stop-ZDF2UJRM.js} +2 -2
- package/chunks/{task-update-CRK5VWWZ.js → task-update-6L7LHGEX.js} +10 -9
- package/chunks/{team-create-QQGAJG7P.js → team-create-LFJ6HGNY.js} +38 -34
- package/chunks/{team-delete-S2RCXA4P.js → team-delete-DPGGRQBU.js} +5 -5
- package/chunks/{team-plan-approval-RT7Q5R6O.js → team-plan-approval-C2KLSDGO.js} +38 -34
- package/chunks/{theme-manager-EEWIQJ7J.js → theme-manager-JQ3ZGBP5.js} +39 -35
- package/chunks/{todoWrite-7WM3VDMY.js → todoWrite-2UO5G6G6.js} +32 -4
- package/chunks/{tool-search-Z3Z4AYKP.js → tool-search-FAZBFRJZ.js} +15 -14
- package/chunks/{total-session-admission-44JKRWQD.js → total-session-admission-5CALIVYO.js} +42 -38
- package/chunks/{trustedFolders-X2JEIO57.js → trustedFolders-KOPSP44S.js} +39 -35
- package/chunks/{update-relaunch-VWNPYDIP.js → update-relaunch-6QL2TICS.js} +5 -5
- package/chunks/{updateCheck-KAQH67DV.js → updateCheck-4Q6RIKFW.js} +41 -37
- package/chunks/{useAutoAcceptIndicator-JH6BCF7S.js → useAutoAcceptIndicator-Q5BMKZV3.js} +47 -43
- package/chunks/{validateNonInterActiveAuth-GIUJ2UFS.js → validateNonInterActiveAuth-GKOC5F6Z.js} +79 -75
- package/chunks/{version-BGLYIJUY.js → version-VSATY2LD.js} +1 -1
- package/chunks/{web-fetch-OTDU4VQF.js → web-fetch-JCLKL6NL.js} +14 -14
- package/chunks/{web-search-FP6SIHPR.js → web-search-DSQTFUBX.js} +8 -8
- package/chunks/{workflow-YCIVBYSB.js → workflow-M6QAVKVJ.js} +41 -37
- package/chunks/workspace-providers-status-YKLTLMJA.js +89 -0
- package/chunks/{workspace-registration-store-OTMS3H4C.js → workspace-registration-store-5DMGKU64.js} +1 -1
- package/chunks/{workspace-registry-O63R6IZ4.js → workspace-registry-PTYUSYXX.js} +42 -38
- package/chunks/{workspace-service-M6LLHKJ5.js → workspace-service-25ML3T47.js} +48 -44
- package/chunks/{workspace-skills-status-C2V7BAIS.js → workspace-skills-status-YKZWOYRX.js} +44 -40
- package/chunks/{workspace-trust-reconciler-IBUPOUJN.js → workspace-trust-reconciler-5FI2S3OS.js} +47 -43
- package/chunks/write-file-AY7VLP5X.js +78 -0
- package/chunks/zoom-image-S4LJZMD5.js +224 -0
- package/cli.js +50 -16
- package/package.json +3 -3
- package/web-shell/assets/{arc-75-Wdeo3.js → arc-xjArKHU2.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-FKeXQbyP.js → architectureDiagram-3BPJPVTR-BgrQDNYG.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CY0vc-A3.js → blockDiagram-GPEHLZMM-CXxWC-1_.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CNP-A-8u.js → c4Diagram-AAUBKEIU-Dx1tLm3v.js} +1 -1
- package/web-shell/assets/channel-B1cyk94G.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-GybS4Gii.js → chunk-2J33WTMH-CBxjogVR.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-02H91V8v.js → chunk-4BX2VUAB-izb-rY5W.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-D3M-2VT6.js → chunk-55IACEB6-NzLyvSb8.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CCu29u4H.js → chunk-727SXJPM-DVyKb0dl.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CaFKWgrn.js → chunk-AQP2D5EJ-BtqL7NzB.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-ZZpPqIwQ.js → chunk-FMBD7UC4-iNpdKIO0.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-D22DqGs8.js → chunk-ND2GUHAM-DI7cbFmX.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-Bu85S0fw.js → chunk-QZHKN3VN-3Y_-xFYs.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BpBYZoRE.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BpBYZoRE.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-f1CK1Gwe.js → cose-bilkent-S5V4N54A--raRatZn.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-D0Ow8F_n.js → dagre-BM42HDAG-B8SU70mO.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BPrmTWp8.js → diagram-2AECGRRQ-ewgoakXo.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-HccuFAzy.js → diagram-5GNKFQAL-Bm_JLTnS.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BrS76mbA.js → diagram-KO2AKTUF-DEIUjUy9.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-V7T9lU-5.js → diagram-LMA3HP47-C2Wmrpj-.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DKidyJMR.js → diagram-OG6HWLK6-CtYe6bFx.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DBadZIkp.js → erDiagram-TEJ5UH35-DfpHcWLV.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BymfqdNJ.js → flowDiagram-I6XJVG4X-CAiUhio5.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DOw340jf.js → ganttDiagram-6RSMTGT7-CYc7ezr4.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-_8EiD8sl.js → gitGraphDiagram-PVQCEYII-70lbkcRS.js} +1 -1
- package/web-shell/assets/index-C1k3PDuU.css +5 -0
- package/web-shell/assets/index-C2GE3DAF.js +74 -0
- package/web-shell/assets/index-DZLIXILO.js +1750 -0
- package/web-shell/assets/{index-CKIadvET.js → index-Ww86nT9f.js} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-D61KYQBu.js → infoDiagram-5YYISTIA-C7e8DWPa.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CsiXSpNx.js → ishikawaDiagram-YF4QCWOH-BYLr2op-.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-Sdfionyh.js → journeyDiagram-JHISSGLW-hEibAHKX.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-C3WI3Cnl.js → kanban-definition-UN3LZRKU-F2rt8Uhp.js} +1 -1
- package/web-shell/assets/{linear-Dpigcc62.js → linear-DPhyNezd.js} +1 -1
- package/web-shell/assets/{mermaid.core-Ct97pqgW.js → mermaid.core-ZUtnug0n.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BzeaN0rB.js → mindmap-definition-RKZ34NQL-DDWcMoi8.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-CvjgcbVD.js → pieDiagram-4H26LBE5-CTRKzw1_.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BUzgTNdH.js → quadrantDiagram-W4KKPZXB-CAEwYG_z.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-B7zKlgUQ.js → requirementDiagram-4Y6WPE33-CRjnH9D9.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bb9CQgrT.js → sankeyDiagram-5OEKKPKP-LPQT_sOd.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DJ6V7itG.js → sequenceDiagram-3UESZ5HK-Ht2Iqvb0.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-IImflERY.js → stateDiagram-AJRCARHV-CIUdqOXu.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BmqqQZ6w.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-6Q_uWHKh.js → timeline-definition-PNZ67QCA-BcilneZF.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-TmyKyjwv.js → vennDiagram-CIIHVFJN-BljwiiH1.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CRh9uiPv.js → wardley-L42UT6IY-DeKjkYjq.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-59TKAW8w.js → wardleyDiagram-YWT4CUSO-L3U1H7KG.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-GCSUIK2L.js → xychartDiagram-2RQKCTM6-IJnWsgMT.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/list-L2GA674Y.js +0 -88
- package/chunks/nonInteractiveCli-5T7KYKLK.js +0 -144
- package/chunks/workspace-providers-status-S35YAIUS.js +0 -85
- package/chunks/write-file-3BZC3EAE.js +0 -72
- package/chunks/zoom-image-TZ6S2O57.js +0 -351
- package/web-shell/assets/channel-DPYMT76A.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK--JstsIgL.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2--JstsIgL.js +0 -1
- package/web-shell/assets/index-D1eXNRHe.js +0 -1389
- package/web-shell/assets/index-DVLD4CQq.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CYI_YoNR.js +0 -1
|
@@ -12,53 +12,48 @@ import {
|
|
|
12
12
|
matchMcpServerByRef,
|
|
13
13
|
parseExtensionRef,
|
|
14
14
|
parseMcpServerRef
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-RG64CDT2.js";
|
|
16
16
|
import {
|
|
17
17
|
getAvailableCommands,
|
|
18
18
|
handleSlashCommand,
|
|
19
19
|
insertAfterFunctionResponses,
|
|
20
20
|
isSlashCommand,
|
|
21
21
|
normalizePartList
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-FNDXMN7I.js";
|
|
23
|
+
import {
|
|
24
|
+
collectContextData,
|
|
25
|
+
formatContextUsageText
|
|
26
|
+
} from "./chunk-H6I4PGRV.js";
|
|
23
27
|
import {
|
|
24
28
|
recomputeMcpGating
|
|
25
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-7SJN2IWT.js";
|
|
26
30
|
import {
|
|
27
31
|
appEvents,
|
|
28
32
|
buildDisabledSkillNamesProvider,
|
|
29
33
|
cleanupReviewWorktreeLeases,
|
|
30
34
|
loadCliConfig,
|
|
31
35
|
normalizeDisabledToolList
|
|
32
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-DEEABGH2.js";
|
|
33
37
|
import {
|
|
34
38
|
getCommandSubcommandNames
|
|
35
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-RDJOB6S3.js";
|
|
36
40
|
import {
|
|
37
41
|
getEffectiveSupportedModes
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-PQNHRFJC.js";
|
|
40
|
-
import "./chunk-M7OONWYU.js";
|
|
41
|
-
import {
|
|
42
|
-
collectContextData,
|
|
43
|
-
formatContextUsageText
|
|
44
|
-
} from "./chunk-65PQENQP.js";
|
|
42
|
+
} from "./chunk-UV6KF7T3.js";
|
|
45
43
|
import "./chunk-4WGODMVR.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-7DXQIJID.js";
|
|
50
|
-
import "./chunk-YAF2MQZ6.js";
|
|
51
|
-
import {
|
|
52
|
-
computeCpuPercent
|
|
53
|
-
} from "./chunk-HGT6JR3U.js";
|
|
54
|
-
import "./chunk-S4WJVPZW.js";
|
|
55
|
-
import "./chunk-6H67XLET.js";
|
|
44
|
+
import "./chunk-PQNHRFJC.js";
|
|
45
|
+
import "./chunk-NBD76HUW.js";
|
|
46
|
+
import "./chunk-IGTHU3T4.js";
|
|
56
47
|
import {
|
|
57
48
|
beginAcpBootstrapConfigProfiling,
|
|
58
49
|
buildAndFreezeAcpStartupProfile,
|
|
59
50
|
endAcpBootstrapConfigProfiling,
|
|
60
51
|
markAcpStartup
|
|
61
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-YGE3IXJP.js";
|
|
53
|
+
import "./chunk-KXDONCPU.js";
|
|
54
|
+
import "./chunk-CU47KXB5.js";
|
|
55
|
+
import "./chunk-OFZKFPYG.js";
|
|
56
|
+
import "./chunk-YAF2MQZ6.js";
|
|
62
57
|
import {
|
|
63
58
|
GENERATION_MAX_PROMPT_BYTES,
|
|
64
59
|
GENERATION_TIMEOUT_MS,
|
|
@@ -78,7 +73,7 @@ import {
|
|
|
78
73
|
shouldSuppressRememberErrorDetails,
|
|
79
74
|
workspaceMemoryFailureCode,
|
|
80
75
|
workspaceMemoryFailureDiagnostics
|
|
81
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-JLZ3RBQG.js";
|
|
82
77
|
import {
|
|
83
78
|
HistoryReplayer,
|
|
84
79
|
MessageEmitter,
|
|
@@ -88,48 +83,57 @@ import {
|
|
|
88
83
|
goalTerminalEventToHistoryItem,
|
|
89
84
|
recordGoalStatusItem,
|
|
90
85
|
restoreGoalFromHistory
|
|
91
|
-
} from "./chunk-
|
|
92
|
-
import "./chunk-
|
|
93
|
-
import "./chunk-XFZYFU3I.js";
|
|
86
|
+
} from "./chunk-PZEXDV3H.js";
|
|
87
|
+
import "./chunk-675H6PLP.js";
|
|
94
88
|
import "./chunk-YDLJGZHL.js";
|
|
89
|
+
import "./chunk-PCK4B6LR.js";
|
|
95
90
|
import "./chunk-2MIN6GRR.js";
|
|
96
91
|
import "./chunk-QHTIBUWB.js";
|
|
97
92
|
import {
|
|
98
93
|
isTerminalGoalStatusKind
|
|
99
94
|
} from "./chunk-QTERJVPZ.js";
|
|
100
95
|
import "./chunk-3Z43GZUQ.js";
|
|
96
|
+
import {
|
|
97
|
+
computeCpuPercent
|
|
98
|
+
} from "./chunk-HGT6JR3U.js";
|
|
101
99
|
import "./chunk-RXFQM6FQ.js";
|
|
100
|
+
import "./chunk-V4XNUDPE.js";
|
|
101
|
+
import "./chunk-6H67XLET.js";
|
|
102
|
+
import {
|
|
103
|
+
mapSkillConfigToStatus
|
|
104
|
+
} from "./chunk-L55JWS76.js";
|
|
102
105
|
import {
|
|
103
106
|
PERMISSION_RULE_TYPES,
|
|
104
107
|
PermissionRulesValidationError,
|
|
105
108
|
buildPermissionSettings,
|
|
106
109
|
normalizePermissionRules,
|
|
107
110
|
readPermissionRuleSet
|
|
108
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-YANIWTRZ.js";
|
|
109
112
|
import {
|
|
110
113
|
MAX_AUDIO_BYTES,
|
|
111
114
|
sanitizeVoiceErrorMessage,
|
|
112
115
|
transcribeVoiceAudio
|
|
113
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-7KAXXBER.js";
|
|
114
117
|
import {
|
|
115
118
|
readVoiceModel
|
|
116
|
-
} from "./chunk-
|
|
117
|
-
import "./chunk-
|
|
119
|
+
} from "./chunk-P5VC5USY.js";
|
|
120
|
+
import "./chunk-CNTR4GR6.js";
|
|
118
121
|
import {
|
|
119
122
|
createLoadedSettingsAdapter
|
|
120
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-PVNQRENX.js";
|
|
121
124
|
import "./chunk-VXZBKKQR.js";
|
|
122
|
-
import "./chunk-
|
|
125
|
+
import "./chunk-Q5WZTTWE.js";
|
|
123
126
|
import "./chunk-E5Z2AVNV.js";
|
|
124
127
|
import {
|
|
128
|
+
SESSION_SOURCE_META_KEY,
|
|
125
129
|
parseSessionSource
|
|
126
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-44F4LBWZ.js";
|
|
127
131
|
import "./chunk-GLWP3FDB.js";
|
|
128
132
|
import "./chunk-XCGIMOLN.js";
|
|
129
133
|
import "./chunk-OCPBI7J5.js";
|
|
130
134
|
import {
|
|
131
135
|
ndJsonStream
|
|
132
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-XUGZYLDH.js";
|
|
133
137
|
import {
|
|
134
138
|
ACP_ROUTE_ID_PREFIX,
|
|
135
139
|
buildAcpModelOptions,
|
|
@@ -138,10 +142,7 @@ import {
|
|
|
138
142
|
parseAcpModelOption,
|
|
139
143
|
resolveAcpModelOption,
|
|
140
144
|
sanitizeProviderBaseUrl
|
|
141
|
-
} from "./chunk-
|
|
142
|
-
import {
|
|
143
|
-
mapSkillConfigToStatus
|
|
144
|
-
} from "./chunk-L55JWS76.js";
|
|
145
|
+
} from "./chunk-6TAASXWL.js";
|
|
145
146
|
import {
|
|
146
147
|
ACP_PREFLIGHT_KINDS,
|
|
147
148
|
IDLE_HOOK_EVENTS,
|
|
@@ -149,16 +150,16 @@ import {
|
|
|
149
150
|
SERVE_STATUS_EXT_METHODS,
|
|
150
151
|
STATUS_SCHEMA_VERSION,
|
|
151
152
|
mapDomainErrorToErrorKind
|
|
152
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-GURGAJTX.js";
|
|
153
154
|
import {
|
|
154
155
|
resolveSkillSettings
|
|
155
156
|
} from "./chunk-Z4X5MTRT.js";
|
|
156
|
-
import "./chunk-
|
|
157
|
-
import "./chunk-
|
|
157
|
+
import "./chunk-D6MDRSZ6.js";
|
|
158
|
+
import "./chunk-A7Y5H4TX.js";
|
|
158
159
|
import "./chunk-57OAHC2Y.js";
|
|
159
|
-
import "./chunk-
|
|
160
|
-
import "./chunk-
|
|
161
|
-
import "./chunk-
|
|
160
|
+
import "./chunk-I5BT7ADR.js";
|
|
161
|
+
import "./chunk-FANRZEAJ.js";
|
|
162
|
+
import "./chunk-KWHKHSIS.js";
|
|
162
163
|
import "./chunk-V6WHFGST.js";
|
|
163
164
|
import {
|
|
164
165
|
CHANNEL_STARTUP_PROFILE_META_KEY,
|
|
@@ -166,6 +167,7 @@ import {
|
|
|
166
167
|
CLIENT_MCP_OVER_WS_CONFIG_FLAG,
|
|
167
168
|
DAEMON_CHANNEL_DELIVERY_META_KEY,
|
|
168
169
|
LOAD_REPLAY_BULK_MODE,
|
|
170
|
+
LOAD_REPLAY_HIDE_INHERITED_META_KEY,
|
|
169
171
|
LOAD_REPLAY_META_KEY,
|
|
170
172
|
LOAD_REPLAY_MODE_META_KEY,
|
|
171
173
|
LOAD_REPLAY_PAGE_SIZE_META_KEY,
|
|
@@ -173,8 +175,9 @@ import {
|
|
|
173
175
|
MID_TURN_QUEUE_DRAIN_METHOD,
|
|
174
176
|
PROMPT_CANCEL_METHOD,
|
|
175
177
|
TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD,
|
|
176
|
-
TODO_STOP_GUARD_QUEUE_RELEASE_METHOD
|
|
177
|
-
|
|
178
|
+
TODO_STOP_GUARD_QUEUE_RELEASE_METHOD,
|
|
179
|
+
WORKTREE_MCP_DEFER_META_KEY
|
|
180
|
+
} from "./chunk-CPZAH673.js";
|
|
178
181
|
import {
|
|
179
182
|
NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE,
|
|
180
183
|
isNotCurrentlyGeneratingCancelError
|
|
@@ -182,13 +185,13 @@ import {
|
|
|
182
185
|
import "./chunk-2RFKHEXL.js";
|
|
183
186
|
import "./chunk-FYJ7W2PI.js";
|
|
184
187
|
import "./chunk-U4VTUMMK.js";
|
|
185
|
-
import "./chunk-
|
|
188
|
+
import "./chunk-6MPDY6ZG.js";
|
|
186
189
|
import "./chunk-ALMR3E6Q.js";
|
|
187
190
|
import "./chunk-BK2UNYWD.js";
|
|
188
191
|
import "./chunk-M5GB774H.js";
|
|
189
|
-
import "./chunk-
|
|
190
|
-
import "./chunk-
|
|
191
|
-
import "./chunk-
|
|
192
|
+
import "./chunk-IIUGIWWY.js";
|
|
193
|
+
import "./chunk-ZPZ7ZJEE.js";
|
|
194
|
+
import "./chunk-JCJ7LKNA.js";
|
|
192
195
|
import {
|
|
193
196
|
AgentSideConnection,
|
|
194
197
|
PROTOCOL_VERSION,
|
|
@@ -197,7 +200,7 @@ import {
|
|
|
197
200
|
import {
|
|
198
201
|
assembleMcpServers,
|
|
199
202
|
loadMcpApprovals
|
|
200
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-KR32NIAN.js";
|
|
201
204
|
import {
|
|
202
205
|
getOutputLanguageFilePath,
|
|
203
206
|
getPersistScopeForModelSelection,
|
|
@@ -206,35 +209,35 @@ import {
|
|
|
206
209
|
resolveOutputLanguageOrPreserveAuto,
|
|
207
210
|
updateOutputLanguageFile,
|
|
208
211
|
writeOutputLanguageAndRegisterPath
|
|
209
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-W3UKBMSI.js";
|
|
210
213
|
import "./chunk-RKUWKYED.js";
|
|
214
|
+
import "./chunk-GOXKNSDZ.js";
|
|
215
|
+
import {
|
|
216
|
+
getSystemDefaultsPath,
|
|
217
|
+
getSystemSettingsPath
|
|
218
|
+
} from "./chunk-IDS7MSUP.js";
|
|
211
219
|
import {
|
|
212
220
|
SUPPORTED_LANGUAGES,
|
|
213
221
|
getCurrentLanguage,
|
|
214
222
|
setLanguageAsync
|
|
215
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-3F2WDAV6.js";
|
|
216
224
|
import {
|
|
217
225
|
findEnvFiles,
|
|
218
226
|
preResolveHomeEnvOverrides,
|
|
219
227
|
reloadEnvironment
|
|
220
|
-
} from "./chunk-
|
|
221
|
-
import "./chunk-VWOOBLTY.js";
|
|
222
|
-
import "./chunk-GOXKNSDZ.js";
|
|
223
|
-
import {
|
|
224
|
-
getSystemDefaultsPath,
|
|
225
|
-
getSystemSettingsPath
|
|
226
|
-
} from "./chunk-IDS7MSUP.js";
|
|
228
|
+
} from "./chunk-EU5TBFJI.js";
|
|
227
229
|
import "./chunk-6PEXNQTX.js";
|
|
228
|
-
import "./chunk-
|
|
229
|
-
import "./chunk-VYOXCEPJ.js";
|
|
230
|
-
import "./chunk-VJNBRRZG.js";
|
|
230
|
+
import "./chunk-GJ2GBPBD.js";
|
|
231
231
|
import {
|
|
232
232
|
isFolderTrustEnabled,
|
|
233
233
|
isWorkspaceTrusted,
|
|
234
234
|
loadTrustedFolders
|
|
235
|
-
} from "./chunk-
|
|
235
|
+
} from "./chunk-P755N4CS.js";
|
|
236
236
|
import "./chunk-ALGGS7UH.js";
|
|
237
237
|
import "./chunk-MR3PXB6E.js";
|
|
238
|
+
import "./chunk-XFSFZCM5.js";
|
|
239
|
+
import "./chunk-2KKCCLPT.js";
|
|
240
|
+
import "./chunk-VJNBRRZG.js";
|
|
238
241
|
import {
|
|
239
242
|
writeStderrLine,
|
|
240
243
|
writeStderrLineSafe
|
|
@@ -339,7 +342,6 @@ import {
|
|
|
339
342
|
normalizeEventPayload,
|
|
340
343
|
normalizeSnapshotPayload,
|
|
341
344
|
persistPermissionOutcome,
|
|
342
|
-
promptIdContext,
|
|
343
345
|
readManyFiles,
|
|
344
346
|
recordAllow,
|
|
345
347
|
recordFallbackApprove,
|
|
@@ -362,57 +364,65 @@ import {
|
|
|
362
364
|
unregisterGoalHook,
|
|
363
365
|
updateSetting,
|
|
364
366
|
validatePlanModeShellApproval,
|
|
365
|
-
validatePlanModeShellContext
|
|
366
|
-
|
|
367
|
+
validatePlanModeShellContext,
|
|
368
|
+
wrapUserPromptSubmitContext
|
|
369
|
+
} from "./chunk-54YCNSK5.js";
|
|
370
|
+
import "./chunk-5M6IDOMF.js";
|
|
367
371
|
import "./chunk-TWPJO254.js";
|
|
368
372
|
import {
|
|
369
373
|
external_exports
|
|
370
374
|
} from "./chunk-H6XPXXMH.js";
|
|
371
|
-
import "./chunk-
|
|
372
|
-
import "./chunk-
|
|
373
|
-
import "./chunk-
|
|
374
|
-
import "./chunk-
|
|
375
|
+
import "./chunk-AOHY3QJ3.js";
|
|
376
|
+
import "./chunk-5NNHICSA.js";
|
|
377
|
+
import "./chunk-SHN4KHDK.js";
|
|
378
|
+
import "./chunk-JXVC2PL3.js";
|
|
375
379
|
import "./chunk-KRXPRVGL.js";
|
|
376
|
-
import "./chunk-BMFALVGQ.js";
|
|
377
|
-
import "./chunk-CVHIL5IG.js";
|
|
378
|
-
import "./chunk-IRH27ZC2.js";
|
|
379
|
-
import "./chunk-QHWCP53L.js";
|
|
380
|
-
import "./chunk-PONHVBRT.js";
|
|
381
|
-
import "./chunk-T26EAKDL.js";
|
|
382
380
|
import {
|
|
383
381
|
parsePositiveIntegerEnv
|
|
384
382
|
} from "./chunk-6PVPNMXU.js";
|
|
383
|
+
import "./chunk-ZMOJ7ISP.js";
|
|
384
|
+
import "./chunk-IRH27ZC2.js";
|
|
385
|
+
import "./chunk-QHWCP53L.js";
|
|
386
|
+
import "./chunk-TEGJSJDF.js";
|
|
387
|
+
import "./chunk-TIRRPCFS.js";
|
|
388
|
+
import {
|
|
389
|
+
promptIdContext,
|
|
390
|
+
todoWorkChainContext
|
|
391
|
+
} from "./chunk-O6GEWCJA.js";
|
|
392
|
+
import "./chunk-T26EAKDL.js";
|
|
385
393
|
import "./chunk-CPBF7KYF.js";
|
|
386
|
-
import "./chunk-
|
|
394
|
+
import "./chunk-4KP2F2TE.js";
|
|
387
395
|
import {
|
|
388
396
|
HookEventName,
|
|
389
397
|
createHookOutput
|
|
390
|
-
} from "./chunk-
|
|
391
|
-
import "./chunk-
|
|
392
|
-
import "./chunk-
|
|
398
|
+
} from "./chunk-3APUUXRF.js";
|
|
399
|
+
import "./chunk-THVU3RNH.js";
|
|
400
|
+
import "./chunk-LHKCY7DY.js";
|
|
401
|
+
import "./chunk-6FMJLI5M.js";
|
|
393
402
|
import {
|
|
394
403
|
APPROVAL_MODES,
|
|
395
404
|
FORK_SUBAGENT_TYPE,
|
|
396
405
|
getStartupContextLength,
|
|
397
406
|
isSystemReminderContent,
|
|
398
407
|
runWithRuntimeContentGenerator
|
|
399
|
-
} from "./chunk-
|
|
408
|
+
} from "./chunk-CBBP4BMC.js";
|
|
400
409
|
import "./chunk-S6LOFUVP.js";
|
|
401
|
-
import "./chunk-
|
|
402
|
-
import "./chunk-
|
|
410
|
+
import "./chunk-K623ENWT.js";
|
|
411
|
+
import "./chunk-AQ37AY7B.js";
|
|
412
|
+
import "./chunk-N4ACHWNH.js";
|
|
403
413
|
import "./chunk-ZPJWUGCS.js";
|
|
404
414
|
import {
|
|
405
415
|
clearCachedCredentialFile,
|
|
406
416
|
qwenOAuth2Events
|
|
407
|
-
} from "./chunk-
|
|
417
|
+
} from "./chunk-D4HTUMGX.js";
|
|
408
418
|
import "./chunk-NAVJD2PQ.js";
|
|
409
|
-
import "./chunk-
|
|
410
|
-
import "./chunk-
|
|
419
|
+
import "./chunk-LOY7RWQG.js";
|
|
420
|
+
import "./chunk-E6CJ2SMM.js";
|
|
411
421
|
import "./chunk-DGEIYUC3.js";
|
|
412
422
|
import "./chunk-MPHPFVKK.js";
|
|
413
423
|
import "./chunk-GLNBDYUX.js";
|
|
414
424
|
import "./chunk-DJ2GSRLV.js";
|
|
415
|
-
import "./chunk-
|
|
425
|
+
import "./chunk-6CQWRWUC.js";
|
|
416
426
|
import {
|
|
417
427
|
addToolArgumentsAttributes,
|
|
418
428
|
addToolCallResultAttributes,
|
|
@@ -420,14 +430,14 @@ import {
|
|
|
420
430
|
registerAcpEventLoopLagGauge,
|
|
421
431
|
startEventLoopLagMonitor,
|
|
422
432
|
withDaemonSpan
|
|
423
|
-
} from "./chunk-
|
|
433
|
+
} from "./chunk-Z3S5EMOW.js";
|
|
424
434
|
import "./chunk-2J3OJGTL.js";
|
|
425
435
|
import "./chunk-P3QQPMQA.js";
|
|
426
|
-
import "./chunk-
|
|
436
|
+
import "./chunk-XQK4XXTN.js";
|
|
427
437
|
import {
|
|
428
438
|
getToolCallPreparations
|
|
429
439
|
} from "./chunk-GLCZKT5V.js";
|
|
430
|
-
import "./chunk-
|
|
440
|
+
import "./chunk-QDK4F2N5.js";
|
|
431
441
|
import {
|
|
432
442
|
ConversationFinishedEvent,
|
|
433
443
|
DiscoveredMCPTool,
|
|
@@ -458,30 +468,30 @@ import {
|
|
|
458
468
|
shouldRunVisionBridge,
|
|
459
469
|
splitImageParts,
|
|
460
470
|
uiTelemetryService
|
|
461
|
-
} from "./chunk-
|
|
471
|
+
} from "./chunk-DUNI4EBW.js";
|
|
462
472
|
import "./chunk-VGC4I5JJ.js";
|
|
463
473
|
import {
|
|
464
474
|
getAutoMemoryRoot,
|
|
465
475
|
getUserAutoMemoryRoot
|
|
466
|
-
} from "./chunk-
|
|
467
|
-
import "./chunk-
|
|
476
|
+
} from "./chunk-3I6DUGQD.js";
|
|
477
|
+
import "./chunk-7ULQIS27.js";
|
|
468
478
|
import {
|
|
469
479
|
ToolConfirmationOutcome,
|
|
470
480
|
ToolNames,
|
|
471
481
|
isShellProgressData
|
|
472
|
-
} from "./chunk-
|
|
482
|
+
} from "./chunk-MM7TH7ZM.js";
|
|
473
483
|
import {
|
|
474
484
|
AuthType,
|
|
475
485
|
preloadContentGenerator
|
|
476
|
-
} from "./chunk-
|
|
486
|
+
} from "./chunk-HIVKI6O6.js";
|
|
477
487
|
import "./chunk-46UV252V.js";
|
|
478
488
|
import {
|
|
479
489
|
DEFAULT_TOKEN_LIMIT,
|
|
480
490
|
tokenLimit
|
|
481
491
|
} from "./chunk-ZBVS26BY.js";
|
|
482
|
-
import "./chunk-
|
|
483
|
-
import "./chunk-
|
|
484
|
-
import "./chunk-
|
|
492
|
+
import "./chunk-Q3T5KA2V.js";
|
|
493
|
+
import "./chunk-R2XWGR75.js";
|
|
494
|
+
import "./chunk-HC45LTEN.js";
|
|
485
495
|
import {
|
|
486
496
|
endToolExecutionSpan,
|
|
487
497
|
endToolSpan,
|
|
@@ -490,21 +500,21 @@ import {
|
|
|
490
500
|
startToolExecutionSpan,
|
|
491
501
|
startToolSpan,
|
|
492
502
|
withInteractionSpan
|
|
493
|
-
} from "./chunk-
|
|
503
|
+
} from "./chunk-QARJNL2V.js";
|
|
494
504
|
import "./chunk-W4RQUHY3.js";
|
|
495
|
-
import "./chunk-
|
|
505
|
+
import "./chunk-G7XXKQYS.js";
|
|
496
506
|
import {
|
|
497
507
|
Storage,
|
|
498
508
|
createDebugLogger,
|
|
499
509
|
getErrorMessage,
|
|
500
510
|
getErrorStatus,
|
|
501
511
|
isSubpath
|
|
502
|
-
} from "./chunk-
|
|
512
|
+
} from "./chunk-E2BHWIDT.js";
|
|
503
513
|
import "./chunk-VOQXFAY5.js";
|
|
504
|
-
import "./chunk-
|
|
514
|
+
import "./chunk-6PQPKTXP.js";
|
|
505
515
|
import {
|
|
506
516
|
runExitCleanup
|
|
507
|
-
} from "./chunk-
|
|
517
|
+
} from "./chunk-DQ2O5QOJ.js";
|
|
508
518
|
import "./chunk-75DOP5OR.js";
|
|
509
519
|
import "./chunk-DMTGGOSA.js";
|
|
510
520
|
import "./chunk-YQ3U5MUC.js";
|
|
@@ -2525,12 +2535,7 @@ var Session = class {
|
|
|
2525
2535
|
this.runtimeBaseDir = config.storage.getRuntimeBaseDir();
|
|
2526
2536
|
const todoStopGuardEnabled = this.settings.merged.experimental?.todoStopGuard === true && !this.config.getBareMode() && !this.config.isSafeMode();
|
|
2527
2537
|
this.todoStopGuard = new DaemonTodoStopGuard(todoStopGuardEnabled);
|
|
2528
|
-
this.todoStopGuardBackgroundBaseline =
|
|
2529
|
-
agents: /* @__PURE__ */ new Set(),
|
|
2530
|
-
shells: /* @__PURE__ */ new Set(),
|
|
2531
|
-
monitors: /* @__PURE__ */ new Set(),
|
|
2532
|
-
wakeups: /* @__PURE__ */ new Set()
|
|
2533
|
-
};
|
|
2538
|
+
this.todoStopGuardBackgroundBaseline = this.#captureTodoStopGuardBackgroundBaseline();
|
|
2534
2539
|
this.toolCallEmitter = new ToolCallEmitter(this);
|
|
2535
2540
|
this.planEmitter = new PlanEmitter(this);
|
|
2536
2541
|
this.historyReplayer = new HistoryReplayer(this, {
|
|
@@ -2562,6 +2567,7 @@ var Session = class {
|
|
|
2562
2567
|
*/
|
|
2563
2568
|
followupAbort = null;
|
|
2564
2569
|
turn = 0;
|
|
2570
|
+
activeTodoWorkChainPromptId;
|
|
2565
2571
|
createdAt = Date.now();
|
|
2566
2572
|
/**
|
|
2567
2573
|
* Running cumulative usage for this session, snapshotted onto each todo/plan
|
|
@@ -3603,6 +3609,8 @@ var Session = class {
|
|
|
3603
3609
|
}
|
|
3604
3610
|
this.turn += 1;
|
|
3605
3611
|
const promptId = this.config.getSessionId() + "########" + this.turn;
|
|
3612
|
+
const promptMetadata = params._meta;
|
|
3613
|
+
const continuesCurrentWorkChain = params.retry === true || promptMetadata?.[DAEMON_RETRY_META_KEY] === true || promptMetadata?.[DAEMON_CONTINUE_META_KEY] === true;
|
|
3606
3614
|
promptIdContext.enterWith(promptId);
|
|
3607
3615
|
const parentContext = extractDaemonTraceContext(params);
|
|
3608
3616
|
return await withInteractionSpan(
|
|
@@ -3727,9 +3735,20 @@ var Session = class {
|
|
|
3727
3735
|
}
|
|
3728
3736
|
const additionalContext = hookOutput?.getAdditionalContext();
|
|
3729
3737
|
if (additionalContext) {
|
|
3730
|
-
parts = [
|
|
3738
|
+
parts = [
|
|
3739
|
+
...parts,
|
|
3740
|
+
{ text: wrapUserPromptSubmitContext(additionalContext) }
|
|
3741
|
+
];
|
|
3731
3742
|
}
|
|
3732
3743
|
}
|
|
3744
|
+
if (!continuesCurrentWorkChain && !this.todoStopGuard.enabled) {
|
|
3745
|
+
this.#resetTodoStopGuardBackgroundLineage();
|
|
3746
|
+
}
|
|
3747
|
+
this.config.startActiveTodoWorkChain(
|
|
3748
|
+
promptId,
|
|
3749
|
+
continuesCurrentWorkChain ? this.activeTodoWorkChainPromptId : void 0
|
|
3750
|
+
);
|
|
3751
|
+
this.activeTodoWorkChainPromptId = promptId;
|
|
3733
3752
|
try {
|
|
3734
3753
|
const fileHistoryService = this.config.getFileHistoryService();
|
|
3735
3754
|
await fileHistoryService.makeSnapshot(promptId);
|
|
@@ -3775,6 +3794,15 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
3775
3794
|
parts = insertAfterFunctionResponses(parts, [noticePart]);
|
|
3776
3795
|
this.pendingRecoveredAgentsNotice = null;
|
|
3777
3796
|
}
|
|
3797
|
+
const activeTodoReminder = this.config.takeActiveTodoReminder(
|
|
3798
|
+
promptId,
|
|
3799
|
+
true
|
|
3800
|
+
);
|
|
3801
|
+
if (activeTodoReminder && !parts.some((part) => part.text === activeTodoReminder)) {
|
|
3802
|
+
parts = insertAfterFunctionResponses(parts, [
|
|
3803
|
+
{ text: activeTodoReminder }
|
|
3804
|
+
]);
|
|
3805
|
+
}
|
|
3778
3806
|
let nextMessage = { role: "user", parts };
|
|
3779
3807
|
let turnCount = 0;
|
|
3780
3808
|
const toolLoopState = createDaemonToolLoopState();
|
|
@@ -3952,6 +3980,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
3952
3980
|
const nextAfterTools = await this.#buildNextMessageAfterToolRun(
|
|
3953
3981
|
toolRun,
|
|
3954
3982
|
pendingSend.signal,
|
|
3983
|
+
promptId,
|
|
3955
3984
|
onFullTurnModel
|
|
3956
3985
|
);
|
|
3957
3986
|
nextMessage = nextAfterTools.message;
|
|
@@ -4687,6 +4716,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
4687
4716
|
const nextAfterTools = await this.#buildNextMessageAfterToolRun(
|
|
4688
4717
|
toolRun,
|
|
4689
4718
|
pendingSend.signal,
|
|
4719
|
+
toolPromptId,
|
|
4690
4720
|
options.onFullTurnModel
|
|
4691
4721
|
);
|
|
4692
4722
|
nextMessage = nextAfterTools.message;
|
|
@@ -4976,7 +5006,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
4976
5006
|
);
|
|
4977
5007
|
await this.messageRewriter?.waitForPendingRewrites();
|
|
4978
5008
|
}
|
|
4979
|
-
async #buildNextMessageAfterToolRun(toolRun, abortSignal, onFullTurnModel) {
|
|
5009
|
+
async #buildNextMessageAfterToolRun(toolRun, abortSignal, promptId, onFullTurnModel) {
|
|
4980
5010
|
if (toolRun.loopDetected) {
|
|
4981
5011
|
debugLogger6.debug("Stopping ACP turn after daemon loop detection.");
|
|
4982
5012
|
return { message: null, hadMidTurnUserInput: false };
|
|
@@ -4995,7 +5025,12 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
4995
5025
|
if (hadMidTurnUserInput) {
|
|
4996
5026
|
this.todoStopGuard.acceptMidTurnUserInput();
|
|
4997
5027
|
}
|
|
4998
|
-
const
|
|
5028
|
+
const activeTodoReminder = this.config.takeActiveTodoReminder(promptId);
|
|
5029
|
+
const parts = [
|
|
5030
|
+
...toolRun.parts,
|
|
5031
|
+
...activeTodoReminder ? [{ text: activeTodoReminder }] : [],
|
|
5032
|
+
...drained.parts
|
|
5033
|
+
];
|
|
4999
5034
|
return {
|
|
5000
5035
|
message: { role: "user", parts },
|
|
5001
5036
|
hadMidTurnUserInput
|
|
@@ -5260,7 +5295,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5260
5295
|
source: job.cronExpr === "@wakeup" ? "loop" : "cron",
|
|
5261
5296
|
...job.id ? { taskId: job.id } : {},
|
|
5262
5297
|
...job.lastFiredAt !== void 0 ? { firedAt: job.lastFiredAt } : {},
|
|
5263
|
-
...job.delivery ? { delivery: job.delivery } : {}
|
|
5298
|
+
...job.delivery ? { delivery: job.delivery } : {},
|
|
5299
|
+
...job.todoWorkChainId ? { todoWorkChainId: job.todoWorkChainId } : {}
|
|
5264
5300
|
});
|
|
5265
5301
|
void this.#drainCronQueue();
|
|
5266
5302
|
});
|
|
@@ -5416,9 +5452,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5416
5452
|
async () => {
|
|
5417
5453
|
const ac = new AbortController();
|
|
5418
5454
|
this.cronAbortController = ac;
|
|
5419
|
-
this.#
|
|
5420
|
-
|
|
5421
|
-
);
|
|
5455
|
+
const continuesCurrentWorkChain = this.#cronContinuesTodoStopGuardWorkChain(item);
|
|
5456
|
+
this.#prepareTodoStopGuardForAutomaticTurn(continuesCurrentWorkChain);
|
|
5422
5457
|
const promptId = this.config.getSessionId() + "########cron" + Date.now();
|
|
5423
5458
|
let cronHadError = false;
|
|
5424
5459
|
let cronCompleted = false;
|
|
@@ -5435,6 +5470,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5435
5470
|
try {
|
|
5436
5471
|
await this.assertCanStartTurn();
|
|
5437
5472
|
if (ac.signal.aborted) return;
|
|
5473
|
+
this.config.startAutomaticActiveTodoWorkChain(
|
|
5474
|
+
promptId,
|
|
5475
|
+
item.todoWorkChainId
|
|
5476
|
+
);
|
|
5438
5477
|
const loopMode = detectLoopSentinel(prompt);
|
|
5439
5478
|
const autonomousMode = loopMode ? null : detectAutonomousSentinel(prompt);
|
|
5440
5479
|
let loopTick = null;
|
|
@@ -5489,9 +5528,17 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5489
5528
|
_meta: { source: item.source }
|
|
5490
5529
|
});
|
|
5491
5530
|
const cronReminders = await this.#buildInitialSystemReminders();
|
|
5531
|
+
const activeTodoReminder = this.config.takeActiveTodoReminder(
|
|
5532
|
+
promptId,
|
|
5533
|
+
true
|
|
5534
|
+
);
|
|
5492
5535
|
let nextMessage = {
|
|
5493
5536
|
role: "user",
|
|
5494
|
-
parts: [
|
|
5537
|
+
parts: [
|
|
5538
|
+
...cronReminders,
|
|
5539
|
+
...activeTodoReminder ? [{ text: activeTodoReminder }] : [],
|
|
5540
|
+
{ text: modelText }
|
|
5541
|
+
]
|
|
5495
5542
|
};
|
|
5496
5543
|
const toolLoopState = createDaemonToolLoopState();
|
|
5497
5544
|
while (nextMessage !== null) {
|
|
@@ -5623,7 +5670,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5623
5670
|
}
|
|
5624
5671
|
const nextAfterTools = await this.#buildNextMessageAfterToolRun(
|
|
5625
5672
|
toolRun,
|
|
5626
|
-
ac.signal
|
|
5673
|
+
ac.signal,
|
|
5674
|
+
promptId
|
|
5627
5675
|
);
|
|
5628
5676
|
nextMessage = nextAfterTools.message;
|
|
5629
5677
|
if (toolRun.loopDetected) {
|
|
@@ -5663,6 +5711,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5663
5711
|
`[${item.source} error] ${msg}`
|
|
5664
5712
|
);
|
|
5665
5713
|
} finally {
|
|
5714
|
+
this.config.endAutomaticActiveTodoWorkChain(promptId);
|
|
5666
5715
|
if (this.cronAbortController === ac) {
|
|
5667
5716
|
this.cronAbortController = null;
|
|
5668
5717
|
}
|
|
@@ -5715,7 +5764,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5715
5764
|
status: meta.status,
|
|
5716
5765
|
kind: "agent",
|
|
5717
5766
|
continuesTodoStopGuardWorkChain: this.#agentContinuesTodoStopGuardWorkChain(meta.agentId),
|
|
5718
|
-
toolUseId: meta.toolUseId
|
|
5767
|
+
toolUseId: meta.toolUseId,
|
|
5768
|
+
todoWorkChainId: meta.todoWorkChainId
|
|
5719
5769
|
});
|
|
5720
5770
|
}
|
|
5721
5771
|
);
|
|
@@ -5734,7 +5784,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5734
5784
|
meta.monitorId,
|
|
5735
5785
|
meta.ownerAgentId
|
|
5736
5786
|
),
|
|
5737
|
-
toolUseId: meta.toolUseId
|
|
5787
|
+
toolUseId: meta.toolUseId,
|
|
5788
|
+
todoWorkChainId: meta.todoWorkChainId
|
|
5738
5789
|
});
|
|
5739
5790
|
});
|
|
5740
5791
|
const shellRegistry = this.config.getBackgroundShellRegistry();
|
|
@@ -5745,7 +5796,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5745
5796
|
taskId: meta.shellId,
|
|
5746
5797
|
status: meta.status,
|
|
5747
5798
|
kind: "shell",
|
|
5748
|
-
continuesTodoStopGuardWorkChain: !this.todoStopGuardBackgroundBaseline.shells.has(meta.shellId)
|
|
5799
|
+
continuesTodoStopGuardWorkChain: !this.todoStopGuardBackgroundBaseline.shells.has(meta.shellId),
|
|
5800
|
+
todoWorkChainId: meta.todoWorkChainId
|
|
5749
5801
|
});
|
|
5750
5802
|
});
|
|
5751
5803
|
this.config.getChatRecordingService()?.setTitleRecordedCallback((customTitle, titleSource, sessionId) => {
|
|
@@ -5868,13 +5920,16 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5868
5920
|
async () => {
|
|
5869
5921
|
const ac = new AbortController();
|
|
5870
5922
|
this.notificationAbortController = ac;
|
|
5871
|
-
this.#
|
|
5872
|
-
|
|
5873
|
-
);
|
|
5923
|
+
const continuesCurrentWorkChain = this.#notificationContinuesTodoStopGuardWorkChain(item);
|
|
5924
|
+
this.#prepareTodoStopGuardForAutomaticTurn(continuesCurrentWorkChain);
|
|
5874
5925
|
const promptId = this.config.getSessionId() + "########notification" + Date.now();
|
|
5875
5926
|
try {
|
|
5876
5927
|
await this.assertCanStartTurn();
|
|
5877
5928
|
if (ac.signal.aborted) return;
|
|
5929
|
+
this.config.startAutomaticActiveTodoWorkChain(
|
|
5930
|
+
promptId,
|
|
5931
|
+
item.todoWorkChainId
|
|
5932
|
+
);
|
|
5878
5933
|
await this.#emitBackgroundNotificationDisplay(item);
|
|
5879
5934
|
const notificationParts = [{ text: item.modelText }];
|
|
5880
5935
|
this.config.getChatRecordingService()?.recordNotification(notificationParts, item.displayText, {
|
|
@@ -5884,9 +5939,17 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5884
5939
|
toolUseId: item.toolUseId
|
|
5885
5940
|
});
|
|
5886
5941
|
const notificationReminders = await this.#buildInitialSystemReminders();
|
|
5942
|
+
const activeTodoReminder = this.config.takeActiveTodoReminder(
|
|
5943
|
+
promptId,
|
|
5944
|
+
true
|
|
5945
|
+
);
|
|
5887
5946
|
let nextMessage = {
|
|
5888
5947
|
role: "user",
|
|
5889
|
-
parts: [
|
|
5948
|
+
parts: [
|
|
5949
|
+
...notificationReminders,
|
|
5950
|
+
...activeTodoReminder ? [{ text: activeTodoReminder }] : [],
|
|
5951
|
+
...notificationParts
|
|
5952
|
+
]
|
|
5890
5953
|
};
|
|
5891
5954
|
const toolLoopState = createDaemonToolLoopState();
|
|
5892
5955
|
while (nextMessage !== null) {
|
|
@@ -6016,7 +6079,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6016
6079
|
}
|
|
6017
6080
|
const nextAfterTools = await this.#buildNextMessageAfterToolRun(
|
|
6018
6081
|
toolRun,
|
|
6019
|
-
ac.signal
|
|
6082
|
+
ac.signal,
|
|
6083
|
+
promptId
|
|
6020
6084
|
);
|
|
6021
6085
|
nextMessage = nextAfterTools.message;
|
|
6022
6086
|
if (toolRun.loopDetected) {
|
|
@@ -6067,6 +6131,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6067
6131
|
await this.#emitBackgroundNotificationEndTurn("end_turn");
|
|
6068
6132
|
}
|
|
6069
6133
|
} finally {
|
|
6134
|
+
this.config.endAutomaticActiveTodoWorkChain(promptId);
|
|
6070
6135
|
if (this.notificationAbortController === ac) {
|
|
6071
6136
|
this.notificationAbortController = null;
|
|
6072
6137
|
}
|
|
@@ -6131,8 +6196,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6131
6196
|
debugLogger6.error("Error sending available commands update:", error);
|
|
6132
6197
|
}
|
|
6133
6198
|
}
|
|
6134
|
-
async refreshSkillsFromSettings() {
|
|
6135
|
-
|
|
6199
|
+
async refreshSkillsFromSettings(options = {}) {
|
|
6200
|
+
if (options.reloadSettings ?? true) {
|
|
6201
|
+
this.reloadSkillSettings();
|
|
6202
|
+
}
|
|
6136
6203
|
const skillManager = this.config.getSkillManager();
|
|
6137
6204
|
let updateFailed = false;
|
|
6138
6205
|
let updateError;
|
|
@@ -6142,7 +6209,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6142
6209
|
updateFailed = true;
|
|
6143
6210
|
updateError = error;
|
|
6144
6211
|
}
|
|
6145
|
-
if (skillManager) {
|
|
6212
|
+
if (skillManager && (options.notifyConfigChanged ?? true)) {
|
|
6146
6213
|
try {
|
|
6147
6214
|
skillManager.suppressNextSlashReload();
|
|
6148
6215
|
await skillManager.notifyConfigChanged();
|
|
@@ -6156,6 +6223,9 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6156
6223
|
}
|
|
6157
6224
|
if (updateFailed) throw updateError;
|
|
6158
6225
|
}
|
|
6226
|
+
reloadSkillSettings() {
|
|
6227
|
+
this.settings.reloadScopeFromDisk("Workspace" /* Workspace */);
|
|
6228
|
+
}
|
|
6159
6229
|
async sendAvailableCommandsUpdateOrThrow() {
|
|
6160
6230
|
const { availableCommands, availableSkills, availableSkillDetails } = await buildAvailableCommandsSnapshot(
|
|
6161
6231
|
this.config,
|
|
@@ -6336,6 +6406,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6336
6406
|
* on. Response-part ordering matches the original `functionCalls` order.
|
|
6337
6407
|
*/
|
|
6338
6408
|
async runToolCalls(abortSignal, promptId, functionCalls, toolLoopState, onFullTurnModel) {
|
|
6409
|
+
promptIdContext.enterWith(promptId);
|
|
6410
|
+
todoWorkChainContext.enterWith(
|
|
6411
|
+
this.config.getActiveTodoWorkChainOwner(promptId)
|
|
6412
|
+
);
|
|
6339
6413
|
const dedupedFunctionCalls = dedupeToolCallsById(functionCalls);
|
|
6340
6414
|
const generatedCallIdBase = randomUUID();
|
|
6341
6415
|
const executionCallIds = new Map(
|
|
@@ -8688,6 +8762,32 @@ function isBulkLoadReplayRequest(params) {
|
|
|
8688
8762
|
return meta?.[LOAD_REPLAY_MODE_META_KEY] === LOAD_REPLAY_BULK_MODE;
|
|
8689
8763
|
}
|
|
8690
8764
|
__name(isBulkLoadReplayRequest, "isBulkLoadReplayRequest");
|
|
8765
|
+
function shouldHideInheritedHistory(params) {
|
|
8766
|
+
const meta = isObjectRecord(params._meta) ? params._meta : void 0;
|
|
8767
|
+
return meta?.[LOAD_REPLAY_HIDE_INHERITED_META_KEY] === true;
|
|
8768
|
+
}
|
|
8769
|
+
__name(shouldHideInheritedHistory, "shouldHideInheritedHistory");
|
|
8770
|
+
function selectVisibleHistoryRecords(records, hideInheritedHistory) {
|
|
8771
|
+
const sourceBoundary = records.findIndex(
|
|
8772
|
+
(record) => record.type === "system" && record.subtype === "session_source" && isObjectRecord(record.systemPayload) && record.systemPayload["sourceType"] === "side_task"
|
|
8773
|
+
);
|
|
8774
|
+
if (sourceBoundary >= 0) {
|
|
8775
|
+
return records.slice(sourceBoundary).filter((record) => record.forkedFrom === void 0);
|
|
8776
|
+
}
|
|
8777
|
+
return hideInheritedHistory ? records.filter((record) => record.forkedFrom === void 0) : records;
|
|
8778
|
+
}
|
|
8779
|
+
__name(selectVisibleHistoryRecords, "selectVisibleHistoryRecords");
|
|
8780
|
+
function isChannelSessionRequest(params) {
|
|
8781
|
+
const meta = isObjectRecord(params._meta) ? params._meta : void 0;
|
|
8782
|
+
const value = meta?.[SESSION_SOURCE_META_KEY];
|
|
8783
|
+
return isObjectRecord(value) && value["sourceType"] === "channel";
|
|
8784
|
+
}
|
|
8785
|
+
__name(isChannelSessionRequest, "isChannelSessionRequest");
|
|
8786
|
+
function shouldDeferMcpDiscovery(params) {
|
|
8787
|
+
const meta = isObjectRecord(params._meta) ? params._meta : void 0;
|
|
8788
|
+
return meta?.[WORKTREE_MCP_DEFER_META_KEY] === true;
|
|
8789
|
+
}
|
|
8790
|
+
__name(shouldDeferMcpDiscovery, "shouldDeferMcpDiscovery");
|
|
8691
8791
|
function getLoadReplayPageSize(params) {
|
|
8692
8792
|
const meta = isObjectRecord(params._meta) ? params._meta : void 0;
|
|
8693
8793
|
const value = meta?.[LOAD_REPLAY_PAGE_SIZE_META_KEY];
|
|
@@ -10629,6 +10729,7 @@ var QwenAgent = class {
|
|
|
10629
10729
|
workspaceMcpDiscoveryConfig;
|
|
10630
10730
|
workspaceMcpDiscoveryPromise;
|
|
10631
10731
|
workspaceMcpDiscoveryError;
|
|
10732
|
+
workspaceExtensionStatusRefreshPromise;
|
|
10632
10733
|
pendingMcpAuthentications = /* @__PURE__ */ new Map();
|
|
10633
10734
|
mcpAuthenticationResults = /* @__PURE__ */ new Map();
|
|
10634
10735
|
generationControllers = /* @__PURE__ */ new Map();
|
|
@@ -10720,7 +10821,7 @@ var QwenAgent = class {
|
|
|
10720
10821
|
const writerTerminals = [];
|
|
10721
10822
|
for (const config of configList) {
|
|
10722
10823
|
try {
|
|
10723
|
-
writerTerminals.push(config.closeSessionWriter());
|
|
10824
|
+
writerTerminals.push(config.closeSessionWriter({ handoff: true }));
|
|
10724
10825
|
} catch (error) {
|
|
10725
10826
|
writerTerminals.push(Promise.reject(error));
|
|
10726
10827
|
}
|
|
@@ -10772,6 +10873,39 @@ var QwenAgent = class {
|
|
|
10772
10873
|
}
|
|
10773
10874
|
return this.workspaceMcpDiscoveryConfig ?? this.config;
|
|
10774
10875
|
}
|
|
10876
|
+
refreshBootstrapExtensionStatus() {
|
|
10877
|
+
if (this.workspaceExtensionStatusRefreshPromise) {
|
|
10878
|
+
return this.workspaceExtensionStatusRefreshPromise;
|
|
10879
|
+
}
|
|
10880
|
+
const promise = (async () => {
|
|
10881
|
+
const errors = [];
|
|
10882
|
+
try {
|
|
10883
|
+
await this.config.getExtensionManager().refreshCache();
|
|
10884
|
+
} catch (error) {
|
|
10885
|
+
errors.push(error);
|
|
10886
|
+
}
|
|
10887
|
+
try {
|
|
10888
|
+
await this.config.getSkillManager()?.refreshCache();
|
|
10889
|
+
} catch (error) {
|
|
10890
|
+
errors.push(error);
|
|
10891
|
+
}
|
|
10892
|
+
if (errors.length === 1) throw errors[0];
|
|
10893
|
+
if (errors.length > 1) {
|
|
10894
|
+
throw new AggregateError(
|
|
10895
|
+
errors,
|
|
10896
|
+
"Bootstrap extension status refresh failed"
|
|
10897
|
+
);
|
|
10898
|
+
}
|
|
10899
|
+
})();
|
|
10900
|
+
this.workspaceExtensionStatusRefreshPromise = promise;
|
|
10901
|
+
const clear = /* @__PURE__ */ __name(() => {
|
|
10902
|
+
if (this.workspaceExtensionStatusRefreshPromise === promise) {
|
|
10903
|
+
this.workspaceExtensionStatusRefreshPromise = void 0;
|
|
10904
|
+
}
|
|
10905
|
+
}, "clear");
|
|
10906
|
+
void promise.then(clear, clear);
|
|
10907
|
+
return promise;
|
|
10908
|
+
}
|
|
10775
10909
|
getLiveMcpConfigs(serverName) {
|
|
10776
10910
|
return [
|
|
10777
10911
|
.../* @__PURE__ */ new Set([
|
|
@@ -11302,7 +11436,7 @@ var QwenAgent = class {
|
|
|
11302
11436
|
}
|
|
11303
11437
|
this.clientCapabilities = args.clientCapabilities;
|
|
11304
11438
|
const authMethods = buildAuthMethods();
|
|
11305
|
-
const version = "0.21.
|
|
11439
|
+
const version = "0.21.2";
|
|
11306
11440
|
const response = {
|
|
11307
11441
|
protocolVersion: PROTOCOL_VERSION,
|
|
11308
11442
|
agentInfo: {
|
|
@@ -11376,6 +11510,7 @@ var QwenAgent = class {
|
|
|
11376
11510
|
}
|
|
11377
11511
|
async newSession(params) {
|
|
11378
11512
|
const { cwd, mcpServers } = params;
|
|
11513
|
+
const isChannelSession = isChannelSessionRequest(params);
|
|
11379
11514
|
const parentContext = extractDaemonTraceContext(params);
|
|
11380
11515
|
return await withDaemonSpan(
|
|
11381
11516
|
"qwen-code.daemon.session_start",
|
|
@@ -11389,7 +11524,15 @@ var QwenAgent = class {
|
|
|
11389
11524
|
this.settings = settings;
|
|
11390
11525
|
const config = await profiler.time(
|
|
11391
11526
|
"config_setup",
|
|
11392
|
-
() => this.newSessionConfig(
|
|
11527
|
+
() => this.newSessionConfig(
|
|
11528
|
+
cwd,
|
|
11529
|
+
mcpServers,
|
|
11530
|
+
settings,
|
|
11531
|
+
isChannelSession,
|
|
11532
|
+
void 0,
|
|
11533
|
+
void 0,
|
|
11534
|
+
shouldDeferMcpDiscovery(params) ? { skipMcpDiscovery: true } : void 0
|
|
11535
|
+
)
|
|
11393
11536
|
);
|
|
11394
11537
|
let session;
|
|
11395
11538
|
try {
|
|
@@ -11421,6 +11564,7 @@ var QwenAgent = class {
|
|
|
11421
11564
|
);
|
|
11422
11565
|
}
|
|
11423
11566
|
async loadSession(params) {
|
|
11567
|
+
const isChannelSession = isChannelSessionRequest(params);
|
|
11424
11568
|
const settings = loadSettingsCached(params.cwd);
|
|
11425
11569
|
const liveSession = this.sessions.get(params.sessionId);
|
|
11426
11570
|
if (liveSession) {
|
|
@@ -11437,9 +11581,16 @@ var QwenAgent = class {
|
|
|
11437
11581
|
...sessionData2.artifactSnapshot ? { artifactSnapshot: sessionData2.artifactSnapshot } : {}
|
|
11438
11582
|
};
|
|
11439
11583
|
const records = sessionData2.conversation.messages;
|
|
11440
|
-
|
|
11584
|
+
const visibleRecords = selectVisibleHistoryRecords(
|
|
11585
|
+
records,
|
|
11586
|
+
shouldHideInheritedHistory(params)
|
|
11587
|
+
);
|
|
11588
|
+
if (visibleRecords.length === 0) return response2;
|
|
11441
11589
|
const bulkReplay2 = isBulkLoadReplayRequest(params);
|
|
11442
|
-
const replayPage = bulkReplay2 ? selectRecentHistoryRecords(
|
|
11590
|
+
const replayPage = bulkReplay2 ? selectRecentHistoryRecords(
|
|
11591
|
+
visibleRecords,
|
|
11592
|
+
getLoadReplayPageSize(params)
|
|
11593
|
+
) : { records: visibleRecords, hasMore: false };
|
|
11443
11594
|
const replay = await collectHistoryReplayUpdates({
|
|
11444
11595
|
sessionId: params.sessionId,
|
|
11445
11596
|
config: config2,
|
|
@@ -11491,6 +11642,7 @@ var QwenAgent = class {
|
|
|
11491
11642
|
// a `null`/`undefined` would otherwise throw `TypeError`.
|
|
11492
11643
|
params.mcpServers ?? [],
|
|
11493
11644
|
settings,
|
|
11645
|
+
isChannelSession,
|
|
11494
11646
|
params.sessionId,
|
|
11495
11647
|
true
|
|
11496
11648
|
);
|
|
@@ -11509,8 +11661,12 @@ var QwenAgent = class {
|
|
|
11509
11661
|
let replayUpdates = [];
|
|
11510
11662
|
if (records) {
|
|
11511
11663
|
createdSession.primeTurnFromHistory(records);
|
|
11512
|
-
const
|
|
11664
|
+
const visibleRecords = selectVisibleHistoryRecords(
|
|
11513
11665
|
records,
|
|
11666
|
+
shouldHideInheritedHistory(params)
|
|
11667
|
+
);
|
|
11668
|
+
const replayPage = selectRecentHistoryRecords(
|
|
11669
|
+
visibleRecords,
|
|
11514
11670
|
replayPageSize
|
|
11515
11671
|
);
|
|
11516
11672
|
const replayUsage = createReplayCumulativeUsage();
|
|
@@ -11577,6 +11733,7 @@ var QwenAgent = class {
|
|
|
11577
11733
|
};
|
|
11578
11734
|
}
|
|
11579
11735
|
async unstable_resumeSession(params) {
|
|
11736
|
+
const isChannelSession = isChannelSessionRequest(params);
|
|
11580
11737
|
const settings = loadSettingsCached(params.cwd);
|
|
11581
11738
|
const liveSession = this.sessions.get(params.sessionId);
|
|
11582
11739
|
if (liveSession) {
|
|
@@ -11609,6 +11766,7 @@ var QwenAgent = class {
|
|
|
11609
11766
|
params.cwd,
|
|
11610
11767
|
params.mcpServers ?? [],
|
|
11611
11768
|
settings,
|
|
11769
|
+
isChannelSession,
|
|
11612
11770
|
params.sessionId,
|
|
11613
11771
|
true
|
|
11614
11772
|
);
|
|
@@ -12535,23 +12693,56 @@ var QwenAgent = class {
|
|
|
12535
12693
|
...inferred ? { errorKind: inferred } : {}
|
|
12536
12694
|
};
|
|
12537
12695
|
}
|
|
12696
|
+
/**
|
|
12697
|
+
* Keeps the extension-derived half of the skill snapshot self-healing.
|
|
12698
|
+
*
|
|
12699
|
+
* Skills have a watcher (`SkillManager.startWatching`); extensions do not, so
|
|
12700
|
+
* without this the child would never notice an extension installed, removed,
|
|
12701
|
+
* enabled, or disabled outside the daemon — and extension-level skills are
|
|
12702
|
+
* derived from that set, so a skill-watcher tick alone cannot recover it.
|
|
12703
|
+
*
|
|
12704
|
+
* The check is one `readdir` plus a bounded number of `stat`s, and refreshes
|
|
12705
|
+
* only when the sources actually moved, so a steady-state read still parses
|
|
12706
|
+
* no manifest and no `SKILL.md`. Failures are logged and swallowed: a status
|
|
12707
|
+
* read must not fail because revalidation could not run.
|
|
12708
|
+
*
|
|
12709
|
+
* Skipped in safe and bare mode. Those modes deliberately never populate the
|
|
12710
|
+
* extension cache (`Config.initialize` omits the refresh), and the snapshot
|
|
12711
|
+
* derives extension skills from `getExtensions()` — so revalidating here
|
|
12712
|
+
* would load the extensions those modes exist to exclude.
|
|
12713
|
+
*/
|
|
12714
|
+
async revalidateExtensionSources(config) {
|
|
12715
|
+
try {
|
|
12716
|
+
if (config.isSafeMode() || config.getBareMode()) return;
|
|
12717
|
+
const changed = await config.getExtensionManager().refreshCacheIfSourcesChanged();
|
|
12718
|
+
if (!changed) return;
|
|
12719
|
+
await config.getSkillManager()?.refreshCache();
|
|
12720
|
+
} catch (error) {
|
|
12721
|
+
debugLogger7.warn("Extension source revalidation failed:", error);
|
|
12722
|
+
}
|
|
12723
|
+
}
|
|
12538
12724
|
async buildWorkspaceSkillsStatus(config) {
|
|
12539
12725
|
const skillManager = config.getSkillManager();
|
|
12540
12726
|
if (!skillManager) {
|
|
12541
12727
|
return {
|
|
12542
12728
|
v: STATUS_SCHEMA_VERSION,
|
|
12543
12729
|
workspaceCwd: this.workspaceCwd(config),
|
|
12544
|
-
initialized:
|
|
12730
|
+
initialized: false,
|
|
12545
12731
|
skills: []
|
|
12546
12732
|
};
|
|
12547
12733
|
}
|
|
12734
|
+
await this.revalidateExtensionSources(config);
|
|
12548
12735
|
try {
|
|
12549
|
-
const
|
|
12550
|
-
|
|
12551
|
-
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
|
|
12736
|
+
const skills = skillManager.getCachedSkills();
|
|
12737
|
+
if (skills === null) {
|
|
12738
|
+
return {
|
|
12739
|
+
v: STATUS_SCHEMA_VERSION,
|
|
12740
|
+
workspaceCwd: this.workspaceCwd(config),
|
|
12741
|
+
initialized: false,
|
|
12742
|
+
skills: []
|
|
12743
|
+
};
|
|
12744
|
+
}
|
|
12745
|
+
const resolved = resolveSkillSettings(this.settings);
|
|
12555
12746
|
const disablements = new Map(
|
|
12556
12747
|
Array.from(config.getDisabledSkillNames(), (name) => {
|
|
12557
12748
|
const normalizedName = name.trim().toLowerCase();
|
|
@@ -12561,17 +12752,6 @@ var QwenAgent = class {
|
|
|
12561
12752
|
];
|
|
12562
12753
|
})
|
|
12563
12754
|
);
|
|
12564
|
-
try {
|
|
12565
|
-
await config.getExtensionManager().refreshCache();
|
|
12566
|
-
} catch (error) {
|
|
12567
|
-
debugLogger7.warn("Extension cache refresh failed:", error);
|
|
12568
|
-
}
|
|
12569
|
-
try {
|
|
12570
|
-
await skillManager.refreshCache();
|
|
12571
|
-
} catch (error) {
|
|
12572
|
-
debugLogger7.warn("Skill cache refresh failed:", error);
|
|
12573
|
-
}
|
|
12574
|
-
const skills = await skillManager.listSkills();
|
|
12575
12755
|
const inactiveSkillRefs = inactiveExtensionSkillRefs(config);
|
|
12576
12756
|
const skillsByKey = new Map(
|
|
12577
12757
|
skills.map((skill) => [
|
|
@@ -15151,6 +15331,11 @@ var QwenAgent = class {
|
|
|
15151
15331
|
`Memory refresh failed: ${relocation.memoryRefreshError instanceof Error ? relocation.memoryRefreshError.message : String(relocation.memoryRefreshError)}`
|
|
15152
15332
|
);
|
|
15153
15333
|
}
|
|
15334
|
+
if (relocation.mcpRefreshError) {
|
|
15335
|
+
warnings.push(
|
|
15336
|
+
`MCP refresh failed: ${relocation.mcpRefreshError instanceof Error ? relocation.mcpRefreshError.message : String(relocation.mcpRefreshError)}`
|
|
15337
|
+
);
|
|
15338
|
+
}
|
|
15154
15339
|
try {
|
|
15155
15340
|
await config.getGeminiClient()?.addWorkingDirectoryChangedContext(
|
|
15156
15341
|
settledPreviousCwd,
|
|
@@ -15762,6 +15947,13 @@ ${outputText}
|
|
|
15762
15947
|
}
|
|
15763
15948
|
case SERVE_CONTROL_EXT_METHODS.workspaceExtensionsRefresh: {
|
|
15764
15949
|
const sessionId = params["sessionId"];
|
|
15950
|
+
const rawRefreshBootstrap = params["refreshBootstrap"];
|
|
15951
|
+
if (rawRefreshBootstrap !== void 0 && typeof rawRefreshBootstrap !== "boolean") {
|
|
15952
|
+
throw RequestError.invalidParams(
|
|
15953
|
+
void 0,
|
|
15954
|
+
"refreshBootstrap must be a boolean"
|
|
15955
|
+
);
|
|
15956
|
+
}
|
|
15765
15957
|
const session = this.sessionOrThrow(sessionId);
|
|
15766
15958
|
const config = session.getConfig();
|
|
15767
15959
|
const extensionManager = config.getExtensionManager();
|
|
@@ -15775,6 +15967,12 @@ ${outputText}
|
|
|
15775
15967
|
}, "runRefresh");
|
|
15776
15968
|
await runRefresh(async () => await extensionManager.refreshCache());
|
|
15777
15969
|
await runRefresh(async () => await extensionManager.refreshTools());
|
|
15970
|
+
const bootstrapConfig = this.config;
|
|
15971
|
+
if (rawRefreshBootstrap !== false && bootstrapConfig !== config) {
|
|
15972
|
+
await runRefresh(
|
|
15973
|
+
async () => await this.refreshBootstrapExtensionStatus()
|
|
15974
|
+
);
|
|
15975
|
+
}
|
|
15778
15976
|
const discoveryConfig = this.workspaceMcpDiscoveryConfig;
|
|
15779
15977
|
if (discoveryConfig && discoveryConfig !== config) {
|
|
15780
15978
|
const discoveryExtensionManager = discoveryConfig.getExtensionManager();
|
|
@@ -16078,7 +16276,9 @@ ${outputText}
|
|
|
16078
16276
|
apiKeyEnvKey: cfg?.apiKeyEnvKey ?? null
|
|
16079
16277
|
};
|
|
16080
16278
|
}
|
|
16081
|
-
case SERVE_CONTROL_EXT_METHODS.sessionBranch:
|
|
16279
|
+
case SERVE_CONTROL_EXT_METHODS.sessionBranch:
|
|
16280
|
+
case SERVE_CONTROL_EXT_METHODS.sessionSideTask: {
|
|
16281
|
+
const isSideTask = method === SERVE_CONTROL_EXT_METHODS.sessionSideTask;
|
|
16082
16282
|
const sessionId = params["sessionId"];
|
|
16083
16283
|
if (typeof sessionId !== "string" || !SESSION_ID_RE.test(sessionId)) {
|
|
16084
16284
|
throw RequestError.invalidParams(
|
|
@@ -16101,7 +16301,17 @@ ${outputText}
|
|
|
16101
16301
|
}
|
|
16102
16302
|
const newSessionId = randomUUID2();
|
|
16103
16303
|
const sessionService = sourceConfig.getSessionService();
|
|
16104
|
-
|
|
16304
|
+
const fork = /* @__PURE__ */ __name(() => isSideTask ? sessionService.forkSession(sessionId, newSessionId, {
|
|
16305
|
+
source: {
|
|
16306
|
+
sourceType: "side_task",
|
|
16307
|
+
sourceId: sessionId
|
|
16308
|
+
}
|
|
16309
|
+
}) : sessionService.forkSession(sessionId, newSessionId), "fork");
|
|
16310
|
+
if (isSideTask && recording) {
|
|
16311
|
+
await recording.runWithWriteBarrier(fork);
|
|
16312
|
+
} else {
|
|
16313
|
+
await fork();
|
|
16314
|
+
}
|
|
16105
16315
|
let title;
|
|
16106
16316
|
try {
|
|
16107
16317
|
let baseName;
|
|
@@ -16116,7 +16326,7 @@ ${outputText}
|
|
|
16116
16326
|
baseName = sessionId.slice(0, 8);
|
|
16117
16327
|
}
|
|
16118
16328
|
}
|
|
16119
|
-
title = await computeUniqueBranchTitle(baseName, sessionService);
|
|
16329
|
+
title = isSideTask ? baseName : await computeUniqueBranchTitle(baseName, sessionService);
|
|
16120
16330
|
const renamed = await sessionService.renameSession(
|
|
16121
16331
|
newSessionId,
|
|
16122
16332
|
title,
|
|
@@ -16450,16 +16660,58 @@ ${outputText}
|
|
|
16450
16660
|
};
|
|
16451
16661
|
}
|
|
16452
16662
|
case SERVE_CONTROL_EXT_METHODS.workspaceSkillsRefresh: {
|
|
16453
|
-
|
|
16663
|
+
const rawReason = params["reason"];
|
|
16664
|
+
if (rawReason !== void 0 && rawReason !== "settings" && rawReason !== "content" && rawReason !== "all") {
|
|
16665
|
+
throw RequestError.invalidParams(
|
|
16666
|
+
void 0,
|
|
16667
|
+
"reason must be settings, content, or all"
|
|
16668
|
+
);
|
|
16669
|
+
}
|
|
16670
|
+
const reason = rawReason ?? "all";
|
|
16671
|
+
const refreshSettings = reason !== "content";
|
|
16672
|
+
const refreshContent = reason !== "settings";
|
|
16673
|
+
if (refreshSettings) {
|
|
16674
|
+
this.settings.reloadScopeFromDisk("Workspace" /* Workspace */);
|
|
16675
|
+
}
|
|
16454
16676
|
const sessions = this.getActiveSessions();
|
|
16677
|
+
const settingsReloadResults = refreshSettings ? await Promise.allSettled(
|
|
16678
|
+
sessions.map(
|
|
16679
|
+
(session) => Promise.resolve().then(() => session.reloadSkillSettings())
|
|
16680
|
+
)
|
|
16681
|
+
) : void 0;
|
|
16682
|
+
let configResults = [];
|
|
16683
|
+
if (refreshContent) {
|
|
16684
|
+
const skillManagers = new Set(
|
|
16685
|
+
[this.config, ...sessions.map((session) => session.getConfig())].map((config) => config.getSkillManager()).filter(
|
|
16686
|
+
(manager) => manager !== void 0
|
|
16687
|
+
)
|
|
16688
|
+
);
|
|
16689
|
+
configResults = await Promise.allSettled(
|
|
16690
|
+
[...skillManagers].map((manager) => manager.refreshCache())
|
|
16691
|
+
);
|
|
16692
|
+
for (const result of configResults) {
|
|
16693
|
+
if (result.status === "rejected") {
|
|
16694
|
+
debugLogger7.warn(`Skill config refresh failed: ${result.reason}`);
|
|
16695
|
+
}
|
|
16696
|
+
}
|
|
16697
|
+
}
|
|
16455
16698
|
const results = await Promise.allSettled(
|
|
16456
|
-
sessions.map((session) =>
|
|
16699
|
+
sessions.map((session, index) => {
|
|
16700
|
+
const settingsReload = settingsReloadResults?.[index];
|
|
16701
|
+
if (settingsReload?.status === "rejected") {
|
|
16702
|
+
return Promise.reject(settingsReload.reason);
|
|
16703
|
+
}
|
|
16704
|
+
return session.refreshSkillsFromSettings({
|
|
16705
|
+
reloadSettings: false,
|
|
16706
|
+
notifyConfigChanged: !refreshContent
|
|
16707
|
+
});
|
|
16708
|
+
})
|
|
16457
16709
|
);
|
|
16458
16710
|
for (let i = 0; i < results.length; i++) {
|
|
16459
16711
|
if (results[i].status === "rejected") {
|
|
16460
|
-
const
|
|
16712
|
+
const reason2 = results[i].reason;
|
|
16461
16713
|
debugLogger7.warn(
|
|
16462
|
-
`Session ${sessions[i].getId()} skill refresh failed: ${
|
|
16714
|
+
`Session ${sessions[i].getId()} skill refresh failed: ${reason2}`
|
|
16463
16715
|
);
|
|
16464
16716
|
}
|
|
16465
16717
|
}
|
|
@@ -16469,7 +16721,14 @@ ${outputText}
|
|
|
16469
16721
|
).length,
|
|
16470
16722
|
sessionsFailed: results.filter(
|
|
16471
16723
|
(result) => result.status === "rejected"
|
|
16472
|
-
).length
|
|
16724
|
+
).length,
|
|
16725
|
+
configsRefreshed: configResults.filter(
|
|
16726
|
+
(result) => result.status === "fulfilled"
|
|
16727
|
+
).length,
|
|
16728
|
+
configsFailed: configResults.filter(
|
|
16729
|
+
(result) => result.status === "rejected"
|
|
16730
|
+
).length,
|
|
16731
|
+
reason
|
|
16473
16732
|
};
|
|
16474
16733
|
}
|
|
16475
16734
|
default:
|
|
@@ -16532,6 +16791,7 @@ ${outputText}
|
|
|
16532
16791
|
[],
|
|
16533
16792
|
settings,
|
|
16534
16793
|
void 0,
|
|
16794
|
+
void 0,
|
|
16535
16795
|
false,
|
|
16536
16796
|
{
|
|
16537
16797
|
skipMcpDiscovery: true,
|
|
@@ -16573,7 +16833,7 @@ ${outputText}
|
|
|
16573
16833
|
throw error;
|
|
16574
16834
|
}
|
|
16575
16835
|
}
|
|
16576
|
-
async newSessionConfig(cwd, mcpServers, settings, sessionId, resume, initializeOptions = {}, chatRecording) {
|
|
16836
|
+
async newSessionConfig(cwd, mcpServers, settings, isChannelSession, sessionId, resume, initializeOptions = {}, chatRecording) {
|
|
16577
16837
|
try {
|
|
16578
16838
|
this.assertManagedSessionAdmission();
|
|
16579
16839
|
return await this.runWithPinnedRuntimeBaseDir(settings, cwd, async () => {
|
|
@@ -16585,6 +16845,7 @@ ${outputText}
|
|
|
16585
16845
|
cwd,
|
|
16586
16846
|
mcpServers,
|
|
16587
16847
|
settings,
|
|
16848
|
+
isChannelSession,
|
|
16588
16849
|
sessionId,
|
|
16589
16850
|
resume,
|
|
16590
16851
|
initializeOptions,
|
|
@@ -16601,7 +16862,7 @@ ${outputText}
|
|
|
16601
16862
|
throw error;
|
|
16602
16863
|
}
|
|
16603
16864
|
}
|
|
16604
|
-
async newSessionConfigInRuntimeContext(cwd, mcpServers, settings, sessionId, resume, initializeOptions = {}, chatRecording) {
|
|
16865
|
+
async newSessionConfigInRuntimeContext(cwd, mcpServers, settings, isChannelSession, sessionId, resume, initializeOptions = {}, chatRecording) {
|
|
16605
16866
|
const sessionMcpServers = {};
|
|
16606
16867
|
for (const server of mcpServers) {
|
|
16607
16868
|
const stdioServer = toStdioServer(server);
|
|
@@ -16613,8 +16874,7 @@ ${outputText}
|
|
|
16613
16874
|
sessionMcpServers[stdioServer.name] = new MCPServerConfig(
|
|
16614
16875
|
stdioServer.command,
|
|
16615
16876
|
stdioServer.args,
|
|
16616
|
-
env
|
|
16617
|
-
cwd
|
|
16877
|
+
env
|
|
16618
16878
|
);
|
|
16619
16879
|
continue;
|
|
16620
16880
|
}
|
|
@@ -16657,7 +16917,8 @@ ${outputText}
|
|
|
16657
16917
|
...settings.merged,
|
|
16658
16918
|
experimental: {
|
|
16659
16919
|
...settings.merged.experimental,
|
|
16660
|
-
sessionWriterLease: this.sessionWriterLeaseEnabledAtStartup
|
|
16920
|
+
sessionWriterLease: this.sessionWriterLeaseEnabledAtStartup,
|
|
16921
|
+
...isChannelSession ? { cron: false } : {}
|
|
16661
16922
|
}
|
|
16662
16923
|
};
|
|
16663
16924
|
const sessionArg = resume === true ? { resume: sessionId, sessionId: void 0 } : { sessionId, resume: void 0 };
|
|
@@ -16701,6 +16962,7 @@ ${outputText}
|
|
|
16701
16962
|
this.assertManagedSessionAdmission();
|
|
16702
16963
|
if (this.isTrustedManagedParent()) {
|
|
16703
16964
|
config.setSessionWriterReclaimPolicy("never");
|
|
16965
|
+
config.setSessionWriterTakeoverPolicy("certified");
|
|
16704
16966
|
}
|
|
16705
16967
|
} catch (error) {
|
|
16706
16968
|
return this.cleanupAfterRequestFailure(
|
|
@@ -16969,6 +17231,7 @@ export {
|
|
|
16969
17231
|
fetchAllowedGitHub,
|
|
16970
17232
|
normalizeCoreSettingValue,
|
|
16971
17233
|
runAcpAgent,
|
|
17234
|
+
selectVisibleHistoryRecords,
|
|
16972
17235
|
toHttpServer,
|
|
16973
17236
|
toSseServer,
|
|
16974
17237
|
toStdioServer
|