@qwen-code/qwen-code 0.21.7 → 0.21.8-nightly.20260810.55e20db328
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 +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +73 -59
- package/bundled/qc-helper/docs/extension/introduction.md +15 -1
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +40 -2
- package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
- package/bundled/qc-helper/docs/features/channels/github.md +13 -11
- package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
- package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
- package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
- package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
- package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
- package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
- package/bundled/qc-helper/docs/features/code-review.md +4 -0
- package/bundled/qc-helper/docs/features/commands.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +52 -0
- package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +10 -5
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +50 -36
- package/bundled/review/SKILL.md +32 -5
- package/chunks/{MaxSizedBox-ANWZBPTS.js → MaxSizedBox-A52T4GEU.js} +29 -25
- package/chunks/{StandaloneSessionPicker-XKS3VU3A.js → StandaloneSessionPicker-4J654SOB.js} +48 -44
- package/chunks/{acp-startup-profiler-ORIQ2CCQ.js → acp-startup-profiler-B5BYAMYQ.js} +2 -2
- package/chunks/{acpAgent-KUAZ3GCZ.js → acpAgent-65AM4AOR.js} +1833 -843
- package/chunks/{agent-T6PTGX5R.js → agent-SVQ7U7NJ.js} +28 -24
- package/chunks/{agent-headless-PR7YCB7S.js → agent-headless-XXGY2SQO.js} +28 -24
- package/chunks/{artifact-tool-U4VOZIK5.js → artifact-tool-N652YE4L.js} +1 -1
- package/chunks/{askUserQuestion-XOBQLPFA.js → askUserQuestion-ONW74PKJ.js} +1 -1
- package/chunks/{bridge-NU6YEEHK.js → bridge-Y32B5S3G.js} +34 -30
- package/chunks/{ca-NYKNH222.js → ca-ZLKAB4K3.js} +6 -0
- package/chunks/{channel-management-service-FSQ7SHYI.js → channel-management-service-PHELKOW2.js} +19 -10
- package/chunks/{channel-settings-store-35VQVUVV.js → channel-settings-store-OW43U6VB.js} +36 -32
- package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-MSHT6CWR.js} +7 -7
- package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-XXD3GDSK.js} +7 -7
- package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-IVSDIMI4.js} +4 -4
- package/chunks/{chunk-HYRDKNUY.js → chunk-2545EHZR.js} +1 -1
- package/chunks/{chunk-SPMY6CX6.js → chunk-2ASQDZSJ.js} +3 -3
- package/chunks/{chunk-CJXIIILK.js → chunk-2FRY5CRX.js} +1 -1
- package/chunks/{chunk-CNIID3TV.js → chunk-2UUMVNYT.js} +1 -1
- package/chunks/{chunk-KXSDEOFU.js → chunk-3KJQZEN3.js} +1 -1
- package/chunks/{chunk-22NBYCPD.js → chunk-3P2LV43B.js} +1 -1
- package/chunks/{chunk-Y7E5LNLO.js → chunk-47ZUMGGY.js} +2634 -2114
- package/chunks/{chunk-LA7YLSR6.js → chunk-4EOURKA4.js} +839 -153
- package/chunks/chunk-4JRM2BSM.js +48 -0
- package/chunks/{chunk-BGG4MBYD.js → chunk-4PYCZH2V.js} +4 -187
- package/chunks/{chunk-L4N6TIP7.js → chunk-4TRQPFDP.js} +4 -2
- package/chunks/{chunk-6XJMFJ4D.js → chunk-5WZL724W.js} +177 -120
- package/chunks/{chunk-23RZCH76.js → chunk-5ZTS3OQ3.js} +3 -3
- package/chunks/{chunk-VWOVHOTT.js → chunk-67EWJE77.js} +1 -1
- package/chunks/{chunk-3K7FH2KQ.js → chunk-67N6HB5H.js} +1310 -171
- package/chunks/{chunk-CXE7E23H.js → chunk-6Q5ABMTU.js} +45 -17
- package/chunks/{chunk-NG2R4N5O.js → chunk-6ZRFAKXK.js} +1 -1
- package/chunks/{chunk-RERATVSK.js → chunk-7XX5IBXL.js} +145 -10
- package/chunks/{chunk-S7CV4KO6.js → chunk-AKJQSWV4.js} +4 -4
- package/chunks/{chunk-5KH532V7.js → chunk-AUWN7BAG.js} +1 -1
- package/chunks/{chunk-DBOFL3LQ.js → chunk-BL65MO72.js} +10 -10
- package/chunks/{chunk-AKA24BGO.js → chunk-BT6GQIEJ.js} +1 -1
- package/chunks/{chunk-W7U4ESW2.js → chunk-CG3WBKJK.js} +1 -1
- package/chunks/{chunk-2M5N3DHY.js → chunk-CMOBWHWW.js} +1 -1
- package/chunks/chunk-COBO5EBO.js +135 -0
- package/chunks/chunk-CPG6P4GG.js +82 -0
- package/chunks/{chunk-3NB7TSE2.js → chunk-D2D7J3EW.js} +1 -1
- package/chunks/{chunk-NLREQJFK.js → chunk-DA4HRSBW.js} +15 -0
- package/chunks/{chunk-RNVQB725.js → chunk-DPMJLKUP.js} +2 -2
- package/chunks/{chunk-DIEFUBV6.js → chunk-DX3RGJMS.js} +218 -37
- package/chunks/{chunk-33ACCIIY.js → chunk-DZUO626D.js} +1 -1
- package/chunks/chunk-E2FPSSKP.js +244 -0
- package/chunks/{chunk-72LNFGUY.js → chunk-E2N554HK.js} +3 -3
- package/chunks/{chunk-6EOI4HOK.js → chunk-E2T7FLDU.js} +12 -17
- package/chunks/{chunk-EUQTXRKZ.js → chunk-EISUQQPS.js} +6 -6
- package/chunks/{chunk-H2UQ2M5Z.js → chunk-EUVOKP6Y.js} +96 -22
- package/chunks/{chunk-RMH5OWLD.js → chunk-F3II4BTZ.js} +1 -1
- package/chunks/{chunk-P3LEG54R.js → chunk-F6TUUA2U.js} +3 -3
- package/chunks/chunk-F6WFNA7U.js +22 -0
- package/chunks/{chunk-RZHU3ILK.js → chunk-FAD7OC7V.js} +4 -4
- package/chunks/{chunk-OMKQH5C5.js → chunk-FWWQIFDT.js} +6 -23
- package/chunks/{chunk-TLV2IMHR.js → chunk-FYB4GIDW.js} +3 -3
- package/chunks/{chunk-ZJ3VGYHK.js → chunk-GY24H6IA.js} +40 -22
- package/chunks/{chunk-P2AJ7FTI.js → chunk-H4JC7LZX.js} +1 -1
- package/chunks/{chunk-55LYDVPU.js → chunk-HDYQYYWB.js} +1 -1
- package/chunks/{chunk-PQBHU2IA.js → chunk-HKI3KHAO.js} +11 -11
- package/chunks/{chunk-Y4NGLFGJ.js → chunk-HUWENAHO.js} +1 -1
- package/chunks/{chunk-3ULCB3NE.js → chunk-HV76SFIA.js} +1 -1
- package/chunks/{chunk-CSZEXZBE.js → chunk-HWXGX534.js} +3 -3
- package/chunks/{chunk-E33LOKRA.js → chunk-I5VM3SKY.js} +22 -5
- package/chunks/{chunk-LZC3B5N2.js → chunk-IA7TGCN2.js} +2 -2
- package/chunks/{chunk-RGSBTHSU.js → chunk-KMS57JDD.js} +137 -7
- package/chunks/{chunk-VOARQPTA.js → chunk-KP25NJNM.js} +65 -21
- package/chunks/{chunk-6M26GBKX.js → chunk-L2AFWWJE.js} +42 -3
- package/chunks/{chunk-ZXU5UHMI.js → chunk-LHEC5V6G.js} +2 -2
- package/chunks/{chunk-J26HHFI5.js → chunk-LP2QGNSP.js} +32 -2
- package/chunks/{chunk-R574ATRM.js → chunk-M2PNLYGY.js} +41 -0
- package/chunks/{chunk-MKVZE4ZJ.js → chunk-MFDYOYZZ.js} +3 -2
- package/chunks/{chunk-ALGGS7UH.js → chunk-NPQ5ZKRP.js} +82 -1
- package/chunks/{chunk-YHEEE624.js → chunk-NV3F44FL.js} +7 -3
- package/chunks/{chunk-6GONZVLS.js → chunk-NZMXUSKS.js} +1 -1
- package/chunks/{chunk-HQB2KUAN.js → chunk-O277O7U6.js} +1 -1
- package/chunks/{chunk-Y4EWSQF7.js → chunk-OBP6QWD5.js} +2 -2
- package/chunks/{chunk-CYR3HI5X.js → chunk-OQTXYMKW.js} +2 -2
- package/chunks/{chunk-TYKC75AX.js → chunk-OR6R3IUW.js} +2 -2
- package/chunks/{chunk-TRLYP7OF.js → chunk-OSVH4SMN.js} +16 -141
- package/chunks/{chunk-FPM27XN4.js → chunk-OW2BWT2P.js} +4 -4
- package/chunks/{chunk-TDXGKHDN.js → chunk-P5ULXPK5.js} +2 -2
- package/chunks/{chunk-24ER7UV4.js → chunk-PBRVUF5B.js} +1 -1
- package/chunks/{chunk-LKRMNRSN.js → chunk-PDPFQ2FO.js} +2 -0
- package/chunks/{chunk-2VSTGY6M.js → chunk-PJRW65JO.js} +1 -1
- package/chunks/{chunk-6HVUFDS2.js → chunk-PNVPFARW.js} +22 -13
- package/chunks/{chunk-IC4Z6LX6.js → chunk-PYQADEFD.js} +5 -0
- package/chunks/chunk-R4ZA6GBK.js +208 -0
- package/chunks/{chunk-KR4ZSC7K.js → chunk-RMPLEWF3.js} +3 -3
- package/chunks/{chunk-EORNAQDT.js → chunk-RQ6U2JJQ.js} +1 -1
- package/chunks/{chunk-AE77C5ZU.js → chunk-RYQMJCUO.js} +1 -1
- package/chunks/{chunk-6UWFTUQL.js → chunk-S5CULOHB.js} +75 -31
- package/chunks/{chunk-7UFKAV7Y.js → chunk-S6HYI3MF.js} +2 -2
- package/chunks/chunk-SAH4BD2J.js +92 -0
- package/chunks/chunk-SR7RZ4MS.js +202 -0
- package/chunks/{chunk-QETYKPMG.js → chunk-T2O6NIOY.js} +1 -1
- package/chunks/chunk-TQOF5KBL.js +71 -0
- package/chunks/{chunk-OHJLEW5J.js → chunk-TWFFY5BP.js} +4 -4
- package/chunks/{chunk-SCI7K3GM.js → chunk-TXO5BMR2.js} +19 -10
- package/chunks/{chunk-YJQCUTT2.js → chunk-UAB6J2IE.js} +4 -4
- package/chunks/{chunk-OFI7IGST.js → chunk-UGUKH3SU.js} +10 -10
- package/chunks/{chunk-SHZYHGQH.js → chunk-V2226RFW.js} +1 -1
- package/chunks/{chunk-KKJJB5X6.js → chunk-V47QNK5W.js} +1526 -833
- package/chunks/{chunk-W4B7UBUS.js → chunk-VHXPSL57.js} +6 -6
- package/chunks/{chunk-WUC6ZFXO.js → chunk-VKJ4KTPJ.js} +1 -1
- package/chunks/{chunk-MAJS7AT4.js → chunk-VNNWAZSI.js} +2 -2
- package/chunks/{chunk-BVWVWGLE.js → chunk-WAUGQKUU.js} +4 -64
- package/chunks/{chunk-OH2VKQXH.js → chunk-WH6QMLUW.js} +37 -30
- package/chunks/{chunk-PJOBIWUG.js → chunk-WQYWK4DG.js} +1 -1
- package/chunks/{chunk-LEMXGVEP.js → chunk-YFRFZCIP.js} +3 -3
- package/chunks/{chunk-2U3WZGZG.js → chunk-YGT2AUJ7.js} +103 -135
- package/chunks/{chunk-6XU3PH66.js → chunk-YR7ZQ4RD.js} +22 -69
- package/chunks/{chunk-OA4JVLSA.js → chunk-Z7VOMGDC.js} +22 -1
- package/chunks/{chunk-RUL4S3K3.js → chunk-ZCJBCKL5.js} +175 -60
- package/chunks/{chunk-GSS34377.js → chunk-ZI5IH2HP.js} +2 -2
- package/chunks/{chunk-CB2464BK.js → chunk-ZIKTCMQF.js} +117 -10
- package/chunks/chunk-ZLBIFIMV.js +1099 -0
- package/chunks/{chunk-D3UEZIQH.js → chunk-ZSNBQXMZ.js} +48 -55
- package/chunks/{chunk-FZBZSYKU.js → chunk-ZV7LTLFE.js} +1 -1
- package/chunks/{computer-use-KEAPATUY.js → computer-use-SLN7DV2E.js} +28 -24
- package/chunks/{config-utils-K7SCOWHD.js → config-utils-ULCSRMWD.js} +4 -4
- package/chunks/{contextCommand-ZJA6A5K5.js → contextCommand-EHFYX6FW.js} +30 -26
- package/chunks/{core-runtime-QMJPWHCI.js → core-runtime-FBSP5IIG.js} +33 -29
- package/chunks/{create-sub-session-E4PBYXV5.js → create-sub-session-QIDZUOPU.js} +1 -1
- package/chunks/{create-sub-session-DJE6XICH.js → create-sub-session-WC7YGVSL.js} +29 -25
- package/chunks/{cron-create-GRBWYMIJ.js → cron-create-VONA5JYY.js} +1 -1
- package/chunks/{cron-delete-4CMKBR2M.js → cron-delete-5JXSP2MI.js} +1 -1
- package/chunks/{cron-list-W7K4ASOA.js → cron-list-KE4F2CIR.js} +1 -1
- package/chunks/{daemon-SCTQMM7Z.js → daemon-VSX3FHTY.js} +119 -4
- package/chunks/{daemon-status-provider-FSWDPE2G.js → daemon-status-provider-WW2AD2T7.js} +39 -35
- package/chunks/{daemon-trust-policy-P5L5VFAY.js → daemon-trust-policy-E4MAYWPI.js} +35 -31
- package/chunks/{daemon-trust-policy-monitor-73JYN6ET.js → daemon-trust-policy-monitor-XVIDV6T4.js} +35 -31
- package/chunks/{de-VL76CPLV.js → de-LIW4XVLN.js} +5 -0
- package/chunks/{deferred-core-runtime-BWRCCFTE.js → deferred-core-runtime-5SVUC6UC.js} +28 -24
- package/chunks/{display-image-O2XFPQTC.js → display-image-NQRSIBXM.js} +2 -2
- package/chunks/{dist-HVBMEYWK.js → dist-3NTTUAHT.js} +1 -1
- package/chunks/{dist-7JGAAQSC.js → dist-6BMOAE3Z.js} +2 -2
- package/chunks/{dist-3BMEUGTG.js → dist-B2CGTW6T.js} +1 -1
- package/chunks/{dist-C5U4LJKW.js → dist-EWW3J4HQ.js} +5 -4
- package/chunks/{dist-K4WWQBHS.js → dist-EZE3V3Q7.js} +55 -15
- package/chunks/{dist-DPPHJAVL.js → dist-J47AXBZC.js} +918 -142
- package/chunks/{dist-SFQ34F4M.js → dist-OTUO3AS2.js} +8 -1091
- package/chunks/{dist-KS4O2NKE.js → dist-Z3CS4OVP.js} +14 -8
- package/chunks/{earlyInputCapture-L5ST23A6.js → earlyInputCapture-72FYHYRD.js} +28 -24
- package/chunks/{edit-LHHRFNFK.js → edit-SWVVWHXW.js} +28 -24
- package/chunks/{en-IRJ2WN5T.js → en-SY5GTIGX.js} +6 -0
- package/chunks/{enter-worktree-6NXCRZPF.js → enter-worktree-2HF6WQEO.js} +28 -24
- package/chunks/{enterPlanMode-ZVQT4U7D.js → enterPlanMode-OW6S7L4P.js} +28 -24
- package/chunks/{environment-GJ2HWJOS.js → environment-LRTBTDXH.js} +32 -28
- package/chunks/{errors-6RLH3XXC.js → errors-4CO2DME6.js} +30 -26
- package/chunks/{exit-worktree-I2YLUHHY.js → exit-worktree-GHJEIRGL.js} +28 -24
- package/chunks/{exitPlanMode-7CCWKO7I.js → exitPlanMode-JVP4FNNK.js} +28 -24
- package/chunks/{fast-path-DVFD4HQD.js → fast-path-HCCY7GR2.js} +24 -3
- package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-MN5QQQET.js} +6 -3
- package/chunks/{fr-GK3HQYVB.js → fr-RQFO7U4P.js} +5 -0
- package/chunks/{gemini-7FWGOYD4.js → gemini-V3YVRKXU.js} +85 -72
- package/chunks/{geminiContentGenerator-V2WVLIXU.js → geminiContentGenerator-LVPMQUWX.js} +1 -1
- package/chunks/{glob-3N6GGI75.js → glob-7HRXHYDR.js} +28 -24
- package/chunks/{goal-tools-APOW6UXL.js → goal-tools-PXWN5VK3.js} +4 -2
- package/chunks/{grep-V43ILZVX.js → grep-BITQUON5.js} +28 -24
- package/chunks/{handleAutoUpdate-A5WFVWIA.js → handleAutoUpdate-DKFY454S.js} +32 -28
- package/chunks/{i18n-PLVQ4FBZ.js → i18n-53BQIQSH.js} +29 -25
- package/chunks/{image-gen-7C6IK6DC.js → image-gen-H62FLDFB.js} +7 -5
- package/chunks/{initializer-CVAIKZYL.js → initializer-Q7NUQRSU.js} +35 -31
- package/chunks/{installationInfo-J6QDHNTK.js → installationInfo-BWFHT7WU.js} +29 -25
- package/chunks/{ja-3FA46IKD.js → ja-KOZKHJHZ.js} +5 -0
- package/chunks/{list-ZZ4OUUWV.js → list-OWQKR6JK.js} +38 -34
- package/chunks/{list-agents-KFFIIS2G.js → list-agents-Z4WABFDZ.js} +1 -1
- package/chunks/{loadedSettingsAdapter-QRYRJSWL.js → loadedSettingsAdapter-HNPKQMFA.js} +35 -31
- package/chunks/{loggingContentGenerator-OJCO75HM.js → loggingContentGenerator-A5I3VQUC.js} +10 -8
- package/chunks/{loop-wakeup-TLMJPMMP.js → loop-wakeup-UZ5RL5Y2.js} +2 -2
- package/chunks/{ls-UVVE2XGE.js → ls-TVHDGIES.js} +1 -1
- package/chunks/{lsp-QMEA2VLB.js → lsp-CVN6OQPI.js} +1 -1
- package/chunks/main-PXAUXNF2.js +8 -0
- package/chunks/{managed-npm-update-PCOSCP2N.js → managed-npm-update-CUUJGUTV.js} +29 -25
- package/chunks/{mcp-M3WKKWKY.js → mcp-GJSC7ZPO.js} +35 -31
- package/chunks/{monitor-GN24FH6C.js → monitor-TZ2II7JM.js} +38 -30
- package/chunks/{nonInteractiveCli-KPTU3VSQ.js → nonInteractiveCli-22RS4EVH.js} +72 -66
- package/chunks/{notebook-edit-4YM65BBO.js → notebook-edit-YZC3YPY2.js} +36 -24
- package/chunks/{openaiContentGenerator-EDQT6GTV.js → openaiContentGenerator-OIGO5XNF.js} +21 -11
- package/chunks/{pidfile-JOIIRN2C.js → pidfile-QJQ65RJ2.js} +28 -24
- package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
- package/chunks/{processUtils-5SV4MX3Q.js → processUtils-V5VSDIKS.js} +2 -2
- package/chunks/{pt-3AOBKPIJ.js → pt-U6AOCTMF.js} +5 -0
- package/chunks/{qwenContentGenerator-ODRJSUGR.js → qwenContentGenerator-HXM25BGB.js} +35 -30
- package/chunks/{qwenOAuth2-NESCMZ47.js → qwenOAuth2-7MTMS2Z5.js} +7 -5
- package/chunks/{read-file-HPSODLPK.js → read-file-PMGXB3ZB.js} +8 -6
- package/chunks/{read-mcp-resource-2TNSJTC3.js → read-mcp-resource-PZ4ZF6YL.js} +1 -1
- package/chunks/{record-artifact-RAON52FC.js → record-artifact-P4HFMS7X.js} +2 -2
- package/chunks/{resumeHistoryUtils-TXCOFFMQ.js → resumeHistoryUtils-YUTPLHUH.js} +33 -29
- package/chunks/{ripGrep-ZKQGTQAO.js → ripGrep-XUS66YIV.js} +28 -24
- package/chunks/{ru-VJRAMC4W.js → ru-CMX4UMYP.js} +5 -0
- package/chunks/{run-qwen-serve-ZPKPKECF.js → run-qwen-serve-4NVSU75L.js} +261 -62
- package/chunks/{runtime-2FLNNM36.js → runtime-QLRVP6HM.js} +40 -36
- package/chunks/{scheduler-365PJHNR.js → scheduler-PBB2NSOP.js} +28 -24
- package/chunks/{sdk-exporters-http-KHAB5JSD.js → sdk-exporters-http-XVTZQRCE.js} +2 -2
- package/chunks/{sdk-impl-KD7FSTC3.js → sdk-impl-7W7AKCS4.js} +7 -3
- package/chunks/{send-message-ZM7MRUGP.js → send-message-CAMSLG2L.js} +4 -3
- package/chunks/{serve-QD2RNLKJ.js → serve-BWKTRX72.js} +37 -31
- package/chunks/{server-XLJVLTYM.js → server-E7CH7WPK.js} +1437 -593
- package/chunks/{session-3VTUHH4Q.js → session-QEKSJ6YU.js} +166 -105
- package/chunks/{settings-KULVPCQC.js → settings-BRAOSJIM.js} +34 -30
- package/chunks/{shell-3SWW22MH.js → shell-OF3CK4AT.js} +28 -24
- package/chunks/{skill-KDHWYS7W.js → skill-HLH2NO2H.js} +9 -7
- package/chunks/{skill-settings-NMY4JEJC.js → skill-settings-DRPU7YI5.js} +34 -30
- package/chunks/{spawnChannel-ZKS4Q5OU.js → spawnChannel-4KO7YTFM.js} +31 -27
- package/chunks/{standalone-update-7CXPGAQ4.js → standalone-update-DJN2R3YW.js} +30 -26
- package/chunks/{startInteractiveUI-2QQLEKM6.js → startInteractiveUI-O3WQQ2WC.js} +384 -173
- package/chunks/{syntheticOutput-ZLCUTKO2.js → syntheticOutput-PEBJQYJV.js} +2 -2
- package/chunks/{task-create-CQP5UEA3.js → task-create-5NWCQSJF.js} +5 -4
- package/chunks/{task-list-XLEZOJXP.js → task-list-53265TRZ.js} +1 -1
- package/chunks/{task-stop-7ZQM5CFF.js → task-stop-FPCOIRYX.js} +1 -1
- package/chunks/{task-update-JA75U2SN.js → task-update-5HN577LS.js} +5 -4
- package/chunks/{team-create-2WTNGAOX.js → team-create-2E4ACBJD.js} +28 -24
- package/chunks/{team-delete-MHY3UZGY.js → team-delete-MMQB4OSC.js} +1 -1
- package/chunks/{team-plan-approval-LZTYLEG4.js → team-plan-approval-LWIDXYOA.js} +28 -24
- package/chunks/{terminal-image-renderer-R5HHAFJN.js → terminal-image-renderer-PJM7663W.js} +30 -26
- package/chunks/{theme-manager-PAUCSJFF.js → theme-manager-FDQTM3RP.js} +28 -24
- package/chunks/{todoWrite-UPVOHYGD.js → todoWrite-JGV6VLOX.js} +1 -1
- package/chunks/{tool-search-2BFCGLI6.js → tool-search-TL5ZXBF4.js} +11 -8
- package/chunks/{total-session-admission-MK4SINFK.js → total-session-admission-LS6EY5KT.js} +37 -32
- package/chunks/{trustedFolders-TJ5S26N7.js → trustedFolders-5RWP5OB7.js} +32 -26
- package/chunks/{types-ML3TRJQ5.js → types-WYCFCEHR.js} +5 -3
- package/chunks/{update-relaunch-N7AYLARF.js → update-relaunch-HWQ4USKY.js} +5 -5
- package/chunks/{updateCheck-QRZ3DVT5.js → updateCheck-EZMBTEIR.js} +31 -27
- package/chunks/{useAutoAcceptIndicator-DBJ7Y5AF.js → useAutoAcceptIndicator-JDMI627A.js} +37 -33
- package/chunks/{validateNonInterActiveAuth-6ZQWUDS3.js → validateNonInterActiveAuth-RRUHC5RO.js} +67 -63
- package/chunks/{version-AJQGQWXC.js → version-XS4UTKUX.js} +1 -1
- package/chunks/{web-fetch-QWJYRXFL.js → web-fetch-2JV7H6OM.js} +14 -10
- package/chunks/{web-search-2AOXJGHU.js → web-search-RCTN2GAM.js} +10 -7
- package/chunks/{workflow-ERH3SJG2.js → workflow-6MKLKQ6R.js} +909 -273
- package/chunks/{workspace-providers-status-HZ474RA4.js → workspace-providers-status-YZ2IJ4DK.js} +38 -34
- package/chunks/{workspace-registration-store-6EUP4JXG.js → workspace-registration-store-IYN72LBS.js} +1 -1
- package/chunks/{workspace-registry-R4APRRNC.js → workspace-registry-7LFBZQLT.js} +37 -32
- package/chunks/{workspace-service-HFIFDMU7.js → workspace-service-2EHSPRJB.js} +45 -39
- package/chunks/{workspace-skills-status-HAHEIHGK.js → workspace-skills-status-5VJ2D5HN.js} +36 -32
- package/chunks/{workspace-trust-reconciler-65GTAGDK.js → workspace-trust-reconciler-X2LZ6XCI.js} +44 -39
- package/chunks/{write-file-B34CDELV.js → write-file-CJK6SCCF.js} +28 -24
- package/chunks/{zh-ARWDLDLR.js → zh-AGL2FVBI.js} +6 -0
- package/chunks/{zh-TW-Y4RGI3P7.js → zh-TW-KI66MHQY.js} +6 -0
- package/chunks/{zoom-image-HPRBZHSS.js → zoom-image-BVW4RFYW.js} +8 -6
- package/cli.js +13 -13
- package/locales/ca.js +10 -0
- package/locales/de.js +9 -0
- package/locales/en.js +10 -0
- package/locales/fr.js +9 -0
- package/locales/ja.js +9 -0
- package/locales/pt.js +9 -0
- package/locales/ru.js +9 -0
- package/locales/zh-TW.js +10 -0
- package/locales/zh.js +10 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-Ip-FFDJ0.js → arc-DDtoJrAW.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-CChqgwIb.js → architectureDiagram-3BPJPVTR-BAInIW4O.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BHN-Tfss.js → blockDiagram-GPEHLZMM-ChPDk7fP.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BhyjzDjN.js → c4Diagram-AAUBKEIU-Cd9BJuUy.js} +1 -1
- package/web-shell/assets/channel-0OQklTfP.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BB9eyHrx.js → chunk-2J33WTMH-COQkLp56.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BeV7ce_J.js → chunk-4BX2VUAB-GUJshQ_l.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DO7kXDiV.js → chunk-55IACEB6-Boaa7c10.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-B27MPznD.js → chunk-727SXJPM-CcRXaly2.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-DHIjqjD_.js → chunk-AQP2D5EJ-BY0OARHh.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DabMqyN2.js → chunk-FMBD7UC4-DLFQfv0S.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-Dw7Nnnxc.js → chunk-ND2GUHAM-C_S0u-D2.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DdaZew1Q.js → chunk-QZHKN3VN-DP9m64hw.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CZ4-apsu.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CZ4-apsu.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-CgBpCYH5.js → cose-bilkent-S5V4N54A-CGY6zGE1.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BB4IU8G0.js → dagre-BM42HDAG-yB7whKNn.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BcUTHU37.js → diagram-2AECGRRQ-Bdlc59La.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-B6Lyihyv.js → diagram-5GNKFQAL-BUClP18L.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CRIJOjpG.js → diagram-KO2AKTUF-aZm08kjn.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-DdNiwWWT.js → diagram-LMA3HP47-7DGwEkxC.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-Dz4b32Do.js → diagram-OG6HWLK6-CAGKayxx.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-D-8NGw77.js → erDiagram-TEJ5UH35-CptoHHQi.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-Dun26LyM.js → flowDiagram-I6XJVG4X-CNOH0s7Q.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-F10Hu1Gc.js → ganttDiagram-6RSMTGT7-CCQuCU3y.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js → gitGraphDiagram-PVQCEYII-B7gv9f4E.js} +1 -1
- package/web-shell/assets/{index-BXqw-nGq.js → index-BoUPVvpf.js} +1 -1
- package/web-shell/assets/index-D1YQXYsB.css +5 -0
- package/web-shell/assets/index-J4N7zCmU.js +1768 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DVgTMLvj.js → infoDiagram-5YYISTIA-Bb3KYEbR.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-uT-KepvK.js → ishikawaDiagram-YF4QCWOH-DWEzbAGi.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-Vg_XadQf.js → journeyDiagram-JHISSGLW-CmxwEqeb.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Dyv1ESBE.js → kanban-definition-UN3LZRKU-Ci0gDD8O.js} +1 -1
- package/web-shell/assets/{linear-BMIepYX3.js → linear-BqxZqGhS.js} +1 -1
- package/web-shell/assets/{mermaid.core-zA8pJ9ag.js → mermaid.core-BDAFffHv.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BCW_BZ_5.js → mindmap-definition-RKZ34NQL-Btvx-xvS.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DseNEGp2.js → pieDiagram-4H26LBE5-CKAg7yG7.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js → quadrantDiagram-W4KKPZXB-DIt8E1mC.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CVOlCRPf.js → requirementDiagram-4Y6WPE33-BA7mQWQJ.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CGhgrUJZ.js → sankeyDiagram-5OEKKPKP-D0JppnVU.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-dlqmpLuQ.js → sequenceDiagram-3UESZ5HK-29DIQFjB.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-B9EW10Xb.js → stateDiagram-AJRCARHV-iiXMdK--.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CEGK3l80.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-BBRh0mgZ.js → timeline-definition-PNZ67QCA-CeF7ngSW.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-B8Gs-REP.js → vennDiagram-CIIHVFJN-Beilq8D6.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-D_y80Ur7.js → wardley-L42UT6IY-DOYjY4zO.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D-CNfHJ-.js → wardleyDiagram-YWT4CUSO-Dtqp8o18.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DQ5CvELo.js → xychartDiagram-2RQKCTM6-cdAc0Dfv.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-6PEXNQTX.js +0 -68
- package/chunks/chunk-IUFV6FYU.js +0 -81
- package/chunks/chunk-RXFQM6FQ.js +0 -42
- package/web-shell/assets/channel-Cu8qd6OB.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +0 -1
- package/web-shell/assets/index-QQlUCJGg.css +0 -5
- package/web-shell/assets/index-hcgjV7vS.js +0 -1768
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +0 -1
- package/chunks/{anthropicContentGenerator-DTMVEL5M.js → anthropicContentGenerator-SSFE2753.js} +9 -9
- /package/chunks/{chunk-VXZBKKQR.js → chunk-NTTBXH7U.js} +0 -0
- /package/chunks/{chunk-GRC5HGPI.js → chunk-OIBUG24X.js} +0 -0
|
@@ -34,18 +34,24 @@ import {
|
|
|
34
34
|
resolveAcpHttpEnabled,
|
|
35
35
|
setDeferredRuntimeRequestTiming,
|
|
36
36
|
toDaemonStatusMemoryLimits
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-KMS57JDD.js";
|
|
38
38
|
import {
|
|
39
39
|
isLoopbackBind
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-TQOF5KBL.js";
|
|
41
41
|
import {
|
|
42
42
|
formatMemoryBudgetStderr,
|
|
43
43
|
resolveDaemonMemoryBudget
|
|
44
44
|
} from "./chunk-HGCQ5SE7.js";
|
|
45
|
+
import {
|
|
46
|
+
resolveSessionRestoreTimeoutMs
|
|
47
|
+
} from "./chunk-4JRM2BSM.js";
|
|
45
48
|
import {
|
|
46
49
|
require_express,
|
|
47
50
|
resolveWebShellDir
|
|
48
51
|
} from "./chunk-GDXET5XU.js";
|
|
52
|
+
import {
|
|
53
|
+
resolveChannelCwd
|
|
54
|
+
} from "./chunk-67EWJE77.js";
|
|
49
55
|
import {
|
|
50
56
|
LIVE_HOST_PROTOCOL_VERSION
|
|
51
57
|
} from "./chunk-NKLP3DCK.js";
|
|
@@ -61,27 +67,25 @@ import "./chunk-K6KS3LTN.js";
|
|
|
61
67
|
import "./chunk-FC4KQFCS.js";
|
|
62
68
|
import "./chunk-T3CHYWJZ.js";
|
|
63
69
|
import {
|
|
64
|
-
|
|
65
|
-
} from "./chunk-VWOVHOTT.js";
|
|
66
|
-
import {
|
|
70
|
+
consumeServeFastPathRejectedLoaderKeys,
|
|
67
71
|
loadServeFastPathSettings,
|
|
68
72
|
preResolveServeFastPathHomeEnvOverrides
|
|
69
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-ZSNBQXMZ.js";
|
|
70
74
|
import {
|
|
71
75
|
MAX_REGISTERED_WORKSPACES,
|
|
72
76
|
resolveWorkspaceInputs,
|
|
73
77
|
workspaceRegistrationId
|
|
74
|
-
} from "./chunk-
|
|
75
|
-
import "./chunk-
|
|
78
|
+
} from "./chunk-H4JC7LZX.js";
|
|
79
|
+
import "./chunk-AKJQSWV4.js";
|
|
76
80
|
import {
|
|
77
81
|
LOAD_REPLAY_META_KEY
|
|
78
|
-
} from "./chunk-
|
|
79
|
-
import "./chunk-
|
|
82
|
+
} from "./chunk-M2PNLYGY.js";
|
|
83
|
+
import "./chunk-LP2QGNSP.js";
|
|
80
84
|
import {
|
|
81
85
|
canonicalizeWorkspace,
|
|
82
86
|
translateAndCheckAbsoluteWorkspacePath
|
|
83
87
|
} from "./chunk-6PLDPT2C.js";
|
|
84
|
-
import "./chunk-
|
|
88
|
+
import "./chunk-MFDYOYZZ.js";
|
|
85
89
|
import "./chunk-FYJ7W2PI.js";
|
|
86
90
|
import {
|
|
87
91
|
ChannelDeliveryError,
|
|
@@ -92,33 +96,39 @@ import {
|
|
|
92
96
|
import {
|
|
93
97
|
normalizeWorkerDiagnostic,
|
|
94
98
|
sanitizeWorkerDiagnostic
|
|
95
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-PBRVUF5B.js";
|
|
96
100
|
import {
|
|
97
101
|
channelSelectionNames
|
|
98
102
|
} from "./chunk-ALMR3E6Q.js";
|
|
99
103
|
import "./chunk-HIBNSEJE.js";
|
|
104
|
+
import "./chunk-M5GB774H.js";
|
|
100
105
|
import {
|
|
101
106
|
EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
|
|
102
107
|
EXTERNAL_TOOL_GUARD_TOKEN_ENV,
|
|
103
108
|
PRIVATE_EXTERNAL_TOOL_GUARD_ENV
|
|
104
109
|
} from "./chunk-BKHCW2BI.js";
|
|
105
|
-
import
|
|
106
|
-
|
|
110
|
+
import {
|
|
111
|
+
MAX_DAEMON_WORKSPACES
|
|
112
|
+
} from "./chunk-5HBA2Z7V.js";
|
|
107
113
|
import {
|
|
108
114
|
sanitizeLogText
|
|
109
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-DX3RGJMS.js";
|
|
110
116
|
import "./chunk-UDXSXLER.js";
|
|
111
117
|
import "./chunk-GOXKNSDZ.js";
|
|
112
118
|
import {
|
|
113
119
|
getGlobalQwenDirLite,
|
|
114
120
|
resolveConfigPathLite
|
|
115
121
|
} from "./chunk-IDS7MSUP.js";
|
|
116
|
-
import
|
|
122
|
+
import {
|
|
123
|
+
scrubAndReportInheritedLoaderEnv,
|
|
124
|
+
scrubInheritedLoaderEnv,
|
|
125
|
+
setLoaderKeyRejectionReporter
|
|
126
|
+
} from "./chunk-R4ZA6GBK.js";
|
|
117
127
|
import {
|
|
118
128
|
getCliVersion
|
|
119
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-ZV7LTLFE.js";
|
|
120
130
|
import "./chunk-VJNBRRZG.js";
|
|
121
|
-
import "./chunk-
|
|
131
|
+
import "./chunk-NPQ5ZKRP.js";
|
|
122
132
|
import {
|
|
123
133
|
isWithinRoot
|
|
124
134
|
} from "./chunk-MR3PXB6E.js";
|
|
@@ -160,6 +170,46 @@ import * as path from "node:path";
|
|
|
160
170
|
import * as os from "node:os";
|
|
161
171
|
import { monitorEventLoopDelay, performance as performance2 } from "node:perf_hooks";
|
|
162
172
|
|
|
173
|
+
// packages/acp-bridge/dist/child-heap-policy.js
|
|
174
|
+
init_esbuild_shims();
|
|
175
|
+
|
|
176
|
+
// packages/acp-bridge/dist/daemon-memory-budget.js
|
|
177
|
+
init_esbuild_shims();
|
|
178
|
+
var MIN_CHILD_HEAP_MB = 512;
|
|
179
|
+
|
|
180
|
+
// packages/acp-bridge/dist/child-heap-policy.js
|
|
181
|
+
function createChildHeapPolicy(options) {
|
|
182
|
+
const { budget, mode } = options;
|
|
183
|
+
let refusals = 0;
|
|
184
|
+
const admissible = Math.min(Math.floor(budget.childPoolMb / MIN_CHILD_HEAP_MB), MAX_DAEMON_WORKSPACES);
|
|
185
|
+
const rawCeilingMb = admissible > 0 ? Math.min(Math.floor(budget.childPoolMb / admissible), budget.legacyChildCeilingMb) : null;
|
|
186
|
+
const modelable = rawCeilingMb !== null && rawCeilingMb >= MIN_CHILD_HEAP_MB;
|
|
187
|
+
const maxConcurrentChildren = modelable ? admissible : 0;
|
|
188
|
+
const perChildCeilingMb = modelable ? rawCeilingMb : null;
|
|
189
|
+
return {
|
|
190
|
+
decide(concurrentChildren) {
|
|
191
|
+
if (mode === "off")
|
|
192
|
+
return { refuse: false };
|
|
193
|
+
const refuse = concurrentChildren > maxConcurrentChildren;
|
|
194
|
+
if (refuse)
|
|
195
|
+
refusals += 1;
|
|
196
|
+
return { refuse };
|
|
197
|
+
},
|
|
198
|
+
snapshot() {
|
|
199
|
+
const modeled = mode !== "off";
|
|
200
|
+
return {
|
|
201
|
+
mode,
|
|
202
|
+
childPoolMb: budget.childPoolMb,
|
|
203
|
+
minChildHeapMb: MIN_CHILD_HEAP_MB,
|
|
204
|
+
maxConcurrentChildren: modeled ? maxConcurrentChildren : null,
|
|
205
|
+
perChildCeilingMb: modeled ? perChildCeilingMb : null,
|
|
206
|
+
refusals
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
__name(createChildHeapPolicy, "createChildHeapPolicy");
|
|
212
|
+
|
|
163
213
|
// packages/core/dist/src/memory/scopes.js
|
|
164
214
|
init_esbuild_shims();
|
|
165
215
|
var MEMORY_PROJECT_SCOPES = ["git-root", "workspace"];
|
|
@@ -2932,12 +2982,12 @@ var retryableChannelWorkerShutdownErrors = /* @__PURE__ */ new WeakSet();
|
|
|
2932
2982
|
var channelWorkerRuntimePromise;
|
|
2933
2983
|
async function loadChannelWorkerRuntime() {
|
|
2934
2984
|
channelWorkerRuntimePromise ??= Promise.all([
|
|
2935
|
-
import("./channel-worker-supervisor-
|
|
2936
|
-
import("./pidfile-
|
|
2937
|
-
import("./runtime-
|
|
2985
|
+
import("./channel-worker-supervisor-IVSDIMI4.js"),
|
|
2986
|
+
import("./pidfile-QJQ65RJ2.js"),
|
|
2987
|
+
import("./runtime-QLRVP6HM.js"),
|
|
2938
2988
|
import("./cli-entry-path-4VJ3Y6T2.js"),
|
|
2939
|
-
import("./channel-worker-group-
|
|
2940
|
-
import("./channel-worker-manager-
|
|
2989
|
+
import("./channel-worker-group-MSHT6CWR.js"),
|
|
2990
|
+
import("./channel-worker-manager-XXD3GDSK.js")
|
|
2941
2991
|
]).then(
|
|
2942
2992
|
([
|
|
2943
2993
|
supervisor,
|
|
@@ -3042,7 +3092,7 @@ function shouldPreheatBridge(deps) {
|
|
|
3042
3092
|
__name(shouldPreheatBridge, "shouldPreheatBridge");
|
|
3043
3093
|
var coreRuntimePromise;
|
|
3044
3094
|
function loadCoreRuntime() {
|
|
3045
|
-
coreRuntimePromise ??= import("./core-runtime-
|
|
3095
|
+
coreRuntimePromise ??= import("./core-runtime-FBSP5IIG.js");
|
|
3046
3096
|
return coreRuntimePromise;
|
|
3047
3097
|
}
|
|
3048
3098
|
__name(loadCoreRuntime, "loadCoreRuntime");
|
|
@@ -3078,10 +3128,10 @@ __name(resolveDaemonLogBaseDirForRun, "resolveDaemonLogBaseDirForRun");
|
|
|
3078
3128
|
var settingsRuntimePromise;
|
|
3079
3129
|
function loadSettingsRuntimeModules() {
|
|
3080
3130
|
settingsRuntimePromise ??= Promise.all([
|
|
3081
|
-
import("./settings-
|
|
3082
|
-
import("./environment-
|
|
3083
|
-
import("./loadedSettingsAdapter-
|
|
3084
|
-
import("./trustedFolders-
|
|
3131
|
+
import("./settings-BRAOSJIM.js"),
|
|
3132
|
+
import("./environment-LRTBTDXH.js"),
|
|
3133
|
+
import("./loadedSettingsAdapter-HNPKQMFA.js"),
|
|
3134
|
+
import("./trustedFolders-5RWP5OB7.js")
|
|
3085
3135
|
]).then(([settings, environment, loadedSettingsAdapter, trustedFolders]) => ({
|
|
3086
3136
|
settings,
|
|
3087
3137
|
environment,
|
|
@@ -3094,8 +3144,8 @@ __name(loadSettingsRuntimeModules, "loadSettingsRuntimeModules");
|
|
|
3094
3144
|
var channelWebhookConfigRuntimePromise;
|
|
3095
3145
|
function loadChannelWebhookConfigRuntime() {
|
|
3096
3146
|
channelWebhookConfigRuntimePromise ??= Promise.all([
|
|
3097
|
-
import("./runtime-
|
|
3098
|
-
import("./config-utils-
|
|
3147
|
+
import("./runtime-QLRVP6HM.js"),
|
|
3148
|
+
import("./config-utils-ULCSRMWD.js")
|
|
3099
3149
|
]).then(([channelRuntime, configUtils]) => ({
|
|
3100
3150
|
loadChannelsConfig: channelRuntime.loadChannelsConfig,
|
|
3101
3151
|
parseChannelWebhookConfig: configUtils.parseChannelWebhookConfig
|
|
@@ -3120,17 +3170,17 @@ async function loadServeRuntimeModules() {
|
|
|
3120
3170
|
totalSessionAdmissionModule,
|
|
3121
3171
|
workspaceRegistryModule
|
|
3122
3172
|
] = await Promise.all([
|
|
3123
|
-
import("./server-
|
|
3124
|
-
import("./bridge-
|
|
3125
|
-
import("./spawnChannel-
|
|
3126
|
-
import("./process-registry-
|
|
3127
|
-
import("./workspace-service-
|
|
3128
|
-
import("./types-
|
|
3129
|
-
import("./daemon-status-provider-
|
|
3130
|
-
import("./workspace-providers-status-
|
|
3131
|
-
import("./workspace-skills-status-
|
|
3132
|
-
import("./total-session-admission-
|
|
3133
|
-
import("./workspace-registry-
|
|
3173
|
+
import("./server-E7CH7WPK.js"),
|
|
3174
|
+
import("./bridge-Y32B5S3G.js"),
|
|
3175
|
+
import("./spawnChannel-4KO7YTFM.js"),
|
|
3176
|
+
import("./process-registry-PMJOA5CO.js"),
|
|
3177
|
+
import("./workspace-service-2EHSPRJB.js"),
|
|
3178
|
+
import("./types-WYCFCEHR.js"),
|
|
3179
|
+
import("./daemon-status-provider-WW2AD2T7.js"),
|
|
3180
|
+
import("./workspace-providers-status-YZ2IJ4DK.js"),
|
|
3181
|
+
import("./workspace-skills-status-5VJ2D5HN.js"),
|
|
3182
|
+
import("./total-session-admission-LS6EY5KT.js"),
|
|
3183
|
+
import("./workspace-registry-7LFBZQLT.js")
|
|
3134
3184
|
]);
|
|
3135
3185
|
return {
|
|
3136
3186
|
createServeApp: serverModule.createServeApp,
|
|
@@ -3220,7 +3270,8 @@ function createBootstrapCapabilities(input) {
|
|
|
3220
3270
|
limits: {
|
|
3221
3271
|
maxPendingPromptsPerSession: advertisedMaxPendingPromptsPerSession(
|
|
3222
3272
|
input.opts.maxPendingPromptsPerSession
|
|
3223
|
-
)
|
|
3273
|
+
),
|
|
3274
|
+
sessionRestoreTimeoutMs: resolveSessionRestoreTimeoutMs(input.opts)
|
|
3224
3275
|
}
|
|
3225
3276
|
};
|
|
3226
3277
|
}
|
|
@@ -3515,6 +3566,9 @@ function createBootstrapServeApp(input) {
|
|
|
3515
3566
|
channelIdleTimeoutMs: channelIdleTimeoutMs(opts.channelIdleTimeoutMs),
|
|
3516
3567
|
sessionIdleTimeoutMs: sessionIdleTimeoutMs(opts.sessionIdleTimeoutMs),
|
|
3517
3568
|
acpConnectionCap: null,
|
|
3569
|
+
// No child-heap policy during bootstrap: it is built with the
|
|
3570
|
+
// runtime, so `enforced` is correctly false and `childHeap` null in
|
|
3571
|
+
// this window even when the flag says `enforce`.
|
|
3518
3572
|
memory: toDaemonStatusMemoryLimits(opts.daemonMemoryBudget)
|
|
3519
3573
|
},
|
|
3520
3574
|
capabilities: {
|
|
@@ -3767,6 +3821,7 @@ __name(validateAndCanonicalizeWorkspaceInput, "validateAndCanonicalizeWorkspaceI
|
|
|
3767
3821
|
async function runQwenServe(optsIn, deps = {}) {
|
|
3768
3822
|
let daemonLog;
|
|
3769
3823
|
let owner = "startup";
|
|
3824
|
+
let restoreScrubbedLoaderEnv;
|
|
3770
3825
|
try {
|
|
3771
3826
|
return await runQwenServeImpl(optsIn, deps, {
|
|
3772
3827
|
initialized: /* @__PURE__ */ __name((logger) => {
|
|
@@ -3777,9 +3832,15 @@ async function runQwenServe(optsIn, deps = {}) {
|
|
|
3777
3832
|
}, "published"),
|
|
3778
3833
|
signalOwned: /* @__PURE__ */ __name(() => {
|
|
3779
3834
|
if (owner === "startup") owner = "signal";
|
|
3780
|
-
}, "signalOwned")
|
|
3835
|
+
}, "signalOwned"),
|
|
3836
|
+
scrubApplied: /* @__PURE__ */ __name((restore) => {
|
|
3837
|
+
restoreScrubbedLoaderEnv = restore;
|
|
3838
|
+
}, "scrubApplied")
|
|
3781
3839
|
});
|
|
3782
3840
|
} catch (error) {
|
|
3841
|
+
if (daemonLog) {
|
|
3842
|
+
setLoaderKeyRejectionReporter(void 0);
|
|
3843
|
+
}
|
|
3783
3844
|
if (daemonLog && owner === "startup") {
|
|
3784
3845
|
const startupLog = daemonLog;
|
|
3785
3846
|
writeDaemonLifecycleBestEffort(
|
|
@@ -3790,6 +3851,7 @@ async function runQwenServe(optsIn, deps = {}) {
|
|
|
3790
3851
|
);
|
|
3791
3852
|
await startupLog.close();
|
|
3792
3853
|
}
|
|
3854
|
+
restoreScrubbedLoaderEnv?.();
|
|
3793
3855
|
throw error;
|
|
3794
3856
|
}
|
|
3795
3857
|
}
|
|
@@ -3815,12 +3877,31 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
3815
3877
|
);
|
|
3816
3878
|
}
|
|
3817
3879
|
preResolveServeFastPathHomeEnvOverrides();
|
|
3818
|
-
const
|
|
3880
|
+
const launchEnv = { ...process.env };
|
|
3881
|
+
const baseEnv = {
|
|
3819
3882
|
...process.env,
|
|
3820
3883
|
...optsIn.memoryProjectScope !== void 0 ? {
|
|
3821
3884
|
QWEN_CODE_MEMORY_PROJECT_SCOPE: optsIn.memoryProjectScope
|
|
3822
3885
|
} : {}
|
|
3823
|
-
}
|
|
3886
|
+
};
|
|
3887
|
+
if (process.env["DEV"] !== "true") {
|
|
3888
|
+
scrubInheritedLoaderEnv(baseEnv);
|
|
3889
|
+
}
|
|
3890
|
+
const daemonRuntimeBaseEnv = Object.freeze(baseEnv);
|
|
3891
|
+
const scrubbedLoaderEnvKeys = scrubAndReportInheritedLoaderEnv(
|
|
3892
|
+
process.env,
|
|
3893
|
+
"qwen serve",
|
|
3894
|
+
"daemon"
|
|
3895
|
+
);
|
|
3896
|
+
const restoreScrubbedLoaderEnv = /* @__PURE__ */ __name(() => {
|
|
3897
|
+
for (const key of scrubbedLoaderEnvKeys) {
|
|
3898
|
+
if (Object.hasOwn(process.env, key)) continue;
|
|
3899
|
+
const value = launchEnv[key];
|
|
3900
|
+
if (value === void 0) continue;
|
|
3901
|
+
process.env[key] = value;
|
|
3902
|
+
}
|
|
3903
|
+
}, "restoreScrubbedLoaderEnv");
|
|
3904
|
+
loggerLifecycle.scrubApplied(restoreScrubbedLoaderEnv);
|
|
3824
3905
|
const rawToken = optsIn.token ?? process.env[QWEN_SERVER_TOKEN_ENV];
|
|
3825
3906
|
const token = typeof rawToken === "string" && rawToken.trim().length > 0 ? rawToken.trim() : void 0;
|
|
3826
3907
|
const channelDeliveryDiagnosticRedaction = {
|
|
@@ -4054,7 +4135,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4054
4135
|
}
|
|
4055
4136
|
let workspaceRegistrationStore = deps.workspaceRegistrationStore;
|
|
4056
4137
|
if (workspaceRegistrationStore === void 0 && process.env["QWEN_SERVE_NO_PERSISTENT_REGISTRATION"] !== "1") {
|
|
4057
|
-
const { WorkspaceRegistrationStore } = await import("./workspace-registration-store-
|
|
4138
|
+
const { WorkspaceRegistrationStore } = await import("./workspace-registration-store-IYN72LBS.js");
|
|
4058
4139
|
workspaceRegistrationStore = new WorkspaceRegistrationStore(boundWorkspace);
|
|
4059
4140
|
}
|
|
4060
4141
|
if (workspaceRegistrationStore) {
|
|
@@ -4153,6 +4234,25 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4153
4234
|
baseDir: daemonLogBaseDir
|
|
4154
4235
|
});
|
|
4155
4236
|
loggerLifecycle.initialized(daemonLog);
|
|
4237
|
+
setLoaderKeyRejectionReporter((source, freshKeys) => {
|
|
4238
|
+
daemonLog.warn(
|
|
4239
|
+
"rejected loader-affecting env keys; they were not applied",
|
|
4240
|
+
{ source, rejectedKeys: freshKeys }
|
|
4241
|
+
);
|
|
4242
|
+
});
|
|
4243
|
+
if (scrubbedLoaderEnvKeys.length > 0) {
|
|
4244
|
+
daemonLog.info(
|
|
4245
|
+
"scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them",
|
|
4246
|
+
{ removedKeys: scrubbedLoaderEnvKeys }
|
|
4247
|
+
);
|
|
4248
|
+
}
|
|
4249
|
+
const fastPathRejectedLoaderKeys = consumeServeFastPathRejectedLoaderKeys();
|
|
4250
|
+
if (fastPathRejectedLoaderKeys.length > 0) {
|
|
4251
|
+
daemonLog.info(
|
|
4252
|
+
"rejected loader-affecting env keys during serve fast-path boot; they were not applied to the daemon process",
|
|
4253
|
+
{ rejectedKeys: fastPathRejectedLoaderKeys }
|
|
4254
|
+
);
|
|
4255
|
+
}
|
|
4156
4256
|
let loggerPublished = false;
|
|
4157
4257
|
let loggerSignalOwned = false;
|
|
4158
4258
|
writeStderrLine(
|
|
@@ -4251,6 +4351,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4251
4351
|
}
|
|
4252
4352
|
assertTimerDelayInRange("initializeTimeoutMs", opts.initializeTimeoutMs);
|
|
4253
4353
|
}
|
|
4354
|
+
const sessionRestoreTimeoutMs = resolveSessionRestoreTimeoutMs(opts);
|
|
4355
|
+
opts.sessionRestoreTimeoutMs = sessionRestoreTimeoutMs;
|
|
4254
4356
|
if (opts.permissionResponseTimeoutMs !== void 0) {
|
|
4255
4357
|
if (!Number.isFinite(opts.permissionResponseTimeoutMs) || !Number.isInteger(opts.permissionResponseTimeoutMs) || opts.permissionResponseTimeoutMs < 0) {
|
|
4256
4358
|
throw new TypeError(
|
|
@@ -4326,6 +4428,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4326
4428
|
let runtimeAppForCleanup;
|
|
4327
4429
|
let bridgeRef = deps.bridge;
|
|
4328
4430
|
let managedProcessRegistry;
|
|
4431
|
+
let managedChildHeapPolicy;
|
|
4329
4432
|
const internalRuntimeBridgesForCleanup = [];
|
|
4330
4433
|
let daemonEventLoopMonitor;
|
|
4331
4434
|
let daemonMetricsSampler;
|
|
@@ -4592,7 +4695,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4592
4695
|
loadCoreRuntime(),
|
|
4593
4696
|
loadSettingsRuntimeModules(),
|
|
4594
4697
|
cliVersionPromise,
|
|
4595
|
-
import("./daemon-trust-policy-
|
|
4698
|
+
import("./daemon-trust-policy-E4MAYWPI.js")
|
|
4596
4699
|
]);
|
|
4597
4700
|
cliVersion = resolvedCliVersion;
|
|
4598
4701
|
settingsRuntime.environment.preResolveHomeEnvOverrides();
|
|
@@ -4870,6 +4973,11 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4870
4973
|
const runWorkspaceTrustOperation = /* @__PURE__ */ __name((operation) => workspaceTrustOperationGate.runExclusive("runtime-topology", operation), "runWorkspaceTrustOperation");
|
|
4871
4974
|
const processRegistry = new runtime.ProcessRegistry();
|
|
4872
4975
|
managedProcessRegistry = processRegistry;
|
|
4976
|
+
const childHeapPolicy = opts.daemonMemoryBudget && !deps.bridge ? createChildHeapPolicy({
|
|
4977
|
+
budget: opts.daemonMemoryBudget,
|
|
4978
|
+
mode: opts.childHeapMode ?? "observe"
|
|
4979
|
+
}) : void 0;
|
|
4980
|
+
managedChildHeapPolicy = childHeapPolicy;
|
|
4873
4981
|
const fsFactory = runtime.resolveBridgeFsFactory({
|
|
4874
4982
|
// Secondary roots share a write-capable factory only after their own
|
|
4875
4983
|
// folder trust check passes; untrusted secondary roots stay outside.
|
|
@@ -4893,6 +5001,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4893
5001
|
});
|
|
4894
5002
|
const channelFactory = runtime.createSpawnChannelFactory({
|
|
4895
5003
|
processRegistry,
|
|
5004
|
+
childHeapPolicy,
|
|
4896
5005
|
sourceEnv: runtimeEffectiveEnv,
|
|
4897
5006
|
onDiagnosticLine: diagnosticSink,
|
|
4898
5007
|
pipeHooks: {
|
|
@@ -4958,7 +5067,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
4958
5067
|
resolveSkillSettings,
|
|
4959
5068
|
skillSettingStrings,
|
|
4960
5069
|
updateWorkspaceSkillSettingLists
|
|
4961
|
-
} = await import("./skill-settings-
|
|
5070
|
+
} = await import("./skill-settings-DRPU7YI5.js");
|
|
4962
5071
|
const fresh = loadSettingsForPersistence(workspace);
|
|
4963
5072
|
const normalizedName = skillName.trim().toLowerCase();
|
|
4964
5073
|
const resolved = resolveSkillSettings(fresh);
|
|
@@ -5017,6 +5126,77 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5017
5126
|
settingsChanges
|
|
5018
5127
|
};
|
|
5019
5128
|
}), "persistDisabledSkillsFn");
|
|
5129
|
+
const persistDisabledSkillsBatchFn = /* @__PURE__ */ __name((workspace, skillNames, enabled, assertGenerationOpen) => withSettingsLock(workspace, async () => {
|
|
5130
|
+
assertGenerationOpen?.();
|
|
5131
|
+
const {
|
|
5132
|
+
resolveSkillSettings,
|
|
5133
|
+
skillSettingStrings,
|
|
5134
|
+
updateWorkspaceSkillSettingLists
|
|
5135
|
+
} = await import("./skill-settings-DRPU7YI5.js");
|
|
5136
|
+
const fresh = loadSettingsForPersistence(workspace);
|
|
5137
|
+
const resolved = resolveSkillSettings(fresh);
|
|
5138
|
+
const initialDisabled = skillSettingStrings(
|
|
5139
|
+
fresh,
|
|
5140
|
+
WORKSPACE_SETTING_SCOPE,
|
|
5141
|
+
"disabled"
|
|
5142
|
+
);
|
|
5143
|
+
const initialEnabled = skillSettingStrings(
|
|
5144
|
+
fresh,
|
|
5145
|
+
WORKSPACE_SETTING_SCOPE,
|
|
5146
|
+
"enabled"
|
|
5147
|
+
);
|
|
5148
|
+
let next = { disabled: initialDisabled, enabled: initialEnabled };
|
|
5149
|
+
const outcomes = [];
|
|
5150
|
+
for (const skillName of skillNames) {
|
|
5151
|
+
const normalizedName = skillName.trim().toLowerCase();
|
|
5152
|
+
const disablement = resolved.disablements.get(normalizedName);
|
|
5153
|
+
if (disablement?.reason === "hard" && disablement.lockedScope) {
|
|
5154
|
+
outcomes.push({
|
|
5155
|
+
skillName,
|
|
5156
|
+
error: new runtime.WorkspaceSkillNotToggleableError(
|
|
5157
|
+
skillName,
|
|
5158
|
+
"locked",
|
|
5159
|
+
disablement.lockedScope
|
|
5160
|
+
)
|
|
5161
|
+
});
|
|
5162
|
+
continue;
|
|
5163
|
+
}
|
|
5164
|
+
const updated = updateWorkspaceSkillSettingLists(
|
|
5165
|
+
next,
|
|
5166
|
+
skillName,
|
|
5167
|
+
enabled,
|
|
5168
|
+
resolved.defaultDisabledNames.has(normalizedName) && !resolved.enabledNames.has(normalizedName)
|
|
5169
|
+
);
|
|
5170
|
+
const changed = JSON.stringify(updated.disabled) !== JSON.stringify(next.disabled) || JSON.stringify(updated.enabled) !== JSON.stringify(next.enabled);
|
|
5171
|
+
next = updated;
|
|
5172
|
+
outcomes.push({ skillName, changed });
|
|
5173
|
+
}
|
|
5174
|
+
const settingsChanges = [];
|
|
5175
|
+
if (JSON.stringify(next.disabled) !== JSON.stringify(initialDisabled)) {
|
|
5176
|
+
settingsChanges.push({
|
|
5177
|
+
key: "skills.disabled",
|
|
5178
|
+
value: next.disabled.length > 0 ? next.disabled : void 0
|
|
5179
|
+
});
|
|
5180
|
+
}
|
|
5181
|
+
if (JSON.stringify(next.enabled) !== JSON.stringify(initialEnabled)) {
|
|
5182
|
+
settingsChanges.push({
|
|
5183
|
+
key: "skills.enabled",
|
|
5184
|
+
value: next.enabled.length > 0 ? next.enabled : void 0
|
|
5185
|
+
});
|
|
5186
|
+
}
|
|
5187
|
+
if (settingsChanges.length > 0) {
|
|
5188
|
+
assertGenerationOpen?.();
|
|
5189
|
+
fresh.setValues(
|
|
5190
|
+
settingsChanges.map((change) => ({
|
|
5191
|
+
scope: WORKSPACE_SETTING_SCOPE,
|
|
5192
|
+
...change
|
|
5193
|
+
})),
|
|
5194
|
+
void 0,
|
|
5195
|
+
assertGenerationOpen
|
|
5196
|
+
);
|
|
5197
|
+
}
|
|
5198
|
+
return { outcomes, settingsChanges };
|
|
5199
|
+
}), "persistDisabledSkillsBatchFn");
|
|
5020
5200
|
const persistSettingFn = /* @__PURE__ */ __name((workspace, scope, key, value, assertGenerationOpen) => withSettingsLock(workspace, async () => {
|
|
5021
5201
|
assertGenerationOpen?.();
|
|
5022
5202
|
const fresh = loadSettingsForPersistence(workspace);
|
|
@@ -5057,7 +5237,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5057
5237
|
);
|
|
5058
5238
|
}
|
|
5059
5239
|
}), "persistSettingsFn");
|
|
5060
|
-
const { createSubSessionLauncher } = await import("./create-sub-session-
|
|
5240
|
+
const { createSubSessionLauncher } = await import("./create-sub-session-WC7YGVSL.js");
|
|
5061
5241
|
const subSessionLauncher = createSubSessionLauncher({
|
|
5062
5242
|
getBridge: /* @__PURE__ */ __name(() => bridgeRef, "getBridge"),
|
|
5063
5243
|
boundWorkspace,
|
|
@@ -5092,6 +5272,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5092
5272
|
...opts.maxJournalBytes !== void 0 ? { maxJournalBytes: opts.maxJournalBytes } : {},
|
|
5093
5273
|
...opts.channelIdleTimeoutMs !== void 0 ? { channelIdleTimeoutMs: opts.channelIdleTimeoutMs } : {},
|
|
5094
5274
|
...opts.initializeTimeoutMs !== void 0 ? { initializeTimeoutMs: opts.initializeTimeoutMs } : {},
|
|
5275
|
+
sessionRestoreTimeoutMs,
|
|
5095
5276
|
...opts.sessionReapIntervalMs !== void 0 ? { sessionReapIntervalMs: opts.sessionReapIntervalMs } : {},
|
|
5096
5277
|
...opts.sessionIdleTimeoutMs !== void 0 ? { sessionIdleTimeoutMs: opts.sessionIdleTimeoutMs } : {},
|
|
5097
5278
|
...opts.permissionResponseTimeoutMs !== void 0 ? { permissionResponseTimeoutMs: opts.permissionResponseTimeoutMs } : {},
|
|
@@ -5106,6 +5287,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5106
5287
|
...permissionConsensusQuorum !== void 0 ? { permissionConsensusQuorum } : {},
|
|
5107
5288
|
permissionAudit: permissionAuditPublisher,
|
|
5108
5289
|
statusProvider,
|
|
5290
|
+
delegateReadTextFileToClient: false,
|
|
5109
5291
|
fileSystem: createBridgeFileSystemAdapter(fsFactory),
|
|
5110
5292
|
persistApprovalMode: /* @__PURE__ */ __name((workspace, mode) => withSettingsLock(workspace, async () => {
|
|
5111
5293
|
primaryGenerationGuard.assertOpen();
|
|
@@ -5147,6 +5329,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5147
5329
|
isChannelLive: /* @__PURE__ */ __name(() => bridge.isChannelLive(), "isChannelLive"),
|
|
5148
5330
|
persistDisabledTools: persistDisabledToolsFn,
|
|
5149
5331
|
persistDisabledSkills: persistDisabledSkillsFn,
|
|
5332
|
+
persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
|
|
5150
5333
|
persistSetting: persistSettingFn,
|
|
5151
5334
|
persistSettings: persistSettingsFn,
|
|
5152
5335
|
preheatAcpChild: /* @__PURE__ */ __name(() => bridge.preheat(), "preheatAcpChild"),
|
|
@@ -5346,6 +5529,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5346
5529
|
});
|
|
5347
5530
|
const secondaryChannelFactory = runtime.createSpawnChannelFactory({
|
|
5348
5531
|
processRegistry,
|
|
5532
|
+
childHeapPolicy,
|
|
5349
5533
|
sourceEnv: secondaryEnv.effectiveEnv,
|
|
5350
5534
|
onDiagnosticLine: diagnosticSink,
|
|
5351
5535
|
pipeHooks: {
|
|
@@ -5393,6 +5577,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5393
5577
|
...opts.maxJournalBytes !== void 0 ? { maxJournalBytes: opts.maxJournalBytes } : {},
|
|
5394
5578
|
...opts.channelIdleTimeoutMs !== void 0 ? { channelIdleTimeoutMs: opts.channelIdleTimeoutMs } : {},
|
|
5395
5579
|
...opts.initializeTimeoutMs !== void 0 ? { initializeTimeoutMs: opts.initializeTimeoutMs } : {},
|
|
5580
|
+
sessionRestoreTimeoutMs,
|
|
5396
5581
|
...opts.sessionReapIntervalMs !== void 0 ? { sessionReapIntervalMs: opts.sessionReapIntervalMs } : {},
|
|
5397
5582
|
...opts.sessionIdleTimeoutMs !== void 0 ? { sessionIdleTimeoutMs: opts.sessionIdleTimeoutMs } : {},
|
|
5398
5583
|
...opts.permissionResponseTimeoutMs !== void 0 ? { permissionResponseTimeoutMs: opts.permissionResponseTimeoutMs } : {},
|
|
@@ -5409,6 +5594,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5409
5594
|
} : {},
|
|
5410
5595
|
permissionAudit: permissionAuditPublisher,
|
|
5411
5596
|
statusProvider: secondaryStatusProvider,
|
|
5597
|
+
delegateReadTextFileToClient: false,
|
|
5412
5598
|
fileSystem: createBridgeFileSystemAdapter(secondaryBridgeFsFactory),
|
|
5413
5599
|
persistApprovalMode: /* @__PURE__ */ __name((workspace, mode) => withSettingsLock(workspace, async () => {
|
|
5414
5600
|
secondaryGenerationGuard.assertOpen();
|
|
@@ -5454,6 +5640,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5454
5640
|
preheatAcpChild: /* @__PURE__ */ __name(() => secondaryBridge.preheat(), "preheatAcpChild"),
|
|
5455
5641
|
persistDisabledTools: persistDisabledToolsFn,
|
|
5456
5642
|
persistDisabledSkills: persistDisabledSkillsFn,
|
|
5643
|
+
persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
|
|
5457
5644
|
persistSetting: persistSettingFn,
|
|
5458
5645
|
persistSettings: persistSettingsFn,
|
|
5459
5646
|
reloadDaemonEnv: /* @__PURE__ */ __name((workspace, assertGenerationOpen) => withSettingsLock(workspace, async () => {
|
|
@@ -5581,11 +5768,14 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5581
5768
|
const primaryRuntimeBridge = primaryEntry.state === "active" ? primaryEntry.current?.runtime.bridge : void 0;
|
|
5582
5769
|
const child = primaryRuntimeBridge?.getChildResourceSnapshot?.();
|
|
5583
5770
|
if (runtime.getActiveSseCount() > 0 || (acp?.wsStreams ?? 0) > 0) {
|
|
5584
|
-
|
|
5585
|
-
|
|
5586
|
-
|
|
5587
|
-
|
|
5588
|
-
|
|
5771
|
+
for (const managed of workspaceRegistry.listManaged()) {
|
|
5772
|
+
void managed.bridge.refreshChildResource?.().catch((err) => {
|
|
5773
|
+
daemonLog.warn("ACP child resource refresh failed", {
|
|
5774
|
+
workspaceId: managed.workspaceId,
|
|
5775
|
+
error: err instanceof Error ? err.message : String(err)
|
|
5776
|
+
});
|
|
5777
|
+
});
|
|
5778
|
+
}
|
|
5589
5779
|
}
|
|
5590
5780
|
metricsRing.sample(nowMs, {
|
|
5591
5781
|
cpuPercent,
|
|
@@ -5690,6 +5880,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5690
5880
|
}) : wsFsFactory;
|
|
5691
5881
|
const wsChannelFactory = runtime.createSpawnChannelFactory({
|
|
5692
5882
|
processRegistry,
|
|
5883
|
+
childHeapPolicy,
|
|
5693
5884
|
sourceEnv: wsEnv.effectiveEnv,
|
|
5694
5885
|
onDiagnosticLine: diagnosticSink,
|
|
5695
5886
|
pipeHooks: {
|
|
@@ -5748,6 +5939,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5748
5939
|
...opts.maxJournalBytes !== void 0 ? { maxJournalBytes: opts.maxJournalBytes } : {},
|
|
5749
5940
|
...opts.channelIdleTimeoutMs !== void 0 ? { channelIdleTimeoutMs: opts.channelIdleTimeoutMs } : {},
|
|
5750
5941
|
...opts.initializeTimeoutMs !== void 0 ? { initializeTimeoutMs: opts.initializeTimeoutMs } : {},
|
|
5942
|
+
sessionRestoreTimeoutMs,
|
|
5751
5943
|
...opts.sessionReapIntervalMs !== void 0 ? { sessionReapIntervalMs: opts.sessionReapIntervalMs } : {},
|
|
5752
5944
|
...opts.sessionIdleTimeoutMs !== void 0 ? { sessionIdleTimeoutMs: opts.sessionIdleTimeoutMs } : {},
|
|
5753
5945
|
...opts.permissionResponseTimeoutMs !== void 0 ? { permissionResponseTimeoutMs: opts.permissionResponseTimeoutMs } : {},
|
|
@@ -5766,6 +5958,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5766
5958
|
statusProvider: runtime.createDaemonStatusProvider({
|
|
5767
5959
|
env: wsEnv.effectiveEnv
|
|
5768
5960
|
}),
|
|
5961
|
+
delegateReadTextFileToClient: false,
|
|
5769
5962
|
fileSystem: createBridgeFileSystemAdapter(wsFsFactory),
|
|
5770
5963
|
persistApprovalMode: /* @__PURE__ */ __name((workspace, mode) => withSettingsLock(workspace, async () => {
|
|
5771
5964
|
generationGuard.assertOpen();
|
|
@@ -5816,6 +6009,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
5816
6009
|
preheatAcpChild: /* @__PURE__ */ __name(() => wsBridge.preheat(), "preheatAcpChild"),
|
|
5817
6010
|
persistDisabledTools: persistDisabledToolsFn,
|
|
5818
6011
|
persistDisabledSkills: persistDisabledSkillsFn,
|
|
6012
|
+
persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
|
|
5819
6013
|
persistSetting: persistSettingFn,
|
|
5820
6014
|
persistSettings: persistSettingsFn,
|
|
5821
6015
|
reloadDaemonEnv: /* @__PURE__ */ __name((workspace, assertGenerationOpen) => withSettingsLock(workspace, async () => {
|
|
@@ -6195,8 +6389,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6195
6389
|
{ createChannelManagementService },
|
|
6196
6390
|
{ WorkspaceChannelSettingsStore }
|
|
6197
6391
|
] = await Promise.all([
|
|
6198
|
-
import("./channel-management-service-
|
|
6199
|
-
import("./channel-settings-store-
|
|
6392
|
+
import("./channel-management-service-PHELKOW2.js"),
|
|
6393
|
+
import("./channel-settings-store-OW43U6VB.js")
|
|
6200
6394
|
]);
|
|
6201
6395
|
return createChannelManagementService({
|
|
6202
6396
|
workspaceCwd: targetRuntime.workspaceCwd,
|
|
@@ -6251,6 +6445,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6251
6445
|
}, "validateWorkspaceRuntimeForPublication");
|
|
6252
6446
|
const app2 = runtime.createServeApp(opts, () => actualPort, {
|
|
6253
6447
|
workspaceRegistry,
|
|
6448
|
+
getSessionBridges: /* @__PURE__ */ __name(() => runtimeBridges, "getSessionBridges"),
|
|
6254
6449
|
createWorkspaceRuntime: createDynamicWorkspaceRuntime,
|
|
6255
6450
|
...workspaceTrustHotReloadAvailable ? {
|
|
6256
6451
|
validateWorkspaceRuntimeForPublication,
|
|
@@ -6329,6 +6524,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6329
6524
|
}), "getPerfSnapshot"),
|
|
6330
6525
|
getMetricsSeries: /* @__PURE__ */ __name(() => metricsRing.snapshot(), "getMetricsSeries"),
|
|
6331
6526
|
getTotalSessionAdmissionSnapshot: totalSessionAdmission.snapshot,
|
|
6527
|
+
getChildHeapPolicySnapshot: /* @__PURE__ */ __name(() => managedChildHeapPolicy?.snapshot(), "getChildHeapPolicySnapshot"),
|
|
6332
6528
|
recordDaemonRequest: /* @__PURE__ */ __name((durationMs, statusCode) => metricsRing.recordRequest(durationMs, statusCode), "recordDaemonRequest"),
|
|
6333
6529
|
workspace: workspaceService,
|
|
6334
6530
|
// Reverse tool channel (#5626): the SAME registry wired into `bridge` above,
|
|
@@ -6336,6 +6532,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6336
6532
|
clientMcpSenderRegistry,
|
|
6337
6533
|
persistDisabledTools: persistDisabledToolsFn,
|
|
6338
6534
|
persistDisabledSkills: persistDisabledSkillsFn,
|
|
6535
|
+
persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
|
|
6339
6536
|
persistSetting: persistSettingFn,
|
|
6340
6537
|
persistSettings: persistSettingsFn,
|
|
6341
6538
|
sessionArtifactsPersistenceAvailable: sessionArtifactsPersistenceAvailableFromSettings(
|
|
@@ -6394,8 +6591,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6394
6591
|
{ createWorkspaceTrustReconciler },
|
|
6395
6592
|
{ createDaemonTrustPolicyMonitor }
|
|
6396
6593
|
] = await Promise.all([
|
|
6397
|
-
import("./workspace-trust-reconciler-
|
|
6398
|
-
import("./daemon-trust-policy-monitor-
|
|
6594
|
+
import("./workspace-trust-reconciler-X2LZ6XCI.js"),
|
|
6595
|
+
import("./daemon-trust-policy-monitor-XVIDV6T4.js")
|
|
6399
6596
|
]);
|
|
6400
6597
|
const materializationFor = /* @__PURE__ */ __name((entry, snapshot, decision) => {
|
|
6401
6598
|
const boundWorkspaces2 = entry.primary && decision.targetTrusted ? runtime.resolveBoundWorkspacesFromIdeEnv(
|
|
@@ -6610,7 +6807,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
6610
6807
|
);
|
|
6611
6808
|
}
|
|
6612
6809
|
const channelValidationSettingsRuntime = opts.channelSelection ? await loadSettingsRuntimeModules() : void 0;
|
|
6613
|
-
const channelValidationTrustPolicy = opts.channelSelection ? await import("./daemon-trust-policy-
|
|
6810
|
+
const channelValidationTrustPolicy = opts.channelSelection ? await import("./daemon-trust-policy-E4MAYWPI.js") : void 0;
|
|
6614
6811
|
const channelValidationTrustSnapshot = channelValidationTrustPolicy ? await channelValidationTrustPolicy.readDaemonTrustPolicySnapshot() : void 0;
|
|
6615
6812
|
const resolveChannelWorkspaceGroupsAtListen = /* @__PURE__ */ __name(() => {
|
|
6616
6813
|
if (!opts.channelSelection || !channelValidationSettingsRuntime || !channelRuntime) {
|
|
@@ -7441,8 +7638,10 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7441
7638
|
daemonLog.info("daemon stopped");
|
|
7442
7639
|
}
|
|
7443
7640
|
});
|
|
7641
|
+
setLoaderKeyRejectionReporter(void 0);
|
|
7444
7642
|
await daemonLog.close();
|
|
7445
7643
|
}
|
|
7644
|
+
restoreScrubbedLoaderEnv();
|
|
7446
7645
|
if (finalErr) rej(finalErr);
|
|
7447
7646
|
else res();
|
|
7448
7647
|
});
|
|
@@ -7672,7 +7871,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
|
|
|
7672
7871
|
server.once("error", (err) => {
|
|
7673
7872
|
server.close();
|
|
7674
7873
|
const nextPort = attemptPort + 1;
|
|
7675
|
-
if (err.code === "EADDRINUSE" && opts.port !== 0 && nextPort <= 65535 && attempt < MAX_PORT_ATTEMPTS - 1) {
|
|
7874
|
+
if (err.code === "EADDRINUSE" && opts.strictPort !== true && opts.port !== 0 && nextPort <= 65535 && attempt < MAX_PORT_ATTEMPTS - 1) {
|
|
7676
7875
|
writeStderrLine(
|
|
7677
7876
|
`qwen serve: port ${attemptPort} is in use, trying ${nextPort}...`
|
|
7678
7877
|
);
|
|
@@ -7708,11 +7907,11 @@ export {
|
|
|
7708
7907
|
};
|
|
7709
7908
|
/**
|
|
7710
7909
|
* @license
|
|
7711
|
-
* Copyright
|
|
7910
|
+
* Copyright 2026 Qwen Team
|
|
7712
7911
|
* SPDX-License-Identifier: Apache-2.0
|
|
7713
7912
|
*/
|
|
7714
7913
|
/**
|
|
7715
7914
|
* @license
|
|
7716
|
-
* Copyright
|
|
7915
|
+
* Copyright 2025 Qwen Team
|
|
7717
7916
|
* SPDX-License-Identifier: Apache-2.0
|
|
7718
7917
|
*/
|