@qwen-code/qwen-code 0.23.2 → 0.23.3-nightly.20260911.aaa6a32aae
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 +10 -10
- package/bundled/qc-helper/docs/configuration/model-providers.md +66 -28
- package/bundled/qc-helper/docs/configuration/settings.md +8 -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 +62 -9
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +338 -0
- package/bundled/qc-helper/docs/features/goals.md +22 -18
- package/bundled/qc-helper/docs/features/hooks.md +28 -22
- package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
- package/bundled/qc-helper/docs/qwen-serve.md +23 -6
- package/bundled/review/SKILL.md +93 -80
- package/bundled/review/references/persistence.md +2 -0
- package/bundled/review/references/posting.md +31 -14
- package/bundled/workflow-authoring/SKILL.md +410 -0
- package/bundled/workflow-creator/SKILL.md +1 -1
- package/chunks/{MaxSizedBox-4C3BKKKY.js → MaxSizedBox-7C5XTBZI.js} +64 -53
- package/chunks/{StandaloneSessionPicker-TXVF65YW.js → StandaloneSessionPicker-IGTT3ZRX.js} +88 -76
- package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
- package/chunks/acp-subagent-executor-IUHVNVVO.js +140 -0
- package/chunks/{acpAgent-H5XBKGB4.js → acpAgent-W43WM2K4.js} +957 -243
- package/chunks/{agent-T5LEFJIU.js → agent-2XMXC5JW.js} +48 -38
- package/chunks/{agent-headless-VZKSRH36.js → agent-headless-2HHBVCP6.js} +48 -38
- package/chunks/{anthropicContentGenerator-PRJWWVYJ.js → anthropicContentGenerator-7RI3MPIW.js} +69 -36
- package/chunks/{artifact-tool-G5LHNECG.js → artifact-tool-HHVHCPNG.js} +59 -109
- package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-RFMXTD3B.js} +2 -2
- package/chunks/{bridge-AOX5IY44.js → bridge-ID6N4IH5.js} +69 -58
- package/chunks/{ca-KC2AISNS.js → ca-MX3WCEEG.js} +1 -1
- package/chunks/{channel-management-service-MWQGHPAS.js → channel-management-service-ASCXI7FR.js} +6 -6
- package/chunks/{channel-settings-store-XZCGDGHW.js → channel-settings-store-TPJFQAZY.js} +76 -65
- package/chunks/{channel-worker-group-SQ5FRWOH.js → channel-worker-group-JR6JOELM.js} +9 -9
- package/chunks/{channel-worker-manager-TU4ZNWOE.js → channel-worker-manager-AVKJEZFL.js} +19 -10
- package/chunks/{channel-worker-supervisor-EMITFMCP.js → channel-worker-supervisor-OOYY7BAQ.js} +7 -7
- package/chunks/{chunk-4WMGYG3F.js → chunk-22FWWGSM.js} +2 -2
- package/chunks/{chunk-LWX4WDFF.js → chunk-2S5RIGZJ.js} +43 -15
- package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
- package/chunks/{chunk-HJ5UJQQL.js → chunk-2UKKQGRA.js} +3639 -1804
- package/chunks/{chunk-MWIO7MF6.js → chunk-2WSLXP3W.js} +4 -0
- package/chunks/{chunk-HNLMYDQE.js → chunk-33LYAC4R.js} +10 -6
- package/chunks/{chunk-VBLAI2HA.js → chunk-3FPYT6QC.js} +0 -31
- package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
- package/chunks/{chunk-WXFCI3O5.js → chunk-3MAUPOZ4.js} +2 -2
- package/chunks/{chunk-CRZBDVP2.js → chunk-432JQKIO.js} +10 -10
- package/chunks/{chunk-IRGDIDGJ.js → chunk-43RQ552L.js} +364 -84
- package/chunks/{chunk-PFKGV6PO.js → chunk-465USTVK.js} +9 -15
- package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
- package/chunks/{chunk-J3VZF2AL.js → chunk-4O2AXZXU.js} +2 -2
- package/chunks/{chunk-N6S3NUYJ.js → chunk-55VOWZ4C.js} +1 -1
- package/chunks/{chunk-OWCFKIFQ.js → chunk-5CZMWDJI.js} +2 -2
- package/chunks/{chunk-7NDZKE2M.js → chunk-5MUIHID6.js} +5 -5
- package/chunks/{chunk-RM244SCQ.js → chunk-5Z74GE4N.js} +1 -1
- package/chunks/{chunk-G5VOXCRX.js → chunk-6375QMAO.js} +2 -2
- package/chunks/{chunk-3LPJ776W.js → chunk-63GQZKXL.js} +164 -31
- package/chunks/{chunk-O2FEO2CB.js → chunk-6GDELAVL.js} +18 -2
- package/chunks/{chunk-7PD7ZMX5.js → chunk-6HI2I3OM.js} +168 -6
- package/chunks/{chunk-CALNF3Z3.js → chunk-7C57HCOR.js} +1 -1
- package/chunks/{chunk-UYDQYDW2.js → chunk-7IBS746B.js} +1 -1
- package/chunks/{chunk-AUTUFD5X.js → chunk-ABNX6E6K.js} +1 -1
- package/chunks/chunk-ACHCT36C.js +28 -0
- package/chunks/{chunk-2WC3Y7YY.js → chunk-AEY27Z35.js} +401 -23
- package/chunks/{chunk-AO2VMS72.js → chunk-AQFRRH73.js} +3 -3
- package/chunks/{chunk-PDN7FJZV.js → chunk-ASWEMQIZ.js} +4 -4
- package/chunks/chunk-AYEJOTIU.js +43 -0
- package/chunks/{chunk-QFJZAY7W.js → chunk-BKFRA4F5.js} +5 -5
- package/chunks/{chunk-KCF2436G.js → chunk-BNLW5N6U.js} +4 -4
- package/chunks/{chunk-GOKAOSCN.js → chunk-BRFOZEPA.js} +2 -2
- package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
- package/chunks/chunk-C5CECJ46.js +340 -0
- package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
- package/chunks/chunk-CAAMI77K.js +937 -0
- package/chunks/{chunk-QTB4VP4K.js → chunk-CBGHRAWM.js} +304 -23
- package/chunks/chunk-CF5KXZZX.js +150 -0
- package/chunks/chunk-CFMZLE3L.js +75 -0
- package/chunks/{chunk-TGNNLRC3.js → chunk-CJ3DHN5I.js} +1 -0
- package/chunks/{chunk-ERXNTINK.js → chunk-CQZJYGRX.js} +1 -1
- package/chunks/{chunk-WBU2PIZ5.js → chunk-CSDKDHWV.js} +23 -16
- package/chunks/{chunk-2EKVPSIJ.js → chunk-D754KKNZ.js} +9 -2
- package/chunks/{chunk-E6TI726I.js → chunk-DGC7BKEZ.js} +1 -1
- package/chunks/{chunk-7SVM3RP2.js → chunk-DMMOQWRF.js} +4 -6
- package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
- package/chunks/{chunk-2BMXHB6N.js → chunk-DWBNQR53.js} +7 -7
- package/chunks/{chunk-ZN5TKAVR.js → chunk-E5LTUWKZ.js} +3 -3
- package/chunks/chunk-EGW3ZP6Y.js +32 -0
- package/chunks/chunk-ELRMZTPF.js +374 -0
- package/chunks/{chunk-RNAJVXUG.js → chunk-ENAUXRPG.js} +6 -6
- package/chunks/{chunk-WXD7INFV.js → chunk-EO4U2X47.js} +10 -8
- package/chunks/{chunk-WDVV3LRM.js → chunk-EPVEPTI3.js} +45 -152
- package/chunks/chunk-ERU3SDXT.js +27 -0
- package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
- package/chunks/{chunk-GSFV5RQW.js → chunk-EYN3G5XD.js} +328 -4
- package/chunks/{chunk-QB3KS3N3.js → chunk-FGROOEKM.js} +5 -40
- package/chunks/{chunk-TOOOLHVS.js → chunk-FH5AVEWJ.js} +3 -3
- package/chunks/{chunk-DAI65CMX.js → chunk-FJZWRNEW.js} +1 -1
- package/chunks/{chunk-GNY7B3CA.js → chunk-FUQK5ZNL.js} +1 -1
- package/chunks/{chunk-GOEVQADN.js → chunk-GDIPPCW6.js} +330 -175
- package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
- package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
- package/chunks/{chunk-ELD3OBPU.js → chunk-GWOVD63C.js} +3 -3
- package/chunks/{chunk-IWABUX6T.js → chunk-GX5FF2IE.js} +6 -6
- package/chunks/{chunk-22GORRNY.js → chunk-GZMNHAYC.js} +1 -1
- package/chunks/{chunk-YZTGGCEE.js → chunk-H3TFIFX3.js} +1 -1
- package/chunks/{chunk-6G4V7SE4.js → chunk-HG46TTAG.js} +1 -1
- package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
- package/chunks/{chunk-KEPC5BOL.js → chunk-IBRQG2MP.js} +12 -15
- package/chunks/{chunk-OXR34GCD.js → chunk-IILWL3KY.js} +2054 -146
- package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
- package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
- package/chunks/{chunk-CMWU6P4D.js → chunk-IRJRB3OD.js} +1 -1
- package/chunks/{chunk-QHLHE2OT.js → chunk-IUN5ZMFY.js} +1 -1
- package/chunks/{chunk-LYT2OU7D.js → chunk-IXXV6BVB.js} +172 -6
- package/chunks/{chunk-R3JIDRUL.js → chunk-J6H4JP25.js} +4 -4
- package/chunks/{chunk-NB3NDQQK.js → chunk-J6SBP5G2.js} +1 -1
- package/chunks/{chunk-TRQNRP2H.js → chunk-J7LBAKDH.js} +46 -3
- package/chunks/{chunk-67XTVRVB.js → chunk-JJFHISXU.js} +30 -25
- package/chunks/chunk-JL6APGBX.js +43 -0
- package/chunks/{chunk-NX7ZTXFF.js → chunk-JSKEW4E7.js} +2 -1
- package/chunks/{chunk-BK7D2JR6.js → chunk-JVTXAA35.js} +3 -3
- package/chunks/chunk-K2OJUPOE.js +78 -0
- package/chunks/{chunk-G3ZUMSFS.js → chunk-K3U6VB3O.js} +6 -6
- package/chunks/{chunk-4I3WFI3U.js → chunk-K4KWLF7Q.js} +12 -12
- package/chunks/{chunk-WXPPUPHM.js → chunk-KWFFJ6AK.js} +1 -1
- package/chunks/{chunk-46MMBZHI.js → chunk-KZYOFJ6V.js} +4 -4
- package/chunks/{chunk-ULZECEIP.js → chunk-LDQHA6L4.js} +2 -20
- package/chunks/{chunk-7LTCFO6T.js → chunk-LQBAFO5D.js} +6 -5
- package/chunks/{chunk-SOA4HKRJ.js → chunk-LT2XFADM.js} +2 -2
- package/chunks/{chunk-JYGIJA4W.js → chunk-LWWRJRCD.js} +1 -1
- package/chunks/{chunk-YQGW3M6Z.js → chunk-MFQWRBFB.js} +5 -5
- package/chunks/{chunk-TODNHE76.js → chunk-MUFGTWQH.js} +5 -5
- package/chunks/{chunk-5DQ4YTIZ.js → chunk-MV5XRRML.js} +3 -3
- package/chunks/{chunk-IR6JKBAP.js → chunk-NOUK63IR.js} +2 -2
- package/chunks/{chunk-XQ4RDO5B.js → chunk-NV77SEX3.js} +1 -1
- package/chunks/{chunk-OFVAS4AR.js → chunk-NWDPOFJI.js} +2 -2
- package/chunks/chunk-NY6OPAPS.js +820 -0
- package/chunks/{chunk-WDN64MVT.js → chunk-O5VX66FB.js} +127 -18
- package/chunks/{chunk-MV5DTLJV.js → chunk-OHCR4O3U.js} +1 -1
- package/chunks/{chunk-LEAOJ43M.js → chunk-OKOPKQ2X.js} +1310 -2107
- package/chunks/{chunk-B25JYXZE.js → chunk-ONLJBOI2.js} +971 -17
- package/chunks/{chunk-QQK4L3UU.js → chunk-OWUAZXXN.js} +132 -26
- package/chunks/{chunk-R457KFV7.js → chunk-P42IUOAO.js} +3 -3
- package/chunks/{chunk-LUNC5KCL.js → chunk-PRELUGCQ.js} +214 -39
- package/chunks/{chunk-5OZUKLL7.js → chunk-QSMQKTXV.js} +4 -4
- package/chunks/{chunk-FAJPLSYF.js → chunk-QTQYLQ5A.js} +85 -81
- package/chunks/{chunk-CALTQWTZ.js → chunk-QVZDV4ZS.js} +2 -2
- package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
- package/chunks/{chunk-KFECPHLV.js → chunk-RBWAGV73.js} +3 -3
- package/chunks/{chunk-4VY3ITHR.js → chunk-RF5RQRTD.js} +3 -3
- package/chunks/{chunk-HIXUUCGY.js → chunk-RPMXMR6U.js} +2 -2
- package/chunks/{chunk-3OAXF3UK.js → chunk-RRQEZBL2.js} +3756 -1343
- package/chunks/{chunk-4ALNJDHL.js → chunk-RSGEAWFJ.js} +19 -1
- package/chunks/{chunk-5BH2AIEY.js → chunk-RUE62UH6.js} +2 -2
- package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
- package/chunks/{chunk-A7EFXK7P.js → chunk-SAOJHRWY.js} +2 -2
- package/chunks/{chunk-JO77FGNZ.js → chunk-SDUIETBG.js} +19 -7
- package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
- package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
- package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
- package/chunks/{chunk-XDNFODER.js → chunk-TUIW5LLK.js} +1 -1
- package/chunks/{chunk-APXIW2TF.js → chunk-TVV5FA3G.js} +4 -4
- package/chunks/chunk-U6H3XTFA.js +95 -0
- package/chunks/{chunk-S5QR6CB5.js → chunk-UKMWZ5NS.js} +108 -887
- package/chunks/{chunk-U6REWGVR.js → chunk-VG2BRSEK.js} +2 -2
- package/chunks/chunk-VGBOJH2D.js +127 -0
- package/chunks/chunk-VGY2RGXL.js +100 -0
- package/chunks/{chunk-ZP5XDLSA.js → chunk-VLWG3EHY.js} +12 -12
- package/chunks/{chunk-4JNHNVAZ.js → chunk-W547PYQ7.js} +9 -4
- package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
- package/chunks/{chunk-QAZ2MGYT.js → chunk-W7JJLUSB.js} +2 -2
- package/chunks/{chunk-CCBTNJB4.js → chunk-W7Q7XDQI.js} +39 -27
- package/chunks/{chunk-DARWOZY6.js → chunk-WD6YQI5M.js} +1 -1
- package/chunks/{chunk-F2NYVASI.js → chunk-WXAWG3JS.js} +30 -13
- package/chunks/{chunk-NPKCVSXX.js → chunk-XB5JRCAM.js} +11 -9
- package/chunks/{chunk-XSOXPG2L.js → chunk-XE46RQFI.js} +136 -8
- package/chunks/{chunk-QTNCGZHQ.js → chunk-XX5HQLCZ.js} +16 -0
- package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
- package/chunks/chunk-YC6XOB5N.js +691 -0
- package/chunks/{chunk-CWVZBIZJ.js → chunk-YDW4ERSS.js} +1 -1
- package/chunks/{chunk-TRWQQBVH.js → chunk-YGCTOXUT.js} +10 -24
- package/chunks/{chunk-WK7P62DV.js → chunk-YKC67ZEF.js} +6 -6
- package/chunks/{chunk-KA5HR3G2.js → chunk-YKM6MITI.js} +5 -5
- package/chunks/{chunk-X7LFJF5D.js → chunk-YM6KUQ2S.js} +36 -84
- package/chunks/{chunk-HZ2HUXX7.js → chunk-YS2ZJSOA.js} +29 -12
- package/chunks/{chunk-G37O7YO6.js → chunk-ZAWM6KRF.js} +3 -3
- package/chunks/{chunk-H3Q3RSKZ.js → chunk-ZFIWHBJ3.js} +1 -1
- package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
- package/chunks/{chunk-YLOHCA6I.js → chunk-ZKWO4CF4.js} +2 -2
- package/chunks/{chunk-VJJXG73H.js → chunk-ZMQL5BL5.js} +21 -6
- package/chunks/{chunk-FGHPZGOP.js → chunk-ZMUYBOYB.js} +39 -55
- package/chunks/{chunk-FV4DM2M4.js → chunk-ZNI3YJHS.js} +26 -6
- package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
- package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
- package/chunks/codex-subagent-executor-26XOHVKH.js +585 -0
- package/chunks/{config-utils-GPLIABL2.js → config-utils-JUG3MOYN.js} +68 -57
- package/chunks/{contextCommand-NCUQUDBY.js → contextCommand-6K3POZFA.js} +65 -54
- package/chunks/{core-runtime-WKYKWVYU.js → core-runtime-XQFZLA2V.js} +66 -55
- package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-4UJ6RM6W.js} +5 -2
- package/chunks/{create-sub-session-PPLXB3JJ.js → create-sub-session-T4IYIOC7.js} +178 -91
- package/chunks/{cron-create-GTPVMJCF.js → cron-create-6466RWSO.js} +2 -2
- package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-W4QUWHOA.js} +2 -2
- package/chunks/{cron-list-KTFKFDKC.js → cron-list-Q5LJ5PZE.js} +2 -2
- package/chunks/{daemon-2CKIAO3I.js → daemon-PHPJUXDZ.js} +4 -2
- package/chunks/{daemon-git-worktree-guard-73ZWOLKL.js → daemon-git-worktree-guard-5WEMZ64U.js} +65 -54
- package/chunks/{daemon-status-provider-OK7VONJG.js → daemon-status-provider-GMD7QD4T.js} +74 -63
- package/chunks/{daemon-trust-policy-CAUCREG2.js → daemon-trust-policy-IPBZES2Z.js} +71 -60
- package/chunks/{daemon-trust-policy-monitor-3Y36OOEQ.js → daemon-trust-policy-monitor-MHYEN7X7.js} +71 -60
- package/chunks/{de-UU2YTO37.js → de-OOLZAU2U.js} +1 -1
- package/chunks/{deferred-core-runtime-Q7WFWYD3.js → deferred-core-runtime-CY43FZNZ.js} +63 -52
- package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
- package/chunks/{display-image-CTNHJRZC.js → display-image-6AZIHP3J.js} +3 -3
- package/chunks/{dist-F34J4FZX.js → dist-2QYIVNS6.js} +2 -5
- package/chunks/{dist-6YDUH3BB.js → dist-GIMQXYLI.js} +10 -631
- package/chunks/{dist-NP7QKLVG.js → dist-GUB7QRYA.js} +3 -6
- package/chunks/{dist-Y5KC3IHW.js → dist-L45UB6DG.js} +233 -35
- package/chunks/{dist-XLV33CLY.js → dist-MPUZZOG5.js} +5 -18
- package/chunks/{dist-ZDNJK74R.js → dist-PA7WPFVE.js} +6 -37
- package/chunks/{dist-F6JLAJLE.js → dist-T6DDPDLQ.js} +16 -36
- package/chunks/{dist-BNQVF565.js → dist-TFGETXFN.js} +14 -37
- package/chunks/{dist-UFTFGI6I.js → dist-VDLSBCLM.js} +2 -6
- package/chunks/{edit-YJD6IETK.js → edit-6NUP5IPX.js} +48 -38
- package/chunks/{en-YJNRUQG4.js → en-ZSZW3PZX.js} +4 -1
- package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-EETDMJRF.js} +5 -5
- package/chunks/{enterPlanMode-EFPVTWIH.js → enterPlanMode-AZHYHEII.js} +48 -38
- package/chunks/{environment-HP3AXFTB.js → environment-ON6GIQ4F.js} +66 -55
- package/chunks/{errors-22ON46G7.js → errors-DQE63SCC.js} +65 -54
- package/chunks/exec-66WQIVYU.js +505 -0
- package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-DIPJ6S55.js} +5 -5
- package/chunks/{exitPlanMode-MOQUNCBH.js → exitPlanMode-NHBV6LAI.js} +48 -38
- package/chunks/{fast-path-2X7BPMXX.js → fast-path-EPJSUZZC.js} +7 -7
- package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-XDYX7X5Z.js} +2 -2
- package/chunks/{fr-HKNWVXRJ.js → fr-JJWM2HUS.js} +1 -1
- package/chunks/{glob-Y7ACIB3P.js → glob-MNEXQ2NV.js} +51 -41
- package/chunks/{goal-tools-DABMICUC.js → goal-tools-D2A4QBCJ.js} +54 -40
- package/chunks/{grep-BLHF2S5D.js → grep-EFWPV3MM.js} +2 -2
- package/chunks/{handleAutoUpdate-MCAMHYDI.js → handleAutoUpdate-2RY3OQA6.js} +67 -56
- package/chunks/{i18n-C3GDCALP.js → i18n-HTHDB3I7.js} +64 -53
- package/chunks/{image-gen-XP4NNIYG.js → image-gen-2PHED3P4.js} +8 -6
- package/chunks/{initializer-4URDQL2G.js → initializer-JEVLJCQA.js} +71 -60
- package/chunks/{installationInfo-LBOL6SBV.js → installationInfo-ITRB6J4L.js} +63 -52
- package/chunks/{ja-GJS5RZGU.js → ja-L67TXFDJ.js} +1 -1
- package/chunks/list-KOUIMHT5.js +133 -0
- package/chunks/{list-agents-2CXPGJUE.js → list-agents-IY4NEWLP.js} +17 -7
- package/chunks/{llm-2KPNSAVY.js → llm-F7WHGESY.js} +132 -120
- package/chunks/{llm-content-generator-GR3FOHLB.js → llm-content-generator-NYQ2NAVA.js} +6 -5
- package/chunks/{loadedSettingsAdapter-DVKROEJD.js → loadedSettingsAdapter-HZUAX5CX.js} +71 -60
- package/chunks/{loggingContentGenerator-P4K6K5W4.js → loggingContentGenerator-WMNU7C5J.js} +70 -59
- package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-ANX25YW2.js} +3 -3
- package/chunks/{ls-YV7RKLKY.js → ls-4XCMJNZF.js} +4 -4
- package/chunks/{lsp-NO3AMRZT.js → lsp-K5E2Y64R.js} +1 -1
- package/chunks/{managed-npm-update-VWBKHNIN.js → managed-npm-update-EJJB65QI.js} +63 -52
- package/chunks/mcp-I73R6HS3.js +127 -0
- package/chunks/{monitor-A255TNZR.js → monitor-T56GJNA4.js} +50 -40
- package/chunks/{nonInteractiveCli-LXGIKQAT.js → nonInteractiveCli-CKHHJ423.js} +120 -109
- package/chunks/{notebook-edit-5UYHS2DM.js → notebook-edit-W5TU3EZ3.js} +48 -38
- package/chunks/openai-WX26N5OJ.js +47 -0
- package/chunks/{openaiContentGenerator-A6MAMEO5.js → openaiContentGenerator-TH6YAWAH.js} +33 -25
- package/chunks/openaiResponsesContentGenerator-EWLWQPKS.js +1738 -0
- package/chunks/{pidfile-B7DZC4TP.js → pidfile-RCC6TCEM.js} +63 -52
- package/chunks/process-registry-X6ZCASEN.js +10 -0
- package/chunks/{processUtils-BPZ2MCZS.js → processUtils-DQDQBRMC.js} +2 -2
- package/chunks/{prompt-terminal-ledger-FYYTAOXS.js → prompt-terminal-ledger-2LXWAGWU.js} +64 -53
- package/chunks/{pt-FXMYXEUV.js → pt-77SBDL4B.js} +1 -1
- package/chunks/{qwenContentGenerator-4IOJFD4S.js → qwenContentGenerator-LG65Z2YV.js} +61 -49
- package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-PJ63CCFD.js} +7 -5
- package/chunks/{read-file-A4H4O3VQ.js → read-file-72HMRUT4.js} +12 -9
- package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-NPF44YSC.js} +1 -1
- package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-MDXCCW2J.js} +3 -3
- package/chunks/record-source-VJLKDGGR.js +22 -0
- package/chunks/{report-findings-TJ34R7QK.js → report-findings-CZTYMZTC.js} +4 -4
- package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-KOZHPVZU.js} +5 -5
- package/chunks/{resumeHistoryUtils-YQQ43E4N.js → resumeHistoryUtils-S2Q3M3EH.js} +69 -58
- package/chunks/{ripGrep-W32NWFTA.js → ripGrep-B2I3L5CO.js} +17 -13
- package/chunks/{ru-RMHURE5U.js → ru-UYWHKWF2.js} +1 -1
- package/chunks/{run-qwen-serve-WBSWWIRV.js → run-qwen-serve-AOPYFCVP.js} +305 -132
- package/chunks/{runtime-VRVBX2E5.js → runtime-TZMHKZAP.js} +77 -66
- package/chunks/{scheduled-tasks-D65KJDA3.js → scheduled-tasks-7RL6ZOYT.js} +72 -60
- package/chunks/{scheduler-M2YPN7Z7.js → scheduler-D6RLOFNU.js} +65 -54
- 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-MMZVSS7P.js} +12 -9
- package/chunks/{serve-BE3H2P6P.js → serve-HWWDYI37.js} +72 -61
- package/chunks/{server-FLY5JERG.js → server-MD2X5U5L.js} +3156 -564
- package/chunks/{session-JVN62R5K.js → session-AFUMFNN7.js} +124 -113
- package/chunks/{session-attachments-root-7ACGLHXA.js → session-attachments-root-QPN3YWTY.js} +63 -52
- package/chunks/{session-pr-refresh-TQS57SDK.js → session-pr-refresh-4Y2ANMJX.js} +72 -60
- package/chunks/{settings-D44YMZFT.js → settings-QQRQ2LR7.js} +74 -63
- package/chunks/{shell-3VE6I4V5.js → shell-NUYUYMVI.js} +48 -38
- package/chunks/{skill-FHEGRRZU.js → skill-KHLDVOXW.js} +68 -30
- package/chunks/{skill-settings-VHEJMBFL.js → skill-settings-INLEGDEZ.js} +70 -59
- package/chunks/{spawnChannel-T6MX2ZDN.js → spawnChannel-KBGZHW2G.js} +67 -56
- package/chunks/{standalone-update-QUGHFMCS.js → standalone-update-3QP5NDVJ.js} +65 -54
- package/chunks/{start-opentui-ui-IHIIZ2LE.js → start-opentui-ui-VBT3XDWN.js} +2682 -2153
- package/chunks/{startInteractiveUI-LR7K2ARZ.js → startInteractiveUI-AZHKCHMR.js} +1562 -2317
- package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-KRASPDE3.js} +2 -2
- package/chunks/{task-create-MWXJFRRM.js → task-create-TNXNT7ZD.js} +8 -8
- package/chunks/{task-list-EYO3FE57.js → task-list-FHNIJDKT.js} +1 -1
- package/chunks/{task-stop-BFSKRTGV.js → task-stop-MG4ZMTEI.js} +1 -1
- package/chunks/{task-update-2JJJRHMT.js → task-update-4HU62CJT.js} +8 -8
- package/chunks/{team-create-GY3VFY47.js → team-create-K5DNSJXR.js} +50 -40
- package/chunks/{team-delete-IQZ6XGFI.js → team-delete-2T44GUNN.js} +1 -1
- package/chunks/{team-plan-approval-BQPGZOT5.js → team-plan-approval-2ZNAQT2A.js} +48 -38
- package/chunks/{terminal-image-renderer-YNYW5CQG.js → terminal-image-renderer-23CW4A6Q.js} +65 -54
- package/chunks/{theme-manager-U6CIK3GM.js → theme-manager-G2333AMH.js} +63 -52
- package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-BO2GR5MN.js} +4 -4
- package/chunks/{tool-search-XI3QWD5I.js → tool-search-MKQCKXN5.js} +22 -15
- package/chunks/{total-session-admission-3SNSJJ32.js → total-session-admission-ENKTM2KX.js} +69 -58
- package/chunks/{trustedFolders-OVAQKNV5.js → trustedFolders-2ETDL7OD.js} +64 -53
- package/chunks/{update-relaunch-XV5O74E3.js → update-relaunch-FMVNN5KA.js} +5 -5
- package/chunks/{updateCheck-CHUYWD6L.js → updateCheck-KWRV5KLJ.js} +66 -55
- package/chunks/{useAutoAcceptIndicator-VKSVIXZC.js → useAutoAcceptIndicator-7AUXAIQF.js} +73 -62
- package/chunks/{validateNonInterActiveAuth-ZNUTD3E5.js → validateNonInterActiveAuth-NETKLLDV.js} +117 -106
- package/chunks/{version-EK7VAGSI.js → version-DACNN2ZM.js} +1 -1
- package/chunks/{web-fetch-24KZO763.js → web-fetch-CIVCRET4.js} +16 -12
- package/chunks/{web-search-CRNXKZ2X.js → web-search-GOHZRGMM.js} +389 -327
- package/chunks/{web-shell-static-BFDESDD4.js → web-shell-static-T7UGLVE4.js} +2 -7
- package/chunks/workflow-IL2FOALZ.js +1324 -0
- package/chunks/workspace-providers-status-YGXL6N5U.js +131 -0
- package/chunks/{workspace-registration-store-HKLJEDQX.js → workspace-registration-store-E4IAOFFZ.js} +3 -1
- package/chunks/{workspace-registry-7RDDOBLN.js → workspace-registry-KX6BIBYK.js} +69 -58
- package/chunks/{workspace-runtime-coordinator-LEPDPXJO.js → workspace-runtime-coordinator-2KYYGDDR.js} +72 -59
- package/chunks/{workspace-service-5IFDCNN3.js → workspace-service-5Q6LWBYR.js} +76 -65
- package/chunks/{workspace-skills-status-FJ3HNH4H.js → workspace-skills-status-PJZTFPVV.js} +72 -61
- package/chunks/{workspace-trust-reconciler-PQFHIWLR.js → workspace-trust-reconciler-HS6PWNEA.js} +77 -66
- package/chunks/{write-file-ERG67ZFX.js → write-file-JB3DRM7O.js} +50 -40
- package/chunks/{zh-VBFCRQBL.js → zh-7UJA4ICT.js} +4 -1
- package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-RV24PWUI.js} +4 -1
- package/chunks/{zoom-image-WQYEC3SR.js → zoom-image-AVHQFOOQ.js} +12 -9
- package/cli.js +16 -16
- package/codeModeHost.js +4425 -0
- 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 +5 -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 +5 -2
- package/locales/zh.js +5 -2
- package/package.json +6 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-BRLgQbnT.js → abnfDiagram-VCTEODGH-BH2nK5Z_.js} +1 -1
- package/web-shell/assets/{arc-qAF9_XsR.js → arc-CUUQ6krv.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-BorUttEz.js → architectureDiagram-5GKGNRK7-CJjiRuGx.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-Bj0qZVxu.js → blockDiagram-NRAW4CY4-GCDyU9ZX.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BTqJis32.js → c4Diagram-UCG6FXSJ-C68MiN6h.js} +1 -1
- package/web-shell/assets/channel-DauVlmdF.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-RrQ5X8m-.js → chunk-2Q5K7J3B-_8B6frXZ.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-uUjDl8wO.js → chunk-5VM5RSS4-CroSinX7.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-C3JhpyzI.js → chunk-F27PBJKO-CGn4Z0Fx.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-C8ZNFs7F.js → chunk-G27WJ6UU-BI5nLQcf.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DNpXtEOs.js → chunk-JWPE2WC7-CYJH0FuH.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-DagA2ZLw.js → chunk-LCL6LL3I-DjWZUqA1.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-R23uH7Xm.js → chunk-POPQ4Y6H-DcTkIHm8.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-Qz9RN_BR.js → chunk-SVP7TREG-E8sZT5uK.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-jYb1_hni.js → chunk-XXDRQBXY-CurjPKw_.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-BuIh7bj1.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-BuIh7bj1.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-Cv2OunpE.js → cose-bilkent-JH36ORCC-CJEnNhth.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-LH42KFJx.js → cynefin-OW5HDTMX-jwEkm0yw.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dha4_OoR.js → cynefinDiagram-5FMLGOSQ-B-OVQ6AO.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-Br5lnUKD.js → dagre-3AP2YEHR-CKKK9WNR.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-dpKq2bBX.js → diagram-S7CK7UJ4-D486veFQ.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-BAgHWpXr.js → diagram-UQ7AKVKN-C3GujqHv.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-GRRzpyE2.js → diagram-VSXAHHWV-BrOTDwuU.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-BNFiaYpG.js → diagram-VX7I27RA-C4D9kWE3.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-BisZzB_h.js → diagram-Z3DM3KII-7rAManT0.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-B1xbwycf.js → ebnfDiagram-PWID7BFC-CqVzKOdr.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CQMzbGE5.js → erDiagram-SSCWMZ5O-D2s08fc_.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CZ_Zondl.js → flowDiagram-A5DVABFB-CrKtBxB2.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BTh2ShxS.js → ganttDiagram-EL5Y4UJY-CD1CKdlt.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js → gitGraphDiagram-WWUBYQGX-CHDXdVNn.js} +1 -1
- package/web-shell/assets/index-D8tzgUOC.css +36 -0
- package/web-shell/assets/{index-DWoFMu5x.js → index-DWz95m74.js} +1 -1
- package/web-shell/assets/index-cDFf68Wd.js +2204 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-C0QpudbG.js → infoDiagram-RXCK75RN-Cr1oLCwe.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-a6B741uT.js → ishikawaDiagram-5VMMS53U--RghV1mm.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-Dbht9ICp.js → journeyDiagram-EYS64GPL-MN1ZkGW8.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-D4OFR8-h.js → kanban-definition-3QL26DDD-DL05VTn0.js} +1 -1
- package/web-shell/assets/{layout-Dvdh5jRH.js → layout-D_TvQzvn.js} +1 -1
- package/web-shell/assets/{linear-Dvc6KIW2.js → linear-B_0OH6XF.js} +1 -1
- package/web-shell/assets/{mermaid.core-CB36RfIb.js → mermaid.core-B9Nklh9I.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-Fmqo1CjP.js → mindmap-definition-FBJOCRG2-CevIQ0LR.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CCxYBoA4.js → pegDiagram-XKGWAZYB-DQ8PIv0d.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BVHKQFzt.js → pieDiagram-E7YTZNPT-BVTV1pPe.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-l95IznwR.js → quadrantDiagram-AXDQQJYC-DHN6nhpe.js} +1 -1
- package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-BlLdRdXp.js → railroadDiagram-O6MQD6OU-8HOyX0u-.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BkDLBR5w.js → requirementDiagram-EFPCY7ZU-9W4_14i8.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-jAIqRp65.js → sankeyDiagram-P5KCCOFB-DSUBB2XP.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-f-soZYPr.js → sequenceDiagram-WJ2MYXX4-DD3jH6Jn.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-BzOuAfB2.js → sizeCapture-X5ZJPWSS-RAFTU3Cz.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BPLSs12r.js → stateDiagram-HBIQ2CUA-Drk-oZ2x.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-QzYteVIm.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D-9E_RIR.js → swimlanes-XN3QIQJK-Cy2nlOGx.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-xTr-HG26.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-CT56K-gV.js → timeline-definition-24CTP7MA-B7outYof.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-B-vi4IyO.js → vennDiagram-4TSXK5OY-Di_u1Ic6.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9O7Ju98.js → wardleyDiagram-VM6X3IG4-DYocuCAM.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-6d8w3jg2.js → xychartDiagram-S5SC5T6Z-AADDse54.js} +1 -1
- package/web-shell/index.html +29 -5
- package/chunks/chunk-V7RNNPGC.js +0 -44
- package/chunks/list-JOGBAC2R.js +0 -122
- package/chunks/mcp-6YYNSYLK.js +0 -116
- package/chunks/workflow-HD5NYMW5.js +0 -2907
- package/chunks/workspace-providers-status-MAM42IZS.js +0 -120
- 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
- package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
prepareManagedScratchRoot,
|
|
52
52
|
resolveAcpHttpEnabled,
|
|
53
53
|
toDaemonStatusMemoryLimits
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-ZMQL5BL5.js";
|
|
55
55
|
import {
|
|
56
56
|
ConversationDirectoryIdentityError,
|
|
57
57
|
assertExactConversationRootIdentity,
|
|
@@ -64,6 +64,11 @@ import {
|
|
|
64
64
|
materializeConversationDirectoryIdentity,
|
|
65
65
|
revalidateConversationRootIdentity
|
|
66
66
|
} from "./chunk-PB7JBAHF.js";
|
|
67
|
+
import {
|
|
68
|
+
formatHostForAuthority,
|
|
69
|
+
isLoopbackAddress,
|
|
70
|
+
isLoopbackBind
|
|
71
|
+
} from "./chunk-DMEUXLSS.js";
|
|
67
72
|
import {
|
|
68
73
|
formatMemoryBudgetStderr,
|
|
69
74
|
resolveDaemonMemoryBudget,
|
|
@@ -72,24 +77,23 @@ import {
|
|
|
72
77
|
import {
|
|
73
78
|
setDeferredRuntimeRequestTiming
|
|
74
79
|
} from "./chunk-LAUEEBDL.js";
|
|
80
|
+
import {
|
|
81
|
+
normalizeSessionIdForLookup
|
|
82
|
+
} from "./chunk-ZEZKIS2K.js";
|
|
75
83
|
import {
|
|
76
84
|
require_express
|
|
77
85
|
} from "./chunk-SVWWF5TZ.js";
|
|
78
86
|
import {
|
|
79
87
|
resolveWebShellDir
|
|
80
88
|
} from "./chunk-FBX2SDQ4.js";
|
|
81
|
-
import {
|
|
82
|
-
formatHostForAuthority,
|
|
83
|
-
isLoopbackAddress,
|
|
84
|
-
isLoopbackBind
|
|
85
|
-
} 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-Y5TM7SBV.js";
|
|
93
97
|
import {
|
|
94
98
|
DEFAULT_RING_SIZE
|
|
95
99
|
} from "./chunk-7U5G6JXI.js";
|
|
@@ -102,30 +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-ABNX6E6K.js";
|
|
120
113
|
import {
|
|
121
|
-
|
|
114
|
+
resolveMaxRegisteredWorkspaces,
|
|
122
115
|
resolveWorkspaceInputs,
|
|
123
116
|
workspaceRegistrationId
|
|
124
|
-
} from "./chunk-
|
|
125
|
-
import
|
|
117
|
+
} from "./chunk-2S5RIGZJ.js";
|
|
118
|
+
import {
|
|
119
|
+
assertChannelControlWorkspaceCapacity
|
|
120
|
+
} from "./chunk-J7LBAKDH.js";
|
|
126
121
|
import {
|
|
127
122
|
LOAD_REPLAY_META_KEY
|
|
128
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-TBSCTWKF.js";
|
|
129
124
|
import "./chunk-FAWTMDX7.js";
|
|
130
125
|
import {
|
|
131
126
|
canonicalizeWorkspace,
|
|
@@ -134,28 +129,31 @@ import {
|
|
|
134
129
|
import {
|
|
135
130
|
ExtraCaInspectionError,
|
|
136
131
|
loadableCertificates
|
|
137
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-IBRQG2MP.js";
|
|
138
133
|
import "./chunk-FYJ7W2PI.js";
|
|
139
134
|
import "./chunk-Z7B6SRPM.js";
|
|
140
135
|
import {
|
|
141
136
|
ChannelWebhookEnqueueError
|
|
142
137
|
} from "./chunk-STUJ7IMZ.js";
|
|
143
|
-
import {
|
|
144
|
-
normalizeWorkerDiagnostic,
|
|
145
|
-
sanitizeWorkerDiagnostic
|
|
146
|
-
} from "./chunk-DARWOZY6.js";
|
|
147
138
|
import {
|
|
148
139
|
QWEN_SERVER_TOKEN_ENV
|
|
149
140
|
} from "./chunk-GYTKQYDB.js";
|
|
150
141
|
import {
|
|
151
|
-
|
|
152
|
-
|
|
142
|
+
normalizeWorkerDiagnostic,
|
|
143
|
+
sanitizeWorkerDiagnostic
|
|
144
|
+
} from "./chunk-WD6YQI5M.js";
|
|
145
|
+
import {
|
|
146
|
+
channelSelectionNames,
|
|
147
|
+
normalizeServeChannelSelection
|
|
148
|
+
} from "./chunk-GDWE23OR.js";
|
|
153
149
|
import {
|
|
154
150
|
ChannelDeliveryError,
|
|
155
151
|
isChannelDeliveryError
|
|
156
152
|
} from "./chunk-RKFGE7JH.js";
|
|
153
|
+
import {
|
|
154
|
+
MAX_CHANNEL_CONTROL_WORKSPACES
|
|
155
|
+
} from "./chunk-CJ3DHN5I.js";
|
|
157
156
|
import "./chunk-UDG5EZJI.js";
|
|
158
|
-
import "./chunk-M5GB774H.js";
|
|
159
157
|
import {
|
|
160
158
|
EXTERNAL_TOOL_GUARD_PROVIDER_ATTACHED_VALUE,
|
|
161
159
|
EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
|
|
@@ -163,11 +161,20 @@ import {
|
|
|
163
161
|
PRIVATE_EXTERNAL_TOOL_GUARD_ENV,
|
|
164
162
|
PRIVATE_EXTERNAL_TOOL_GUARD_PROVIDER_ENV
|
|
165
163
|
} from "./chunk-3VUENPWF.js";
|
|
166
|
-
import
|
|
164
|
+
import {
|
|
165
|
+
redactLogCredentials
|
|
166
|
+
} from "./chunk-M5GB774H.js";
|
|
167
|
+
import "./chunk-K6KS3LTN.js";
|
|
168
|
+
import "./chunk-OSHQMOBS.js";
|
|
167
169
|
import {
|
|
168
170
|
sanitizeLogText
|
|
169
|
-
} from "./chunk-
|
|
170
|
-
import "./chunk-
|
|
171
|
+
} from "./chunk-EPVEPTI3.js";
|
|
172
|
+
import "./chunk-IJOS26LH.js";
|
|
173
|
+
import {
|
|
174
|
+
consumeServeFastPathRejectedLoaderKeys,
|
|
175
|
+
loadServeFastPathSettings,
|
|
176
|
+
preResolveServeFastPathHomeEnvOverrides
|
|
177
|
+
} from "./chunk-ZNI3YJHS.js";
|
|
171
178
|
import "./chunk-BW4333PP.js";
|
|
172
179
|
import {
|
|
173
180
|
getGlobalQwenDirLite,
|
|
@@ -178,10 +185,10 @@ import {
|
|
|
178
185
|
clearLoaderKeyRejectionReporterIfCurrent,
|
|
179
186
|
scrubInheritedLoaderEnv,
|
|
180
187
|
setLoaderKeyRejectionReporter
|
|
181
|
-
} from "./chunk-
|
|
188
|
+
} from "./chunk-XX5HQLCZ.js";
|
|
182
189
|
import {
|
|
183
190
|
getCliVersion
|
|
184
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-OHCR4O3U.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
204
|
import "./chunk-6HUXPLB5.js";
|
|
199
205
|
import "./chunk-TWPJO254.js";
|
|
200
206
|
import "./chunk-CQ35AJ4Z.js";
|
|
207
|
+
import "./chunk-65I7S4Z3.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-OOYY7BAQ.js"),
|
|
3946
|
+
import("./pidfile-RCC6TCEM.js"),
|
|
3947
|
+
import("./runtime-TZMHKZAP.js"),
|
|
3930
3948
|
import("./cli-entry-path-4VJ3Y6T2.js"),
|
|
3931
|
-
import("./channel-worker-group-
|
|
3932
|
-
import("./channel-worker-manager-
|
|
3949
|
+
import("./channel-worker-group-JR6JOELM.js"),
|
|
3950
|
+
import("./channel-worker-manager-AVKJEZFL.js")
|
|
3933
3951
|
]).then(
|
|
3934
3952
|
([
|
|
3935
3953
|
supervisor,
|
|
@@ -4035,13 +4053,13 @@ 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-XQFZLA2V.js");
|
|
4039
4057
|
return coreRuntimePromise;
|
|
4040
4058
|
}
|
|
4041
4059
|
__name(loadCoreRuntime, "loadCoreRuntime");
|
|
4042
4060
|
var liveDiscoveryRuntimePromise;
|
|
4043
4061
|
function loadLiveDiscoveryRuntime() {
|
|
4044
|
-
liveDiscoveryRuntimePromise ??= import("./discovery-
|
|
4062
|
+
liveDiscoveryRuntimePromise ??= import("./discovery-5KUEPR65.js");
|
|
4045
4063
|
return liveDiscoveryRuntimePromise;
|
|
4046
4064
|
}
|
|
4047
4065
|
__name(loadLiveDiscoveryRuntime, "loadLiveDiscoveryRuntime");
|
|
@@ -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-QQRQ2LR7.js"),
|
|
4093
|
+
import("./environment-ON6GIQ4F.js"),
|
|
4094
|
+
import("./loadedSettingsAdapter-HZUAX5CX.js"),
|
|
4095
|
+
import("./trustedFolders-2ETDL7OD.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-TZMHKZAP.js"),
|
|
4109
|
+
import("./config-utils-JUG3MOYN.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-MD2X5U5L.js"),
|
|
4137
|
+
import("./bridge-ID6N4IH5.js"),
|
|
4138
|
+
import("./spawnChannel-KBGZHW2G.js"),
|
|
4139
|
+
import("./process-registry-X6ZCASEN.js"),
|
|
4140
|
+
import("./workspace-service-5Q6LWBYR.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-GMD7QD4T.js"),
|
|
4143
|
+
import("./workspace-providers-status-YGXL6N5U.js"),
|
|
4144
|
+
import("./workspace-skills-status-PJZTFPVV.js"),
|
|
4145
|
+
import("./total-session-admission-ENKTM2KX.js"),
|
|
4146
|
+
import("./workspace-registry-KX6BIBYK.js"),
|
|
4147
|
+
import("./workspace-runtime-coordinator-2KYYGDDR.js"),
|
|
4148
|
+
import("./prompt-terminal-ledger-2LXWAGWU.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-E4IAOFFZ.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-5WEMZ64U.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-IPBZES2Z.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-INLEGDEZ.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-INLEGDEZ.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-T4IYIOC7.js"),
|
|
6480
|
+
import("./scheduled-tasks-7RL6ZOYT.js")
|
|
6402
6481
|
]);
|
|
6403
|
-
const { sessionAttachmentsRoots } = await import("./session-attachments-root-
|
|
6482
|
+
const { sessionAttachmentsRoots } = await import("./session-attachments-root-QPN3YWTY.js");
|
|
6404
6483
|
const createCurrentSessionScheduledTaskHandler = /* @__PURE__ */ __name((workspaceCwd, runtimeBaseDir, getBridge, assertGenerationOpen) => async ({
|
|
6405
6484
|
callerSessionId,
|
|
6406
6485
|
cron,
|
|
@@ -6437,6 +6516,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6437
6516
|
const subSessionLauncher = createSubSessionLauncher({
|
|
6438
6517
|
getBridge: /* @__PURE__ */ __name(() => bridgeRef, "getBridge"),
|
|
6439
6518
|
boundWorkspace,
|
|
6519
|
+
runtimeBaseDir: primarySessionRuntimeBaseDir,
|
|
6440
6520
|
...subSessionConcurrencyCapsFromSettings(
|
|
6441
6521
|
runtimeBootSettings?.merged.serve ?? {}
|
|
6442
6522
|
)
|
|
@@ -6446,6 +6526,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6446
6526
|
primarySessionRuntimeBaseDir
|
|
6447
6527
|
);
|
|
6448
6528
|
const bridge = deps.bridge ?? runtime.createAcpSessionBridge({
|
|
6529
|
+
artifactSnapshotRuntimeBaseDir: primarySessionRuntimeBaseDir,
|
|
6449
6530
|
sessionAttachmentsRoot: attachmentsRoots.root,
|
|
6450
6531
|
sessionAttachmentsFallbackRoot: attachmentsRoots.fallback,
|
|
6451
6532
|
// Reverse tool channel: let `BridgeClient.extMethod` reach the WS
|
|
@@ -6885,6 +6966,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6885
6966
|
const secondarySubSessionLauncher = createSubSessionLauncher({
|
|
6886
6967
|
getBridge: /* @__PURE__ */ __name(() => secondaryBridgeRef, "getBridge"),
|
|
6887
6968
|
boundWorkspace: workspaceInput.cwd,
|
|
6969
|
+
runtimeBaseDir: secondaryEnv.sessionRuntimeBaseDir,
|
|
6888
6970
|
...subSessionConcurrencyCapsFromSettings(
|
|
6889
6971
|
secondarySettings?.merged.serve ?? {}
|
|
6890
6972
|
)
|
|
@@ -6894,6 +6976,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6894
6976
|
secondaryEnv.sessionRuntimeBaseDir
|
|
6895
6977
|
);
|
|
6896
6978
|
const secondaryBridge = runtime.createAcpSessionBridge({
|
|
6979
|
+
artifactSnapshotRuntimeBaseDir: secondaryEnv.sessionRuntimeBaseDir,
|
|
6897
6980
|
sessionAttachmentsRoot: secondaryAttachmentsRoots.root,
|
|
6898
6981
|
sessionAttachmentsFallbackRoot: secondaryAttachmentsRoots.fallback,
|
|
6899
6982
|
clientMcpSender: secondaryClientMcpSenderRegistry.lookup,
|
|
@@ -7241,7 +7324,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7241
7324
|
};
|
|
7242
7325
|
sessionPrRefreshTimer?.dispose();
|
|
7243
7326
|
const refreshGeneration = ++sessionPrRefreshGeneration;
|
|
7244
|
-
void import("./session-pr-refresh-
|
|
7327
|
+
void import("./session-pr-refresh-4Y2ANMJX.js").then((mod) => {
|
|
7245
7328
|
if (refreshGeneration !== sessionPrRefreshGeneration) return;
|
|
7246
7329
|
sessionPrRefreshTimer = mod.startSessionPrRefreshTimer({
|
|
7247
7330
|
workspaceRegistry,
|
|
@@ -7325,6 +7408,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7325
7408
|
const wsSubSessionLauncher = createSubSessionLauncher({
|
|
7326
7409
|
getBridge: /* @__PURE__ */ __name(() => wsBridgeRef, "getBridge"),
|
|
7327
7410
|
boundWorkspace: cwd,
|
|
7411
|
+
runtimeBaseDir: wsEnv.sessionRuntimeBaseDir,
|
|
7328
7412
|
...provenance === "live-conversation" ? {
|
|
7329
7413
|
notifySentCompletion: true,
|
|
7330
7414
|
getStandaloneSessionService: /* @__PURE__ */ __name(() => (runtimeApp ?? runtimeAppForCleanup)?.locals?.["standaloneSessionService"], "getStandaloneSessionService"),
|
|
@@ -7348,6 +7432,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7348
7432
|
wsEnv.sessionRuntimeBaseDir
|
|
7349
7433
|
);
|
|
7350
7434
|
wsBridge = runtime.createAcpSessionBridge({
|
|
7435
|
+
artifactSnapshotRuntimeBaseDir: wsEnv.sessionRuntimeBaseDir,
|
|
7351
7436
|
sessionAttachmentsRoot: wsAttachmentsRoots.root,
|
|
7352
7437
|
sessionAttachmentsFallbackRoot: wsAttachmentsRoots.fallback,
|
|
7353
7438
|
clientMcpSender: wsClientMcpRegistry.lookup,
|
|
@@ -7911,8 +7996,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7911
7996
|
{ createChannelManagementService },
|
|
7912
7997
|
{ WorkspaceChannelSettingsStore }
|
|
7913
7998
|
] = await Promise.all([
|
|
7914
|
-
import("./channel-management-service-
|
|
7915
|
-
import("./channel-settings-store-
|
|
7999
|
+
import("./channel-management-service-ASCXI7FR.js"),
|
|
8000
|
+
import("./channel-settings-store-TPJFQAZY.js")
|
|
7916
8001
|
]);
|
|
7917
8002
|
return createChannelManagementService({
|
|
7918
8003
|
workspaceCwd: targetRuntime.workspaceCwd,
|
|
@@ -7966,6 +8051,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7966
8051
|
throw new Error("Workspace runtime publication validation failed.");
|
|
7967
8052
|
}, "validateWorkspaceRuntimeForPublication");
|
|
7968
8053
|
const app2 = runtime.createServeApp(opts, () => actualPort, {
|
|
8054
|
+
maxChannelControlWorkspaces: MAX_CHANNEL_CONTROL_WORKSPACES,
|
|
7969
8055
|
serveAppLifecycle,
|
|
7970
8056
|
liveDiscoveryStableBaseDir,
|
|
7971
8057
|
workspaceRegistry,
|
|
@@ -8117,8 +8203,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8117
8203
|
{ createWorkspaceTrustReconciler },
|
|
8118
8204
|
{ createDaemonTrustPolicyMonitor }
|
|
8119
8205
|
] = await Promise.all([
|
|
8120
|
-
import("./workspace-trust-reconciler-
|
|
8121
|
-
import("./daemon-trust-policy-monitor-
|
|
8206
|
+
import("./workspace-trust-reconciler-HS6PWNEA.js"),
|
|
8207
|
+
import("./daemon-trust-policy-monitor-MHYEN7X7.js")
|
|
8122
8208
|
]);
|
|
8123
8209
|
const materializationFor = /* @__PURE__ */ __name((entry, snapshot, decision) => {
|
|
8124
8210
|
const boundWorkspaces2 = entry.primary && decision.targetTrusted ? runtime.resolveBoundWorkspacesFromIdeEnv(
|
|
@@ -8315,7 +8401,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8315
8401
|
// through (and start the runtime) exactly like the warm app would.
|
|
8316
8402
|
// Dynamic import keeps web-shell-static out of the serve fast-path
|
|
8317
8403
|
// static closure (see the import-boundary guards in fast-path.test.ts).
|
|
8318
|
-
isPreAuthRequest: webShellMounted ? (req) => import("./web-shell-static-
|
|
8404
|
+
isPreAuthRequest: webShellMounted ? (req) => import("./web-shell-static-T7UGLVE4.js").then(
|
|
8319
8405
|
(webShellStatic) => webShellStatic.isPreAuthWebShellRequest(req)
|
|
8320
8406
|
) : void 0
|
|
8321
8407
|
});
|
|
@@ -8334,11 +8420,12 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8334
8420
|
`Invalid maxConnections: ${opts.maxConnections}. Must be >= 0 (0 / Infinity = unlimited).`
|
|
8335
8421
|
);
|
|
8336
8422
|
}
|
|
8337
|
-
|
|
8338
|
-
|
|
8339
|
-
|
|
8423
|
+
let channelValidationSettingsRuntime;
|
|
8424
|
+
let channelValidationTrustPolicy;
|
|
8425
|
+
let channelValidationTrustSnapshot;
|
|
8340
8426
|
const resolveChannelWorkspaceGroupsAtListen = /* @__PURE__ */ __name(() => {
|
|
8341
|
-
|
|
8427
|
+
const validationSettingsRuntime = channelValidationSettingsRuntime;
|
|
8428
|
+
if (!opts.channelSelection || !validationSettingsRuntime || !channelRuntime) {
|
|
8342
8429
|
return void 0;
|
|
8343
8430
|
}
|
|
8344
8431
|
const registry = (runtimeApp ?? runtimeAppForCleanup)?.locals?.["workspaceRegistry"];
|
|
@@ -8378,15 +8465,12 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8378
8465
|
{ code: "untrusted_workspace" }
|
|
8379
8466
|
);
|
|
8380
8467
|
}
|
|
8381
|
-
const effectiveEnv = runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) :
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
workspaceTrusted: true
|
|
8388
|
-
}
|
|
8389
|
-
).merged,
|
|
8468
|
+
const effectiveEnv = runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) : validationSettingsRuntime.environment.buildRuntimeEnvironment(
|
|
8469
|
+
validationSettingsRuntime.settings.loadSettings(workspace.cwd, {
|
|
8470
|
+
skipLoadEnvironment: true,
|
|
8471
|
+
skipWorkspaceSettings: false,
|
|
8472
|
+
workspaceTrusted: true
|
|
8473
|
+
}).merged,
|
|
8390
8474
|
workspace.cwd,
|
|
8391
8475
|
daemonRuntimeBaseEnv,
|
|
8392
8476
|
trusted
|
|
@@ -8397,7 +8481,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8397
8481
|
const workspaces = workspaceInputs.map((workspace, index) => {
|
|
8398
8482
|
const runtime = resolveRuntime(workspace.cwd);
|
|
8399
8483
|
const trusted = resolveTrusted(workspace.cwd, index === 0, runtime);
|
|
8400
|
-
const settings =
|
|
8484
|
+
const settings = validationSettingsRuntime.settings.loadSettings(
|
|
8401
8485
|
workspace.cwd,
|
|
8402
8486
|
{
|
|
8403
8487
|
skipLoadEnvironment: true,
|
|
@@ -8408,7 +8492,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8408
8492
|
settingsByWorkspace.set(workspace.cwd, settings);
|
|
8409
8493
|
channelWebhookEnvByWorkspace.set(
|
|
8410
8494
|
workspace.cwd,
|
|
8411
|
-
runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) :
|
|
8495
|
+
runtime ? workspaceRuntimeEffectiveEnv(runtime, daemonRuntimeBaseEnv) : validationSettingsRuntime.environment.buildRuntimeEnvironment(
|
|
8412
8496
|
settings.merged,
|
|
8413
8497
|
workspace.cwd,
|
|
8414
8498
|
daemonRuntimeBaseEnv,
|
|
@@ -8439,7 +8523,23 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8439
8523
|
return grouping.groups;
|
|
8440
8524
|
}, "resolveChannelWorkspaceGroupsAtListen");
|
|
8441
8525
|
if (opts.channelSelection) {
|
|
8442
|
-
|
|
8526
|
+
try {
|
|
8527
|
+
channelValidationSettingsRuntime = await loadSettingsRuntimeModules();
|
|
8528
|
+
channelValidationTrustPolicy = await import("./daemon-trust-policy-IPBZES2Z.js");
|
|
8529
|
+
channelValidationTrustSnapshot = await channelValidationTrustPolicy.readDaemonTrustPolicySnapshot();
|
|
8530
|
+
if (opts.channelSelection.mode === "names" && workspaceInputs.length > MAX_CHANNEL_CONTROL_WORKSPACES) {
|
|
8531
|
+
const groups = resolveChannelWorkspaceGroupsAtListen();
|
|
8532
|
+
assertChannelControlWorkspaceCapacity(
|
|
8533
|
+
groups?.map((group) => group.workspaceCwd) ?? []
|
|
8534
|
+
);
|
|
8535
|
+
}
|
|
8536
|
+
reserveChannelServicePidfile(opts.channelSelection);
|
|
8537
|
+
} catch (error) {
|
|
8538
|
+
if (!channelSelectionFromSettings) throw error;
|
|
8539
|
+
removeCurrentServePidfile();
|
|
8540
|
+
opts.channelSelection = void 0;
|
|
8541
|
+
reportConfiguredChannelStartupFailure(error);
|
|
8542
|
+
}
|
|
8443
8543
|
}
|
|
8444
8544
|
return await new Promise((resolve3, reject) => {
|
|
8445
8545
|
let closeHost;
|
|
@@ -8806,11 +8906,10 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
8806
8906
|
const armRuntimeStartupTimer = /* @__PURE__ */ __name(() => {
|
|
8807
8907
|
if (runtimeStartupTimeoutMs <= 0 || runtimeStartupTimer) return;
|
|
8808
8908
|
runtimeStartupTimer = setTimeout(() => {
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
`Daemon runtime startup timed out after ${runtimeStartupTimeoutMs}ms.`
|
|
8812
|
-
)
|
|
8909
|
+
const timeoutError = new Error(
|
|
8910
|
+
`Daemon runtime startup timed out after ${runtimeStartupTimeoutMs}ms.`
|
|
8813
8911
|
);
|
|
8912
|
+
void failRuntimeStartup(timeoutError);
|
|
8814
8913
|
}, runtimeStartupTimeoutMs);
|
|
8815
8914
|
runtimeStartupTimer.unref();
|
|
8816
8915
|
}, "armRuntimeStartupTimer");
|
|
@@ -9037,8 +9136,32 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9037
9136
|
acpHandle?.attachServer?.(server);
|
|
9038
9137
|
if (opts.channelSelection) {
|
|
9039
9138
|
closeServerAfterChannelWorkerStartupFailure = true;
|
|
9040
|
-
|
|
9041
|
-
|
|
9139
|
+
let manager;
|
|
9140
|
+
try {
|
|
9141
|
+
manager = await ensureChannelWorkerManager();
|
|
9142
|
+
await manager.startInitial(opts.channelSelection);
|
|
9143
|
+
} catch (error2) {
|
|
9144
|
+
if (!channelSelectionFromSettings || runtimeStartupSettled) {
|
|
9145
|
+
throw error2;
|
|
9146
|
+
}
|
|
9147
|
+
closeServerAfterChannelWorkerStartupFailure = false;
|
|
9148
|
+
opts.channelSelection = void 0;
|
|
9149
|
+
reportConfiguredChannelStartupFailure(error2);
|
|
9150
|
+
try {
|
|
9151
|
+
if (manager) {
|
|
9152
|
+
await manager.stopSelection();
|
|
9153
|
+
} else {
|
|
9154
|
+
removeCurrentServePidfile();
|
|
9155
|
+
if (channelPidfileReserved) {
|
|
9156
|
+
throw new Error(
|
|
9157
|
+
"Failed to release the channel service lease."
|
|
9158
|
+
);
|
|
9159
|
+
}
|
|
9160
|
+
}
|
|
9161
|
+
} catch (cleanupError) {
|
|
9162
|
+
reportConfiguredChannelStartupFailure(cleanupError);
|
|
9163
|
+
}
|
|
9164
|
+
}
|
|
9042
9165
|
if (runtimeStartupSettled) return;
|
|
9043
9166
|
}
|
|
9044
9167
|
if (runtimeStartupSettled) return;
|
|
@@ -9048,7 +9171,45 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9048
9171
|
clearRuntimeStartupTimer();
|
|
9049
9172
|
markRuntimeReady();
|
|
9050
9173
|
}, "completeRuntimeStartup");
|
|
9051
|
-
const
|
|
9174
|
+
const scheduleWorkspaceMcpDiscoveryAfterPreheat = /* @__PURE__ */ __name((app2) => {
|
|
9175
|
+
if (runtimeStartupError !== void 0) {
|
|
9176
|
+
daemonLog.info(
|
|
9177
|
+
"workspace runtime ensure after preheat skipped: runtime startup failed"
|
|
9178
|
+
);
|
|
9179
|
+
return;
|
|
9180
|
+
}
|
|
9181
|
+
if (shuttingDown) {
|
|
9182
|
+
daemonLog.info(
|
|
9183
|
+
"workspace runtime ensure after preheat skipped: shutting down"
|
|
9184
|
+
);
|
|
9185
|
+
return;
|
|
9186
|
+
}
|
|
9187
|
+
const registry = app2.locals?.["workspaceRegistry"];
|
|
9188
|
+
const primaryEntry = registry?.primaryEntry;
|
|
9189
|
+
const runtime = primaryEntry?.state === "active" ? primaryEntry.current?.runtime : void 0;
|
|
9190
|
+
if (!runtime) {
|
|
9191
|
+
daemonLog.info(
|
|
9192
|
+
"workspace runtime ensure after preheat skipped: no primary runtime"
|
|
9193
|
+
);
|
|
9194
|
+
return;
|
|
9195
|
+
}
|
|
9196
|
+
const coordinator = getWorkspaceRuntimeCoordinatorIfSupported?.(runtime);
|
|
9197
|
+
if (!coordinator) {
|
|
9198
|
+
daemonLog.info(
|
|
9199
|
+
"workspace runtime ensure after preheat skipped: workspace runtime lifecycle is not supported"
|
|
9200
|
+
);
|
|
9201
|
+
return;
|
|
9202
|
+
}
|
|
9203
|
+
void coordinator.ensure({ keepAliveMs: ENSURE_KEEP_ALIVE_MS }).catch((err) => {
|
|
9204
|
+
if (shuttingDown || runtimeStartupError !== void 0) {
|
|
9205
|
+
return;
|
|
9206
|
+
}
|
|
9207
|
+
daemonLog.warn(
|
|
9208
|
+
`workspace runtime ensure after preheat failed: ${deepestErrorMessage(err)}`
|
|
9209
|
+
);
|
|
9210
|
+
});
|
|
9211
|
+
}, "scheduleWorkspaceMcpDiscoveryAfterPreheat");
|
|
9212
|
+
const startBridgePreheat = /* @__PURE__ */ __name((bridge, app2) => {
|
|
9052
9213
|
startup.preheat.status = "running";
|
|
9053
9214
|
const preheatStartedAt = performance2.now();
|
|
9054
9215
|
bridge.preheat().then(() => {
|
|
@@ -9056,6 +9217,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9056
9217
|
startup.preheat.durationMs = Math.round(
|
|
9057
9218
|
performance2.now() - preheatStartedAt
|
|
9058
9219
|
);
|
|
9220
|
+
scheduleWorkspaceMcpDiscoveryAfterPreheat(app2);
|
|
9059
9221
|
}).catch((err) => {
|
|
9060
9222
|
const message = err instanceof Error ? err.message : String(err);
|
|
9061
9223
|
startup.preheat.status = "failed";
|
|
@@ -9089,7 +9251,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9089
9251
|
return;
|
|
9090
9252
|
}
|
|
9091
9253
|
if (shouldPreheat && runtime.bridge) {
|
|
9092
|
-
startBridgePreheat(runtime.bridge);
|
|
9254
|
+
startBridgePreheat(runtime.bridge, runtime.app);
|
|
9093
9255
|
}
|
|
9094
9256
|
await completeRuntimeStartup(runtime.app);
|
|
9095
9257
|
}).catch((err) => failRuntimeStartup(err));
|
|
@@ -9406,14 +9568,19 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9406
9568
|
} catch (err) {
|
|
9407
9569
|
removeCurrentServePidfile();
|
|
9408
9570
|
const error2 = err instanceof Error ? err : new Error(String(err));
|
|
9409
|
-
|
|
9410
|
-
|
|
9411
|
-
(
|
|
9412
|
-
|
|
9413
|
-
|
|
9414
|
-
)
|
|
9415
|
-
|
|
9416
|
-
|
|
9571
|
+
if (channelSelectionFromSettings) {
|
|
9572
|
+
opts.channelSelection = void 0;
|
|
9573
|
+
reportConfiguredChannelStartupFailure(error2);
|
|
9574
|
+
} else {
|
|
9575
|
+
markServeAppStartupFailed(error2);
|
|
9576
|
+
void serveAppLifecycle.close().then(
|
|
9577
|
+
() => reject(error2),
|
|
9578
|
+
(closeError) => reject(
|
|
9579
|
+
closeError instanceof Error ? new AggregateError([error2, closeError], error2.message) : error2
|
|
9580
|
+
)
|
|
9581
|
+
);
|
|
9582
|
+
return;
|
|
9583
|
+
}
|
|
9417
9584
|
}
|
|
9418
9585
|
if (channelWorkspaceGroups) {
|
|
9419
9586
|
for (const group of channelWorkspaceGroups) {
|
|
@@ -9424,7 +9591,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9424
9591
|
}
|
|
9425
9592
|
if (opts.channelSelection?.mode === "all") {
|
|
9426
9593
|
writeStderrLine(
|
|
9427
|
-
"qwen serve: --channel all is primary-workspace only; non-primary workspace channels are not hosted."
|
|
9594
|
+
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
9595
|
);
|
|
9429
9596
|
}
|
|
9430
9597
|
}
|
|
@@ -9472,9 +9639,10 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9472
9639
|
});
|
|
9473
9640
|
const preparedRuntimeApp = runtimeApp ?? runtimeAppForCleanup;
|
|
9474
9641
|
if (preparedRuntimeApp && bridgeRef && deps.bridge) {
|
|
9642
|
+
runtimeApp ??= preparedRuntimeApp;
|
|
9475
9643
|
attachLiveDiscoveryControl(preparedRuntimeApp);
|
|
9476
9644
|
if (shouldPreheat) {
|
|
9477
|
-
startBridgePreheat(bridgeRef);
|
|
9645
|
+
startBridgePreheat(bridgeRef, preparedRuntimeApp);
|
|
9478
9646
|
}
|
|
9479
9647
|
if (opts.channelSelection && !runtimeStartupSettled) {
|
|
9480
9648
|
armRuntimeStartupTimer();
|
|
@@ -9486,6 +9654,11 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
9486
9654
|
acpHandle?.attachServer?.(server);
|
|
9487
9655
|
markServeAppStartupReady();
|
|
9488
9656
|
void publishLiveDiscovery(preparedRuntimeApp);
|
|
9657
|
+
if (!runtimeStartupSettled) {
|
|
9658
|
+
runtimeStartupSettled = true;
|
|
9659
|
+
clearRuntimeStartupTimer();
|
|
9660
|
+
markRuntimeReady();
|
|
9661
|
+
}
|
|
9489
9662
|
}
|
|
9490
9663
|
} else if (deferRuntimeUntilFirstHealth) {
|
|
9491
9664
|
scheduleRuntimeStartFallback();
|