@qwen-code/qwen-code 0.21.1-simplify-system-prompt.0 → 0.21.1
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/model-providers.md +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +38 -28
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/github.md +107 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +61 -6
- package/bundled/qc-helper/docs/features/code-review.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +52 -15
- package/bundled/qc-helper/docs/features/mcp.md +9 -1
- package/bundled/qc-helper/docs/features/scheduled-tasks.md +3 -1
- package/bundled/qc-helper/docs/features/sub-agents.md +20 -0
- package/bundled/qc-helper/docs/qwen-serve.md +4 -2
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
- package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
- package/bundled/review/DESIGN.md +19 -0
- package/bundled/review/SKILL.md +120 -61
- package/chunks/MaxSizedBox-VI3ROJJA.js +84 -0
- package/chunks/{StandaloneSessionPicker-O6RKBPU4.js → StandaloneSessionPicker-LYXKD2EV.js} +66 -68
- package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-DFVPFQ6C.js} +2 -2
- package/chunks/{acpAgent-HYFVXVDR.js → acpAgent-WN5SRDQO.js} +1317 -542
- package/chunks/agent-K6ECSM64.js +80 -0
- package/chunks/agent-headless-NO4Y2HOE.js +74 -0
- package/chunks/{anthropicContentGenerator-LXUXMOE7.js → anthropicContentGenerator-V2QOGVYD.js} +61 -20
- package/chunks/{artifact-tool-Y5T7GG7F.js → artifact-tool-6K6U7XYJ.js} +4 -4
- package/chunks/{askUserQuestion-2H6747FR.js → askUserQuestion-GD2IJJ7I.js} +4 -4
- package/chunks/bridge-3KJEWDNE.js +90 -0
- package/chunks/{build-RV63TIRH.js → build-S6DO7LMM.js} +1 -1
- package/chunks/{ca-25EDXPFZ.js → ca-6W3SK7OQ.js} +6 -1
- package/chunks/{channel-management-service-G74LFADV.js → channel-management-service-XR7GZSWF.js} +4 -4
- package/chunks/channel-settings-store-HW4FXXUA.js +87 -0
- package/chunks/{channel-worker-group-PTJIJSKC.js → channel-worker-group-XDPTDWTX.js} +9 -5
- package/chunks/{channel-worker-manager-WIMGM2FD.js → channel-worker-manager-YYEHVRRE.js} +9 -5
- package/chunks/{channel-worker-supervisor-KUFTR6P5.js → channel-worker-supervisor-74HTWA2G.js} +5 -4
- package/chunks/{chunk-M5JM7OSF.js → chunk-2DN4J57Y.js} +2 -3
- package/chunks/{chunk-WDSWXQU3.js → chunk-2FAK6PNM.js} +2 -2
- package/chunks/{chunk-BPJSQIJX.js → chunk-2J3OJGTL.js} +0 -2
- package/chunks/{chunk-EPDRMGT4.js → chunk-2LKVPASC.js} +4 -28
- package/chunks/{chunk-PWTZEM3C.js → chunk-2LQTH543.js} +3 -37
- package/chunks/{chunk-PANH4R3B.js → chunk-2N7CODY5.js} +18 -12
- package/chunks/{chunk-ER5LWJR6.js → chunk-2XSLTRFZ.js} +3 -3
- package/chunks/{chunk-6PSLCFQ2.js → chunk-3EFXSQCM.js} +18 -9
- package/chunks/{chunk-HIJQF5B5.js → chunk-3L2SPEBH.js} +1 -1
- package/chunks/{chunk-BIQWWWJN.js → chunk-4G2BISNC.js} +1 -1
- package/chunks/{chunk-B4UMZKMU.js → chunk-52ZSWYEG.js} +1 -1
- package/chunks/{chunk-YAF5VNU7.js → chunk-5KTQXHPY.js} +4 -5
- package/chunks/{chunk-2YZJCM5T.js → chunk-5MKRTI4T.js} +4 -4
- package/chunks/{chunk-DHHOYAPR.js → chunk-5TBMQLGG.js} +7 -7
- package/chunks/{chunk-A4UCTEB5.js → chunk-5WV5S2GT.js} +0 -1
- package/chunks/{chunk-FY3M44RD.js → chunk-5YKDXHUY.js} +3 -3
- package/chunks/{chunk-TF2X2WCT.js → chunk-5ZF5XXTS.js} +2 -2
- package/chunks/{chunk-K4XWPEWB.js → chunk-64LQLPL7.js} +4 -33
- package/chunks/{chunk-B7QDM6Z7.js → chunk-657BH7VM.js} +2 -2
- package/chunks/{chunk-5THCYPLO.js → chunk-65PQENQP.js} +14 -7
- package/chunks/{chunk-J6D3VXCC.js → chunk-6PE7N3A4.js} +17 -6
- package/chunks/{chunk-JZA3JUDJ.js → chunk-6QIGFD5W.js} +1 -1
- package/chunks/{chunk-Z5BLYMZM.js → chunk-6RPMI2AB.js} +6 -6
- package/chunks/{chunk-OHNBB4XR.js → chunk-75GFAX4R.js} +1 -1
- package/chunks/{chunk-BO4XCS7P.js → chunk-75MIQ3LV.js} +20 -85
- package/chunks/{chunk-52O2CIUL.js → chunk-7AEJDLRA.js} +130 -5
- package/chunks/{chunk-BYFNTGKI.js → chunk-7BAU433D.js} +2287 -941
- package/chunks/{chunk-ZE5WPL4I.js → chunk-7DXQIJID.js} +3 -3
- package/chunks/{chunk-ML52PL6O.js → chunk-7I5GTCT4.js} +483 -248
- package/chunks/{chunk-A5L3JMUA.js → chunk-7XATOOE7.js} +18 -4
- package/chunks/{chunk-C3NS4F2Q.js → chunk-A2D5BAVP.js} +1 -1
- package/chunks/{chunk-5I2IWRSH.js → chunk-A3NDJ5SB.js} +2 -2
- package/chunks/{chunk-2JM6GZ5D.js → chunk-A4COXFB3.js} +8 -13
- package/chunks/{chunk-CC4N4M36.js → chunk-AQIDMUGU.js} +1 -1
- package/chunks/{chunk-PJIZUQVC.js → chunk-AZQ3DT76.js} +2 -2
- package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
- package/chunks/{chunk-BJX6ZSUK.js → chunk-BCZFQXWK.js} +2 -2
- package/chunks/{chunk-SRZ6DXVG.js → chunk-BGTQCTQW.js} +44 -136
- package/chunks/{chunk-PSWQZHEA.js → chunk-BMFALVGQ.js} +1 -1
- package/chunks/{chunk-XHRTVPG2.js → chunk-BNWB5CYE.js} +7 -7
- package/chunks/{chunk-P5V4T7NK.js → chunk-BPZKP57P.js} +11 -3
- package/chunks/{chunk-2OM7GEXO.js → chunk-CAPPWD3X.js} +3 -3
- package/chunks/{chunk-LNURQEMZ.js → chunk-CQL64ESB.js} +7 -7
- package/chunks/{chunk-TOFQCPDC.js → chunk-CVHIL5IG.js} +4 -5
- package/chunks/{chunk-XVNQMZ2I.js → chunk-DGEIYUC3.js} +0 -1
- package/chunks/{chunk-BPZALHVR.js → chunk-DI35ZN7T.js} +1 -1
- package/chunks/{chunk-SQBYH7PX.js → chunk-DZLYR4U3.js} +1 -1
- package/chunks/{chunk-JALU3ZDU.js → chunk-EIF3FXTB.js} +117 -24
- package/chunks/{chunk-TQCBGUHN.js → chunk-EJGJIBRS.js} +5 -5
- package/chunks/{chunk-5U4IPFBR.js → chunk-EVKE2FZL.js} +4 -4
- package/chunks/{chunk-OKY7HXPG.js → chunk-FNMZK765.js} +2 -2
- package/chunks/{chunk-KU5XMLDK.js → chunk-FTD6DP4T.js} +3 -1
- package/chunks/chunk-FYJ7W2PI.js +194 -0
- package/chunks/{chunk-L5UHQJTJ.js → chunk-GATT5TKW.js} +1 -1
- package/chunks/{chunk-MVS3NS2N.js → chunk-GEBV2JGB.js} +28 -5
- package/chunks/{chunk-VAK25FTU.js → chunk-GKX7E4CO.js} +1 -1
- package/chunks/{chunk-LS77BEZP.js → chunk-GLCZKT5V.js} +1 -5
- package/chunks/{chunk-N3FAY5CM.js → chunk-GNR2RNMP.js} +157 -4
- package/chunks/{chunk-YH6G52F2.js → chunk-GXIJHV66.js} +4 -4
- package/chunks/{chunk-HV3G62R6.js → chunk-GZ3RCT54.js} +1 -1
- package/chunks/{chunk-QY5MMZ6O.js → chunk-HMRM2A3U.js} +3 -3
- package/chunks/chunk-HV26XH34.js +319 -0
- package/chunks/{chunk-M4UKFCZ2.js → chunk-J7OACQDE.js} +193 -155
- package/chunks/{chunk-3HBZKBMQ.js → chunk-JFMA7Y5M.js} +5 -5
- package/chunks/{chunk-OJGCZBB7.js → chunk-JHNRZMHI.js} +41 -36
- package/chunks/{chunk-63P4EL5V.js → chunk-JMONIXMJ.js} +1 -1
- package/chunks/{chunk-L26JL52R.js → chunk-JSD33JG6.js} +47 -64
- package/chunks/{chunk-KIUFNBHR.js → chunk-JTV5K7NH.js} +1 -1
- package/chunks/{chunk-PHVR5UUY.js → chunk-JX27F6QS.js} +1 -1
- package/chunks/chunk-JYBU6YUE.js +378 -0
- package/chunks/{chunk-A6UO2C7C.js → chunk-KAMYKP7E.js} +167 -81
- package/chunks/{chunk-LG4GZIVV.js → chunk-KCO4FLFJ.js} +4 -4
- package/chunks/{chunk-2W3OOD4W.js → chunk-L55JWS76.js} +6 -3
- package/chunks/{chunk-RHLZR4E5.js → chunk-LGAOC3ZS.js} +1 -1
- package/chunks/{chunk-DM22XS4K.js → chunk-LO4ROVP4.js} +261 -15
- package/chunks/{chunk-NH6KE4JX.js → chunk-LW3RFMG7.js} +3 -3
- package/chunks/{chunk-J56UI34H.js → chunk-M7OONWYU.js} +2 -2
- package/chunks/{chunk-V6VRAM7B.js → chunk-MHAIJPTD.js} +12 -12
- package/chunks/{chunk-FODK6UMO.js → chunk-MPHPFVKK.js} +0 -2
- package/chunks/{chunk-LZEMEFKY.js → chunk-MR5EAQ5M.js} +1 -1
- package/chunks/{chunk-JESCGQM3.js → chunk-NAVJD2PQ.js} +8 -7
- package/chunks/{chunk-H5FFA6TH.js → chunk-NOKIVHOL.js} +16 -3
- package/chunks/{chunk-6OUGMXDC.js → chunk-NWNEANAT.js} +7 -7
- package/chunks/{chunk-B6ZJ7SI6.js → chunk-OCESJA77.js} +391 -328
- package/chunks/chunk-OCPBI7J5.js +18 -0
- package/chunks/{chunk-E5TUC6CA.js → chunk-OKF7JF3R.js} +3 -3
- package/chunks/{chunk-2Q3OT4OV.js → chunk-P4WOAOJW.js} +141 -64
- package/chunks/{chunk-4M377AZG.js → chunk-PB3MBFKG.js} +6 -6
- package/chunks/{chunk-QPDRAXDJ.js → chunk-PLDQBIO6.js} +1 -1
- package/chunks/{chunk-FNQ6T3CV.js → chunk-PONHVBRT.js} +10 -7
- package/chunks/{chunk-RWS5VYWC.js → chunk-PT722TDT.js} +267 -378
- package/chunks/chunk-Q43KPN7X.js +2196 -0
- package/chunks/{chunk-VDDGDZMA.js → chunk-QHWCP53L.js} +14 -7
- package/chunks/{chunk-SASBXAQL.js → chunk-QIZKCVM3.js} +4 -4
- package/chunks/{chunk-32MVHM4T.js → chunk-RCUQIPTN.js} +1 -1
- package/chunks/{chunk-6FGBXPWM.js → chunk-RPLGZJV2.js} +38 -44
- package/chunks/{chunk-3IXOIAKE.js → chunk-S4WJVPZW.js} +18 -6
- package/chunks/{chunk-6AM5D4ME.js → chunk-S6LOFUVP.js} +0 -12
- package/chunks/{chunk-INADJJGW.js → chunk-S7W2GKIO.js} +0 -2
- package/chunks/{chunk-MUP3T3AD.js → chunk-SGFT55XI.js} +1 -35
- package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
- package/chunks/chunk-T26EAKDL.js +13 -0
- package/chunks/{chunk-3MSHSCSN.js → chunk-T2QMKU3R.js} +79 -1
- package/chunks/{chunk-VFSJ5VRH.js → chunk-T3O2B4XO.js} +3 -3
- package/chunks/{chunk-MSLKI6C2.js → chunk-T4TXDL7G.js} +32 -21
- package/chunks/{chunk-E5WH5O3C.js → chunk-TBBV36Y4.js} +4 -4
- package/chunks/{chunk-VV6XU5L7.js → chunk-TCIFAA7K.js} +16 -11
- package/chunks/{chunk-DN6ZX5AY.js → chunk-TDL6LB4K.js} +46 -11
- package/chunks/{chunk-W4CQXHT6.js → chunk-TFRMVU6R.js} +1 -1
- package/chunks/{chunk-GDIPH4JY.js → chunk-TV64SXKD.js} +6 -6
- package/chunks/{chunk-FQK6JAFG.js → chunk-U3E3UQAA.js} +4 -4
- package/chunks/{chunk-7FZEBPKS.js → chunk-UBEPNVDI.js} +23 -18
- package/chunks/{chunk-NL7LTRLR.js → chunk-UHUSJ6X7.js} +29 -68
- package/chunks/{chunk-ZOIFNCKL.js → chunk-UPUG4GXM.js} +3 -23
- package/chunks/{chunk-6GMVPFB2.js → chunk-UWMLWVCA.js} +19 -6
- package/chunks/{chunk-U7TXFVUN.js → chunk-VCPIZRYH.js} +118 -95
- package/chunks/{chunk-LNARWLZQ.js → chunk-VWOOBLTY.js} +2 -2
- package/chunks/{chunk-I7XZ3RY5.js → chunk-VYOXCEPJ.js} +1 -1
- package/chunks/{chunk-USTWD7QV.js → chunk-W4MIWP6M.js} +26 -16
- package/chunks/{chunk-DLWL3Z7A.js → chunk-WBSMNTSV.js} +3 -3
- package/chunks/{chunk-G4WFQUYQ.js → chunk-WUZ7H6DP.js} +1 -1
- package/chunks/{chunk-2JZBVYTU.js → chunk-WZRWHXFE.js} +1 -8
- package/chunks/{chunk-DM4Q4JJH.js → chunk-X5WNMMIA.js} +22506 -33611
- package/chunks/{chunk-MK7VQDN3.js → chunk-XBYYDKAZ.js} +7 -6
- package/chunks/{chunk-COH43MRJ.js → chunk-XCGIMOLN.js} +27 -1
- package/chunks/{chunk-BRRAJXPA.js → chunk-XFZYFU3I.js} +1 -1
- package/chunks/{chunk-3QMGYBFN.js → chunk-XWWKIXVD.js} +1 -80
- package/chunks/{chunk-3SJ43L4W.js → chunk-XZC5VLBZ.js} +2 -0
- package/chunks/{chunk-UUUTRMI2.js → chunk-Y4IHBGBP.js} +1 -1
- package/chunks/{chunk-PR75REBZ.js → chunk-Y6AXW2OG.js} +12 -82
- package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
- package/chunks/{chunk-3JAQDSXN.js → chunk-YGF33UXG.js} +70 -8
- package/chunks/chunk-Z4X5MTRT.js +133 -0
- package/chunks/{chunk-UW5EOVUN.js → chunk-ZBVS26BY.js} +4 -4
- package/chunks/{chunk-ZD6UTE4A.js → chunk-ZHBO7WVX.js} +1 -1
- package/chunks/{chunk-HTO4JFDZ.js → chunk-ZPJWUGCS.js} +0 -1
- package/chunks/{chunk-66RMLJHC.js → chunk-ZURDMIDR.js} +355 -143
- package/chunks/{computer-use-DOFAHZAB.js → computer-use-ZTIDHMMA.js} +48 -50
- package/chunks/{config-utils-VFQXVGNR.js → config-utils-NYSXDMEQ.js} +4 -4
- package/chunks/contextCommand-2PIEU37Z.js +79 -0
- package/chunks/core-runtime-3XEYLQFK.js +133 -0
- package/chunks/{create-sub-session-7543K2QA.js → create-sub-session-R76FVXCI.js} +45 -47
- package/chunks/{create-sub-session-IWW2IZ2T.js → create-sub-session-SBYUMSSS.js} +3 -3
- package/chunks/{cron-create-YIID5XAW.js → cron-create-2QK6TCEC.js} +6 -6
- package/chunks/{cron-delete-ZVHYCEP2.js → cron-delete-FDCDFYMG.js} +5 -5
- package/chunks/{cron-list-XEGS463Q.js → cron-list-XN3WVBTP.js} +6 -6
- package/chunks/{daemon-VOMQW7KZ.js → daemon-Q2AB5Z23.js} +167 -15
- package/chunks/daemon-status-provider-3XJI6CAL.js +89 -0
- package/chunks/daemon-trust-policy-ILUDTLHD.js +84 -0
- package/chunks/daemon-trust-policy-monitor-HS3PKKRO.js +171 -0
- package/chunks/{de-HGRCYDEJ.js → de-SY6O76BF.js} +6 -1
- package/chunks/deferred-core-runtime-X4QV662U.js +88 -0
- package/chunks/dist-BSTVRPMT.js +4227 -0
- package/chunks/{dist-NNVBBOGU.js → dist-DOLYHMXE.js} +2 -2
- package/chunks/{dist-RTJFMNEZ.js → dist-HVRQ2CFL.js} +271 -11
- package/chunks/{dist-ANLAT3GS.js → dist-IXQEQWRG.js} +2 -1
- package/chunks/{dist-BRB6EXK4.js → dist-SSU66DM4.js} +3 -3
- package/chunks/{dist-KTYYJ2C5.js → dist-SV7Q3AWJ.js} +1 -1
- package/chunks/{dist-K6Y4E7FX.js → dist-YGBBMK3Z.js} +1 -1
- package/chunks/earlyInputCapture-XKLZT7ZD.js +81 -0
- package/chunks/{edit-RIEOJWKB.js → edit-HHGIOTQ2.js} +47 -49
- package/chunks/{en-MTWBNGDO.js → en-NBK3JKCE.js} +9 -1
- package/chunks/{enter-worktree-OGK5FQ3R.js → enter-worktree-ZN7PUQ46.js} +47 -49
- package/chunks/{enterPlanMode-IWZYALIB.js → enterPlanMode-EIFIDSIV.js} +47 -49
- package/chunks/{environment-VZ7BRI4Q.js → environment-XXQ75D2Q.js} +47 -49
- package/chunks/errors-4GMVU7CK.js +87 -0
- package/chunks/esm-K5FARBNI.js +5548 -0
- package/chunks/{exit-worktree-4TEYVIVP.js → exit-worktree-GXMI4ATY.js} +47 -49
- package/chunks/exitPlanMode-34UVY7M6.js +72 -0
- package/chunks/{fast-path-HYE7IFEV.js → fast-path-VPIVA7L6.js} +13 -3
- package/chunks/{fr-45RLL55O.js → fr-4KG5V7UT.js} +6 -1
- package/chunks/{gemini-NGRQX3YJ.js → gemini-4BWIK4WD.js} +103 -103
- package/chunks/{geminiContentGenerator-FQHPFZSR.js → geminiContentGenerator-3XVV5MSS.js} +7 -7
- package/chunks/{getMachineId-bsd-V7W3GODC.js → getMachineId-bsd-FG7IUY6U.js} +1 -1
- package/chunks/{getMachineId-darwin-TDO75DQP.js → getMachineId-darwin-GLCJI2RA.js} +1 -1
- package/chunks/{getMachineId-linux-TF43WQT2.js → getMachineId-linux-O6OPPAKO.js} +1 -1
- package/chunks/{getMachineId-unsupported-ZGUO3TXT.js → getMachineId-unsupported-S6CKYVGC.js} +1 -1
- package/chunks/{getMachineId-win-ECFYZZFQ.js → getMachineId-win-X5SRNEH7.js} +1 -1
- package/chunks/{glob-FRTM3X2E.js → glob-TZ2ABCJG.js} +47 -49
- package/chunks/{grep-RKWVROCW.js → grep-BEF463NA.js} +49 -50
- package/chunks/handleAutoUpdate-L6ERF36Y.js +80 -0
- package/chunks/i18n-FMM5FDXR.js +96 -0
- package/chunks/{image-gen-WIEM7KZA.js → image-gen-HHVLF7HS.js} +12 -12
- package/chunks/initializer-625TIAIO.js +85 -0
- package/chunks/installationInfo-6AM4I2Y3.js +79 -0
- package/chunks/{ja-B7DF7DFG.js → ja-F3GSQXMF.js} +6 -1
- package/chunks/{keychain-token-storage-MDTG3WRM.js → keychain-token-storage-72IYCAZV.js} +3 -3
- package/chunks/lib-RUF3WZA6.js +9 -0
- package/chunks/list-L2GA674Y.js +88 -0
- package/chunks/{list-agents-5KJJHR6I.js → list-agents-R6KDXQR3.js} +3 -3
- package/chunks/loadedSettingsAdapter-SPUTNKAV.js +82 -0
- package/chunks/{loggingContentGenerator-WGM27QAW.js → loggingContentGenerator-LKOF7XI7.js} +31 -30
- package/chunks/{loop-wakeup-FXKNNYSY.js → loop-wakeup-3IQKCYAH.js} +7 -7
- package/chunks/{ls-NTK6VOQJ.js → ls-DKZ37A7N.js} +5 -5
- package/chunks/{lsp-2JI24STP.js → lsp-QNWN7KN3.js} +3 -3
- package/chunks/{managed-npm-update-JQ2CG3RH.js → managed-npm-update-ACQGGIN5.js} +46 -48
- package/chunks/mcp-SZLHKFJW.js +82 -0
- package/chunks/{monitor-7FEWXX5F.js → monitor-DF52UVHI.js} +47 -49
- package/chunks/nonInteractiveCli-5T7KYKLK.js +144 -0
- package/chunks/{notebook-edit-JGJV2K6J.js → notebook-edit-FCWS4XVN.js} +47 -49
- package/chunks/{openaiContentGenerator-JPVXDTAO.js → openaiContentGenerator-7LDK3DCJ.js} +25 -27
- package/chunks/pidfile-6ERW3DF4.js +85 -0
- package/chunks/process-registry-2CHQBXH5.js +157 -0
- package/chunks/{processUtils-V2LCK6T6.js → processUtils-COKZAMUP.js} +2 -2
- package/chunks/{pt-22Q3FP73.js → pt-EQ33KWEN.js} +6 -1
- package/chunks/{qwenContentGenerator-TICV2W2Z.js → qwenContentGenerator-TKWUMR7N.js} +51 -53
- package/chunks/{qwenOAuth2-XGFI5XJG.js → qwenOAuth2-7HMU47SF.js} +10 -10
- package/chunks/read-file-X6DRC574.js +29 -0
- package/chunks/{read-mcp-resource-4DKQWGHD.js → read-mcp-resource-GFTWYXMK.js} +4 -4
- package/chunks/{record-artifact-RQKFYO5B.js → record-artifact-XAMSFSW4.js} +3 -3
- package/chunks/resumeHistoryUtils-PFPM2GWM.js +90 -0
- package/chunks/ripGrep-OWV2IVJC.js +72 -0
- package/chunks/{ru-FZCNZHDC.js → ru-7OZAUKGG.js} +6 -1
- package/chunks/{run-qwen-serve-3VCV4I7E.js → run-qwen-serve-TSTCO4XE.js} +917 -249
- package/chunks/{runtime-AXJWIEDU.js → runtime-DAUPSUKI.js} +55 -57
- package/chunks/{scheduler-RS2I6RU5.js → scheduler-KMADMT26.js} +45 -47
- package/chunks/{sdk-exporters-grpc-AK3LGHNO.js → sdk-exporters-grpc-54L4LS5L.js} +4 -4
- package/chunks/{sdk-exporters-http-FS6ZV7MF.js → sdk-exporters-http-WO556XNU.js} +7 -7
- package/chunks/{sdk-impl-7FZSCSXB.js → sdk-impl-LPAVACSF.js} +10 -10
- package/chunks/{send-message-Q6OOR6BR.js → send-message-SAWK4DZX.js} +6 -6
- package/chunks/serve-NNRWS6F4.js +88 -0
- package/chunks/{server-HRZ23U7M.js → server-WEH7DVCH.js} +3304 -842
- package/chunks/{session-7XHZKTVV.js → session-WXC56V2I.js} +94 -94
- package/chunks/{settings-7ZGZDXAS.js → settings-DJDXFDZ3.js} +54 -56
- package/chunks/shell-JN5VRQXD.js +82 -0
- package/chunks/{skill-LIWXNLDW.js → skill-SGXPKJCS.js} +20 -22
- package/chunks/skill-settings-VJ5PDMZI.js +90 -0
- package/chunks/spawnChannel-ETMJW7YX.js +81 -0
- package/chunks/standalone-update-MK3Z7KBI.js +91 -0
- package/chunks/{startInteractiveUI-IW3CSKHA.js → startInteractiveUI-ZCGIXPGT.js} +715 -373
- package/chunks/{syntheticOutput-I3757IWH.js → syntheticOutput-355CB6CJ.js} +4 -4
- package/chunks/{task-create-N7WQSGYA.js → task-create-INGWNUG4.js} +10 -10
- package/chunks/{task-list-FOPULZEP.js → task-list-5XNNGTF4.js} +7 -7
- package/chunks/{task-stop-H6RHXFVQ.js → task-stop-4ROAOBXH.js} +3 -3
- package/chunks/{task-update-M57TFZJT.js → task-update-CRK5VWWZ.js} +10 -10
- package/chunks/{team-create-O2FROQ4R.js → team-create-QQGAJG7P.js} +49 -51
- package/chunks/{team-delete-QE2UXJL7.js → team-delete-S2RCXA4P.js} +7 -7
- package/chunks/{team-plan-approval-Q6WDBXTQ.js → team-plan-approval-RT7Q5R6O.js} +47 -49
- package/chunks/theme-manager-EEWIQJ7J.js +76 -0
- package/chunks/{todoWrite-VQ7FKOHL.js → todoWrite-7WM3VDMY.js} +7 -7
- package/chunks/{tool-search-APECNQ3Z.js → tool-search-Z3Z4AYKP.js} +19 -21
- package/chunks/total-session-admission-44JKRWQD.js +84 -0
- package/chunks/{tree-sitter-FS4VPMZA.js → tree-sitter-4D7QS7F6.js} +1 -1
- package/chunks/{tree-sitter-bash-6B46JJCV.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
- package/chunks/trustedFolders-X2JEIO57.js +94 -0
- package/chunks/{update-relaunch-ON5MDJQG.js → update-relaunch-VWNPYDIP.js} +5 -5
- package/chunks/updateCheck-KAQH67DV.js +91 -0
- package/chunks/useAutoAcceptIndicator-JH6BCF7S.js +92 -0
- package/chunks/{validateNonInterActiveAuth-JBLKBKRD.js → validateNonInterActiveAuth-GIUJ2UFS.js} +88 -88
- package/chunks/{version-LTNUBQJY.js → version-BGLYIJUY.js} +1 -1
- package/chunks/{web-fetch-L5UTI53V.js → web-fetch-OTDU4VQF.js} +19 -21
- package/chunks/{web-search-KM33JOS3.js → web-search-FP6SIHPR.js} +13 -13
- package/chunks/{workflow-K7FAWV77.js → workflow-YCIVBYSB.js} +48 -50
- package/chunks/workspace-providers-status-S35YAIUS.js +85 -0
- package/chunks/{workspace-registration-store-6TGVDJV5.js → workspace-registration-store-OTMS3H4C.js} +1 -1
- package/chunks/workspace-registry-O63R6IZ4.js +92 -0
- package/chunks/workspace-service-M6LLHKJ5.js +99 -0
- package/chunks/workspace-skills-status-C2V7BAIS.js +85 -0
- package/chunks/workspace-trust-reconciler-IBUPOUJN.js +345 -0
- package/chunks/write-file-3BZC3EAE.js +72 -0
- package/chunks/xterm-headless-NTYVIBT3.js +3475 -0
- package/chunks/{zh-LUIGBD55.js → zh-H3YDK5QW.js} +9 -1
- package/chunks/{zh-TW-F5KG2IYD.js → zh-TW-JYCP7XUA.js} +9 -1
- package/chunks/zoom-image-TZ6S2O57.js +351 -0
- package/cli.js +13 -13
- package/locales/ca.js +7 -2
- package/locales/de.js +7 -2
- package/locales/en.js +10 -2
- package/locales/fr.js +7 -2
- package/locales/ja.js +7 -2
- package/locales/pt.js +7 -2
- package/locales/ru.js +7 -2
- package/locales/zh-TW.js +10 -2
- package/locales/zh.js +10 -2
- package/package.json +5 -4
- package/web-shell/assets/{arc-BbHijhiN.js → arc-75-Wdeo3.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-Cb4B_JD0.js → architectureDiagram-3BPJPVTR-FKeXQbyP.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-Dsjlh3H-.js → blockDiagram-GPEHLZMM-CY0vc-A3.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Cp5AeR4U.js → c4Diagram-AAUBKEIU-CNP-A-8u.js} +1 -1
- package/web-shell/assets/channel-DPYMT76A.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-CLcY7W2e.js → chunk-2J33WTMH-GybS4Gii.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BUhvY2LR.js → chunk-4BX2VUAB-02H91V8v.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-kDIFC_71.js → chunk-55IACEB6-D3M-2VT6.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CIBO15f2.js → chunk-727SXJPM-CCu29u4H.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BJ_T_slV.js → chunk-AQP2D5EJ-CaFKWgrn.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-BEkW35J8.js → chunk-FMBD7UC4-ZZpPqIwQ.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-GGPxofay.js → chunk-ND2GUHAM-D22DqGs8.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-Bifllrb6.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-C-Add_Dp.js → cose-bilkent-S5V4N54A-f1CK1Gwe.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-B7MfwNq2.js → dagre-BM42HDAG-D0Ow8F_n.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-CY_0zuDz.js → diagram-2AECGRRQ-BPrmTWp8.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-VyYSbCgA.js → diagram-5GNKFQAL-HccuFAzy.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CBiIZ2PL.js → diagram-KO2AKTUF-BrS76mbA.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BL3CrVOx.js → diagram-LMA3HP47-V7T9lU-5.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-CZUPx96P.js → diagram-OG6HWLK6-DKidyJMR.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-B81xHr1-.js → erDiagram-TEJ5UH35-DBadZIkp.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-EZWhir-J.js → flowDiagram-I6XJVG4X-BymfqdNJ.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CVFSuIAg.js → ganttDiagram-6RSMTGT7-DOw340jf.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-C1H2uQDv.js → gitGraphDiagram-PVQCEYII-_8EiD8sl.js} +1 -1
- package/web-shell/assets/{index-BYo99NBH.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-BwyFMlF8.js → infoDiagram-5YYISTIA-D61KYQBu.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CQ7Yhn2Y.js → ishikawaDiagram-YF4QCWOH-CsiXSpNx.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CJn2sf0l.js → journeyDiagram-JHISSGLW-Sdfionyh.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-DaNRqwVN.js → kanban-definition-UN3LZRKU-C3WI3Cnl.js} +1 -1
- package/web-shell/assets/{linear-DCKODZe2.js → linear-Dpigcc62.js} +1 -1
- package/web-shell/assets/{mermaid.core-CTGJOk27.js → mermaid.core-Ct97pqgW.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BKU3_3rg.js → mindmap-definition-RKZ34NQL-BzeaN0rB.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-COcwBJ82.js → pieDiagram-4H26LBE5-CvjgcbVD.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CQnQ443x.js → quadrantDiagram-W4KKPZXB-BUzgTNdH.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CZ2oj5cD.js → requirementDiagram-4Y6WPE33-B7zKlgUQ.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BxAv5mNu.js → sankeyDiagram-5OEKKPKP-Bb9CQgrT.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CztaySPs.js → sequenceDiagram-3UESZ5HK-DJ6V7itG.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CTQT1oGD.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-K9Mkex5A.js → timeline-definition-PNZ67QCA-6Q_uWHKh.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-B2rVIw76.js → vennDiagram-CIIHVFJN-TmyKyjwv.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-Z1w2JR4M.js → wardley-L42UT6IY-CRh9uiPv.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-CIX9aKXf.js → wardleyDiagram-YWT4CUSO-59TKAW8w.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-CI9DLIKB.js → xychartDiagram-2RQKCTM6-GCSUIK2L.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/MaxSizedBox-INHRH72H.js +0 -86
- package/chunks/agent-VXDAN5JK.js +0 -82
- package/chunks/agent-headless-K4ZMMNBD.js +0 -76
- package/chunks/bridge-LGPZCFHO.js +0 -91
- package/chunks/channel-settings-store-CHCDRTPY.js +0 -89
- package/chunks/chunk-SZRN75WQ.js +0 -29
- package/chunks/chunk-UGYMA4EI.js +0 -219
- package/chunks/chunk-VCBZUOSI.js +0 -8575
- package/chunks/contextCommand-QIZYHDR5.js +0 -81
- package/chunks/daemon-status-provider-OS5UWBHV.js +0 -90
- package/chunks/earlyInputCapture-WQT24RWD.js +0 -83
- package/chunks/errors-PCX25DVP.js +0 -89
- package/chunks/exitPlanMode-GHPUHBZJ.js +0 -423
- package/chunks/handleAutoUpdate-2CZQRJ66.js +0 -82
- package/chunks/i18n-XEQVMRKN.js +0 -98
- package/chunks/initializer-OVGZ4FLY.js +0 -87
- package/chunks/installationInfo-5UUQJI6Y.js +0 -81
- package/chunks/list-HODU6RXD.js +0 -90
- package/chunks/loadedSettingsAdapter-TYNLBALY.js +0 -84
- package/chunks/mcp-J3DFWX4A.js +0 -84
- package/chunks/nonInteractiveCli-F4GYSMHT.js +0 -144
- package/chunks/pidfile-4VNAR3EP.js +0 -87
- package/chunks/read-file-LZXUR4TO.js +0 -31
- package/chunks/resumeHistoryUtils-65OX3SGJ.js +0 -92
- package/chunks/ripGrep-2U2FRGMV.js +0 -74
- package/chunks/serve-W2GC47CM.js +0 -90
- package/chunks/shell-45IPBDP5.js +0 -84
- package/chunks/spawnChannel-PVXQ5AGV.js +0 -83
- package/chunks/src-AY65BYR7.js +0 -3166
- package/chunks/standalone-update-ZMFNKAEY.js +0 -93
- package/chunks/theme-manager-YYPZFBAH.js +0 -78
- package/chunks/total-session-admission-JXES723M.js +0 -85
- package/chunks/trustedFolders-HVI7IXUH.js +0 -94
- package/chunks/updateCheck-WUJGHWZZ.js +0 -93
- package/chunks/useAutoAcceptIndicator-CHSTZLZD.js +0 -94
- package/chunks/workspace-providers-status-GAKSF4LL.js +0 -87
- package/chunks/workspace-registry-A7NQUONG.js +0 -89
- package/chunks/workspace-service-STGVSO4N.js +0 -99
- package/chunks/workspace-skills-status-66AK3DUA.js +0 -86
- package/chunks/write-file-HUUCEG4P.js +0 -74
- package/web-shell/assets/channel-Bzdx6E8P.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Cd6wbiuK.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cd6wbiuK.js +0 -1
- package/web-shell/assets/index-B2bXx96W.js +0 -1249
- package/web-shell/assets/index-_8mKjx8q.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BjMdT6E_.js +0 -1
- package/chunks/{chunk-TARRHLLG.js → chunk-QUGAUQGJ.js} +25 -25
- package/chunks/{chunk-U7ZFW55U.js → chunk-VOQXFAY5.js} +977 -977
- /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
|
@@ -15,27 +15,27 @@ import {
|
|
|
15
15
|
MODIFIER_CTRL_BIT,
|
|
16
16
|
MODIFIER_SHIFT_BIT,
|
|
17
17
|
clipboardHasImage
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-M7OONWYU.js";
|
|
19
|
+
import {
|
|
20
|
+
noteInteraction
|
|
21
|
+
} from "./chunk-KW7NOTN6.js";
|
|
19
22
|
import {
|
|
20
23
|
require_jsx_runtime
|
|
21
24
|
} from "./chunk-SV5PQVQE.js";
|
|
22
25
|
import {
|
|
23
26
|
use_stdin_default,
|
|
24
27
|
use_stdout_default
|
|
25
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-UWMLWVCA.js";
|
|
26
29
|
import {
|
|
27
30
|
require_react
|
|
28
31
|
} from "./chunk-5QWWOFGG.js";
|
|
29
|
-
import {
|
|
30
|
-
noteInteraction
|
|
31
|
-
} from "./chunk-KW7NOTN6.js";
|
|
32
32
|
import {
|
|
33
33
|
KittySequenceOverflowEvent,
|
|
34
34
|
logKittySequenceOverflow
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-PT722TDT.js";
|
|
36
36
|
import {
|
|
37
37
|
createDebugLogger
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
39
39
|
import {
|
|
40
40
|
init_esbuild_shims
|
|
41
41
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-IRH27ZC2.js";
|
|
8
8
|
import {
|
|
9
9
|
humanReadableCron
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QHWCP53L.js";
|
|
11
11
|
import {
|
|
12
12
|
CRON_TASKS_DISPLAY_PATH,
|
|
13
13
|
addCronTask,
|
|
@@ -19,15 +19,15 @@ import {
|
|
|
19
19
|
taskHasLegacyCondition,
|
|
20
20
|
taskHasLegacyRunMode,
|
|
21
21
|
updateCronTasks
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-PONHVBRT.js";
|
|
23
23
|
import {
|
|
24
24
|
ToolNames
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-Y6AXW2OG.js";
|
|
26
26
|
import {
|
|
27
27
|
Storage,
|
|
28
28
|
createDebugLogger,
|
|
29
29
|
getProjectHash
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
31
31
|
import {
|
|
32
32
|
init_esbuild_shims
|
|
33
33
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1304,6 +1304,5 @@ export {
|
|
|
1304
1304
|
WAKEUP_MAX_SECONDS,
|
|
1305
1305
|
clampWakeupSeconds,
|
|
1306
1306
|
CronScheduler,
|
|
1307
|
-
buildMissedCronNotification,
|
|
1308
1307
|
nextDurableFireMs
|
|
1309
1308
|
};
|
|
@@ -4,6 +4,17 @@ import {
|
|
|
4
4
|
DEFAULT_DARK_THEME_NAME,
|
|
5
5
|
DEFAULT_LIGHT_THEME_NAME
|
|
6
6
|
} from "./chunk-RKUWKYED.js";
|
|
7
|
+
import {
|
|
8
|
+
SUPPORTED_LANGUAGES,
|
|
9
|
+
getLanguageNameFromLocale,
|
|
10
|
+
getLanguageSettingsOptions,
|
|
11
|
+
t
|
|
12
|
+
} from "./chunk-TCIFAA7K.js";
|
|
13
|
+
import {
|
|
14
|
+
getHomeEnvFallbackVars,
|
|
15
|
+
loadEnvironment,
|
|
16
|
+
preResolveHomeEnvOverrides
|
|
17
|
+
} from "./chunk-2N7CODY5.js";
|
|
7
18
|
import {
|
|
8
19
|
CONSOLIDATED_DISABLE_KEYS,
|
|
9
20
|
V1_INDICATOR_KEYS,
|
|
@@ -16,17 +27,6 @@ import {
|
|
|
16
27
|
getSystemDefaultsPath,
|
|
17
28
|
getSystemSettingsPath
|
|
18
29
|
} from "./chunk-IDS7MSUP.js";
|
|
19
|
-
import {
|
|
20
|
-
SUPPORTED_LANGUAGES,
|
|
21
|
-
getLanguageNameFromLocale,
|
|
22
|
-
getLanguageSettingsOptions,
|
|
23
|
-
t
|
|
24
|
-
} from "./chunk-VV6XU5L7.js";
|
|
25
|
-
import {
|
|
26
|
-
getHomeEnvFallbackVars,
|
|
27
|
-
loadEnvironment,
|
|
28
|
-
preResolveHomeEnvOverrides
|
|
29
|
-
} from "./chunk-PANH4R3B.js";
|
|
30
30
|
import {
|
|
31
31
|
ENV_CORRUPTED_PATH,
|
|
32
32
|
ENV_WAS_RECOVERED
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
isWorkspaceTrusted,
|
|
36
36
|
updateSettingsFilePreservingFormat
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-Q43KPN7X.js";
|
|
38
38
|
import {
|
|
39
39
|
require_strip_json_comments
|
|
40
40
|
} from "./chunk-ALGGS7UH.js";
|
|
@@ -46,23 +46,23 @@ import {
|
|
|
46
46
|
DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
|
|
47
47
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
|
|
48
48
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-X5WNMMIA.js";
|
|
50
50
|
import {
|
|
51
51
|
stripRuntimeSnapshotPrefix
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-BMFALVGQ.js";
|
|
53
53
|
import {
|
|
54
54
|
DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-2DN4J57Y.js";
|
|
56
56
|
import {
|
|
57
57
|
DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
|
|
58
58
|
SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-S7W2GKIO.js";
|
|
60
60
|
import {
|
|
61
61
|
FatalConfigError,
|
|
62
62
|
Storage,
|
|
63
63
|
createDebugLogger,
|
|
64
64
|
getErrorMessage
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
66
66
|
import {
|
|
67
67
|
init_esbuild_shims
|
|
68
68
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -891,9 +891,9 @@ var SETTINGS_SCHEMA = {
|
|
|
891
891
|
type: "boolean",
|
|
892
892
|
label: "Virtualized History (reduces flicker on long sessions)",
|
|
893
893
|
category: "UI",
|
|
894
|
-
requiresRestart:
|
|
895
|
-
default:
|
|
896
|
-
description: "Render conversation history in an in-app scrollable viewport instead of the terminal scrollback buffer.
|
|
894
|
+
requiresRestart: true,
|
|
895
|
+
default: true,
|
|
896
|
+
description: "Render conversation history in an in-app scrollable viewport instead of the terminal scrollback buffer. Enabled by default in compatible interactive terminals to avoid flicker, scroll-storm, and interface freeze on long sessions, after Ctrl+O, after Ctrl+E / Ctrl+F (expand), after window resize, or when alt-tabbing back. Screen reader mode and non-interactive output such as piped stdout or CI use append-only terminal output instead. Scroll with Shift+\u2191/\u2193 (line), PgUp/PgDn (page), Ctrl+Home/End (top/bottom), or the mouse wheel. Also enables mouse interactions: click an option in a menu/dialog to select it, hover to highlight it, and click in the prompt to position the cursor. Does NOT use the host terminal scrollback while enabled. Drag to select text in the viewport (double/triple click selects a word/line), copied on release. To use the terminal\u2019s own selection instead, hold Shift (or Option on macOS) while dragging.",
|
|
897
897
|
showInDialog: true
|
|
898
898
|
},
|
|
899
899
|
showScrollbar: {
|
|
@@ -1064,6 +1064,10 @@ var SETTINGS_SCHEMA = {
|
|
|
1064
1064
|
jsonSchemaOverride: {
|
|
1065
1065
|
type: "object",
|
|
1066
1066
|
properties: {
|
|
1067
|
+
userId: {
|
|
1068
|
+
description: "Stable end-user identifier written to GenAI spans as gen_ai.user.id for ARMS session analysis. This value is linkable personal data: prefer a pseudonymous ID, and configure it only when one process represents one user.",
|
|
1069
|
+
type: "string"
|
|
1070
|
+
},
|
|
1067
1071
|
includeSensitiveSpanAttributes: {
|
|
1068
1072
|
description: "When enabled, user prompts, system prompts, tool inputs/outputs, and model responses are written to native OTel span attributes in addition to the log-to-span bridge. Warning: this may expose sensitive data (file contents, shell commands, conversation history) to your OTLP backend.",
|
|
1069
1073
|
type: "boolean",
|
|
@@ -1365,6 +1369,28 @@ var SETTINGS_SCHEMA = {
|
|
|
1365
1369
|
parentKey: "generationConfig",
|
|
1366
1370
|
showInDialog: false
|
|
1367
1371
|
},
|
|
1372
|
+
retryInitialDelayMs: {
|
|
1373
|
+
type: "number",
|
|
1374
|
+
label: "Retry Initial Delay",
|
|
1375
|
+
category: "Generation Configuration",
|
|
1376
|
+
requiresRestart: false,
|
|
1377
|
+
default: void 0,
|
|
1378
|
+
description: "Initial delay in milliseconds for stream rate-limit retries.",
|
|
1379
|
+
minimum: 1,
|
|
1380
|
+
parentKey: "generationConfig",
|
|
1381
|
+
showInDialog: false
|
|
1382
|
+
},
|
|
1383
|
+
retryMaxDelayMs: {
|
|
1384
|
+
type: "number",
|
|
1385
|
+
label: "Retry Max Delay",
|
|
1386
|
+
category: "Generation Configuration",
|
|
1387
|
+
requiresRestart: false,
|
|
1388
|
+
default: void 0,
|
|
1389
|
+
description: "Maximum delay in milliseconds for stream rate-limit retries.",
|
|
1390
|
+
minimum: 1,
|
|
1391
|
+
parentKey: "generationConfig",
|
|
1392
|
+
showInDialog: false
|
|
1393
|
+
},
|
|
1368
1394
|
enableCacheControl: {
|
|
1369
1395
|
type: "boolean",
|
|
1370
1396
|
label: "Enable Cache Control",
|
|
@@ -1733,6 +1759,26 @@ var SETTINGS_SCHEMA = {
|
|
|
1733
1759
|
showInDialog: false,
|
|
1734
1760
|
mergeStrategy: "union" /* UNION */
|
|
1735
1761
|
},
|
|
1762
|
+
defaultDisabled: {
|
|
1763
|
+
type: "array",
|
|
1764
|
+
label: "Default Disabled Skills",
|
|
1765
|
+
category: "Advanced",
|
|
1766
|
+
requiresRestart: false,
|
|
1767
|
+
default: void 0,
|
|
1768
|
+
description: "Skill names disabled by default unless explicitly enabled through skills.enabled. Matched case-insensitively and UNION-merged across settings scopes. skills.disabled always wins.",
|
|
1769
|
+
showInDialog: false,
|
|
1770
|
+
mergeStrategy: "union" /* UNION */
|
|
1771
|
+
},
|
|
1772
|
+
enabled: {
|
|
1773
|
+
type: "array",
|
|
1774
|
+
label: "Enabled Skills",
|
|
1775
|
+
category: "Advanced",
|
|
1776
|
+
requiresRestart: false,
|
|
1777
|
+
default: void 0,
|
|
1778
|
+
description: "Explicit opt-ins that override matching skills.defaultDisabled entries. Matched case-insensitively and UNION-merged across settings scopes. Cannot override skills.disabled.",
|
|
1779
|
+
showInDialog: false,
|
|
1780
|
+
mergeStrategy: "union" /* UNION */
|
|
1781
|
+
},
|
|
1736
1782
|
directories: {
|
|
1737
1783
|
type: "array",
|
|
1738
1784
|
label: "Skill Directories",
|
|
@@ -2547,6 +2593,30 @@ var SETTINGS_SCHEMA = {
|
|
|
2547
2593
|
}
|
|
2548
2594
|
}
|
|
2549
2595
|
},
|
|
2596
|
+
modelGrades: {
|
|
2597
|
+
type: "object",
|
|
2598
|
+
label: "Model Grades",
|
|
2599
|
+
category: "Model",
|
|
2600
|
+
requiresRestart: true,
|
|
2601
|
+
default: void 0,
|
|
2602
|
+
description: "Maps semantic model grade names exposed to the Agent tool to concrete model selectors.",
|
|
2603
|
+
showInDialog: false,
|
|
2604
|
+
mergeStrategy: "shallow_merge" /* SHALLOW_MERGE */,
|
|
2605
|
+
jsonSchemaOverride: {
|
|
2606
|
+
type: "object",
|
|
2607
|
+
additionalProperties: { type: "string" }
|
|
2608
|
+
}
|
|
2609
|
+
},
|
|
2610
|
+
allowedGrades: {
|
|
2611
|
+
type: "array",
|
|
2612
|
+
label: "Allowed Model Grades",
|
|
2613
|
+
category: "Model",
|
|
2614
|
+
requiresRestart: true,
|
|
2615
|
+
default: void 0,
|
|
2616
|
+
description: "Optional whitelist of model grade names the Agent tool may use.",
|
|
2617
|
+
showInDialog: false,
|
|
2618
|
+
items: { type: "string" }
|
|
2619
|
+
},
|
|
2550
2620
|
maxParallelAgents: {
|
|
2551
2621
|
type: "number",
|
|
2552
2622
|
label: "Max Parallel Agents",
|
|
@@ -2727,6 +2797,17 @@ var SETTINGS_SCHEMA = {
|
|
|
2727
2797
|
mergeStrategy: "concat" /* CONCAT */,
|
|
2728
2798
|
items: HOOK_DEFINITION_ITEMS
|
|
2729
2799
|
},
|
|
2800
|
+
StopFailure: {
|
|
2801
|
+
type: "array",
|
|
2802
|
+
label: "After Agent Failure Hooks",
|
|
2803
|
+
category: "Advanced",
|
|
2804
|
+
requiresRestart: false,
|
|
2805
|
+
default: [],
|
|
2806
|
+
description: "Hooks that execute when a turn ends due to an API error or loop detection, instead of the normal Stop hooks. Receives error type and details.",
|
|
2807
|
+
showInDialog: false,
|
|
2808
|
+
mergeStrategy: "concat" /* CONCAT */,
|
|
2809
|
+
items: HOOK_DEFINITION_ITEMS
|
|
2810
|
+
},
|
|
2730
2811
|
MessageDisplay: {
|
|
2731
2812
|
type: "array",
|
|
2732
2813
|
label: "Message Display Hooks",
|
|
@@ -2888,6 +2969,15 @@ var SETTINGS_SCHEMA = {
|
|
|
2888
2969
|
description: "Allow daemon and ACP sessions to continue an unfinished top-level Todo list for at most two consecutive primary-model calls without new user input. Mid-turn user input starts a fresh two-attempt stage. Disabled in safe, bare, and Approval plan modes.",
|
|
2889
2970
|
showInDialog: false
|
|
2890
2971
|
},
|
|
2972
|
+
sessionWriterLease: {
|
|
2973
|
+
type: "boolean",
|
|
2974
|
+
label: "Enable ACP Session Writer Lease",
|
|
2975
|
+
category: "Experimental",
|
|
2976
|
+
requiresRestart: true,
|
|
2977
|
+
default: false,
|
|
2978
|
+
description: "Enable cross-process write fencing for persisted ACP and daemon sessions. The effective value is frozen when the ACP or daemon process starts. Every concurrent ACP or daemon writer must enable the setting; interactive and headless writers remain outside the protocol.",
|
|
2979
|
+
showInDialog: true
|
|
2980
|
+
},
|
|
2891
2981
|
cronRecurringMaxAgeDays: {
|
|
2892
2982
|
type: "number",
|
|
2893
2983
|
label: "Recurring Cron Max Age (Days)",
|
|
@@ -4461,10 +4551,11 @@ var LoadedSettings = class {
|
|
|
4461
4551
|
throw new Error(`Invalid scope: ${scope}`);
|
|
4462
4552
|
}
|
|
4463
4553
|
}
|
|
4464
|
-
setValue(scope, key, value) {
|
|
4554
|
+
setValue(scope, key, value, assertCanCommit) {
|
|
4465
4555
|
if (key === "model.name" && typeof value === "string") {
|
|
4466
4556
|
value = stripRuntimeSnapshotPrefix(value);
|
|
4467
4557
|
}
|
|
4558
|
+
assertCanCommit?.();
|
|
4468
4559
|
const settingsFile = this.forScope(scope);
|
|
4469
4560
|
setNestedPropertySafe(settingsFile.settings, key, value);
|
|
4470
4561
|
setNestedPropertySafe(settingsFile.originalSettings, key, value);
|
|
@@ -4472,7 +4563,7 @@ var LoadedSettings = class {
|
|
|
4472
4563
|
const replacePath = key === "mcpServers" ? key.split(".") : [];
|
|
4473
4564
|
saveSettings(settingsFile, createSettingsUpdate(key, value), replacePath);
|
|
4474
4565
|
}
|
|
4475
|
-
setValues(writes, onScopeCommitted) {
|
|
4566
|
+
setValues(writes, onScopeCommitted, assertCanCommit) {
|
|
4476
4567
|
const scopes = /* @__PURE__ */ new Set();
|
|
4477
4568
|
for (const write of writes) {
|
|
4478
4569
|
const value = write.key === "model.name" && typeof write.value === "string" ? stripRuntimeSnapshotPrefix(write.value) : write.value;
|
|
@@ -4486,6 +4577,7 @@ var LoadedSettings = class {
|
|
|
4486
4577
|
for (let i = 0; i < scopeList.length; i++) {
|
|
4487
4578
|
const scope = scopeList[i];
|
|
4488
4579
|
try {
|
|
4580
|
+
assertCanCommit?.();
|
|
4489
4581
|
saveSettings(this.forScope(scope), void 0, void 0, {
|
|
4490
4582
|
throwOnWriteFailure: true
|
|
4491
4583
|
});
|
|
@@ -4739,7 +4831,7 @@ function loadSettings(workspaceDir = process.cwd(), consumeCorruptionEnvVars = t
|
|
|
4739
4831
|
settings: {},
|
|
4740
4832
|
rawJson: void 0
|
|
4741
4833
|
};
|
|
4742
|
-
const workspaceSettingsActive = realWorkspaceDir !== realHomeDir;
|
|
4834
|
+
const workspaceSettingsActive = !opts.skipWorkspaceSettings && realWorkspaceDir !== realHomeDir;
|
|
4743
4835
|
if (workspaceSettingsActive) {
|
|
4744
4836
|
workspaceResult = loadAndMigrate(
|
|
4745
4837
|
workspaceSettingsPath,
|
|
@@ -4784,7 +4876,7 @@ function loadSettings(workspaceDir = process.cwd(), consumeCorruptionEnvVars = t
|
|
|
4784
4876
|
systemSettings,
|
|
4785
4877
|
userSettings
|
|
4786
4878
|
);
|
|
4787
|
-
const isTrusted = isWorkspaceTrusted(
|
|
4879
|
+
const isTrusted = opts.workspaceTrusted ?? isWorkspaceTrusted(
|
|
4788
4880
|
initialTrustCheckSettings,
|
|
4789
4881
|
void 0,
|
|
4790
4882
|
realWorkspaceDir
|
|
@@ -4915,6 +5007,7 @@ export {
|
|
|
4915
5007
|
backupSettingsFile,
|
|
4916
5008
|
restoreSettingsFromBackup,
|
|
4917
5009
|
cleanupSettingsBackup,
|
|
5010
|
+
v1ToV2Migration,
|
|
4918
5011
|
getUserSettingsPath,
|
|
4919
5012
|
getUserSettingsDir,
|
|
4920
5013
|
SETTINGS_VERSION,
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
t
|
|
5
|
+
} from "./chunk-TCIFAA7K.js";
|
|
3
6
|
import {
|
|
4
7
|
require_semver
|
|
5
8
|
} from "./chunk-DP3IHZGG.js";
|
|
6
9
|
import {
|
|
7
10
|
getNpmCliPath
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
t
|
|
11
|
-
} from "./chunk-VV6XU5L7.js";
|
|
11
|
+
} from "./chunk-VWOOBLTY.js";
|
|
12
12
|
import {
|
|
13
13
|
getPackageJson
|
|
14
14
|
} from "./chunk-VJNBRRZG.js";
|
|
15
15
|
import {
|
|
16
16
|
createDebugLogger
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esbuild_shims
|
|
20
20
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getErrorMessage
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-T3O2B4XO.js";
|
|
6
6
|
import {
|
|
7
7
|
extensionToOutputString,
|
|
8
8
|
getExtensionManager
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5MKRTI4T.js";
|
|
10
10
|
import {
|
|
11
11
|
loadSettings
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EIF3FXTB.js";
|
|
13
13
|
import {
|
|
14
14
|
initializeI18n,
|
|
15
15
|
resolveLanguageSetting,
|
|
16
16
|
t
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-TCIFAA7K.js";
|
|
18
18
|
import {
|
|
19
19
|
writeStderrLine,
|
|
20
20
|
writeStdoutLine
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
isSupportedImageMimeType
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-MPHPFVKK.js";
|
|
6
6
|
import {
|
|
7
7
|
TextTokenizer
|
|
8
8
|
} from "./chunk-46UV252V.js";
|
|
9
9
|
import {
|
|
10
10
|
createDebugLogger
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
12
12
|
import {
|
|
13
13
|
init_esbuild_shims
|
|
14
14
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
SkillError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-X5WNMMIA.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -111,6 +111,8 @@ var SERVE_CONTROL_EXT_METHODS = {
|
|
|
111
111
|
* `{ sessionId }`; result: `{ active: ActiveGoalView | null }`.
|
|
112
112
|
*/
|
|
113
113
|
sessionGoalGet: "qwen/control/session/goal/get",
|
|
114
|
+
sessionMcpRuntimeAdd: "qwen/control/session/mcp/runtime-add",
|
|
115
|
+
sessionMcpRuntimeRemove: "qwen/control/session/mcp/runtime-remove",
|
|
114
116
|
workspaceMcpRuntimeAdd: "qwen/control/workspace/mcp/runtime-add",
|
|
115
117
|
workspaceMcpRuntimeRemove: "qwen/control/workspace/mcp/runtime-remove",
|
|
116
118
|
workspaceReload: "qwen/control/workspace/reload",
|
|
@@ -0,0 +1,194 @@
|
|
|
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/channel-loop-mcp-ipc.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
import { randomUUID } from "node:crypto";
|
|
13
|
+
var CHANNEL_LOOP_MCP_IPC_TIMEOUT_MS = 3e4;
|
|
14
|
+
var MAX_CHANNEL_LOOP_MCP_IN_FLIGHT = 64;
|
|
15
|
+
var MAX_IPC_ID_LENGTH = 128;
|
|
16
|
+
var MAX_SESSION_ID_LENGTH = 512;
|
|
17
|
+
var MAX_ERROR_LENGTH = 512;
|
|
18
|
+
function isRecord(value) {
|
|
19
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
20
|
+
}
|
|
21
|
+
__name(isRecord, "isRecord");
|
|
22
|
+
function isBoundedString(value, maxLength) {
|
|
23
|
+
return typeof value === "string" && value.length > 0 && value.length <= maxLength;
|
|
24
|
+
}
|
|
25
|
+
__name(isBoundedString, "isBoundedString");
|
|
26
|
+
function isBaseMessage(value) {
|
|
27
|
+
return isRecord(value) && isBoundedString(value["id"], MAX_IPC_ID_LENGTH);
|
|
28
|
+
}
|
|
29
|
+
__name(isBaseMessage, "isBaseMessage");
|
|
30
|
+
function isChannelLoopMcpControlMessage(value) {
|
|
31
|
+
return isBaseMessage(value) && (value["type"] === "channel_loop_mcp_register" || value["type"] === "channel_loop_mcp_unregister") && isBoundedString(value["sessionId"], MAX_SESSION_ID_LENGTH);
|
|
32
|
+
}
|
|
33
|
+
__name(isChannelLoopMcpControlMessage, "isChannelLoopMcpControlMessage");
|
|
34
|
+
function isChannelLoopMcpControlResultMessage(value) {
|
|
35
|
+
return isBaseMessage(value) && value["type"] === "channel_loop_mcp_control_result" && typeof value["ok"] === "boolean" && (value["error"] === void 0 || isBoundedString(value["error"], MAX_ERROR_LENGTH));
|
|
36
|
+
}
|
|
37
|
+
__name(isChannelLoopMcpControlResultMessage, "isChannelLoopMcpControlResultMessage");
|
|
38
|
+
function isChannelLoopMcpRequestMessage(value) {
|
|
39
|
+
return isBaseMessage(value) && value["type"] === "channel_loop_mcp_message" && isBoundedString(value["sessionId"], MAX_SESSION_ID_LENGTH) && isRecord(value["payload"]);
|
|
40
|
+
}
|
|
41
|
+
__name(isChannelLoopMcpRequestMessage, "isChannelLoopMcpRequestMessage");
|
|
42
|
+
function isChannelLoopMcpResultMessage(value) {
|
|
43
|
+
return isBaseMessage(value) && value["type"] === "channel_loop_mcp_result" && typeof value["ok"] === "boolean" && (value["payload"] === void 0 || isRecord(value["payload"])) && (value["error"] === void 0 || isBoundedString(value["error"], MAX_ERROR_LENGTH));
|
|
44
|
+
}
|
|
45
|
+
__name(isChannelLoopMcpResultMessage, "isChannelLoopMcpResultMessage");
|
|
46
|
+
function createChannelLoopMcpRequest(sessionId, payload) {
|
|
47
|
+
if (!isBoundedString(sessionId, MAX_SESSION_ID_LENGTH)) {
|
|
48
|
+
throw new Error("Invalid channel loop MCP session id.");
|
|
49
|
+
}
|
|
50
|
+
if (!isRecord(payload)) {
|
|
51
|
+
throw new Error("Invalid channel loop MCP payload.");
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
type: "channel_loop_mcp_message",
|
|
55
|
+
id: randomUUID(),
|
|
56
|
+
sessionId,
|
|
57
|
+
payload
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
__name(createChannelLoopMcpRequest, "createChannelLoopMcpRequest");
|
|
61
|
+
var ChannelLoopMcpWorkerHost = class {
|
|
62
|
+
constructor(send) {
|
|
63
|
+
this.send = send;
|
|
64
|
+
}
|
|
65
|
+
static {
|
|
66
|
+
__name(this, "ChannelLoopMcpWorkerHost");
|
|
67
|
+
}
|
|
68
|
+
handlers = /* @__PURE__ */ new Map();
|
|
69
|
+
pending = /* @__PURE__ */ new Map();
|
|
70
|
+
disposed = false;
|
|
71
|
+
async register(sessionId, handler) {
|
|
72
|
+
this.handlers.set(sessionId, handler);
|
|
73
|
+
try {
|
|
74
|
+
await this.sendControl("channel_loop_mcp_register", sessionId);
|
|
75
|
+
} catch (error) {
|
|
76
|
+
if (this.handlers.get(sessionId) === handler) {
|
|
77
|
+
this.handlers.delete(sessionId);
|
|
78
|
+
}
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async unregister(sessionId) {
|
|
83
|
+
this.handlers.delete(sessionId);
|
|
84
|
+
await this.sendControl("channel_loop_mcp_unregister", sessionId);
|
|
85
|
+
}
|
|
86
|
+
handleMessage(value) {
|
|
87
|
+
if (isChannelLoopMcpControlResultMessage(value)) {
|
|
88
|
+
const pending = this.pending.get(value.id);
|
|
89
|
+
if (!pending) return true;
|
|
90
|
+
this.pending.delete(value.id);
|
|
91
|
+
clearTimeout(pending.timer);
|
|
92
|
+
if (value.ok) pending.resolve();
|
|
93
|
+
else pending.reject(new Error(value.error ?? "Channel loop MCP failed."));
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
if (!isChannelLoopMcpRequestMessage(value)) return false;
|
|
97
|
+
void this.handleRequest(value);
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
dispose() {
|
|
101
|
+
if (this.disposed) return;
|
|
102
|
+
this.disposed = true;
|
|
103
|
+
this.handlers.clear();
|
|
104
|
+
for (const pending of this.pending.values()) {
|
|
105
|
+
clearTimeout(pending.timer);
|
|
106
|
+
pending.reject(new Error("Channel loop MCP IPC closed."));
|
|
107
|
+
}
|
|
108
|
+
this.pending.clear();
|
|
109
|
+
}
|
|
110
|
+
sendControl(type, sessionId) {
|
|
111
|
+
if (this.disposed) {
|
|
112
|
+
return Promise.reject(new Error("Channel loop MCP IPC is closed."));
|
|
113
|
+
}
|
|
114
|
+
if (!isBoundedString(sessionId, MAX_SESSION_ID_LENGTH)) {
|
|
115
|
+
return Promise.reject(new Error("Invalid channel loop MCP session id."));
|
|
116
|
+
}
|
|
117
|
+
if (this.pending.size >= MAX_CHANNEL_LOOP_MCP_IN_FLIGHT) {
|
|
118
|
+
return Promise.reject(new Error("Channel loop MCP IPC queue is full."));
|
|
119
|
+
}
|
|
120
|
+
const id = randomUUID();
|
|
121
|
+
const message = { type, id, sessionId };
|
|
122
|
+
return new Promise((resolve, reject) => {
|
|
123
|
+
const timer = setTimeout(() => {
|
|
124
|
+
this.pending.delete(id);
|
|
125
|
+
reject(new Error("Channel loop MCP IPC timed out."));
|
|
126
|
+
}, CHANNEL_LOOP_MCP_IPC_TIMEOUT_MS);
|
|
127
|
+
timer.unref();
|
|
128
|
+
this.pending.set(id, { resolve, reject, timer });
|
|
129
|
+
try {
|
|
130
|
+
this.send(message, (error) => {
|
|
131
|
+
if (!error) return;
|
|
132
|
+
const pending = this.pending.get(id);
|
|
133
|
+
if (!pending) return;
|
|
134
|
+
this.pending.delete(id);
|
|
135
|
+
clearTimeout(pending.timer);
|
|
136
|
+
pending.reject(new Error("Channel loop MCP IPC send failed."));
|
|
137
|
+
});
|
|
138
|
+
} catch {
|
|
139
|
+
const pending = this.pending.get(id);
|
|
140
|
+
if (!pending) return;
|
|
141
|
+
this.pending.delete(id);
|
|
142
|
+
clearTimeout(pending.timer);
|
|
143
|
+
pending.reject(new Error("Channel loop MCP IPC send failed."));
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
async handleRequest(message) {
|
|
148
|
+
const handler = this.handlers.get(message.sessionId);
|
|
149
|
+
if (!handler) {
|
|
150
|
+
this.sendResult(message.id, {
|
|
151
|
+
ok: false,
|
|
152
|
+
error: "No channel loop MCP handler for this session."
|
|
153
|
+
});
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
try {
|
|
157
|
+
const payload = await handler(message.payload);
|
|
158
|
+
this.sendResult(message.id, {
|
|
159
|
+
ok: true,
|
|
160
|
+
payload: payload ?? { jsonrpc: "2.0", id: 0, result: {} }
|
|
161
|
+
});
|
|
162
|
+
} catch (error) {
|
|
163
|
+
const errorMessage = error instanceof Error ? error.message.slice(0, MAX_ERROR_LENGTH) : "Channel loop MCP request failed.";
|
|
164
|
+
this.sendResult(message.id, {
|
|
165
|
+
ok: false,
|
|
166
|
+
error: errorMessage || "Channel loop MCP request failed."
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
sendResult(id, result) {
|
|
171
|
+
try {
|
|
172
|
+
this.send({
|
|
173
|
+
type: "channel_loop_mcp_result",
|
|
174
|
+
id,
|
|
175
|
+
...result
|
|
176
|
+
});
|
|
177
|
+
} catch {
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
export {
|
|
183
|
+
CHANNEL_LOOP_MCP_IPC_TIMEOUT_MS,
|
|
184
|
+
MAX_CHANNEL_LOOP_MCP_IN_FLIGHT,
|
|
185
|
+
isChannelLoopMcpControlMessage,
|
|
186
|
+
isChannelLoopMcpResultMessage,
|
|
187
|
+
createChannelLoopMcpRequest,
|
|
188
|
+
ChannelLoopMcpWorkerHost
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* @license
|
|
192
|
+
* Copyright 2026 Qwen Team
|
|
193
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
194
|
+
*/
|