@qwen-code/qwen-code 0.21.12-preview.5 → 0.21.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/settings.md +7 -5
- package/bundled/qc-helper/docs/features/channels/overview.md +1 -1
- package/bundled/qc-helper/docs/features/channels/plugins.md +11 -11
- package/bundled/qc-helper/docs/features/code-review.md +13 -12
- package/bundled/qc-helper/docs/qwen-serve.md +65 -0
- package/bundled/review/SKILL.md +96 -68
- package/chunks/{MaxSizedBox-6STELMXN.js → MaxSizedBox-UQALOVVT.js} +46 -46
- package/chunks/{StandaloneSessionPicker-LXMGCAIF.js → StandaloneSessionPicker-KEGXNUG6.js} +68 -69
- package/chunks/{acp-startup-profiler-TVI2OVUN.js → acp-startup-profiler-NMDXYGDN.js} +2 -2
- package/chunks/{acpAgent-NFRP4O5A.js → acpAgent-XPES32S7.js} +804 -380
- package/chunks/{agent-4AGYD6I6.js → agent-DPTOZFEM.js} +42 -42
- package/chunks/{agent-headless-GH4UIDXU.js → agent-headless-GJCQMURW.js} +42 -42
- package/chunks/{anthropicContentGenerator-ZBBX5VMY.js → anthropicContentGenerator-G7BVXTKN.js} +25 -25
- package/chunks/{artifact-tool-RWJAKYBZ.js → artifact-tool-GEXTOPVO.js} +5 -5
- package/chunks/{askUserQuestion-IQCA2SOX.js → askUserQuestion-B33XRSB7.js} +2 -2
- package/chunks/{bridge-3S4SKXSQ.js → bridge-YNQBAA4Z.js} +48 -48
- package/chunks/{build-RZS65IIX.js → build-GDBLPA24.js} +1 -1
- package/chunks/{channel-management-service-5ZYX4ROW.js → channel-management-service-GWY2GAIC.js} +4 -4
- package/chunks/{channel-settings-store-62E3TWVK.js → channel-settings-store-WNWYFHG7.js} +49 -49
- package/chunks/{channel-worker-group-QFJKXO7R.js → channel-worker-group-7LXCMZ77.js} +6 -6
- package/chunks/{channel-worker-manager-PWD2UURZ.js → channel-worker-manager-RYEME4ZZ.js} +6 -6
- package/chunks/{channel-worker-supervisor-XQJBGFCM.js → channel-worker-supervisor-OEVWBHGT.js} +4 -4
- package/chunks/{chunk-LHOG4E6Y.js → chunk-22C7BQ6D.js} +3 -3
- package/chunks/{chunk-KTWUFHS4.js → chunk-25EYDK42.js} +3 -3
- package/chunks/{chunk-QEWAHAW2.js → chunk-2B2BF7P7.js} +3 -3
- package/chunks/{chunk-2SB4SLKC.js → chunk-2IIJTXYF.js} +1 -3
- package/chunks/{chunk-6LDLDK6E.js → chunk-2M55OBEB.js} +1 -3
- package/chunks/{chunk-V3NMFQD2.js → chunk-3EZLLVDF.js} +2 -2
- package/chunks/{chunk-HUDUANHL.js → chunk-3U3VAL47.js} +1 -1
- package/chunks/{chunk-BKHCW2BI.js → chunk-3VUENPWF.js} +10 -0
- package/chunks/{chunk-XY7DGTIC.js → chunk-45NQKMYB.js} +1 -1
- package/chunks/{chunk-VGGNHRYZ.js → chunk-4PKCUT7F.js} +7 -7
- package/chunks/{chunk-T7YMWGFY.js → chunk-4S5337WV.js} +1491 -711
- package/chunks/{chunk-FVHLDSQS.js → chunk-4W5U2TUT.js} +3 -3
- package/chunks/{chunk-6SU6OW5Z.js → chunk-5CVO7YES.js} +1 -1
- package/chunks/{chunk-OZTGLK53.js → chunk-5EYKMUUY.js} +1 -1
- package/chunks/{chunk-ZRT36RSF.js → chunk-6HY6IF3Z.js} +1 -1
- package/chunks/{chunk-HRAFAUM7.js → chunk-6ORZ2EDC.js} +3 -3
- package/chunks/{chunk-JOVJCXN4.js → chunk-6QFDQMQX.js} +1 -1
- package/chunks/{chunk-CPTIJGUK.js → chunk-6YKYPVDV.js} +4 -4
- package/chunks/{chunk-62OKKUOX.js → chunk-76J3IJ3M.js} +9 -7
- package/chunks/{chunk-JVY7FHUZ.js → chunk-7U5G6JXI.js} +9 -0
- package/chunks/{chunk-TIM7NVEO.js → chunk-7UXUJ5T3.js} +1 -1
- package/chunks/{chunk-YCGXJ4Q3.js → chunk-A267JX7H.js} +6 -6
- package/chunks/{chunk-4JS2QK7P.js → chunk-A4MFR4C5.js} +1 -1
- package/chunks/{chunk-TN3REXN4.js → chunk-A4QRWUDE.js} +79 -36
- package/chunks/{chunk-JW5UEE3V.js → chunk-A6NRNRKE.js} +1 -1
- package/chunks/{chunk-T4G33L3W.js → chunk-AA2BEKV3.js} +3 -3
- package/chunks/{chunk-M3DWLXEO.js → chunk-AFSG32D5.js} +1 -1
- package/chunks/{chunk-R4YAQULI.js → chunk-AS5IN4GK.js} +5 -5
- package/chunks/{chunk-ADJDLEVO.js → chunk-AW27A43Y.js} +9 -11
- package/chunks/{chunk-RIDUB2GC.js → chunk-AW4TRXOC.js} +1 -1
- package/chunks/{chunk-XL6GYJL2.js → chunk-AXN7UPYQ.js} +2 -2
- package/chunks/{chunk-M4NWDIFU.js → chunk-AZQ3DT76.js} +1 -1
- package/chunks/{chunk-OSA2TFDI.js → chunk-BHILXOC3.js} +3 -3
- package/chunks/{chunk-YMIQ24FR.js → chunk-BKPPWD33.js} +2 -2
- package/chunks/{chunk-YMB77M76.js → chunk-BUQDLC2G.js} +59 -0
- package/chunks/{chunk-DXXYMK2U.js → chunk-BVJS5BSP.js} +1 -1
- package/chunks/{chunk-EGB2PIYM.js → chunk-BZ263IKX.js} +1 -1
- package/chunks/{chunk-6OJDN5ZT.js → chunk-CHHABXPE.js} +1 -1
- package/chunks/{chunk-ZPZANKVP.js → chunk-CKSJECTU.js} +4 -4
- package/chunks/{chunk-H6BFLALJ.js → chunk-CPHEPGAO.js} +1 -1
- package/chunks/{chunk-V6PERRH4.js → chunk-CU6GJD55.js} +1 -1
- package/chunks/{chunk-ZZ7RUTJ4.js → chunk-CZBYX5MY.js} +1 -1
- package/chunks/{chunk-2OFDCPMS.js → chunk-DGK6P3BQ.js} +13 -13
- package/chunks/{chunk-NM33GGOM.js → chunk-DGZEMW5R.js} +3 -3
- package/chunks/{chunk-UPUAGRKY.js → chunk-DXIBNLBZ.js} +2 -4
- package/chunks/{chunk-J5SUM3ZJ.js → chunk-E23IPNGS.js} +25 -2
- package/chunks/{chunk-TNETSI2A.js → chunk-E3DYKPYZ.js} +3 -3
- package/chunks/{chunk-3MJ44LNC.js → chunk-EL5SXY3T.js} +265 -138
- package/chunks/{chunk-AFKOAHC3.js → chunk-EZ5RP345.js} +13 -11
- package/chunks/{chunk-PSTHNTHF.js → chunk-FAAUPSY2.js} +1 -1
- package/chunks/{chunk-NW7SPXVG.js → chunk-FDGGZIYW.js} +1 -1
- package/chunks/{chunk-6YSSQFHQ.js → chunk-GGDBMYGZ.js} +5 -5
- package/chunks/{chunk-CDDLHCC2.js → chunk-GMIEIY3Y.js} +5 -5
- package/chunks/{chunk-6JFPUJ2O.js → chunk-GO7STP6N.js} +4 -4
- package/chunks/{chunk-7JL5YBSA.js → chunk-H4A72DE5.js} +1 -1
- package/chunks/{chunk-I3UEXUWJ.js → chunk-HUTNYWBG.js} +2 -2
- package/chunks/{chunk-UQPLUR4A.js → chunk-IA2K2HJE.js} +2 -2
- package/chunks/{chunk-Q7VJUIIB.js → chunk-IGGGG5CX.js} +4104 -1293
- package/chunks/{chunk-VE2UV7IN.js → chunk-IWPYVAO2.js} +4 -4
- package/chunks/{chunk-HAR4G5K2.js → chunk-JNDY2MDR.js} +2 -2
- package/chunks/{chunk-UALXTL5Y.js → chunk-JOOFMXGF.js} +6 -6
- package/chunks/{chunk-HOXEJHJQ.js → chunk-JUEPY766.js} +3 -3
- package/chunks/{chunk-Q7YDKOGY.js → chunk-JVEGA3MM.js} +1 -1
- package/chunks/{chunk-QBJYSIQ4.js → chunk-K3LPAED5.js} +53 -12
- package/chunks/{chunk-UHF5VBKO.js → chunk-KBXKR5R2.js} +1 -1
- package/chunks/{chunk-32SNBMNP.js → chunk-KD5BOPLP.js} +27 -27
- package/chunks/{chunk-67F2BEYW.js → chunk-KV27IEHM.js} +1 -1
- package/chunks/{chunk-DLDVO2NY.js → chunk-LJQAUZMR.js} +360 -174
- package/chunks/{chunk-BNRIQWXW.js → chunk-M732YJPW.js} +7 -7
- package/chunks/{chunk-JRTJEGSP.js → chunk-MA2HEDVP.js} +1 -1
- package/chunks/{chunk-5IW3FJGD.js → chunk-MC4TLKEI.js} +2 -2
- package/chunks/{chunk-2ASWIM4A.js → chunk-MIPFDQAF.js} +1 -1
- package/chunks/{chunk-6GTKI2YX.js → chunk-MLPXSYXR.js} +133 -28
- package/chunks/{chunk-KRXPRVGL.js → chunk-MLXTMF7H.js} +0 -1
- package/chunks/{chunk-NNGCKJAD.js → chunk-MRMJCLIY.js} +3 -3
- package/chunks/{chunk-E7XJWIWC.js → chunk-N5YPT6PH.js} +7 -7
- package/chunks/{chunk-72SKJ3E7.js → chunk-NEFOOD54.js} +3 -3
- package/chunks/{chunk-2U3UCXZ3.js → chunk-NHDR76JX.js} +45 -13
- package/chunks/{chunk-QLFTWYTO.js → chunk-NM5V5OVW.js} +3 -3
- package/chunks/{chunk-N4LVA3S6.js → chunk-NNHNLJ2X.js} +840 -60
- package/chunks/chunk-NYWWQ437.js +24 -0
- package/chunks/{chunk-DGNQ5AFX.js → chunk-O4D7SPJN.js} +2 -2
- package/chunks/{chunk-YY23TR4M.js → chunk-O565M6A4.js} +411 -10
- package/chunks/{chunk-VUTOV2HG.js → chunk-OD2WU5QY.js} +4 -3
- package/chunks/{chunk-B66LYK4B.js → chunk-OMLJNPBE.js} +42 -12
- package/chunks/{chunk-WAF6AR5Y.js → chunk-OOQUVWIG.js} +4 -4
- package/chunks/{chunk-A6GQUQ7I.js → chunk-OVZPVYZB.js} +2 -2
- package/chunks/{chunk-VPZMLGD3.js → chunk-OXCMMLED.js} +5 -5
- package/chunks/{chunk-646ZB2TS.js → chunk-OY5RNSV4.js} +3 -3
- package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
- package/chunks/{chunk-O6SLWH4X.js → chunk-P7MPQI75.js} +2 -2
- package/chunks/{chunk-3HXLH5QV.js → chunk-PP4FUZNV.js} +47 -4
- package/chunks/{chunk-4XX2LZ3E.js → chunk-PQ36L4F5.js} +1 -1
- package/chunks/{chunk-SKRHR6N2.js → chunk-PT4I7NBA.js} +1 -1
- package/chunks/{chunk-KQLW7LLV.js → chunk-QF2NHSPB.js} +603 -66
- package/chunks/{chunk-KK3FEHPJ.js → chunk-QFJ5JHQR.js} +1 -1
- package/chunks/{chunk-N2G4RA77.js → chunk-QIH2HAEN.js} +1 -1
- package/chunks/{chunk-QSWDGAIC.js → chunk-QILD6R27.js} +1 -1
- package/chunks/{chunk-NHZF4VCD.js → chunk-QNQAPSN2.js} +1 -1
- package/chunks/{chunk-6DH5YA3X.js → chunk-QRCNA3SR.js} +8 -8
- package/chunks/{chunk-3RC5Q66G.js → chunk-QV5YN5YD.js} +7 -5
- package/chunks/{chunk-7TKNMQ6L.js → chunk-RIAABG2K.js} +2 -2
- package/chunks/{chunk-LYRA6ZTI.js → chunk-RLKC46YT.js} +138 -11
- package/chunks/{chunk-YI5G32RU.js → chunk-ROIYNTHJ.js} +3 -3
- package/chunks/{chunk-UAAWNTOC.js → chunk-RVOJ2FBP.js} +12 -12
- package/chunks/{chunk-SNHBRO4C.js → chunk-RWDNJBWN.js} +2 -2
- package/chunks/{chunk-UFHPAMAV.js → chunk-S5DWMTHO.js} +11 -1
- package/chunks/{chunk-TROB4PZY.js → chunk-SG7ZP5PG.js} +4 -4
- package/chunks/{chunk-E74YSVIN.js → chunk-SXCOEJO4.js} +1 -1
- package/chunks/{chunk-U5C2GIN2.js → chunk-TIGA2IVL.js} +117 -3
- package/chunks/chunk-TS6625XH.js +488 -0
- package/chunks/{chunk-EHXS5MAC.js → chunk-TUGSVUJB.js} +7 -7
- package/chunks/{chunk-E3GLDLYB.js → chunk-TYAMGABM.js} +0 -6
- package/chunks/{chunk-ZLX7FTZQ.js → chunk-U3VNBPUO.js} +3 -3
- package/chunks/{chunk-F7PTQFTB.js → chunk-UKMR3CKV.js} +4 -4
- package/chunks/{chunk-7WUMS2UA.js → chunk-UPDOZBWO.js} +1 -1
- package/chunks/{chunk-YK4O72LT.js → chunk-UZPM4XHR.js} +4 -4
- package/chunks/{chunk-VKEA37IR.js → chunk-V26NVGAU.js} +1 -1
- package/chunks/{chunk-IJCZP2MA.js → chunk-V57QC6WW.js} +3 -3
- package/chunks/{chunk-LSMCI42W.js → chunk-WFSTRPRO.js} +3 -3
- package/chunks/{chunk-5KZNWF2M.js → chunk-WGHHA7ZH.js} +1 -1
- package/chunks/{chunk-A4BAHMJF.js → chunk-WSH6GRKG.js} +4 -4
- package/chunks/{chunk-OK727E5D.js → chunk-X26JYGTD.js} +1 -1
- package/chunks/{chunk-VAPNUDD5.js → chunk-XHRY7BXD.js} +4 -4
- package/chunks/{chunk-XNL23MGG.js → chunk-XIT3GURH.js} +3 -3
- package/chunks/{chunk-2RTRFLWH.js → chunk-XLLKYULU.js} +6 -6
- package/chunks/{chunk-C2DR57L6.js → chunk-XUJNK7Y6.js} +1 -1
- package/chunks/{chunk-AAZWJAPQ.js → chunk-Y3YCSWG5.js} +2 -2
- package/chunks/{chunk-ZTBFA7I6.js → chunk-YEYY7TEP.js} +7 -7
- package/chunks/{chunk-FTGU6G45.js → chunk-YZHRN3CF.js} +2 -2
- package/chunks/{chunk-2N6CV4PW.js → chunk-YZOSNW4R.js} +1 -1
- package/chunks/{chunk-U7ROFHSH.js → chunk-ZLCT4C5A.js} +1 -1
- package/chunks/{chunk-VBKTP7TH.js → chunk-ZYBBISBY.js} +15 -34
- package/chunks/{chunk-7ATQGA6V.js → chunk-ZYYTZUI2.js} +6 -6
- package/chunks/{chunk-RXX5T3IF.js → chunk-ZZO74WKW.js} +44 -8
- package/chunks/{computer-use-ZFBJYSR3.js → computer-use-77C5FHMW.js} +45 -45
- package/chunks/{config-utils-7JZQN6L2.js → config-utils-IVHRSXWI.js} +4 -4
- package/chunks/{contextCommand-G3TAIY7T.js → contextCommand-PJ77GBWL.js} +44 -44
- package/chunks/{core-runtime-K3MQVNSF.js → core-runtime-7VMIKUTG.js} +42 -42
- package/chunks/{create-sub-session-DMTLJPDG.js → create-sub-session-2L5MQRN4.js} +42 -42
- package/chunks/{create-sub-session-23ULO5PO.js → create-sub-session-KRQULJE6.js} +2 -2
- package/chunks/{cron-create-5WUTNKNF.js → cron-create-H7UEPDSN.js} +4 -4
- package/chunks/{cron-delete-JEQ27YPS.js → cron-delete-6SZK7YFM.js} +4 -4
- package/chunks/{cron-list-IXGCA7UR.js → cron-list-H25JIHEZ.js} +4 -4
- package/chunks/{daemon-UBVOQMWY.js → daemon-2KTG7ZBN.js} +108 -9
- package/chunks/daemon-git-worktree-guard-DXYIMWFT.js +2062 -0
- package/chunks/{daemon-status-provider-KFLEZGD7.js → daemon-status-provider-ZDOYJCU6.js} +52 -53
- package/chunks/{daemon-trust-policy-ZZ6DRDAC.js → daemon-trust-policy-E67OYUK2.js} +48 -48
- package/chunks/{daemon-trust-policy-monitor-CIKHNV2K.js → daemon-trust-policy-monitor-RYYGCQ3J.js} +48 -48
- package/chunks/{deferred-core-runtime-MM7X7UYR.js → deferred-core-runtime-3SGXFXEQ.js} +44 -44
- package/chunks/{devtools-X6ROTKHE.js → devtools-4QFYJT6U.js} +1 -1
- package/chunks/discovery-ORA5J7YP.js +27 -0
- package/chunks/{display-image-CAD7RAUM.js → display-image-ON3EYFRD.js} +4 -4
- package/chunks/{dist-B3ODKYEB.js → dist-4ZPG4BY6.js} +2 -2
- package/chunks/{dist-CCUH2Z4C.js → dist-BROOP2EG.js} +1 -1
- package/chunks/{dist-DANKRAB3.js → dist-IYYN3RUT.js} +2 -2
- package/chunks/{dist-5VDE7U3A.js → dist-JWMKPWT5.js} +3 -1
- package/chunks/{dist-6RK4U6VU.js → dist-K7IQB53U.js} +1 -1
- package/chunks/{dist-EZHCZSW6.js → dist-MAQXAQ2Y.js} +1 -1
- package/chunks/{dist-362MN6CP.js → dist-WJ4BHIEW.js} +2 -2
- package/chunks/{dist-M3XMEIP2.js → dist-YEPL4RAW.js} +1 -1
- package/chunks/{earlyInputCapture-O77TUBIF.js → earlyInputCapture-KJMLFVQV.js} +43 -43
- package/chunks/{edit-CZ23AVP6.js → edit-I4LQFAEC.js} +50 -49
- package/chunks/{enter-worktree-4EMS7IRL.js → enter-worktree-YNPOJSRH.js} +47 -47
- package/chunks/{enterPlanMode-TS6KO6DU.js → enterPlanMode-XCPK62ER.js} +47 -47
- package/chunks/{environment-7JAXEU6I.js → environment-S7CTIHMX.js} +44 -44
- package/chunks/{errors-NBABPF4S.js → errors-7HB2AIDS.js} +44 -44
- package/chunks/{exit-worktree-Q3NFHYUI.js → exit-worktree-AIIY7SR6.js} +47 -47
- package/chunks/{exitPlanMode-4JH6WLKL.js → exitPlanMode-R4JY7V2O.js} +42 -42
- package/chunks/{external-tool-guard-provider-5HTGOPGU.js → external-tool-guard-provider-TE4DRY36.js} +1 -1
- package/chunks/{fast-path-5LFDLPHJ.js → fast-path-NDJV3ZFJ.js} +3 -3
- package/chunks/{gemini-MB4S7YLN.js → gemini-RSUFP5OE.js} +108 -103
- package/chunks/{geminiContentGenerator-EQY2QU7K.js → geminiContentGenerator-SQ5XBPZ7.js} +11 -11
- package/chunks/{glob-LA5XO2H7.js → glob-J4RUJAHX.js} +49 -49
- package/chunks/{goal-tools-LQFO4BRY.js → goal-tools-VHTNVOKK.js} +56 -12
- package/chunks/{grep-KYBZMY36.js → grep-VJWPLFOT.js} +47 -47
- package/chunks/{handleAutoUpdate-HZJSAUNC.js → handleAutoUpdate-POCX2MNB.js} +46 -46
- package/chunks/{i18n-BSCIN4J4.js → i18n-RM5YOICI.js} +43 -43
- package/chunks/{image-gen-HGURQAHX.js → image-gen-EXECB5XM.js} +11 -11
- package/chunks/{initializer-WUHJXIB3.js → initializer-Z2AFGBNR.js} +49 -49
- package/chunks/{installationInfo-G3PDBWG2.js → installationInfo-4I5FXNMH.js} +43 -43
- package/chunks/{keychain-token-storage-GU75J2T2.js → keychain-token-storage-3XFJ5ZB2.js} +2 -2
- package/chunks/{list-IC7KDSZ6.js → list-ZMBFIGZA.js} +51 -51
- package/chunks/{list-agents-5PNMK2AM.js → list-agents-OSVDFI6S.js} +2 -2
- package/chunks/{loadedSettingsAdapter-Z3GOJRI7.js → loadedSettingsAdapter-T6TV4YJ7.js} +48 -48
- package/chunks/{loggingContentGenerator-E2QENFPH.js → loggingContentGenerator-WF4ZOJEZ.js} +99 -66
- package/chunks/{loop-wakeup-OV65FEGR.js → loop-wakeup-WQS6JYAG.js} +5 -5
- package/chunks/{ls-RPRSX26R.js → ls-D3HUFHDP.js} +6 -6
- package/chunks/{lsp-IWTJWFLT.js → lsp-3QDDJTCS.js} +2 -2
- package/chunks/{managed-npm-update-MX2OPCW4.js → managed-npm-update-E7IW6N7V.js} +43 -43
- package/chunks/{mcp-QQEWPNWV.js → mcp-6UNYX4HG.js} +48 -48
- package/chunks/{monitor-SV64FNV3.js → monitor-EE2UYMGE.js} +47 -47
- package/chunks/{node-YSOU44FX.js → node-UUDY34IG.js} +3 -3
- package/chunks/nonInteractiveCli-WAY237O4.js +163 -0
- package/chunks/{notebook-edit-QPYSWPRI.js → notebook-edit-NTDY4QDU.js} +47 -47
- package/chunks/{openaiContentGenerator-CMZXOSVA.js → openaiContentGenerator-YNFVJMRJ.js} +30 -30
- package/chunks/{pidfile-D5UXVVAI.js → pidfile-4XSFLYBZ.js} +43 -43
- package/chunks/{processUtils-ZEIMIVPX.js → processUtils-WDA2MJFD.js} +2 -2
- package/chunks/proper-lockfile-3LHWIM44.js +8 -0
- package/chunks/{qwenContentGenerator-JAXZKB7R.js → qwenContentGenerator-434M7QKY.js} +50 -50
- package/chunks/{qwenOAuth2-C2QWTD2G.js → qwenOAuth2-GMYZOO6A.js} +10 -10
- package/chunks/{read-file-2V5GE6ZW.js → read-file-TAFBKMNI.js} +11 -11
- package/chunks/{read-mcp-resource-THCSZHXO.js → read-mcp-resource-XD54ZQMC.js} +2 -2
- package/chunks/{record-artifact-76YYQA5F.js → record-artifact-SEYFJEJF.js} +3 -3
- package/chunks/{resumeHistoryUtils-UZ7GHPNY.js → resumeHistoryUtils-EVG3WYK2.js} +50 -50
- package/chunks/{ripGrep-MUTMPQSV.js → ripGrep-WOEK2PXS.js} +42 -42
- package/chunks/{run-qwen-serve-WU43JKEA.js → run-qwen-serve-3QSGRXAN.js} +417 -208
- package/chunks/{runtime-YLOFDP2P.js → runtime-5MLLZ7DC.js} +53 -53
- package/chunks/{scheduler-G44OPSZE.js → scheduler-RPBJ63CH.js} +44 -44
- package/chunks/{sdk-exporters-grpc-4QKV6MCX.js → sdk-exporters-grpc-54L4LS5L.js} +2 -2
- package/chunks/{sdk-exporters-http-A7XLKZO7.js → sdk-exporters-http-XUVP63H6.js} +12 -12
- package/chunks/{sdk-impl-XO4UF6PR.js → sdk-impl-YXUEN2Z2.js} +8 -8
- package/chunks/{send-message-P5SLP57G.js → send-message-VZENRWRH.js} +6 -6
- package/chunks/{serve-CZQDBDYV.js → serve-HS3XLPXU.js} +50 -50
- package/chunks/{server-HGI2KF3Y.js → server-TC4A7AAZ.js} +3850 -1630
- package/chunks/{session-OVMSHAO5.js → session-UBOFXVMN.js} +92 -95
- package/chunks/{settings-TWX6ROGP.js → settings-D5644OM5.js} +47 -47
- package/chunks/{shell-JDSWGVC7.js → shell-3PZULQQV.js} +42 -42
- package/chunks/{skill-QILHTMYJ.js → skill-PEVVXQ3L.js} +22 -22
- package/chunks/{skill-settings-RKRD34RZ.js → skill-settings-J65JKKES.js} +47 -47
- package/chunks/{spawnChannel-V5PYSDEI.js → spawnChannel-IYGXRHSQ.js} +45 -47
- package/chunks/{standalone-update-Y52CWCGG.js → standalone-update-IFM53PE7.js} +44 -44
- package/chunks/{startInteractiveUI-RVA62ZM6.js → startInteractiveUI-3AVH7L6H.js} +3340 -2460
- package/chunks/{syntheticOutput-SEW4NA47.js → syntheticOutput-7GWFIDXT.js} +3 -3
- package/chunks/{task-create-247EAVF7.js → task-create-FCBDX7UH.js} +12 -12
- package/chunks/{task-list-ZJN4QHLK.js → task-list-YIYIUFUA.js} +6 -6
- package/chunks/{task-stop-MAYQJ42I.js → task-stop-X37KYTKB.js} +2 -2
- package/chunks/{task-update-SU5TMZGG.js → task-update-MYPFVOVM.js} +12 -12
- package/chunks/{team-create-YMWUDIE3.js → team-create-ZAIA7KAV.js} +47 -47
- package/chunks/{team-delete-3XVRPQBP.js → team-delete-6UMU4XLS.js} +6 -6
- package/chunks/{team-plan-approval-3GPZAW46.js → team-plan-approval-UNIUS7OD.js} +47 -47
- package/chunks/{terminal-image-renderer-UGQKWDM3.js → terminal-image-renderer-G343P2RV.js} +44 -44
- package/chunks/{theme-manager-KRG4GGFY.js → theme-manager-Z3RIT7DB.js} +43 -43
- package/chunks/{todoWrite-IE2YTCK7.js → todoWrite-U2R4NVF4.js} +4 -4
- package/chunks/{tool-search-SZRO5G72.js → tool-search-5R2OE4C7.js} +17 -17
- package/chunks/{total-session-admission-JYHYOKWX.js → total-session-admission-4KBHMQQ2.js} +48 -48
- package/chunks/{trustedFolders-2BDCB5NJ.js → trustedFolders-LK6T4XC7.js} +43 -43
- package/chunks/{update-relaunch-XSYVPSDL.js → update-relaunch-UBKROIC6.js} +5 -5
- package/chunks/{updateCheck-SMMJ27GG.js → updateCheck-W4Y2GFSD.js} +45 -45
- package/chunks/{useAutoAcceptIndicator-HPG4UFIZ.js → useAutoAcceptIndicator-C7BEICBF.js} +51 -51
- package/chunks/{validateNonInterActiveAuth-IIL774NT.js → validateNonInterActiveAuth-LTEI2TB6.js} +84 -86
- package/chunks/{version-WSGAB2PA.js → version-G5A5DGVS.js} +1 -1
- package/chunks/{web-fetch-LKC2F5DM.js → web-fetch-RTEQTR5Z.js} +20 -20
- package/chunks/{web-search-BHMAMXEU.js → web-search-5OXHEZPV.js} +16 -16
- package/chunks/{workflow-A7AQ52HO.js → workflow-ISQJHPG2.js} +54 -53
- package/chunks/{workspace-providers-status-JRT57TLL.js → workspace-providers-status-2ZPZPUPZ.js} +51 -51
- package/chunks/{workspace-registration-store-EACJNCM5.js → workspace-registration-store-CYNY6IP6.js} +2 -2
- package/chunks/{workspace-registry-OV5SI4ES.js → workspace-registry-34GTUUHB.js} +50 -49
- package/chunks/{workspace-service-PUHU4EEK.js → workspace-service-XCDQLE2Y.js} +53 -53
- package/chunks/{workspace-skills-status-YAJE3UW3.js → workspace-skills-status-RS4O7AIJ.js} +49 -49
- package/chunks/{workspace-trust-reconciler-JP5UR2H6.js → workspace-trust-reconciler-AYGXC7A3.js} +57 -56
- package/chunks/{write-file-UBIHUP5M.js → write-file-EWXKVVXF.js} +42 -42
- package/chunks/{zoom-image-4QTKAMTP.js → zoom-image-4BFYJ3HG.js} +11 -11
- package/cli.js +18 -17
- package/package.json +3 -3
- package/web-shell/assets/{arc-lZ04kynw.js → arc-CgOpDKvm.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1wZVhzD.js → architectureDiagram-3BPJPVTR-0Ag_m34F.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CO0e0yJt.js → blockDiagram-GPEHLZMM-IwTwFau0.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Dfpo6Qie.js → c4Diagram-AAUBKEIU-DLa5GUv8.js} +1 -1
- package/web-shell/assets/channel-BrGVBa2L.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BvxArftT.js → chunk-2J33WTMH-DcYP-WFG.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BS2XXjGY.js → chunk-4BX2VUAB-C8MVPMiQ.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CYL6h3Ph.js → chunk-55IACEB6-BUi4Yfv3.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-C-cWPX30.js → chunk-727SXJPM-Cy3Su2YY.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CJLxNbVV.js → chunk-AQP2D5EJ-Dp8Teqv6.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DwfzKywA.js → chunk-FMBD7UC4-BDTDM-4j.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BI5raYHQ.js → chunk-ND2GUHAM-7HfDt0r2.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-_GkNI90J.js → chunk-QZHKN3VN-BIBU0uCF.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BAVLNxh9.js → cose-bilkent-S5V4N54A-DRLdcg9p.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BD4XNLqp.js → dagre-BM42HDAG-DCCgDwqW.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-WO567p8w.js → diagram-2AECGRRQ-CsBTBmk3.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-mAk23VWO.js → diagram-5GNKFQAL-C9qjH8Lt.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-YQEeHKze.js → diagram-KO2AKTUF-Brjs_lj2.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-CMVjxAjv.js → diagram-LMA3HP47-DtiWCl_F.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-42hPvbM-.js → diagram-OG6HWLK6-DmfKLkBT.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CXU_cPfu.js → erDiagram-TEJ5UH35-Bve_4deH.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-D-3TdhMT.js → flowDiagram-I6XJVG4X-C2_kXCcV.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CsgkXolz.js → ganttDiagram-6RSMTGT7-BSBIjiTF.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-B6Q3PBLD.js → gitGraphDiagram-PVQCEYII-CyebwI55.js} +1 -1
- package/web-shell/assets/index-CIDsgxTe.js +1792 -0
- package/web-shell/assets/index-DiQnWi_E.css +5 -0
- package/web-shell/assets/{index-BFrkGj2B.js → index-d0yfnV1M.js} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-jiAfSXp8.js → infoDiagram-5YYISTIA-CSDGnWxU.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BWif5KeJ.js → ishikawaDiagram-YF4QCWOH-BK4jU13p.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-B-GAZthS.js → journeyDiagram-JHISSGLW-D_W6j-oF.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-9TEuATdL.js → kanban-definition-UN3LZRKU-C7xf-SdC.js} +1 -1
- package/web-shell/assets/{linear-dy_QPfyE.js → linear-DQmzxpxd.js} +1 -1
- package/web-shell/assets/{mermaid.core-DB2uLAnq.js → mermaid.core-9P7AGOLG.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-ey_dyxi-.js → mindmap-definition-RKZ34NQL-DgcgMyPk.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-_6BuMdDj.js → pieDiagram-4H26LBE5-3wWGb9eG.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-B2rM19W2.js → quadrantDiagram-W4KKPZXB-BeCXnQw9.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DWj8b7vW.js → requirementDiagram-4Y6WPE33-Bi1UOHDz.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5dtYh0N.js → sankeyDiagram-5OEKKPKP-lrLUjjbb.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DVkdn_qW.js → sequenceDiagram-3UESZ5HK-BFuqKz6Q.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DgwD_fi6.js → stateDiagram-AJRCARHV-8DemQLhu.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-vNr_1UNX.js → timeline-definition-PNZ67QCA-uzEuVQXg.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-ChFcGAcu.js → vennDiagram-CIIHVFJN-BQTeZ_-o.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-C8PXoSWk.js → wardley-L42UT6IY-B6yM5Im7.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-C2nqOV6i.js → wardleyDiagram-YWT4CUSO-ChM8bmgn.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BntaqhSB.js → xychartDiagram-2RQKCTM6-oNG6HyB1.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-5PLOQW7H.js +0 -830
- package/chunks/chunk-DMODRHNL.js +0 -649
- package/chunks/chunk-L34XSHIZ.js +0 -28
- package/chunks/chunk-N2TNM3QB.js +0 -9
- package/chunks/chunk-RECPKBBD.js +0 -622
- package/chunks/chunk-WLML6VIA.js +0 -18
- package/chunks/chunk-ZBBVBZBR.js +0 -137
- package/chunks/chunk-bdqvmfwv-OHYAFAAO.js +0 -17446
- package/chunks/discovery-XLHITE74.js +0 -220
- package/chunks/dispatch-FW7DX2CR.js +0 -43
- package/chunks/nonInteractiveCli-3XFIFXBR.js +0 -166
- package/chunks/opentui-entry-TEHHLGN7.js +0 -52419
- package/chunks/runtime-gate-T4ICWGQJ.js +0 -89
- package/chunks/wrapper-46Z24CTM.js +0 -35
- package/web-shell/assets/channel-BxvRq3pV.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-tL8nAxYf.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-tL8nAxYf.js +0 -1
- package/web-shell/assets/index-BgjULKyF.css +0 -5
- package/web-shell/assets/index-CxXlPYfl.js +0 -1789
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWGkVGVB.js +0 -1
- /package/chunks/{chunk-44CTCCLY.js → chunk-NWNEANAT.js} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
9
|
+
|
|
10
|
+
// packages/cli/src/serve/workspace-runtime-visibility.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
function isInternalWorkspaceRuntime(runtime) {
|
|
13
|
+
return runtime.provenance === "live-conversation";
|
|
14
|
+
}
|
|
15
|
+
__name(isInternalWorkspaceRuntime, "isInternalWorkspaceRuntime");
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
isInternalWorkspaceRuntime
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* @license
|
|
22
|
+
* Copyright 2026 Qwen Team
|
|
23
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
24
|
+
*/
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
} from "./chunk-4NFY2S7N.js";
|
|
6
6
|
import {
|
|
7
7
|
t
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HUTNYWBG.js";
|
|
9
9
|
import {
|
|
10
10
|
fetchGitDiff,
|
|
11
11
|
findProviderByCredentials,
|
|
12
12
|
resolveMetadataKey
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-4S5337WV.js";
|
|
14
14
|
import {
|
|
15
15
|
init_esbuild_shims
|
|
16
16
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -12,9 +12,12 @@ import {
|
|
|
12
12
|
MIN_CHILD_HEAP_MB,
|
|
13
13
|
recommendedChildShareMb
|
|
14
14
|
} from "./chunk-UXEO7E3V.js";
|
|
15
|
+
import {
|
|
16
|
+
isInternalWorkspaceRuntime
|
|
17
|
+
} from "./chunk-NYWWQ437.js";
|
|
15
18
|
import {
|
|
16
19
|
CLIENT_MCP_OVER_WS_CONFIG_FLAG
|
|
17
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-S5DWMTHO.js";
|
|
18
21
|
import {
|
|
19
22
|
MAX_WORKSPACE_PATH_LENGTH,
|
|
20
23
|
translateAndCheckAbsoluteWorkspacePath
|
|
@@ -1880,6 +1883,309 @@ async function createManagedScratchDirectory(root) {
|
|
|
1880
1883
|
}
|
|
1881
1884
|
__name(createManagedScratchDirectory, "createManagedScratchDirectory");
|
|
1882
1885
|
|
|
1886
|
+
// packages/cli/src/serve/conversations/conversation-runtime-errors.ts
|
|
1887
|
+
init_esbuild_shims();
|
|
1888
|
+
var DEFAULT_MESSAGES = {
|
|
1889
|
+
conversation_runtime_in_use: "The Conversations runtime is owned by another daemon.",
|
|
1890
|
+
conversation_runtime_unavailable: "The Conversations runtime is temporarily unavailable.",
|
|
1891
|
+
conversation_root_compromised: "The Conversations root could not be verified.",
|
|
1892
|
+
conversation_runtime_ownership_compromised: "The Conversations runtime ownership state could not be verified."
|
|
1893
|
+
};
|
|
1894
|
+
var ConversationRuntimeOwnershipError = class extends Error {
|
|
1895
|
+
constructor(code, retryable, options) {
|
|
1896
|
+
super(DEFAULT_MESSAGES[code], options);
|
|
1897
|
+
this.code = code;
|
|
1898
|
+
this.retryable = retryable;
|
|
1899
|
+
this.name = "ConversationRuntimeOwnershipError";
|
|
1900
|
+
}
|
|
1901
|
+
static {
|
|
1902
|
+
__name(this, "ConversationRuntimeOwnershipError");
|
|
1903
|
+
}
|
|
1904
|
+
status = 503;
|
|
1905
|
+
};
|
|
1906
|
+
function conversationRuntimeInUseError() {
|
|
1907
|
+
return new ConversationRuntimeOwnershipError(
|
|
1908
|
+
"conversation_runtime_in_use",
|
|
1909
|
+
true
|
|
1910
|
+
);
|
|
1911
|
+
}
|
|
1912
|
+
__name(conversationRuntimeInUseError, "conversationRuntimeInUseError");
|
|
1913
|
+
function conversationRuntimeUnavailableError(cause) {
|
|
1914
|
+
return new ConversationRuntimeOwnershipError(
|
|
1915
|
+
"conversation_runtime_unavailable",
|
|
1916
|
+
true,
|
|
1917
|
+
{ cause }
|
|
1918
|
+
);
|
|
1919
|
+
}
|
|
1920
|
+
__name(conversationRuntimeUnavailableError, "conversationRuntimeUnavailableError");
|
|
1921
|
+
function conversationRuntimeOwnershipCompromisedError(cause) {
|
|
1922
|
+
return new ConversationRuntimeOwnershipError(
|
|
1923
|
+
"conversation_runtime_ownership_compromised",
|
|
1924
|
+
false,
|
|
1925
|
+
{ cause }
|
|
1926
|
+
);
|
|
1927
|
+
}
|
|
1928
|
+
__name(conversationRuntimeOwnershipCompromisedError, "conversationRuntimeOwnershipCompromisedError");
|
|
1929
|
+
function conversationRootCompromisedError(cause) {
|
|
1930
|
+
return new ConversationRuntimeOwnershipError(
|
|
1931
|
+
"conversation_root_compromised",
|
|
1932
|
+
false,
|
|
1933
|
+
{ cause }
|
|
1934
|
+
);
|
|
1935
|
+
}
|
|
1936
|
+
__name(conversationRootCompromisedError, "conversationRootCompromisedError");
|
|
1937
|
+
|
|
1938
|
+
// packages/cli/src/serve/serve-app-lifecycle.ts
|
|
1939
|
+
init_esbuild_shims();
|
|
1940
|
+
var SERVE_APP_LIFECYCLE = Symbol("qwen.serveAppLifecycle");
|
|
1941
|
+
var DEFAULT_CLOSE_TIMEOUT_MS = 5e3;
|
|
1942
|
+
var SECONDARY_CLOSE_TIMEOUT_MS = 2e3;
|
|
1943
|
+
function deferred() {
|
|
1944
|
+
let resolve2;
|
|
1945
|
+
let reject;
|
|
1946
|
+
const promise = new Promise((resolvePromise, rejectPromise) => {
|
|
1947
|
+
resolve2 = resolvePromise;
|
|
1948
|
+
reject = rejectPromise;
|
|
1949
|
+
});
|
|
1950
|
+
void promise.catch(() => void 0);
|
|
1951
|
+
return { promise, resolve: resolve2, reject };
|
|
1952
|
+
}
|
|
1953
|
+
__name(deferred, "deferred");
|
|
1954
|
+
var ServeAppLifecycleController = class {
|
|
1955
|
+
static {
|
|
1956
|
+
__name(this, "ServeAppLifecycleController");
|
|
1957
|
+
}
|
|
1958
|
+
admission = deferred();
|
|
1959
|
+
server;
|
|
1960
|
+
startupReady = true;
|
|
1961
|
+
listenerReady = false;
|
|
1962
|
+
listenerClosed = false;
|
|
1963
|
+
sealed = false;
|
|
1964
|
+
closePending;
|
|
1965
|
+
ownership;
|
|
1966
|
+
appDrain;
|
|
1967
|
+
hostDrain;
|
|
1968
|
+
bootStarter;
|
|
1969
|
+
bootPending;
|
|
1970
|
+
bootStarted = false;
|
|
1971
|
+
bindServer(server, options = {}) {
|
|
1972
|
+
if (this.server || server.listening || this.bootStarted || this.sealed) {
|
|
1973
|
+
throw new Error(
|
|
1974
|
+
"Serve app lifecycle must bind one server before its first listen."
|
|
1975
|
+
);
|
|
1976
|
+
}
|
|
1977
|
+
this.server = server;
|
|
1978
|
+
this.hostDrain = options.drainHost;
|
|
1979
|
+
this.startupReady = options.startupReady === void 0;
|
|
1980
|
+
server.once("listening", () => {
|
|
1981
|
+
this.listenerReady = true;
|
|
1982
|
+
if (this.sealed) {
|
|
1983
|
+
server.close();
|
|
1984
|
+
server.closeAllConnections();
|
|
1985
|
+
return;
|
|
1986
|
+
}
|
|
1987
|
+
this.openAdmissionIfReady();
|
|
1988
|
+
});
|
|
1989
|
+
server.on("close", () => {
|
|
1990
|
+
this.listenerClosed = true;
|
|
1991
|
+
this.seal();
|
|
1992
|
+
void this.close().catch(() => void 0);
|
|
1993
|
+
});
|
|
1994
|
+
server.on("error", (error) => {
|
|
1995
|
+
if (!this.listenerReady && options.startupReady === void 0) {
|
|
1996
|
+
this.seal(error);
|
|
1997
|
+
void this.close().catch(() => void 0);
|
|
1998
|
+
}
|
|
1999
|
+
});
|
|
2000
|
+
if (options.startupReady) {
|
|
2001
|
+
void options.startupReady.then(
|
|
2002
|
+
() => {
|
|
2003
|
+
this.startupReady = true;
|
|
2004
|
+
this.openAdmissionIfReady();
|
|
2005
|
+
},
|
|
2006
|
+
(error) => {
|
|
2007
|
+
this.seal(error instanceof Error ? error : new Error(String(error)));
|
|
2008
|
+
}
|
|
2009
|
+
);
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
close(options = {}) {
|
|
2013
|
+
if (this.closePending) return this.closePending;
|
|
2014
|
+
const pending = this.closeOnce(options);
|
|
2015
|
+
this.closePending = pending;
|
|
2016
|
+
void pending.catch(() => {
|
|
2017
|
+
if (this.closePending === pending) this.closePending = void 0;
|
|
2018
|
+
});
|
|
2019
|
+
return pending;
|
|
2020
|
+
}
|
|
2021
|
+
setOwnership(ownership) {
|
|
2022
|
+
if (this.ownership) {
|
|
2023
|
+
throw new Error("Serve app lifecycle ownership is already configured.");
|
|
2024
|
+
}
|
|
2025
|
+
this.ownership = ownership;
|
|
2026
|
+
}
|
|
2027
|
+
setAppDrain(drain) {
|
|
2028
|
+
this.appDrain = drain;
|
|
2029
|
+
}
|
|
2030
|
+
setBootStarter(starter) {
|
|
2031
|
+
this.bootStarter = starter;
|
|
2032
|
+
this.openAdmissionIfReady();
|
|
2033
|
+
}
|
|
2034
|
+
async awaitBootAdmission() {
|
|
2035
|
+
if (!this.server || this.sealed) {
|
|
2036
|
+
throw conversationRuntimeUnavailableError();
|
|
2037
|
+
}
|
|
2038
|
+
try {
|
|
2039
|
+
await this.admission.promise;
|
|
2040
|
+
} catch (error) {
|
|
2041
|
+
throw conversationRuntimeUnavailableError(error);
|
|
2042
|
+
}
|
|
2043
|
+
if (this.sealed) {
|
|
2044
|
+
throw conversationRuntimeUnavailableError();
|
|
2045
|
+
}
|
|
2046
|
+
}
|
|
2047
|
+
async startBoot(starter = this.bootStarter) {
|
|
2048
|
+
await this.awaitBootAdmission();
|
|
2049
|
+
await this.beginBoot(starter);
|
|
2050
|
+
}
|
|
2051
|
+
getBootPromise() {
|
|
2052
|
+
return this.bootPending;
|
|
2053
|
+
}
|
|
2054
|
+
isBootStarted() {
|
|
2055
|
+
return this.bootStarted;
|
|
2056
|
+
}
|
|
2057
|
+
sealBoot() {
|
|
2058
|
+
this.seal();
|
|
2059
|
+
}
|
|
2060
|
+
openAdmissionIfReady() {
|
|
2061
|
+
if (this.sealed || !this.server || !this.listenerReady || !this.startupReady) {
|
|
2062
|
+
return;
|
|
2063
|
+
}
|
|
2064
|
+
this.admission.resolve();
|
|
2065
|
+
const bootStarter = this.bootStarter;
|
|
2066
|
+
if (bootStarter && !this.bootStarted) {
|
|
2067
|
+
void this.beginBoot(bootStarter)?.catch(() => void 0);
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
beginBoot(starter) {
|
|
2071
|
+
if (!starter) return void 0;
|
|
2072
|
+
if (this.sealed) {
|
|
2073
|
+
return Promise.reject(conversationRuntimeUnavailableError());
|
|
2074
|
+
}
|
|
2075
|
+
if (this.bootPending) return this.bootPending;
|
|
2076
|
+
this.bootStarted = true;
|
|
2077
|
+
const pending = Promise.resolve().then(starter);
|
|
2078
|
+
const tracked = pending.finally(() => {
|
|
2079
|
+
if (this.bootPending === tracked) this.bootPending = void 0;
|
|
2080
|
+
});
|
|
2081
|
+
this.bootPending = tracked;
|
|
2082
|
+
void tracked.catch(() => void 0);
|
|
2083
|
+
return tracked;
|
|
2084
|
+
}
|
|
2085
|
+
seal(error) {
|
|
2086
|
+
if (this.sealed) return;
|
|
2087
|
+
this.sealed = true;
|
|
2088
|
+
this.admission.reject(error ?? conversationRuntimeUnavailableError());
|
|
2089
|
+
}
|
|
2090
|
+
async closeOnce(options) {
|
|
2091
|
+
this.seal();
|
|
2092
|
+
const drains = [
|
|
2093
|
+
this.startDrain(this.appDrain),
|
|
2094
|
+
this.startDrain(this.hostDrain),
|
|
2095
|
+
this.bootPending?.catch(() => void 0)
|
|
2096
|
+
].filter((value) => value !== void 0);
|
|
2097
|
+
const listenerClose = this.closeListener(
|
|
2098
|
+
options.timeoutMs ?? DEFAULT_CLOSE_TIMEOUT_MS
|
|
2099
|
+
);
|
|
2100
|
+
const results = await Promise.allSettled([...drains, listenerClose]);
|
|
2101
|
+
const errors = results.filter(
|
|
2102
|
+
(result) => result.status === "rejected"
|
|
2103
|
+
).map((result) => result.reason);
|
|
2104
|
+
if (errors.length === 1) {
|
|
2105
|
+
throw errors[0];
|
|
2106
|
+
}
|
|
2107
|
+
if (errors.length > 1) {
|
|
2108
|
+
throw new AggregateError(errors, "Serve app shutdown is incomplete.");
|
|
2109
|
+
}
|
|
2110
|
+
await this.ownership?.release();
|
|
2111
|
+
}
|
|
2112
|
+
startDrain(drain) {
|
|
2113
|
+
if (!drain) return void 0;
|
|
2114
|
+
try {
|
|
2115
|
+
return drain();
|
|
2116
|
+
} catch (error) {
|
|
2117
|
+
return Promise.reject(error);
|
|
2118
|
+
}
|
|
2119
|
+
}
|
|
2120
|
+
closeListener(timeoutMs) {
|
|
2121
|
+
if (!this.server || this.listenerClosed || !this.listenerReady && !this.server.listening) {
|
|
2122
|
+
return Promise.resolve();
|
|
2123
|
+
}
|
|
2124
|
+
const server = this.server;
|
|
2125
|
+
if (!server.listening) {
|
|
2126
|
+
return this.waitForClosingListener(server, timeoutMs);
|
|
2127
|
+
}
|
|
2128
|
+
return new Promise((resolve2, reject) => {
|
|
2129
|
+
let secondaryTimer;
|
|
2130
|
+
const forceTimer = setTimeout(
|
|
2131
|
+
() => {
|
|
2132
|
+
server.closeAllConnections();
|
|
2133
|
+
secondaryTimer = setTimeout(() => {
|
|
2134
|
+
reject(new Error("The serve listener did not confirm shutdown."));
|
|
2135
|
+
}, SECONDARY_CLOSE_TIMEOUT_MS);
|
|
2136
|
+
secondaryTimer.unref();
|
|
2137
|
+
},
|
|
2138
|
+
Math.max(0, timeoutMs)
|
|
2139
|
+
);
|
|
2140
|
+
forceTimer.unref();
|
|
2141
|
+
server.close((error) => {
|
|
2142
|
+
clearTimeout(forceTimer);
|
|
2143
|
+
if (secondaryTimer) clearTimeout(secondaryTimer);
|
|
2144
|
+
if (error) reject(error);
|
|
2145
|
+
else {
|
|
2146
|
+
this.listenerClosed = true;
|
|
2147
|
+
resolve2();
|
|
2148
|
+
}
|
|
2149
|
+
});
|
|
2150
|
+
});
|
|
2151
|
+
}
|
|
2152
|
+
waitForClosingListener(server, timeoutMs) {
|
|
2153
|
+
return new Promise((resolve2, reject) => {
|
|
2154
|
+
let secondaryTimer;
|
|
2155
|
+
const onClose = /* @__PURE__ */ __name(() => {
|
|
2156
|
+
server.off("close", onClose);
|
|
2157
|
+
clearTimeout(forceTimer);
|
|
2158
|
+
if (secondaryTimer) clearTimeout(secondaryTimer);
|
|
2159
|
+
this.listenerClosed = true;
|
|
2160
|
+
resolve2();
|
|
2161
|
+
}, "onClose");
|
|
2162
|
+
const forceTimer = setTimeout(
|
|
2163
|
+
() => {
|
|
2164
|
+
server.closeAllConnections();
|
|
2165
|
+
secondaryTimer = setTimeout(() => {
|
|
2166
|
+
server.off("close", onClose);
|
|
2167
|
+
reject(new Error("The serve listener did not confirm shutdown."));
|
|
2168
|
+
}, SECONDARY_CLOSE_TIMEOUT_MS);
|
|
2169
|
+
secondaryTimer.unref();
|
|
2170
|
+
},
|
|
2171
|
+
Math.max(0, timeoutMs)
|
|
2172
|
+
);
|
|
2173
|
+
forceTimer.unref();
|
|
2174
|
+
server.once("close", onClose);
|
|
2175
|
+
if (this.listenerClosed) onClose();
|
|
2176
|
+
});
|
|
2177
|
+
}
|
|
2178
|
+
};
|
|
2179
|
+
function installServeAppLifecycle(app, lifecycle = new ServeAppLifecycleController()) {
|
|
2180
|
+
const locals = app.locals;
|
|
2181
|
+
if (locals[SERVE_APP_LIFECYCLE]) {
|
|
2182
|
+
throw new Error("Serve app lifecycle is already installed.");
|
|
2183
|
+
}
|
|
2184
|
+
locals[SERVE_APP_LIFECYCLE] = lifecycle;
|
|
2185
|
+
return lifecycle;
|
|
2186
|
+
}
|
|
2187
|
+
__name(installServeAppLifecycle, "installServeAppLifecycle");
|
|
2188
|
+
|
|
1883
2189
|
// packages/cli/src/serve/server/request-helpers.ts
|
|
1884
2190
|
init_esbuild_shims();
|
|
1885
2191
|
function sendJsonBodyParserError(res, err) {
|
|
@@ -2349,6 +2655,70 @@ __name(resolveAcpHttpEnabled, "resolveAcpHttpEnabled");
|
|
|
2349
2655
|
// packages/cli/src/serve/daemon-status.ts
|
|
2350
2656
|
init_esbuild_shims();
|
|
2351
2657
|
|
|
2658
|
+
// packages/cli/src/serve/acp-http/pre-attach-budget.ts
|
|
2659
|
+
init_esbuild_shims();
|
|
2660
|
+
var ACP_PRE_ATTACH_MAX_FRAMES_PER_STREAM = 256;
|
|
2661
|
+
var ACP_PRE_ATTACH_MAX_FRAMES_PER_CONNECTION = 1024;
|
|
2662
|
+
var ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL = 4096;
|
|
2663
|
+
var ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_PER_CONNECTION = 64 * 1024 * 1024;
|
|
2664
|
+
var ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL = 256 * 1024 * 1024;
|
|
2665
|
+
var AcpPreAttachBudget = class {
|
|
2666
|
+
constructor(limits = {
|
|
2667
|
+
maxFrames: ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL,
|
|
2668
|
+
maxBytes: ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL
|
|
2669
|
+
}) {
|
|
2670
|
+
this.limits = limits;
|
|
2671
|
+
}
|
|
2672
|
+
static {
|
|
2673
|
+
__name(this, "AcpPreAttachBudget");
|
|
2674
|
+
}
|
|
2675
|
+
usedFrames = 0;
|
|
2676
|
+
usedBytes = 0;
|
|
2677
|
+
pendingDeliveryFrames = 0;
|
|
2678
|
+
highWaterFrames = 0;
|
|
2679
|
+
highWaterBytes = 0;
|
|
2680
|
+
guardFailures = 0;
|
|
2681
|
+
tryReserve(bytes) {
|
|
2682
|
+
if (this.usedFrames >= this.limits.maxFrames || bytes > this.limits.maxBytes - this.usedBytes) {
|
|
2683
|
+
this.guardFailures += 1;
|
|
2684
|
+
return void 0;
|
|
2685
|
+
}
|
|
2686
|
+
this.usedFrames += 1;
|
|
2687
|
+
this.usedBytes += bytes;
|
|
2688
|
+
this.highWaterFrames = Math.max(this.highWaterFrames, this.usedFrames);
|
|
2689
|
+
this.highWaterBytes = Math.max(this.highWaterBytes, this.usedBytes);
|
|
2690
|
+
let released = false;
|
|
2691
|
+
let pendingDelivery = false;
|
|
2692
|
+
return {
|
|
2693
|
+
markPendingDelivery: /* @__PURE__ */ __name(() => {
|
|
2694
|
+
if (released || pendingDelivery) return;
|
|
2695
|
+
pendingDelivery = true;
|
|
2696
|
+
this.pendingDeliveryFrames += 1;
|
|
2697
|
+
}, "markPendingDelivery"),
|
|
2698
|
+
release: /* @__PURE__ */ __name(() => {
|
|
2699
|
+
if (released) return;
|
|
2700
|
+
released = true;
|
|
2701
|
+
if (pendingDelivery) this.pendingDeliveryFrames -= 1;
|
|
2702
|
+
this.usedFrames -= 1;
|
|
2703
|
+
this.usedBytes -= bytes;
|
|
2704
|
+
}, "release")
|
|
2705
|
+
};
|
|
2706
|
+
}
|
|
2707
|
+
recordGuardFailure() {
|
|
2708
|
+
this.guardFailures += 1;
|
|
2709
|
+
}
|
|
2710
|
+
snapshot() {
|
|
2711
|
+
return {
|
|
2712
|
+
usedFrames: this.usedFrames,
|
|
2713
|
+
usedBytes: this.usedBytes,
|
|
2714
|
+
pendingDeliveryFrames: this.pendingDeliveryFrames,
|
|
2715
|
+
highWaterFrames: this.highWaterFrames,
|
|
2716
|
+
highWaterBytes: this.highWaterBytes,
|
|
2717
|
+
guardFailures: this.guardFailures
|
|
2718
|
+
};
|
|
2719
|
+
}
|
|
2720
|
+
};
|
|
2721
|
+
|
|
2352
2722
|
// packages/cli/src/serve/daemon-memory-pressure.ts
|
|
2353
2723
|
init_esbuild_shims();
|
|
2354
2724
|
import { getHeapStatistics } from "node:v8";
|
|
@@ -2458,8 +2828,10 @@ async function buildDaemonStatusResponse(detail, input) {
|
|
|
2458
2828
|
const bridgeSnapshot = input.bridge.getDaemonStatusSnapshot();
|
|
2459
2829
|
const lastActivity = input.bridge.lastActivityAt ?? null;
|
|
2460
2830
|
const workspaceRuntimes = input.workspaceRegistry?.list();
|
|
2461
|
-
const
|
|
2831
|
+
const aggregateRuntimes = input.workspaceRegistry?.listAll?.() ?? workspaceRuntimes;
|
|
2832
|
+
const workspaceSnapshots = aggregateRuntimes?.map((runtime) => ({
|
|
2462
2833
|
workspaceCwd: runtime.workspaceCwd,
|
|
2834
|
+
internal: isInternalWorkspaceRuntime(runtime),
|
|
2463
2835
|
snapshot: runtime.bridge === input.bridge ? bridgeSnapshot : runtime.bridge.getDaemonStatusSnapshot(),
|
|
2464
2836
|
lastActivity: runtime.bridge === input.bridge ? lastActivity : runtime.bridge.lastActivityAt ?? null
|
|
2465
2837
|
})) ?? [
|
|
@@ -2485,7 +2857,7 @@ async function buildDaemonStatusResponse(detail, input) {
|
|
|
2485
2857
|
if (memoryBudget) {
|
|
2486
2858
|
const managedRuntimes = input.workspaceRegistry?.listManaged();
|
|
2487
2859
|
const activeAcpChildCount = managedRuntimes ? managedRuntimes.filter((runtime) => runtime.bridge.isChannelLive()).length : workspaceSnapshots.filter((item) => item.snapshot.channelLive).length;
|
|
2488
|
-
const registeredWorkspaceCount = input.workspaceRegistry ? input.workspaceRegistry.listEntries().length : workspaceSnapshots.length;
|
|
2860
|
+
const registeredWorkspaceCount = input.workspaceRegistry ? (input.workspaceRegistry.listAllEntries?.() ?? input.workspaceRegistry.listEntries()).length : workspaceSnapshots.length;
|
|
2489
2861
|
let childRssBytesTotal = 0;
|
|
2490
2862
|
let childRssSampled = 0;
|
|
2491
2863
|
let oldestChildReadingAgeMs = null;
|
|
@@ -2558,7 +2930,7 @@ async function buildDaemonStatusResponse(detail, input) {
|
|
|
2558
2930
|
}
|
|
2559
2931
|
derivedQueuedPromptsByWorkspace[index] = derivedQueuedPromptsForWorkspace;
|
|
2560
2932
|
}
|
|
2561
|
-
const queuedPrompts =
|
|
2933
|
+
const queuedPrompts = aggregateRuntimes?.reduce(
|
|
2562
2934
|
(sum, runtime, index) => sum + (runtime.bridge.pendingPromptTotal ?? derivedQueuedPromptsByWorkspace[index] ?? 0),
|
|
2563
2935
|
0
|
|
2564
2936
|
) ?? input.bridge.pendingPromptTotal ?? derivedQueuedPrompts;
|
|
@@ -2616,7 +2988,7 @@ async function buildDaemonStatusResponse(detail, input) {
|
|
|
2616
2988
|
full = await buildFullStatus(
|
|
2617
2989
|
input,
|
|
2618
2990
|
acpAggregate,
|
|
2619
|
-
workspaceSnapshots.flatMap((item) => item.snapshot.sessions)
|
|
2991
|
+
workspaceSnapshots.filter((item) => item.internal !== true).flatMap((item) => item.snapshot.sessions)
|
|
2620
2992
|
);
|
|
2621
2993
|
pushFullIssues(issues, full);
|
|
2622
2994
|
}
|
|
@@ -2668,6 +3040,11 @@ async function buildDaemonStatusResponse(detail, input) {
|
|
|
2668
3040
|
channelIdleTimeoutMs: bridgeSnapshot.limits.channelIdleTimeoutMs,
|
|
2669
3041
|
sessionIdleTimeoutMs: bridgeSnapshot.limits.sessionIdleTimeoutMs,
|
|
2670
3042
|
acpConnectionCap: acpSnapshot?.connectionCap ?? null,
|
|
3043
|
+
acpPreAttachMaxFramesPerStream: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_FRAMES_PER_STREAM : null,
|
|
3044
|
+
acpPreAttachMaxFramesPerConnection: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_FRAMES_PER_CONNECTION : null,
|
|
3045
|
+
acpPreAttachMaxFramesGlobal: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL : null,
|
|
3046
|
+
acpPreAttachMaxPayloadBytesPerConnection: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_PER_CONNECTION : null,
|
|
3047
|
+
acpPreAttachMaxPayloadBytesGlobal: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL : null,
|
|
2671
3048
|
memory: toDaemonStatusMemoryLimits(
|
|
2672
3049
|
memoryBudget,
|
|
2673
3050
|
input.getChildHeapPolicySnapshot?.(),
|
|
@@ -2712,7 +3089,17 @@ async function buildDaemonStatusResponse(detail, input) {
|
|
|
2712
3089
|
sessionStreams: acpAggregate?.sessionStreams ?? 0,
|
|
2713
3090
|
sseStreams: acpAggregate?.sseStreams ?? 0,
|
|
2714
3091
|
wsStreams: acpAggregate?.wsStreams ?? 0,
|
|
2715
|
-
pendingClientRequests: acpAggregate?.pendingClientRequests ?? 0
|
|
3092
|
+
pendingClientRequests: acpAggregate?.pendingClientRequests ?? 0,
|
|
3093
|
+
preAttach: {
|
|
3094
|
+
bufferedConnectionFrames: acpAggregate?.bufferedConnectionFrames ?? 0,
|
|
3095
|
+
bufferedSessionFrames: acpAggregate?.bufferedSessionFrames ?? 0,
|
|
3096
|
+
pendingDeliveryFrames: acpAggregate?.pendingDeliveryFrames ?? 0,
|
|
3097
|
+
usedFrames: acpAggregate?.preAttach.usedFrames ?? 0,
|
|
3098
|
+
usedBytes: acpAggregate?.preAttach.usedBytes ?? 0,
|
|
3099
|
+
highWaterFrames: acpAggregate?.preAttach.highWaterFrames ?? 0,
|
|
3100
|
+
highWaterBytes: acpAggregate?.preAttach.highWaterBytes ?? 0,
|
|
3101
|
+
guardFailures: acpAggregate?.preAttach.guardFailures ?? 0
|
|
3102
|
+
}
|
|
2716
3103
|
}
|
|
2717
3104
|
},
|
|
2718
3105
|
rateLimit: {
|
|
@@ -2722,7 +3109,7 @@ async function buildDaemonStatusResponse(detail, input) {
|
|
|
2722
3109
|
...input.getPerfSnapshot ? { perf: input.getPerfSnapshot() } : {},
|
|
2723
3110
|
...input.getMetricsSeries ? { metrics: { series: input.getMetricsSeries() } } : {},
|
|
2724
3111
|
activity: {
|
|
2725
|
-
activePrompts:
|
|
3112
|
+
activePrompts: aggregateRuntimes?.reduce(
|
|
2726
3113
|
(sum, runtime) => sum + (runtime.bridge.activePromptCount ?? 0),
|
|
2727
3114
|
0
|
|
2728
3115
|
) ?? input.bridge.activePromptCount ?? 0,
|
|
@@ -2793,6 +3180,7 @@ async function buildFullStatus(input, acpSnapshot, sessions) {
|
|
|
2793
3180
|
]);
|
|
2794
3181
|
return {
|
|
2795
3182
|
sessions,
|
|
3183
|
+
acpMounts: acpSnapshot?.mounts ?? [],
|
|
2796
3184
|
acpConnections: acpSnapshot?.connections ?? [],
|
|
2797
3185
|
workspace: {
|
|
2798
3186
|
mcp,
|
|
@@ -2851,12 +3239,12 @@ async function withTimeout(promise, section, timeoutMs) {
|
|
|
2851
3239
|
}
|
|
2852
3240
|
__name(withTimeout, "withTimeout");
|
|
2853
3241
|
function pushRuntimeIssues(issues, acpSnapshot, acpAggregate, rateLimitHits, input, channelWorker, channelWorkers, totalAdmissionSnapshot, workspaceSnapshots) {
|
|
2854
|
-
for (const { workspaceCwd, snapshot } of workspaceSnapshots) {
|
|
3242
|
+
for (const { workspaceCwd, internal, snapshot } of workspaceSnapshots) {
|
|
2855
3243
|
if (snapshot.limits.maxSessions !== null && snapshot.limits.maxSessions > 0 && snapshot.sessionCount / snapshot.limits.maxSessions >= CAPACITY_WARNING_RATIO) {
|
|
2856
3244
|
issues.push({
|
|
2857
3245
|
code: "session_capacity_high",
|
|
2858
3246
|
severity: "warning",
|
|
2859
|
-
message: workspaceSnapshots.length > 1 ? `Workspace ${workspaceCwd} active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.` : `Active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.`
|
|
3247
|
+
message: workspaceSnapshots.length > 1 ? internal ? `An internal runtime's active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.` : `Workspace ${workspaceCwd} active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.` : `Active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.`
|
|
2860
3248
|
});
|
|
2861
3249
|
}
|
|
2862
3250
|
}
|
|
@@ -2907,7 +3295,7 @@ function pushRuntimeIssues(issues, acpSnapshot, acpAggregate, rateLimitHits, inp
|
|
|
2907
3295
|
issues.push({
|
|
2908
3296
|
code: "acp_channel_down",
|
|
2909
3297
|
severity: "error",
|
|
2910
|
-
message: downWorkspaces.length === 1 ? `Active sessions exist but the ACP channel is not live for ${downWorkspaces[0].workspaceCwd}.` : `Active sessions exist but the ACP channel is not live for ${downWorkspaces.length} workspace(s).`
|
|
3298
|
+
message: downWorkspaces.length === 1 ? downWorkspaces[0].internal ? "Active sessions exist but the ACP channel is not live for an internal runtime." : `Active sessions exist but the ACP channel is not live for ${downWorkspaces[0].workspaceCwd}.` : `Active sessions exist but the ACP channel is not live for ${downWorkspaces.length} workspace(s).`
|
|
2911
3299
|
});
|
|
2912
3300
|
}
|
|
2913
3301
|
if (input.opts.rateLimit === true && sumRateHits(rateLimitHits) > 0) {
|
|
@@ -3510,6 +3898,13 @@ export {
|
|
|
3510
3898
|
isScratchRootCompatible,
|
|
3511
3899
|
prepareManagedScratchRoot,
|
|
3512
3900
|
createManagedScratchDirectory,
|
|
3901
|
+
ConversationRuntimeOwnershipError,
|
|
3902
|
+
conversationRuntimeInUseError,
|
|
3903
|
+
conversationRuntimeUnavailableError,
|
|
3904
|
+
conversationRuntimeOwnershipCompromisedError,
|
|
3905
|
+
conversationRootCompromisedError,
|
|
3906
|
+
ServeAppLifecycleController,
|
|
3907
|
+
installServeAppLifecycle,
|
|
3513
3908
|
sendJsonBodyParserError,
|
|
3514
3909
|
CLIENT_ID_HEADER,
|
|
3515
3910
|
MAX_CLIENT_ID_LENGTH,
|
|
@@ -3534,6 +3929,12 @@ export {
|
|
|
3534
3929
|
setRateLimiter,
|
|
3535
3930
|
getRateLimiter,
|
|
3536
3931
|
resolveAcpHttpEnabled,
|
|
3932
|
+
ACP_PRE_ATTACH_MAX_FRAMES_PER_STREAM,
|
|
3933
|
+
ACP_PRE_ATTACH_MAX_FRAMES_PER_CONNECTION,
|
|
3934
|
+
ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL,
|
|
3935
|
+
ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_PER_CONNECTION,
|
|
3936
|
+
ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL,
|
|
3937
|
+
AcpPreAttachBudget,
|
|
3537
3938
|
toDaemonStatusMemoryLimits,
|
|
3538
3939
|
parseDaemonStatusDetail,
|
|
3539
3940
|
buildDaemonStatusResponse,
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
resolveChannelCwd
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-45NQKMYB.js";
|
|
6
6
|
import {
|
|
7
7
|
getPlugin,
|
|
8
8
|
supportedTypes
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-A4QRWUDE.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esbuild_shims
|
|
12
12
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -361,6 +361,7 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
361
361
|
"clientSecret",
|
|
362
362
|
envResolution
|
|
363
363
|
);
|
|
364
|
+
const configuredSessionScope = rawConfig["sessionScope"] || plugin.defaultSessionScope || "user";
|
|
364
365
|
return {
|
|
365
366
|
...resolvedRawConfig,
|
|
366
367
|
type: channelType,
|
|
@@ -369,7 +370,7 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
|
|
|
369
370
|
clientSecret,
|
|
370
371
|
senderPolicy: rawConfig["senderPolicy"] || "allowlist",
|
|
371
372
|
allowedUsers: rawConfig["allowedUsers"] || [],
|
|
372
|
-
sessionScope:
|
|
373
|
+
sessionScope: configuredSessionScope,
|
|
373
374
|
cwd: resolveChannelCwd(rawConfig["cwd"], defaultCwd),
|
|
374
375
|
approvalMode: parseApprovalModeConfig(name, rawConfig),
|
|
375
376
|
instructions: rawConfig["instructions"],
|