@qwen-code/qwen-code 0.21.0-nightly.20260727.c003e1718 → 0.21.0-preview.0
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 +4 -0
- package/bundled/qc-helper/docs/features/channels/github.md +14 -14
- package/bundled/qc-helper/docs/features/hooks.md +50 -13
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
- package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
- package/bundled/review/SKILL.md +15 -0
- package/chunks/{MaxSizedBox-2N5IOLMA.js → MaxSizedBox-UQGQ6O3I.js} +36 -36
- package/chunks/{StandaloneSessionPicker-6SNFY63D.js → StandaloneSessionPicker-QLO5COVM.js} +51 -51
- package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-DFVPFQ6C.js} +2 -2
- package/chunks/{acpAgent-6BDY452E.js → acpAgent-ECMKCJPZ.js} +1265 -505
- package/chunks/{agent-WPMRCC7E.js → agent-NJ4VPY5B.js} +31 -31
- package/chunks/{agent-headless-OSOKZOZK.js → agent-headless-JB6RF5HT.js} +31 -31
- package/chunks/{anthropicContentGenerator-EJEHPX2W.js → anthropicContentGenerator-V2QOGVYD.js} +54 -13
- package/chunks/{artifact-tool-FQYTXKFY.js → artifact-tool-6K6U7XYJ.js} +2 -2
- package/chunks/{askUserQuestion-DJQIJ5T4.js → askUserQuestion-GD2IJJ7I.js} +2 -2
- package/chunks/{bridge-VR3WL36L.js → bridge-EXKCQ7MD.js} +38 -37
- package/chunks/{build-47LY6L7H.js → build-S6DO7LMM.js} +1 -1
- package/chunks/{ca-UBSN3YSM.js → ca-6W3SK7OQ.js} +1 -1
- package/chunks/{channel-management-service-2WRAWZQU.js → channel-management-service-XR7GZSWF.js} +7 -7
- package/chunks/{channel-settings-store-3FOVM5TF.js → channel-settings-store-VA4J7HPF.js} +38 -38
- package/chunks/{channel-worker-group-VMGKUBUY.js → channel-worker-group-XDPTDWTX.js} +9 -5
- package/chunks/{channel-worker-manager-2SCF42S2.js → channel-worker-manager-YYEHVRRE.js} +9 -5
- package/chunks/{channel-worker-supervisor-F3HADSDC.js → channel-worker-supervisor-74HTWA2G.js} +5 -4
- package/chunks/{chunk-2PHWA4IO.js → chunk-2DN4J57Y.js} +2 -2
- package/chunks/{chunk-HHYPUCUF.js → chunk-2LKVPASC.js} +3 -3
- package/chunks/{chunk-ECBKZ7SV.js → chunk-2LQTH543.js} +2 -2
- package/chunks/{chunk-EDEO3ZXU.js → chunk-2XSLTRFZ.js} +2 -2
- package/chunks/{chunk-HIJQF5B5.js → chunk-3L2SPEBH.js} +1 -1
- package/chunks/{chunk-2KHUM3TN.js → chunk-3MGBLIXX.js} +167 -81
- package/chunks/{chunk-CWFC2GZB.js → chunk-3Q4TGVUX.js} +1385 -785
- package/chunks/{chunk-KR2UZ6QL.js → chunk-4G2BISNC.js} +1 -1
- package/chunks/{chunk-IUYFCE34.js → chunk-4WSL256B.js} +3 -3
- package/chunks/{chunk-LI4HGDLZ.js → chunk-5FNROPXI.js} +4 -4
- package/chunks/{chunk-ECEJ6T4L.js → chunk-5TBMQLGG.js} +2 -2
- package/chunks/{chunk-KW3H2FM4.js → chunk-5YKDXHUY.js} +2 -2
- package/chunks/{chunk-PIVH7FAY.js → chunk-5YVWMI26.js} +5 -5
- package/chunks/{chunk-IUNB6SUW.js → chunk-64LQLPL7.js} +3 -3
- package/chunks/{chunk-7R4YENCL.js → chunk-6QIGFD5W.js} +1 -1
- package/chunks/{chunk-SHJ4R6JF.js → chunk-727I7LJ2.js} +5 -5
- package/chunks/{chunk-BRKWIX5C.js → chunk-74YNMTJP.js} +30 -19
- package/chunks/{chunk-IM6PC55H.js → chunk-75GFAX4R.js} +1 -1
- package/chunks/{chunk-IXNNGTUI.js → chunk-75MIQ3LV.js} +18 -3
- package/chunks/{chunk-VCBKBEU7.js → chunk-7A4ZDITM.js} +27 -14
- package/chunks/{chunk-FZZTCEXC.js → chunk-7HRXAFCW.js} +10 -10
- package/chunks/{chunk-BJHP755Z.js → chunk-7I5GTCT4.js} +271 -164
- package/chunks/{chunk-BOWYL27T.js → chunk-7XATOOE7.js} +1 -1
- package/chunks/{chunk-HAZMIZP7.js → chunk-A2APC6HM.js} +2 -2
- package/chunks/{chunk-ZYD3KZPB.js → chunk-A3NDJ5SB.js} +2 -2
- package/chunks/{chunk-IIJCNWAY.js → chunk-AL62VKMS.js} +4 -4
- package/chunks/{chunk-NZYXKNSZ.js → chunk-AOAYOH3R.js} +1 -1
- package/chunks/{chunk-C6U6ZR65.js → chunk-ATZOB5Y2.js} +11 -11
- package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
- package/chunks/{chunk-JJY7H2ZU.js → chunk-BCZFQXWK.js} +2 -2
- package/chunks/{chunk-FUFNINKB.js → chunk-BGTQCTQW.js} +42 -3
- package/chunks/{chunk-6PQHZ4YW.js → chunk-BWKCTLEJ.js} +193 -149
- package/chunks/{chunk-3FNJBOF7.js → chunk-CVHIL5IG.js} +3 -3
- package/chunks/{chunk-55PWRVIR.js → chunk-DABQX74H.js} +8 -8
- package/chunks/{chunk-N7U3LRNS.js → chunk-DDKAZLZ7.js} +17 -6
- package/chunks/{chunk-CPF4NIKT.js → chunk-DIQGH5CN.js} +1 -1
- package/chunks/{chunk-3YAW4B2W.js → chunk-DJGYJDYR.js} +1 -1
- package/chunks/{chunk-4IQSPE3A.js → chunk-DNDETPES.js} +3 -3
- package/chunks/{chunk-4CCAX23S.js → chunk-DZLYR4U3.js} +1 -1
- package/chunks/{chunk-7XSFZ3FM.js → chunk-EABYVKAK.js} +2 -2
- package/chunks/{chunk-SJXVC6ZO.js → chunk-F3EYHTOC.js} +4 -4
- package/chunks/{chunk-RKMMVQDZ.js → chunk-FNMZK765.js} +1 -1
- package/chunks/{chunk-2KLJYA37.js → chunk-FW4M4GA7.js} +1 -1
- package/chunks/chunk-FYJ7W2PI.js +194 -0
- package/chunks/{chunk-7GC5YKSS.js → chunk-GATT5TKW.js} +1 -1
- package/chunks/{chunk-4CSVLZXK.js → chunk-GBAZKAZW.js} +3 -3
- package/chunks/{chunk-5ADNRHTY.js → chunk-GEBV2JGB.js} +28 -5
- package/chunks/{chunk-VV6QF662.js → chunk-GKX7E4CO.js} +1 -1
- package/chunks/{chunk-ELHHYF7E.js → chunk-GNR2RNMP.js} +157 -4
- package/chunks/{chunk-PLMOXLFY.js → chunk-GW3XHA6P.js} +2 -2
- package/chunks/{chunk-SAXBG6AR.js → chunk-GXIJHV66.js} +3 -3
- package/chunks/{chunk-4AVIERNE.js → chunk-GZ3RCT54.js} +1 -1
- package/chunks/{chunk-6K2CPEAB.js → chunk-HKFEPLKW.js} +1 -1
- package/chunks/{chunk-QVKDVURA.js → chunk-HRD7NI6D.js} +11 -3
- package/chunks/{chunk-G3RJEBAA.js → chunk-HUK2P4RS.js} +2510 -1273
- package/chunks/{chunk-RRNQGWR4.js → chunk-HWNLU2HC.js} +7 -7
- package/chunks/{chunk-TH6TQR5Y.js → chunk-IZO36O6O.js} +252 -15
- package/chunks/{chunk-67IE7N5D.js → chunk-JMONIXMJ.js} +1 -1
- package/chunks/{chunk-DMEKUQ5Z.js → chunk-JSD33JG6.js} +3 -3
- package/chunks/{chunk-CX2KLDRX.js → chunk-JYBU6YUE.js} +1 -1
- package/chunks/{chunk-SJOQ5GW7.js → chunk-KADQPLPX.js} +1 -1
- package/chunks/{chunk-PAJNXBXO.js → chunk-KBNDRM4U.js} +3 -3
- package/chunks/{chunk-TD665TIY.js → chunk-KFPFJAR3.js} +24 -22
- package/chunks/{chunk-ZGVQLKMP.js → chunk-KY3NRFJ5.js} +9 -6
- package/chunks/{chunk-DEKCAHRS.js → chunk-LGAOC3ZS.js} +1 -1
- package/chunks/{chunk-GVHHFBJ2.js → chunk-LHZRAR2Q.js} +37 -40
- package/chunks/{chunk-2WUAKFCQ.js → chunk-LNHZ3A4I.js} +44 -11
- package/chunks/{chunk-2LFSPVBC.js → chunk-LW3RFMG7.js} +3 -3
- package/chunks/{chunk-SEWRIH7H.js → chunk-M7OONWYU.js} +2 -2
- package/chunks/{chunk-CO3BKKFP.js → chunk-ML5M5XOY.js} +269 -248
- package/chunks/{chunk-YF6D7CRB.js → chunk-NG3V2LPY.js} +8 -13
- package/chunks/{chunk-ZAJIOSFI.js → chunk-NNERMV7T.js} +2 -2
- package/chunks/{chunk-N5JEINK3.js → chunk-NOKIVHOL.js} +15 -2
- package/chunks/chunk-OCPBI7J5.js +18 -0
- package/chunks/{chunk-YF7TVSQK.js → chunk-OKF7JF3R.js} +3 -3
- package/chunks/{chunk-5FQ3CINJ.js → chunk-OXWFQXKX.js} +6 -6
- package/chunks/{chunk-EWYICJNY.js → chunk-P2YNZWXZ.js} +3 -3
- package/chunks/{chunk-6LOSXNKO.js → chunk-PONHVBRT.js} +2 -2
- package/chunks/{chunk-FZP2GLM4.js → chunk-QQLCYEN2.js} +1 -1
- package/chunks/{chunk-HEVX5YOM.js → chunk-R3NOCPFB.js} +4 -4
- package/chunks/{chunk-WZOPR2ZP.js → chunk-R7ZITH3J.js} +3 -1
- package/chunks/{chunk-ACPMPDKQ.js → chunk-RPLGZJV2.js} +38 -1
- package/chunks/{chunk-MFBM3CQZ.js → chunk-SGFT55XI.js} +1 -1
- package/chunks/{chunk-QSDUHJAR.js → chunk-SGM6M3XG.js} +1 -1
- package/chunks/{chunk-II55VZQA.js → chunk-SUWVXF2E.js} +3 -3
- package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
- package/chunks/{chunk-UWSREISS.js → chunk-T2QMKU3R.js} +79 -1
- package/chunks/{chunk-7VOUXBKJ.js → chunk-TFRMVU6R.js} +1 -1
- package/chunks/{chunk-RGZ34F4F.js → chunk-TUQ36KWK.js} +10 -5
- package/chunks/{chunk-R2F2DRBY.js → chunk-U3E3UQAA.js} +4 -4
- package/chunks/{chunk-2XORP6RV.js → chunk-UEDIRTKG.js} +1 -1
- package/chunks/{chunk-VOTXHGKJ.js → chunk-UFI5GRDS.js} +3 -3
- package/chunks/{chunk-ATIV6G7N.js → chunk-UHUSJ6X7.js} +1 -1
- package/chunks/{chunk-2WVVMSPB.js → chunk-UPUG4GXM.js} +3 -3
- package/chunks/{chunk-TXI4LPWT.js → chunk-UWMLWVCA.js} +18 -6
- package/chunks/{chunk-G2W6OP2O.js → chunk-V5AWXXVA.js} +3 -3
- package/chunks/{chunk-5CGAUBFZ.js → chunk-VYO6YPYG.js} +3 -3
- package/chunks/{chunk-67ZRSECV.js → chunk-W4MIWP6M.js} +26 -15
- package/chunks/{chunk-OJJVALKY.js → chunk-WBSMNTSV.js} +3 -3
- package/chunks/{chunk-BZU6TRNQ.js → chunk-WUKGHS32.js} +5 -5
- package/chunks/{chunk-WTCKVXNT.js → chunk-WUNZAP5I.js} +4 -4
- package/chunks/{chunk-XM5V2A2E.js → chunk-WZRWHXFE.js} +1 -1
- package/chunks/{chunk-K2P7QBXF.js → chunk-X6XZITHR.js} +3 -3
- package/chunks/{chunk-ZEVUICUF.js → chunk-XBYYDKAZ.js} +7 -7
- package/chunks/{chunk-XL7TLW5I.js → chunk-XBZQT63P.js} +1 -1
- package/chunks/{chunk-DC2Y3JSV.js → chunk-XH7E5IGP.js} +1 -1
- package/chunks/{chunk-B5DJFAHN.js → chunk-XR2NFLNQ.js} +4 -4
- package/chunks/{chunk-FOT6JBY5.js → chunk-XRYM3MCI.js} +348 -126
- package/chunks/{chunk-IJDXG4RL.js → chunk-XWWKIXVD.js} +1 -1
- package/chunks/{chunk-3SJ43L4W.js → chunk-XZC5VLBZ.js} +2 -0
- package/chunks/{chunk-ZWL7SSVL.js → chunk-Y4IHBGBP.js} +1 -1
- package/chunks/{chunk-MB3M2BFP.js → chunk-Y6AXW2OG.js} +9 -3
- package/chunks/{chunk-6ENJ2DGB.js → chunk-Y6RATHM5.js} +2 -2
- package/chunks/{chunk-D33ZN3GK.js → chunk-YAKKV4WO.js} +12 -12
- package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
- package/chunks/{chunk-H6YTFKW7.js → chunk-YGF33UXG.js} +60 -7
- package/chunks/{chunk-BV6LBI45.js → chunk-YPCRRO7K.js} +3 -3
- package/chunks/{chunk-WDMODYUC.js → chunk-ZBVS26BY.js} +4 -0
- package/chunks/{chunk-GBJUC5ZL.js → chunk-ZHBO7WVX.js} +1 -1
- package/chunks/{chunk-4CKLWQQR.js → chunk-ZSQ5LDBH.js} +1 -1
- package/chunks/{computer-use-42W2GDED.js → computer-use-TGJRGZWO.js} +31 -31
- package/chunks/{config-utils-OTUC46XY.js → config-utils-NYSXDMEQ.js} +4 -4
- package/chunks/{contextCommand-2WIK6DG3.js → contextCommand-HGWDMG36.js} +33 -33
- package/chunks/{core-runtime-YFT4JKHA.js → core-runtime-WHE3LSHF.js} +31 -31
- package/chunks/{create-sub-session-HQMFFLL5.js → create-sub-session-OWI4RC7D.js} +31 -31
- package/chunks/{create-sub-session-Q4BUPKIO.js → create-sub-session-SBYUMSSS.js} +2 -2
- package/chunks/{cron-create-NI2G2ACR.js → cron-create-2QK6TCEC.js} +4 -4
- package/chunks/{cron-delete-KHD2WOMV.js → cron-delete-FDCDFYMG.js} +4 -4
- package/chunks/{cron-list-LZMV5V7N.js → cron-list-XN3WVBTP.js} +4 -4
- package/chunks/{daemon-KN3FWTYU.js → daemon-Q2AB5Z23.js} +139 -2
- package/chunks/{daemon-status-provider-DYVQTAZX.js → daemon-status-provider-KY35PVUR.js} +43 -42
- package/chunks/{daemon-trust-policy-QUHMUDOQ.js → daemon-trust-policy-QSQRPXHD.js} +37 -37
- package/chunks/{daemon-trust-policy-monitor-AHIPWCQD.js → daemon-trust-policy-monitor-VJQ54EM3.js} +37 -37
- package/chunks/{de-LVJPZWUT.js → de-SY6O76BF.js} +1 -1
- package/chunks/{deferred-core-runtime-VWKP5HVD.js → deferred-core-runtime-U3DDMMV2.js} +31 -31
- package/chunks/{dist-CWCPAMA2.js → dist-BSTVRPMT.js} +234 -78
- package/chunks/{dist-GWORRKWL.js → dist-DOLYHMXE.js} +2 -2
- package/chunks/{dist-CRNO2KXU.js → dist-HVRQ2CFL.js} +271 -11
- package/chunks/{dist-TPJRJ237.js → dist-IXQEQWRG.js} +1 -1
- package/chunks/{dist-ONF2ZUUX.js → dist-SSU66DM4.js} +1 -1
- package/chunks/{dist-BRVIXBFA.js → dist-SV7Q3AWJ.js} +1 -1
- package/chunks/{dist-2HFXMUT6.js → dist-YGBBMK3Z.js} +1 -1
- package/chunks/{earlyInputCapture-AZAUUSDE.js → earlyInputCapture-H4YOY6R7.js} +32 -32
- package/chunks/{edit-2GM73YUN.js → edit-NZWMOOX6.js} +31 -31
- package/chunks/{en-7JEDYSBE.js → en-NBK3JKCE.js} +4 -1
- package/chunks/{enter-worktree-O6MC2FZM.js → enter-worktree-6FMYNZ4S.js} +31 -31
- package/chunks/{enterPlanMode-NJNHHLAJ.js → enterPlanMode-RYK5P7WC.js} +31 -31
- package/chunks/{environment-L5QWIYKQ.js → environment-RBLY3QVX.js} +33 -33
- package/chunks/{errors-GO7MH572.js → errors-WVUI42QV.js} +33 -33
- package/chunks/{exit-worktree-FR7KKQSW.js → exit-worktree-FRFYEX6R.js} +31 -31
- package/chunks/{exitPlanMode-QKNK5MBZ.js → exitPlanMode-STTGKHP2.js} +31 -31
- package/chunks/{fast-path-7SP4KXIF.js → fast-path-OZD2JFDY.js} +3 -3
- package/chunks/{fast-path-settings-GTWXZLJZ.js → fast-path-settings-WQJU2LAT.js} +2 -2
- package/chunks/{fr-JXF5ONTD.js → fr-4KG5V7UT.js} +1 -1
- package/chunks/{gemini-J5WX6DS3.js → gemini-PUKYW6OF.js} +83 -82
- package/chunks/{geminiContentGenerator-X4FCO2IH.js → geminiContentGenerator-HYMWIERE.js} +6 -6
- package/chunks/{glob-UYGYQ73X.js → glob-IZATNUPS.js} +31 -31
- package/chunks/{grep-HWLK333D.js → grep-DWHBLRXJ.js} +33 -32
- package/chunks/{handleAutoUpdate-H55RTXMU.js → handleAutoUpdate-3VHGEOAV.js} +35 -35
- package/chunks/{i18n-6YL3VGHQ.js → i18n-A56PNKBP.js} +32 -32
- package/chunks/{image-gen-ZN43Y352.js → image-gen-RBLQKXQJ.js} +9 -9
- package/chunks/{initializer-ATU3WGM5.js → initializer-TCD6H7VY.js} +38 -38
- package/chunks/{installationInfo-3D4M363G.js → installationInfo-276EXQW2.js} +32 -32
- package/chunks/{ja-72VBFAM5.js → ja-F3GSQXMF.js} +1 -1
- package/chunks/{keychain-token-storage-U6BBK3IE.js → keychain-token-storage-72IYCAZV.js} +2 -2
- package/chunks/{list-K7TOZQ5T.js → list-NWDHWJ4D.js} +40 -40
- package/chunks/{list-agents-FHIQAX2Y.js → list-agents-R6KDXQR3.js} +2 -2
- package/chunks/{loadedSettingsAdapter-IDASCO2P.js → loadedSettingsAdapter-YXJKWUYF.js} +37 -37
- package/chunks/{loggingContentGenerator-C7ECOBP5.js → loggingContentGenerator-LU6TII3U.js} +18 -18
- package/chunks/{loop-wakeup-PSF72P7O.js → loop-wakeup-3IQKCYAH.js} +5 -5
- package/chunks/{ls-RVQ2JC4C.js → ls-DKZ37A7N.js} +4 -4
- package/chunks/{lsp-UFP2H2RG.js → lsp-QNWN7KN3.js} +2 -2
- package/chunks/{managed-npm-update-MWQIFEJC.js → managed-npm-update-AO3CL6VU.js} +32 -32
- package/chunks/{mcp-YJ4SZXFF.js → mcp-5PMHEFAR.js} +37 -37
- package/chunks/{monitor-MWKW6W4Q.js → monitor-2YELRQ6S.js} +31 -31
- package/chunks/nonInteractiveCli-74R5S76M.js +144 -0
- package/chunks/{notebook-edit-ALAKK5DZ.js → notebook-edit-SV6GDWUG.js} +31 -31
- package/chunks/{openaiContentGenerator-V5GYCLVN.js → openaiContentGenerator-FMBXX26Z.js} +19 -19
- package/chunks/{pidfile-I7IOGSVT.js → pidfile-HZA26WFC.js} +32 -32
- package/chunks/process-registry-2CHQBXH5.js +157 -0
- package/chunks/{processUtils-SRGJPX5P.js → processUtils-4F7EMUKQ.js} +2 -2
- package/chunks/{pt-E4AMXNUG.js → pt-EQ33KWEN.js} +1 -1
- package/chunks/{qwenContentGenerator-INCMQJG3.js → qwenContentGenerator-CXAD5IOE.js} +37 -37
- package/chunks/{qwenOAuth2-MIL7MEKO.js → qwenOAuth2-7V2RGLUU.js} +8 -8
- package/chunks/{read-file-BBQ6BN7G.js → read-file-AQKNOXOV.js} +11 -11
- package/chunks/{read-mcp-resource-M4IJUOXP.js → read-mcp-resource-GFTWYXMK.js} +2 -2
- package/chunks/{record-artifact-4NWBVHNM.js → record-artifact-XAMSFSW4.js} +2 -2
- package/chunks/{resumeHistoryUtils-X74IGERO.js → resumeHistoryUtils-NSHGEJZY.js} +37 -37
- package/chunks/{ripGrep-GCSZGI22.js → ripGrep-KVWIREMR.js} +31 -31
- package/chunks/{ru-OJOR34RM.js → ru-7OZAUKGG.js} +1 -1
- package/chunks/{run-qwen-serve-RAPQ4UBN.js → run-qwen-serve-LBBMQRWJ.js} +94 -58
- package/chunks/{runtime-F4YK7A5M.js → runtime-XR3VFARS.js} +42 -42
- package/chunks/{scheduler-JFOAST7W.js → scheduler-OLI5YERT.js} +31 -31
- package/chunks/{sdk-exporters-http-H6MWAYGV.js → sdk-exporters-http-WO556XNU.js} +2 -2
- package/chunks/{sdk-impl-U4BU6LE5.js → sdk-impl-LPAVACSF.js} +2 -2
- package/chunks/{send-message-GAB3K4KN.js → send-message-SAWK4DZX.js} +4 -4
- package/chunks/{serve-WAK4FQIT.js → serve-2WM3HPSN.js} +37 -37
- package/chunks/{server-GJFU7OZ6.js → server-T4C6UGPM.js} +895 -127
- package/chunks/{session-WFWS7D6U.js → session-IAPGXMG3.js} +78 -77
- package/chunks/{settings-NI7K6BOS.js → settings-LIYC7NVY.js} +39 -39
- package/chunks/{shell-PI52ZRBM.js → shell-M455ZXG6.js} +31 -31
- package/chunks/{skill-EGJY4VDT.js → skill-ZHDF6IVV.js} +15 -15
- package/chunks/{skill-settings-27BQIOWC.js → skill-settings-MEFO33AC.js} +36 -36
- package/chunks/{spawnChannel-LU6YO2IZ.js → spawnChannel-NAISQSBK.js} +33 -33
- package/chunks/{standalone-update-TG2BLT73.js → standalone-update-K4RNR537.js} +33 -33
- package/chunks/{startInteractiveUI-4NTL2RZ6.js → startInteractiveUI-HJUQMCBD.js} +426 -216
- package/chunks/{syntheticOutput-YCOHYBPM.js → syntheticOutput-355CB6CJ.js} +3 -3
- package/chunks/{task-create-YRN3PDAT.js → task-create-INGWNUG4.js} +8 -8
- package/chunks/{task-list-FYGHXFOT.js → task-list-5XNNGTF4.js} +5 -5
- package/chunks/{task-stop-I7CNWL7J.js → task-stop-4ROAOBXH.js} +2 -2
- package/chunks/{task-update-5QOY2AIK.js → task-update-CRK5VWWZ.js} +8 -8
- package/chunks/{team-create-5H4T3ENJ.js → team-create-YWCUC55A.js} +31 -31
- package/chunks/{team-delete-OAA4YOAC.js → team-delete-S2RCXA4P.js} +5 -5
- package/chunks/{team-plan-approval-44SCBFBB.js → team-plan-approval-ZJGZRKV5.js} +31 -31
- package/chunks/{theme-manager-HYFW3GL7.js → theme-manager-5LUFI5NY.js} +32 -32
- package/chunks/{todoWrite-YFIBFZO3.js → todoWrite-7WM3VDMY.js} +4 -4
- package/chunks/{tool-search-YAIIWTSJ.js → tool-search-LZMDLBAK.js} +13 -13
- package/chunks/{total-session-admission-FPF66OF6.js → total-session-admission-MDA3ANYQ.js} +39 -38
- package/chunks/{trustedFolders-4RSRSIO3.js → trustedFolders-NZEZRJPU.js} +32 -32
- package/chunks/{update-relaunch-4NKVI2H5.js → update-relaunch-D7EKBO4E.js} +5 -5
- package/chunks/{updateCheck-E2336RGI.js → updateCheck-AKFMZZCG.js} +34 -34
- package/chunks/{useAutoAcceptIndicator-YXC4OJ2B.js → useAutoAcceptIndicator-55OEL7UZ.js} +40 -40
- package/chunks/{validateNonInterActiveAuth-G5PREALO.js → validateNonInterActiveAuth-K5WQOFUQ.js} +72 -71
- package/chunks/{version-IBROP4MJ.js → version-ANSPR52A.js} +1 -1
- package/chunks/{web-fetch-G2GFNE3L.js → web-fetch-WFKX5SJM.js} +14 -14
- package/chunks/{web-search-4ISTNKIX.js → web-search-XDPHXEUC.js} +9 -9
- package/chunks/{workflow-OQY4Y74P.js → workflow-6YYVMHCS.js} +32 -32
- package/chunks/{workspace-providers-status-SRB65GMC.js → workspace-providers-status-5L4FEPYR.js} +40 -40
- package/chunks/{workspace-registration-store-XOUNCX5G.js → workspace-registration-store-C2HIDNXV.js} +1 -1
- package/chunks/{workspace-registry-XMDDRCP3.js → workspace-registry-7B7T5SC3.js} +39 -38
- package/chunks/{workspace-service-XUAHBWUX.js → workspace-service-VGGIWADS.js} +46 -45
- package/chunks/{workspace-skills-status-GGH6TYSU.js → workspace-skills-status-MZZLEGL5.js} +38 -38
- package/chunks/{workspace-trust-reconciler-AKKLKLJQ.js → workspace-trust-reconciler-3PA5PLHX.js} +45 -44
- package/chunks/{write-file-7MSTD3VC.js → write-file-5GNKRL2B.js} +31 -31
- package/chunks/{zh-2MA5UKNJ.js → zh-H3YDK5QW.js} +4 -1
- package/chunks/{zh-TW-JO4Z7CVC.js → zh-TW-JYCP7XUA.js} +4 -1
- package/chunks/zoom-image-JIRPKLNA.js +351 -0
- package/cli.js +13 -13
- package/locales/ca.js +2 -2
- package/locales/de.js +2 -2
- package/locales/en.js +5 -2
- package/locales/fr.js +2 -2
- package/locales/ja.js +2 -2
- package/locales/pt.js +2 -2
- package/locales/ru.js +2 -2
- package/locales/zh-TW.js +5 -2
- package/locales/zh.js +5 -2
- package/package.json +5 -4
- package/web-shell/assets/{arc-DYNfZ967.js → arc-75-Wdeo3.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-CkKsIF39.js → architectureDiagram-3BPJPVTR-FKeXQbyP.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-FfDv_qOy.js → blockDiagram-GPEHLZMM-CY0vc-A3.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-pA5r7guO.js → c4Diagram-AAUBKEIU-CNP-A-8u.js} +1 -1
- package/web-shell/assets/channel-DPYMT76A.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-Bfnf2k-q.js → chunk-2J33WTMH-GybS4Gii.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BCpgiyb4.js → chunk-4BX2VUAB-02H91V8v.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BrwrazA2.js → chunk-55IACEB6-D3M-2VT6.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DDCxd_BK.js → chunk-727SXJPM-CCu29u4H.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-Ce-B1Qi5.js → chunk-AQP2D5EJ-CaFKWgrn.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-Dl2u6_p7.js → chunk-FMBD7UC4-ZZpPqIwQ.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-32W_JFKh.js → chunk-ND2GUHAM-D22DqGs8.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BmtCt0RT.js → chunk-QZHKN3VN-Bu85S0fw.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK--JstsIgL.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2--JstsIgL.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-D_DXerbn.js → cose-bilkent-S5V4N54A-f1CK1Gwe.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C3fMtjq2.js → dagre-BM42HDAG-D0Ow8F_n.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-CBiuEoIi.js → diagram-2AECGRRQ-BPrmTWp8.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-J8DRS3up.js → diagram-5GNKFQAL-HccuFAzy.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-DEVjvvjZ.js → diagram-KO2AKTUF-BrS76mbA.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Bh9hEXeR.js → diagram-LMA3HP47-V7T9lU-5.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-CgV4R96R.js → diagram-OG6HWLK6-DKidyJMR.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-BGCFyfGU.js → erDiagram-TEJ5UH35-DBadZIkp.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BCaQuiMb.js → flowDiagram-I6XJVG4X-BymfqdNJ.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-B9J27vXf.js → ganttDiagram-6RSMTGT7-DOw340jf.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-C2u3FvFn.js → gitGraphDiagram-PVQCEYII-_8EiD8sl.js} +1 -1
- package/web-shell/assets/{index-BF2Ug_o6.js → index-CKIadvET.js} +1 -1
- package/web-shell/assets/index-D1eXNRHe.js +1389 -0
- package/web-shell/assets/index-DVLD4CQq.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-VGjh3Icm.js → infoDiagram-5YYISTIA-D61KYQBu.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-8AZWigme.js → ishikawaDiagram-YF4QCWOH-CsiXSpNx.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CnAVNJU5.js → journeyDiagram-JHISSGLW-Sdfionyh.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-DAh7CFUA.js → kanban-definition-UN3LZRKU-C3WI3Cnl.js} +1 -1
- package/web-shell/assets/{linear-BMHEIvy4.js → linear-Dpigcc62.js} +1 -1
- package/web-shell/assets/{mermaid.core-CpHDMzGU.js → mermaid.core-Ct97pqgW.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-Cf3CMPHf.js → mindmap-definition-RKZ34NQL-BzeaN0rB.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-BpRfWcVA.js → pieDiagram-4H26LBE5-CvjgcbVD.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-kqzUnUwh.js → quadrantDiagram-W4KKPZXB-BUzgTNdH.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-D2FenOqg.js → requirementDiagram-4Y6WPE33-B7zKlgUQ.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-dWDMUdUe.js → sankeyDiagram-5OEKKPKP-Bb9CQgrT.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CYcL0MEP.js → sequenceDiagram-3UESZ5HK-DJ6V7itG.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DkpIKZM6.js → stateDiagram-AJRCARHV-IImflERY.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CYI_YoNR.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B50fgyFY.js → timeline-definition-PNZ67QCA-6Q_uWHKh.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DMlYXh0E.js → vennDiagram-CIIHVFJN-TmyKyjwv.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-B2iJy8jY.js → wardley-L42UT6IY-CRh9uiPv.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-B-PG81LW.js → wardleyDiagram-YWT4CUSO-59TKAW8w.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-D1N8kSF9.js → xychartDiagram-2RQKCTM6-GCSUIK2L.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/nonInteractiveCli-74XMYNLX.js +0 -143
- package/web-shell/assets/channel-C-gQ4Nim.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DKEurkx0.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DKEurkx0.js +0 -1
- package/web-shell/assets/index-Du08qEb3.js +0 -1249
- package/web-shell/assets/index-tq1xUECo.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-QSG1JRm2.js +0 -1
- package/chunks/{chunk-IAU6HCJZ.js → chunk-D3UEZIQH.js} +6 -6
- /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
|
@@ -3,16 +3,20 @@
|
|
|
3
3
|
import {
|
|
4
4
|
ChannelWorkerReconcileError,
|
|
5
5
|
createChannelWorkerGroup
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-T2QMKU3R.js";
|
|
7
|
+
import "./chunk-XZC5VLBZ.js";
|
|
8
|
+
import "./chunk-B4AJNNOL.js";
|
|
9
|
+
import "./chunk-2RFKHEXL.js";
|
|
10
|
+
import "./chunk-GNR2RNMP.js";
|
|
11
|
+
import "./chunk-FYJ7W2PI.js";
|
|
8
12
|
import "./chunk-U4VTUMMK.js";
|
|
9
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-GZ3RCT54.js";
|
|
10
14
|
import "./chunk-ALMR3E6Q.js";
|
|
11
15
|
import "./chunk-BK2UNYWD.js";
|
|
12
16
|
import "./chunk-M5GB774H.js";
|
|
13
|
-
import "./chunk-BJHP755Z.js";
|
|
14
|
-
import "./chunk-UDXSXLER.js";
|
|
15
17
|
import "./chunk-5HBA2Z7V.js";
|
|
18
|
+
import "./chunk-7I5GTCT4.js";
|
|
19
|
+
import "./chunk-UDXSXLER.js";
|
|
16
20
|
import "./chunk-TWPJO254.js";
|
|
17
21
|
import "./chunk-H6XPXXMH.js";
|
|
18
22
|
import "./chunk-5O2XNYP6.js";
|
|
@@ -2,22 +2,26 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
ChannelWorkerReconcileError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-T2QMKU3R.js";
|
|
6
|
+
import "./chunk-XZC5VLBZ.js";
|
|
7
|
+
import "./chunk-B4AJNNOL.js";
|
|
8
|
+
import "./chunk-2RFKHEXL.js";
|
|
6
9
|
import {
|
|
7
10
|
ChannelWorkerStartupError,
|
|
8
11
|
ChannelWorkerStopError
|
|
9
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-GNR2RNMP.js";
|
|
13
|
+
import "./chunk-FYJ7W2PI.js";
|
|
10
14
|
import {
|
|
11
15
|
ChannelDeliveryError,
|
|
12
16
|
ChannelWebhookEnqueueError
|
|
13
17
|
} from "./chunk-U4VTUMMK.js";
|
|
14
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-GZ3RCT54.js";
|
|
15
19
|
import "./chunk-ALMR3E6Q.js";
|
|
16
20
|
import "./chunk-BK2UNYWD.js";
|
|
17
21
|
import "./chunk-M5GB774H.js";
|
|
18
|
-
import "./chunk-BJHP755Z.js";
|
|
19
|
-
import "./chunk-UDXSXLER.js";
|
|
20
22
|
import "./chunk-5HBA2Z7V.js";
|
|
23
|
+
import "./chunk-7I5GTCT4.js";
|
|
24
|
+
import "./chunk-UDXSXLER.js";
|
|
21
25
|
import "./chunk-TWPJO254.js";
|
|
22
26
|
import "./chunk-H6XPXXMH.js";
|
|
23
27
|
import {
|
package/chunks/{channel-worker-supervisor-F3HADSDC.js → channel-worker-supervisor-74HTWA2G.js}
RENAMED
|
@@ -4,15 +4,16 @@ import {
|
|
|
4
4
|
ChannelWorkerStartupError,
|
|
5
5
|
ChannelWorkerStopError,
|
|
6
6
|
createChannelWorkerSupervisor
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-GNR2RNMP.js";
|
|
8
|
+
import "./chunk-FYJ7W2PI.js";
|
|
8
9
|
import "./chunk-U4VTUMMK.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-GZ3RCT54.js";
|
|
10
11
|
import "./chunk-ALMR3E6Q.js";
|
|
11
12
|
import "./chunk-BK2UNYWD.js";
|
|
12
13
|
import "./chunk-M5GB774H.js";
|
|
13
|
-
import "./chunk-BJHP755Z.js";
|
|
14
|
-
import "./chunk-UDXSXLER.js";
|
|
15
14
|
import "./chunk-5HBA2Z7V.js";
|
|
15
|
+
import "./chunk-7I5GTCT4.js";
|
|
16
|
+
import "./chunk-UDXSXLER.js";
|
|
16
17
|
import "./chunk-TWPJO254.js";
|
|
17
18
|
import "./chunk-H6XPXXMH.js";
|
|
18
19
|
import "./chunk-5O2XNYP6.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
createDebugLogger,
|
|
5
5
|
isNodeError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
7
7
|
import {
|
|
8
8
|
init_esbuild_shims
|
|
9
9
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -818,7 +818,7 @@ var QwenIgnoreParser = class {
|
|
|
818
818
|
}
|
|
819
819
|
continue;
|
|
820
820
|
}
|
|
821
|
-
const patterns = (content ?? "").split("\n").map((p) => p.
|
|
821
|
+
const patterns = (content ?? "").split("\n").map((p) => p.endsWith("\r") ? p.slice(0, -1) : p).filter((p) => p.trim() !== "" && !p.startsWith("#"));
|
|
822
822
|
if (patterns.length > 0) {
|
|
823
823
|
const sourceIgnorer = (0, import_ignore.default)();
|
|
824
824
|
sourceIgnorer.add(patterns);
|
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
} from "./chunk-NAVJD2PQ.js";
|
|
6
6
|
import {
|
|
7
7
|
formatFetchErrorForUser
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LW3RFMG7.js";
|
|
9
9
|
import {
|
|
10
10
|
combineAbortSignals
|
|
11
11
|
} from "./chunk-DJ2GSRLV.js";
|
|
12
12
|
import {
|
|
13
13
|
atomicWriteFile
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-7XATOOE7.js";
|
|
15
15
|
import {
|
|
16
16
|
Storage,
|
|
17
17
|
createDebugLogger
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
} from "./chunk-CPBF7KYF.js";
|
|
11
11
|
import {
|
|
12
12
|
atomicWriteJSON
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-7XATOOE7.js";
|
|
14
14
|
import {
|
|
15
15
|
Storage,
|
|
16
16
|
isNodeError
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esbuild_shims
|
|
20
20
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
resolveChannelCwd
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TFRMVU6R.js";
|
|
6
6
|
import {
|
|
7
7
|
getPlugin,
|
|
8
8
|
supportedTypes
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XBYYDKAZ.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esbuild_shims
|
|
12
12
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
MissingCliEntryError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-R7ZITH3J.js";
|
|
6
6
|
import {
|
|
7
7
|
redactLogCredentials
|
|
8
8
|
} from "./chunk-M5GB774H.js";
|
|
@@ -125,6 +125,144 @@ function callHook(hook, value) {
|
|
|
125
125
|
}
|
|
126
126
|
__name(callHook, "callHook");
|
|
127
127
|
|
|
128
|
+
// packages/acp-bridge/src/process-registry.ts
|
|
129
|
+
init_esbuild_shims();
|
|
130
|
+
var TERM_GRACE_MS = 5e3;
|
|
131
|
+
var EXIT_DEADLINE_MS = 1e4;
|
|
132
|
+
var ProcessRegistry = class {
|
|
133
|
+
static {
|
|
134
|
+
__name(this, "ProcessRegistry");
|
|
135
|
+
}
|
|
136
|
+
reservations = /* @__PURE__ */ new Set();
|
|
137
|
+
children = /* @__PURE__ */ new Set();
|
|
138
|
+
draining = false;
|
|
139
|
+
shutdownPromise;
|
|
140
|
+
reserve() {
|
|
141
|
+
if (this.draining) {
|
|
142
|
+
throw new Error("ACP process registry is draining");
|
|
143
|
+
}
|
|
144
|
+
const token = Symbol("acp-child");
|
|
145
|
+
this.reservations.add(token);
|
|
146
|
+
let settled = false;
|
|
147
|
+
return {
|
|
148
|
+
attach: /* @__PURE__ */ __name((child) => {
|
|
149
|
+
if (settled || !this.reservations.delete(token)) {
|
|
150
|
+
throw new Error("ACP process reservation is no longer active");
|
|
151
|
+
}
|
|
152
|
+
settled = true;
|
|
153
|
+
const tracked = new TrackedChild(child, () => {
|
|
154
|
+
this.children.delete(tracked);
|
|
155
|
+
});
|
|
156
|
+
this.children.add(tracked);
|
|
157
|
+
if (this.draining) void tracked.terminate().catch(() => {
|
|
158
|
+
});
|
|
159
|
+
return tracked;
|
|
160
|
+
}, "attach"),
|
|
161
|
+
cancel: /* @__PURE__ */ __name(() => {
|
|
162
|
+
if (settled) return;
|
|
163
|
+
settled = true;
|
|
164
|
+
this.reservations.delete(token);
|
|
165
|
+
}, "cancel")
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
shutdown() {
|
|
169
|
+
if (this.shutdownPromise) return this.shutdownPromise;
|
|
170
|
+
this.draining = true;
|
|
171
|
+
this.shutdownPromise = Promise.allSettled(
|
|
172
|
+
[...this.children].map((child) => child.terminate())
|
|
173
|
+
).then((results) => {
|
|
174
|
+
const failures = results.flatMap(
|
|
175
|
+
(result) => result.status === "rejected" ? [result.reason] : []
|
|
176
|
+
);
|
|
177
|
+
if (failures.length > 0) {
|
|
178
|
+
throw new AggregateError(failures, "ACP child process shutdown failed");
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
return this.shutdownPromise;
|
|
182
|
+
}
|
|
183
|
+
killAllSync() {
|
|
184
|
+
this.draining = true;
|
|
185
|
+
for (const child of this.children) child.killSync();
|
|
186
|
+
}
|
|
187
|
+
get activeProcessCount() {
|
|
188
|
+
return this.children.size;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
var TrackedChild = class {
|
|
192
|
+
constructor(child, onExit) {
|
|
193
|
+
this.child = child;
|
|
194
|
+
this.onExit = onExit;
|
|
195
|
+
this.exited = new Promise((resolve) => {
|
|
196
|
+
const finish = /* @__PURE__ */ __name((info) => {
|
|
197
|
+
if (this.exitedSettled) return;
|
|
198
|
+
this.exitedSettled = true;
|
|
199
|
+
this.onExit();
|
|
200
|
+
resolve(info);
|
|
201
|
+
}, "finish");
|
|
202
|
+
child.once("exit", (exitCode, signalCode) => {
|
|
203
|
+
finish({ exitCode, signalCode });
|
|
204
|
+
});
|
|
205
|
+
child.once("spawn", () => {
|
|
206
|
+
this.spawnConfirmed = true;
|
|
207
|
+
});
|
|
208
|
+
child.once("error", () => {
|
|
209
|
+
if (!this.spawnConfirmed) finish(void 0);
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
static {
|
|
214
|
+
__name(this, "TrackedChild");
|
|
215
|
+
}
|
|
216
|
+
exited;
|
|
217
|
+
exitedSettled = false;
|
|
218
|
+
spawnConfirmed = false;
|
|
219
|
+
terminatePromise;
|
|
220
|
+
terminate() {
|
|
221
|
+
this.terminatePromise ??= this.terminateOnce();
|
|
222
|
+
return this.terminatePromise;
|
|
223
|
+
}
|
|
224
|
+
killSync() {
|
|
225
|
+
if (this.exitedSettled) return;
|
|
226
|
+
try {
|
|
227
|
+
this.child.kill("SIGKILL");
|
|
228
|
+
} catch {
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
async terminateOnce() {
|
|
232
|
+
if (this.exitedSettled) return;
|
|
233
|
+
try {
|
|
234
|
+
this.child.kill("SIGTERM");
|
|
235
|
+
} catch {
|
|
236
|
+
if (this.exitedSettled) return;
|
|
237
|
+
}
|
|
238
|
+
let hardKillTimer;
|
|
239
|
+
let deadlineTimer;
|
|
240
|
+
const deadline = new Promise((_, reject) => {
|
|
241
|
+
hardKillTimer = setTimeout(() => this.killSync(), TERM_GRACE_MS);
|
|
242
|
+
hardKillTimer.unref();
|
|
243
|
+
deadlineTimer = setTimeout(() => {
|
|
244
|
+
reject(
|
|
245
|
+
new Error(
|
|
246
|
+
`ACP child pid=${this.child.pid ?? "unknown"} did not exit within ${EXIT_DEADLINE_MS}ms`
|
|
247
|
+
)
|
|
248
|
+
);
|
|
249
|
+
}, EXIT_DEADLINE_MS);
|
|
250
|
+
deadlineTimer.unref();
|
|
251
|
+
});
|
|
252
|
+
try {
|
|
253
|
+
const exitInfo = await Promise.race([this.exited, deadline]);
|
|
254
|
+
if (exitInfo && (exitInfo.exitCode !== 0 || exitInfo.signalCode !== null)) {
|
|
255
|
+
throw new Error(
|
|
256
|
+
`ACP child pid=${this.child.pid ?? "unknown"} exited uncleanly during shutdown (code=${exitInfo.exitCode ?? "none"}, signal=${exitInfo.signalCode ?? "none"})`
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
} finally {
|
|
260
|
+
if (hardKillTimer) clearTimeout(hardKillTimer);
|
|
261
|
+
if (deadlineTimer) clearTimeout(deadlineTimer);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
|
|
128
266
|
// packages/acp-bridge/src/spawnChannel.ts
|
|
129
267
|
var cachedMemoryArgs;
|
|
130
268
|
function getAcpMemoryArgs() {
|
|
@@ -178,6 +316,7 @@ function createStderrForwarder(opts) {
|
|
|
178
316
|
}
|
|
179
317
|
__name(createStderrForwarder, "createStderrForwarder");
|
|
180
318
|
function createSpawnChannelFactory(options = {}) {
|
|
319
|
+
const processRegistry = options.processRegistry ?? new ProcessRegistry();
|
|
181
320
|
return async (workspaceCwd, childEnvOverrides) => {
|
|
182
321
|
const sourceEnv = options.sourceEnv ?? process.env;
|
|
183
322
|
const cliEntry = sourceEnv["QWEN_CLI_ENTRY"] || process.argv[1];
|
|
@@ -194,21 +333,29 @@ function createSpawnChannelFactory(options = {}) {
|
|
|
194
333
|
const execArgs = process.execArgv.filter(
|
|
195
334
|
(a) => !/^--inspect(-brk)?($|=)/.test(a)
|
|
196
335
|
);
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
336
|
+
const reservation = processRegistry.reserve();
|
|
337
|
+
let child;
|
|
338
|
+
try {
|
|
339
|
+
child = spawn(
|
|
340
|
+
process.execPath,
|
|
341
|
+
[
|
|
342
|
+
...execArgs,
|
|
343
|
+
...memoryArgs,
|
|
344
|
+
cliEntry,
|
|
345
|
+
"--acp",
|
|
346
|
+
...options.extraArgs ?? []
|
|
347
|
+
],
|
|
348
|
+
{
|
|
349
|
+
cwd: workspaceCwd,
|
|
350
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
351
|
+
env: childEnv
|
|
352
|
+
}
|
|
353
|
+
);
|
|
354
|
+
} catch (error) {
|
|
355
|
+
reservation.cancel();
|
|
356
|
+
throw error;
|
|
357
|
+
}
|
|
358
|
+
const trackedChild = reservation.attach(child);
|
|
212
359
|
if (child.stderr) {
|
|
213
360
|
const prefix = `[serve pid=${child.pid} cwd=${workspaceCwd}] `;
|
|
214
361
|
const forwarder = createStderrForwarder({
|
|
@@ -221,21 +368,8 @@ function createSpawnChannelFactory(options = {}) {
|
|
|
221
368
|
child.stderr.on("error", () => {
|
|
222
369
|
});
|
|
223
370
|
}
|
|
224
|
-
const exited = new Promise((resolve) => {
|
|
225
|
-
let resolved = false;
|
|
226
|
-
const finish = /* @__PURE__ */ __name((info) => {
|
|
227
|
-
if (resolved) return;
|
|
228
|
-
resolved = true;
|
|
229
|
-
resolve(info);
|
|
230
|
-
}, "finish");
|
|
231
|
-
child.once(
|
|
232
|
-
"exit",
|
|
233
|
-
(code, signal) => finish({ exitCode: code, signalCode: signal })
|
|
234
|
-
);
|
|
235
|
-
child.once("error", () => finish(void 0));
|
|
236
|
-
});
|
|
237
371
|
if (!child.stdin || !child.stdout) {
|
|
238
|
-
|
|
372
|
+
trackedChild.killSync();
|
|
239
373
|
throw new Error(
|
|
240
374
|
"Spawned ACP child has no stdin/stdout \u2014 cannot establish NDJSON channel."
|
|
241
375
|
);
|
|
@@ -245,22 +379,14 @@ function createSpawnChannelFactory(options = {}) {
|
|
|
245
379
|
const stream = ndJsonStream(writable, readable, options.pipeHooks);
|
|
246
380
|
return {
|
|
247
381
|
stream,
|
|
248
|
-
kill: /* @__PURE__ */ __name(() =>
|
|
249
|
-
killSync: /* @__PURE__ */ __name(() =>
|
|
250
|
-
|
|
251
|
-
try {
|
|
252
|
-
child.kill("SIGKILL");
|
|
253
|
-
} catch {
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
}, "killSync"),
|
|
257
|
-
exited
|
|
382
|
+
kill: /* @__PURE__ */ __name(() => trackedChild.terminate(), "kill"),
|
|
383
|
+
killSync: /* @__PURE__ */ __name(() => trackedChild.killSync(), "killSync"),
|
|
384
|
+
exited: trackedChild.exited
|
|
258
385
|
};
|
|
259
386
|
};
|
|
260
387
|
}
|
|
261
388
|
__name(createSpawnChannelFactory, "createSpawnChannelFactory");
|
|
262
389
|
var defaultSpawnChannelFactory = createSpawnChannelFactory();
|
|
263
|
-
var KILL_HARD_DEADLINE_MS = 1e4;
|
|
264
390
|
var SCRUBBED_CHILD_ENV_KEYS = /* @__PURE__ */ new Set([
|
|
265
391
|
"QWEN_SERVER_TOKEN",
|
|
266
392
|
"QWEN_CODE_SIMPLE"
|
|
@@ -283,46 +409,6 @@ function scrubChildEnv(source, scrubbed, overrides) {
|
|
|
283
409
|
return childEnv;
|
|
284
410
|
}
|
|
285
411
|
__name(scrubChildEnv, "scrubChildEnv");
|
|
286
|
-
function killChild(child) {
|
|
287
|
-
return new Promise((resolve) => {
|
|
288
|
-
if (child.exitCode !== null || child.signalCode !== null) {
|
|
289
|
-
resolve();
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
let resolved = false;
|
|
293
|
-
const finish = /* @__PURE__ */ __name(() => {
|
|
294
|
-
if (resolved) return;
|
|
295
|
-
resolved = true;
|
|
296
|
-
child.removeListener("exit", finish);
|
|
297
|
-
resolve();
|
|
298
|
-
}, "finish");
|
|
299
|
-
child.once("exit", finish);
|
|
300
|
-
try {
|
|
301
|
-
child.kill("SIGTERM");
|
|
302
|
-
} catch {
|
|
303
|
-
finish();
|
|
304
|
-
return;
|
|
305
|
-
}
|
|
306
|
-
setTimeout(() => {
|
|
307
|
-
if (!resolved && child.exitCode === null && child.signalCode === null) {
|
|
308
|
-
try {
|
|
309
|
-
child.kill("SIGKILL");
|
|
310
|
-
} catch {
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
}, 5e3).unref();
|
|
314
|
-
setTimeout(() => {
|
|
315
|
-
if (!resolved) {
|
|
316
|
-
process.stderr.write(
|
|
317
|
-
`qwen serve: killChild hard deadline (${KILL_HARD_DEADLINE_MS}ms) reached; child pid=${child.pid} still alive (uninterruptible sleep?) \u2014 abandoning. Operator should check for zombie qwen --acp processes holding workspace resources.
|
|
318
|
-
`
|
|
319
|
-
);
|
|
320
|
-
finish();
|
|
321
|
-
}
|
|
322
|
-
}, KILL_HARD_DEADLINE_MS).unref();
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
__name(killChild, "killChild");
|
|
326
412
|
|
|
327
413
|
export {
|
|
328
414
|
ndJsonStream,
|