@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
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
hostAssignsIpv6Loopback,
|
|
8
8
|
isOwnInterfaceAddress
|
|
9
9
|
} from "./chunk-24FVUD5P.js";
|
|
10
|
-
import {
|
|
11
|
-
resolveRemoteServeToken
|
|
12
|
-
} from "./chunk-F23YN37B.js";
|
|
13
10
|
import {
|
|
14
11
|
RUNTIME_STARTUP_CANCELLED_MESSAGE
|
|
15
12
|
} from "./chunk-QUPXZXLV.js";
|
|
13
|
+
import {
|
|
14
|
+
resolveRemoteServeToken
|
|
15
|
+
} from "./chunk-F23YN37B.js";
|
|
16
16
|
import {
|
|
17
17
|
ACCESS_LOG_CONTROLLER_LOCAL,
|
|
18
18
|
CAPABILITIES_SCHEMA_VERSION,
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
prepareManagedScratchRoot,
|
|
52
52
|
resolveAcpHttpEnabled,
|
|
53
53
|
toDaemonStatusMemoryLimits
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-B2TGBZXY.js";
|
|
55
55
|
import {
|
|
56
56
|
ConversationDirectoryIdentityError,
|
|
57
57
|
assertExactConversationRootIdentity,
|
|
@@ -72,6 +72,9 @@ import {
|
|
|
72
72
|
import {
|
|
73
73
|
setDeferredRuntimeRequestTiming
|
|
74
74
|
} from "./chunk-LAUEEBDL.js";
|
|
75
|
+
import {
|
|
76
|
+
normalizeSessionIdForLookup
|
|
77
|
+
} from "./chunk-ZEZKIS2K.js";
|
|
75
78
|
import {
|
|
76
79
|
require_express
|
|
77
80
|
} from "./chunk-SVWWF5TZ.js";
|
|
@@ -83,13 +86,14 @@ import {
|
|
|
83
86
|
isLoopbackAddress,
|
|
84
87
|
isLoopbackBind
|
|
85
88
|
} from "./chunk-DMEUXLSS.js";
|
|
86
|
-
import {
|
|
87
|
-
normalizeSessionIdForLookup
|
|
88
|
-
} from "./chunk-ZEZKIS2K.js";
|
|
89
89
|
import "./chunk-NYWWQ437.js";
|
|
90
90
|
import {
|
|
91
91
|
resolveSessionRestoreTimeoutMs
|
|
92
92
|
} from "./chunk-4JRM2BSM.js";
|
|
93
|
+
import {
|
|
94
|
+
ConversationRuntimeOwnershipError,
|
|
95
|
+
LIVE_HOST_PROTOCOL_VERSION
|
|
96
|
+
} from "./chunk-2Z3T52OC.js";
|
|
93
97
|
import {
|
|
94
98
|
DEFAULT_RING_SIZE
|
|
95
99
|
} from "./chunk-7U5G6JXI.js";
|
|
@@ -102,39 +106,21 @@ import {
|
|
|
102
106
|
normalizeMaxJournalBytes,
|
|
103
107
|
normalizeMaxJournalEvents
|
|
104
108
|
} from "./chunk-WCCLLK7X.js";
|
|
105
|
-
import {
|
|
106
|
-
resolveChannelCwd
|
|
107
|
-
} from "./chunk-AUTUFD5X.js";
|
|
108
|
-
import {
|
|
109
|
-
ConversationRuntimeOwnershipError,
|
|
110
|
-
LIVE_HOST_PROTOCOL_VERSION
|
|
111
|
-
} from "./chunk-2Z3T52OC.js";
|
|
112
109
|
import "./chunk-ZL4HFSL6.js";
|
|
113
|
-
import "./chunk-K6KS3LTN.js";
|
|
114
|
-
import "./chunk-OSHQMOBS.js";
|
|
115
110
|
import {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
preResolveServeFastPathHomeEnvOverrides
|
|
119
|
-
} from "./chunk-FV4DM2M4.js";
|
|
111
|
+
resolveChannelCwd
|
|
112
|
+
} from "./chunk-CSHX5ZC4.js";
|
|
120
113
|
import {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
workspaceRegistrationId
|
|
124
|
-
} from "./chunk-LWX4WDFF.js";
|
|
125
|
-
import "./chunk-TRQNRP2H.js";
|
|
114
|
+
assertChannelControlWorkspaceCapacity
|
|
115
|
+
} from "./chunk-6UK77U7D.js";
|
|
126
116
|
import {
|
|
127
117
|
LOAD_REPLAY_META_KEY
|
|
128
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-YKK2XXHF.js";
|
|
129
119
|
import "./chunk-FAWTMDX7.js";
|
|
130
|
-
import {
|
|
131
|
-
canonicalizeWorkspace,
|
|
132
|
-
translateAndCheckAbsoluteWorkspacePath
|
|
133
|
-
} from "./chunk-6PLDPT2C.js";
|
|
134
120
|
import {
|
|
135
121
|
ExtraCaInspectionError,
|
|
136
122
|
loadableCertificates
|
|
137
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-XDQUDARC.js";
|
|
138
124
|
import "./chunk-FYJ7W2PI.js";
|
|
139
125
|
import "./chunk-Z7B6SRPM.js";
|
|
140
126
|
import {
|
|
@@ -143,19 +129,25 @@ import {
|
|
|
143
129
|
import {
|
|
144
130
|
normalizeWorkerDiagnostic,
|
|
145
131
|
sanitizeWorkerDiagnostic
|
|
146
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-LEGNDA46.js";
|
|
133
|
+
import {
|
|
134
|
+
channelSelectionNames,
|
|
135
|
+
normalizeServeChannelSelection
|
|
136
|
+
} from "./chunk-GDWE23OR.js";
|
|
147
137
|
import {
|
|
148
138
|
QWEN_SERVER_TOKEN_ENV
|
|
149
139
|
} from "./chunk-GYTKQYDB.js";
|
|
150
|
-
import {
|
|
151
|
-
channelSelectionNames
|
|
152
|
-
} from "./chunk-ALMR3E6Q.js";
|
|
153
140
|
import {
|
|
154
141
|
ChannelDeliveryError,
|
|
155
142
|
isChannelDeliveryError
|
|
156
143
|
} from "./chunk-RKFGE7JH.js";
|
|
144
|
+
import {
|
|
145
|
+
MAX_CHANNEL_CONTROL_WORKSPACES
|
|
146
|
+
} from "./chunk-CJ3DHN5I.js";
|
|
157
147
|
import "./chunk-UDG5EZJI.js";
|
|
158
|
-
import
|
|
148
|
+
import {
|
|
149
|
+
redactLogCredentials
|
|
150
|
+
} from "./chunk-M5GB774H.js";
|
|
159
151
|
import {
|
|
160
152
|
EXTERNAL_TOOL_GUARD_PROVIDER_ATTACHED_VALUE,
|
|
161
153
|
EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
|
|
@@ -163,25 +155,40 @@ import {
|
|
|
163
155
|
PRIVATE_EXTERNAL_TOOL_GUARD_ENV,
|
|
164
156
|
PRIVATE_EXTERNAL_TOOL_GUARD_PROVIDER_ENV
|
|
165
157
|
} from "./chunk-3VUENPWF.js";
|
|
166
|
-
import "./chunk-
|
|
158
|
+
import "./chunk-K6KS3LTN.js";
|
|
159
|
+
import "./chunk-OSHQMOBS.js";
|
|
167
160
|
import {
|
|
168
161
|
sanitizeLogText
|
|
169
|
-
} from "./chunk-
|
|
170
|
-
import "./chunk-
|
|
171
|
-
import "./chunk-BW4333PP.js";
|
|
162
|
+
} from "./chunk-C4NLHK7X.js";
|
|
163
|
+
import "./chunk-IJOS26LH.js";
|
|
172
164
|
import {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
165
|
+
consumeServeFastPathRejectedLoaderKeys,
|
|
166
|
+
loadServeFastPathSettings,
|
|
167
|
+
preResolveServeFastPathHomeEnvOverrides
|
|
168
|
+
} from "./chunk-WXFK4MH7.js";
|
|
169
|
+
import "./chunk-BW4333PP.js";
|
|
176
170
|
import {
|
|
177
171
|
acquireInheritedLoaderEnvScrub,
|
|
178
172
|
clearLoaderKeyRejectionReporterIfCurrent,
|
|
179
173
|
scrubInheritedLoaderEnv,
|
|
180
174
|
setLoaderKeyRejectionReporter
|
|
181
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-VX63RJXE.js";
|
|
176
|
+
import {
|
|
177
|
+
resolveMaxRegisteredWorkspaces,
|
|
178
|
+
resolveWorkspaceInputs,
|
|
179
|
+
workspaceRegistrationId
|
|
180
|
+
} from "./chunk-SNZWDV67.js";
|
|
181
|
+
import {
|
|
182
|
+
canonicalizeWorkspace,
|
|
183
|
+
translateAndCheckAbsoluteWorkspacePath
|
|
184
|
+
} from "./chunk-6PLDPT2C.js";
|
|
185
|
+
import {
|
|
186
|
+
getGlobalQwenDirLite,
|
|
187
|
+
resolveConfigPathLite
|
|
188
|
+
} from "./chunk-IDS7MSUP.js";
|
|
182
189
|
import {
|
|
183
190
|
getCliVersion
|
|
184
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-ONGZNOIP.js";
|
|
185
192
|
import "./chunk-W3N5XAZ6.js";
|
|
186
193
|
import "./chunk-NPQ5ZKRP.js";
|
|
187
194
|
import {
|
|
@@ -194,10 +201,10 @@ import {
|
|
|
194
201
|
} from "./chunk-32CM56LO.js";
|
|
195
202
|
import "./chunk-LJZSMWOH.js";
|
|
196
203
|
import "./chunk-GOFAQQZA.js";
|
|
197
|
-
import "./chunk-65I7S4Z3.js";
|
|
198
|
-
import "./chunk-6HUXPLB5.js";
|
|
199
204
|
import "./chunk-TWPJO254.js";
|
|
200
205
|
import "./chunk-CQ35AJ4Z.js";
|
|
206
|
+
import "./chunk-65I7S4Z3.js";
|
|
207
|
+
import "./chunk-6HUXPLB5.js";
|
|
201
208
|
import {
|
|
202
209
|
require_proper_lockfile
|
|
203
210
|
} from "./chunk-MLXTMF7H.js";
|
|
@@ -206,6 +213,12 @@ import "./chunk-5ETULJLP.js";
|
|
|
206
213
|
import {
|
|
207
214
|
MEMORY_PROJECT_SCOPES
|
|
208
215
|
} from "./chunk-HD7O6WLV.js";
|
|
216
|
+
import {
|
|
217
|
+
TraceFlags,
|
|
218
|
+
init_esm,
|
|
219
|
+
isSpanContextValid,
|
|
220
|
+
trace
|
|
221
|
+
} from "./chunk-TBWQLLFO.js";
|
|
209
222
|
import {
|
|
210
223
|
finalizeStartupProfile,
|
|
211
224
|
profileCheckpoint
|
|
@@ -218,12 +231,6 @@ import {
|
|
|
218
231
|
} from "./chunk-7FA2II6K.js";
|
|
219
232
|
import "./chunk-DMTGGOSA.js";
|
|
220
233
|
import "./chunk-YQ3U5MUC.js";
|
|
221
|
-
import {
|
|
222
|
-
TraceFlags,
|
|
223
|
-
init_esm,
|
|
224
|
-
isSpanContextValid,
|
|
225
|
-
trace
|
|
226
|
-
} from "./chunk-TBWQLLFO.js";
|
|
227
234
|
import {
|
|
228
235
|
init_esbuild_shims
|
|
229
236
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3098,6 +3105,16 @@ var QWEN_SERVE_WRITER_IDLE_TIMEOUT_MS_ENV = "QWEN_SERVE_WRITER_IDLE_TIMEOUT_MS";
|
|
|
3098
3105
|
var SHUTDOWN_FORCE_CLOSE_MS = 5e3;
|
|
3099
3106
|
var DAEMON_LOG_FORCED_FLUSH_BUDGET_MS = 250;
|
|
3100
3107
|
var DEFAULT_LIVE_DISCOVERY_RETRY_MS = 5e3;
|
|
3108
|
+
var ENSURE_KEEP_ALIVE_MS = 10 * 6e4;
|
|
3109
|
+
function deepestErrorMessage(err) {
|
|
3110
|
+
if (!(err instanceof Error)) return String(err);
|
|
3111
|
+
let deepest = err;
|
|
3112
|
+
while (deepest.cause instanceof Error) {
|
|
3113
|
+
deepest = deepest.cause;
|
|
3114
|
+
}
|
|
3115
|
+
return deepest.message;
|
|
3116
|
+
}
|
|
3117
|
+
__name(deepestErrorMessage, "deepestErrorMessage");
|
|
3101
3118
|
function channelDeliveryPublicError(code) {
|
|
3102
3119
|
switch (code) {
|
|
3103
3120
|
case "channel_worker_unavailable":
|
|
@@ -3246,7 +3263,8 @@ function isNonNegativeIntegerOrInfinity(value) {
|
|
|
3246
3263
|
return value === Number.POSITIVE_INFINITY || Number.isFinite(value) && Number.isInteger(value) && value >= 0;
|
|
3247
3264
|
}
|
|
3248
3265
|
__name(isNonNegativeIntegerOrInfinity, "isNonNegativeIntegerOrInfinity");
|
|
3249
|
-
function deriveDefaultMaxTotalSessions(maxSessionsPerWorkspace, workspaceCount) {
|
|
3266
|
+
function deriveDefaultMaxTotalSessions(maxSessionsPerWorkspace, workspaceCount, maxRegisteredWorkspaces) {
|
|
3267
|
+
if (maxRegisteredWorkspaces > 25) return 800;
|
|
3250
3268
|
if (workspaceCount <= 1) return void 0;
|
|
3251
3269
|
const perWorkspace = maxSessionsPerWorkspace ?? DEFAULT_MAX_SESSIONS;
|
|
3252
3270
|
if (perWorkspace === 0 || perWorkspace === Number.POSITIVE_INFINITY) {
|
|
@@ -3924,12 +3942,12 @@ __name(hasRetryableChannelWorkerShutdownError, "hasRetryableChannelWorkerShutdow
|
|
|
3924
3942
|
var channelWorkerRuntimePromise;
|
|
3925
3943
|
async function loadChannelWorkerRuntime() {
|
|
3926
3944
|
channelWorkerRuntimePromise ??= Promise.all([
|
|
3927
|
-
import("./channel-worker-supervisor-
|
|
3928
|
-
import("./pidfile-
|
|
3929
|
-
import("./runtime-
|
|
3945
|
+
import("./channel-worker-supervisor-HSFAKML6.js"),
|
|
3946
|
+
import("./pidfile-JAIOWPI3.js"),
|
|
3947
|
+
import("./runtime-5RO22P2N.js"),
|
|
3930
3948
|
import("./cli-entry-path-4VJ3Y6T2.js"),
|
|
3931
|
-
import("./channel-worker-group-
|
|
3932
|
-
import("./channel-worker-manager-
|
|
3949
|
+
import("./channel-worker-group-X6WH4XWF.js"),
|
|
3950
|
+
import("./channel-worker-manager-SICFJDPJ.js")
|
|
3933
3951
|
]).then(
|
|
3934
3952
|
([
|
|
3935
3953
|
supervisor,
|
|
@@ -4035,7 +4053,7 @@ function shouldPreheatBridge(deps) {
|
|
|
4035
4053
|
__name(shouldPreheatBridge, "shouldPreheatBridge");
|
|
4036
4054
|
var coreRuntimePromise;
|
|
4037
4055
|
function loadCoreRuntime() {
|
|
4038
|
-
coreRuntimePromise ??= import("./core-runtime-
|
|
4056
|
+
coreRuntimePromise ??= import("./core-runtime-YGUA42AZ.js");
|
|
4039
4057
|
return coreRuntimePromise;
|
|
4040
4058
|
}
|
|
4041
4059
|
__name(loadCoreRuntime, "loadCoreRuntime");
|
|
@@ -4071,10 +4089,10 @@ __name(resolveDaemonLogBaseDirForRun, "resolveDaemonLogBaseDirForRun");
|
|
|
4071
4089
|
var settingsRuntimePromise;
|
|
4072
4090
|
function loadSettingsRuntimeModules() {
|
|
4073
4091
|
settingsRuntimePromise ??= Promise.all([
|
|
4074
|
-
import("./settings-
|
|
4075
|
-
import("./environment-
|
|
4076
|
-
import("./loadedSettingsAdapter-
|
|
4077
|
-
import("./trustedFolders-
|
|
4092
|
+
import("./settings-SWQH36PO.js"),
|
|
4093
|
+
import("./environment-URPO5ORZ.js"),
|
|
4094
|
+
import("./loadedSettingsAdapter-NZORJLSD.js"),
|
|
4095
|
+
import("./trustedFolders-GKQZXZSV.js")
|
|
4078
4096
|
]).then(([settings, environment, loadedSettingsAdapter, trustedFolders]) => ({
|
|
4079
4097
|
settings,
|
|
4080
4098
|
environment,
|
|
@@ -4087,8 +4105,8 @@ __name(loadSettingsRuntimeModules, "loadSettingsRuntimeModules");
|
|
|
4087
4105
|
var channelWebhookConfigRuntimePromise;
|
|
4088
4106
|
function loadChannelWebhookConfigRuntime() {
|
|
4089
4107
|
channelWebhookConfigRuntimePromise ??= Promise.all([
|
|
4090
|
-
import("./runtime-
|
|
4091
|
-
import("./config-utils-
|
|
4108
|
+
import("./runtime-5RO22P2N.js"),
|
|
4109
|
+
import("./config-utils-S5LFS4RN.js")
|
|
4092
4110
|
]).then(([channelRuntime, configUtils]) => ({
|
|
4093
4111
|
loadChannelsConfig: channelRuntime.loadChannelsConfig,
|
|
4094
4112
|
parseChannelWebhookConfig: configUtils.parseChannelWebhookConfig
|
|
@@ -4115,19 +4133,19 @@ async function loadServeRuntimeModules() {
|
|
|
4115
4133
|
workspaceRuntimeCoordinatorModule,
|
|
4116
4134
|
promptLedgerModule
|
|
4117
4135
|
] = await Promise.all([
|
|
4118
|
-
import("./server-
|
|
4119
|
-
import("./bridge-
|
|
4120
|
-
import("./spawnChannel-
|
|
4121
|
-
import("./process-registry-
|
|
4122
|
-
import("./workspace-service-
|
|
4136
|
+
import("./server-SWXVPRCS.js"),
|
|
4137
|
+
import("./bridge-YF6NYRPZ.js"),
|
|
4138
|
+
import("./spawnChannel-7ZVM3GBU.js"),
|
|
4139
|
+
import("./process-registry-X6ZCASEN.js"),
|
|
4140
|
+
import("./workspace-service-HWXZSA4J.js"),
|
|
4123
4141
|
import("./types-HKLPXZB3.js"),
|
|
4124
|
-
import("./daemon-status-provider-
|
|
4125
|
-
import("./workspace-providers-status-
|
|
4126
|
-
import("./workspace-skills-status-
|
|
4127
|
-
import("./total-session-admission-
|
|
4128
|
-
import("./workspace-registry-
|
|
4129
|
-
import("./workspace-runtime-coordinator-
|
|
4130
|
-
import("./prompt-terminal-ledger-
|
|
4142
|
+
import("./daemon-status-provider-RTKHKUFJ.js"),
|
|
4143
|
+
import("./workspace-providers-status-QBRBEFTO.js"),
|
|
4144
|
+
import("./workspace-skills-status-D6QXUWCC.js"),
|
|
4145
|
+
import("./total-session-admission-BOARHBZU.js"),
|
|
4146
|
+
import("./workspace-registry-CJV7KVGF.js"),
|
|
4147
|
+
import("./workspace-runtime-coordinator-7LYMFMFF.js"),
|
|
4148
|
+
import("./prompt-terminal-ledger-BYXHEUHX.js")
|
|
4131
4149
|
]);
|
|
4132
4150
|
return {
|
|
4133
4151
|
createServeApp: serverModule.createServeApp,
|
|
@@ -4240,6 +4258,14 @@ function createBootstrapCapabilities(input) {
|
|
|
4240
4258
|
transports: ["rest"],
|
|
4241
4259
|
policy: { permission: input.permissionPolicy ?? "first-responder" },
|
|
4242
4260
|
limits: {
|
|
4261
|
+
maxRegisteredWorkspaces: input.opts.maxRegisteredWorkspaces,
|
|
4262
|
+
maxChannelControlWorkspaces: MAX_CHANNEL_CONTROL_WORKSPACES,
|
|
4263
|
+
...input.opts.maxTotalSessions !== void 0 ? {
|
|
4264
|
+
maxSessionsPerWorkspace: advertisedMaxSessions(
|
|
4265
|
+
input.opts.maxSessions
|
|
4266
|
+
),
|
|
4267
|
+
maxTotalSessions: positiveFiniteOrNull(input.opts.maxTotalSessions)
|
|
4268
|
+
} : {},
|
|
4243
4269
|
maxPendingPromptsPerSession: advertisedMaxPendingPromptsPerSession(
|
|
4244
4270
|
input.opts.maxPendingPromptsPerSession
|
|
4245
4271
|
),
|
|
@@ -4500,6 +4526,8 @@ function createBootstrapServeApp(input) {
|
|
|
4500
4526
|
sessionShellCommandEnabled
|
|
4501
4527
|
},
|
|
4502
4528
|
limits: {
|
|
4529
|
+
maxRegisteredWorkspaces: opts.maxRegisteredWorkspaces,
|
|
4530
|
+
maxChannelControlWorkspaces: MAX_CHANNEL_CONTROL_WORKSPACES,
|
|
4503
4531
|
maxSessions: advertisedMaxSessions(opts.maxSessions),
|
|
4504
4532
|
maxTotalSessions: positiveFiniteOrNull(opts.maxTotalSessions),
|
|
4505
4533
|
maxPendingPromptsPerSession: advertisedMaxPendingPromptsPerSession(
|
|
@@ -4941,6 +4969,10 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4941
4969
|
const opts = {
|
|
4942
4970
|
...optsIn,
|
|
4943
4971
|
hostname: bindHostname,
|
|
4972
|
+
maxRegisteredWorkspaces: resolveMaxRegisteredWorkspaces(
|
|
4973
|
+
optsIn.maxRegisteredWorkspaces,
|
|
4974
|
+
daemonRuntimeBaseEnv
|
|
4975
|
+
),
|
|
4944
4976
|
token,
|
|
4945
4977
|
promptDeadlineMs,
|
|
4946
4978
|
writerIdleTimeoutMs,
|
|
@@ -5163,9 +5195,9 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5163
5195
|
}
|
|
5164
5196
|
}
|
|
5165
5197
|
}
|
|
5166
|
-
if (workspaceInputs.length >
|
|
5198
|
+
if (workspaceInputs.length > opts.maxRegisteredWorkspaces) {
|
|
5167
5199
|
throw new Error(
|
|
5168
|
-
`At most ${
|
|
5200
|
+
`At most ${opts.maxRegisteredWorkspaces} --workspace values may be registered.`
|
|
5169
5201
|
);
|
|
5170
5202
|
}
|
|
5171
5203
|
opts.daemonMemoryBudget = resolveDaemonMemoryBudget({
|
|
@@ -5205,8 +5237,9 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5205
5237
|
);
|
|
5206
5238
|
}
|
|
5207
5239
|
let workspaceRegistrationStore = deps.workspaceRegistrationStore;
|
|
5240
|
+
const explicitWorkspaceCount = workspaceInputs.length;
|
|
5208
5241
|
if (workspaceRegistrationStore === void 0 && process.env["QWEN_SERVE_NO_PERSISTENT_REGISTRATION"] !== "1") {
|
|
5209
|
-
const { WorkspaceRegistrationStore } = await import("./workspace-registration-store-
|
|
5242
|
+
const { WorkspaceRegistrationStore } = await import("./workspace-registration-store-WUKTMJPW.js");
|
|
5210
5243
|
workspaceRegistrationStore = new WorkspaceRegistrationStore(boundWorkspace);
|
|
5211
5244
|
}
|
|
5212
5245
|
if (workspaceRegistrationStore) {
|
|
@@ -5261,14 +5294,6 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5261
5294
|
);
|
|
5262
5295
|
continue;
|
|
5263
5296
|
}
|
|
5264
|
-
if (workspaceInputs.length >= MAX_REGISTERED_WORKSPACES) {
|
|
5265
|
-
writeStderrLine(
|
|
5266
|
-
`qwen serve: skipping persisted workspace registration ${JSON.stringify(
|
|
5267
|
-
storedWorkspace
|
|
5268
|
-
)}: workspace limit reached`
|
|
5269
|
-
);
|
|
5270
|
-
continue;
|
|
5271
|
-
}
|
|
5272
5297
|
workspaceInputs.push({
|
|
5273
5298
|
raw: storedWorkspace,
|
|
5274
5299
|
cwd,
|
|
@@ -5283,6 +5308,11 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5283
5308
|
);
|
|
5284
5309
|
}
|
|
5285
5310
|
}
|
|
5311
|
+
if (workspaceInputs.length > opts.maxRegisteredWorkspaces) {
|
|
5312
|
+
throw new Error(
|
|
5313
|
+
`${explicitWorkspaceCount} explicit + ${workspaceInputs.length - explicitWorkspaceCount} restored workspaces exceed the configured limit of ${opts.maxRegisteredWorkspaces}. Restart with the previous capacity, forget registrations and reduce explicit --workspace values before lowering the limit. The registration store was not changed.`
|
|
5314
|
+
);
|
|
5315
|
+
}
|
|
5286
5316
|
if (workspaceInputs.length > 1 && deps.bridge) {
|
|
5287
5317
|
throw new Error(
|
|
5288
5318
|
"Injected bridge dependencies are only supported with a single workspace; multiple --workspace values require runQwenServe to construct one bridge per workspace."
|
|
@@ -5308,7 +5338,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5308
5338
|
throw err;
|
|
5309
5339
|
}
|
|
5310
5340
|
writeStderrLine(
|
|
5311
|
-
`qwen serve: could not read settings for context.fileName / policy.* (${err instanceof Error ? err.message : String(err)}); falling back to defaults. Restart with a valid settings.json to apply context.fileName / policy.* overrides.`
|
|
5341
|
+
`qwen serve: could not read settings for context.fileName / policy.* / serve.channels (${err instanceof Error ? err.message : String(err)}); falling back to defaults. Restart with a valid settings.json to apply context.fileName / policy.* / serve.channels overrides.`
|
|
5312
5342
|
);
|
|
5313
5343
|
}
|
|
5314
5344
|
const daemonLogBaseDir = await resolveDaemonLogBaseDirForRun({
|
|
@@ -5321,6 +5351,54 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5321
5351
|
baseDir: daemonLogBaseDir
|
|
5322
5352
|
});
|
|
5323
5353
|
loggerLifecycle.initialized(daemonLog);
|
|
5354
|
+
let channelSelectionFromSettings = false;
|
|
5355
|
+
const reportConfiguredChannelStartupFailure = /* @__PURE__ */ __name((error) => {
|
|
5356
|
+
const message = sanitizeLogText(
|
|
5357
|
+
redactLogCredentials(
|
|
5358
|
+
error instanceof Error ? error.message : String(error)
|
|
5359
|
+
),
|
|
5360
|
+
512
|
|
5361
|
+
);
|
|
5362
|
+
const detail = /[.!?]$/.test(message) ? message : `${message}.`;
|
|
5363
|
+
writeStderrLine(
|
|
5364
|
+
`qwen serve: workspace serve.channels was not restored: ${detail} Continuing without channels.`
|
|
5365
|
+
);
|
|
5366
|
+
daemonLog.warn(
|
|
5367
|
+
`workspace serve.channels was not restored: ${detail} Continuing without channels`
|
|
5368
|
+
);
|
|
5369
|
+
}, "reportConfiguredChannelStartupFailure");
|
|
5370
|
+
if (!opts.channelSelection && bootSettings?.serve?.channels !== void 0) {
|
|
5371
|
+
try {
|
|
5372
|
+
const rawChannels = bootSettings.serve.channels;
|
|
5373
|
+
if (!Array.isArray(rawChannels) || !rawChannels.every((name) => typeof name === "string")) {
|
|
5374
|
+
throw new Error("serve.channels must be a string array.");
|
|
5375
|
+
}
|
|
5376
|
+
const configuredChannels = rawChannels.filter((name, index) => {
|
|
5377
|
+
if (!name || name !== name.trim() || sanitizeLogText(name, name.length) !== name) {
|
|
5378
|
+
daemonLog.warn(
|
|
5379
|
+
`ignored invalid workspace serve.channels entry at index ${index}`
|
|
5380
|
+
);
|
|
5381
|
+
return false;
|
|
5382
|
+
}
|
|
5383
|
+
return true;
|
|
5384
|
+
});
|
|
5385
|
+
opts.channelSelection = normalizeServeChannelSelection(
|
|
5386
|
+
configuredChannels,
|
|
5387
|
+
"serve.channels"
|
|
5388
|
+
);
|
|
5389
|
+
if (opts.channelSelection) {
|
|
5390
|
+
channelSelectionFromSettings = true;
|
|
5391
|
+
channelRuntime = await ensureChannelRuntime();
|
|
5392
|
+
daemonLog.info("restoring channels from workspace serve.channels", {
|
|
5393
|
+
channels: channelSelectionNames(opts.channelSelection),
|
|
5394
|
+
workspaceCwd: boundWorkspace
|
|
5395
|
+
});
|
|
5396
|
+
}
|
|
5397
|
+
} catch (error) {
|
|
5398
|
+
opts.channelSelection = void 0;
|
|
5399
|
+
reportConfiguredChannelStartupFailure(error);
|
|
5400
|
+
}
|
|
5401
|
+
}
|
|
5324
5402
|
daemonLog.info("project memory scope resolved", {
|
|
5325
5403
|
projectMemoryScope: resolvedMemoryProjectScope,
|
|
5326
5404
|
projectMemoryScopeSource: memoryProjectScopeSource,
|
|
@@ -5472,7 +5550,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5472
5550
|
}
|
|
5473
5551
|
opts.maxTotalSessions ??= deriveDefaultMaxTotalSessions(
|
|
5474
5552
|
opts.maxSessions,
|
|
5475
|
-
workspaceInputs.length
|
|
5553
|
+
workspaceInputs.length,
|
|
5554
|
+
opts.maxRegisteredWorkspaces
|
|
5476
5555
|
);
|
|
5477
5556
|
const inheritedNoPool = process.env["QWEN_SERVE_NO_MCP_POOL"] === "1";
|
|
5478
5557
|
if (opts.mcpPoolActive === void 0 && inheritedNoPool) {
|
|
@@ -5497,7 +5576,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5497
5576
|
"qwen serve: required external tool guard handshake succeeded."
|
|
5498
5577
|
);
|
|
5499
5578
|
}
|
|
5500
|
-
const { createDaemonToolGuard } = await import("./daemon-git-worktree-guard-
|
|
5579
|
+
const { createDaemonToolGuard } = await import("./daemon-git-worktree-guard-3AWINPPX.js");
|
|
5501
5580
|
const daemonToolGuardHandler = createDaemonToolGuard(
|
|
5502
5581
|
externalToolGuardHandler
|
|
5503
5582
|
);
|
|
@@ -5848,7 +5927,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5848
5927
|
loadCoreRuntime(),
|
|
5849
5928
|
loadSettingsRuntimeModules(),
|
|
5850
5929
|
cliVersionPromise,
|
|
5851
|
-
import("./daemon-trust-policy-
|
|
5930
|
+
import("./daemon-trust-policy-6YQOC7B6.js")
|
|
5852
5931
|
]);
|
|
5853
5932
|
getWorkspaceRuntimeCoordinatorIfSupported = runtime.getWorkspaceRuntimeCoordinatorIfSupported;
|
|
5854
5933
|
cliVersion = resolvedCliVersion;
|
|
@@ -6256,7 +6335,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6256
6335
|
}), "persistDisabledToolsFn");
|
|
6257
6336
|
const persistDisabledSkillsFn = /* @__PURE__ */ __name((workspace, skillName, enabled, assertGenerationOpen) => withSettingsLock(workspace, async () => {
|
|
6258
6337
|
assertGenerationOpen?.();
|
|
6259
|
-
const { skillSettingStrings, updateWorkspaceSkillSettingLists } = await import("./skill-settings-
|
|
6338
|
+
const { skillSettingStrings, updateWorkspaceSkillSettingLists } = await import("./skill-settings-JU72PCII.js");
|
|
6260
6339
|
const fresh = loadSettingsForPersistence(workspace);
|
|
6261
6340
|
const workspaceDisabled = skillSettingStrings(
|
|
6262
6341
|
fresh,
|
|
@@ -6306,7 +6385,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6306
6385
|
}), "persistDisabledSkillsFn");
|
|
6307
6386
|
const persistDisabledSkillsBatchFn = /* @__PURE__ */ __name((workspace, skillNames, enabled, assertGenerationOpen) => withSettingsLock(workspace, async () => {
|
|
6308
6387
|
assertGenerationOpen?.();
|
|
6309
|
-
const { skillSettingStrings, updateWorkspaceSkillSettingLists } = await import("./skill-settings-
|
|
6388
|
+
const { skillSettingStrings, updateWorkspaceSkillSettingLists } = await import("./skill-settings-JU72PCII.js");
|
|
6310
6389
|
const fresh = loadSettingsForPersistence(workspace);
|
|
6311
6390
|
const initialDisabled = skillSettingStrings(
|
|
6312
6391
|
fresh,
|
|
@@ -6397,10 +6476,10 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6397
6476
|
}
|
|
6398
6477
|
}), "persistSettingsFn");
|
|
6399
6478
|
const [{ createSubSessionLauncher }, scheduledTaskRoutes] = await Promise.all([
|
|
6400
|
-
import("./create-sub-session-
|
|
6401
|
-
import("./scheduled-tasks-
|
|
6479
|
+
import("./create-sub-session-SEK6KCYR.js"),
|
|
6480
|
+
import("./scheduled-tasks-YGERFWLZ.js")
|
|
6402
6481
|
]);
|
|
6403
|
-
const { sessionAttachmentsRoots } = await import("./session-attachments-root-
|
|
6482
|
+
const { sessionAttachmentsRoots } = await import("./session-attachments-root-SOZCTQWW.js");
|
|
6404
6483
|
const createCurrentSessionScheduledTaskHandler = /* @__PURE__ */ __name((workspaceCwd, runtimeBaseDir, getBridge, assertGenerationOpen) => async ({
|
|
6405
6484
|
callerSessionId,
|
|
6406
6485
|
cron,
|
|
@@ -7241,7 +7320,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7241
7320
|
};
|
|
7242
7321
|
sessionPrRefreshTimer?.dispose();
|
|
7243
7322
|
const refreshGeneration = ++sessionPrRefreshGeneration;
|
|
7244
|
-
void import("./session-pr-refresh-
|
|
7323
|
+
void import("./session-pr-refresh-F7XUBQBH.js").then((mod) => {
|
|
7245
7324
|
if (refreshGeneration !== sessionPrRefreshGeneration) return;
|
|
7246
7325
|
sessionPrRefreshTimer = mod.startSessionPrRefreshTimer({
|
|
7247
7326
|
workspaceRegistry,
|
|
@@ -7911,8 +7990,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7911
7990
|
{ createChannelManagementService },
|
|
7912
7991
|
{ WorkspaceChannelSettingsStore }
|
|
7913
7992
|
] = await Promise.all([
|
|
7914
|
-
import("./channel-management-service-
|
|
7915
|
-
import("./channel-settings-store-
|
|
7993
|
+
import("./channel-management-service-E4HTMU7T.js"),
|
|
7994
|
+
import("./channel-settings-store-FZ5VKHQD.js")
|
|
7916
7995
|
]);
|
|
7917
7996
|
return createChannelManagementService({
|
|
7918
7997
|
workspaceCwd: targetRuntime.workspaceCwd,
|
|
@@ -7966,6 +8045,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7966
8045
|
throw new Error("Workspace runtime publication validation failed.");
|
|
7967
8046
|
}, "validateWorkspaceRuntimeForPublication");
|
|
7968
8047
|
const app2 = runtime.createServeApp(opts, () => actualPort, {
|
|
8048
|
+
maxChannelControlWorkspaces: MAX_CHANNEL_CONTROL_WORKSPACES,
|
|
7969
8049
|
serveAppLifecycle,
|
|
7970
8050
|
liveDiscoveryStableBaseDir,
|
|
7971
8051
|
workspaceRegistry,
|
|
@@ -8117,8 +8197,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8117
8197
|
{ createWorkspaceTrustReconciler },
|
|
8118
8198
|
{ createDaemonTrustPolicyMonitor }
|
|
8119
8199
|
] = await Promise.all([
|
|
8120
|
-
import("./workspace-trust-reconciler-
|
|
8121
|
-
import("./daemon-trust-policy-monitor-
|
|
8200
|
+
import("./workspace-trust-reconciler-VZX7G7CZ.js"),
|
|
8201
|
+
import("./daemon-trust-policy-monitor-EN5L23GS.js")
|
|
8122
8202
|
]);
|
|
8123
8203
|
const materializationFor = /* @__PURE__ */ __name((entry, snapshot, decision) => {
|
|
8124
8204
|
const boundWorkspaces2 = entry.primary && decision.targetTrusted ? runtime.resolveBoundWorkspacesFromIdeEnv(
|
|
@@ -8315,7 +8395,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8315
8395
|
// through (and start the runtime) exactly like the warm app would.
|
|
8316
8396
|
// Dynamic import keeps web-shell-static out of the serve fast-path
|
|
8317
8397
|
// static closure (see the import-boundary guards in fast-path.test.ts).
|
|
8318
|
-
isPreAuthRequest: webShellMounted ? (req) => import("./web-shell-static-
|
|
8398
|
+
isPreAuthRequest: webShellMounted ? (req) => import("./web-shell-static-CCN4JZEE.js").then(
|
|
8319
8399
|
(webShellStatic) => webShellStatic.isPreAuthWebShellRequest(req)
|
|
8320
8400
|
) : void 0
|
|
8321
8401
|
});
|
|
@@ -8334,11 +8414,12 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8334
8414
|
`Invalid maxConnections: ${opts.maxConnections}. Must be >= 0 (0 / Infinity = unlimited).`
|
|
8335
8415
|
);
|
|
8336
8416
|
}
|
|
8337
|
-
|
|
8338
|
-
|
|
8339
|
-
|
|
8417
|
+
let channelValidationSettingsRuntime;
|
|
8418
|
+
let channelValidationTrustPolicy;
|
|
8419
|
+
let channelValidationTrustSnapshot;
|
|
8340
8420
|
const resolveChannelWorkspaceGroupsAtListen = /* @__PURE__ */ __name(() => {
|
|
8341
|
-
|
|
8421
|
+
const validationSettingsRuntime = channelValidationSettingsRuntime;
|
|
8422
|
+
if (!opts.channelSelection || !validationSettingsRuntime || !channelRuntime) {
|
|
8342
8423
|
return void 0;
|
|
8343
8424
|
}
|
|
8344
8425
|
const registry = (runtimeApp ?? runtimeAppForCleanup)?.locals?.["workspaceRegistry"];
|
|
@@ -8378,15 +8459,12 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8378
8459
|
{ code: "untrusted_workspace" }
|
|
8379
8460
|
);
|
|
8380
8461
|
}
|
|
8381
|
-
const effectiveEnv = runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) :
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
workspaceTrusted: true
|
|
8388
|
-
}
|
|
8389
|
-
).merged,
|
|
8462
|
+
const effectiveEnv = runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) : validationSettingsRuntime.environment.buildRuntimeEnvironment(
|
|
8463
|
+
validationSettingsRuntime.settings.loadSettings(workspace.cwd, {
|
|
8464
|
+
skipLoadEnvironment: true,
|
|
8465
|
+
skipWorkspaceSettings: false,
|
|
8466
|
+
workspaceTrusted: true
|
|
8467
|
+
}).merged,
|
|
8390
8468
|
workspace.cwd,
|
|
8391
8469
|
daemonRuntimeBaseEnv,
|
|
8392
8470
|
trusted
|
|
@@ -8397,7 +8475,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8397
8475
|
const workspaces = workspaceInputs.map((workspace, index) => {
|
|
8398
8476
|
const runtime = resolveRuntime(workspace.cwd);
|
|
8399
8477
|
const trusted = resolveTrusted(workspace.cwd, index === 0, runtime);
|
|
8400
|
-
const settings =
|
|
8478
|
+
const settings = validationSettingsRuntime.settings.loadSettings(
|
|
8401
8479
|
workspace.cwd,
|
|
8402
8480
|
{
|
|
8403
8481
|
skipLoadEnvironment: true,
|
|
@@ -8408,7 +8486,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8408
8486
|
settingsByWorkspace.set(workspace.cwd, settings);
|
|
8409
8487
|
channelWebhookEnvByWorkspace.set(
|
|
8410
8488
|
workspace.cwd,
|
|
8411
|
-
runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) :
|
|
8489
|
+
runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) : validationSettingsRuntime.environment.buildRuntimeEnvironment(
|
|
8412
8490
|
settings.merged,
|
|
8413
8491
|
workspace.cwd,
|
|
8414
8492
|
daemonRuntimeBaseEnv,
|
|
@@ -8439,7 +8517,23 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8439
8517
|
return grouping.groups;
|
|
8440
8518
|
}, "resolveChannelWorkspaceGroupsAtListen");
|
|
8441
8519
|
if (opts.channelSelection) {
|
|
8442
|
-
|
|
8520
|
+
try {
|
|
8521
|
+
channelValidationSettingsRuntime = await loadSettingsRuntimeModules();
|
|
8522
|
+
channelValidationTrustPolicy = await import("./daemon-trust-policy-6YQOC7B6.js");
|
|
8523
|
+
channelValidationTrustSnapshot = await channelValidationTrustPolicy.readDaemonTrustPolicySnapshot();
|
|
8524
|
+
if (opts.channelSelection.mode === "names" && workspaceInputs.length > MAX_CHANNEL_CONTROL_WORKSPACES) {
|
|
8525
|
+
const groups = resolveChannelWorkspaceGroupsAtListen();
|
|
8526
|
+
assertChannelControlWorkspaceCapacity(
|
|
8527
|
+
groups?.map((group) => group.workspaceCwd) ?? []
|
|
8528
|
+
);
|
|
8529
|
+
}
|
|
8530
|
+
reserveChannelServicePidfile(opts.channelSelection);
|
|
8531
|
+
} catch (error) {
|
|
8532
|
+
if (!channelSelectionFromSettings) throw error;
|
|
8533
|
+
removeCurrentServePidfile();
|
|
8534
|
+
opts.channelSelection = void 0;
|
|
8535
|
+
reportConfiguredChannelStartupFailure(error);
|
|
8536
|
+
}
|
|
8443
8537
|
}
|
|
8444
8538
|
return await new Promise((resolve3, reject) => {
|
|
8445
8539
|
let closeHost;
|
|
@@ -8806,11 +8900,10 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8806
8900
|
const armRuntimeStartupTimer = /* @__PURE__ */ __name(() => {
|
|
8807
8901
|
if (runtimeStartupTimeoutMs <= 0 || runtimeStartupTimer) return;
|
|
8808
8902
|
runtimeStartupTimer = setTimeout(() => {
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
`Daemon runtime startup timed out after ${runtimeStartupTimeoutMs}ms.`
|
|
8812
|
-
)
|
|
8903
|
+
const timeoutError = new Error(
|
|
8904
|
+
`Daemon runtime startup timed out after ${runtimeStartupTimeoutMs}ms.`
|
|
8813
8905
|
);
|
|
8906
|
+
void failRuntimeStartup(timeoutError);
|
|
8814
8907
|
}, runtimeStartupTimeoutMs);
|
|
8815
8908
|
runtimeStartupTimer.unref();
|
|
8816
8909
|
}, "armRuntimeStartupTimer");
|
|
@@ -9037,8 +9130,32 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9037
9130
|
acpHandle?.attachServer?.(server);
|
|
9038
9131
|
if (opts.channelSelection) {
|
|
9039
9132
|
closeServerAfterChannelWorkerStartupFailure = true;
|
|
9040
|
-
|
|
9041
|
-
|
|
9133
|
+
let manager;
|
|
9134
|
+
try {
|
|
9135
|
+
manager = await ensureChannelWorkerManager();
|
|
9136
|
+
await manager.startInitial(opts.channelSelection);
|
|
9137
|
+
} catch (error2) {
|
|
9138
|
+
if (!channelSelectionFromSettings || runtimeStartupSettled) {
|
|
9139
|
+
throw error2;
|
|
9140
|
+
}
|
|
9141
|
+
closeServerAfterChannelWorkerStartupFailure = false;
|
|
9142
|
+
opts.channelSelection = void 0;
|
|
9143
|
+
reportConfiguredChannelStartupFailure(error2);
|
|
9144
|
+
try {
|
|
9145
|
+
if (manager) {
|
|
9146
|
+
await manager.stopSelection();
|
|
9147
|
+
} else {
|
|
9148
|
+
removeCurrentServePidfile();
|
|
9149
|
+
if (channelPidfileReserved) {
|
|
9150
|
+
throw new Error(
|
|
9151
|
+
"Failed to release the channel service lease."
|
|
9152
|
+
);
|
|
9153
|
+
}
|
|
9154
|
+
}
|
|
9155
|
+
} catch (cleanupError) {
|
|
9156
|
+
reportConfiguredChannelStartupFailure(cleanupError);
|
|
9157
|
+
}
|
|
9158
|
+
}
|
|
9042
9159
|
if (runtimeStartupSettled) return;
|
|
9043
9160
|
}
|
|
9044
9161
|
if (runtimeStartupSettled) return;
|
|
@@ -9048,7 +9165,45 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9048
9165
|
clearRuntimeStartupTimer();
|
|
9049
9166
|
markRuntimeReady();
|
|
9050
9167
|
}, "completeRuntimeStartup");
|
|
9051
|
-
const
|
|
9168
|
+
const scheduleWorkspaceMcpDiscoveryAfterPreheat = /* @__PURE__ */ __name((app2) => {
|
|
9169
|
+
if (runtimeStartupError !== void 0) {
|
|
9170
|
+
daemonLog.info(
|
|
9171
|
+
"workspace runtime ensure after preheat skipped: runtime startup failed"
|
|
9172
|
+
);
|
|
9173
|
+
return;
|
|
9174
|
+
}
|
|
9175
|
+
if (shuttingDown) {
|
|
9176
|
+
daemonLog.info(
|
|
9177
|
+
"workspace runtime ensure after preheat skipped: shutting down"
|
|
9178
|
+
);
|
|
9179
|
+
return;
|
|
9180
|
+
}
|
|
9181
|
+
const registry = app2.locals?.["workspaceRegistry"];
|
|
9182
|
+
const primaryEntry = registry?.primaryEntry;
|
|
9183
|
+
const runtime = primaryEntry?.state === "active" ? primaryEntry.current?.runtime : void 0;
|
|
9184
|
+
if (!runtime) {
|
|
9185
|
+
daemonLog.info(
|
|
9186
|
+
"workspace runtime ensure after preheat skipped: no primary runtime"
|
|
9187
|
+
);
|
|
9188
|
+
return;
|
|
9189
|
+
}
|
|
9190
|
+
const coordinator = getWorkspaceRuntimeCoordinatorIfSupported?.(runtime);
|
|
9191
|
+
if (!coordinator) {
|
|
9192
|
+
daemonLog.info(
|
|
9193
|
+
"workspace runtime ensure after preheat skipped: workspace runtime lifecycle is not supported"
|
|
9194
|
+
);
|
|
9195
|
+
return;
|
|
9196
|
+
}
|
|
9197
|
+
void coordinator.ensure({ keepAliveMs: ENSURE_KEEP_ALIVE_MS }).catch((err) => {
|
|
9198
|
+
if (shuttingDown || runtimeStartupError !== void 0) {
|
|
9199
|
+
return;
|
|
9200
|
+
}
|
|
9201
|
+
daemonLog.warn(
|
|
9202
|
+
`workspace runtime ensure after preheat failed: ${deepestErrorMessage(err)}`
|
|
9203
|
+
);
|
|
9204
|
+
});
|
|
9205
|
+
}, "scheduleWorkspaceMcpDiscoveryAfterPreheat");
|
|
9206
|
+
const startBridgePreheat = /* @__PURE__ */ __name((bridge, app2) => {
|
|
9052
9207
|
startup.preheat.status = "running";
|
|
9053
9208
|
const preheatStartedAt = performance2.now();
|
|
9054
9209
|
bridge.preheat().then(() => {
|
|
@@ -9056,6 +9211,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9056
9211
|
startup.preheat.durationMs = Math.round(
|
|
9057
9212
|
performance2.now() - preheatStartedAt
|
|
9058
9213
|
);
|
|
9214
|
+
scheduleWorkspaceMcpDiscoveryAfterPreheat(app2);
|
|
9059
9215
|
}).catch((err) => {
|
|
9060
9216
|
const message = err instanceof Error ? err.message : String(err);
|
|
9061
9217
|
startup.preheat.status = "failed";
|
|
@@ -9089,7 +9245,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9089
9245
|
return;
|
|
9090
9246
|
}
|
|
9091
9247
|
if (shouldPreheat && runtime.bridge) {
|
|
9092
|
-
startBridgePreheat(runtime.bridge);
|
|
9248
|
+
startBridgePreheat(runtime.bridge, runtime.app);
|
|
9093
9249
|
}
|
|
9094
9250
|
await completeRuntimeStartup(runtime.app);
|
|
9095
9251
|
}).catch((err) => failRuntimeStartup(err));
|
|
@@ -9406,14 +9562,19 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9406
9562
|
} catch (err) {
|
|
9407
9563
|
removeCurrentServePidfile();
|
|
9408
9564
|
const error2 = err instanceof Error ? err : new Error(String(err));
|
|
9409
|
-
|
|
9410
|
-
|
|
9411
|
-
(
|
|
9412
|
-
|
|
9413
|
-
|
|
9414
|
-
)
|
|
9415
|
-
|
|
9416
|
-
|
|
9565
|
+
if (channelSelectionFromSettings) {
|
|
9566
|
+
opts.channelSelection = void 0;
|
|
9567
|
+
reportConfiguredChannelStartupFailure(error2);
|
|
9568
|
+
} else {
|
|
9569
|
+
markServeAppStartupFailed(error2);
|
|
9570
|
+
void serveAppLifecycle.close().then(
|
|
9571
|
+
() => reject(error2),
|
|
9572
|
+
(closeError) => reject(
|
|
9573
|
+
closeError instanceof Error ? new AggregateError([error2, closeError], error2.message) : error2
|
|
9574
|
+
)
|
|
9575
|
+
);
|
|
9576
|
+
return;
|
|
9577
|
+
}
|
|
9417
9578
|
}
|
|
9418
9579
|
if (channelWorkspaceGroups) {
|
|
9419
9580
|
for (const group of channelWorkspaceGroups) {
|
|
@@ -9424,7 +9585,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9424
9585
|
}
|
|
9425
9586
|
if (opts.channelSelection?.mode === "all") {
|
|
9426
9587
|
writeStderrLine(
|
|
9427
|
-
"qwen serve: --channel all is primary-workspace only; non-primary workspace channels are not hosted."
|
|
9588
|
+
channelSelectionFromSettings ? 'qwen serve: workspace serve.channels selection "all" is primary-workspace only; non-primary workspace channels are not hosted.' : "qwen serve: --channel all is primary-workspace only; non-primary workspace channels are not hosted."
|
|
9428
9589
|
);
|
|
9429
9590
|
}
|
|
9430
9591
|
}
|
|
@@ -9472,9 +9633,10 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9472
9633
|
});
|
|
9473
9634
|
const preparedRuntimeApp = runtimeApp ?? runtimeAppForCleanup;
|
|
9474
9635
|
if (preparedRuntimeApp && bridgeRef && deps.bridge) {
|
|
9636
|
+
runtimeApp ??= preparedRuntimeApp;
|
|
9475
9637
|
attachLiveDiscoveryControl(preparedRuntimeApp);
|
|
9476
9638
|
if (shouldPreheat) {
|
|
9477
|
-
startBridgePreheat(bridgeRef);
|
|
9639
|
+
startBridgePreheat(bridgeRef, preparedRuntimeApp);
|
|
9478
9640
|
}
|
|
9479
9641
|
if (opts.channelSelection && !runtimeStartupSettled) {
|
|
9480
9642
|
armRuntimeStartupTimer();
|
|
@@ -9486,6 +9648,11 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9486
9648
|
acpHandle?.attachServer?.(server);
|
|
9487
9649
|
markServeAppStartupReady();
|
|
9488
9650
|
void publishLiveDiscovery(preparedRuntimeApp);
|
|
9651
|
+
if (!runtimeStartupSettled) {
|
|
9652
|
+
runtimeStartupSettled = true;
|
|
9653
|
+
clearRuntimeStartupTimer();
|
|
9654
|
+
markRuntimeReady();
|
|
9655
|
+
}
|
|
9489
9656
|
}
|
|
9490
9657
|
} else if (deferRuntimeUntilFirstHealth) {
|
|
9491
9658
|
scheduleRuntimeStartFallback();
|