@qwen-code/qwen-code 0.21.12-preview.4 → 0.21.12
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/features/channels/overview.md +1 -1
- package/bundled/qc-helper/docs/features/channels/plugins.md +11 -11
- package/bundled/qc-helper/docs/qwen-serve.md +65 -0
- package/chunks/{MaxSizedBox-GFI5RYXH.js → MaxSizedBox-ZSJJ2D5S.js} +45 -45
- package/chunks/{StandaloneSessionPicker-JFWRY4V2.js → StandaloneSessionPicker-WHUHQXSA.js} +64 -65
- package/chunks/{acp-startup-profiler-TVI2OVUN.js → acp-startup-profiler-SVPUHLXV.js} +2 -2
- package/chunks/{acpAgent-7YC6SNIS.js → acpAgent-7JOAESF5.js} +378 -201
- package/chunks/{agent-43KVQSB5.js → agent-E6V3VXQR.js} +41 -41
- package/chunks/{agent-headless-P2N7PDGQ.js → agent-headless-OEQNFOMH.js} +41 -41
- package/chunks/{anthropicContentGenerator-ZBBX5VMY.js → anthropicContentGenerator-YDT4EOKO.js} +25 -25
- package/chunks/{artifact-tool-RWJAKYBZ.js → artifact-tool-4GCQQDZI.js} +5 -5
- package/chunks/{askUserQuestion-IQCA2SOX.js → askUserQuestion-HZJJLR3Z.js} +2 -2
- package/chunks/{bridge-ZBMNALLA.js → bridge-NPBV53UA.js} +47 -47
- package/chunks/{build-RZS65IIX.js → build-GDBLPA24.js} +1 -1
- package/chunks/{channel-management-service-5ZYX4ROW.js → channel-management-service-OADNGQM3.js} +4 -4
- package/chunks/{channel-settings-store-ZJWM7EDP.js → channel-settings-store-4ODLJ4X2.js} +48 -48
- package/chunks/{channel-worker-group-QFJKXO7R.js → channel-worker-group-IHBIHQ45.js} +7 -7
- package/chunks/{channel-worker-manager-PWD2UURZ.js → channel-worker-manager-GEHYJ5AE.js} +7 -7
- package/chunks/{channel-worker-supervisor-XQJBGFCM.js → channel-worker-supervisor-ZJIIWM4I.js} +5 -5
- package/chunks/{chunk-LHOG4E6Y.js → chunk-22C7BQ6D.js} +3 -3
- package/chunks/{chunk-2SB4SLKC.js → chunk-2IIJTXYF.js} +1 -3
- package/chunks/{chunk-QSMZHJ62.js → chunk-2IVYL3IF.js} +1 -1
- package/chunks/{chunk-QEWAHAW2.js → chunk-2ZWH53I4.js} +3 -3
- package/chunks/{chunk-6NQWER7D.js → chunk-36XKGB7E.js} +3 -3
- package/chunks/{chunk-7JL5YBSA.js → chunk-3AEKDXKT.js} +1 -1
- package/chunks/{chunk-H2U4FK62.js → chunk-3GDBZJD6.js} +6 -6
- package/chunks/{chunk-VPZMLGD3.js → chunk-3GM5DLBI.js} +5 -5
- package/chunks/{chunk-PYLVQ6RT.js → chunk-3LDGOQXZ.js} +6 -6
- package/chunks/{chunk-BKHCW2BI.js → chunk-3VUENPWF.js} +10 -0
- package/chunks/{chunk-XY7DGTIC.js → chunk-45NQKMYB.js} +1 -1
- package/chunks/{chunk-QWAI7FNT.js → chunk-47BGDLJG.js} +119 -27
- package/chunks/{chunk-H6BFLALJ.js → chunk-4AOVQPJU.js} +1 -1
- package/chunks/{chunk-UAAWNTOC.js → chunk-4KM2SYK5.js} +12 -12
- package/chunks/{chunk-VRQD5D7R.js → chunk-4XA4QIUA.js} +1 -1
- package/chunks/{chunk-BNRIQWXW.js → chunk-56HVDG3M.js} +4 -4
- package/chunks/{chunk-KB4ISUT3.js → chunk-5AFGJNY6.js} +4 -4
- package/chunks/{chunk-KTWUFHS4.js → chunk-5RUCD4ED.js} +2 -2
- package/chunks/{chunk-TB6DPBE4.js → chunk-62X3CM7Q.js} +7 -7
- package/chunks/{chunk-SNHBRO4C.js → chunk-63FNZTWG.js} +2 -2
- package/chunks/{chunk-GDNDZJSG.js → chunk-6JEIRPLN.js} +47 -4
- package/chunks/{chunk-A2QIWDFO.js → chunk-6P5EXEBL.js} +159 -34
- package/chunks/{chunk-NAOHSM56.js → chunk-6SPD4Z7F.js} +1 -1
- package/chunks/{chunk-MTV5W6WN.js → chunk-6ZKSO6K7.js} +7 -7
- package/chunks/{chunk-QSDPJROT.js → chunk-7KJPO7YH.js} +2 -2
- package/chunks/{chunk-JVY7FHUZ.js → chunk-7U5G6JXI.js} +9 -0
- package/chunks/{chunk-JW5UEE3V.js → chunk-A6NRNRKE.js} +1 -1
- package/chunks/{chunk-AAZWJAPQ.js → chunk-AKBFSOC5.js} +2 -2
- package/chunks/{chunk-ADJDLEVO.js → chunk-AW27A43Y.js} +9 -11
- package/chunks/{chunk-M4NWDIFU.js → chunk-AZQ3DT76.js} +1 -1
- package/chunks/{chunk-HY5OHJEC.js → chunk-B4VN3VDH.js} +5 -5
- package/chunks/{chunk-VUTOV2HG.js → chunk-BSR5AXZR.js} +4 -3
- package/chunks/{chunk-ARL4UGRW.js → chunk-BSSLSQEW.js} +3 -3
- package/chunks/{chunk-OSA2TFDI.js → chunk-CGM3E75C.js} +3 -3
- package/chunks/{chunk-OIZWCOYC.js → chunk-CIDQISGM.js} +5 -5
- package/chunks/{chunk-67F2BEYW.js → chunk-CPFFU46D.js} +1 -1
- package/chunks/{chunk-HOJZ2QQA.js → chunk-CQ6IPDQW.js} +3 -3
- package/chunks/{chunk-UWIJU22K.js → chunk-CZ4OWGQQ.js} +6 -8
- package/chunks/{chunk-A6GQUQ7I.js → chunk-D2RNVVH6.js} +2 -2
- package/chunks/{chunk-PSTHNTHF.js → chunk-D7QGE3RT.js} +1 -1
- package/chunks/{chunk-2U3UCXZ3.js → chunk-DAV4QFD5.js} +2 -11
- package/chunks/{chunk-4JS2QK7P.js → chunk-DD6O3ZRD.js} +1 -1
- package/chunks/{chunk-7WUMS2UA.js → chunk-DEDESZDL.js} +1 -1
- package/chunks/{chunk-VYDQD5J4.js → chunk-DFVXU5YM.js} +1 -1
- package/chunks/{chunk-CDDLHCC2.js → chunk-DG4IQ6JG.js} +5 -5
- package/chunks/{chunk-B66LYK4B.js → chunk-DPTMKFIH.js} +1 -1
- package/chunks/{chunk-GHOUZ5X4.js → chunk-EBPLKY6U.js} +384 -311
- package/chunks/{chunk-XL6GYJL2.js → chunk-EJOGLSNJ.js} +2 -2
- package/chunks/{chunk-4X5J3V2I.js → chunk-FA5K6YI2.js} +2 -2
- package/chunks/{chunk-ZZ7RUTJ4.js → chunk-FMIH5KMQ.js} +1 -1
- package/chunks/{chunk-UFHPAMAV.js → chunk-FQDCO3CJ.js} +6 -1
- package/chunks/{chunk-UHF5VBKO.js → chunk-FRHQQC2Z.js} +1 -1
- package/chunks/{chunk-6OJDN5ZT.js → chunk-G6MUFRNI.js} +1 -1
- package/chunks/{chunk-XUBM2A4F.js → chunk-GXTMEATA.js} +15 -34
- package/chunks/{chunk-V3NMFQD2.js → chunk-GZDWTBT3.js} +2 -2
- package/chunks/{chunk-5KZNWF2M.js → chunk-H7TMVHKE.js} +1 -1
- package/chunks/{chunk-YY23TR4M.js → chunk-HG3UBTJ4.js} +1 -1
- package/chunks/{chunk-YMB77M76.js → chunk-HOSVOUDK.js} +56 -0
- package/chunks/{chunk-NHZF4VCD.js → chunk-HTYND72J.js} +1 -1
- package/chunks/{chunk-JBZYGFIB.js → chunk-I7BT2MME.js} +1 -1
- package/chunks/{chunk-N3J3CO35.js → chunk-IH4Z54RJ.js} +7 -5
- package/chunks/{chunk-JXS2JNMZ.js → chunk-IRSLAS4M.js} +2 -2
- package/chunks/{chunk-CTEGMF77.js → chunk-IX4PWUDU.js} +155 -87
- package/chunks/{chunk-A4BAHMJF.js → chunk-JRIVMPD2.js} +3 -3
- package/chunks/{chunk-Q7YDKOGY.js → chunk-JVEGA3MM.js} +1 -1
- package/chunks/{chunk-U5C2GIN2.js → chunk-K34GJQOZ.js} +117 -3
- package/chunks/{chunk-YI5G32RU.js → chunk-KEC5FHLM.js} +3 -3
- package/chunks/{chunk-2RTRFLWH.js → chunk-KLOMACIR.js} +6 -6
- package/chunks/{chunk-XJ6IMYUS.js → chunk-KWX56CHZ.js} +7 -7
- package/chunks/{chunk-Y2HK3ELT.js → chunk-LCX5B364.js} +3 -3
- package/chunks/{chunk-JRTJEGSP.js → chunk-LSRI3ND3.js} +1 -1
- package/chunks/{chunk-T4G33L3W.js → chunk-LUISTZXI.js} +3 -3
- package/chunks/{chunk-Q7ALOKK7.js → chunk-MAKIANMX.js} +3 -3
- package/chunks/{chunk-QXFAQDBV.js → chunk-MDNUCDKZ.js} +2 -2
- package/chunks/{chunk-BXAGPCYH.js → chunk-MELQSJOU.js} +1 -1
- package/chunks/{chunk-B7IBCWDW.js → chunk-MUNA4QDC.js} +4 -4
- package/chunks/{chunk-3MJ44LNC.js → chunk-N4SVADAV.js} +264 -138
- package/chunks/{chunk-KK3FEHPJ.js → chunk-NLFLYSS4.js} +1 -1
- package/chunks/{chunk-UPUAGRKY.js → chunk-NW2GIPG3.js} +2 -4
- package/chunks/{chunk-LSMCI42W.js → chunk-NX4A23LY.js} +3 -3
- package/chunks/{chunk-TN3REXN4.js → chunk-OK47XBYH.js} +79 -36
- package/chunks/{chunk-L3YACXS2.js → chunk-OPVF453Q.js} +3 -3
- package/chunks/{chunk-NX5QZVRS.js → chunk-OR64CU46.js} +1 -1
- package/chunks/{chunk-JOVJCXN4.js → chunk-OWGRUU7F.js} +1 -1
- package/chunks/{chunk-V2U6FOJB.js → chunk-OWXFBIB6.js} +1 -1
- package/chunks/{chunk-6LDLDK6E.js → chunk-OYWVIXHT.js} +1 -3
- package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
- package/chunks/{chunk-32SNBMNP.js → chunk-PTSEETCO.js} +27 -27
- package/chunks/{chunk-C2DR57L6.js → chunk-PVXEJB66.js} +1 -1
- package/chunks/{chunk-O6SLWH4X.js → chunk-PZW46OTB.js} +2 -2
- package/chunks/{chunk-ECDXUCEO.js → chunk-Q4ZPYNIZ.js} +4 -4
- package/chunks/{chunk-QSWDGAIC.js → chunk-QILD6R27.js} +1 -1
- package/chunks/{chunk-6SU6OW5Z.js → chunk-QLTATTPS.js} +1 -1
- package/chunks/{chunk-NM33GGOM.js → chunk-QPBFRWCP.js} +3 -3
- package/chunks/{chunk-DUFZ3OW6.js → chunk-QSD4UH74.js} +842 -62
- package/chunks/{chunk-6T5HCY34.js → chunk-RDVNSJQU.js} +3 -3
- package/chunks/{chunk-3JI5D6RU.js → chunk-ROIJYS5K.js} +6 -6
- package/chunks/{chunk-WIHSDI6U.js → chunk-RQJA2YYO.js} +4 -4
- package/chunks/{chunk-JRMUA53D.js → chunk-S6TCTH4Z.js} +13 -13
- package/chunks/{chunk-FVHLDSQS.js → chunk-SYHXR6WM.js} +5 -5
- package/chunks/{chunk-FTGU6G45.js → chunk-TB4YFWXG.js} +2 -2
- package/chunks/{chunk-SFBRH5RY.js → chunk-TDESMS7M.js} +8 -8
- package/chunks/{chunk-EGB2PIYM.js → chunk-TMFWI4RC.js} +1 -1
- package/chunks/{chunk-2N6CV4PW.js → chunk-TQDFSQQF.js} +1 -1
- package/chunks/{chunk-TROB4PZY.js → chunk-TTRH3RTQ.js} +4 -4
- package/chunks/{chunk-E74YSVIN.js → chunk-TXP5NGG3.js} +1 -1
- package/chunks/{chunk-E3GLDLYB.js → chunk-TYAMGABM.js} +0 -6
- package/chunks/{chunk-APQTLUZ3.js → chunk-UI5UGEF4.js} +129 -8
- package/chunks/{chunk-TNETSI2A.js → chunk-ULNWG62W.js} +3 -3
- package/chunks/{chunk-FNVF5RR4.js → chunk-V6OBVAST.js} +1 -1
- package/chunks/{chunk-BGIKUE5J.js → chunk-VIFA5VJD.js} +1 -1
- package/chunks/{chunk-HWCHDINS.js → chunk-VLHR7F4E.js} +595 -58
- package/chunks/{chunk-SKRHR6N2.js → chunk-VPV7WBVT.js} +1 -1
- package/chunks/{chunk-FB5CQZMK.js → chunk-WCEI6J56.js} +1 -1
- package/chunks/{chunk-ORR5EFCL.js → chunk-WDVDVWJ3.js} +6 -6
- package/chunks/{chunk-B2BKFWJK.js → chunk-WI6GIM2M.js} +2 -2
- package/chunks/{chunk-N56NYJWY.js → chunk-WM3LUQLO.js} +7 -7
- package/chunks/{chunk-JGD35ZSJ.js → chunk-X5SLJOMF.js} +9 -7
- package/chunks/{chunk-Y5C24BUY.js → chunk-XAFIL4BD.js} +5 -5
- package/chunks/{chunk-IJCZP2MA.js → chunk-XDRXOSAD.js} +3 -3
- package/chunks/{chunk-FXWGMPAP.js → chunk-XH3KAV2G.js} +2 -2
- package/chunks/{chunk-NW7SPXVG.js → chunk-YBHUXEC6.js} +1 -1
- package/chunks/{chunk-2ASWIM4A.js → chunk-YBVVOSOH.js} +1 -1
- package/chunks/{chunk-62TIEFNN.js → chunk-YCHNAKC5.js} +16 -14
- package/chunks/{chunk-ZRT36RSF.js → chunk-YIGGWOJE.js} +1 -1
- package/chunks/{chunk-ZPZANKVP.js → chunk-YILJKX2T.js} +3 -3
- package/chunks/{chunk-Y2EOB7WZ.js → chunk-YX2RDGAL.js} +1 -1
- package/chunks/{chunk-UQPLUR4A.js → chunk-ZBB5EZZV.js} +2 -2
- package/chunks/{chunk-U7ROFHSH.js → chunk-ZLCT4C5A.js} +1 -1
- package/chunks/{chunk-ZA2JN5IZ.js → chunk-ZMY2P4L3.js} +3 -3
- package/chunks/{chunk-LIBTBTHP.js → chunk-ZQUY3ZJU.js} +4 -4
- package/chunks/{computer-use-J5VUY257.js → computer-use-F4URV4TU.js} +44 -44
- package/chunks/{config-utils-7JZQN6L2.js → config-utils-Z3OW3IQG.js} +4 -4
- package/chunks/{contextCommand-RCTGC36R.js → contextCommand-IGSS2U5J.js} +43 -43
- package/chunks/{core-runtime-REBZ5ZYE.js → core-runtime-H5CZDN3A.js} +41 -41
- package/chunks/{create-sub-session-TEEUROAZ.js → create-sub-session-PA7MFTHK.js} +41 -41
- package/chunks/{create-sub-session-23ULO5PO.js → create-sub-session-XT6DLYOE.js} +2 -2
- package/chunks/{cron-create-5WUTNKNF.js → cron-create-2JZ2TWTF.js} +4 -4
- package/chunks/{cron-delete-JEQ27YPS.js → cron-delete-CTPD2P26.js} +4 -4
- package/chunks/{cron-list-IXGCA7UR.js → cron-list-V44KHAF6.js} +4 -4
- package/chunks/{daemon-UBVOQMWY.js → daemon-GED37WOX.js} +28 -1
- package/chunks/daemon-git-worktree-guard-LZDCNJGV.js +2062 -0
- package/chunks/{daemon-status-provider-SV7KRLJ4.js → daemon-status-provider-QYM57Z44.js} +51 -52
- package/chunks/{daemon-trust-policy-LFUJ4NGF.js → daemon-trust-policy-TSRVEYZR.js} +47 -47
- package/chunks/{daemon-trust-policy-monitor-BQZ77NDD.js → daemon-trust-policy-monitor-2K2YETMT.js} +47 -47
- package/chunks/{deferred-core-runtime-F4XOQJQL.js → deferred-core-runtime-FKJ3OYE7.js} +43 -43
- package/chunks/{devtools-X6ROTKHE.js → devtools-4QFYJT6U.js} +1 -1
- package/chunks/{display-image-CAD7RAUM.js → display-image-M2ELAVN4.js} +4 -4
- package/chunks/{dist-B3ODKYEB.js → dist-4ZPG4BY6.js} +2 -2
- package/chunks/{dist-CCUH2Z4C.js → dist-BROOP2EG.js} +1 -1
- package/chunks/{dist-DANKRAB3.js → dist-IYYN3RUT.js} +2 -2
- package/chunks/{dist-5VDE7U3A.js → dist-JWMKPWT5.js} +3 -1
- package/chunks/{dist-6RK4U6VU.js → dist-K7IQB53U.js} +1 -1
- package/chunks/{dist-EZHCZSW6.js → dist-MAQXAQ2Y.js} +1 -1
- package/chunks/{dist-362MN6CP.js → dist-WJ4BHIEW.js} +2 -2
- package/chunks/{dist-M3XMEIP2.js → dist-YEPL4RAW.js} +1 -1
- package/chunks/{earlyInputCapture-JAJXDT2N.js → earlyInputCapture-WJBSJQUF.js} +42 -42
- package/chunks/{edit-OXBMFY5B.js → edit-X73LA4YO.js} +49 -48
- package/chunks/{enter-worktree-XS4JX4PO.js → enter-worktree-CLRQTIVN.js} +46 -46
- package/chunks/{enterPlanMode-J6PDPFFT.js → enterPlanMode-6BDYUQ5T.js} +47 -47
- package/chunks/{environment-BQW6FAZL.js → environment-WOAJXJDJ.js} +43 -43
- package/chunks/{errors-TMSN7AZN.js → errors-7OY5MXYY.js} +43 -43
- package/chunks/{exit-worktree-2RIE6DAO.js → exit-worktree-TFFJXCRT.js} +46 -46
- package/chunks/{exitPlanMode-QQL27HU4.js → exitPlanMode-WDURQMIU.js} +41 -41
- package/chunks/{external-tool-guard-provider-5HTGOPGU.js → external-tool-guard-provider-TE4DRY36.js} +1 -1
- package/chunks/{fast-path-TSGUVE5K.js → fast-path-QQLGC37M.js} +3 -3
- package/chunks/{gemini-RLTFENFV.js → gemini-VHE62IJL.js} +107 -102
- package/chunks/{geminiContentGenerator-B6W6PSO7.js → geminiContentGenerator-VSHIEGAQ.js} +11 -11
- package/chunks/{glob-JKVAHWL5.js → glob-VMEEDDLO.js} +48 -48
- package/chunks/{goal-tools-LQFO4BRY.js → goal-tools-M4UDAZXP.js} +4 -4
- package/chunks/{grep-6CN23ZPS.js → grep-F4UAR7KX.js} +46 -46
- package/chunks/{handleAutoUpdate-Y6BUNMBG.js → handleAutoUpdate-GN7Z6QAC.js} +45 -45
- package/chunks/{i18n-Y5PM6L5V.js → i18n-ETW24DHW.js} +42 -42
- package/chunks/{image-gen-DC2IQZ73.js → image-gen-YPK2AZT4.js} +11 -11
- package/chunks/{initializer-OYKKBNHO.js → initializer-UA6KQ7MS.js} +48 -48
- package/chunks/{installationInfo-63AFHLWA.js → installationInfo-P7OTIR4P.js} +42 -42
- package/chunks/{keychain-token-storage-GU75J2T2.js → keychain-token-storage-NKKCUHI2.js} +2 -2
- package/chunks/{list-KA63R3R6.js → list-GRAMIQOT.js} +50 -50
- package/chunks/{list-agents-5PNMK2AM.js → list-agents-O6WSY4CT.js} +2 -2
- package/chunks/{loadedSettingsAdapter-IGBJN7C5.js → loadedSettingsAdapter-5O2TDS3I.js} +47 -47
- package/chunks/{loggingContentGenerator-Z3NADCTQ.js → loggingContentGenerator-J2J2AANS.js} +54 -45
- package/chunks/{loop-wakeup-OV65FEGR.js → loop-wakeup-GVQRMUKS.js} +5 -5
- package/chunks/{ls-RPRSX26R.js → ls-6W2D7TKU.js} +6 -6
- package/chunks/{lsp-IWTJWFLT.js → lsp-NJ4KFBI2.js} +2 -2
- package/chunks/{managed-npm-update-HA262PFM.js → managed-npm-update-WMV5ITKU.js} +42 -42
- package/chunks/{mcp-T5ZUOKT3.js → mcp-XLP33CAI.js} +47 -47
- package/chunks/{monitor-SLGY7CYB.js → monitor-2MM23VDV.js} +46 -46
- package/chunks/{node-YSOU44FX.js → node-UUDY34IG.js} +3 -3
- package/chunks/nonInteractiveCli-KTA5K6FS.js +163 -0
- package/chunks/{notebook-edit-STSSB5KQ.js → notebook-edit-QD4TRKLY.js} +46 -46
- package/chunks/{openaiContentGenerator-OQED57JE.js → openaiContentGenerator-KLHSPVN2.js} +30 -30
- package/chunks/{pidfile-GES3MIHH.js → pidfile-RQGZBNXT.js} +42 -42
- package/chunks/{processUtils-FU6VMUOL.js → processUtils-HZZDA2VV.js} +2 -2
- package/chunks/{qwenContentGenerator-HWJSEGUL.js → qwenContentGenerator-T75M2Z3B.js} +49 -49
- package/chunks/{qwenOAuth2-PAIR7XEW.js → qwenOAuth2-5QZU444W.js} +10 -10
- package/chunks/{read-file-IYEBTQT5.js → read-file-LOVUSBJC.js} +11 -11
- package/chunks/{read-mcp-resource-THCSZHXO.js → read-mcp-resource-GWCP23WG.js} +2 -2
- package/chunks/{record-artifact-76YYQA5F.js → record-artifact-IYQDEYMV.js} +3 -3
- package/chunks/{resumeHistoryUtils-WP446RP5.js → resumeHistoryUtils-LVKSSQII.js} +49 -49
- package/chunks/{ripGrep-VV2CRCL2.js → ripGrep-ZJSHKB6H.js} +41 -41
- package/chunks/{run-qwen-serve-AHQCTALV.js → run-qwen-serve-GZW7B4WK.js} +68 -61
- package/chunks/{runtime-AUUZGDK6.js → runtime-MYRXEO2E.js} +52 -52
- package/chunks/{scheduler-Y4UPEURR.js → scheduler-DPTPI6FW.js} +43 -43
- package/chunks/{sdk-exporters-grpc-4QKV6MCX.js → sdk-exporters-grpc-54L4LS5L.js} +2 -2
- package/chunks/{sdk-exporters-http-A7XLKZO7.js → sdk-exporters-http-NHBYB5FZ.js} +12 -12
- package/chunks/{sdk-impl-XO4UF6PR.js → sdk-impl-SK4P5WON.js} +8 -8
- package/chunks/{send-message-P5SLP57G.js → send-message-O7FO63UK.js} +6 -6
- package/chunks/{serve-WI3SE4MY.js → serve-XCG4XCDA.js} +49 -49
- package/chunks/{server-G6JU6UWL.js → server-AWQHKXLG.js} +122 -117
- package/chunks/{session-2AO2UACB.js → session-P5FKNCNR.js} +91 -94
- package/chunks/{settings-3HRWSH66.js → settings-CSYVIP2R.js} +46 -46
- package/chunks/{shell-AR7XFLHA.js → shell-EGTSUO2P.js} +41 -41
- package/chunks/{skill-K6NOUUYM.js → skill-IFUD72GF.js} +21 -21
- package/chunks/{skill-settings-IOXQYS6X.js → skill-settings-YOE7LBHE.js} +46 -46
- package/chunks/{spawnChannel-V6P6HF4V.js → spawnChannel-PQSZIOLY.js} +44 -46
- package/chunks/{standalone-update-K5G3L2OJ.js → standalone-update-RB2EGUSF.js} +43 -43
- package/chunks/{startInteractiveUI-TRRP52QX.js → startInteractiveUI-KMYUJ2MU.js} +3036 -2405
- package/chunks/{syntheticOutput-SEW4NA47.js → syntheticOutput-DVHJMUGV.js} +3 -3
- package/chunks/{task-create-247EAVF7.js → task-create-4NC7PDI4.js} +11 -11
- package/chunks/{task-list-ZJN4QHLK.js → task-list-LBSRMOC7.js} +5 -5
- package/chunks/{task-stop-MAYQJ42I.js → task-stop-YFNATTIM.js} +2 -2
- package/chunks/{task-update-SU5TMZGG.js → task-update-BPLM52GD.js} +12 -12
- package/chunks/{team-create-IEEEBLE2.js → team-create-B6A6MJBT.js} +46 -46
- package/chunks/{team-delete-3XVRPQBP.js → team-delete-MKYMYBFM.js} +5 -5
- package/chunks/{team-plan-approval-SJGNS5JL.js → team-plan-approval-5WO3CXXU.js} +47 -47
- package/chunks/{terminal-image-renderer-C4RQMC67.js → terminal-image-renderer-BTRE2GEU.js} +43 -43
- package/chunks/{theme-manager-IKZQJQ6C.js → theme-manager-XL2N5SBY.js} +42 -42
- package/chunks/{todoWrite-IE2YTCK7.js → todoWrite-K5K7NRE5.js} +4 -4
- package/chunks/{tool-search-4UVNFYWU.js → tool-search-QNBLXUGR.js} +17 -17
- package/chunks/{total-session-admission-DIN6FTZP.js → total-session-admission-N4E5SFBO.js} +47 -47
- package/chunks/{trustedFolders-IAHOLV6A.js → trustedFolders-MQS46LIU.js} +42 -42
- package/chunks/{update-relaunch-5QSJ5CWP.js → update-relaunch-536KRL33.js} +5 -5
- package/chunks/{updateCheck-N4RT7HOZ.js → updateCheck-QJI2SYWF.js} +45 -45
- package/chunks/{useAutoAcceptIndicator-25T26VZS.js → useAutoAcceptIndicator-7QASHD46.js} +50 -50
- package/chunks/{validateNonInterActiveAuth-MCTVPLFE.js → validateNonInterActiveAuth-ZNRGWBLV.js} +83 -85
- package/chunks/{version-6PLZ7PCV.js → version-DBEQAFRW.js} +1 -1
- package/chunks/{web-fetch-5ANX6FSM.js → web-fetch-MBIVXKPE.js} +20 -20
- package/chunks/{web-search-KQJWWRHW.js → web-search-4LBIN6VF.js} +16 -16
- package/chunks/{workflow-C57ZKFUF.js → workflow-LNMA55HY.js} +54 -53
- package/chunks/{workspace-providers-status-3QAE4G4Y.js → workspace-providers-status-PDDMI6ST.js} +50 -50
- package/chunks/{workspace-registration-store-Q3J5LV6T.js → workspace-registration-store-BGRKKIYR.js} +1 -1
- package/chunks/{workspace-registry-DSJ5NAII.js → workspace-registry-L4NCJ34K.js} +47 -47
- package/chunks/{workspace-service-QW5LH7FA.js → workspace-service-LOXYKYTR.js} +53 -53
- package/chunks/{workspace-skills-status-N34ALJPZ.js → workspace-skills-status-IJ5FOQI6.js} +48 -48
- package/chunks/{workspace-trust-reconciler-YTOL7QEV.js → workspace-trust-reconciler-H36TCR2S.js} +55 -55
- package/chunks/{write-file-MSFRVUZB.js → write-file-JJAY7JSP.js} +41 -41
- package/chunks/{zoom-image-4TQA5GHG.js → zoom-image-4MVVVM7E.js} +11 -11
- package/cli.js +18 -17
- package/package.json +3 -3
- package/web-shell/assets/{arc-lZ04kynw.js → arc-B-89zHN4.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1wZVhzD.js → architectureDiagram-3BPJPVTR-BkcOncHk.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CO0e0yJt.js → blockDiagram-GPEHLZMM-DQ4yboaF.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Dfpo6Qie.js → c4Diagram-AAUBKEIU-C_8ZjPDI.js} +1 -1
- package/web-shell/assets/channel-Du2WFns8.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BvxArftT.js → chunk-2J33WTMH-naKVe1Bm.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BS2XXjGY.js → chunk-4BX2VUAB-DdoViKT2.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CYL6h3Ph.js → chunk-55IACEB6-DUDQZEwU.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-C-cWPX30.js → chunk-727SXJPM-BqpDTR5s.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CJLxNbVV.js → chunk-AQP2D5EJ-CdmEknkT.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DwfzKywA.js → chunk-FMBD7UC4-CH7fFTLB.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BI5raYHQ.js → chunk-ND2GUHAM-ObgSuFKF.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-_GkNI90J.js → chunk-QZHKN3VN-D9fKdv_s.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Zw0HafH6.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Zw0HafH6.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BAVLNxh9.js → cose-bilkent-S5V4N54A-CvzATMx9.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BD4XNLqp.js → dagre-BM42HDAG-M_xU21QW.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-WO567p8w.js → diagram-2AECGRRQ-CNrl9sW1.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-mAk23VWO.js → diagram-5GNKFQAL-CUweVT6T.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-YQEeHKze.js → diagram-KO2AKTUF-D3n6Lxjo.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-CMVjxAjv.js → diagram-LMA3HP47-0SeFPK4t.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-42hPvbM-.js → diagram-OG6HWLK6-DAgyEwge.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CXU_cPfu.js → erDiagram-TEJ5UH35-CzxBBDIK.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-D-3TdhMT.js → flowDiagram-I6XJVG4X-B0uj0jyo.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CsgkXolz.js → ganttDiagram-6RSMTGT7-DFzcj5km.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-B6Q3PBLD.js → gitGraphDiagram-PVQCEYII-DylJ_Fc9.js} +1 -1
- package/web-shell/assets/index-BIGQygTL.css +5 -0
- package/web-shell/assets/{index-BFrkGj2B.js → index-BKSAnXU9.js} +1 -1
- package/web-shell/assets/index-J7OMTqAN.js +1789 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-jiAfSXp8.js → infoDiagram-5YYISTIA-BYMcJVMI.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BWif5KeJ.js → ishikawaDiagram-YF4QCWOH-t1quI1S3.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-B-GAZthS.js → journeyDiagram-JHISSGLW-YM_QVUJm.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-9TEuATdL.js → kanban-definition-UN3LZRKU-jw8OddK1.js} +1 -1
- package/web-shell/assets/{linear-dy_QPfyE.js → linear-Dlr3RVuP.js} +1 -1
- package/web-shell/assets/{mermaid.core-DB2uLAnq.js → mermaid.core-CqGKzNzd.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-ey_dyxi-.js → mindmap-definition-RKZ34NQL-BqureoOS.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-_6BuMdDj.js → pieDiagram-4H26LBE5-Da20HkK1.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-B2rM19W2.js → quadrantDiagram-W4KKPZXB-BsNlMvJy.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DWj8b7vW.js → requirementDiagram-4Y6WPE33-DzVCQCse.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5dtYh0N.js → sankeyDiagram-5OEKKPKP-BMo16voT.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DVkdn_qW.js → sequenceDiagram-3UESZ5HK-Bgi-pdHk.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DgwD_fi6.js → stateDiagram-AJRCARHV-xaPQXwGk.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D5RqimXD.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-vNr_1UNX.js → timeline-definition-PNZ67QCA-C_9RuvKG.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-ChFcGAcu.js → vennDiagram-CIIHVFJN-Bgu6vdla.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-C8PXoSWk.js → wardley-L42UT6IY-CFTZ8IrX.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-C2nqOV6i.js → wardleyDiagram-YWT4CUSO-BASW9Vmt.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BntaqhSB.js → xychartDiagram-2RQKCTM6--Nh-CD3F.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-CJNKGZLC.js +0 -649
- package/chunks/chunk-L34XSHIZ.js +0 -28
- package/chunks/chunk-MUN34TTF.js +0 -830
- package/chunks/chunk-N2TNM3QB.js +0 -9
- package/chunks/chunk-O4MVJKSX.js +0 -622
- package/chunks/chunk-WLML6VIA.js +0 -18
- package/chunks/chunk-ZBBVBZBR.js +0 -137
- package/chunks/chunk-bdqvmfwv-OHYAFAAO.js +0 -17446
- package/chunks/dispatch-FW7DX2CR.js +0 -43
- package/chunks/nonInteractiveCli-R5PK5B5G.js +0 -166
- package/chunks/opentui-entry-UTJ6MHDI.js +0 -52344
- package/chunks/runtime-gate-T4ICWGQJ.js +0 -89
- package/chunks/wrapper-46Z24CTM.js +0 -35
- package/web-shell/assets/channel-BxvRq3pV.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-tL8nAxYf.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-tL8nAxYf.js +0 -1
- package/web-shell/assets/index-BgjULKyF.css +0 -5
- package/web-shell/assets/index-CxXlPYfl.js +0 -1789
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWGkVGVB.js +0 -1
- /package/chunks/{chunk-44CTCCLY.js → chunk-NWNEANAT.js} +0 -0
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from "./chunk-OIZWCOYC.js";
|
|
6
|
-
import {
|
|
7
|
-
classifyApiError
|
|
8
|
-
} from "./chunk-V7RNNPGC.js";
|
|
9
|
-
import {
|
|
4
|
+
classifyApiError,
|
|
10
5
|
fireSessionDeleteHook
|
|
11
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-P5Y23G2L.js";
|
|
12
7
|
import {
|
|
13
8
|
EXTENSION_CONTEXT_BUDGET,
|
|
14
9
|
buildExtensionMentionContext,
|
|
@@ -18,17 +13,17 @@ import {
|
|
|
18
13
|
matchMcpServerByRef,
|
|
19
14
|
parseExtensionRef,
|
|
20
15
|
parseMcpServerRef
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-WLML6VIA.js";
|
|
16
|
+
} from "./chunk-X5SLJOMF.js";
|
|
23
17
|
import {
|
|
24
18
|
getAvailableCommands,
|
|
25
19
|
handleSlashCommand,
|
|
26
20
|
insertAfterFunctionResponses,
|
|
21
|
+
isSlashCommand,
|
|
27
22
|
normalizePartList
|
|
28
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-QSD4UH74.js";
|
|
29
24
|
import {
|
|
30
|
-
|
|
31
|
-
} from "./chunk-
|
|
25
|
+
recomputeMcpGating
|
|
26
|
+
} from "./chunk-CIDQISGM.js";
|
|
32
27
|
import {
|
|
33
28
|
SessionIdConflictError,
|
|
34
29
|
appEvents,
|
|
@@ -36,43 +31,44 @@ import {
|
|
|
36
31
|
cleanupReviewWorktreeLeases,
|
|
37
32
|
loadCliConfig,
|
|
38
33
|
normalizeDisabledToolList
|
|
39
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-IX4PWUDU.js";
|
|
40
35
|
import {
|
|
41
36
|
getCommandSubcommandNames
|
|
42
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-4XA4QIUA.js";
|
|
43
38
|
import {
|
|
44
39
|
getEffectiveSupportedModes
|
|
45
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-MDNUCDKZ.js";
|
|
41
|
+
import "./chunk-3SH53ANB.js";
|
|
46
42
|
import "./chunk-NYX53SV4.js";
|
|
47
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-NW2GIPG3.js";
|
|
48
44
|
import {
|
|
49
45
|
collectContextData,
|
|
50
46
|
formatContextUsageText
|
|
51
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-62X3CM7Q.js";
|
|
52
48
|
import "./chunk-4WGODMVR.js";
|
|
53
49
|
import {
|
|
54
50
|
isGoalStatusKind
|
|
55
51
|
} from "./chunk-EKTCKZV5.js";
|
|
56
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-OYWVIXHT.js";
|
|
57
53
|
import {
|
|
58
54
|
startNonInteractiveOpenAILogHousekeeping
|
|
59
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-5AFGJNY6.js";
|
|
60
56
|
import "./chunk-KW7NOTN6.js";
|
|
61
|
-
import "./chunk-
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-ZQUY3ZJU.js";
|
|
58
|
+
import "./chunk-RDVNSJQU.js";
|
|
59
|
+
import "./chunk-OPVF453Q.js";
|
|
64
60
|
import "./chunk-YAF2MQZ6.js";
|
|
65
61
|
import {
|
|
66
62
|
computeCpuPercent
|
|
67
63
|
} from "./chunk-LBOVL47Y.js";
|
|
68
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-TDESMS7M.js";
|
|
69
65
|
import "./chunk-6H67XLET.js";
|
|
70
66
|
import {
|
|
71
67
|
beginAcpBootstrapConfigProfiling,
|
|
72
68
|
buildAndFreezeAcpStartupProfile,
|
|
73
69
|
endAcpBootstrapConfigProfiling,
|
|
74
70
|
markAcpStartup
|
|
75
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-FMIH5KMQ.js";
|
|
76
72
|
import {
|
|
77
73
|
GENERATION_MAX_PROMPT_BYTES,
|
|
78
74
|
GENERATION_TIMEOUT_MS,
|
|
@@ -95,8 +91,7 @@ import {
|
|
|
95
91
|
shouldSuppressRememberErrorDetails,
|
|
96
92
|
workspaceMemoryFailureCode,
|
|
97
93
|
workspaceMemoryFailureDiagnostics
|
|
98
|
-
} from "./chunk-
|
|
99
|
-
import "./chunk-ZBBVBZBR.js";
|
|
94
|
+
} from "./chunk-CZ4OWGQQ.js";
|
|
100
95
|
import {
|
|
101
96
|
BaseEmitter,
|
|
102
97
|
HistoryReplayer,
|
|
@@ -105,10 +100,10 @@ import {
|
|
|
105
100
|
createTranscriptMessageUpdate,
|
|
106
101
|
createTranscriptUsageUpdate,
|
|
107
102
|
hasFullSessionContext
|
|
108
|
-
} from "./chunk-
|
|
109
|
-
import "./chunk-
|
|
103
|
+
} from "./chunk-UI5UGEF4.js";
|
|
104
|
+
import "./chunk-TMFWI4RC.js";
|
|
110
105
|
import "./chunk-4NFY2S7N.js";
|
|
111
|
-
import "./chunk-
|
|
106
|
+
import "./chunk-V6OBVAST.js";
|
|
112
107
|
import "./chunk-2MIN6GRR.js";
|
|
113
108
|
import "./chunk-QHTIBUWB.js";
|
|
114
109
|
import "./chunk-3Z43GZUQ.js";
|
|
@@ -126,26 +121,18 @@ import {
|
|
|
126
121
|
buildPermissionSettings,
|
|
127
122
|
normalizePermissionRules,
|
|
128
123
|
readPermissionRuleSet
|
|
129
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-YX2RDGAL.js";
|
|
130
125
|
import {
|
|
131
126
|
MAX_AUDIO_BYTES,
|
|
132
127
|
sanitizeVoiceErrorMessage,
|
|
133
128
|
transcribeVoiceAudio
|
|
134
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-LCX5B364.js";
|
|
135
130
|
import {
|
|
136
131
|
readVoiceModel
|
|
137
|
-
} from "./chunk-
|
|
138
|
-
import "./chunk-
|
|
132
|
+
} from "./chunk-VIFA5VJD.js";
|
|
133
|
+
import "./chunk-H7TMVHKE.js";
|
|
139
134
|
import "./chunk-NTTBXH7U.js";
|
|
140
|
-
import "./chunk-
|
|
141
|
-
import "./chunk-3SH53ANB.js";
|
|
142
|
-
import {
|
|
143
|
-
SESSION_SOURCE_META_KEY,
|
|
144
|
-
parseSessionSource
|
|
145
|
-
} from "./chunk-A2QIWDFO.js";
|
|
146
|
-
import "./chunk-JVY7FHUZ.js";
|
|
147
|
-
import "./chunk-WCCLLK7X.js";
|
|
148
|
-
import "./chunk-OCPBI7J5.js";
|
|
135
|
+
import "./chunk-RQJA2YYO.js";
|
|
149
136
|
import {
|
|
150
137
|
ACP_ROUTE_ID_PREFIX,
|
|
151
138
|
buildAcpModelOptions,
|
|
@@ -154,26 +141,32 @@ import {
|
|
|
154
141
|
parseAcpModelOption,
|
|
155
142
|
resolveAcpModelOption,
|
|
156
143
|
sanitizeProviderBaseUrl
|
|
157
|
-
} from "./chunk-
|
|
144
|
+
} from "./chunk-ROIJYS5K.js";
|
|
158
145
|
import {
|
|
159
146
|
mapSkillConfigToStatus
|
|
160
147
|
} from "./chunk-BGXZBI5B.js";
|
|
161
148
|
import {
|
|
162
149
|
resolveSkillSettings
|
|
163
150
|
} from "./chunk-Z4X5MTRT.js";
|
|
164
|
-
import "./chunk-
|
|
165
|
-
import "./chunk-
|
|
151
|
+
import "./chunk-WM3LUQLO.js";
|
|
152
|
+
import "./chunk-IH4Z54RJ.js";
|
|
166
153
|
import "./chunk-57OAHC2Y.js";
|
|
167
|
-
import "./chunk-
|
|
168
|
-
import "./chunk-
|
|
169
|
-
import "./chunk-
|
|
170
|
-
import "./chunk-V6WHFGST.js";
|
|
154
|
+
import "./chunk-BSR5AXZR.js";
|
|
155
|
+
import "./chunk-45NQKMYB.js";
|
|
156
|
+
import "./chunk-OK47XBYH.js";
|
|
171
157
|
import {
|
|
172
158
|
createLoadedSettingsAdapter
|
|
173
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-2IVYL3IF.js";
|
|
160
|
+
import {
|
|
161
|
+
SESSION_SOURCE_META_KEY,
|
|
162
|
+
parseSessionSource
|
|
163
|
+
} from "./chunk-6P5EXEBL.js";
|
|
164
|
+
import "./chunk-7U5G6JXI.js";
|
|
165
|
+
import "./chunk-WCCLLK7X.js";
|
|
166
|
+
import "./chunk-OCPBI7J5.js";
|
|
174
167
|
import {
|
|
175
168
|
ndJsonStream
|
|
176
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-DAV4QFD5.js";
|
|
177
170
|
import {
|
|
178
171
|
ACP_PREFLIGHT_KINDS,
|
|
179
172
|
IDLE_HOOK_EVENTS,
|
|
@@ -181,14 +174,15 @@ import {
|
|
|
181
174
|
SERVE_STATUS_EXT_METHODS,
|
|
182
175
|
STATUS_SCHEMA_VERSION,
|
|
183
176
|
mapDomainErrorToErrorKind
|
|
184
|
-
} from "./chunk-
|
|
185
|
-
import "./chunk-
|
|
186
|
-
import "./chunk-
|
|
177
|
+
} from "./chunk-HTYND72J.js";
|
|
178
|
+
import "./chunk-ZLCT4C5A.js";
|
|
179
|
+
import "./chunk-V6WHFGST.js";
|
|
187
180
|
import {
|
|
188
181
|
ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
|
|
189
182
|
ACTIVE_WORK_HEARTBEAT_META_KEY,
|
|
190
183
|
ACTIVE_WORK_HEARTBEAT_VERSION,
|
|
191
184
|
ACTIVE_WORK_HOLD_CATEGORIES,
|
|
185
|
+
ACTIVE_WORK_LEGACY_HOLD_CATEGORIES,
|
|
192
186
|
ACTIVE_WORK_NOTIFICATION_METHOD,
|
|
193
187
|
CHANNEL_STARTUP_PROFILE_META_KEY,
|
|
194
188
|
CHANNEL_STARTUP_PROFILE_VERSION,
|
|
@@ -212,7 +206,7 @@ import {
|
|
|
212
206
|
WORKTREE_MCP_DEFER_META_KEY,
|
|
213
207
|
clampActiveWorkIntervalMs,
|
|
214
208
|
isValidTrustedModelPrompt
|
|
215
|
-
} from "./chunk-
|
|
209
|
+
} from "./chunk-FQDCO3CJ.js";
|
|
216
210
|
import {
|
|
217
211
|
NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE,
|
|
218
212
|
isNotCurrentlyGeneratingCancelError
|
|
@@ -220,7 +214,7 @@ import {
|
|
|
220
214
|
import "./chunk-6PLDPT2C.js";
|
|
221
215
|
import "./chunk-FYJ7W2PI.js";
|
|
222
216
|
import "./chunk-YP5KH5Y7.js";
|
|
223
|
-
import "./chunk-
|
|
217
|
+
import "./chunk-A6NRNRKE.js";
|
|
224
218
|
import "./chunk-ALMR3E6Q.js";
|
|
225
219
|
import "./chunk-HIBNSEJE.js";
|
|
226
220
|
import "./chunk-M5GB774H.js";
|
|
@@ -229,22 +223,24 @@ import {
|
|
|
229
223
|
EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
|
|
230
224
|
EXTERNAL_TOOL_GUARD_TOKEN_ENV,
|
|
231
225
|
PRIVATE_EXTERNAL_TOOL_GUARD_ENV,
|
|
226
|
+
PRIVATE_EXTERNAL_TOOL_GUARD_PROVIDER_ENV,
|
|
227
|
+
SHELL_EXECUTING_TOOL_NAMES,
|
|
232
228
|
isValidExternalToolGuardDenialReason
|
|
233
|
-
} from "./chunk-
|
|
229
|
+
} from "./chunk-3VUENPWF.js";
|
|
230
|
+
import "./chunk-3AEKDXKT.js";
|
|
234
231
|
import {
|
|
235
232
|
ACP_EVENT_LOOP_STALL_RESTART_MS,
|
|
236
233
|
CHANNEL_PROMPT_META_KEY
|
|
237
|
-
} from "./chunk-
|
|
234
|
+
} from "./chunk-AW27A43Y.js";
|
|
238
235
|
import {
|
|
239
236
|
AgentSideConnection,
|
|
240
237
|
PROTOCOL_VERSION,
|
|
241
238
|
RequestError
|
|
242
239
|
} from "./chunk-IW6RQPQB.js";
|
|
243
|
-
import "./chunk-7JL5YBSA.js";
|
|
244
240
|
import {
|
|
245
241
|
assembleMcpServers,
|
|
246
242
|
loadMcpApprovals
|
|
247
|
-
} from "./chunk-
|
|
243
|
+
} from "./chunk-3LDGOQXZ.js";
|
|
248
244
|
import {
|
|
249
245
|
getOutputLanguageFilePath,
|
|
250
246
|
getPersistScopeForModelSelection,
|
|
@@ -253,9 +249,9 @@ import {
|
|
|
253
249
|
resolveOutputLanguageOrPreserveAuto,
|
|
254
250
|
updateOutputLanguageFile,
|
|
255
251
|
writeOutputLanguageAndRegisterPath
|
|
256
|
-
} from "./chunk-
|
|
252
|
+
} from "./chunk-3GDBZJD6.js";
|
|
257
253
|
import "./chunk-RKUWKYED.js";
|
|
258
|
-
import "./chunk-
|
|
254
|
+
import "./chunk-FA5K6YI2.js";
|
|
259
255
|
import "./chunk-GOXKNSDZ.js";
|
|
260
256
|
import {
|
|
261
257
|
getSystemDefaultsPath,
|
|
@@ -264,7 +260,7 @@ import {
|
|
|
264
260
|
import {
|
|
265
261
|
getCurrentLanguage,
|
|
266
262
|
setLanguageAsync
|
|
267
|
-
} from "./chunk-
|
|
263
|
+
} from "./chunk-IRSLAS4M.js";
|
|
268
264
|
import {
|
|
269
265
|
SUPPORTED_LANGUAGES
|
|
270
266
|
} from "./chunk-5EJZE3FP.js";
|
|
@@ -272,17 +268,18 @@ import {
|
|
|
272
268
|
findEnvFiles,
|
|
273
269
|
preResolveHomeEnvOverrides,
|
|
274
270
|
reloadEnvironment
|
|
275
|
-
} from "./chunk-
|
|
271
|
+
} from "./chunk-XH3KAV2G.js";
|
|
276
272
|
import {
|
|
277
273
|
ENV_ACP_REPEATED_TOOL_FAILURE_GUARD
|
|
278
274
|
} from "./chunk-MS7GNABG.js";
|
|
279
|
-
import "./chunk-
|
|
275
|
+
import "./chunk-7KJPO7YH.js";
|
|
276
|
+
import "./chunk-OWXFBIB6.js";
|
|
280
277
|
import "./chunk-WZMH7II3.js";
|
|
281
278
|
import {
|
|
282
279
|
isFolderTrustEnabled,
|
|
283
280
|
isWorkspaceTrusted,
|
|
284
281
|
loadTrustedFolders
|
|
285
|
-
} from "./chunk-
|
|
282
|
+
} from "./chunk-ZMY2P4L3.js";
|
|
286
283
|
import "./chunk-NPQ5ZKRP.js";
|
|
287
284
|
import "./chunk-MR3PXB6E.js";
|
|
288
285
|
import "./chunk-XFSFZCM5.js";
|
|
@@ -395,7 +392,6 @@ import {
|
|
|
395
392
|
readManyFiles,
|
|
396
393
|
recordAllow,
|
|
397
394
|
recordFallbackApprove,
|
|
398
|
-
redactUrlCredentials,
|
|
399
395
|
refreshMemoryAfterManagedWrite,
|
|
400
396
|
refreshMemoryInstruction,
|
|
401
397
|
resolveBaseUrl,
|
|
@@ -414,25 +410,25 @@ import {
|
|
|
414
410
|
updateSetting,
|
|
415
411
|
validatePlanModeShellApproval,
|
|
416
412
|
validatePlanModeShellContext
|
|
417
|
-
} from "./chunk-
|
|
413
|
+
} from "./chunk-EBPLKY6U.js";
|
|
418
414
|
import "./chunk-GOFAQQZA.js";
|
|
419
415
|
import "./chunk-5M6IDOMF.js";
|
|
420
416
|
import "./chunk-TWPJO254.js";
|
|
421
417
|
import {
|
|
422
418
|
external_exports
|
|
423
419
|
} from "./chunk-CQ35AJ4Z.js";
|
|
424
|
-
import "./chunk-
|
|
425
|
-
import "./chunk-
|
|
426
|
-
import "./chunk-
|
|
427
|
-
import "./chunk-
|
|
420
|
+
import "./chunk-QPBFRWCP.js";
|
|
421
|
+
import "./chunk-JRIVMPD2.js";
|
|
422
|
+
import "./chunk-YILJKX2T.js";
|
|
423
|
+
import "./chunk-D2RNVVH6.js";
|
|
428
424
|
import {
|
|
429
425
|
parsePositiveIntegerEnv
|
|
430
426
|
} from "./chunk-6PVPNMXU.js";
|
|
431
|
-
import "./chunk-
|
|
427
|
+
import "./chunk-I7BT2MME.js";
|
|
432
428
|
import "./chunk-IRH27ZC2.js";
|
|
433
429
|
import "./chunk-QHWCP53L.js";
|
|
434
|
-
import "./chunk-
|
|
435
|
-
import "./chunk-
|
|
430
|
+
import "./chunk-AKBFSOC5.js";
|
|
431
|
+
import "./chunk-DEDESZDL.js";
|
|
436
432
|
import {
|
|
437
433
|
promptIdContext,
|
|
438
434
|
todoWorkChainContext
|
|
@@ -440,17 +436,14 @@ import {
|
|
|
440
436
|
import "./chunk-T26EAKDL.js";
|
|
441
437
|
import "./chunk-ZPJWUGCS.js";
|
|
442
438
|
import "./chunk-CPBF7KYF.js";
|
|
443
|
-
import
|
|
444
|
-
APPROVAL_MODES
|
|
445
|
-
} from "./chunk-SNHBRO4C.js";
|
|
446
|
-
import "./chunk-KTWUFHS4.js";
|
|
439
|
+
import "./chunk-5RUCD4ED.js";
|
|
447
440
|
import "./chunk-KRXPRVGL.js";
|
|
448
441
|
import {
|
|
449
442
|
HookEventName,
|
|
450
443
|
createHookOutput
|
|
451
|
-
} from "./chunk-
|
|
452
|
-
import "./chunk-
|
|
453
|
-
import "./chunk-
|
|
444
|
+
} from "./chunk-YBVVOSOH.js";
|
|
445
|
+
import "./chunk-CPFFU46D.js";
|
|
446
|
+
import "./chunk-ULNWG62W.js";
|
|
454
447
|
import {
|
|
455
448
|
GoalPersistenceUnavailableError,
|
|
456
449
|
emptyGoalSnapshot,
|
|
@@ -458,9 +451,14 @@ import {
|
|
|
458
451
|
parseGoalSnapshotV2,
|
|
459
452
|
parseGoalStateCause,
|
|
460
453
|
wrapUserPromptSubmitContext
|
|
461
|
-
} from "./chunk-
|
|
462
|
-
import "./chunk-VPZMLGD3.js";
|
|
454
|
+
} from "./chunk-DPTMKFIH.js";
|
|
463
455
|
import {
|
|
456
|
+
APPROVAL_MODES
|
|
457
|
+
} from "./chunk-63FNZTWG.js";
|
|
458
|
+
import "./chunk-3GM5DLBI.js";
|
|
459
|
+
import {
|
|
460
|
+
AgentOutputMessageCapture,
|
|
461
|
+
addAgentInputMessageAttributes,
|
|
464
462
|
addDaemonRequestAttribute,
|
|
465
463
|
addToolArgumentsAttributes,
|
|
466
464
|
addToolCallResultAttributes,
|
|
@@ -468,14 +466,43 @@ import {
|
|
|
468
466
|
registerAcpEventLoopLagGauge,
|
|
469
467
|
startEventLoopLagMonitor,
|
|
470
468
|
withDaemonSpan
|
|
471
|
-
} from "./chunk-
|
|
469
|
+
} from "./chunk-K34GJQOZ.js";
|
|
472
470
|
import "./chunk-SAH4BD2J.js";
|
|
473
|
-
import "./chunk-
|
|
471
|
+
import "./chunk-KLOMACIR.js";
|
|
474
472
|
import {
|
|
475
473
|
runWithRuntimeContentGenerator
|
|
476
|
-
} from "./chunk-
|
|
474
|
+
} from "./chunk-VPV7WBVT.js";
|
|
477
475
|
import "./chunk-S6LOFUVP.js";
|
|
478
476
|
import "./chunk-2J3OJGTL.js";
|
|
477
|
+
import {
|
|
478
|
+
FORK_SUBAGENT_TYPE,
|
|
479
|
+
getStartupContextLength,
|
|
480
|
+
isSystemReminderContent
|
|
481
|
+
} from "./chunk-TTRH3RTQ.js";
|
|
482
|
+
import "./chunk-K623ENWT.js";
|
|
483
|
+
import "./chunk-AQ37AY7B.js";
|
|
484
|
+
import "./chunk-FRHQQC2Z.js";
|
|
485
|
+
import {
|
|
486
|
+
clearCachedCredentialFile,
|
|
487
|
+
qwenOAuth2Events
|
|
488
|
+
} from "./chunk-DG4IQ6JG.js";
|
|
489
|
+
import "./chunk-NAVJD2PQ.js";
|
|
490
|
+
import "./chunk-KEC5FHLM.js";
|
|
491
|
+
import "./chunk-2ZWH53I4.js";
|
|
492
|
+
import "./chunk-P3QQPMQA.js";
|
|
493
|
+
import "./chunk-TB4YFWXG.js";
|
|
494
|
+
import "./chunk-D7QGE3RT.js";
|
|
495
|
+
import {
|
|
496
|
+
REASONING_EFFORT_TIERS,
|
|
497
|
+
applyReasoningEffort
|
|
498
|
+
} from "./chunk-KM73TBQ4.js";
|
|
499
|
+
import "./chunk-MPHPFVKK.js";
|
|
500
|
+
import "./chunk-AXMWHKXA.js";
|
|
501
|
+
import {
|
|
502
|
+
getToolCallPreparations
|
|
503
|
+
} from "./chunk-GLCZKT5V.js";
|
|
504
|
+
import "./chunk-DJ2GSRLV.js";
|
|
505
|
+
import "./chunk-NLFLYSS4.js";
|
|
479
506
|
import {
|
|
480
507
|
ConversationFinishedEvent,
|
|
481
508
|
DiscoveredMCPTool,
|
|
@@ -508,26 +535,17 @@ import {
|
|
|
508
535
|
shouldRunVisionBridge,
|
|
509
536
|
splitImageParts,
|
|
510
537
|
uiTelemetryService
|
|
511
|
-
} from "./chunk-
|
|
538
|
+
} from "./chunk-4KM2SYK5.js";
|
|
512
539
|
import "./chunk-YRLW2MSX.js";
|
|
513
540
|
import "./chunk-VGC4I5JJ.js";
|
|
514
541
|
import {
|
|
515
542
|
getAutoMemoryRoot,
|
|
516
543
|
getUserAutoMemoryRoot
|
|
517
|
-
} from "./chunk-
|
|
544
|
+
} from "./chunk-G6MUFRNI.js";
|
|
518
545
|
import {
|
|
519
546
|
runSideQuery
|
|
520
|
-
} from "./chunk-
|
|
521
|
-
import "./chunk-
|
|
522
|
-
import "./chunk-C2DR57L6.js";
|
|
523
|
-
import {
|
|
524
|
-
FORK_SUBAGENT_TYPE,
|
|
525
|
-
getStartupContextLength,
|
|
526
|
-
isSystemReminderContent
|
|
527
|
-
} from "./chunk-TROB4PZY.js";
|
|
528
|
-
import "./chunk-K623ENWT.js";
|
|
529
|
-
import "./chunk-AQ37AY7B.js";
|
|
530
|
-
import "./chunk-UHF5VBKO.js";
|
|
547
|
+
} from "./chunk-LSRI3ND3.js";
|
|
548
|
+
import "./chunk-PVXEJB66.js";
|
|
531
549
|
import {
|
|
532
550
|
BaseDeclarativeTool,
|
|
533
551
|
BaseToolInvocation,
|
|
@@ -535,49 +553,31 @@ import {
|
|
|
535
553
|
ToolNames,
|
|
536
554
|
canonicalToolName,
|
|
537
555
|
isShellProgressData
|
|
538
|
-
} from "./chunk-
|
|
539
|
-
import {
|
|
540
|
-
clearCachedCredentialFile,
|
|
541
|
-
qwenOAuth2Events
|
|
542
|
-
} from "./chunk-CDDLHCC2.js";
|
|
543
|
-
import "./chunk-NAVJD2PQ.js";
|
|
544
|
-
import "./chunk-YI5G32RU.js";
|
|
545
|
-
import "./chunk-QEWAHAW2.js";
|
|
546
|
-
import "./chunk-P3QQPMQA.js";
|
|
547
|
-
import "./chunk-FTGU6G45.js";
|
|
548
|
-
import "./chunk-PSTHNTHF.js";
|
|
556
|
+
} from "./chunk-YIGGWOJE.js";
|
|
549
557
|
import {
|
|
550
558
|
AuthType,
|
|
551
559
|
preloadContentGenerator
|
|
552
|
-
} from "./chunk-
|
|
560
|
+
} from "./chunk-KWX56CHZ.js";
|
|
553
561
|
import "./chunk-F6WFNA7U.js";
|
|
554
|
-
import "./chunk-NW7SPXVG.js";
|
|
555
|
-
import {
|
|
556
|
-
REASONING_EFFORT_TIERS,
|
|
557
|
-
applyReasoningEffort
|
|
558
|
-
} from "./chunk-KM73TBQ4.js";
|
|
559
|
-
import "./chunk-MPHPFVKK.js";
|
|
560
|
-
import "./chunk-AXMWHKXA.js";
|
|
561
|
-
import {
|
|
562
|
-
getToolCallPreparations
|
|
563
|
-
} from "./chunk-GLCZKT5V.js";
|
|
564
|
-
import "./chunk-KK3FEHPJ.js";
|
|
565
562
|
import "./chunk-46UV252V.js";
|
|
566
563
|
import {
|
|
567
564
|
DEFAULT_TOKEN_LIMIT,
|
|
568
565
|
tokenLimit
|
|
569
566
|
} from "./chunk-FPGTNKCP.js";
|
|
570
|
-
import "./chunk-
|
|
571
|
-
import "./chunk-
|
|
567
|
+
import "./chunk-4AOVQPJU.js";
|
|
568
|
+
import "./chunk-PZW46OTB.js";
|
|
569
|
+
import "./chunk-YBHUXEC6.js";
|
|
572
570
|
import {
|
|
573
571
|
endToolExecutionSpan,
|
|
574
572
|
endToolSpan,
|
|
573
|
+
getActiveInteractionSpan,
|
|
575
574
|
initializeTelemetry,
|
|
575
|
+
redactUrlCredentials,
|
|
576
576
|
runInToolSpanContext,
|
|
577
577
|
startToolExecutionSpan,
|
|
578
578
|
startToolSpan,
|
|
579
579
|
withInteractionSpan
|
|
580
|
-
} from "./chunk-
|
|
580
|
+
} from "./chunk-N4SVADAV.js";
|
|
581
581
|
import "./chunk-HHJLM3WQ.js";
|
|
582
582
|
import {
|
|
583
583
|
sessionIdContext
|
|
@@ -588,12 +588,12 @@ import {
|
|
|
588
588
|
getErrorMessage,
|
|
589
589
|
getErrorStatus,
|
|
590
590
|
isSubpath
|
|
591
|
-
} from "./chunk-
|
|
591
|
+
} from "./chunk-HOSVOUDK.js";
|
|
592
592
|
import "./chunk-VOQXFAY5.js";
|
|
593
|
-
import "./chunk-
|
|
593
|
+
import "./chunk-MELQSJOU.js";
|
|
594
594
|
import {
|
|
595
595
|
runExitCleanup
|
|
596
|
-
} from "./chunk-
|
|
596
|
+
} from "./chunk-OR64CU46.js";
|
|
597
597
|
import {
|
|
598
598
|
writeStderrLine,
|
|
599
599
|
writeStderrLineSafe
|
|
@@ -3136,6 +3136,7 @@ var DAEMON_INVALID_TOOL_PARAMS_THRESHOLD = 3;
|
|
|
3136
3136
|
var PERMISSION_CANCEL_SKIP_MESSAGE = "Skipped because a permission request was cancelled before the user answered; user input is required before continuing.";
|
|
3137
3137
|
var LOOP_DETECTED_SKIP_MESSAGE = "Skipped because loop detection stopped the current turn before this tool call could run.";
|
|
3138
3138
|
var LOOP_DETECTED_CONTEXT_MESSAGE = "System: this turn was terminated because the model exceeded tool-call safety limits. Try a different approach on the next turn.";
|
|
3139
|
+
var LOOP_DETECTED_TURN_ERROR_MESSAGE = "Tool-call loop protection stopped this turn. The session is still available; send a more specific instruction to continue.";
|
|
3139
3140
|
var TOOL_EXECUTION_CANCELLED_MESSAGE = "Tool execution was cancelled.";
|
|
3140
3141
|
var TOOL_POST_EXECUTION_CANCELLED_MESSAGE = "The tool had already completed; its output was discarded.";
|
|
3141
3142
|
function createDaemonToolLoopState(repeatedToolFailureMode) {
|
|
@@ -3204,6 +3205,7 @@ __name(recordRepeatedToolFailureDecision, "recordRepeatedToolFailureDecision");
|
|
|
3204
3205
|
function recordDaemonLoopDetected(config, promptId, loopType, message, loopState, options = {}) {
|
|
3205
3206
|
if (!loopState.loopDetected) {
|
|
3206
3207
|
loopState.loopDetected = true;
|
|
3208
|
+
loopState.loopType = loopType;
|
|
3207
3209
|
debugLogger6.warn(message);
|
|
3208
3210
|
try {
|
|
3209
3211
|
logLoopDetected(
|
|
@@ -3221,6 +3223,25 @@ function recordDaemonLoopDetected(config, promptId, loopType, message, loopState
|
|
|
3221
3223
|
return true;
|
|
3222
3224
|
}
|
|
3223
3225
|
__name(recordDaemonLoopDetected, "recordDaemonLoopDetected");
|
|
3226
|
+
function createLoopDetectedTurnError(loopState) {
|
|
3227
|
+
return new RequestError(-32603, LOOP_DETECTED_TURN_ERROR_MESSAGE, {
|
|
3228
|
+
code: "LOOP_DETECTED",
|
|
3229
|
+
errorKind: "loop_detected",
|
|
3230
|
+
...loopState.loopType ? { loopType: loopState.loopType } : {}
|
|
3231
|
+
});
|
|
3232
|
+
}
|
|
3233
|
+
__name(createLoopDetectedTurnError, "createLoopDetectedTurnError");
|
|
3234
|
+
function cancelledOrThrowLoopDetected(signal, loopState) {
|
|
3235
|
+
if (signal.aborted) return "cancelled";
|
|
3236
|
+
throw createLoopDetectedTurnError(loopState);
|
|
3237
|
+
}
|
|
3238
|
+
__name(cancelledOrThrowLoopDetected, "cancelledOrThrowLoopDetected");
|
|
3239
|
+
function isLoopDetectedTurnError(error) {
|
|
3240
|
+
if (!(error instanceof RequestError)) return false;
|
|
3241
|
+
const data = error.data;
|
|
3242
|
+
return typeof data === "object" && data !== null && data.code === "LOOP_DETECTED";
|
|
3243
|
+
}
|
|
3244
|
+
__name(isLoopDetectedTurnError, "isLoopDetectedTurnError");
|
|
3224
3245
|
function recordDaemonToolCalls(config, promptId, loopState, calls) {
|
|
3225
3246
|
if (!loopState || loopState.loopDetected)
|
|
3226
3247
|
return loopState?.loopDetected ?? false;
|
|
@@ -3484,14 +3505,16 @@ var TodoStopGuardClaimTimeoutError = class extends Error {
|
|
|
3484
3505
|
}
|
|
3485
3506
|
};
|
|
3486
3507
|
function beginChannelDeliveryResponseBlock(capture) {
|
|
3487
|
-
|
|
3488
|
-
capture
|
|
3508
|
+
capture?.agentOutput.beginResponse();
|
|
3509
|
+
if (!capture?.channelDelivery) return void 0;
|
|
3510
|
+
capture.channelDelivery.finalText = "";
|
|
3489
3511
|
return [];
|
|
3490
3512
|
}
|
|
3491
3513
|
__name(beginChannelDeliveryResponseBlock, "beginChannelDeliveryResponseBlock");
|
|
3492
3514
|
function commitChannelDeliveryResponseBlock(capture, responseBlock, hasFunctionCalls) {
|
|
3493
|
-
|
|
3494
|
-
|
|
3515
|
+
capture?.agentOutput.commitResponse(hasFunctionCalls);
|
|
3516
|
+
if (capture?.channelDelivery && responseBlock && !hasFunctionCalls) {
|
|
3517
|
+
capture.channelDelivery.finalText = responseBlock.join("");
|
|
3495
3518
|
}
|
|
3496
3519
|
}
|
|
3497
3520
|
__name(commitChannelDeliveryResponseBlock, "commitChannelDeliveryResponseBlock");
|
|
@@ -3784,6 +3807,7 @@ var Session = class {
|
|
|
3784
3807
|
notificationAbortController = null;
|
|
3785
3808
|
notificationCompletion = null;
|
|
3786
3809
|
currentAgentNotificationTaskId = null;
|
|
3810
|
+
currentShellNotificationActive = false;
|
|
3787
3811
|
persistedBackgroundNotificationTaskIds = /* @__PURE__ */ new Set();
|
|
3788
3812
|
backgroundNotificationAcceptances = /* @__PURE__ */ new Map();
|
|
3789
3813
|
activeAgentNotificationAcceptances = /* @__PURE__ */ new Set();
|
|
@@ -3811,6 +3835,7 @@ var Session = class {
|
|
|
3811
3835
|
/** The exact status-change callback this Session installed, so dispose can
|
|
3812
3836
|
* retract its own and nobody else's. */
|
|
3813
3837
|
#statusChangeCallback;
|
|
3838
|
+
#shellStatusChangeCallback;
|
|
3814
3839
|
workflowApprovalAbortController = new AbortController();
|
|
3815
3840
|
activeTodoPlanRevision;
|
|
3816
3841
|
// Modular components
|
|
@@ -4779,6 +4804,10 @@ var Session = class {
|
|
|
4779
4804
|
for (const taskId of notificationIds) {
|
|
4780
4805
|
holds.push({ category: "notification", id: taskId });
|
|
4781
4806
|
}
|
|
4807
|
+
const shellActive = this.config.getBackgroundShellRegistry().hasRunningEntries() || this.notificationQueue.some((item) => item.kind === "shell") || this.currentShellNotificationActive;
|
|
4808
|
+
if (shellActive) {
|
|
4809
|
+
holds.push({ category: "shell", id: "background-shells" });
|
|
4810
|
+
}
|
|
4782
4811
|
return holds;
|
|
4783
4812
|
}
|
|
4784
4813
|
#activeWorkChanged() {
|
|
@@ -4906,7 +4935,12 @@ var Session = class {
|
|
|
4906
4935
|
this.#statusChangeCallback = void 0;
|
|
4907
4936
|
}
|
|
4908
4937
|
this.config.getMonitorRegistry().setNotificationCallback(void 0);
|
|
4909
|
-
this.config.getBackgroundShellRegistry()
|
|
4938
|
+
const shellRegistry = this.config.getBackgroundShellRegistry();
|
|
4939
|
+
shellRegistry.setNotificationCallback(void 0);
|
|
4940
|
+
if (this.#shellStatusChangeCallback) {
|
|
4941
|
+
shellRegistry.clearStatusChangeCallback(this.#shellStatusChangeCallback);
|
|
4942
|
+
this.#shellStatusChangeCallback = void 0;
|
|
4943
|
+
}
|
|
4910
4944
|
this.config.getChatRecordingService()?.setTitleRecordedCallback(void 0);
|
|
4911
4945
|
this.unsubscribeChatRecordingFailure?.();
|
|
4912
4946
|
this.unsubscribeChatRecordingFailure = void 0;
|
|
@@ -5277,21 +5311,37 @@ var Session = class {
|
|
|
5277
5311
|
}
|
|
5278
5312
|
this.duplicateProviderToolCallResponseIds.clear();
|
|
5279
5313
|
const channelDelivery = parsePromptChannelDelivery(params);
|
|
5280
|
-
const
|
|
5314
|
+
const responseCapture = {
|
|
5315
|
+
...channelDelivery ? { channelDelivery: { finalText: "" } } : {},
|
|
5316
|
+
agentOutput: new AgentOutputMessageCapture(this.config)
|
|
5317
|
+
};
|
|
5318
|
+
const channelPromptTurn = params._meta?.[CHANNEL_PROMPT_META_KEY] === true;
|
|
5281
5319
|
let resolveCompletion;
|
|
5282
5320
|
this.pendingPromptCompletion = new Promise((resolve6) => {
|
|
5283
5321
|
resolveCompletion = resolve6;
|
|
5284
5322
|
});
|
|
5323
|
+
let rejectedByLoopProtection = false;
|
|
5285
5324
|
let promptResult;
|
|
5286
5325
|
let promptFailed = false;
|
|
5287
5326
|
try {
|
|
5288
5327
|
const result = await this.#executePrompt(
|
|
5289
5328
|
params,
|
|
5290
5329
|
pendingSend,
|
|
5291
|
-
|
|
5330
|
+
responseCapture,
|
|
5292
5331
|
invocationContext,
|
|
5293
5332
|
modelPrompt,
|
|
5294
|
-
|
|
5333
|
+
// Channel turns are non-interactive deliveries: like cron,
|
|
5334
|
+
// background-notification, and goal turns they keep the graceful
|
|
5335
|
+
// end-turn handling so the collected response text is still
|
|
5336
|
+
// delivered. Only the authenticated CHANNEL_PROMPT_META_KEY turns
|
|
5337
|
+
// sent by the channel bridges qualify; the delivery meta alone
|
|
5338
|
+
// schedules the delivery but keeps the foreground rejection. Goal
|
|
5339
|
+
// turns bypass the bridge entirely, so a rejection there would
|
|
5340
|
+
// settle the turn as failed and pause the goal without any
|
|
5341
|
+
// turn_error ever being published.
|
|
5342
|
+
!channelPromptTurn && goalTurn === void 0,
|
|
5343
|
+
goalTurn,
|
|
5344
|
+
channelPromptTurn
|
|
5295
5345
|
);
|
|
5296
5346
|
promptResult = result;
|
|
5297
5347
|
releasePendingSend();
|
|
@@ -5305,7 +5355,7 @@ var Session = class {
|
|
|
5305
5355
|
source: "prompt",
|
|
5306
5356
|
target: channelDelivery.target,
|
|
5307
5357
|
text: normalizeChannelDeliveryText(
|
|
5308
|
-
|
|
5358
|
+
responseCapture.channelDelivery?.finalText ?? ""
|
|
5309
5359
|
),
|
|
5310
5360
|
promptId: channelDelivery.deliveryId
|
|
5311
5361
|
});
|
|
@@ -5318,11 +5368,17 @@ var Session = class {
|
|
|
5318
5368
|
errorKind: error.errorKind
|
|
5319
5369
|
});
|
|
5320
5370
|
}
|
|
5371
|
+
rejectedByLoopProtection = isLoopDetectedTurnError(error);
|
|
5321
5372
|
throw error;
|
|
5322
5373
|
} finally {
|
|
5323
5374
|
const stillOwnsPendingPrompt = this.pendingPrompt === pendingSend;
|
|
5324
5375
|
releasePendingSend();
|
|
5325
|
-
const shouldDrainAutomaticQueues =
|
|
5376
|
+
const shouldDrainAutomaticQueues = (
|
|
5377
|
+
// Loop-detected turns resolved end_turn (and drained) before loop
|
|
5378
|
+
// stops became rejections; keep that invariant on the new path so
|
|
5379
|
+
// queued cron/notification work is not stranded.
|
|
5380
|
+
rejectedByLoopProtection || todoStopGuardPreparation.drainSupersededAutomaticQueues || this.todoStopGuardDrainAutomaticQueuesWhenIdle || this.todoStopGuard.blocksUnrelatedAutomaticTurns || this.todoStopGuard.hasCommittedContinuation || this.todoStopGuardQueuedPromptPriority
|
|
5381
|
+
);
|
|
5326
5382
|
if (stillOwnsPendingPrompt) {
|
|
5327
5383
|
this.todoStopGuardDrainAutomaticQueuesWhenIdle = false;
|
|
5328
5384
|
}
|
|
@@ -5460,7 +5516,7 @@ var Session = class {
|
|
|
5460
5516
|
}
|
|
5461
5517
|
})();
|
|
5462
5518
|
}
|
|
5463
|
-
async #executePrompt(params, pendingSend,
|
|
5519
|
+
async #executePrompt(params, pendingSend, responseCapture, invocationContext, modelPrompt, rejectOnLoopDetected = false, goalTurn, channelTurn = false) {
|
|
5464
5520
|
const sessionId = this.config.getSessionId();
|
|
5465
5521
|
if (invocationContext !== void 0 && invocationContext.sessionId !== sessionId) {
|
|
5466
5522
|
throw RequestError.invalidParams(
|
|
@@ -5475,15 +5531,17 @@ var Session = class {
|
|
|
5475
5531
|
() => this.#executePromptInner(
|
|
5476
5532
|
params,
|
|
5477
5533
|
pendingSend,
|
|
5478
|
-
|
|
5534
|
+
responseCapture,
|
|
5479
5535
|
modelPrompt,
|
|
5480
|
-
|
|
5536
|
+
rejectOnLoopDetected,
|
|
5537
|
+
goalTurn,
|
|
5538
|
+
channelTurn
|
|
5481
5539
|
)
|
|
5482
5540
|
)
|
|
5483
5541
|
), "execute");
|
|
5484
5542
|
return goalTurn ? goalTurnContext.run(goalTurn.permit, execute) : goalTurnContext.exit(execute);
|
|
5485
5543
|
}
|
|
5486
|
-
async #executePromptInner(params, pendingSend,
|
|
5544
|
+
async #executePromptInner(params, pendingSend, responseCapture, modelPrompt, rejectOnLoopDetected = false, goalTurn, channelTurn = false) {
|
|
5487
5545
|
return Storage.runWithRuntimeBaseDir(
|
|
5488
5546
|
this.runtimeBaseDir,
|
|
5489
5547
|
this.config.getWorkingDir(),
|
|
@@ -5521,6 +5579,16 @@ var Session = class {
|
|
|
5521
5579
|
);
|
|
5522
5580
|
const isRetry = params.retry === true || params._meta?.[DAEMON_RETRY_META_KEY] === true;
|
|
5523
5581
|
const isContinue = params._meta?.[DAEMON_CONTINUE_META_KEY] === true;
|
|
5582
|
+
if (!isRetry && !isContinue && goalTurn?.origin !== "runtime") {
|
|
5583
|
+
const interactionSpan = getActiveInteractionSpan();
|
|
5584
|
+
if (interactionSpan) {
|
|
5585
|
+
addAgentInputMessageAttributes(
|
|
5586
|
+
this.config,
|
|
5587
|
+
interactionSpan,
|
|
5588
|
+
promptDisplayText ?? promptText
|
|
5589
|
+
);
|
|
5590
|
+
}
|
|
5591
|
+
}
|
|
5524
5592
|
let continuationParts = null;
|
|
5525
5593
|
let strippedOrphanEntries = null;
|
|
5526
5594
|
let orphanPushCountSnapshot = 0;
|
|
@@ -5719,7 +5787,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5719
5787
|
let nextMessage = { role: "user", parts };
|
|
5720
5788
|
let turnCount = 0;
|
|
5721
5789
|
const toolLoopState = createDaemonToolLoopState(
|
|
5722
|
-
|
|
5790
|
+
channelTurn ? "off" : this.repeatedToolFailureGuardMode
|
|
5723
5791
|
);
|
|
5724
5792
|
try {
|
|
5725
5793
|
while (nextMessage !== null) {
|
|
@@ -5739,6 +5807,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5739
5807
|
pendingSend.signal
|
|
5740
5808
|
);
|
|
5741
5809
|
let channelDeliveryResponseBlock;
|
|
5810
|
+
let channelDeliveryCheckpoint = 0;
|
|
5742
5811
|
try {
|
|
5743
5812
|
if (goalTurn) goalTurn.modelStarted = true;
|
|
5744
5813
|
const sendResult = await this.#sendMessageStreamWithAutoCompression(
|
|
@@ -5757,8 +5826,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5757
5826
|
}
|
|
5758
5827
|
const responseStream = sendResult.responseStream;
|
|
5759
5828
|
nextMessage = null;
|
|
5760
|
-
channelDeliveryResponseBlock = beginChannelDeliveryResponseBlock(
|
|
5761
|
-
|
|
5829
|
+
channelDeliveryResponseBlock = beginChannelDeliveryResponseBlock(responseCapture);
|
|
5830
|
+
channelDeliveryCheckpoint = channelDeliveryResponseBlock?.length ?? 0;
|
|
5762
5831
|
let streamFailed = false;
|
|
5763
5832
|
try {
|
|
5764
5833
|
for await (const resp of responseStream) {
|
|
@@ -5778,10 +5847,14 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5778
5847
|
part.thought
|
|
5779
5848
|
);
|
|
5780
5849
|
if (!part.thought) {
|
|
5850
|
+
responseCapture.agentOutput.appendText(part.text);
|
|
5781
5851
|
channelDeliveryResponseBlock?.push(part.text);
|
|
5782
5852
|
messageDisplay?.addChunk(part.text);
|
|
5783
5853
|
}
|
|
5784
5854
|
}
|
|
5855
|
+
responseCapture.agentOutput.observeFinishReason(
|
|
5856
|
+
candidate.finishReason
|
|
5857
|
+
);
|
|
5785
5858
|
}
|
|
5786
5859
|
if (resp.type === "chunk" /* CHUNK */ && resp.value.usageMetadata) {
|
|
5787
5860
|
usageMetadata = resp.value.usageMetadata;
|
|
@@ -5794,6 +5867,9 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5794
5867
|
}
|
|
5795
5868
|
}
|
|
5796
5869
|
if (resp.type === "retry" /* RETRY */ || resp.type === "model_fallback" /* MODEL_FALLBACK */) {
|
|
5870
|
+
responseCapture.agentOutput.restartAttempt(
|
|
5871
|
+
resp.type === "retry" /* RETRY */ && resp.isContinuation === true
|
|
5872
|
+
);
|
|
5797
5873
|
if (resp.type === "model_fallback" /* MODEL_FALLBACK */ || !resp.isContinuation) {
|
|
5798
5874
|
if (channelDeliveryResponseBlock) {
|
|
5799
5875
|
channelDeliveryResponseBlock.length = channelDeliveryCheckpoint;
|
|
@@ -5854,7 +5930,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5854
5930
|
await messageDisplay?.finish();
|
|
5855
5931
|
}
|
|
5856
5932
|
commitChannelDeliveryResponseBlock(
|
|
5857
|
-
|
|
5933
|
+
responseCapture,
|
|
5858
5934
|
channelDeliveryResponseBlock,
|
|
5859
5935
|
functionCalls.length > 0
|
|
5860
5936
|
);
|
|
@@ -5898,14 +5974,16 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5898
5974
|
pendingSend.signal,
|
|
5899
5975
|
promptId,
|
|
5900
5976
|
toolLoopState,
|
|
5901
|
-
onFullTurnModel
|
|
5977
|
+
onFullTurnModel,
|
|
5978
|
+
rejectOnLoopDetected
|
|
5902
5979
|
);
|
|
5903
5980
|
nextMessage = nextAfterTools.message;
|
|
5904
5981
|
if (nextAfterTools.stoppedByRepeatedToolFailure) {
|
|
5905
5982
|
return {
|
|
5906
|
-
stopReason:
|
|
5907
|
-
pendingSend.signal
|
|
5908
|
-
|
|
5983
|
+
stopReason: rejectOnLoopDetected ? cancelledOrThrowLoopDetected(
|
|
5984
|
+
pendingSend.signal,
|
|
5985
|
+
toolLoopState
|
|
5986
|
+
) : getAbortAwareEndTurnStopReason(pendingSend.signal)
|
|
5909
5987
|
};
|
|
5910
5988
|
}
|
|
5911
5989
|
if (toolRun.loopDetected) {
|
|
@@ -5915,9 +5993,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5915
5993
|
pendingSend.signal
|
|
5916
5994
|
);
|
|
5917
5995
|
return {
|
|
5918
|
-
stopReason:
|
|
5919
|
-
pendingSend.signal
|
|
5920
|
-
|
|
5996
|
+
stopReason: rejectOnLoopDetected ? cancelledOrThrowLoopDetected(
|
|
5997
|
+
pendingSend.signal,
|
|
5998
|
+
toolLoopState
|
|
5999
|
+
) : getAbortAwareEndTurnStopReason(pendingSend.signal)
|
|
5921
6000
|
};
|
|
5922
6001
|
}
|
|
5923
6002
|
}
|
|
@@ -5925,15 +6004,22 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5925
6004
|
if (this.messageRewriter) {
|
|
5926
6005
|
await this.messageRewriter.waitForPendingRewrites();
|
|
5927
6006
|
}
|
|
5928
|
-
|
|
6007
|
+
const result = await this.#handleStopHookLoop(
|
|
5929
6008
|
pendingSend,
|
|
5930
6009
|
promptId,
|
|
5931
6010
|
hooksEnabled,
|
|
5932
6011
|
messageBus,
|
|
5933
6012
|
true,
|
|
5934
6013
|
fullTurnModelOverride,
|
|
5935
|
-
|
|
6014
|
+
responseCapture,
|
|
6015
|
+
rejectOnLoopDetected
|
|
5936
6016
|
);
|
|
6017
|
+
if (result.stopReason !== "cancelled") {
|
|
6018
|
+
responseCapture.agentOutput.writeToSpan(
|
|
6019
|
+
getActiveInteractionSpan()
|
|
6020
|
+
);
|
|
6021
|
+
}
|
|
6022
|
+
return result;
|
|
5937
6023
|
} finally {
|
|
5938
6024
|
logConversationFinishedEvent(
|
|
5939
6025
|
this.config,
|
|
@@ -5954,7 +6040,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
5954
6040
|
}
|
|
5955
6041
|
);
|
|
5956
6042
|
}
|
|
5957
|
-
async #handleStopHookLoop(pendingSend, promptId, hooksEnabled, messageBus, allowExternalHooks = true, modelOverride,
|
|
6043
|
+
async #handleStopHookLoop(pendingSend, promptId, hooksEnabled, messageBus, allowExternalHooks = true, modelOverride, responseCapture, rejectOnLoopDetected = false) {
|
|
5958
6044
|
const stopHookBlockingCap = this.config.getStopHookBlockingCap();
|
|
5959
6045
|
let stopHookIterationCount = 0;
|
|
5960
6046
|
let stopHookReasons = [];
|
|
@@ -6014,7 +6100,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6014
6100
|
{
|
|
6015
6101
|
onFullTurnModel,
|
|
6016
6102
|
getModelOverride: /* @__PURE__ */ __name(() => modelOverride, "getModelOverride"),
|
|
6017
|
-
|
|
6103
|
+
responseCapture,
|
|
6104
|
+
rejectOnLoopDetected
|
|
6018
6105
|
}
|
|
6019
6106
|
);
|
|
6020
6107
|
if (continuation2.kind === "terminal") {
|
|
@@ -6098,7 +6185,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6098
6185
|
{
|
|
6099
6186
|
onFullTurnModel,
|
|
6100
6187
|
getModelOverride: /* @__PURE__ */ __name(() => modelOverride, "getModelOverride"),
|
|
6101
|
-
|
|
6188
|
+
responseCapture,
|
|
6189
|
+
rejectOnLoopDetected
|
|
6102
6190
|
}
|
|
6103
6191
|
);
|
|
6104
6192
|
if (continuation2.kind === "terminal") {
|
|
@@ -6197,7 +6285,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6197
6285
|
} : {},
|
|
6198
6286
|
onFullTurnModel,
|
|
6199
6287
|
getModelOverride: /* @__PURE__ */ __name(() => modelOverride, "getModelOverride"),
|
|
6200
|
-
|
|
6288
|
+
responseCapture,
|
|
6289
|
+
rejectOnLoopDetected
|
|
6201
6290
|
}
|
|
6202
6291
|
);
|
|
6203
6292
|
if (continuation.supersededAutomaticContinuation && externalReason) {
|
|
@@ -6264,6 +6353,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6264
6353
|
pendingSend.signal
|
|
6265
6354
|
);
|
|
6266
6355
|
let channelDeliveryResponseBlock;
|
|
6356
|
+
let channelDeliveryCheckpoint = 0;
|
|
6267
6357
|
let providerSendChat;
|
|
6268
6358
|
let userContentPushCountBeforeSend = 0;
|
|
6269
6359
|
try {
|
|
@@ -6494,9 +6584,9 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6494
6584
|
const responseStream = sendResult.responseStream;
|
|
6495
6585
|
nextMessage = null;
|
|
6496
6586
|
channelDeliveryResponseBlock = beginChannelDeliveryResponseBlock(
|
|
6497
|
-
options.
|
|
6587
|
+
options.responseCapture
|
|
6498
6588
|
);
|
|
6499
|
-
|
|
6589
|
+
channelDeliveryCheckpoint = channelDeliveryResponseBlock?.length ?? 0;
|
|
6500
6590
|
initialSend = false;
|
|
6501
6591
|
if (guardForThisSend) {
|
|
6502
6592
|
const guardCommitted = this.todoStopGuard.commitContinuation(
|
|
@@ -6528,10 +6618,14 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6528
6618
|
part.thought
|
|
6529
6619
|
);
|
|
6530
6620
|
if (!part.thought) {
|
|
6621
|
+
options.responseCapture?.agentOutput.appendText(part.text);
|
|
6531
6622
|
channelDeliveryResponseBlock?.push(part.text);
|
|
6532
6623
|
messageDisplay?.addChunk(part.text);
|
|
6533
6624
|
}
|
|
6534
6625
|
}
|
|
6626
|
+
options.responseCapture?.agentOutput.observeFinishReason(
|
|
6627
|
+
candidate.finishReason
|
|
6628
|
+
);
|
|
6535
6629
|
}
|
|
6536
6630
|
if (response.type === "chunk" /* CHUNK */ && response.value.usageMetadata) {
|
|
6537
6631
|
usageMetadata = response.value.usageMetadata;
|
|
@@ -6544,6 +6638,9 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6544
6638
|
}
|
|
6545
6639
|
}
|
|
6546
6640
|
if (response.type === "retry" /* RETRY */ || response.type === "model_fallback" /* MODEL_FALLBACK */) {
|
|
6641
|
+
options.responseCapture?.agentOutput.restartAttempt(
|
|
6642
|
+
response.type === "retry" /* RETRY */ && response.isContinuation === true
|
|
6643
|
+
);
|
|
6547
6644
|
if (response.type === "model_fallback" /* MODEL_FALLBACK */ || !response.isContinuation) {
|
|
6548
6645
|
if (channelDeliveryResponseBlock) {
|
|
6549
6646
|
channelDeliveryResponseBlock.length = channelDeliveryCheckpoint;
|
|
@@ -6606,7 +6703,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6606
6703
|
}
|
|
6607
6704
|
}
|
|
6608
6705
|
commitChannelDeliveryResponseBlock(
|
|
6609
|
-
options.
|
|
6706
|
+
options.responseCapture,
|
|
6610
6707
|
channelDeliveryResponseBlock,
|
|
6611
6708
|
functionCalls.length > 0
|
|
6612
6709
|
);
|
|
@@ -6630,7 +6727,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6630
6727
|
options.onFullTurnModel
|
|
6631
6728
|
)
|
|
6632
6729
|
);
|
|
6633
|
-
if (toolRun.stopAfterPermissionCancel ||
|
|
6730
|
+
if (toolRun.stopAfterPermissionCancel || pendingSend.signal.aborted) {
|
|
6634
6731
|
this.todoStopGuard.suspend();
|
|
6635
6732
|
await this.#preserveStoppedToolRun(toolRun, pendingSend.signal);
|
|
6636
6733
|
return {
|
|
@@ -6639,12 +6736,25 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6639
6736
|
...supersededAutomaticContinuation ? { supersededAutomaticContinuation: true } : {}
|
|
6640
6737
|
};
|
|
6641
6738
|
}
|
|
6739
|
+
if (toolRun.loopDetected) {
|
|
6740
|
+
this.todoStopGuard.suspend();
|
|
6741
|
+
await this.#preserveStoppedToolRun(toolRun, pendingSend.signal);
|
|
6742
|
+
return {
|
|
6743
|
+
kind: "terminal",
|
|
6744
|
+
// Only the foreground chain rejects a loop-detected stop; cron
|
|
6745
|
+
// and background-notification turns keep the graceful end-turn
|
|
6746
|
+
// handling they had before loop stops became rejections.
|
|
6747
|
+
stopReason: options.rejectOnLoopDetected ? cancelledOrThrowLoopDetected(pendingSend.signal, toolLoopState) : getAbortAwareEndTurnStopReason(pendingSend.signal),
|
|
6748
|
+
...supersededAutomaticContinuation ? { supersededAutomaticContinuation: true } : {}
|
|
6749
|
+
};
|
|
6750
|
+
}
|
|
6642
6751
|
const nextAfterTools = await this.#buildNextMessageAfterToolRun(
|
|
6643
6752
|
toolRun,
|
|
6644
6753
|
pendingSend.signal,
|
|
6645
6754
|
toolPromptId,
|
|
6646
6755
|
toolLoopState,
|
|
6647
|
-
options.onFullTurnModel
|
|
6756
|
+
options.onFullTurnModel,
|
|
6757
|
+
options.rejectOnLoopDetected ?? false
|
|
6648
6758
|
);
|
|
6649
6759
|
nextMessage = nextAfterTools.message;
|
|
6650
6760
|
if (nextAfterTools.hadMidTurnUserInput) {
|
|
@@ -6949,7 +7059,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
6949
7059
|
);
|
|
6950
7060
|
await this.messageRewriter?.waitForPendingRewrites();
|
|
6951
7061
|
}
|
|
6952
|
-
async #buildNextMessageAfterToolRun(toolRun, abortSignal, promptId, toolLoopState, onFullTurnModel) {
|
|
7062
|
+
async #buildNextMessageAfterToolRun(toolRun, abortSignal, promptId, toolLoopState, onFullTurnModel, rejectOnLoopDetected = false) {
|
|
6953
7063
|
if (toolRun.loopDetected) {
|
|
6954
7064
|
debugLogger6.debug("Stopping ACP turn after daemon loop detection.");
|
|
6955
7065
|
return { message: null, hadMidTurnUserInput: false };
|
|
@@ -7039,14 +7149,16 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7039
7149
|
toolLoopState,
|
|
7040
7150
|
{ recordToQwenLogger: false }
|
|
7041
7151
|
);
|
|
7042
|
-
|
|
7043
|
-
|
|
7044
|
-
|
|
7045
|
-
|
|
7046
|
-
|
|
7047
|
-
|
|
7048
|
-
|
|
7049
|
-
|
|
7152
|
+
if (!rejectOnLoopDetected) {
|
|
7153
|
+
try {
|
|
7154
|
+
await this.messageEmitter.emitAgentMessage(
|
|
7155
|
+
REPEATED_TOOL_FAILURE_STOP_MESSAGE
|
|
7156
|
+
);
|
|
7157
|
+
} catch (error) {
|
|
7158
|
+
debugLogger6.warn(
|
|
7159
|
+
`Failed to emit repeated tool failure stop message: ${this.#formatError(error)}`
|
|
7160
|
+
);
|
|
7161
|
+
}
|
|
7050
7162
|
}
|
|
7051
7163
|
return {
|
|
7052
7164
|
message: null,
|
|
@@ -7483,7 +7595,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7483
7595
|
const promptId = this.config.getSessionId() + "########cron" + Date.now();
|
|
7484
7596
|
let cronHadError = false;
|
|
7485
7597
|
let cronCompleted = false;
|
|
7486
|
-
const
|
|
7598
|
+
const responseCapture = {
|
|
7599
|
+
...item.delivery ? { channelDelivery: { finalText: "" } } : {},
|
|
7600
|
+
agentOutput: new AgentOutputMessageCapture(this.config)
|
|
7601
|
+
};
|
|
7487
7602
|
await withInteractionSpan(
|
|
7488
7603
|
this.config,
|
|
7489
7604
|
{
|
|
@@ -7596,7 +7711,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7596
7711
|
return;
|
|
7597
7712
|
}
|
|
7598
7713
|
const responseStream = sendResult.responseStream;
|
|
7599
|
-
const channelDeliveryResponseBlock = beginChannelDeliveryResponseBlock(
|
|
7714
|
+
const channelDeliveryResponseBlock = beginChannelDeliveryResponseBlock(responseCapture);
|
|
7600
7715
|
const channelDeliveryCheckpoint = channelDeliveryResponseBlock?.length ?? 0;
|
|
7601
7716
|
if (loopTick && turnCount === 1) {
|
|
7602
7717
|
this.loopTickResolver?.markDelivered();
|
|
@@ -7622,10 +7737,14 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7622
7737
|
part.thought
|
|
7623
7738
|
);
|
|
7624
7739
|
if (!part.thought) {
|
|
7740
|
+
responseCapture.agentOutput.appendText(part.text);
|
|
7625
7741
|
channelDeliveryResponseBlock?.push(part.text);
|
|
7626
7742
|
messageDisplay?.addChunk(part.text);
|
|
7627
7743
|
}
|
|
7628
7744
|
}
|
|
7745
|
+
responseCapture.agentOutput.observeFinishReason(
|
|
7746
|
+
candidate.finishReason
|
|
7747
|
+
);
|
|
7629
7748
|
}
|
|
7630
7749
|
if (resp.type === "chunk" /* CHUNK */ && resp.value.usageMetadata) {
|
|
7631
7750
|
usageMetadata = resp.value.usageMetadata;
|
|
@@ -7638,6 +7757,9 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7638
7757
|
}
|
|
7639
7758
|
}
|
|
7640
7759
|
if (resp.type === "retry" /* RETRY */ || resp.type === "model_fallback" /* MODEL_FALLBACK */) {
|
|
7760
|
+
responseCapture.agentOutput.restartAttempt(
|
|
7761
|
+
resp.type === "retry" /* RETRY */ && resp.isContinuation === true
|
|
7762
|
+
);
|
|
7641
7763
|
if (resp.type === "model_fallback" /* MODEL_FALLBACK */ || !resp.isContinuation) {
|
|
7642
7764
|
if (channelDeliveryResponseBlock) {
|
|
7643
7765
|
channelDeliveryResponseBlock.length = channelDeliveryCheckpoint;
|
|
@@ -7666,7 +7788,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7666
7788
|
}
|
|
7667
7789
|
}
|
|
7668
7790
|
commitChannelDeliveryResponseBlock(
|
|
7669
|
-
|
|
7791
|
+
responseCapture,
|
|
7670
7792
|
channelDeliveryResponseBlock,
|
|
7671
7793
|
functionCalls.length > 0
|
|
7672
7794
|
);
|
|
@@ -7717,7 +7839,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7717
7839
|
void 0,
|
|
7718
7840
|
false,
|
|
7719
7841
|
void 0,
|
|
7720
|
-
|
|
7842
|
+
responseCapture
|
|
7721
7843
|
);
|
|
7722
7844
|
stopReason = guardStop.stopReason;
|
|
7723
7845
|
if (guardStop.stopReason === "max_tokens") {
|
|
@@ -7750,6 +7872,11 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7750
7872
|
)
|
|
7751
7873
|
);
|
|
7752
7874
|
}
|
|
7875
|
+
if (!ac.signal.aborted && !cronHadError) {
|
|
7876
|
+
responseCapture.agentOutput.writeToSpan(
|
|
7877
|
+
getActiveInteractionSpan()
|
|
7878
|
+
);
|
|
7879
|
+
}
|
|
7753
7880
|
},
|
|
7754
7881
|
() => ac.signal.aborted ? "cancelled" : cronHadError ? "error" : "ok"
|
|
7755
7882
|
);
|
|
@@ -7760,7 +7887,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7760
7887
|
source: "scheduled",
|
|
7761
7888
|
target: item.delivery.target,
|
|
7762
7889
|
text: normalizeChannelDeliveryText(
|
|
7763
|
-
|
|
7890
|
+
responseCapture.channelDelivery?.finalText ?? ""
|
|
7764
7891
|
),
|
|
7765
7892
|
taskId: item.taskId,
|
|
7766
7893
|
firedAt: item.firedAt
|
|
@@ -7832,6 +7959,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7832
7959
|
});
|
|
7833
7960
|
});
|
|
7834
7961
|
const shellRegistry = this.config.getBackgroundShellRegistry();
|
|
7962
|
+
this.#shellStatusChangeCallback = () => {
|
|
7963
|
+
this.#activeWorkChanged();
|
|
7964
|
+
};
|
|
7965
|
+
shellRegistry.setStatusChangeCallback(this.#shellStatusChangeCallback);
|
|
7835
7966
|
shellRegistry.setNotificationCallback((displayText, modelText, meta) => {
|
|
7836
7967
|
const entry = shellRegistry.get(meta.shellId);
|
|
7837
7968
|
this.#enqueueBackgroundNotification({
|
|
@@ -7990,6 +8121,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7990
8121
|
const [item] = this.notificationQueue.splice(nextIndex, 1);
|
|
7991
8122
|
if (!item) break;
|
|
7992
8123
|
this.currentAgentNotificationTaskId = item.kind === "agent" ? item.taskId : null;
|
|
8124
|
+
this.currentShellNotificationActive = item.kind === "shell";
|
|
7993
8125
|
this.#activeWorkChanged();
|
|
7994
8126
|
try {
|
|
7995
8127
|
await runWithInvocationContext(
|
|
@@ -8001,6 +8133,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
8001
8133
|
);
|
|
8002
8134
|
} finally {
|
|
8003
8135
|
this.currentAgentNotificationTaskId = null;
|
|
8136
|
+
this.currentShellNotificationActive = false;
|
|
8004
8137
|
this.#activeWorkChanged();
|
|
8005
8138
|
}
|
|
8006
8139
|
}
|
|
@@ -10016,6 +10149,13 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
10016
10149
|
toolName: policyToolName,
|
|
10017
10150
|
args: invocation.params,
|
|
10018
10151
|
signal: activeToolAbortSignal,
|
|
10152
|
+
// Same identity and execution scope `CoreToolScheduler`
|
|
10153
|
+
// supplies. This is the path daemon ACP sessions actually
|
|
10154
|
+
// take, so without them a host policy that falls back to the
|
|
10155
|
+
// session — or reasons about where the tool runs — sees
|
|
10156
|
+
// neither on every call made here.
|
|
10157
|
+
sessionId: this.config.getSessionId(),
|
|
10158
|
+
cwd: this.config.getTargetDir(),
|
|
10019
10159
|
...invocationContext ? { invocationContext } : {}
|
|
10020
10160
|
}
|
|
10021
10161
|
);
|
|
@@ -11022,10 +11162,11 @@ ${contextPart.text}`
|
|
|
11022
11162
|
init_esbuild_shims();
|
|
11023
11163
|
var debugLogger7 = createDebugLogger("ACTIVE_WORK");
|
|
11024
11164
|
var ActiveWorkReporter = class {
|
|
11025
|
-
constructor(send, listSources, intervalMs) {
|
|
11165
|
+
constructor(send, listSources, intervalMs, enabledCategories) {
|
|
11026
11166
|
this.send = send;
|
|
11027
11167
|
this.listSources = listSources;
|
|
11028
11168
|
this.intervalMs = intervalMs;
|
|
11169
|
+
this.#enabledCategories = new Set(enabledCategories);
|
|
11029
11170
|
this.#timer = setInterval(() => {
|
|
11030
11171
|
this.#publish();
|
|
11031
11172
|
}, intervalMs);
|
|
@@ -11040,6 +11181,7 @@ var ActiveWorkReporter = class {
|
|
|
11040
11181
|
#coalescing = false;
|
|
11041
11182
|
#timer;
|
|
11042
11183
|
#disposed = false;
|
|
11184
|
+
#enabledCategories;
|
|
11043
11185
|
/**
|
|
11044
11186
|
* Note that some Session's derived state may have changed. Coalesced to
|
|
11045
11187
|
* one snapshot per microtask so a burst of transitions (an agent finishing
|
|
@@ -11087,7 +11229,7 @@ var ActiveWorkReporter = class {
|
|
|
11087
11229
|
for (const source of this.listSources()) {
|
|
11088
11230
|
sessions.push({
|
|
11089
11231
|
sessionId: source.sessionId,
|
|
11090
|
-
holds: source.collectActiveWorkHolds()
|
|
11232
|
+
holds: source.collectActiveWorkHolds().filter((hold) => this.#enabledCategories.has(hold.category))
|
|
11091
11233
|
});
|
|
11092
11234
|
}
|
|
11093
11235
|
} catch (error) {
|
|
@@ -13086,23 +13228,28 @@ async function deliverClientMcpMessage(connection, serverName, message, sessionI
|
|
|
13086
13228
|
return payload;
|
|
13087
13229
|
}
|
|
13088
13230
|
__name(deliverClientMcpMessage, "deliverClientMcpMessage");
|
|
13089
|
-
function createManagedExternalToolGuard(connection
|
|
13231
|
+
function createManagedExternalToolGuard(connection, options = {
|
|
13232
|
+
externalProviderAttached: false
|
|
13233
|
+
}) {
|
|
13090
13234
|
return async (context) => {
|
|
13235
|
+
if (!options.externalProviderAttached && !SHELL_EXECUTING_TOOL_NAMES.has(context.toolName)) {
|
|
13236
|
+
return { allowed: true };
|
|
13237
|
+
}
|
|
13091
13238
|
const invocation = context.invocationContext;
|
|
13092
|
-
if (!invocation) {
|
|
13239
|
+
if (!invocation && options.externalProviderAttached) {
|
|
13093
13240
|
throw new Error(
|
|
13094
13241
|
"Managed external tool guard requires a runtime invocation context."
|
|
13095
13242
|
);
|
|
13096
13243
|
}
|
|
13244
|
+
const sessionId = invocation?.sessionId ?? context.sessionId;
|
|
13245
|
+
if (typeof sessionId !== "string" || sessionId.length === 0) {
|
|
13246
|
+
throw new Error(
|
|
13247
|
+
"Managed external tool guard requires a session identity."
|
|
13248
|
+
);
|
|
13249
|
+
}
|
|
13097
13250
|
if (context.signal.aborted) {
|
|
13098
13251
|
throw new DOMException("Tool invocation aborted", "AbortError");
|
|
13099
13252
|
}
|
|
13100
|
-
if (context.toolName === ToolNames.AGENT || context.toolName === ToolNames.WORKFLOW || context.toolName === ToolNames.CREATE_SUB_SESSION || context.toolName === ToolNames.SEND_MESSAGE) {
|
|
13101
|
-
return {
|
|
13102
|
-
allowed: false,
|
|
13103
|
-
reason: "Managed external tool guard v1 does not support nested or delegated agent execution."
|
|
13104
|
-
};
|
|
13105
|
-
}
|
|
13106
13253
|
let rejectOnAbort;
|
|
13107
13254
|
const aborted = new Promise((_resolve, reject) => {
|
|
13108
13255
|
rejectOnAbort = reject;
|
|
@@ -13117,11 +13264,14 @@ function createManagedExternalToolGuard(connection) {
|
|
|
13117
13264
|
connection.extMethod(
|
|
13118
13265
|
SERVE_CONTROL_EXT_METHODS.externalToolGuardPrepare,
|
|
13119
13266
|
{
|
|
13120
|
-
sessionId
|
|
13121
|
-
promptId: invocation.promptId,
|
|
13267
|
+
sessionId,
|
|
13268
|
+
...invocation ? { promptId: invocation.promptId } : {},
|
|
13122
13269
|
toolCallId: context.callId,
|
|
13123
13270
|
toolName: context.toolName,
|
|
13124
|
-
arguments: context.args
|
|
13271
|
+
arguments: context.args,
|
|
13272
|
+
// A sub-agent pinned to a worktree executes here, not in the
|
|
13273
|
+
// session's own directory; the host validates this before use.
|
|
13274
|
+
...typeof context.cwd === "string" && context.cwd.length > 0 ? { invocationCwd: context.cwd } : {}
|
|
13125
13275
|
}
|
|
13126
13276
|
),
|
|
13127
13277
|
aborted
|
|
@@ -13248,8 +13398,10 @@ async function runAcpAgent(config, settings, argv, options) {
|
|
|
13248
13398
|
const privateParentCapability = options === void 0 ? process.env[PRIVATE_ACP_CAPABILITY_ENV] : options.privateParentCapability;
|
|
13249
13399
|
delete process.env[PRIVATE_ACP_CAPABILITY_ENV];
|
|
13250
13400
|
delete process.env[PRIVATE_EXTERNAL_TOOL_GUARD_ENV];
|
|
13401
|
+
delete process.env[PRIVATE_EXTERNAL_TOOL_GUARD_PROVIDER_ENV];
|
|
13251
13402
|
delete process.env[EXTERNAL_TOOL_GUARD_TOKEN_ENV];
|
|
13252
13403
|
const externalToolGuardRequired = options?.externalToolGuardRequired === true;
|
|
13404
|
+
const externalToolGuardProviderAttached = options?.externalToolGuardProviderAttached === true;
|
|
13253
13405
|
if (externalToolGuardRequired && privateParentCapability === void 0) {
|
|
13254
13406
|
throw new Error(
|
|
13255
13407
|
"Required external tool guard is available only to a private managed ACP parent."
|
|
@@ -13331,7 +13483,9 @@ async function runAcpAgent(config, settings, argv, options) {
|
|
|
13331
13483
|
});
|
|
13332
13484
|
connection = new AgentSideConnection((conn) => {
|
|
13333
13485
|
acpConnection = conn;
|
|
13334
|
-
const managedToolInvocationGuard = externalToolGuardRequired ? createManagedExternalToolGuard(conn
|
|
13486
|
+
const managedToolInvocationGuard = externalToolGuardRequired ? createManagedExternalToolGuard(conn, {
|
|
13487
|
+
externalProviderAttached: externalToolGuardProviderAttached
|
|
13488
|
+
}) : void 0;
|
|
13335
13489
|
agentInstance = new QwenAgent(
|
|
13336
13490
|
config,
|
|
13337
13491
|
settings,
|
|
@@ -13339,7 +13493,8 @@ async function runAcpAgent(config, settings, argv, options) {
|
|
|
13339
13493
|
conn,
|
|
13340
13494
|
privateParentCapability,
|
|
13341
13495
|
sessionWriterLeaseEnabledAtStartup,
|
|
13342
|
-
managedToolInvocationGuard
|
|
13496
|
+
managedToolInvocationGuard,
|
|
13497
|
+
externalToolGuardProviderAttached
|
|
13343
13498
|
);
|
|
13344
13499
|
return agentInstance;
|
|
13345
13500
|
}, stream);
|
|
@@ -13645,7 +13800,7 @@ function isOwnerOnlyDirectory(stats) {
|
|
|
13645
13800
|
}
|
|
13646
13801
|
__name(isOwnerOnlyDirectory, "isOwnerOnlyDirectory");
|
|
13647
13802
|
var QwenAgent = class {
|
|
13648
|
-
constructor(config, settings, argv, connection, expectedPrivateParentCapability, sessionWriterLeaseEnabledAtStartup = false, managedToolInvocationGuard) {
|
|
13803
|
+
constructor(config, settings, argv, connection, expectedPrivateParentCapability, sessionWriterLeaseEnabledAtStartup = false, managedToolInvocationGuard, externalToolGuardProviderAttached = false) {
|
|
13649
13804
|
this.config = config;
|
|
13650
13805
|
this.settings = settings;
|
|
13651
13806
|
this.argv = argv;
|
|
@@ -13653,6 +13808,7 @@ var QwenAgent = class {
|
|
|
13653
13808
|
this.expectedPrivateParentCapability = expectedPrivateParentCapability;
|
|
13654
13809
|
this.sessionWriterLeaseEnabledAtStartup = sessionWriterLeaseEnabledAtStartup;
|
|
13655
13810
|
this.managedToolInvocationGuard = managedToolInvocationGuard;
|
|
13811
|
+
this.externalToolGuardProviderAttached = externalToolGuardProviderAttached;
|
|
13656
13812
|
if (process.env["QWEN_SERVE_NO_MCP_POOL"] === "1") {
|
|
13657
13813
|
this.mcpPool = void 0;
|
|
13658
13814
|
this.workspaceMcpBudget = void 0;
|
|
@@ -13747,7 +13903,7 @@ var QwenAgent = class {
|
|
|
13747
13903
|
}
|
|
13748
13904
|
}
|
|
13749
13905
|
rejectUnsupportedGuardedHiddenAgent(operation) {
|
|
13750
|
-
if (this.managedToolInvocationGuard) {
|
|
13906
|
+
if (this.managedToolInvocationGuard && this.externalToolGuardProviderAttached) {
|
|
13751
13907
|
throw RequestError.invalidParams(
|
|
13752
13908
|
void 0,
|
|
13753
13909
|
`Managed external tool guard v1 does not support ${operation}.`
|
|
@@ -14278,6 +14434,12 @@ var QwenAgent = class {
|
|
|
14278
14434
|
drainTimeoutMs,
|
|
14279
14435
|
"close"
|
|
14280
14436
|
);
|
|
14437
|
+
if (opts?.onlyIfUnheld) {
|
|
14438
|
+
const holds = session.collectActiveWorkHolds();
|
|
14439
|
+
if (holds.length > 0) {
|
|
14440
|
+
return { closed: false, holds };
|
|
14441
|
+
}
|
|
14442
|
+
}
|
|
14281
14443
|
recorder?.finalize();
|
|
14282
14444
|
let flushError;
|
|
14283
14445
|
try {
|
|
@@ -14411,7 +14573,7 @@ var QwenAgent = class {
|
|
|
14411
14573
|
}
|
|
14412
14574
|
this.clientCapabilities = args.clientCapabilities;
|
|
14413
14575
|
const authMethods = buildAuthMethods();
|
|
14414
|
-
const version = "0.21.12
|
|
14576
|
+
const version = "0.21.12";
|
|
14415
14577
|
const response = {
|
|
14416
14578
|
protocolVersion: PROTOCOL_VERSION,
|
|
14417
14579
|
agentInfo: {
|
|
@@ -14455,12 +14617,17 @@ var QwenAgent = class {
|
|
|
14455
14617
|
const activeWorkIntervalMs = activeWorkRequested ? clampActiveWorkIntervalMs(
|
|
14456
14618
|
requestedActiveWork["intervalMs"]
|
|
14457
14619
|
) : void 0;
|
|
14620
|
+
const requestedActiveWorkCategories = activeWorkRequested ? requestedActiveWork["categories"] : void 0;
|
|
14621
|
+
const activeWorkCategories = activeWorkRequested ? Array.isArray(requestedActiveWorkCategories) ? ACTIVE_WORK_HOLD_CATEGORIES.filter(
|
|
14622
|
+
(category) => requestedActiveWorkCategories.includes(category)
|
|
14623
|
+
) : ACTIVE_WORK_LEGACY_HOLD_CATEGORIES : void 0;
|
|
14458
14624
|
if (activeWorkIntervalMs !== void 0) {
|
|
14459
14625
|
this.activeWorkReporter?.dispose();
|
|
14460
14626
|
this.activeWorkReporter = new ActiveWorkReporter(
|
|
14461
14627
|
(method, params) => this.connection.extNotification(method, params),
|
|
14462
14628
|
() => this.sessions.values(),
|
|
14463
|
-
activeWorkIntervalMs
|
|
14629
|
+
activeWorkIntervalMs,
|
|
14630
|
+
activeWorkCategories ?? []
|
|
14464
14631
|
);
|
|
14465
14632
|
}
|
|
14466
14633
|
const responseMeta = {
|
|
@@ -14472,7 +14639,7 @@ var QwenAgent = class {
|
|
|
14472
14639
|
[ACTIVE_WORK_HEARTBEAT_META_KEY]: {
|
|
14473
14640
|
v: ACTIVE_WORK_HEARTBEAT_VERSION,
|
|
14474
14641
|
intervalMs: activeWorkIntervalMs,
|
|
14475
|
-
categories: [...
|
|
14642
|
+
categories: [...activeWorkCategories ?? []]
|
|
14476
14643
|
}
|
|
14477
14644
|
} : {}
|
|
14478
14645
|
};
|
|
@@ -15234,13 +15401,23 @@ var QwenAgent = class {
|
|
|
15234
15401
|
const suppliedContext = meta[INVOCATION_CONTEXT_META_KEY];
|
|
15235
15402
|
const suppliedModelPrompt = meta[DAEMON_MODEL_PROMPT_META_KEY];
|
|
15236
15403
|
const suppliedPromptDisplayText = meta[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY];
|
|
15404
|
+
const suppliedChannelPrompt = meta[CHANNEL_PROMPT_META_KEY];
|
|
15405
|
+
const suppliedChannelDelivery = meta[DAEMON_CHANNEL_DELIVERY_META_KEY];
|
|
15237
15406
|
delete meta[INVOCATION_CONTEXT_META_KEY];
|
|
15238
15407
|
delete meta[DAEMON_MODEL_PROMPT_META_KEY];
|
|
15239
15408
|
delete meta[PRIVATE_PARENT_CAPABILITY_META_KEY];
|
|
15240
15409
|
delete meta[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY];
|
|
15410
|
+
delete meta[CHANNEL_PROMPT_META_KEY];
|
|
15411
|
+
delete meta[DAEMON_CHANNEL_DELIVERY_META_KEY];
|
|
15241
15412
|
if (this.privateParentState === "trusted" && typeof suppliedPromptDisplayText === "string") {
|
|
15242
15413
|
meta[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY] = suppliedPromptDisplayText;
|
|
15243
15414
|
}
|
|
15415
|
+
if (this.privateParentState === "trusted" && suppliedChannelPrompt === true) {
|
|
15416
|
+
meta[CHANNEL_PROMPT_META_KEY] = true;
|
|
15417
|
+
}
|
|
15418
|
+
if (this.privateParentState === "trusted" && suppliedChannelDelivery !== void 0) {
|
|
15419
|
+
meta[DAEMON_CHANNEL_DELIVERY_META_KEY] = suppliedChannelDelivery;
|
|
15420
|
+
}
|
|
15244
15421
|
if (Object.keys(meta).length > 0) {
|
|
15245
15422
|
sanitizedParams._meta = meta;
|
|
15246
15423
|
} else {
|
|
@@ -17597,7 +17774,7 @@ var QwenAgent = class {
|
|
|
17597
17774
|
);
|
|
17598
17775
|
case SERVE_CONTROL_EXT_METHODS.workspaceMemoryRememberAvailability:
|
|
17599
17776
|
return {
|
|
17600
|
-
available: !this.managedToolInvocationGuard && this.config.isManagedMemoryAvailable()
|
|
17777
|
+
available: !(this.managedToolInvocationGuard && this.externalToolGuardProviderAttached) && this.config.isManagedMemoryAvailable()
|
|
17601
17778
|
};
|
|
17602
17779
|
case SERVE_CONTROL_EXT_METHODS.workspaceMemoryRemember: {
|
|
17603
17780
|
this.rejectUnsupportedGuardedHiddenAgent(
|
|
@@ -19154,7 +19331,7 @@ var QwenAgent = class {
|
|
|
19154
19331
|
return { sessionId, answer: result.text || null };
|
|
19155
19332
|
}
|
|
19156
19333
|
case SERVE_CONTROL_EXT_METHODS.sessionForkAgent: {
|
|
19157
|
-
if (this.managedToolInvocationGuard) {
|
|
19334
|
+
if (this.managedToolInvocationGuard && this.externalToolGuardProviderAttached) {
|
|
19158
19335
|
throw RequestError.invalidParams(
|
|
19159
19336
|
void 0,
|
|
19160
19337
|
"Managed external tool guard v1 does not support /fork."
|