@qwen-code/qwen-code 0.23.2 → 0.23.3-nightly.20260910.c46cb85cf2
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/README.md +35 -15
- package/bundled/computer-use/SKILL.md +1 -1
- package/bundled/goal-draft/SKILL.md +2 -2
- package/bundled/qc-helper/docs/configuration/model-providers.md +66 -28
- package/bundled/qc-helper/docs/configuration/settings.md +5 -3
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +0 -20
- package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
- package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
- package/bundled/qc-helper/docs/features/commands.md +57 -9
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +320 -0
- package/bundled/qc-helper/docs/features/goals.md +3 -3
- package/bundled/qc-helper/docs/features/hooks.md +14 -13
- package/bundled/qc-helper/docs/qwen-serve.md +23 -6
- package/bundled/review/SKILL.md +82 -79
- package/bundled/review/references/posting.md +31 -14
- package/chunks/{MaxSizedBox-4C3BKKKY.js → MaxSizedBox-UZW24XUX.js} +61 -54
- package/chunks/{StandaloneSessionPicker-TXVF65YW.js → StandaloneSessionPicker-IDK7NAZL.js} +83 -76
- package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-ARO4II44.js} +2 -2
- package/chunks/acp-subagent-executor-7TLJGISS.js +919 -0
- package/chunks/{acpAgent-H5XBKGB4.js → acpAgent-YRCNNIIU.js} +707 -209
- package/chunks/{agent-T5LEFJIU.js → agent-SGU5EE7U.js} +45 -39
- package/chunks/{agent-headless-VZKSRH36.js → agent-headless-JVYBLNLT.js} +45 -39
- package/chunks/{anthropicContentGenerator-PRJWWVYJ.js → anthropicContentGenerator-SGIR5IKF.js} +68 -36
- package/chunks/{artifact-tool-G5LHNECG.js → artifact-tool-PMYZCYNH.js} +2 -2
- package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-4M4YYIB4.js} +2 -2
- package/chunks/{bridge-AOX5IY44.js → bridge-YF6NYRPZ.js} +66 -59
- package/chunks/{ca-KC2AISNS.js → ca-MX3WCEEG.js} +1 -1
- package/chunks/{channel-management-service-MWQGHPAS.js → channel-management-service-E4HTMU7T.js} +9 -9
- package/chunks/{channel-settings-store-XZCGDGHW.js → channel-settings-store-FZ5VKHQD.js} +72 -65
- package/chunks/{channel-worker-group-SQ5FRWOH.js → channel-worker-group-X6WH4XWF.js} +9 -9
- package/chunks/{channel-worker-manager-TU4ZNWOE.js → channel-worker-manager-SICFJDPJ.js} +19 -10
- package/chunks/{channel-worker-supervisor-EMITFMCP.js → channel-worker-supervisor-HSFAKML6.js} +6 -6
- package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
- package/chunks/{chunk-F2NYVASI.js → chunk-34ZYDM3F.js} +14 -12
- package/chunks/{chunk-HIXUUCGY.js → chunk-36HCNKDS.js} +1 -1
- package/chunks/{chunk-VBLAI2HA.js → chunk-3FPYT6QC.js} +0 -31
- package/chunks/{chunk-QB3KS3N3.js → chunk-3I7W2POO.js} +1 -1
- package/chunks/{chunk-TOOOLHVS.js → chunk-3VPFA6L2.js} +3 -3
- package/chunks/chunk-532WHF4F.js +127 -0
- package/chunks/{chunk-J3TJH52D.js → chunk-5FFAUU4T.js} +1 -1
- package/chunks/{chunk-OXR34GCD.js → chunk-5FKZ7KFQ.js} +1851 -34
- package/chunks/{chunk-QQK4L3UU.js → chunk-5GLDOLNQ.js} +131 -26
- package/chunks/{chunk-TODNHE76.js → chunk-5ZJ3KK5J.js} +5 -5
- package/chunks/{chunk-ZN5TKAVR.js → chunk-6EDWSKN4.js} +3 -3
- package/chunks/{chunk-5OZUKLL7.js → chunk-6EOMQPTS.js} +4 -4
- package/chunks/{chunk-JYGIJA4W.js → chunk-6NONRGYX.js} +1 -1
- package/chunks/{chunk-TRQNRP2H.js → chunk-6UK77U7D.js} +46 -3
- package/chunks/{chunk-4JNHNVAZ.js → chunk-72BGC7RT.js} +4 -4
- package/chunks/{chunk-CRZBDVP2.js → chunk-74JEYK2C.js} +10 -10
- package/chunks/{chunk-RM244SCQ.js → chunk-7XM6KEVW.js} +1 -1
- package/chunks/{chunk-CALNF3Z3.js → chunk-7XVQNDFB.js} +1 -1
- package/chunks/{chunk-G37O7YO6.js → chunk-7ZKDPTYO.js} +2 -2
- package/chunks/{chunk-WXPPUPHM.js → chunk-7ZVIGDZF.js} +1 -1
- package/chunks/{chunk-2WC3Y7YY.js → chunk-AEY27Z35.js} +401 -23
- package/chunks/{chunk-LEAOJ43M.js → chunk-ATH66AEU.js} +62 -59
- package/chunks/{chunk-7NDZKE2M.js → chunk-AW2SIT3B.js} +3 -3
- package/chunks/{chunk-R3JIDRUL.js → chunk-AWMJRE5N.js} +4 -4
- package/chunks/chunk-AYEJOTIU.js +43 -0
- package/chunks/{chunk-VJJXG73H.js → chunk-B2TGBZXY.js} +16 -1
- package/chunks/{chunk-XDNFODER.js → chunk-B6BDT4RX.js} +1 -1
- package/chunks/{chunk-3OAXF3UK.js → chunk-BHR6IN2X.js} +3080 -933
- package/chunks/{chunk-FGHPZGOP.js → chunk-BI3WSRQE.js} +39 -55
- package/chunks/{chunk-QHLHE2OT.js → chunk-BQOP3K76.js} +1 -1
- package/chunks/{chunk-4WMGYG3F.js → chunk-BTWGOKHU.js} +2 -2
- package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
- package/chunks/{chunk-WDVV3LRM.js → chunk-C4NLHK7X.js} +34 -129
- package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
- package/chunks/chunk-CAAMI77K.js +937 -0
- package/chunks/chunk-CF5KXZZX.js +150 -0
- package/chunks/{chunk-SOA4HKRJ.js → chunk-CGKEUUYG.js} +2 -2
- package/chunks/{chunk-TGNNLRC3.js → chunk-CJ3DHN5I.js} +1 -0
- package/chunks/{chunk-AUTUFD5X.js → chunk-CSHX5ZC4.js} +1 -1
- package/chunks/{chunk-UYDQYDW2.js → chunk-CUK6F5UF.js} +1 -1
- package/chunks/{chunk-CALTQWTZ.js → chunk-DLH7YIX6.js} +2 -2
- package/chunks/{chunk-CMWU6P4D.js → chunk-DMX7RF6E.js} +1 -1
- package/chunks/{chunk-TRWQQBVH.js → chunk-DTNV6UZY.js} +1 -1
- package/chunks/{chunk-GSFV5RQW.js → chunk-E4UEO3XM.js} +3 -2
- package/chunks/{chunk-KFECPHLV.js → chunk-E5GQNSJY.js} +3 -3
- package/chunks/chunk-ELRMZTPF.js +374 -0
- package/chunks/chunk-ERU3SDXT.js +27 -0
- package/chunks/{chunk-O2FEO2CB.js → chunk-EUURTIV6.js} +18 -2
- package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
- package/chunks/{chunk-GOEVQADN.js → chunk-F2RKL5I2.js} +287 -169
- package/chunks/{chunk-ELD3OBPU.js → chunk-F45SKYIQ.js} +3 -3
- package/chunks/{chunk-7PD7ZMX5.js → chunk-FCQJLMA2.js} +98 -5
- package/chunks/{chunk-G3ZUMSFS.js → chunk-FGRDUDCI.js} +6 -6
- package/chunks/{chunk-7SVM3RP2.js → chunk-FGV2QEAO.js} +4 -6
- package/chunks/{chunk-4VY3ITHR.js → chunk-FN3JNDRU.js} +3 -3
- package/chunks/{chunk-GOKAOSCN.js → chunk-FRVV5SSD.js} +2 -2
- package/chunks/{chunk-ULZECEIP.js → chunk-FYZ5NZ3V.js} +2 -20
- package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
- package/chunks/{chunk-RNAJVXUG.js → chunk-GP47UR3M.js} +6 -6
- package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
- package/chunks/{chunk-6G4V7SE4.js → chunk-HG46TTAG.js} +1 -1
- package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
- package/chunks/{chunk-WDN64MVT.js → chunk-HL2DQG3Y.js} +83 -17
- package/chunks/{chunk-E6TI726I.js → chunk-HUXPEUFL.js} +1 -1
- package/chunks/{chunk-5DQ4YTIZ.js → chunk-HZTXKVSV.js} +1 -1
- package/chunks/{chunk-LYT2OU7D.js → chunk-IAEXTMED.js} +1 -1
- package/chunks/{chunk-IRGDIDGJ.js → chunk-IFHJIEMN.js} +26 -19
- package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
- package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
- package/chunks/{chunk-XSOXPG2L.js → chunk-IOUBOANU.js} +36 -7
- package/chunks/{chunk-KA5HR3G2.js → chunk-IUVIBDKU.js} +2 -2
- package/chunks/{chunk-U6REWGVR.js → chunk-J2RNOJRV.js} +2 -2
- package/chunks/{chunk-PDN7FJZV.js → chunk-J5PYQVD2.js} +2 -2
- package/chunks/{chunk-DAI65CMX.js → chunk-JDEW3V5B.js} +1 -1
- package/chunks/{chunk-67XTVRVB.js → chunk-JEMDIKGQ.js} +7 -7
- package/chunks/chunk-JL6APGBX.js +43 -0
- package/chunks/{chunk-PFKGV6PO.js → chunk-JOMCZWX7.js} +9 -15
- package/chunks/{chunk-HJ5UJQQL.js → chunk-JV5YASQA.js} +1822 -1335
- package/chunks/{chunk-N6S3NUYJ.js → chunk-JXNIF2O5.js} +1 -1
- package/chunks/chunk-K2OJUPOE.js +78 -0
- package/chunks/{chunk-QFJZAY7W.js → chunk-KFGPNCCY.js} +4 -4
- package/chunks/{chunk-NX7ZTXFF.js → chunk-KHIBLKNK.js} +1 -1
- package/chunks/{chunk-A7EFXK7P.js → chunk-KVBNJ4K2.js} +5 -5
- package/chunks/{chunk-CWVZBIZJ.js → chunk-KZ2CU2LH.js} +1 -1
- package/chunks/{chunk-IWABUX6T.js → chunk-L2KF7HUE.js} +6 -6
- package/chunks/{chunk-4ALNJDHL.js → chunk-L3DTX6U4.js} +3 -1
- package/chunks/{chunk-22GORRNY.js → chunk-LAP7X6EC.js} +1 -1
- package/chunks/{chunk-DARWOZY6.js → chunk-LEGNDA46.js} +1 -1
- package/chunks/{chunk-WXFCI3O5.js → chunk-LG5Y4OWO.js} +2 -2
- package/chunks/{chunk-3LPJ776W.js → chunk-LILGKQ4B.js} +10 -7
- package/chunks/{chunk-WK7P62DV.js → chunk-LIR7YS2O.js} +6 -6
- package/chunks/{chunk-X7LFJF5D.js → chunk-LK2WUCDQ.js} +36 -84
- package/chunks/{chunk-46MMBZHI.js → chunk-LY2GK2PR.js} +4 -4
- package/chunks/{chunk-NPKCVSXX.js → chunk-MOS5OAOG.js} +10 -8
- package/chunks/chunk-MXOALJIL.js +691 -0
- package/chunks/chunk-NUQ4GK5I.js +315 -0
- package/chunks/{chunk-J3VZF2AL.js → chunk-NUQVB25K.js} +2 -2
- package/chunks/{chunk-GNY7B3CA.js → chunk-NVIBH7WS.js} +1 -1
- package/chunks/{chunk-KCF2436G.js → chunk-O3MKRN2I.js} +4 -4
- package/chunks/{chunk-MV5DTLJV.js → chunk-ONGZNOIP.js} +1 -1
- package/chunks/{chunk-WBU2PIZ5.js → chunk-OOLSYRZ7.js} +16 -16
- package/chunks/{chunk-QTB4VP4K.js → chunk-PIGUW2U2.js} +149 -12
- package/chunks/{chunk-QAZ2MGYT.js → chunk-PLLIWEM3.js} +2 -2
- package/chunks/{chunk-WXD7INFV.js → chunk-PMS4FVLY.js} +8 -8
- package/chunks/{chunk-NB3NDQQK.js → chunk-Q2XLNLAV.js} +1 -1
- package/chunks/{chunk-4I3WFI3U.js → chunk-Q6HXLBZF.js} +12 -12
- package/chunks/{chunk-CCBTNJB4.js → chunk-QPWZX4ZV.js} +27 -27
- package/chunks/{chunk-JO77FGNZ.js → chunk-RJZTX2OF.js} +19 -7
- package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
- package/chunks/{chunk-IR6JKBAP.js → chunk-SAWPURIU.js} +2 -2
- package/chunks/{chunk-LWX4WDFF.js → chunk-SNZWDV67.js} +43 -15
- package/chunks/{chunk-YLOHCA6I.js → chunk-SXEE6PND.js} +2 -2
- package/chunks/{chunk-G5VOXCRX.js → chunk-T4JVQR7Z.js} +2 -2
- package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
- package/chunks/{chunk-YQGW3M6Z.js → chunk-TP2DUOB6.js} +8 -8
- package/chunks/{chunk-MWIO7MF6.js → chunk-TP6FYVQT.js} +2 -0
- package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
- package/chunks/{chunk-B25JYXZE.js → chunk-TWC3FHUI.js} +4 -4
- package/chunks/{chunk-H3Q3RSKZ.js → chunk-U7O65WKL.js} +1 -1
- package/chunks/{chunk-LUNC5KCL.js → chunk-UBEYS536.js} +7 -7
- package/chunks/{chunk-R457KFV7.js → chunk-UGS62IR2.js} +3 -3
- package/chunks/{chunk-S5QR6CB5.js → chunk-UKMWZ5NS.js} +108 -887
- package/chunks/{chunk-7LTCFO6T.js → chunk-VHKOULAI.js} +6 -5
- package/chunks/{chunk-FAJPLSYF.js → chunk-VID4BW52.js} +90 -86
- package/chunks/{chunk-2BMXHB6N.js → chunk-VLZOU6UH.js} +7 -7
- package/chunks/{chunk-ZP5XDLSA.js → chunk-VTBPMLRO.js} +12 -12
- package/chunks/{chunk-QTNCGZHQ.js → chunk-VX63RJXE.js} +9 -0
- package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
- package/chunks/{chunk-XQ4RDO5B.js → chunk-WBCPROWX.js} +1 -1
- package/chunks/{chunk-AO2VMS72.js → chunk-WS7MOFK6.js} +3 -3
- package/chunks/{chunk-FV4DM2M4.js → chunk-WXFK4MH7.js} +32 -12
- package/chunks/{chunk-APXIW2TF.js → chunk-WY4N6KS7.js} +4 -4
- package/chunks/{chunk-KEPC5BOL.js → chunk-XDQUDARC.js} +10 -13
- package/chunks/{chunk-2EKVPSIJ.js → chunk-Y2MYW47X.js} +1 -1
- package/chunks/{chunk-5BH2AIEY.js → chunk-YIU5PEAT.js} +2 -2
- package/chunks/{chunk-PSPAM24S.js → chunk-YKK2XXHF.js} +4 -0
- package/chunks/{chunk-HZ2HUXX7.js → chunk-YS2ZJSOA.js} +29 -12
- package/chunks/{chunk-OFVAS4AR.js → chunk-ZGQIIGNQ.js} +2 -2
- package/chunks/{chunk-HNLMYDQE.js → chunk-ZHECLGA6.js} +2 -4
- package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
- package/chunks/{chunk-OWCFKIFQ.js → chunk-ZKYR7QS4.js} +1 -1
- package/chunks/{chunk-YZTGGCEE.js → chunk-ZKZHSB5W.js} +1 -1
- package/chunks/{chunk-ERXNTINK.js → chunk-ZT6EPPBY.js} +1 -1
- package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
- package/chunks/{chunk-BK7D2JR6.js → chunk-ZUQVZTWG.js} +3 -3
- package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
- package/chunks/{config-utils-GPLIABL2.js → config-utils-S5LFS4RN.js} +65 -58
- package/chunks/{contextCommand-NCUQUDBY.js → contextCommand-XXKZMMSQ.js} +62 -55
- package/chunks/{core-runtime-WKYKWVYU.js → core-runtime-YGUA42AZ.js} +64 -57
- package/chunks/{create-sub-session-PPLXB3JJ.js → create-sub-session-SEK6KCYR.js} +62 -55
- package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-TIGCFGCS.js} +2 -2
- package/chunks/{cron-create-GTPVMJCF.js → cron-create-AKWX67FO.js} +1 -1
- package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-XPB6IYZJ.js} +1 -1
- package/chunks/{cron-list-KTFKFDKC.js → cron-list-XBKO4WU5.js} +1 -1
- package/chunks/{daemon-2CKIAO3I.js → daemon-G5TYKZD6.js} +2 -2
- package/chunks/{daemon-git-worktree-guard-73ZWOLKL.js → daemon-git-worktree-guard-3AWINPPX.js} +63 -56
- package/chunks/{daemon-status-provider-OK7VONJG.js → daemon-status-provider-RTKHKUFJ.js} +71 -64
- package/chunks/{daemon-trust-policy-CAUCREG2.js → daemon-trust-policy-6YQOC7B6.js} +67 -60
- package/chunks/{daemon-trust-policy-monitor-3Y36OOEQ.js → daemon-trust-policy-monitor-EN5L23GS.js} +67 -60
- package/chunks/{de-UU2YTO37.js → de-OOLZAU2U.js} +1 -1
- package/chunks/{deferred-core-runtime-Q7WFWYD3.js → deferred-core-runtime-JPLQRVZO.js} +60 -53
- package/chunks/{display-image-CTNHJRZC.js → display-image-NAH3AZ63.js} +3 -3
- package/chunks/{dist-6YDUH3BB.js → dist-3BJVSJ7D.js} +10 -631
- package/chunks/{dist-F6JLAJLE.js → dist-65Q3TRLH.js} +16 -36
- package/chunks/{dist-Y5KC3IHW.js → dist-HX2LG76F.js} +233 -34
- package/chunks/{dist-BNQVF565.js → dist-J7PDFK53.js} +12 -31
- package/chunks/{dist-NP7QKLVG.js → dist-JCXKXRH6.js} +3 -6
- package/chunks/{dist-UFTFGI6I.js → dist-LHGMHIDK.js} +2 -6
- package/chunks/{dist-XLV33CLY.js → dist-QPTIRE3U.js} +4 -12
- package/chunks/{dist-ZDNJK74R.js → dist-SBK33YLC.js} +3 -34
- package/chunks/{dist-F34J4FZX.js → dist-WMFHZG3R.js} +2 -5
- package/chunks/{edit-YJD6IETK.js → edit-QXJZIWRQ.js} +48 -42
- package/chunks/{en-YJNRUQG4.js → en-7BZ2OZKH.js} +2 -1
- package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-54L5QJ3N.js} +4 -4
- package/chunks/{enterPlanMode-EFPVTWIH.js → enterPlanMode-2ITCVQ5N.js} +45 -39
- package/chunks/{environment-HP3AXFTB.js → environment-URPO5ORZ.js} +63 -56
- package/chunks/{errors-22ON46G7.js → errors-TDUYLEKI.js} +62 -55
- package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-EORJDKDS.js} +4 -4
- package/chunks/{exitPlanMode-MOQUNCBH.js → exitPlanMode-RA7KMUEW.js} +45 -39
- package/chunks/{fast-path-2X7BPMXX.js → fast-path-Q2JYP64P.js} +6 -6
- package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-GTHZLVSS.js} +2 -2
- package/chunks/{fr-HKNWVXRJ.js → fr-JJWM2HUS.js} +1 -1
- package/chunks/{glob-Y7ACIB3P.js → glob-VHSV4BKE.js} +48 -42
- package/chunks/{goal-tools-DABMICUC.js → goal-tools-5FIE56CK.js} +51 -41
- package/chunks/{grep-BLHF2S5D.js → grep-3PKFKLCA.js} +2 -2
- package/chunks/{handleAutoUpdate-MCAMHYDI.js → handleAutoUpdate-7FZFLKNZ.js} +63 -56
- package/chunks/{i18n-C3GDCALP.js → i18n-NTFQDWKR.js} +61 -54
- package/chunks/{image-gen-XP4NNIYG.js → image-gen-TF3IQWSH.js} +7 -6
- package/chunks/{initializer-4URDQL2G.js → initializer-LB3T635H.js} +67 -60
- package/chunks/{installationInfo-LBOL6SBV.js → installationInfo-KRO433ZG.js} +60 -53
- package/chunks/{ja-GJS5RZGU.js → ja-L67TXFDJ.js} +1 -1
- package/chunks/{list-JOGBAC2R.js → list-NEP3WPZ7.js} +70 -63
- package/chunks/{list-agents-2CXPGJUE.js → list-agents-QLDXS5OD.js} +17 -7
- package/chunks/{llm-2KPNSAVY.js → llm-AZEJEIAD.js} +130 -123
- package/chunks/{llm-content-generator-GR3FOHLB.js → llm-content-generator-KWXFHBR3.js} +6 -5
- package/chunks/{loadedSettingsAdapter-DVKROEJD.js → loadedSettingsAdapter-NZORJLSD.js} +67 -60
- package/chunks/{loggingContentGenerator-P4K6K5W4.js → loggingContentGenerator-NGHVU6AK.js} +67 -60
- package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-HHMYIC7Z.js} +2 -2
- package/chunks/{ls-YV7RKLKY.js → ls-N7ABR6HI.js} +4 -4
- package/chunks/{lsp-NO3AMRZT.js → lsp-LTOFWG5P.js} +1 -1
- package/chunks/{managed-npm-update-VWBKHNIN.js → managed-npm-update-3LHNBEAG.js} +60 -53
- package/chunks/{mcp-6YYNSYLK.js → mcp-4SWJKDX7.js} +67 -60
- package/chunks/{monitor-A255TNZR.js → monitor-V5EFBZC7.js} +47 -41
- package/chunks/{nonInteractiveCli-LXGIKQAT.js → nonInteractiveCli-5UFUBUAT.js} +114 -107
- package/chunks/{notebook-edit-5UYHS2DM.js → notebook-edit-ATV46KWD.js} +46 -40
- package/chunks/openai-WX26N5OJ.js +47 -0
- package/chunks/{openaiContentGenerator-A6MAMEO5.js → openaiContentGenerator-BKTO5QJK.js} +31 -25
- package/chunks/openaiResponsesContentGenerator-RTCAJ5V5.js +1658 -0
- package/chunks/{pidfile-B7DZC4TP.js → pidfile-JAIOWPI3.js} +60 -53
- package/chunks/process-registry-X6ZCASEN.js +10 -0
- package/chunks/{processUtils-BPZ2MCZS.js → processUtils-TCQH3LVD.js} +2 -2
- package/chunks/{prompt-terminal-ledger-FYYTAOXS.js → prompt-terminal-ledger-BYXHEUHX.js} +61 -54
- package/chunks/{pt-FXMYXEUV.js → pt-77SBDL4B.js} +1 -1
- package/chunks/{qwenContentGenerator-4IOJFD4S.js → qwenContentGenerator-K5TJK75P.js} +58 -50
- package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-NOXRK323.js} +6 -5
- package/chunks/{read-file-A4H4O3VQ.js → read-file-DL7GNZD5.js} +11 -9
- package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-B37WANAQ.js} +1 -1
- package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-OAXWXZ5D.js} +2 -2
- package/chunks/record-source-D7R7X3GT.js +22 -0
- package/chunks/{report-findings-TJ34R7QK.js → report-findings-AR3VC6EQ.js} +3 -3
- package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-IKNWTX5M.js} +5 -5
- package/chunks/{resumeHistoryUtils-YQQ43E4N.js → resumeHistoryUtils-OYKXZ4YO.js} +66 -59
- package/chunks/{ripGrep-W32NWFTA.js → ripGrep-EOUMIU4K.js} +15 -13
- package/chunks/{ru-RMHURE5U.js → ru-UYWHKWF2.js} +1 -1
- package/chunks/{run-qwen-serve-WBSWWIRV.js → run-qwen-serve-PPTGWC5B.js} +305 -138
- package/chunks/{runtime-VRVBX2E5.js → runtime-5RO22P2N.js} +73 -66
- package/chunks/{scheduled-tasks-D65KJDA3.js → scheduled-tasks-YGERFWLZ.js} +68 -61
- package/chunks/{scheduler-M2YPN7Z7.js → scheduler-S6WU6M3C.js} +62 -55
- package/chunks/{sdk-exporters-grpc-MXTVSE3C.js → sdk-exporters-grpc-Y2ZUQDUQ.js} +2 -2
- package/chunks/{sdk-exporters-http-7R2ARBPV.js → sdk-exporters-http-VWTF4W6K.js} +3 -3
- package/chunks/{sdk-impl-YOLO7LV4.js → sdk-impl-G6FVTBQZ.js} +9 -9
- package/chunks/{send-message-76BKWKFZ.js → send-message-TWOGWCBG.js} +12 -9
- package/chunks/{serve-BE3H2P6P.js → serve-HT4WOCWS.js} +68 -61
- package/chunks/{server-FLY5JERG.js → server-SWXVPRCS.js} +2947 -523
- package/chunks/{session-JVN62R5K.js → session-6DSFUOMO.js} +122 -115
- package/chunks/{session-attachments-root-7ACGLHXA.js → session-attachments-root-SOZCTQWW.js} +60 -53
- package/chunks/{session-pr-refresh-TQS57SDK.js → session-pr-refresh-F7XUBQBH.js} +68 -61
- package/chunks/{settings-D44YMZFT.js → settings-SWQH36PO.js} +72 -65
- package/chunks/{shell-3VE6I4V5.js → shell-XUQL6EYV.js} +45 -39
- package/chunks/{skill-FHEGRRZU.js → skill-HNRDD54C.js} +33 -23
- package/chunks/{skill-settings-VHEJMBFL.js → skill-settings-JU72PCII.js} +66 -59
- package/chunks/{spawnChannel-T6MX2ZDN.js → spawnChannel-7ZVM3GBU.js} +63 -56
- package/chunks/{standalone-update-QUGHFMCS.js → standalone-update-64JQY2LX.js} +62 -55
- package/chunks/{start-opentui-ui-IHIIZ2LE.js → start-opentui-ui-RSLBXESU.js} +183 -161
- package/chunks/{startInteractiveUI-LR7K2ARZ.js → startInteractiveUI-ZDPHD7XE.js} +553 -1123
- package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-F6F27JMK.js} +2 -2
- package/chunks/{task-create-MWXJFRRM.js → task-create-Y623TBHB.js} +8 -8
- package/chunks/{task-list-EYO3FE57.js → task-list-FCPEEGWL.js} +1 -1
- package/chunks/{task-stop-BFSKRTGV.js → task-stop-QTKZXLPH.js} +1 -1
- package/chunks/{task-update-2JJJRHMT.js → task-update-YLSXF25N.js} +8 -8
- package/chunks/{team-create-GY3VFY47.js → team-create-U52VYSNO.js} +47 -41
- package/chunks/{team-delete-IQZ6XGFI.js → team-delete-S7TLHZCF.js} +1 -1
- package/chunks/{team-plan-approval-BQPGZOT5.js → team-plan-approval-IQ4ADQIK.js} +45 -39
- package/chunks/{terminal-image-renderer-YNYW5CQG.js → terminal-image-renderer-ZEMF7LB2.js} +62 -55
- package/chunks/{theme-manager-U6CIK3GM.js → theme-manager-DK2S2SOX.js} +60 -53
- package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-5QI2H2FW.js} +4 -4
- package/chunks/{tool-search-XI3QWD5I.js → tool-search-6U4OQG7K.js} +21 -15
- package/chunks/{total-session-admission-3SNSJJ32.js → total-session-admission-BOARHBZU.js} +66 -59
- package/chunks/{trustedFolders-OVAQKNV5.js → trustedFolders-GKQZXZSV.js} +61 -54
- package/chunks/{update-relaunch-XV5O74E3.js → update-relaunch-GLACF7PX.js} +5 -5
- package/chunks/{updateCheck-CHUYWD6L.js → updateCheck-NLBSZB4Q.js} +62 -55
- package/chunks/{useAutoAcceptIndicator-VKSVIXZC.js → useAutoAcceptIndicator-3X3BYU7H.js} +70 -63
- package/chunks/{validateNonInterActiveAuth-ZNUTD3E5.js → validateNonInterActiveAuth-NE3JLOIR.js} +111 -104
- package/chunks/{version-EK7VAGSI.js → version-6H5YAT4N.js} +1 -1
- package/chunks/{web-fetch-24KZO763.js → web-fetch-RWSO7TTN.js} +15 -13
- package/chunks/{web-search-CRNXKZ2X.js → web-search-DADI3LV5.js} +388 -327
- package/chunks/{web-shell-static-BFDESDD4.js → web-shell-static-CCN4JZEE.js} +1 -1
- package/chunks/workflow-LPGCZCIT.js +1224 -0
- package/chunks/{workspace-providers-status-MAM42IZS.js → workspace-providers-status-QBRBEFTO.js} +71 -64
- package/chunks/{workspace-registration-store-HKLJEDQX.js → workspace-registration-store-WUKTMJPW.js} +3 -1
- package/chunks/{workspace-registry-7RDDOBLN.js → workspace-registry-CJV7KVGF.js} +66 -59
- package/chunks/{workspace-runtime-coordinator-LEPDPXJO.js → workspace-runtime-coordinator-7LYMFMFF.js} +69 -60
- package/chunks/{workspace-service-5IFDCNN3.js → workspace-service-HWXZSA4J.js} +73 -66
- package/chunks/{workspace-skills-status-FJ3HNH4H.js → workspace-skills-status-D6QXUWCC.js} +68 -61
- package/chunks/{workspace-trust-reconciler-PQFHIWLR.js → workspace-trust-reconciler-VZX7G7CZ.js} +73 -66
- package/chunks/{write-file-ERG67ZFX.js → write-file-KKHV26YV.js} +47 -41
- package/chunks/{zh-VBFCRQBL.js → zh-J2GLI64H.js} +2 -1
- package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-TBAICUJQ.js} +2 -1
- package/chunks/{zoom-image-WQYEC3SR.js → zoom-image-OG7X7KAA.js} +12 -10
- package/cli.js +14 -14
- package/export-transcript-document.css +1 -0
- package/export-transcript-document.js +164 -165
- package/locales/ca.js +2 -2
- package/locales/de.js +2 -2
- package/locales/en.js +3 -2
- package/locales/fr.js +2 -2
- package/locales/ja.js +2 -2
- package/locales/pt.js +2 -2
- package/locales/ru.js +2 -2
- package/locales/zh-TW.js +3 -2
- package/locales/zh.js +3 -2
- package/package.json +5 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-BRLgQbnT.js → abnfDiagram-VCTEODGH-NT0lTLRG.js} +1 -1
- package/web-shell/assets/{arc-qAF9_XsR.js → arc-DDqnIMMx.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-BorUttEz.js → architectureDiagram-5GKGNRK7-DfYghE3W.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-Bj0qZVxu.js → blockDiagram-NRAW4CY4-DlqJIx5c.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BTqJis32.js → c4Diagram-UCG6FXSJ-CinqLGU4.js} +1 -1
- package/web-shell/assets/channel-BHGoSkEv.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-RrQ5X8m-.js → chunk-2Q5K7J3B-CsjJX5M7.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-uUjDl8wO.js → chunk-5VM5RSS4-CaVb2tdH.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-C3JhpyzI.js → chunk-F27PBJKO-CRyErlzW.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-C8ZNFs7F.js → chunk-G27WJ6UU-7I79DZCf.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DNpXtEOs.js → chunk-JWPE2WC7-Dz4cac5F.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-DagA2ZLw.js → chunk-LCL6LL3I-Ls24Derb.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-R23uH7Xm.js → chunk-POPQ4Y6H-JzYe4qx7.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-Qz9RN_BR.js → chunk-SVP7TREG-BxDwesA-.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-jYb1_hni.js → chunk-XXDRQBXY-CW4hjgWc.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-E47Xnn15.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-E47Xnn15.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-Cv2OunpE.js → cose-bilkent-JH36ORCC-DxikE9iF.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-LH42KFJx.js → cynefin-OW5HDTMX-CvVsIkVN.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dha4_OoR.js → cynefinDiagram-5FMLGOSQ-CDHkk3wq.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-Br5lnUKD.js → dagre-3AP2YEHR-BgLdkVLT.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-dpKq2bBX.js → diagram-S7CK7UJ4-DP43cGhe.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-BAgHWpXr.js → diagram-UQ7AKVKN-BWrZYhoT.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-GRRzpyE2.js → diagram-VSXAHHWV-B80wjH_n.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-BNFiaYpG.js → diagram-VX7I27RA-DPpKmDsY.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-BisZzB_h.js → diagram-Z3DM3KII-kaEBNbNU.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-B1xbwycf.js → ebnfDiagram-PWID7BFC-1-qbEZvk.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CQMzbGE5.js → erDiagram-SSCWMZ5O-CrK2gMkV.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CZ_Zondl.js → flowDiagram-A5DVABFB-Dic2xofW.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BTh2ShxS.js → ganttDiagram-EL5Y4UJY-DJko8vT7.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js → gitGraphDiagram-WWUBYQGX-DxsQ-bHT.js} +1 -1
- package/web-shell/assets/index-DY8CxdBr.js +2173 -0
- package/web-shell/assets/index-eBxK3rs2.css +36 -0
- package/web-shell/assets/{index-DWoFMu5x.js → index-t7VBrUeD.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-C0QpudbG.js → infoDiagram-RXCK75RN-DcRUJbNi.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-a6B741uT.js → ishikawaDiagram-5VMMS53U-CUPw-2_e.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-Dbht9ICp.js → journeyDiagram-EYS64GPL-yOHhZxkW.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-D4OFR8-h.js → kanban-definition-3QL26DDD-CFUGBbqz.js} +1 -1
- package/web-shell/assets/{layout-Dvdh5jRH.js → layout-BoilNfBU.js} +1 -1
- package/web-shell/assets/{linear-Dvc6KIW2.js → linear-DOuHaPrl.js} +1 -1
- package/web-shell/assets/{mermaid.core-CB36RfIb.js → mermaid.core-1G1fXWda.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-Fmqo1CjP.js → mindmap-definition-FBJOCRG2-B8BhkrOX.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CCxYBoA4.js → pegDiagram-XKGWAZYB-CipC5K1D.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BVHKQFzt.js → pieDiagram-E7YTZNPT-CHBDFDUJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-l95IznwR.js → quadrantDiagram-AXDQQJYC-_iiBkoZO.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-BlLdRdXp.js → railroadDiagram-O6MQD6OU-Cx1peHDi.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BkDLBR5w.js → requirementDiagram-EFPCY7ZU-CBRiPbdQ.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-jAIqRp65.js → sankeyDiagram-P5KCCOFB-TT6GcHaZ.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-f-soZYPr.js → sequenceDiagram-WJ2MYXX4-CWP42PNb.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-BzOuAfB2.js → sizeCapture-X5ZJPWSS-Bp94roEG.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BPLSs12r.js → stateDiagram-HBIQ2CUA-0ftrzTAy.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-PgAST0dK.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D-9E_RIR.js → swimlanes-XN3QIQJK-D-FsenYJ.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BcWcB5bj.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-CT56K-gV.js → timeline-definition-24CTP7MA-Ctvrj28y.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-B-vi4IyO.js → vennDiagram-4TSXK5OY-5DZncjOt.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9O7Ju98.js → wardleyDiagram-VM6X3IG4-jZjYwPY7.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-6d8w3jg2.js → xychartDiagram-S5SC5T6Z-Ci6Q2C2_.js} +1 -1
- package/web-shell/index.html +29 -5
- package/chunks/chunk-V7RNNPGC.js +0 -44
- package/chunks/workflow-HD5NYMW5.js +0 -2907
- package/web-shell/assets/channel-COIuCrVH.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +0 -1
- package/web-shell/assets/index-CI1ysIEv.js +0 -2154
- package/web-shell/assets/index-CpxXGH-8.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +0 -8
- /package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
recomputeMcpGating
|
|
5
|
+
} from "./chunk-WY4N6KS7.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
PeerMessaging,
|
|
8
|
+
classifyApiError
|
|
9
|
+
} from "./chunk-MXOALJIL.js";
|
|
9
10
|
import {
|
|
10
11
|
normalizePartList
|
|
11
12
|
} from "./chunk-5IENVM7Z.js";
|
|
13
|
+
import {
|
|
14
|
+
fireSessionDeleteHook
|
|
15
|
+
} from "./chunk-L34XSHIZ.js";
|
|
12
16
|
import {
|
|
13
17
|
EXTENSION_CONTEXT_BUDGET,
|
|
14
18
|
buildExtensionMentionContext,
|
|
@@ -18,7 +22,7 @@ import {
|
|
|
18
22
|
matchMcpServerByRef,
|
|
19
23
|
parseExtensionRef,
|
|
20
24
|
parseMcpServerRef
|
|
21
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-72BGC7RT.js";
|
|
22
26
|
import {
|
|
23
27
|
getAvailableCommands,
|
|
24
28
|
getSlashCommandFirstToken,
|
|
@@ -28,10 +32,7 @@ import {
|
|
|
28
32
|
pLimit,
|
|
29
33
|
recordDaemonSessionModel,
|
|
30
34
|
restoreSessionModelThenAuthenticate
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import {
|
|
33
|
-
recomputeMcpGating
|
|
34
|
-
} from "./chunk-APXIW2TF.js";
|
|
35
|
+
} from "./chunk-VID4BW52.js";
|
|
35
36
|
import {
|
|
36
37
|
SessionIdConflictError,
|
|
37
38
|
appEvents,
|
|
@@ -41,46 +42,46 @@ import {
|
|
|
41
42
|
loadCliConfig,
|
|
42
43
|
normalizeDisabledToolList,
|
|
43
44
|
parseApprovalModeValue
|
|
44
|
-
} from "./chunk-
|
|
45
|
-
import {
|
|
46
|
-
getCommandSubcommandNames
|
|
47
|
-
} from "./chunk-CWVZBIZJ.js";
|
|
48
|
-
import {
|
|
49
|
-
getEffectiveSupportedModes
|
|
50
|
-
} from "./chunk-TOOOLHVS.js";
|
|
51
|
-
import "./chunk-22GORRNY.js";
|
|
45
|
+
} from "./chunk-BHR6IN2X.js";
|
|
52
46
|
import "./chunk-NYX53SV4.js";
|
|
53
|
-
import "./chunk-UYDQYDW2.js";
|
|
54
47
|
import {
|
|
55
48
|
collectContextData,
|
|
56
49
|
formatContextUsageText
|
|
57
|
-
} from "./chunk-
|
|
58
|
-
import "./chunk-4WGODMVR.js";
|
|
50
|
+
} from "./chunk-VLZOU6UH.js";
|
|
59
51
|
import {
|
|
60
|
-
|
|
61
|
-
} from "./chunk-
|
|
62
|
-
import
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
import "./chunk-
|
|
66
|
-
import "./chunk-
|
|
52
|
+
getCommandSubcommandNames
|
|
53
|
+
} from "./chunk-KZ2CU2LH.js";
|
|
54
|
+
import {
|
|
55
|
+
getEffectiveSupportedModes
|
|
56
|
+
} from "./chunk-3VPFA6L2.js";
|
|
57
|
+
import "./chunk-CUK6F5UF.js";
|
|
58
|
+
import "./chunk-4WGODMVR.js";
|
|
59
|
+
import "./chunk-LAP7X6EC.js";
|
|
67
60
|
import {
|
|
68
61
|
isGoalStatusKind
|
|
69
62
|
} from "./chunk-EKTCKZV5.js";
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
63
|
+
import "./chunk-SAWPURIU.js";
|
|
64
|
+
import "./chunk-2XRE4KE4.js";
|
|
72
65
|
import {
|
|
73
|
-
|
|
74
|
-
} from "./chunk-
|
|
75
|
-
import "./chunk-
|
|
76
|
-
import "./chunk-
|
|
66
|
+
startNonInteractiveOpenAILogHousekeeping
|
|
67
|
+
} from "./chunk-F45SKYIQ.js";
|
|
68
|
+
import "./chunk-KW7NOTN6.js";
|
|
69
|
+
import "./chunk-KFGPNCCY.js";
|
|
77
70
|
import "./chunk-6H67XLET.js";
|
|
78
71
|
import {
|
|
79
72
|
beginAcpBootstrapConfigProfiling,
|
|
80
73
|
buildAndFreezeAcpStartupProfile,
|
|
81
74
|
endAcpBootstrapConfigProfiling,
|
|
82
75
|
markAcpStartup
|
|
83
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-5FFAUU4T.js";
|
|
77
|
+
import "./chunk-LY2GK2PR.js";
|
|
78
|
+
import "./chunk-UGS62IR2.js";
|
|
79
|
+
import "./chunk-7XM6KEVW.js";
|
|
80
|
+
import "./chunk-YAF2MQZ6.js";
|
|
81
|
+
import {
|
|
82
|
+
computeCpuPercent
|
|
83
|
+
} from "./chunk-LBOVL47Y.js";
|
|
84
|
+
import "./chunk-24FVUD5P.js";
|
|
84
85
|
import {
|
|
85
86
|
GENERATION_MAX_PROMPT_BYTES,
|
|
86
87
|
GENERATION_TIMEOUT_MS,
|
|
@@ -101,7 +102,7 @@ import {
|
|
|
101
102
|
shouldSuppressRememberErrorDetails,
|
|
102
103
|
workspaceMemoryFailureCode,
|
|
103
104
|
workspaceMemoryFailureDiagnostics
|
|
104
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-ZUQVZTWG.js";
|
|
105
106
|
import {
|
|
106
107
|
BaseEmitter,
|
|
107
108
|
HistoryReplayer,
|
|
@@ -112,21 +113,14 @@ import {
|
|
|
112
113
|
hasFullSessionContext,
|
|
113
114
|
observeAcpToolResultProjection,
|
|
114
115
|
observeAcpToolResultWire
|
|
115
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-HL2DQG3Y.js";
|
|
116
117
|
import "./chunk-M3JGHRMQ.js";
|
|
117
118
|
import "./chunk-VFFQAOPR.js";
|
|
118
|
-
import "./chunk-ERXNTINK.js";
|
|
119
119
|
import "./chunk-47ECGEJC.js";
|
|
120
|
+
import "./chunk-ZT6EPPBY.js";
|
|
120
121
|
import "./chunk-2MIN6GRR.js";
|
|
121
122
|
import "./chunk-QHTIBUWB.js";
|
|
122
123
|
import "./chunk-TXASDT2M.js";
|
|
123
|
-
import {
|
|
124
|
-
getConversationDirectoryName,
|
|
125
|
-
hasVerifiableInode,
|
|
126
|
-
isSameConversationPath,
|
|
127
|
-
isSameDirectoryIdentity
|
|
128
|
-
} from "./chunk-PB7JBAHF.js";
|
|
129
|
-
import "./chunk-UXEO7E3V.js";
|
|
130
124
|
import {
|
|
131
125
|
isCompatibleLiveSessionSource
|
|
132
126
|
} from "./chunk-OHU2H5CS.js";
|
|
@@ -137,13 +131,19 @@ import {
|
|
|
137
131
|
isReservedStandaloneSessionSourceType,
|
|
138
132
|
parseSessionSource
|
|
139
133
|
} from "./chunk-N4QWUPDM.js";
|
|
140
|
-
import
|
|
134
|
+
import {
|
|
135
|
+
getConversationDirectoryName,
|
|
136
|
+
hasVerifiableInode,
|
|
137
|
+
isSameConversationPath,
|
|
138
|
+
isSameDirectoryIdentity
|
|
139
|
+
} from "./chunk-PB7JBAHF.js";
|
|
140
|
+
import "./chunk-UXEO7E3V.js";
|
|
141
141
|
import {
|
|
142
142
|
buildScheduledTaskRunPrompt,
|
|
143
143
|
normalizeChannelDeliveryText,
|
|
144
144
|
scheduledTaskRunSessionName,
|
|
145
145
|
scheduledTaskRunSourceId
|
|
146
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-7ZKDPTYO.js";
|
|
147
147
|
import {
|
|
148
148
|
normalizeSessionIdForLookup,
|
|
149
149
|
parseCallerSuppliedSessionId
|
|
@@ -154,28 +154,36 @@ import {
|
|
|
154
154
|
buildPermissionSettings,
|
|
155
155
|
normalizePermissionRules,
|
|
156
156
|
readPermissionRuleSet
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-7ZVIGDZF.js";
|
|
158
158
|
import {
|
|
159
159
|
MAX_AUDIO_BYTES,
|
|
160
160
|
sanitizeVoiceErrorMessage,
|
|
161
161
|
transcribeVoiceAudio
|
|
162
|
-
} from "./chunk-
|
|
162
|
+
} from "./chunk-NVIBH7WS.js";
|
|
163
163
|
import {
|
|
164
164
|
readVoiceModel
|
|
165
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-Q2XLNLAV.js";
|
|
166
166
|
import "./chunk-Y53DG2HA.js";
|
|
167
|
-
import
|
|
168
|
-
|
|
167
|
+
import {
|
|
168
|
+
mapSkillConfigToStatus
|
|
169
|
+
} from "./chunk-BHTYRHJF.js";
|
|
170
|
+
import "./chunk-FCQJLMA2.js";
|
|
171
|
+
import "./chunk-DMEUXLSS.js";
|
|
172
|
+
import {
|
|
173
|
+
createLoadedSettingsAdapter
|
|
174
|
+
} from "./chunk-BQOP3K76.js";
|
|
175
|
+
import "./chunk-6EOMQPTS.js";
|
|
176
|
+
import "./chunk-BTWGOKHU.js";
|
|
169
177
|
import "./chunk-JS73NNWF.js";
|
|
170
178
|
import {
|
|
171
179
|
SCHEDULED_TASK_RUN_SOURCE_TYPE
|
|
172
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-PIGUW2U2.js";
|
|
173
181
|
import "./chunk-7U5G6JXI.js";
|
|
174
182
|
import "./chunk-WCCLLK7X.js";
|
|
175
183
|
import "./chunk-OCPBI7J5.js";
|
|
176
184
|
import {
|
|
177
185
|
ndJsonStream
|
|
178
|
-
} from "./chunk-
|
|
186
|
+
} from "./chunk-IUVIBDKU.js";
|
|
179
187
|
import {
|
|
180
188
|
PERSIST_REASONING_SELECTION_META_KEY,
|
|
181
189
|
REASONING_EFFORT_DEFAULT,
|
|
@@ -192,7 +200,7 @@ import {
|
|
|
192
200
|
isReasoningSelectionSupported,
|
|
193
201
|
parseReasoningSelection,
|
|
194
202
|
resolvePersistedReasoningConfigState
|
|
195
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-6EDWSKN4.js";
|
|
196
204
|
import {
|
|
197
205
|
ACP_ROUTE_ID_PREFIX,
|
|
198
206
|
buildAcpModelOptions,
|
|
@@ -201,10 +209,7 @@ import {
|
|
|
201
209
|
parseAcpModelOption,
|
|
202
210
|
resolveAcpModelOption,
|
|
203
211
|
sanitizeProviderBaseUrl
|
|
204
|
-
} from "./chunk-
|
|
205
|
-
import {
|
|
206
|
-
mapSkillConfigToStatus
|
|
207
|
-
} from "./chunk-BHTYRHJF.js";
|
|
212
|
+
} from "./chunk-VHKOULAI.js";
|
|
208
213
|
import {
|
|
209
214
|
ACP_PREFLIGHT_KINDS,
|
|
210
215
|
IDLE_HOOK_EVENTS,
|
|
@@ -212,23 +217,17 @@ import {
|
|
|
212
217
|
SERVE_STATUS_EXT_METHODS,
|
|
213
218
|
STATUS_SCHEMA_VERSION,
|
|
214
219
|
mapDomainErrorToErrorKind
|
|
215
|
-
} from "./chunk-
|
|
220
|
+
} from "./chunk-HGEUHUEV.js";
|
|
216
221
|
import {
|
|
217
222
|
resolveSkillSettings
|
|
218
223
|
} from "./chunk-HWVUSYSN.js";
|
|
219
|
-
import "./chunk-
|
|
220
|
-
import "./chunk-
|
|
221
|
-
import "./chunk-TODNHE76.js";
|
|
224
|
+
import "./chunk-FGRDUDCI.js";
|
|
225
|
+
import "./chunk-5ZJ3KK5J.js";
|
|
222
226
|
import "./chunk-57OAHC2Y.js";
|
|
223
|
-
import "./chunk-
|
|
224
|
-
import "./chunk-
|
|
225
|
-
import "./chunk-
|
|
227
|
+
import "./chunk-FYZ5NZ3V.js";
|
|
228
|
+
import "./chunk-JOMCZWX7.js";
|
|
229
|
+
import "./chunk-CSHX5ZC4.js";
|
|
226
230
|
import "./chunk-V6WHFGST.js";
|
|
227
|
-
import {
|
|
228
|
-
createLoadedSettingsAdapter
|
|
229
|
-
} from "./chunk-QHLHE2OT.js";
|
|
230
|
-
import "./chunk-JYGIJA4W.js";
|
|
231
|
-
import "./chunk-N6VQ37ZZ.js";
|
|
232
231
|
import {
|
|
233
232
|
ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
|
|
234
233
|
ACTIVE_WORK_HEARTBEAT_META_KEY,
|
|
@@ -247,6 +246,7 @@ import {
|
|
|
247
246
|
DAEMON_PERMISSION_CANCEL_REASON_META_KEY,
|
|
248
247
|
DAEMON_PROMPT_DISPLAY_TEXT_META_KEY,
|
|
249
248
|
DAEMON_RESTORE_ASK_USER_QUESTION_META_KEY,
|
|
249
|
+
DAEMON_SUBMITTED_PROMPT_META_KEY,
|
|
250
250
|
DAEMON_SUPPRESS_RESTORE_ASK_USER_QUESTION_META_KEY,
|
|
251
251
|
DAEMON_SUPPRESS_WORKTREE_CONTEXT_RESTORE_META_KEY,
|
|
252
252
|
LOAD_REPLAY_BULK_MODE,
|
|
@@ -262,23 +262,24 @@ import {
|
|
|
262
262
|
REQUESTED_SESSION_ID_META_KEY,
|
|
263
263
|
SESSION_INITIALIZATION_DEADLINE_META_KEY,
|
|
264
264
|
SESSION_INITIALIZATION_TIMEOUT_ERROR_KIND,
|
|
265
|
+
SUBMITTED_PROMPT_META_KEY,
|
|
265
266
|
TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD,
|
|
266
267
|
TODO_STOP_GUARD_QUEUE_RELEASE_METHOD,
|
|
267
268
|
WORKTREE_MCP_DEFER_META_KEY,
|
|
268
269
|
clampActiveWorkIntervalMs,
|
|
269
270
|
isValidTrustedModelPrompt
|
|
270
|
-
} from "./chunk-
|
|
271
|
+
} from "./chunk-YKK2XXHF.js";
|
|
271
272
|
import {
|
|
272
273
|
NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE,
|
|
273
274
|
isNotCurrentlyGeneratingCancelError
|
|
274
275
|
} from "./chunk-FAWTMDX7.js";
|
|
275
|
-
import "./chunk-6PLDPT2C.js";
|
|
276
276
|
import "./chunk-FYJ7W2PI.js";
|
|
277
277
|
import "./chunk-STUJ7IMZ.js";
|
|
278
|
-
import "./chunk-
|
|
278
|
+
import "./chunk-LEGNDA46.js";
|
|
279
|
+
import "./chunk-GDWE23OR.js";
|
|
279
280
|
import "./chunk-GYTKQYDB.js";
|
|
280
|
-
import "./chunk-ALMR3E6Q.js";
|
|
281
281
|
import "./chunk-RKFGE7JH.js";
|
|
282
|
+
import "./chunk-CJ3DHN5I.js";
|
|
282
283
|
import "./chunk-UDG5EZJI.js";
|
|
283
284
|
import "./chunk-M5GB774H.js";
|
|
284
285
|
import {
|
|
@@ -290,21 +291,21 @@ import {
|
|
|
290
291
|
SHELL_EXECUTING_TOOL_NAMES,
|
|
291
292
|
isValidExternalToolGuardDenialReason
|
|
292
293
|
} from "./chunk-3VUENPWF.js";
|
|
293
|
-
import "./chunk-
|
|
294
|
+
import "./chunk-NFXXBWSE.js";
|
|
295
|
+
import "./chunk-6NONRGYX.js";
|
|
294
296
|
import {
|
|
295
297
|
ACP_EVENT_LOOP_STALL_RESTART_MS,
|
|
296
298
|
CHANNEL_PROMPT_META_KEY
|
|
297
|
-
} from "./chunk-
|
|
299
|
+
} from "./chunk-C4NLHK7X.js";
|
|
298
300
|
import {
|
|
299
301
|
AgentSideConnection,
|
|
300
302
|
PROTOCOL_VERSION,
|
|
301
303
|
RequestError
|
|
302
|
-
} from "./chunk-
|
|
303
|
-
import "./chunk-NFXXBWSE.js";
|
|
304
|
+
} from "./chunk-IJOS26LH.js";
|
|
304
305
|
import {
|
|
305
306
|
assembleMcpServers,
|
|
306
307
|
loadMcpApprovals
|
|
307
|
-
} from "./chunk-
|
|
308
|
+
} from "./chunk-GP47UR3M.js";
|
|
308
309
|
import {
|
|
309
310
|
deleteNestedPropertySafe,
|
|
310
311
|
getOutputLanguageFilePath,
|
|
@@ -316,10 +317,21 @@ import {
|
|
|
316
317
|
settingExistsInScope,
|
|
317
318
|
updateOutputLanguageFile,
|
|
318
319
|
writeOutputLanguageAndRegisterPath
|
|
319
|
-
} from "./chunk-
|
|
320
|
-
import "./chunk-XSOXPG2L.js";
|
|
320
|
+
} from "./chunk-OOLSYRZ7.js";
|
|
321
321
|
import "./chunk-RKUWKYED.js";
|
|
322
|
+
import "./chunk-IOUBOANU.js";
|
|
323
|
+
import {
|
|
324
|
+
findEnvFiles,
|
|
325
|
+
preResolveHomeEnvOverrides,
|
|
326
|
+
reloadEnvironment
|
|
327
|
+
} from "./chunk-YIU5PEAT.js";
|
|
328
|
+
import "./chunk-N6VQ37ZZ.js";
|
|
322
329
|
import "./chunk-BW4333PP.js";
|
|
330
|
+
import {
|
|
331
|
+
ENV_ACP_REPEATED_TOOL_FAILURE_GUARD,
|
|
332
|
+
QWEN_CODE_SERVE_ENV
|
|
333
|
+
} from "./chunk-VX63RJXE.js";
|
|
334
|
+
import "./chunk-6PLDPT2C.js";
|
|
323
335
|
import {
|
|
324
336
|
getSystemDefaultsPath,
|
|
325
337
|
getSystemSettingsPath
|
|
@@ -327,27 +339,19 @@ import {
|
|
|
327
339
|
import {
|
|
328
340
|
getCurrentLanguage,
|
|
329
341
|
setLanguageAsync
|
|
330
|
-
} from "./chunk-
|
|
342
|
+
} from "./chunk-74JEYK2C.js";
|
|
331
343
|
import {
|
|
332
344
|
SUPPORTED_LANGUAGES
|
|
333
345
|
} from "./chunk-5EJZE3FP.js";
|
|
334
|
-
import
|
|
335
|
-
findEnvFiles,
|
|
336
|
-
preResolveHomeEnvOverrides,
|
|
337
|
-
reloadEnvironment
|
|
338
|
-
} from "./chunk-5BH2AIEY.js";
|
|
339
|
-
import {
|
|
340
|
-
ENV_ACP_REPEATED_TOOL_FAILURE_GUARD,
|
|
341
|
-
QWEN_CODE_SERVE_ENV
|
|
342
|
-
} from "./chunk-QTNCGZHQ.js";
|
|
346
|
+
import "./chunk-XFSFZCM5.js";
|
|
343
347
|
import "./chunk-2EAZ43JQ.js";
|
|
344
348
|
import "./chunk-NF5J2WFA.js";
|
|
345
|
-
import "./chunk-
|
|
349
|
+
import "./chunk-ONGZNOIP.js";
|
|
346
350
|
import "./chunk-W3N5XAZ6.js";
|
|
347
351
|
import {
|
|
348
352
|
isWorkspaceTrusted,
|
|
349
353
|
loadTrustedFolders
|
|
350
|
-
} from "./chunk-
|
|
354
|
+
} from "./chunk-KHIBLKNK.js";
|
|
351
355
|
import "./chunk-NPQ5ZKRP.js";
|
|
352
356
|
import "./chunk-MR3PXB6E.js";
|
|
353
357
|
import {
|
|
@@ -359,6 +363,7 @@ import {
|
|
|
359
363
|
McpTransportPool,
|
|
360
364
|
TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
|
|
361
365
|
WorkspaceMcpBudget,
|
|
366
|
+
abortGoalForStopHookCap,
|
|
362
367
|
applyProviderInstallPlan,
|
|
363
368
|
buildBtwCacheSafeParams,
|
|
364
369
|
buildBtwPrompt,
|
|
@@ -371,32 +376,16 @@ import {
|
|
|
371
376
|
findApiRewindCutPoint,
|
|
372
377
|
generatePromptSuggestion,
|
|
373
378
|
generateSessionRecap,
|
|
379
|
+
getStopHookContinuationReason,
|
|
374
380
|
projectGoalStateToLegacy,
|
|
375
381
|
readManyFiles,
|
|
376
382
|
runManagedRememberByAgent,
|
|
377
383
|
subagentGenerator
|
|
378
|
-
} from "./chunk-
|
|
384
|
+
} from "./chunk-F2RKL5I2.js";
|
|
379
385
|
import {
|
|
380
386
|
buildToolWriteOriginMeta
|
|
381
387
|
} from "./chunk-GELRJXE2.js";
|
|
382
388
|
import "./chunk-32CM56LO.js";
|
|
383
|
-
import {
|
|
384
|
-
MAX_RETAINED_SNAPSHOTS,
|
|
385
|
-
deleteWorkflowSnapshot,
|
|
386
|
-
extractAndStripMeta,
|
|
387
|
-
listSavedWorkflows,
|
|
388
|
-
listWorkflowSnapshots,
|
|
389
|
-
resolveSavedWorkflowScript,
|
|
390
|
-
toSnapshot
|
|
391
|
-
} from "./chunk-OXR34GCD.js";
|
|
392
|
-
import "./chunk-XFSFZCM5.js";
|
|
393
|
-
import {
|
|
394
|
-
CreateSubSessionTool
|
|
395
|
-
} from "./chunk-2EKVPSIJ.js";
|
|
396
|
-
import "./chunk-LJZSMWOH.js";
|
|
397
|
-
import {
|
|
398
|
-
restoreWorktreeContext
|
|
399
|
-
} from "./chunk-YZTGGCEE.js";
|
|
400
389
|
import {
|
|
401
390
|
ALL_PROVIDERS,
|
|
402
391
|
buildInstallPlan,
|
|
@@ -405,21 +394,33 @@ import {
|
|
|
405
394
|
getDefaultBaseUrlForProtocol,
|
|
406
395
|
getDefaultModelIds,
|
|
407
396
|
resolveBaseUrl
|
|
408
|
-
} from "./chunk-
|
|
409
|
-
import
|
|
397
|
+
} from "./chunk-AEY27Z35.js";
|
|
398
|
+
import {
|
|
399
|
+
CreateSubSessionTool
|
|
400
|
+
} from "./chunk-Y2MYW47X.js";
|
|
401
|
+
import "./chunk-LJZSMWOH.js";
|
|
402
|
+
import "./chunk-TP2DUOB6.js";
|
|
403
|
+
import "./chunk-NUQVB25K.js";
|
|
404
|
+
import {
|
|
405
|
+
restoreWorktreeContext
|
|
406
|
+
} from "./chunk-ZKZHSB5W.js";
|
|
407
|
+
import "./chunk-L2KF7HUE.js";
|
|
410
408
|
import "./chunk-DJXSOEFB.js";
|
|
411
|
-
import "./chunk-
|
|
412
|
-
import "./chunk-
|
|
413
|
-
import "./chunk-OWCFKIFQ.js";
|
|
414
|
-
import "./chunk-ZPJWUGCS.js";
|
|
415
|
-
import "./chunk-X7LFJF5D.js";
|
|
409
|
+
import "./chunk-ZKYR7QS4.js";
|
|
410
|
+
import "./chunk-532WHF4F.js";
|
|
416
411
|
import "./chunk-BUQN5LTI.js";
|
|
412
|
+
import "./chunk-ZPJWUGCS.js";
|
|
413
|
+
import "./chunk-LK2WUCDQ.js";
|
|
417
414
|
import {
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
415
|
+
MAX_RETAINED_SNAPSHOTS,
|
|
416
|
+
deleteWorkflowSnapshot,
|
|
417
|
+
extractAndStripMeta,
|
|
418
|
+
listSavedWorkflows,
|
|
419
|
+
listWorkflowSnapshots,
|
|
420
|
+
resolveSavedWorkflowScript,
|
|
421
|
+
toSnapshot
|
|
422
|
+
} from "./chunk-5FKZ7KFQ.js";
|
|
423
|
+
import "./chunk-FRVV5SSD.js";
|
|
423
424
|
import {
|
|
424
425
|
APPROVAL_MODE_INFO,
|
|
425
426
|
BranchPointInvalidError,
|
|
@@ -461,10 +462,10 @@ import {
|
|
|
461
462
|
SessionWriterUnavailableError,
|
|
462
463
|
TURN_RESULT_CODE_TEXT_TRUNCATED,
|
|
463
464
|
TURN_RESULT_TEXT_MAX_CHARS,
|
|
464
|
-
abortGoalForStopHookCap,
|
|
465
465
|
acquireSleepInhibitor,
|
|
466
466
|
ambientGoalToolResultProvenance,
|
|
467
467
|
applyAutoModeDecision,
|
|
468
|
+
applyPendingGoalProposal,
|
|
468
469
|
approxBase64Bytes,
|
|
469
470
|
bridgeToolResultImages,
|
|
470
471
|
buildBackgroundEntryLabel,
|
|
@@ -496,9 +497,10 @@ import {
|
|
|
496
497
|
firePostToolUseHook,
|
|
497
498
|
firePreToolUseHook,
|
|
498
499
|
formatDenialStateLog,
|
|
500
|
+
formatProposeGoalRecoveryFailed,
|
|
501
|
+
formatProposeGoalRecoveryNotStarted,
|
|
499
502
|
formatStopHookBlockingCapWarning,
|
|
500
503
|
generateToolUseId,
|
|
501
|
-
getActiveGoal,
|
|
502
504
|
getAutoModeActionFingerprint,
|
|
503
505
|
getAutoModePermissionDeniedReason,
|
|
504
506
|
getEffectivePermissionForConfirmation,
|
|
@@ -507,7 +509,6 @@ import {
|
|
|
507
509
|
getOptInToolNotFoundMessage,
|
|
508
510
|
getProviderToolCallId,
|
|
509
511
|
getScopedEnvContents,
|
|
510
|
-
getStopHookContinuationReason,
|
|
511
512
|
getSubagentSessionDir,
|
|
512
513
|
getToolCallRepeatKey,
|
|
513
514
|
getWorkflowTaskMutationKey,
|
|
@@ -558,49 +559,37 @@ import {
|
|
|
558
559
|
updateSetting,
|
|
559
560
|
validatePlanModeShellApproval,
|
|
560
561
|
validatePlanModeShellContext
|
|
561
|
-
} from "./chunk-
|
|
562
|
+
} from "./chunk-JV5YASQA.js";
|
|
562
563
|
import "./chunk-GOFAQQZA.js";
|
|
563
|
-
import "./chunk-65I7S4Z3.js";
|
|
564
|
-
import "./chunk-6HUXPLB5.js";
|
|
565
564
|
import "./chunk-TWPJO254.js";
|
|
566
565
|
import {
|
|
567
566
|
external_exports
|
|
568
567
|
} from "./chunk-CQ35AJ4Z.js";
|
|
569
|
-
import "./chunk-
|
|
570
|
-
import "./chunk-
|
|
568
|
+
import "./chunk-65I7S4Z3.js";
|
|
569
|
+
import "./chunk-6HUXPLB5.js";
|
|
571
570
|
import "./chunk-7CLLH5TI.js";
|
|
572
|
-
import "./chunk-
|
|
573
|
-
import {
|
|
574
|
-
parsePositiveIntegerEnv
|
|
575
|
-
} from "./chunk-6PVPNMXU.js";
|
|
571
|
+
import "./chunk-XKBFYTCD.js";
|
|
576
572
|
import {
|
|
577
573
|
RUNTIME_SNAPSHOT_PREFIX
|
|
578
|
-
} from "./chunk-
|
|
574
|
+
} from "./chunk-ZTTC7T4X.js";
|
|
579
575
|
import {
|
|
580
576
|
SESSION_ARTIFACT_PERSISTENCE_VERSION,
|
|
581
577
|
normalizeEventPayload,
|
|
582
578
|
normalizeSnapshotPayload,
|
|
583
579
|
wrapUserPromptSubmitContext
|
|
584
|
-
} from "./chunk-
|
|
580
|
+
} from "./chunk-E4UEO3XM.js";
|
|
581
|
+
import "./chunk-IAEXTMED.js";
|
|
585
582
|
import "./chunk-IRH27ZC2.js";
|
|
586
583
|
import "./chunk-QHWCP53L.js";
|
|
587
584
|
import "./chunk-F53KKZUD.js";
|
|
588
|
-
import "./chunk-TRWQQBVH.js";
|
|
589
|
-
import "./chunk-QJNDUTOL.js";
|
|
590
|
-
import "./chunk-N6S3NUYJ.js";
|
|
591
585
|
import {
|
|
592
586
|
promptIdContext,
|
|
593
587
|
todoWorkChainContext
|
|
594
588
|
} from "./chunk-O6GEWCJA.js";
|
|
589
|
+
import "./chunk-36HCNKDS.js";
|
|
595
590
|
import {
|
|
596
|
-
|
|
597
|
-
} from "./chunk-
|
|
598
|
-
import "./chunk-QAZ2MGYT.js";
|
|
599
|
-
import "./chunk-QQK4L3UU.js";
|
|
600
|
-
import "./chunk-CH2YDT6X.js";
|
|
601
|
-
import {
|
|
602
|
-
APPROVAL_MODES
|
|
603
|
-
} from "./chunk-JX6XHPTX.js";
|
|
591
|
+
parsePositiveIntegerEnv
|
|
592
|
+
} from "./chunk-6PVPNMXU.js";
|
|
604
593
|
import {
|
|
605
594
|
AgentOutputMessageCapture,
|
|
606
595
|
addAgentInputMessageAttributes,
|
|
@@ -608,44 +597,76 @@ import {
|
|
|
608
597
|
addToolCallResultAttributes,
|
|
609
598
|
registerAcpEventLoopLagGauge,
|
|
610
599
|
startEventLoopLagMonitor
|
|
611
|
-
} from "./chunk-
|
|
600
|
+
} from "./chunk-2SZH22YO.js";
|
|
601
|
+
import "./chunk-DTNV6UZY.js";
|
|
602
|
+
import "./chunk-QJNDUTOL.js";
|
|
603
|
+
import "./chunk-JXNIF2O5.js";
|
|
604
|
+
import "./chunk-CGKEUUYG.js";
|
|
605
|
+
import {
|
|
606
|
+
SessionSourceError,
|
|
607
|
+
SessionSourceService
|
|
608
|
+
} from "./chunk-ELRMZTPF.js";
|
|
609
|
+
import {
|
|
610
|
+
escapeJsonTagCharacters
|
|
611
|
+
} from "./chunk-CHEIIBT3.js";
|
|
612
|
+
import "./chunk-PLLIWEM3.js";
|
|
613
|
+
import {
|
|
614
|
+
registerSession
|
|
615
|
+
} from "./chunk-5GLDOLNQ.js";
|
|
616
|
+
import "./chunk-CH2YDT6X.js";
|
|
617
|
+
import {
|
|
618
|
+
APPROVAL_MODES
|
|
619
|
+
} from "./chunk-JX6XHPTX.js";
|
|
612
620
|
import "./chunk-ZSTCM3MX.js";
|
|
613
|
-
import "./chunk-SOA4HKRJ.js";
|
|
614
621
|
import "./chunk-MLXTMF7H.js";
|
|
615
622
|
import {
|
|
616
623
|
getArenaSystemReminder,
|
|
617
624
|
getOutputStyleTurnReminder,
|
|
618
625
|
getPlanModeSystemReminder,
|
|
619
626
|
resolveMainSessionOutputStyle
|
|
620
|
-
} from "./chunk-
|
|
627
|
+
} from "./chunk-LILGKQ4B.js";
|
|
621
628
|
import "./chunk-3CZ2BQV6.js";
|
|
622
|
-
import "./chunk-
|
|
623
|
-
import "./chunk-
|
|
629
|
+
import "./chunk-SAH4BD2J.js";
|
|
630
|
+
import "./chunk-CAAMI77K.js";
|
|
624
631
|
import {
|
|
625
632
|
runWithRuntimeContentGenerator
|
|
626
|
-
} from "./chunk-
|
|
633
|
+
} from "./chunk-U7O65WKL.js";
|
|
627
634
|
import "./chunk-S6LOFUVP.js";
|
|
635
|
+
import {
|
|
636
|
+
FORK_SUBAGENT_TYPE,
|
|
637
|
+
isSystemReminderContent,
|
|
638
|
+
wrapSystemReminder
|
|
639
|
+
} from "./chunk-FN3JNDRU.js";
|
|
640
|
+
import "./chunk-EUURTIV6.js";
|
|
641
|
+
import {
|
|
642
|
+
HookEventName,
|
|
643
|
+
createHookOutput
|
|
644
|
+
} from "./chunk-G6UUOCUT.js";
|
|
645
|
+
import "./chunk-IZ2U57NY.js";
|
|
646
|
+
import "./chunk-NUQ4GK5I.js";
|
|
647
|
+
import "./chunk-K2OJUPOE.js";
|
|
648
|
+
import {
|
|
649
|
+
clearCachedCredentialFile,
|
|
650
|
+
qwenOAuth2Events
|
|
651
|
+
} from "./chunk-B6BDT4RX.js";
|
|
628
652
|
import "./chunk-NAVJD2PQ.js";
|
|
629
|
-
import "./chunk-
|
|
630
|
-
import "./chunk-
|
|
653
|
+
import "./chunk-ZGQIIGNQ.js";
|
|
654
|
+
import "./chunk-ZHECLGA6.js";
|
|
631
655
|
import "./chunk-QHMLYMMS.js";
|
|
656
|
+
import "./chunk-VNOVK4I7.js";
|
|
632
657
|
import {
|
|
633
658
|
getToolCallPreparations
|
|
634
659
|
} from "./chunk-CFKIH3D3.js";
|
|
635
|
-
import
|
|
636
|
-
REASONING_EFFORT_TIERS,
|
|
637
|
-
getGptReasoningCapabilities,
|
|
638
|
-
parseModelReasoningCapabilities
|
|
639
|
-
} from "./chunk-VBLAI2HA.js";
|
|
660
|
+
import "./chunk-JL6APGBX.js";
|
|
640
661
|
import "./chunk-DJ2GSRLV.js";
|
|
641
|
-
import "./chunk-
|
|
642
|
-
import "./chunk-
|
|
662
|
+
import "./chunk-L3DTX6U4.js";
|
|
663
|
+
import "./chunk-C75BXMPM.js";
|
|
643
664
|
import "./chunk-KFFCDLKV.js";
|
|
644
665
|
import {
|
|
645
666
|
addDaemonRequestAttribute,
|
|
646
667
|
extractDaemonTraceContext,
|
|
647
668
|
withDaemonSpan
|
|
648
|
-
} from "./chunk-
|
|
669
|
+
} from "./chunk-ZW2EUO2A.js";
|
|
649
670
|
import {
|
|
650
671
|
ConversationFinishedEvent,
|
|
651
672
|
DiscoveredMCPTool,
|
|
@@ -671,7 +692,7 @@ import {
|
|
|
671
692
|
shouldRunVisionBridge,
|
|
672
693
|
splitImageParts,
|
|
673
694
|
uiTelemetryService
|
|
674
|
-
} from "./chunk-
|
|
695
|
+
} from "./chunk-34ZYDM3F.js";
|
|
675
696
|
import {
|
|
676
697
|
INVOCATION_CONTEXT_META_KEY,
|
|
677
698
|
PRIVATE_ACP_CAPABILITY_ENV,
|
|
@@ -680,18 +701,23 @@ import {
|
|
|
680
701
|
parseInvocationContext,
|
|
681
702
|
runWithInvocationContext
|
|
682
703
|
} from "./chunk-5ETULJLP.js";
|
|
683
|
-
import "./chunk-
|
|
704
|
+
import "./chunk-ZHKTKHMO.js";
|
|
684
705
|
import "./chunk-VGC4I5JJ.js";
|
|
685
|
-
import {
|
|
686
|
-
getAllMemoryFilenames,
|
|
687
|
-
getSpecificMimeType
|
|
688
|
-
} from "./chunk-J6MB5ZHZ.js";
|
|
689
706
|
import {
|
|
690
707
|
getAutoMemoryRoot,
|
|
691
708
|
getUserAutoMemoryRoot
|
|
692
709
|
} from "./chunk-EDIDYZBT.js";
|
|
693
710
|
import "./chunk-HD7O6WLV.js";
|
|
711
|
+
import {
|
|
712
|
+
getAllMemoryFilenames,
|
|
713
|
+
getSpecificMimeType
|
|
714
|
+
} from "./chunk-J6MB5ZHZ.js";
|
|
694
715
|
import "./chunk-WZAD4ZNJ.js";
|
|
716
|
+
import {
|
|
717
|
+
REASONING_EFFORT_TIERS,
|
|
718
|
+
getGptReasoningCapabilities,
|
|
719
|
+
parseModelReasoningCapabilities
|
|
720
|
+
} from "./chunk-3FPYT6QC.js";
|
|
695
721
|
import {
|
|
696
722
|
DEFAULT_TOKEN_LIMIT,
|
|
697
723
|
tokenLimit
|
|
@@ -700,11 +726,12 @@ import "./chunk-TIGXX4PA.js";
|
|
|
700
726
|
import {
|
|
701
727
|
hasVertexProjectConfigured,
|
|
702
728
|
preloadContentGenerator
|
|
703
|
-
} from "./chunk-
|
|
729
|
+
} from "./chunk-RJZTX2OF.js";
|
|
704
730
|
import "./chunk-XFFRI3WM.js";
|
|
705
731
|
import {
|
|
706
732
|
AuthType
|
|
707
|
-
} from "./chunk-
|
|
733
|
+
} from "./chunk-ERU3SDXT.js";
|
|
734
|
+
import "./chunk-EWJTAP3Y.js";
|
|
708
735
|
import "./chunk-HHJLM3WQ.js";
|
|
709
736
|
import {
|
|
710
737
|
endToolExecutionSpan,
|
|
@@ -716,20 +743,9 @@ import {
|
|
|
716
743
|
startToolExecutionSpan,
|
|
717
744
|
startToolSpan,
|
|
718
745
|
withInteractionSpan
|
|
719
|
-
} from "./chunk-
|
|
746
|
+
} from "./chunk-W5ZQMAEM.js";
|
|
720
747
|
import "./chunk-74TONY4F.js";
|
|
721
|
-
import "./chunk-
|
|
722
|
-
import {
|
|
723
|
-
FORK_SUBAGENT_TYPE,
|
|
724
|
-
isSystemReminderContent,
|
|
725
|
-
wrapSystemReminder
|
|
726
|
-
} from "./chunk-4VY3ITHR.js";
|
|
727
|
-
import "./chunk-O2FEO2CB.js";
|
|
728
|
-
import {
|
|
729
|
-
HookEventName,
|
|
730
|
-
createHookOutput
|
|
731
|
-
} from "./chunk-G6UUOCUT.js";
|
|
732
|
-
import "./chunk-IZ2U57NY.js";
|
|
748
|
+
import "./chunk-HUXPEUFL.js";
|
|
733
749
|
import {
|
|
734
750
|
BaseDeclarativeTool,
|
|
735
751
|
BaseToolInvocation,
|
|
@@ -737,7 +753,7 @@ import {
|
|
|
737
753
|
ToolNames,
|
|
738
754
|
canonicalToolName,
|
|
739
755
|
isShellProgressData
|
|
740
|
-
} from "./chunk-
|
|
756
|
+
} from "./chunk-TP6FYVQT.js";
|
|
741
757
|
import {
|
|
742
758
|
Storage,
|
|
743
759
|
createDebugLogger,
|
|
@@ -746,20 +762,23 @@ import {
|
|
|
746
762
|
isSubpath,
|
|
747
763
|
sessionIdContext
|
|
748
764
|
} from "./chunk-ZAFYHRVY.js";
|
|
749
|
-
import "./chunk-
|
|
750
|
-
import "./chunk-
|
|
765
|
+
import "./chunk-TBWQLLFO.js";
|
|
766
|
+
import "./chunk-V5U2NZNJ.js";
|
|
767
|
+
import "./chunk-DMX7RF6E.js";
|
|
768
|
+
import "./chunk-TPKQIA7G.js";
|
|
751
769
|
import {
|
|
770
|
+
registerCleanup,
|
|
752
771
|
runExitCleanup
|
|
753
|
-
} from "./chunk-
|
|
772
|
+
} from "./chunk-JDEW3V5B.js";
|
|
754
773
|
import {
|
|
755
774
|
writeStderrLine,
|
|
756
775
|
writeStderrLineSafe
|
|
757
776
|
} from "./chunk-7FA2II6K.js";
|
|
777
|
+
import "./chunk-UKMWZ5NS.js";
|
|
758
778
|
import "./chunk-75DOP5OR.js";
|
|
759
779
|
import "./chunk-DMTGGOSA.js";
|
|
760
780
|
import "./chunk-YQ3U5MUC.js";
|
|
761
781
|
import "./chunk-MATEIJZF.js";
|
|
762
|
-
import "./chunk-TBWQLLFO.js";
|
|
763
782
|
import {
|
|
764
783
|
init_esbuild_shims
|
|
765
784
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -785,6 +804,15 @@ function buildAuthMethods() {
|
|
|
785
804
|
type: "terminal",
|
|
786
805
|
args: ["--auth-type=openai"]
|
|
787
806
|
}
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
id: "openai-responses" /* USE_OPENAI_RESPONSES */,
|
|
810
|
+
name: "Use OpenAI Responses API key",
|
|
811
|
+
description: "Requires setting the `OPENAI_API_KEY` environment variable",
|
|
812
|
+
_meta: {
|
|
813
|
+
type: "terminal",
|
|
814
|
+
args: ["--auth-type=openai-responses"]
|
|
815
|
+
}
|
|
788
816
|
}
|
|
789
817
|
];
|
|
790
818
|
}
|
|
@@ -1793,7 +1821,6 @@ var MessageEmitter = class extends BaseEmitter {
|
|
|
1793
1821
|
* @param stopHookCount - Number of Stop hooks that were executed
|
|
1794
1822
|
*/
|
|
1795
1823
|
async emitStopHookLoop(iterationCount, reasons, stopHookCount) {
|
|
1796
|
-
const activeGoal = getActiveGoal(this.sessionId);
|
|
1797
1824
|
await this.sendUpdate({
|
|
1798
1825
|
sessionUpdate: "agent_message_chunk",
|
|
1799
1826
|
content: { type: "text", text: "" },
|
|
@@ -1801,15 +1828,7 @@ var MessageEmitter = class extends BaseEmitter {
|
|
|
1801
1828
|
stopHookLoop: {
|
|
1802
1829
|
iterationCount,
|
|
1803
1830
|
reasons,
|
|
1804
|
-
stopHookCount
|
|
1805
|
-
...activeGoal ? {
|
|
1806
|
-
goal: {
|
|
1807
|
-
condition: activeGoal.condition,
|
|
1808
|
-
iterations: activeGoal.iterations,
|
|
1809
|
-
setAt: activeGoal.setAt,
|
|
1810
|
-
lastReason: activeGoal.lastReason
|
|
1811
|
-
}
|
|
1812
|
-
} : {}
|
|
1831
|
+
stopHookCount
|
|
1813
1832
|
}
|
|
1814
1833
|
}
|
|
1815
1834
|
});
|
|
@@ -2140,6 +2159,12 @@ function buildPermissionRequestContent(confirmation) {
|
|
|
2140
2159
|
}
|
|
2141
2160
|
});
|
|
2142
2161
|
}
|
|
2162
|
+
if (confirmation.type === "info" && confirmation.renderPromptAsPlainText) {
|
|
2163
|
+
content.push({
|
|
2164
|
+
type: "content",
|
|
2165
|
+
content: { type: "text", text: confirmation.prompt }
|
|
2166
|
+
});
|
|
2167
|
+
}
|
|
2143
2168
|
return content;
|
|
2144
2169
|
}
|
|
2145
2170
|
__name(buildPermissionRequestContent, "buildPermissionRequestContent");
|
|
@@ -3275,6 +3300,7 @@ var MAX_RETAINED_SESSION_ROUTE_COUNTS = 8;
|
|
|
3275
3300
|
var USER_CANCEL_ABORT_REASON = "qwen:user-cancel";
|
|
3276
3301
|
var NEW_PROMPT_ABORT_REASON = "qwen:new-prompt";
|
|
3277
3302
|
var SESSION_DISPOSE_ABORT_REASON = "qwen:session-dispose";
|
|
3303
|
+
var GOAL_HELD_RECOVERY_COMMANDS = "Run:\n/goal pause\nThen, when ready:\n/goal resume";
|
|
3278
3304
|
var DAEMON_RETRY_META_KEY = "qwen.daemon.retry";
|
|
3279
3305
|
var DAEMON_CONTINUE_META_KEY = "qwen.daemon.continueLastTurn";
|
|
3280
3306
|
var MAX_DAEMON_ATTACHMENT_REFERENCES = 256;
|
|
@@ -4169,6 +4195,7 @@ var Session = class {
|
|
|
4169
4195
|
__name(this, "Session");
|
|
4170
4196
|
}
|
|
4171
4197
|
pendingPrompt = null;
|
|
4198
|
+
activeGoalProposalTurn;
|
|
4172
4199
|
/**
|
|
4173
4200
|
* Tracks the completion of the current prompt so that the next prompt
|
|
4174
4201
|
* can await it. This prevents a new prompt from reading chat history
|
|
@@ -4263,6 +4290,7 @@ var Session = class {
|
|
|
4263
4290
|
backgroundNotificationAcceptances = /* @__PURE__ */ new Map();
|
|
4264
4291
|
activeNotificationAcceptances = /* @__PURE__ */ new Set();
|
|
4265
4292
|
goalQueue = [];
|
|
4293
|
+
heldGoalProposal;
|
|
4266
4294
|
goalProcessing = false;
|
|
4267
4295
|
activeGoalTurn;
|
|
4268
4296
|
goalHostUnbind;
|
|
@@ -4372,6 +4400,9 @@ var Session = class {
|
|
|
4372
4400
|
this.goalRuntimeUnsubscribe = runtime.subscribe((snapshot, cause) => {
|
|
4373
4401
|
const previousGoal = this.lastGoalSnapshot?.goal ?? null;
|
|
4374
4402
|
this.lastGoalSnapshot = snapshot;
|
|
4403
|
+
if (this.heldGoalProposal && (snapshot.goal?.goalId !== this.heldGoalProposal.goalId || snapshot.goal.revision !== this.heldGoalProposal.revision || snapshot.goal.status !== "active" || cause === "resume")) {
|
|
4404
|
+
this.heldGoalProposal = void 0;
|
|
4405
|
+
}
|
|
4375
4406
|
void this.#queueGoalState(snapshot, cause, previousGoal).catch(
|
|
4376
4407
|
(error) => debugLogger6.warn(
|
|
4377
4408
|
`Failed to emit ACP Goal state: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -4557,6 +4588,10 @@ var Session = class {
|
|
|
4557
4588
|
if (this.disposed || this.closing || this.goalProcessing || this.pendingPrompt || this.pendingPromptCompletion || this.cronProcessing || this.cronAbortController || this.notificationProcessing || this.notificationAbortController || this.#isAutomaticWorkHeld()) {
|
|
4558
4589
|
return;
|
|
4559
4590
|
}
|
|
4591
|
+
const next = this.goalQueue[0];
|
|
4592
|
+
if (this.heldGoalProposal && next?.permit.goalId === this.heldGoalProposal.goalId && next.permit.revision === this.heldGoalProposal.revision) {
|
|
4593
|
+
return;
|
|
4594
|
+
}
|
|
4560
4595
|
const turn = this.goalQueue.shift();
|
|
4561
4596
|
if (!turn) return;
|
|
4562
4597
|
this.goalProcessing = true;
|
|
@@ -6154,7 +6189,17 @@ var Session = class {
|
|
|
6154
6189
|
if (!goalTurn) {
|
|
6155
6190
|
try {
|
|
6156
6191
|
const runtime = this.config.getGoalRuntime();
|
|
6157
|
-
|
|
6192
|
+
const activeGoal = runtime.getSnapshot().goal;
|
|
6193
|
+
const heldGoalMatches = this.heldGoalProposal?.goalId === activeGoal?.goalId && this.heldGoalProposal?.revision === activeGoal?.revision;
|
|
6194
|
+
if (activeGoal?.status === "active" && heldGoalMatches) {
|
|
6195
|
+
for (const queued of this.goalQueue.splice(0)) {
|
|
6196
|
+
queued.controller.abort(NEW_PROMPT_ABORT_REASON);
|
|
6197
|
+
await runtime.releaseTurn(queued.turnKey, { requeue: false });
|
|
6198
|
+
}
|
|
6199
|
+
await this.messageEmitter.emitAgentMessage(
|
|
6200
|
+
`Automatic Goal execution is still held. ${GOAL_HELD_RECOVERY_COMMANDS}`
|
|
6201
|
+
);
|
|
6202
|
+
} else if (activeGoal?.status === "active") {
|
|
6158
6203
|
reservedGoalRuntime = runtime;
|
|
6159
6204
|
reservedGoalTurnKey = `goal-user:${randomUUID()}`;
|
|
6160
6205
|
runtime.beginTurn(reservedGoalTurnKey);
|
|
@@ -6332,6 +6377,11 @@ var Session = class {
|
|
|
6332
6377
|
}
|
|
6333
6378
|
} : result;
|
|
6334
6379
|
promptResult = completedResult;
|
|
6380
|
+
const proposalTurn = responseCapture.goalProposalTurn;
|
|
6381
|
+
if (proposalTurn) {
|
|
6382
|
+
proposalTurn.completedNormally = completedResult.stopReason === "end_turn" && !pendingSend.signal.aborted && proposalTurn.settlementBlocked !== true;
|
|
6383
|
+
}
|
|
6384
|
+
await this.#settleGoalProposal(responseCapture);
|
|
6335
6385
|
releasePendingSend();
|
|
6336
6386
|
void this.#drainCronQueue();
|
|
6337
6387
|
void this.#drainNotificationQueue();
|
|
@@ -6359,6 +6409,23 @@ var Session = class {
|
|
|
6359
6409
|
rejectedByLoopProtection = isLoopDetectedTurnError(error);
|
|
6360
6410
|
throw error;
|
|
6361
6411
|
} finally {
|
|
6412
|
+
const proposalTurn = responseCapture.goalProposalTurn;
|
|
6413
|
+
if (proposalTurn) {
|
|
6414
|
+
this.config.takePendingGoalProposal(proposalTurn.turnKey);
|
|
6415
|
+
if (this.activeGoalProposalTurn === proposalTurn) {
|
|
6416
|
+
this.activeGoalProposalTurn = void 0;
|
|
6417
|
+
}
|
|
6418
|
+
}
|
|
6419
|
+
if (this.config.getGoalProposalHostSupported() && this.config.setGoalProposalTurnKey(void 0)) {
|
|
6420
|
+
try {
|
|
6421
|
+
await this.config.getLlmClient().setTools();
|
|
6422
|
+
} catch (error) {
|
|
6423
|
+
debugLogger6.warn(
|
|
6424
|
+
"Failed to refresh Goal proposal availability",
|
|
6425
|
+
error
|
|
6426
|
+
);
|
|
6427
|
+
}
|
|
6428
|
+
}
|
|
6362
6429
|
const stillOwnsPendingPrompt = this.pendingPrompt === pendingSend;
|
|
6363
6430
|
releasePendingSend();
|
|
6364
6431
|
const shouldDrainAutomaticQueues = (
|
|
@@ -6370,7 +6437,7 @@ var Session = class {
|
|
|
6370
6437
|
if (stillOwnsPendingPrompt) {
|
|
6371
6438
|
this.todoStopGuardDrainAutomaticQueuesWhenIdle = false;
|
|
6372
6439
|
}
|
|
6373
|
-
if (shouldDrainAutomaticQueues) {
|
|
6440
|
+
if (shouldDrainAutomaticQueues || stillOwnsPendingPrompt) {
|
|
6374
6441
|
void this.#drainCronQueue();
|
|
6375
6442
|
void this.#drainNotificationQueue();
|
|
6376
6443
|
}
|
|
@@ -6540,6 +6607,70 @@ var Session = class {
|
|
|
6540
6607
|
), "execute");
|
|
6541
6608
|
return goalTurn ? goalTurnContext.run(goalTurn.permit, execute) : goalTurnContext.exit(execute);
|
|
6542
6609
|
}
|
|
6610
|
+
async #settleGoalProposal(capture) {
|
|
6611
|
+
const turn = capture.goalProposalTurn;
|
|
6612
|
+
if (!turn) return;
|
|
6613
|
+
const proposal = this.config.takePendingGoalProposal(turn.turnKey);
|
|
6614
|
+
if (!proposal) return;
|
|
6615
|
+
const ownsTurn = /* @__PURE__ */ __name(() => turn.completedNormally && !turn.controller.signal.aborted && this.pendingPrompt === turn.controller && this.activeGoalProposalTurn === turn && !this.disposed && !this.closing, "ownsTurn");
|
|
6616
|
+
if (!ownsTurn()) {
|
|
6617
|
+
if (!this.disposed && !this.closing) {
|
|
6618
|
+
await this.messageEmitter.emitAgentMessage(
|
|
6619
|
+
formatProposeGoalRecoveryNotStarted(proposal.objective)
|
|
6620
|
+
);
|
|
6621
|
+
}
|
|
6622
|
+
return;
|
|
6623
|
+
}
|
|
6624
|
+
try {
|
|
6625
|
+
const runtime = await this.config.getGoalRuntimeReady();
|
|
6626
|
+
if (!ownsTurn()) {
|
|
6627
|
+
if (!this.disposed && !this.closing) {
|
|
6628
|
+
await this.messageEmitter.emitAgentMessage(
|
|
6629
|
+
formatProposeGoalRecoveryNotStarted(proposal.objective)
|
|
6630
|
+
);
|
|
6631
|
+
}
|
|
6632
|
+
return;
|
|
6633
|
+
}
|
|
6634
|
+
const result = await applyPendingGoalProposal(runtime, proposal);
|
|
6635
|
+
if (result.applied && (!ownsTurn() || proposal.approvalSignal?.aborted)) {
|
|
6636
|
+
try {
|
|
6637
|
+
await runtime.dispatch({
|
|
6638
|
+
action: "pause",
|
|
6639
|
+
expectedGoalId: result.goal.goalId,
|
|
6640
|
+
expectedRevision: result.goal.revision,
|
|
6641
|
+
reason: this.closing || this.disposed ? GOAL_PAUSE_REASON_SESSION_DISPOSED : GOAL_PAUSE_REASON_USER_INTERRUPT
|
|
6642
|
+
});
|
|
6643
|
+
} catch (error) {
|
|
6644
|
+
const current = runtime.getSnapshot().goal;
|
|
6645
|
+
if (current?.goalId === result.goal.goalId && current.revision === result.goal.revision && current.status === "active") {
|
|
6646
|
+
this.heldGoalProposal = {
|
|
6647
|
+
goalId: current.goalId,
|
|
6648
|
+
revision: current.revision
|
|
6649
|
+
};
|
|
6650
|
+
debugLogger6.warn(
|
|
6651
|
+
"Failed to pause the cancelled Goal proposal",
|
|
6652
|
+
error
|
|
6653
|
+
);
|
|
6654
|
+
await this.messageEmitter.emitAgentMessage(
|
|
6655
|
+
`The Goal was created, but its cancellation could not be saved. Automatic execution is held in this session. ${GOAL_HELD_RECOVERY_COMMANDS}`
|
|
6656
|
+
);
|
|
6657
|
+
}
|
|
6658
|
+
}
|
|
6659
|
+
} else if (!result.applied) {
|
|
6660
|
+
debugLogger6.debug(
|
|
6661
|
+
`Dropping an approved Goal proposal: ${result.reason}`
|
|
6662
|
+
);
|
|
6663
|
+
await this.messageEmitter.emitAgentMessage(
|
|
6664
|
+
result.kind === "changed" ? result.reason : formatProposeGoalRecoveryFailed(proposal.objective)
|
|
6665
|
+
);
|
|
6666
|
+
}
|
|
6667
|
+
} catch (error) {
|
|
6668
|
+
debugLogger6.warn("Failed to apply an approved Goal proposal", error);
|
|
6669
|
+
await this.messageEmitter.emitAgentMessage(
|
|
6670
|
+
formatProposeGoalRecoveryFailed(proposal.objective)
|
|
6671
|
+
);
|
|
6672
|
+
}
|
|
6673
|
+
}
|
|
6543
6674
|
async #executePromptInner(params, pendingSend, responseCapture, modelPrompt, rejectOnLoopDetected = false, goalTurn, channelTurn = false) {
|
|
6544
6675
|
let managedMemoryRecallStarted = false;
|
|
6545
6676
|
return Storage.runWithRuntimeBaseDir(
|
|
@@ -6552,6 +6683,19 @@ var Session = class {
|
|
|
6552
6683
|
}
|
|
6553
6684
|
this.turn += 1;
|
|
6554
6685
|
const promptId = this.config.getSessionId() + "########" + this.turn;
|
|
6686
|
+
if (!goalTurn && !channelTurn && params._meta?.["qwen.goalProposalApproval"] === true) {
|
|
6687
|
+
responseCapture.goalProposalTurn = {
|
|
6688
|
+
turnKey: promptId,
|
|
6689
|
+
controller: pendingSend,
|
|
6690
|
+
completedNormally: false
|
|
6691
|
+
};
|
|
6692
|
+
this.activeGoalProposalTurn = responseCapture.goalProposalTurn;
|
|
6693
|
+
}
|
|
6694
|
+
if (this.config.getGoalProposalHostSupported() && this.config.setGoalProposalTurnKey(
|
|
6695
|
+
responseCapture.goalProposalTurn?.turnKey
|
|
6696
|
+
)) {
|
|
6697
|
+
await this.config.getLlmClient().setTools();
|
|
6698
|
+
}
|
|
6555
6699
|
const daemonPromptId = getInvocationContext()?.promptId;
|
|
6556
6700
|
const promptMetadata = params._meta;
|
|
6557
6701
|
const continuesCurrentWorkChain = params.retry === true || promptMetadata?.[DAEMON_RETRY_META_KEY] === true || promptMetadata?.[DAEMON_CONTINUE_META_KEY] === true || promptMetadata?.[DAEMON_RESTORE_ASK_USER_QUESTION_META_KEY] === true;
|
|
@@ -6569,6 +6713,8 @@ var Session = class {
|
|
|
6569
6713
|
const promptText = params.prompt.filter((block) => block.type === "text").map((block) => block.type === "text" ? block.text : "").join(" ");
|
|
6570
6714
|
const promptDisplayTextValue = promptMetadata?.[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY];
|
|
6571
6715
|
const promptDisplayText = typeof promptDisplayTextValue === "string" ? promptDisplayTextValue : void 0;
|
|
6716
|
+
const declaredSubmission = promptMetadata?.[DAEMON_SUBMITTED_PROMPT_META_KEY];
|
|
6717
|
+
const submittedPrompt = typeof declaredSubmission === "string" ? declaredSubmission : "";
|
|
6572
6718
|
const modelPromptBlocks = modelPrompt === void 0 ? params.prompt : [{ type: "text", text: modelPrompt }];
|
|
6573
6719
|
logUserPrompt(
|
|
6574
6720
|
this.config,
|
|
@@ -6751,13 +6897,15 @@ var Session = class {
|
|
|
6751
6897
|
const messageBus = this.config.getMessageBus?.();
|
|
6752
6898
|
const isRuntimeContinuation = goalTurn?.origin === "runtime";
|
|
6753
6899
|
const isFreshUserTurn = !isRetry && !isContinue && !isRestoreAskUserQuestion && !isRuntimeContinuation;
|
|
6900
|
+
const isUserSubmissionTurn = isFreshUserTurn && !channelTurn;
|
|
6754
6901
|
if (!isContinue && !isRestoreAskUserQuestion && !isRuntimeContinuation && hooksEnabled && messageBus && this.config.hasHooksForEvent?.("UserPromptSubmit")) {
|
|
6755
6902
|
const response = await messageBus.request(
|
|
6756
6903
|
{
|
|
6757
6904
|
type: "hook-execution-request" /* HOOK_EXECUTION_REQUEST */,
|
|
6758
6905
|
eventName: "UserPromptSubmit",
|
|
6759
6906
|
input: {
|
|
6760
|
-
prompt: promptText
|
|
6907
|
+
prompt: promptText,
|
|
6908
|
+
...isUserSubmissionTurn && submittedPrompt.trim().length > 0 ? { submitted_prompt: submittedPrompt } : {}
|
|
6761
6909
|
},
|
|
6762
6910
|
signal: pendingSend.signal
|
|
6763
6911
|
},
|
|
@@ -7283,6 +7431,11 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7283
7431
|
modelOverride = model;
|
|
7284
7432
|
return true;
|
|
7285
7433
|
}, "onFullTurnModel");
|
|
7434
|
+
const blockGoalProposalSettlement = /* @__PURE__ */ __name(() => {
|
|
7435
|
+
if (responseCapture?.goalProposalTurn) {
|
|
7436
|
+
responseCapture.goalProposalTurn.settlementBlocked = true;
|
|
7437
|
+
}
|
|
7438
|
+
}, "blockGoalProposalSettlement");
|
|
7286
7439
|
let midTurnContinuationCount = 0;
|
|
7287
7440
|
while (true) {
|
|
7288
7441
|
if (this.pendingPrompt && this.pendingPrompt !== pendingSend) {
|
|
@@ -7296,6 +7449,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7296
7449
|
this.#clearTodoStopGuardTrustAndDrainAutomaticQueues();
|
|
7297
7450
|
}
|
|
7298
7451
|
if (this.todoStopGuardQueuedPromptPriority) {
|
|
7452
|
+
blockGoalProposalSettlement();
|
|
7299
7453
|
return { stopReason: "end_turn" };
|
|
7300
7454
|
}
|
|
7301
7455
|
if (this.todoStopGuard.needsStopInspection) {
|
|
@@ -7309,6 +7463,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7309
7463
|
pendingSend.signal
|
|
7310
7464
|
);
|
|
7311
7465
|
if (claim === "queued") {
|
|
7466
|
+
blockGoalProposalSettlement();
|
|
7312
7467
|
this.#preserveUnsentMessageHistory(
|
|
7313
7468
|
{ role: "user", parts: drained.parts },
|
|
7314
7469
|
true
|
|
@@ -7320,6 +7475,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7320
7475
|
}
|
|
7321
7476
|
}
|
|
7322
7477
|
this.todoStopGuard.acceptMidTurnUserInput();
|
|
7478
|
+
blockGoalProposalSettlement();
|
|
7323
7479
|
const continuation2 = await this.#runStopContinuation(
|
|
7324
7480
|
pendingSend,
|
|
7325
7481
|
promptId + "_mid_turn_" + ++midTurnContinuationCount,
|
|
@@ -7347,6 +7503,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7347
7503
|
pendingSend.signal
|
|
7348
7504
|
);
|
|
7349
7505
|
if (claim === "queued") {
|
|
7506
|
+
blockGoalProposalSettlement();
|
|
7350
7507
|
return { stopReason: "end_turn" };
|
|
7351
7508
|
}
|
|
7352
7509
|
if (claim === "unavailable") {
|
|
@@ -7396,6 +7553,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7396
7553
|
pendingSend.signal
|
|
7397
7554
|
);
|
|
7398
7555
|
if (claim === "queued") {
|
|
7556
|
+
blockGoalProposalSettlement();
|
|
7399
7557
|
this.#preserveUnsentMessageHistory(
|
|
7400
7558
|
{ role: "user", parts: drained.parts },
|
|
7401
7559
|
true
|
|
@@ -7407,6 +7565,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7407
7565
|
}
|
|
7408
7566
|
}
|
|
7409
7567
|
this.todoStopGuard.acceptMidTurnUserInput();
|
|
7568
|
+
blockGoalProposalSettlement();
|
|
7410
7569
|
const continuation2 = await this.#runStopContinuation(
|
|
7411
7570
|
pendingSend,
|
|
7412
7571
|
promptId + "_mid_turn_" + ++midTurnContinuationCount,
|
|
@@ -7434,6 +7593,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7434
7593
|
pendingSend.signal
|
|
7435
7594
|
);
|
|
7436
7595
|
if (claim === "queued") {
|
|
7596
|
+
blockGoalProposalSettlement();
|
|
7437
7597
|
return { stopReason: "end_turn" };
|
|
7438
7598
|
}
|
|
7439
7599
|
if (claim === "unavailable") {
|
|
@@ -7463,7 +7623,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7463
7623
|
const guardContinuation = guardDecision?.kind === "continue" ? guardDecision : null;
|
|
7464
7624
|
if (guardDecision?.kind === "exhausted") {
|
|
7465
7625
|
await this.#emitTodoStopGuardExhausted(guardDecision);
|
|
7466
|
-
if (!externalReason)
|
|
7626
|
+
if (!externalReason) {
|
|
7627
|
+
blockGoalProposalSettlement();
|
|
7628
|
+
return { stopReason: "end_turn" };
|
|
7629
|
+
}
|
|
7467
7630
|
}
|
|
7468
7631
|
if (externalReason && stopHookIterationCount >= stopHookBlockingCap) {
|
|
7469
7632
|
const warning = formatStopHookBlockingCapWarning(
|
|
@@ -7478,6 +7641,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7478
7641
|
await this.#pauseGoalForStopHookCap();
|
|
7479
7642
|
}
|
|
7480
7643
|
this.todoStopGuard.suspend();
|
|
7644
|
+
blockGoalProposalSettlement();
|
|
7481
7645
|
await this.messageEmitter.emitAgentMessage(warning);
|
|
7482
7646
|
debugLogger6.warn(warning);
|
|
7483
7647
|
return { stopReason: "end_turn" };
|
|
@@ -7550,6 +7714,12 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7550
7714
|
true
|
|
7551
7715
|
);
|
|
7552
7716
|
}, "preservePendingMessage");
|
|
7717
|
+
const blockGoalProposalSettlement = /* @__PURE__ */ __name(() => {
|
|
7718
|
+
const proposalTurn = options.responseCapture?.goalProposalTurn;
|
|
7719
|
+
if (proposalTurn) {
|
|
7720
|
+
proposalTurn.settlementBlocked = true;
|
|
7721
|
+
}
|
|
7722
|
+
}, "blockGoalProposalSettlement");
|
|
7553
7723
|
while (nextMessage !== null) {
|
|
7554
7724
|
if (this.pendingPrompt && this.pendingPrompt !== pendingSend) {
|
|
7555
7725
|
preservePendingMessage(nextMessage);
|
|
@@ -7656,6 +7826,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7656
7826
|
nextGuardContinuation = void 0;
|
|
7657
7827
|
if (!options.externalParts) {
|
|
7658
7828
|
preserveGuardOnSkippedSend = true;
|
|
7829
|
+
blockGoalProposalSettlement();
|
|
7659
7830
|
return { kind: "stop", stopReason: "end_turn" };
|
|
7660
7831
|
}
|
|
7661
7832
|
if (!initialSend && nextMessage) {
|
|
@@ -7674,6 +7845,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7674
7845
|
guardForThisSend = void 0;
|
|
7675
7846
|
nextGuardContinuation = void 0;
|
|
7676
7847
|
preserveGuardOnSkippedSend = true;
|
|
7848
|
+
blockGoalProposalSettlement();
|
|
7677
7849
|
if (initialSend) {
|
|
7678
7850
|
supersededAutomaticContinuation = true;
|
|
7679
7851
|
}
|
|
@@ -7731,6 +7903,7 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
7731
7903
|
guardForThisSend = void 0;
|
|
7732
7904
|
nextGuardContinuation = void 0;
|
|
7733
7905
|
preserveGuardOnSkippedSend = true;
|
|
7906
|
+
blockGoalProposalSettlement();
|
|
7734
7907
|
if (initialSend) {
|
|
7735
7908
|
supersededAutomaticContinuation = true;
|
|
7736
7909
|
}
|
|
@@ -8908,6 +9081,10 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
8908
9081
|
* timed-out drain is still recorded exactly once.
|
|
8909
9082
|
*/
|
|
8910
9083
|
async #buildMidTurnParts(messages, abortSignal, options = {}) {
|
|
9084
|
+
const proposalTurn = this.activeGoalProposalTurn;
|
|
9085
|
+
if (messages.length > 0 && proposalTurn?.controller.signal === abortSignal) {
|
|
9086
|
+
proposalTurn.settlementBlocked = true;
|
|
9087
|
+
}
|
|
8911
9088
|
const parts = [];
|
|
8912
9089
|
for (const message of messages) {
|
|
8913
9090
|
const displayText = message.kind === "text" ? message.message : message.displayText;
|
|
@@ -11493,6 +11670,19 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
11493
11670
|
return await runInToolSpanContext(toolSpan, async () => {
|
|
11494
11671
|
const entryCancellation = cancelBeforeExecutionIfAborted(toolName);
|
|
11495
11672
|
if (entryCancellation) return entryCancellation;
|
|
11673
|
+
if (policyToolName === ToolNames.PROPOSE_GOAL && (this.activeGoalProposalTurn?.turnKey !== promptId || this.activeGoalProposalTurn.controller.signal.aborted)) {
|
|
11674
|
+
return earlyErrorResponse(
|
|
11675
|
+
new Error(
|
|
11676
|
+
"The Goal was not set: this turn cannot own a Goal approval. Hand the user a `/goal set <objective>` line instead."
|
|
11677
|
+
),
|
|
11678
|
+
toolName,
|
|
11679
|
+
{
|
|
11680
|
+
status: "error",
|
|
11681
|
+
errorType: "execution_denied" /* EXECUTION_DENIED */,
|
|
11682
|
+
executionStatus: "not_started"
|
|
11683
|
+
}
|
|
11684
|
+
);
|
|
11685
|
+
}
|
|
11496
11686
|
const isTrustedLiveScreenContextTool = tool === this.liveScreenContextTool;
|
|
11497
11687
|
const isTrustedLiveTaskTool = this.liveTaskTools.includes(
|
|
11498
11688
|
tool
|
|
@@ -12472,7 +12662,8 @@ ${this.pendingRecoveredAgentsNotice}
|
|
|
12472
12662
|
try {
|
|
12473
12663
|
toolResult = await invocation.execute(
|
|
12474
12664
|
activeToolAbortSignal,
|
|
12475
|
-
onToolProgress
|
|
12665
|
+
onToolProgress,
|
|
12666
|
+
this.config.getShellExecutionConfig()
|
|
12476
12667
|
);
|
|
12477
12668
|
executeReturned = true;
|
|
12478
12669
|
try {
|
|
@@ -15437,6 +15628,7 @@ function hasFailedDisplayStatus(display) {
|
|
|
15437
15628
|
__name(hasFailedDisplayStatus, "hasFailedDisplayStatus");
|
|
15438
15629
|
var AUTH_PREFLIGHT_ENV_KEYS = {
|
|
15439
15630
|
openai: ["OPENAI_API_KEY"],
|
|
15631
|
+
"openai-responses": ["OPENAI_API_KEY"],
|
|
15440
15632
|
anthropic: ["ANTHROPIC_API_KEY"],
|
|
15441
15633
|
gemini: ["GEMINI_API_KEY"],
|
|
15442
15634
|
"vertex-ai": ["GOOGLE_API_KEY"]
|
|
@@ -16538,6 +16730,7 @@ async function runAcpAgent(config, settings, argv, options) {
|
|
|
16538
16730
|
return agentInstance;
|
|
16539
16731
|
}, stream);
|
|
16540
16732
|
markAcpStartup("transportSetupEnd");
|
|
16733
|
+
registerCleanup(() => agentInstance?.closePeerMessaging());
|
|
16541
16734
|
} catch (err) {
|
|
16542
16735
|
eventLoopMonitor.dispose();
|
|
16543
16736
|
throw err;
|
|
@@ -16980,6 +17173,30 @@ var QwenAgent = class _QwenAgent {
|
|
|
16980
17173
|
__name(this, "QwenAgent");
|
|
16981
17174
|
}
|
|
16982
17175
|
sessions = /* @__PURE__ */ new Map();
|
|
17176
|
+
/**
|
|
17177
|
+
* Cross-session messaging for every session this process hosts.
|
|
17178
|
+
*
|
|
17179
|
+
* One inbox, not one per session: the address is a socket, the sessions
|
|
17180
|
+
* are told apart by the `toSessionId` every sender pins on its frame,
|
|
17181
|
+
* and binding a socket per session would multiply file descriptors by
|
|
17182
|
+
* the session count for no added reach.
|
|
17183
|
+
*
|
|
17184
|
+
* Outbound only for now. Inbound is refused rather than held, because a
|
|
17185
|
+
* hold is a question put to a person and nobody is watching a hold list
|
|
17186
|
+
* on a daemon-managed session's behalf; a sender is told so at once
|
|
17187
|
+
* instead of waiting out an expiry.
|
|
17188
|
+
*/
|
|
17189
|
+
peerMessagingStart = null;
|
|
17190
|
+
// Set by closePeerMessaging: a retry must not resurrect an inbox after
|
|
17191
|
+
// teardown ran.
|
|
17192
|
+
peerMessagingClosed = false;
|
|
17193
|
+
/**
|
|
17194
|
+
* Sessions already given a record. A session is published once, but a
|
|
17195
|
+
* reload can hand the same id back through the same path, and two
|
|
17196
|
+
* records for one session would be two names for it in every listing.
|
|
17197
|
+
*/
|
|
17198
|
+
registeredSessions = /* @__PURE__ */ new Set();
|
|
17199
|
+
inboxAddress = null;
|
|
16983
17200
|
modelProviderReloadRevision = 0;
|
|
16984
17201
|
historyMutationTails = /* @__PURE__ */ new Map();
|
|
16985
17202
|
startingSessionIds = /* @__PURE__ */ new Set();
|
|
@@ -17184,6 +17401,7 @@ var QwenAgent = class _QwenAgent {
|
|
|
17184
17401
|
}
|
|
17185
17402
|
async finishManagedShutdown(configs) {
|
|
17186
17403
|
const failures = [];
|
|
17404
|
+
await this.closePeerMessaging();
|
|
17187
17405
|
for (const [sessionId, session] of [...this.sessions]) {
|
|
17188
17406
|
await this.removeStoredSessionEntry(sessionId, session, failures, {
|
|
17189
17407
|
shutdownConfig: false
|
|
@@ -17522,6 +17740,12 @@ var QwenAgent = class _QwenAgent {
|
|
|
17522
17740
|
} catch (error) {
|
|
17523
17741
|
cleanupErrors.push(error);
|
|
17524
17742
|
}
|
|
17743
|
+
this.registeredSessions.delete(sessionId);
|
|
17744
|
+
try {
|
|
17745
|
+
await session.getConfig().unregisterSessionRegistry();
|
|
17746
|
+
} catch (error) {
|
|
17747
|
+
cleanupErrors.push(error);
|
|
17748
|
+
}
|
|
17525
17749
|
if (options.shutdownConfig !== false) {
|
|
17526
17750
|
try {
|
|
17527
17751
|
await session.getConfig().shutdown({ shutdownTelemetry: false });
|
|
@@ -17775,6 +17999,113 @@ var QwenAgent = class _QwenAgent {
|
|
|
17775
17999
|
}
|
|
17776
18000
|
await this.closeStoredSession(sessionId, opts);
|
|
17777
18001
|
}
|
|
18002
|
+
/**
|
|
18003
|
+
* Bind the one inbox every session this process hosts shares.
|
|
18004
|
+
*
|
|
18005
|
+
* Not awaited: binding a socket must not delay the first prompt, and a
|
|
18006
|
+
* session published before it resolves still registers — the address
|
|
18007
|
+
* is patched into every record when it arrives (`publishInboxAddress`).
|
|
18008
|
+
*/
|
|
18009
|
+
startPeerMessaging() {
|
|
18010
|
+
if (this.peerMessagingStart) return;
|
|
18011
|
+
if (this.peerMessagingClosed) return;
|
|
18012
|
+
this.peerMessagingStart = (async () => {
|
|
18013
|
+
try {
|
|
18014
|
+
const messaging = await PeerMessaging.start({
|
|
18015
|
+
// Inbound is refused outright, so neither the approval mode nor
|
|
18016
|
+
// the parity rule it feeds is ever consulted. Stated rather than
|
|
18017
|
+
// left to a default: what a daemon-managed session may be told
|
|
18018
|
+
// is settled here and nowhere else.
|
|
18019
|
+
getApprovalMode: /* @__PURE__ */ __name(() => null, "getApprovalMode"),
|
|
18020
|
+
getPolicySetting: /* @__PURE__ */ __name(() => "refuse", "getPolicySetting"),
|
|
18021
|
+
updateSessionRegistryIpcPath: /* @__PURE__ */ __name((ipcPath, ipcToken) => this.publishInboxAddress(ipcPath, ipcToken), "updateSessionRegistryIpcPath"),
|
|
18022
|
+
ownsSessionId: /* @__PURE__ */ __name((id) => {
|
|
18023
|
+
const wanted = normalizeSessionIdForLookup(id);
|
|
18024
|
+
return this.sessions.has(wanted) || [...this.sessions.values()].some(
|
|
18025
|
+
(session) => normalizeSessionIdForLookup(
|
|
18026
|
+
session.getConfig().getSessionId()
|
|
18027
|
+
) === wanted
|
|
18028
|
+
);
|
|
18029
|
+
}, "ownsSessionId")
|
|
18030
|
+
});
|
|
18031
|
+
if (messaging === null) this.peerMessagingStart = null;
|
|
18032
|
+
return messaging;
|
|
18033
|
+
} catch (error) {
|
|
18034
|
+
debugLogger9.error(
|
|
18035
|
+
"[ACP] cross-session messaging failed to start:",
|
|
18036
|
+
error
|
|
18037
|
+
);
|
|
18038
|
+
this.peerMessagingStart = null;
|
|
18039
|
+
return null;
|
|
18040
|
+
}
|
|
18041
|
+
})();
|
|
18042
|
+
}
|
|
18043
|
+
/** Close the inbox and stop advertising it. Safe to call more than once. */
|
|
18044
|
+
async closePeerMessaging() {
|
|
18045
|
+
this.peerMessagingClosed = true;
|
|
18046
|
+
const pending = this.peerMessagingStart;
|
|
18047
|
+
if (!pending) return;
|
|
18048
|
+
this.peerMessagingStart = null;
|
|
18049
|
+
try {
|
|
18050
|
+
await (await pending)?.close();
|
|
18051
|
+
} catch (error) {
|
|
18052
|
+
debugLogger9.debug(
|
|
18053
|
+
`[ACP] closing cross-session messaging failed: ${error instanceof Error ? error.message : String(error)}`
|
|
18054
|
+
);
|
|
18055
|
+
}
|
|
18056
|
+
this.inboxAddress = null;
|
|
18057
|
+
}
|
|
18058
|
+
/**
|
|
18059
|
+
* Give a newly published session a registry record of its own.
|
|
18060
|
+
*
|
|
18061
|
+
* Only when that session's own settings turn messaging on. A record
|
|
18062
|
+
* with no inbox behind it would put a name in every peer's listing
|
|
18063
|
+
* that can be addressed and never answered, which is worse than not
|
|
18064
|
+
* appearing at all — the interactive UI registers unconditionally
|
|
18065
|
+
* because its record also answers "what is running right now", a
|
|
18066
|
+
* question nobody asks of a session a daemon is driving.
|
|
18067
|
+
*/
|
|
18068
|
+
registerHostedSession(sessionId, config, settings) {
|
|
18069
|
+
if (settings.merged.agents?.crossSessionMessaging !== true) return;
|
|
18070
|
+
this.startPeerMessaging();
|
|
18071
|
+
if (this.registeredSessions.has(sessionId)) return;
|
|
18072
|
+
this.registeredSessions.add(sessionId);
|
|
18073
|
+
config.trackSessionRegistration(
|
|
18074
|
+
registerSession({
|
|
18075
|
+
sessionId,
|
|
18076
|
+
cwd: config.getTargetDir(),
|
|
18077
|
+
qwenVersion: config.getCliVersion() ?? null,
|
|
18078
|
+
// What spawned this process, as far as it can tell: the daemon
|
|
18079
|
+
// marks the children it starts, and anything else running
|
|
18080
|
+
// `qwen --acp` is a client driving it directly.
|
|
18081
|
+
kind: process.env[QWEN_CODE_SERVE_ENV] === "1" ? "serve" : "headless",
|
|
18082
|
+
// One record per session rather than one per process: they have
|
|
18083
|
+
// separate ids, names and working directories.
|
|
18084
|
+
slot: "own"
|
|
18085
|
+
})
|
|
18086
|
+
);
|
|
18087
|
+
if (this.inboxAddress) {
|
|
18088
|
+
void config.updateSessionRegistryIpcPath(
|
|
18089
|
+
this.inboxAddress.ipcPath,
|
|
18090
|
+
this.inboxAddress.ipcToken
|
|
18091
|
+
);
|
|
18092
|
+
}
|
|
18093
|
+
}
|
|
18094
|
+
/**
|
|
18095
|
+
* Write the inbox address into every hosted session's record.
|
|
18096
|
+
*
|
|
18097
|
+
* They share one address, so this runs once per bind rather than once
|
|
18098
|
+
* per session, and again with `undefined` at close so no record
|
|
18099
|
+
* advertises a socket that is gone.
|
|
18100
|
+
*/
|
|
18101
|
+
async publishInboxAddress(ipcPath, ipcToken) {
|
|
18102
|
+
this.inboxAddress = ipcPath !== void 0 && ipcToken !== void 0 ? { ipcPath, ipcToken } : null;
|
|
18103
|
+
await Promise.allSettled(
|
|
18104
|
+
[...this.sessions.values()].map(
|
|
18105
|
+
(session) => session.getConfig().updateSessionRegistryIpcPath(ipcPath, ipcToken)
|
|
18106
|
+
)
|
|
18107
|
+
);
|
|
18108
|
+
}
|
|
17778
18109
|
async disposeSessions() {
|
|
17779
18110
|
this.activeWorkReporter?.dispose();
|
|
17780
18111
|
this.activeWorkReporter = void 0;
|
|
@@ -17786,6 +18117,7 @@ var QwenAgent = class _QwenAgent {
|
|
|
17786
18117
|
controller.abort();
|
|
17787
18118
|
}
|
|
17788
18119
|
this.workspaceGenerationControllers.clear();
|
|
18120
|
+
await this.closePeerMessaging();
|
|
17789
18121
|
await Promise.allSettled(
|
|
17790
18122
|
[...this.sessions.entries()].map(
|
|
17791
18123
|
([sessionId, session]) => this.discardStoredSessionIfCurrent(sessionId, session, {
|
|
@@ -17926,7 +18258,7 @@ var QwenAgent = class _QwenAgent {
|
|
|
17926
18258
|
}
|
|
17927
18259
|
this.clientCapabilities = args.clientCapabilities;
|
|
17928
18260
|
const authMethods = buildAuthMethods();
|
|
17929
|
-
const version = "0.23.
|
|
18261
|
+
const version = "0.23.3-nightly.20260910.c46cb85cf2";
|
|
17930
18262
|
const response = {
|
|
17931
18263
|
protocolVersion: PROTOCOL_VERSION,
|
|
17932
18264
|
agentInfo: {
|
|
@@ -19009,13 +19341,24 @@ var QwenAgent = class _QwenAgent {
|
|
|
19009
19341
|
const suppliedContext = meta[INVOCATION_CONTEXT_META_KEY];
|
|
19010
19342
|
const suppliedModelPrompt = meta[DAEMON_MODEL_PROMPT_META_KEY];
|
|
19011
19343
|
const suppliedPromptDisplayText = meta[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY];
|
|
19344
|
+
const submittedPrompt = this.privateParentState === "trusted" ? meta[DAEMON_SUBMITTED_PROMPT_META_KEY] : meta[SUBMITTED_PROMPT_META_KEY];
|
|
19012
19345
|
const suppliedChannelPrompt = meta[CHANNEL_PROMPT_META_KEY];
|
|
19346
|
+
const suppliedGoalProposalApproval = meta["qwen.goalProposalApproval"];
|
|
19013
19347
|
const suppliedChannelDelivery = meta[DAEMON_CHANNEL_DELIVERY_META_KEY];
|
|
19014
19348
|
delete meta[INVOCATION_CONTEXT_META_KEY];
|
|
19015
19349
|
delete meta[DAEMON_MODEL_PROMPT_META_KEY];
|
|
19016
19350
|
delete meta[PRIVATE_PARENT_CAPABILITY_META_KEY];
|
|
19017
19351
|
delete meta[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY];
|
|
19352
|
+
delete meta[SUBMITTED_PROMPT_META_KEY];
|
|
19353
|
+
delete meta[DAEMON_SUBMITTED_PROMPT_META_KEY];
|
|
19354
|
+
if (typeof submittedPrompt === "string" && suppliedChannelPrompt !== true) {
|
|
19355
|
+
meta[DAEMON_SUBMITTED_PROMPT_META_KEY] = submittedPrompt;
|
|
19356
|
+
}
|
|
19018
19357
|
delete meta[CHANNEL_PROMPT_META_KEY];
|
|
19358
|
+
delete meta["qwen.goalProposalApproval"];
|
|
19359
|
+
if (this.privateParentState === "trusted" && suppliedGoalProposalApproval === true) {
|
|
19360
|
+
meta["qwen.goalProposalApproval"] = true;
|
|
19361
|
+
}
|
|
19019
19362
|
delete meta[DAEMON_CHANNEL_DELIVERY_META_KEY];
|
|
19020
19363
|
if (this.privateParentState === "trusted" && typeof suppliedPromptDisplayText === "string") {
|
|
19021
19364
|
meta[DAEMON_PROMPT_DISPLAY_TEXT_META_KEY] = suppliedPromptDisplayText;
|
|
@@ -20879,6 +21222,22 @@ var QwenAgent = class _QwenAgent {
|
|
|
20879
21222
|
}
|
|
20880
21223
|
return await this.extMethodInternal(method, normalizedParams);
|
|
20881
21224
|
} catch (error) {
|
|
21225
|
+
if ([
|
|
21226
|
+
"qwen/session/sources/list",
|
|
21227
|
+
"qwen/session/sources/upsert",
|
|
21228
|
+
"qwen/session/sources/remove",
|
|
21229
|
+
"qwen/session/sources/copy"
|
|
21230
|
+
].includes(method)) {
|
|
21231
|
+
if (!(error instanceof SessionSourceError)) {
|
|
21232
|
+
debugLogger9.error("[ACP] Session source ext-method error:", error);
|
|
21233
|
+
}
|
|
21234
|
+
return {
|
|
21235
|
+
sourceError: error instanceof SessionSourceError ? { code: error.code, message: error.message } : {
|
|
21236
|
+
code: "source_persistence_unavailable",
|
|
21237
|
+
message: "Session source operation failed"
|
|
21238
|
+
}
|
|
21239
|
+
};
|
|
21240
|
+
}
|
|
20882
21241
|
const writerError = getSessionWriterError(error);
|
|
20883
21242
|
if (writerError) {
|
|
20884
21243
|
throw new RequestError(writerError.rpcCode, writerError.message, {
|
|
@@ -22339,6 +22698,101 @@ var QwenAgent = class _QwenAgent {
|
|
|
22339
22698
|
}
|
|
22340
22699
|
return { requestId, cancelled };
|
|
22341
22700
|
}
|
|
22701
|
+
case "qwen/session/sources/list":
|
|
22702
|
+
case "qwen/session/sources/upsert":
|
|
22703
|
+
case "qwen/session/sources/remove":
|
|
22704
|
+
case "qwen/session/sources/copy": {
|
|
22705
|
+
if (!this.isTrustedManagedParent()) {
|
|
22706
|
+
throw RequestError.invalidParams(
|
|
22707
|
+
void 0,
|
|
22708
|
+
"Sources require a trusted private ACP parent"
|
|
22709
|
+
);
|
|
22710
|
+
}
|
|
22711
|
+
const sessionId = params["sessionId"];
|
|
22712
|
+
if (typeof sessionId !== "string" || !sessionId) {
|
|
22713
|
+
throw RequestError.invalidParams(
|
|
22714
|
+
void 0,
|
|
22715
|
+
"Invalid source sessionId"
|
|
22716
|
+
);
|
|
22717
|
+
}
|
|
22718
|
+
const session = this.sessionOrThrow(sessionId);
|
|
22719
|
+
const sourceConfig = session.getConfig();
|
|
22720
|
+
const service = sourceConfig.getSessionSourceService();
|
|
22721
|
+
if (method === "qwen/session/sources/copy" && !service && !sourceConfig.getChatRecordingService()) {
|
|
22722
|
+
return { warnings: [] };
|
|
22723
|
+
}
|
|
22724
|
+
if (!service)
|
|
22725
|
+
throw new SessionSourceError(
|
|
22726
|
+
"source_persistence_unavailable",
|
|
22727
|
+
"Session sources unavailable"
|
|
22728
|
+
);
|
|
22729
|
+
if (method === "qwen/session/sources/list")
|
|
22730
|
+
return { ...await service.list() };
|
|
22731
|
+
if (method === "qwen/session/sources/upsert")
|
|
22732
|
+
return { ...await service.upsert(params["input"]) };
|
|
22733
|
+
if (method === "qwen/session/sources/remove") {
|
|
22734
|
+
const sourceId = params["sourceId"];
|
|
22735
|
+
if (typeof sourceId !== "string" || !sourceId || sourceId.length > 200)
|
|
22736
|
+
throw new SessionSourceError("invalid_source", "Invalid source ID");
|
|
22737
|
+
return { ...await service.remove(sourceId) };
|
|
22738
|
+
}
|
|
22739
|
+
const targetSessionId = params["targetSessionId"];
|
|
22740
|
+
const targetCwd = params["targetCwd"];
|
|
22741
|
+
const attachmentIds = params["attachmentIds"];
|
|
22742
|
+
if (typeof targetSessionId !== "string" || !SESSION_ID_RE.test(targetSessionId) || targetSessionId === sessionId || typeof targetCwd !== "string" || path7.resolve(targetCwd) !== path7.resolve(sourceConfig.storage.getProjectRoot()) || !Array.isArray(attachmentIds) || attachmentIds.some((id) => typeof id !== "string")) {
|
|
22743
|
+
throw RequestError.invalidParams(
|
|
22744
|
+
void 0,
|
|
22745
|
+
"Invalid source copy target"
|
|
22746
|
+
);
|
|
22747
|
+
}
|
|
22748
|
+
const sources = (await service.list()).sources;
|
|
22749
|
+
if (!sources.length) return { warnings: [] };
|
|
22750
|
+
const targetData = await sourceConfig.getSessionService().loadSession(targetSessionId);
|
|
22751
|
+
if (!targetData?.conversation.messages.some(
|
|
22752
|
+
(record) => record.forkedFrom?.sessionId === sessionId
|
|
22753
|
+
)) {
|
|
22754
|
+
throw RequestError.invalidParams(
|
|
22755
|
+
void 0,
|
|
22756
|
+
"Source copy target is not a fork of this session"
|
|
22757
|
+
);
|
|
22758
|
+
}
|
|
22759
|
+
let temporaryConfig;
|
|
22760
|
+
try {
|
|
22761
|
+
const targetConfig = this.sessions.get(targetSessionId)?.getConfig() ?? (temporaryConfig = await this.newSessionConfig(
|
|
22762
|
+
targetCwd,
|
|
22763
|
+
[],
|
|
22764
|
+
loadSettings(targetCwd),
|
|
22765
|
+
void 0,
|
|
22766
|
+
targetSessionId,
|
|
22767
|
+
true,
|
|
22768
|
+
{
|
|
22769
|
+
skipMcpDiscovery: true,
|
|
22770
|
+
skipHooks: true,
|
|
22771
|
+
skipSkillManager: true,
|
|
22772
|
+
skipFileCheckpointing: true,
|
|
22773
|
+
lenientToolWarmup: true
|
|
22774
|
+
}
|
|
22775
|
+
));
|
|
22776
|
+
const targetService = targetConfig.getSessionSourceService();
|
|
22777
|
+
if (!targetService)
|
|
22778
|
+
throw new SessionSourceError(
|
|
22779
|
+
"source_persistence_unavailable",
|
|
22780
|
+
"Target sources unavailable"
|
|
22781
|
+
);
|
|
22782
|
+
return await targetService.copyFrom(
|
|
22783
|
+
sources,
|
|
22784
|
+
attachmentIds
|
|
22785
|
+
);
|
|
22786
|
+
} finally {
|
|
22787
|
+
if (temporaryConfig) {
|
|
22788
|
+
try {
|
|
22789
|
+
await this.cleanupUnstoredConfig(temporaryConfig);
|
|
22790
|
+
} catch (error) {
|
|
22791
|
+
debugLogger9.warn("Failed to clean up source copy config:", error);
|
|
22792
|
+
}
|
|
22793
|
+
}
|
|
22794
|
+
}
|
|
22795
|
+
}
|
|
22342
22796
|
case SERVE_CONTROL_EXT_METHODS.sessionArtifactsPersist: {
|
|
22343
22797
|
const sessionId = params["sessionId"];
|
|
22344
22798
|
if (typeof sessionId !== "string" || sessionId.length === 0) {
|
|
@@ -24851,9 +25305,7 @@ ${outputText}
|
|
|
24851
25305
|
config.setDisabledTools(new Set(disabled));
|
|
24852
25306
|
}
|
|
24853
25307
|
const workflowsWereEnabled = config.isWorkflowsEnabled();
|
|
24854
|
-
config.setWorkflowsEnabled(
|
|
24855
|
-
newMerged.tools?.workflowsEnabled === true
|
|
24856
|
-
);
|
|
25308
|
+
config.setWorkflowsEnabled(newMerged.tools?.workflowsEnabled);
|
|
24857
25309
|
if (config.isWorkflowsEnabled() !== workflowsWereEnabled) {
|
|
24858
25310
|
try {
|
|
24859
25311
|
await session.sendAvailableCommandsUpdate();
|
|
@@ -25266,6 +25718,9 @@ ${outputText}
|
|
|
25266
25718
|
if (sessionSource) {
|
|
25267
25719
|
config.setSessionSource(sessionSource.sourceType, sessionSource.sourceId);
|
|
25268
25720
|
}
|
|
25721
|
+
if (this.clientCapabilities?._meta?.["qwen.goalProposals"] === true) {
|
|
25722
|
+
config.setGoalProposalHostSupported(true);
|
|
25723
|
+
}
|
|
25269
25724
|
if (chatRecording !== false) {
|
|
25270
25725
|
this.initializingConfigs.add(config);
|
|
25271
25726
|
}
|
|
@@ -25315,6 +25770,9 @@ ${outputText}
|
|
|
25315
25770
|
});
|
|
25316
25771
|
});
|
|
25317
25772
|
}
|
|
25773
|
+
if (!provisionalWorkspace && chatRecording !== false) {
|
|
25774
|
+
this.bindSessionSourceService(config);
|
|
25775
|
+
}
|
|
25318
25776
|
try {
|
|
25319
25777
|
await config.initialize({
|
|
25320
25778
|
...initializeOptions,
|
|
@@ -25340,6 +25798,41 @@ ${outputText}
|
|
|
25340
25798
|
}
|
|
25341
25799
|
return config;
|
|
25342
25800
|
}
|
|
25801
|
+
bindSessionSourceService(config) {
|
|
25802
|
+
if (this.isTrustedManagedParent() && config.getChatRecordingService()) {
|
|
25803
|
+
config.setSessionSourceServiceFactory(() => {
|
|
25804
|
+
const sourceSessionId = config.getSessionId();
|
|
25805
|
+
const recording = config.getChatRecordingService();
|
|
25806
|
+
const sourceSessions = config.getSessionService();
|
|
25807
|
+
const workspaceCwd = config.storage.getProjectRoot();
|
|
25808
|
+
return new SessionSourceService({
|
|
25809
|
+
sessionId: sourceSessionId,
|
|
25810
|
+
workspaceCwd: /* @__PURE__ */ __name(() => workspaceCwd, "workspaceCwd"),
|
|
25811
|
+
load: /* @__PURE__ */ __name(async () => {
|
|
25812
|
+
if (!recording)
|
|
25813
|
+
throw new SessionSourceError(
|
|
25814
|
+
"source_persistence_unavailable",
|
|
25815
|
+
"Chat recording service unavailable"
|
|
25816
|
+
);
|
|
25817
|
+
await recording.flush();
|
|
25818
|
+
return sourceSessions.readSessionSources(sourceSessionId);
|
|
25819
|
+
}, "load"),
|
|
25820
|
+
persist: /* @__PURE__ */ __name(async (snapshot) => {
|
|
25821
|
+
if (!recording)
|
|
25822
|
+
throw new SessionSourceError(
|
|
25823
|
+
"source_persistence_unavailable",
|
|
25824
|
+
"Chat recording service unavailable"
|
|
25825
|
+
);
|
|
25826
|
+
await recording.recordSessionSourcesSnapshot(snapshot);
|
|
25827
|
+
}, "persist"),
|
|
25828
|
+
notify: /* @__PURE__ */ __name((revision) => this.connection.extNotification(
|
|
25829
|
+
"qwen/notify/session/sources-changed",
|
|
25830
|
+
{ sessionId: sourceSessionId, revision }
|
|
25831
|
+
), "notify")
|
|
25832
|
+
});
|
|
25833
|
+
});
|
|
25834
|
+
}
|
|
25835
|
+
}
|
|
25343
25836
|
async surfaceMcpFailuresWhenReady(config) {
|
|
25344
25837
|
try {
|
|
25345
25838
|
await config.waitForMcpReady();
|
|
@@ -25596,6 +26089,9 @@ ${outputText}
|
|
|
25596
26089
|
this.assertManagedSessionAdmission();
|
|
25597
26090
|
await config.activateProvisionalWorkspace();
|
|
25598
26091
|
this.assertManagedSessionAdmission();
|
|
26092
|
+
this.bindSessionSourceService(config);
|
|
26093
|
+
await config.registerSessionSourceTool();
|
|
26094
|
+
await config.getLlmClient().setTools();
|
|
25599
26095
|
this.setupFileSystem(config);
|
|
25600
26096
|
config.hydrateSessionRestoreFileHistory?.();
|
|
25601
26097
|
if (sessionData?.fileHistorySnapshots?.length) {
|
|
@@ -25603,6 +26099,7 @@ ${outputText}
|
|
|
25603
26099
|
}
|
|
25604
26100
|
await replaySessionHistory();
|
|
25605
26101
|
await options.beforeStartPostReplayServices?.(session);
|
|
26102
|
+
await config.getLlmClient().refreshStartupContextReminder();
|
|
25606
26103
|
session.installRewriter();
|
|
25607
26104
|
config.finalizeSessionRestore?.();
|
|
25608
26105
|
startNonInteractiveOpenAILogHousekeeping(config, settings);
|
|
@@ -25669,6 +26166,7 @@ ${outputText}
|
|
|
25669
26166
|
);
|
|
25670
26167
|
}
|
|
25671
26168
|
this.sessions.set(sessionId, session);
|
|
26169
|
+
this.registerHostedSession(sessionId, config, settings);
|
|
25672
26170
|
this.sessionApprovalModeConverged.set(
|
|
25673
26171
|
sessionId,
|
|
25674
26172
|
config.getApprovalMode()
|