@qwen-code/qwen-code 0.19.7-nightly.20260708.394c1a289 → 0.19.8
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/features/channels/overview.md +6 -3
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
- package/bundled/qc-helper/docs/features/hooks.md +36 -34
- package/bundled/qc-helper/docs/features/memory.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +17 -10
- package/bundled/review/SKILL.md +6 -2
- package/chunks/{MaxSizedBox-XS37LWTD.js → MaxSizedBox-5DT2SD7B.js} +7 -7
- package/chunks/{StandaloneSessionPicker-LPALJTKN.js → StandaloneSessionPicker-EYRGH6PJ.js} +23 -21
- package/chunks/{acpAgent-4VE3FGJX.js → acpAgent-GRFTTRHW.js} +74 -69
- package/chunks/{agent-CCHERW6L.js → agent-H2DGKS77.js} +4 -4
- package/chunks/{agent-headless-55N6UBUU.js → agent-headless-KFMFIT6J.js} +4 -4
- package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-CPF22MA7.js} +28 -1
- package/chunks/{bridge-U6HXOHE7.js → bridge-NA3ZQQKJ.js} +11 -10
- package/chunks/{ca-HCMB2I54.js → ca-MKD32FQL.js} +26 -1
- package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-NZQUOEFJ.js} +3 -3
- package/chunks/{chunk-J43WPR6U.js → chunk-27BHARDE.js} +8 -8
- package/chunks/{chunk-KKWO4IX2.js → chunk-2EM7ECZD.js} +251 -71
- package/chunks/{chunk-E7HM76PR.js → chunk-3GNOQZDC.js} +1562 -1025
- package/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
- package/chunks/{chunk-VEB3NYSO.js → chunk-5MBO76SL.js} +5 -0
- package/chunks/{chunk-N74BA4VP.js → chunk-6VK6FIMQ.js} +1 -1
- package/chunks/{chunk-2FHWCKWA.js → chunk-A5JOJ77H.js} +35 -14
- package/chunks/{chunk-PLGONYEL.js → chunk-AYNCLGTW.js} +5 -5
- package/chunks/{chunk-K34DD7FH.js → chunk-BOBOCR5H.js} +4 -3
- package/chunks/chunk-BOBRZZKD.js +468 -0
- package/chunks/{chunk-7I4MGFBN.js → chunk-BUZ6HGL4.js} +5 -5
- package/chunks/{chunk-FK77ILF5.js → chunk-BVYU3ZTI.js} +2 -2
- package/chunks/{chunk-TBAZMRW3.js → chunk-CD6USWHZ.js} +1 -1
- package/chunks/{chunk-PVXPDMGP.js → chunk-CHB5SLZZ.js} +2 -2
- package/chunks/{chunk-SJHAUELE.js → chunk-DCZWC4PF.js} +2 -2
- package/chunks/{chunk-YYU6H66M.js → chunk-DHOLNQLC.js} +11 -11
- package/chunks/{chunk-MOQOAH7N.js → chunk-DICGXFAI.js} +1 -1
- package/chunks/{chunk-KT3SI3CQ.js → chunk-DIWVZ3VM.js} +8 -8
- package/chunks/{chunk-2DYY5XUZ.js → chunk-E7EMCSUG.js} +1 -1
- package/chunks/{chunk-XQ2GVLNJ.js → chunk-EEN2TKST.js} +1 -1
- package/chunks/{chunk-DNV4FSN5.js → chunk-FBET5XZ2.js} +6 -4
- package/chunks/{chunk-GIY6JTTC.js → chunk-FQNC62B2.js} +4 -4
- package/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
- package/chunks/chunk-GLE2YUPU.js +34 -0
- package/chunks/{chunk-X265R5C6.js → chunk-GN3F6PIU.js} +1 -1
- package/chunks/{chunk-LC4SMGYY.js → chunk-GSHQYYIV.js} +45 -9
- package/chunks/{chunk-BGL43SJ3.js → chunk-HDOH3QYE.js} +1 -1
- package/chunks/{chunk-4AFOWB47.js → chunk-I6WGFJJ3.js} +63 -4
- package/chunks/{chunk-2NPS2UDH.js → chunk-IBY3Q3HG.js} +390 -9
- package/chunks/{chunk-AXTPFMRS.js → chunk-J7RCB6N5.js} +1 -1
- package/chunks/{chunk-QCSLZO6J.js → chunk-JCH35JB3.js} +1 -1
- package/chunks/{chunk-JYOWO2F7.js → chunk-JPALE3PA.js} +3 -3
- package/chunks/{chunk-5FL2K3ZB.js → chunk-JRQ7EVGE.js} +1 -1
- package/chunks/{chunk-BHRU4SDF.js → chunk-JZHIQJOE.js} +3 -3
- package/chunks/{chunk-FB2ULV4M.js → chunk-L46XKEGM.js} +14 -153
- package/chunks/{chunk-LKXDC3AW.js → chunk-L4AMBVQG.js} +9 -9
- package/chunks/{chunk-ME344634.js → chunk-LAXNEOBG.js} +1 -1
- package/chunks/{chunk-QHT5USLK.js → chunk-M7S4GK5Z.js} +66 -445
- package/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
- package/chunks/{chunk-TBLJNMI7.js → chunk-O33TBKDC.js} +10 -10
- package/chunks/chunk-O7FIRWJV.js +168 -0
- package/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
- package/chunks/{chunk-CR5IU2RX.js → chunk-ON3JA3RU.js} +2 -2
- package/chunks/{chunk-VTCPREC7.js → chunk-OQXDAMKY.js} +3 -3
- package/chunks/{chunk-ELMPRVCB.js → chunk-P3XEEI3X.js} +1 -1
- package/chunks/{chunk-OU6FPTJZ.js → chunk-PMFULMLX.js} +296 -81
- package/chunks/{chunk-2YELHTUE.js → chunk-PUVCVELY.js} +1 -1
- package/chunks/{chunk-5OSSOBZC.js → chunk-RMLZAUWH.js} +4 -4
- package/chunks/{chunk-B6WUEODT.js → chunk-SQ2UATK7.js} +14 -8
- package/chunks/{chunk-TEYGKLIZ.js → chunk-TI3BWD4D.js} +1 -1
- package/chunks/{chunk-T2EJHSE3.js → chunk-TSPB77TG.js} +57 -35
- package/chunks/{chunk-L7IWK7JY.js → chunk-UX6OTBVD.js} +1 -1
- package/chunks/{chunk-XUSONNJ4.js → chunk-UXEW557D.js} +1 -1
- package/chunks/chunk-V35MD7KN.js +13 -0
- package/chunks/{chunk-B5FOCTEZ.js → chunk-VGGOPZUL.js} +6 -5
- package/chunks/{chunk-MYZWWRVW.js → chunk-WF4FAXDL.js} +2 -2
- package/chunks/{chunk-2SWMCXVR.js → chunk-WHJQ3JUS.js} +20 -8
- package/chunks/{chunk-VQJ64BIQ.js → chunk-WQTHLB5T.js} +3 -3
- package/chunks/chunk-XNXVCNAT.js +88 -0
- package/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
- package/chunks/{chunk-ZK5EI6NR.js → chunk-XYR5RUA5.js} +14 -5
- package/chunks/{chunk-YMWIKAEE.js → chunk-YDOXPLYL.js} +244 -47
- package/chunks/{chunk-UZCT5OLN.js → chunk-YHKAK72D.js} +11 -11
- package/chunks/{chunk-RFIL6REB.js → chunk-YKZIAK7C.js} +119 -29
- package/chunks/chunk-Z3I3QJK3.js +47 -0
- package/chunks/{chunk-3QDZDAJG.js → chunk-ZE6E424U.js} +1 -1
- package/chunks/chunk-ZL5HN75Q.js +61 -0
- package/chunks/{computer-use-4CTF6WS3.js → computer-use-WMY3UOBX.js} +4 -4
- package/chunks/{contextCommand-Z3XWQCY6.js → contextCommand-LXFZRP4L.js} +6 -6
- package/chunks/{daemon-F3I2RXP6.js → daemon-WPAENEBW.js} +48 -0
- package/chunks/{daemon-status-provider-6A4QCG6Q.js → daemon-status-provider-GJRXY5EN.js} +15 -13
- package/chunks/{de-PLLFDERI.js → de-ZFPPQVSF.js} +26 -1
- package/chunks/{dist-IMFFBMAT.js → dist-BEXOZXLQ.js} +1 -1
- package/chunks/{dist-OT7G2WNM.js → dist-E6UANPIM.js} +1 -1
- package/chunks/{dist-FQ5WRJPL.js → dist-H2AEJCZ5.js} +2 -2
- package/chunks/{dist-YTRKAVUB.js → dist-O2IRTRPP.js} +1 -1
- package/chunks/{dist-573HNSVO.js → dist-SCFLLYMK.js} +1 -1
- package/chunks/{dist-PKFTNUHO.js → dist-Z34QPAQW.js} +1 -1
- package/chunks/{earlyInputCapture-7O47HW62.js → earlyInputCapture-KNOYZ4MJ.js} +4 -4
- package/chunks/{edit-E32KWLF2.js → edit-OTYWAXGP.js} +5 -5
- package/chunks/{en-GA2RMXY5.js → en-N4EPZAQI.js} +26 -1
- package/chunks/{enter-worktree-ZKFFMHUD.js → enter-worktree-HNYBDVCX.js} +4 -4
- package/chunks/{enterPlanMode-HLDC6NGX.js → enterPlanMode-CJCNGT63.js} +4 -4
- package/chunks/environment-ATFTYMLZ.js +88 -0
- package/chunks/{errors-MTIDDXX7.js → errors-A54HAADA.js} +6 -6
- package/chunks/{exit-worktree-YHY72XA2.js → exit-worktree-DUUKOE3X.js} +4 -4
- package/chunks/{exitPlanMode-JNXKBZ2C.js → exitPlanMode-AMMSXOAJ.js} +4 -4
- package/chunks/{fast-path-DVAGBROV.js → fast-path-OV6NIP3K.js} +12 -3
- package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-7RIFI3PK.js} +3 -2
- package/chunks/{fr-GWNQG4XH.js → fr-5WWMY53B.js} +26 -1
- package/chunks/{gemini-2TMHJVRC.js → gemini-NQ3WWBKB.js} +431 -135
- package/chunks/{geminiContentGenerator-WCH4GWD3.js → geminiContentGenerator-CDUNEJQE.js} +1 -1
- package/chunks/{glob-I6Y4AGKO.js → glob-ROV3YS4R.js} +4 -4
- package/chunks/{grep-3P2J3LU5.js → grep-NRITKDCD.js} +4 -4
- package/chunks/{handleAutoUpdate-4IVRMRG4.js → handleAutoUpdate-CEZJAARW.js} +6 -6
- package/chunks/{initializer-DVNCPVTC.js → initializer-BRFJKRRX.js} +11 -9
- package/chunks/{ja-2HOTA47X.js → ja-CUHZOLEJ.js} +26 -1
- package/chunks/{list-4D6QK2KZ.js → list-KVHF7O4X.js} +13 -11
- package/chunks/{loadedSettingsAdapter-GNGELH6Q.js → loadedSettingsAdapter-LL5PSFKX.js} +11 -9
- package/chunks/{ls-L654WOAT.js → ls-7MFU2QYW.js} +1 -1
- package/chunks/{lsp-M35KE54Y.js → lsp-XHDTPTGV.js} +2 -4
- package/chunks/{mcp-2IL72YJP.js → mcp-3GCXRTOQ.js} +11 -9
- package/chunks/{monitor-BLVCZAVX.js → monitor-FL2ZO33W.js} +4 -4
- package/chunks/{nonInteractiveCli-UD3V7UOO.js → nonInteractiveCli-PTQI3DV6.js} +44 -41
- package/chunks/{notebook-edit-5TVMWIWY.js → notebook-edit-6PULTHL5.js} +5 -5
- package/chunks/{openaiContentGenerator-5LJ5A7YY.js → openaiContentGenerator-YE42PKCY.js} +3 -3
- package/chunks/{pidfile-AN5JQJ2T.js → pidfile-NZYSCFRK.js} +4 -4
- package/chunks/{pt-2THT3YHA.js → pt-OLYN42DS.js} +26 -1
- package/chunks/{qwenContentGenerator-E2JSB4FJ.js → qwenContentGenerator-NX2E7PB7.js} +5 -5
- package/chunks/{read-file-N5DEFUDU.js → read-file-33XGP5HF.js} +2 -2
- package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-SQ2OKRJW.js} +3 -3
- package/chunks/{ripGrep-BLJHTHKE.js → ripGrep-QWZLGTAN.js} +4 -4
- package/chunks/{ru-Z67YJHBG.js → ru-LDM3GWVQ.js} +26 -1
- package/chunks/{run-qwen-serve-4JDO64RN.js → run-qwen-serve-JK2DL7PI.js} +596 -143
- package/chunks/{scheduler-FQR4XA7J.js → scheduler-O4IGVZKK.js} +4 -4
- package/chunks/{send-message-OA6MV4EU.js → send-message-76GT3JMC.js} +1 -1
- package/chunks/{serve-ZOCFC7YM.js → serve-JTMIGANH.js} +13 -10
- package/chunks/{server-GEOYEPYT.js → server-SGNPKX2O.js} +667 -243
- package/chunks/{session-NJCONHGX.js → session-5BNM25EZ.js} +45 -42
- package/chunks/{settings-QBGGXANI.js → settings-3MI4XXP6.js} +20 -16
- package/chunks/{shell-2DVPSEKT.js → shell-YJKBE67T.js} +4 -4
- package/chunks/{skill-HIPXUHV7.js → skill-I22QK5XS.js} +2 -2
- package/chunks/{spawnChannel-3JYXY52G.js → spawnChannel-UNV6W4DU.js} +6 -6
- package/chunks/{src-NLEX4CUC.js → src-BBQSM46M.js} +8 -4
- package/chunks/{startInteractiveUI-TYGZIU27.js → startInteractiveUI-JII36UGN.js} +619 -288
- package/chunks/{task-create-RPFZNB4B.js → task-create-WCHTB435.js} +2 -2
- package/chunks/{task-update-5WUG5MVQ.js → task-update-XYWMHJGJ.js} +2 -2
- package/chunks/{team-create-MGX57SZJ.js → team-create-A7NUU5AQ.js} +4 -4
- package/chunks/{team-plan-approval-BO2N7J3E.js → team-plan-approval-TOQRJ2KI.js} +4 -4
- package/chunks/{theme-manager-WU7LOA64.js → theme-manager-WZ4RRMMB.js} +4 -4
- package/chunks/{tool-search-CLBKVEVK.js → tool-search-SZ4EFS2T.js} +3 -3
- package/chunks/total-session-admission-ULXJWXFV.js +72 -0
- package/chunks/{trustedFolders-GAQM2GHB.js → trustedFolders-LAZZPZ3D.js} +5 -5
- package/chunks/{updateCheck-RIK2YIQE.js → updateCheck-KONLM73X.js} +5 -5
- package/chunks/{validateNonInterActiveAuth-NS3GBIJZ.js → validateNonInterActiveAuth-MPKSRCXD.js} +41 -38
- package/chunks/{version-B3RSLP54.js → version-NO2XSNNP.js} +1 -1
- package/chunks/{workflow-7APPIGND.js → workflow-WO2H6NRI.js} +5 -5
- package/chunks/{workspace-providers-status-SC67GLMY.js → workspace-providers-status-3W7E7DFW.js} +14 -11
- package/chunks/workspace-registry-SXJZNN3O.js +74 -0
- package/chunks/{workspace-service-ZJHF22WA.js → workspace-service-CZRQZ4Q4.js} +17 -15
- package/chunks/{workspace-skills-status-NJEK6P6Y.js → workspace-skills-status-K7WFREPD.js} +12 -10
- package/chunks/{write-file-R6Z3VLRY.js → write-file-PX2Z7IBE.js} +5 -5
- package/chunks/{zh-7XVVRTDH.js → zh-J4F6QWQV.js} +26 -1
- package/chunks/{zh-TW-DPH554OG.js → zh-TW-XVDWOLSW.js} +26 -1
- package/cli.js +11 -11
- package/locales/ca.js +30 -0
- package/locales/de.js +30 -0
- package/locales/en.js +30 -0
- package/locales/fr.js +30 -0
- package/locales/ja.js +30 -0
- package/locales/pt.js +30 -0
- package/locales/ru.js +30 -0
- package/locales/zh-TW.js +30 -0
- package/locales/zh.js +30 -0
- package/node_modules/@qwen-code/audio-capture/package.json +1 -1
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-C7hjaa7g.js → arc-BWyoJpY2.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-BT0mGrz2.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-BLgUWvyf.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-DYx9M7oU.js} +1 -1
- package/web-shell/assets/channel-wmPUGHtg.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-CfMHWbuZ.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-B1URoqEV.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-DAIaM4QF.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-B2X34knw.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-Cif-zLTQ.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-H18WCXdY.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-YFtetHi0.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-By2hiH3r.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-VrcnnLZu.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-CGo-IaVV.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-Dl4QjzIB.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-qMLmsO0u.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-CHlmuxPI.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-BUwU3GwT.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-HEhwPDUM.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-1n0llBmM.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-BN74uMnt.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-BoOq78i3.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-CN8b00c8.js} +1 -1
- package/web-shell/assets/index-CNwoO1Cn.js +783 -0
- package/web-shell/assets/index-CWQ0z6kZ.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-CCurnIna.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-AwuRqdUP.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-B7IICk-E.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-BYF0OKhx.js} +1 -1
- package/web-shell/assets/{linear-Bo5bWzvo.js → linear-GWWguGfD.js} +1 -1
- package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-JqtkxvCl.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-B0MmHsZ6.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-DhImUZLQ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-DGeSC3DT.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-DkspY6Re.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-CaOofS2x.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-DFQ_kFnN.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-D3snw0Tz.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-l4zH8nLM.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-BnRlA98M.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-BS0xUdmd.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-DKGBUWyQ.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-DVb2HuOB.js} +1 -1
- package/web-shell/index.html +2 -2
- package/web-shell/assets/channel-BNf1dW-j.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
- package/web-shell/assets/index-CnE2ur2L.js +0 -779
- package/web-shell/assets/index-hSKXrlSE.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
relaunchApp
|
|
5
|
-
} from "./chunk-AXTPFMRS.js";
|
|
6
|
-
import {
|
|
7
|
-
MINIMUM_MAX_HEIGHT,
|
|
8
|
-
MaxSizedBox
|
|
9
|
-
} from "./chunk-CR5IU2RX.js";
|
|
10
3
|
import {
|
|
11
4
|
CODE_FENCE_RE,
|
|
12
5
|
SHELL_COMMAND_NAME,
|
|
13
6
|
SHELL_NAME,
|
|
7
|
+
TABLE_MAX_ROW_LINES,
|
|
14
8
|
TABLE_ROW_RE,
|
|
15
9
|
TABLE_SEPARATOR_RE,
|
|
16
10
|
TOOL_STATUS,
|
|
@@ -22,7 +16,7 @@ import {
|
|
|
22
16
|
getCommandSubcommandNames,
|
|
23
17
|
splitMarkdownTableRow,
|
|
24
18
|
useSessionStats
|
|
25
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GSHQYYIV.js";
|
|
26
20
|
import {
|
|
27
21
|
Colors,
|
|
28
22
|
RowMouseController,
|
|
@@ -31,7 +25,7 @@ import {
|
|
|
31
25
|
useMouseEvents,
|
|
32
26
|
useSettings,
|
|
33
27
|
useTerminalSize
|
|
34
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-WF4FAXDL.js";
|
|
35
29
|
import {
|
|
36
30
|
buildResumedHistoryItems,
|
|
37
31
|
calculateAverageLatency,
|
|
@@ -44,7 +38,14 @@ import {
|
|
|
44
38
|
levelLabel,
|
|
45
39
|
useKeypress,
|
|
46
40
|
wrapForMultiplexer
|
|
47
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-27BHARDE.js";
|
|
42
|
+
import {
|
|
43
|
+
relaunchApp
|
|
44
|
+
} from "./chunk-J7RCB6N5.js";
|
|
45
|
+
import {
|
|
46
|
+
MINIMUM_MAX_HEIGHT,
|
|
47
|
+
MaxSizedBox
|
|
48
|
+
} from "./chunk-ON3JA3RU.js";
|
|
48
49
|
import {
|
|
49
50
|
theme
|
|
50
51
|
} from "./chunk-IFEWJXFS.js";
|
|
@@ -56,7 +57,7 @@ import {
|
|
|
56
57
|
require_jsx_runtime,
|
|
57
58
|
use_is_screen_reader_enabled_default,
|
|
58
59
|
use_stdin_default
|
|
59
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-P3XEEI3X.js";
|
|
60
61
|
import {
|
|
61
62
|
isTerminalGoalStatusKind
|
|
62
63
|
} from "./chunk-SAIILPQ3.js";
|
|
@@ -67,10 +68,6 @@ import {
|
|
|
67
68
|
resolveColor,
|
|
68
69
|
themeManager
|
|
69
70
|
} from "./chunk-PC4ZXHU2.js";
|
|
70
|
-
import {
|
|
71
|
-
require_has_flag,
|
|
72
|
-
require_source
|
|
73
|
-
} from "./chunk-3GONHQOA.js";
|
|
74
71
|
import {
|
|
75
72
|
cpLen,
|
|
76
73
|
cpSlice,
|
|
@@ -81,10 +78,14 @@ import {
|
|
|
81
78
|
stripUnsafeCharacters,
|
|
82
79
|
toCodePoints,
|
|
83
80
|
wrapToVisualLines
|
|
84
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-XYR5RUA5.js";
|
|
85
82
|
import {
|
|
86
83
|
eastAsianWidth
|
|
87
84
|
} from "./chunk-LGFAYIKX.js";
|
|
85
|
+
import {
|
|
86
|
+
require_has_flag,
|
|
87
|
+
require_source
|
|
88
|
+
} from "./chunk-3GONHQOA.js";
|
|
88
89
|
import {
|
|
89
90
|
formatDuration,
|
|
90
91
|
formatMemoryUsage,
|
|
@@ -93,18 +94,18 @@ import {
|
|
|
93
94
|
} from "./chunk-KHDZHZMH.js";
|
|
94
95
|
import {
|
|
95
96
|
createLoadedSettingsAdapter
|
|
96
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-UX6OTBVD.js";
|
|
97
98
|
import {
|
|
98
99
|
getPersistScopeForModelSelection
|
|
99
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-M7S4GK5Z.js";
|
|
100
101
|
import {
|
|
101
102
|
getCurrentLanguage,
|
|
102
103
|
localizeToolDisplayName,
|
|
103
104
|
t
|
|
104
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-O33TBKDC.js";
|
|
105
106
|
import {
|
|
106
107
|
isWorkspaceTrusted
|
|
107
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-DICGXFAI.js";
|
|
108
109
|
import {
|
|
109
110
|
ALL_PROVIDERS,
|
|
110
111
|
IdeClient,
|
|
@@ -125,11 +126,11 @@ import {
|
|
|
125
126
|
resolveMetadataKey,
|
|
126
127
|
resolveOwnsModel,
|
|
127
128
|
stripAnsi
|
|
128
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-3GNOQZDC.js";
|
|
129
130
|
import {
|
|
130
131
|
MAIN_SOURCE,
|
|
131
132
|
getMCPServerStatus
|
|
132
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-BUZ6HGL4.js";
|
|
133
134
|
import {
|
|
134
135
|
ToolDisplayNames,
|
|
135
136
|
ToolNames,
|
|
@@ -5260,7 +5261,6 @@ __name(labelMayDeceive, "labelMayDeceive");
|
|
|
5260
5261
|
// packages/cli/src/ui/utils/TableRenderer.tsx
|
|
5261
5262
|
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
|
|
5262
5263
|
var MIN_COLUMN_WIDTH = 3;
|
|
5263
|
-
var MAX_ROW_LINES = 4;
|
|
5264
5264
|
var ABSOLUTE_MIN_HORIZONTAL_TABLE_WIDTH = 24;
|
|
5265
5265
|
var SAFETY_MARGIN = 4;
|
|
5266
5266
|
var INLINE_MATH_MAX_CHARS = 1024;
|
|
@@ -5614,7 +5614,7 @@ var TableRenderer = /* @__PURE__ */ __name(({
|
|
|
5614
5614
|
ABSOLUTE_MIN_HORIZONTAL_TABLE_WIDTH,
|
|
5615
5615
|
colCount * MIN_COLUMN_WIDTH + borderOverhead + SAFETY_MARGIN
|
|
5616
5616
|
);
|
|
5617
|
-
const useVerticalFormat = rowMetrics.length > 0 && (contentWidth < minHorizontalTableWidth || maxRowLines >
|
|
5617
|
+
const useVerticalFormat = rowMetrics.length > 0 && (contentWidth < minHorizontalTableWidth || maxRowLines > TABLE_MAX_ROW_LINES);
|
|
5618
5618
|
const getAlign = /* @__PURE__ */ __name((colIndex) => aligns?.[colIndex] ?? "left", "getAlign");
|
|
5619
5619
|
function renderBorderLine(type) {
|
|
5620
5620
|
const [left, mid, cross, right] = {
|
|
@@ -8192,12 +8192,16 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
8192
8192
|
return cols === headerCells;
|
|
8193
8193
|
});
|
|
8194
8194
|
const lineAfterHeader = rest[0];
|
|
8195
|
-
|
|
8195
|
+
const separatorIsTrailing = rest.length === 1;
|
|
8196
|
+
const looksLikeSeparatorPrefix = lineAfterHeader !== void 0 && lineAfterHeader.includes("|") && /^[\s|:-]*$/.test(lineAfterHeader);
|
|
8197
|
+
let couldStillBeTable = lineAfterHeader === void 0 || tableSeparatorRegex.test(lineAfterHeader) || separatorIsTrailing && looksLikeSeparatorPrefix;
|
|
8196
8198
|
if (couldStillBeTable && lineAfterHeader !== void 0 && /\|\s*$/.test(lineAfterHeader)) {
|
|
8197
8199
|
const sepCols = splitMarkdownTableRow(lineAfterHeader).filter(
|
|
8198
8200
|
(c) => c.length > 0
|
|
8199
8201
|
).length;
|
|
8200
|
-
if (sepCols !== headerCells
|
|
8202
|
+
if (sepCols !== headerCells && (sepCols > headerCells || !separatorIsTrailing)) {
|
|
8203
|
+
couldStillBeTable = false;
|
|
8204
|
+
}
|
|
8201
8205
|
}
|
|
8202
8206
|
if (!hasMatchingSeparator && couldStillBeTable) {
|
|
8203
8207
|
lines = lines.slice(0, start);
|
|
@@ -14221,25 +14225,43 @@ function isCollapsibleTool(toolName) {
|
|
|
14221
14225
|
return COLLAPSIBLE_CATEGORIES.has(getToolCategory(toolName));
|
|
14222
14226
|
}
|
|
14223
14227
|
__name(isCollapsibleTool, "isCollapsibleTool");
|
|
14228
|
+
function safeDescription(raw) {
|
|
14229
|
+
if (!raw) return void 0;
|
|
14230
|
+
const stripped = raw.replace(
|
|
14231
|
+
/\x1b\][^\x07]*\x07|\x1b[()][A-Z0-9]|\x1b\[[0-9;]*[a-zA-Z]|\x1b./g,
|
|
14232
|
+
""
|
|
14233
|
+
);
|
|
14234
|
+
const cleaned = stripped.replace(/[\x00-\x1f\x7f]/g, " ").trim();
|
|
14235
|
+
if (cleaned.startsWith("{") || cleaned.startsWith("[")) return void 0;
|
|
14236
|
+
return cleaned || void 0;
|
|
14237
|
+
}
|
|
14238
|
+
__name(safeDescription, "safeDescription");
|
|
14224
14239
|
function buildToolSummary(toolCalls, isActive) {
|
|
14225
14240
|
if (toolCalls.length === 0) return "";
|
|
14226
|
-
const
|
|
14241
|
+
const toolsByCategory = /* @__PURE__ */ new Map();
|
|
14227
14242
|
for (const tool of toolCalls) {
|
|
14228
14243
|
const cat = getToolCategory(tool.name);
|
|
14229
|
-
|
|
14244
|
+
const arr = toolsByCategory.get(cat) ?? [];
|
|
14245
|
+
arr.push(tool);
|
|
14246
|
+
toolsByCategory.set(cat, arr);
|
|
14230
14247
|
}
|
|
14231
14248
|
const parts = [];
|
|
14232
14249
|
for (const cat of CATEGORY_ORDER) {
|
|
14233
|
-
const
|
|
14234
|
-
if (!
|
|
14250
|
+
const tools = toolsByCategory.get(cat);
|
|
14251
|
+
if (!tools || tools.length === 0) continue;
|
|
14235
14252
|
const template = CATEGORY_TEMPLATES[cat];
|
|
14236
14253
|
const verb = isActive ? template.activeVerb : template.pastVerb;
|
|
14237
14254
|
const lower = parts.length > 0;
|
|
14238
14255
|
const v = lower ? verb.toLowerCase() : verb;
|
|
14239
|
-
if (
|
|
14240
|
-
|
|
14256
|
+
if (tools.length === 1) {
|
|
14257
|
+
const safeDesc = safeDescription(tools[0].description);
|
|
14258
|
+
if (safeDesc !== void 0) {
|
|
14259
|
+
parts.push(`${v} ${safeDesc}`);
|
|
14260
|
+
} else {
|
|
14261
|
+
parts.push(`${v} 1 ${template.singular}`);
|
|
14262
|
+
}
|
|
14241
14263
|
} else {
|
|
14242
|
-
parts.push(`${v} ${
|
|
14264
|
+
parts.push(`${v} ${tools.length} ${template.plural}`);
|
|
14243
14265
|
}
|
|
14244
14266
|
}
|
|
14245
14267
|
return parts.join(", ");
|
|
@@ -14462,12 +14484,12 @@ var SubagentScrollbackSummary = /* @__PURE__ */ __name(({ data }) => {
|
|
|
14462
14484
|
}
|
|
14463
14485
|
const tail = parts.length > 0 ? ` \xB7 ${parts.join(" \xB7 ")}` : "";
|
|
14464
14486
|
const typePrefix = data.subagentName ? `${escapeAnsiCtrlCodes(data.subagentName)}: ` : "";
|
|
14465
|
-
const
|
|
14487
|
+
const safeDescription2 = escapeAnsiCtrlCodes(data.taskDescription ?? "");
|
|
14466
14488
|
const reason = data.status !== "completed" && data.terminateReason ? ` \xB7 ${escapeAnsiCtrlCodes(data.terminateReason)}` : "";
|
|
14467
14489
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { paddingLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Text, { wrap: "truncate-end", children: [
|
|
14468
14490
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color, children: `${glyph} ` }),
|
|
14469
14491
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { bold: true, children: typePrefix }),
|
|
14470
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children:
|
|
14492
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: safeDescription2 }),
|
|
14471
14493
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: tail }),
|
|
14472
14494
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: reason })
|
|
14473
14495
|
] }) });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-A4BMJM77.js";
|
|
6
|
+
|
|
7
|
+
// packages/cli/src/serve/acp-session-bridge.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
/**
|
|
10
|
+
* @license
|
|
11
|
+
* Copyright 2025 Qwen Team
|
|
12
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
13
|
+
*/
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
isTranscribableVoiceModel,
|
|
6
6
|
readVoiceLanguage,
|
|
7
7
|
resolveVoiceTransport
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ZE6E424U.js";
|
|
9
9
|
import {
|
|
10
10
|
resolvePath
|
|
11
11
|
} from "./chunk-E7KNELIZ.js";
|
|
@@ -368,12 +368,12 @@ async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost) {
|
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
370
|
__name(assertVoiceBaseUrlNetworkAllowed, "assertVoiceBaseUrlNetworkAllowed");
|
|
371
|
-
function readApiKey(settings, model, baseUrl) {
|
|
371
|
+
function readApiKey(settings, model, baseUrl, env) {
|
|
372
372
|
if (!model.envKey && !isQwenBaseUrl(baseUrl)) {
|
|
373
373
|
return void 0;
|
|
374
374
|
}
|
|
375
375
|
const envKey = model.envKey ?? DEFAULT_OPENAI_API_KEY;
|
|
376
|
-
const envValue = process.env[envKey];
|
|
376
|
+
const envValue = (env ?? process.env)[envKey];
|
|
377
377
|
if (envValue && envValue.trim().length > 0) {
|
|
378
378
|
return envValue.trim();
|
|
379
379
|
}
|
|
@@ -391,7 +391,8 @@ __name(readApiKey, "readApiKey");
|
|
|
391
391
|
function resolveVoiceTranscriptionConfig({
|
|
392
392
|
config,
|
|
393
393
|
settings,
|
|
394
|
-
voiceModel
|
|
394
|
+
voiceModel,
|
|
395
|
+
env
|
|
395
396
|
}) {
|
|
396
397
|
const matches = config.getAllConfiguredModels().filter((model2) => model2.id === voiceModel);
|
|
397
398
|
if (matches.length === 0) {
|
|
@@ -423,7 +424,7 @@ function resolveVoiceTranscriptionConfig({
|
|
|
423
424
|
`Voice model '${voiceModel}' must not use a private-network baseUrl.`
|
|
424
425
|
);
|
|
425
426
|
}
|
|
426
|
-
const apiKey = readApiKey(settings, model, normalizedBaseUrl);
|
|
427
|
+
const apiKey = readApiKey(settings, model, normalizedBaseUrl, env);
|
|
427
428
|
if (model.envKey && !apiKey) {
|
|
428
429
|
throw new Error(`Voice model '${voiceModel}' requires ${model.envKey}.`);
|
|
429
430
|
}
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
disableMouseEvents,
|
|
5
5
|
enableMouseEvents,
|
|
6
6
|
useKeypressContext
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-27BHARDE.js";
|
|
8
8
|
import {
|
|
9
9
|
use_stdin_default,
|
|
10
10
|
use_stdout_default
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-P3XEEI3X.js";
|
|
12
12
|
import {
|
|
13
13
|
require_react
|
|
14
14
|
} from "./chunk-KYMBIKIW.js";
|
|
@@ -3,22 +3,25 @@
|
|
|
3
3
|
import {
|
|
4
4
|
HEADLESS_YOLO_NO_SANDBOX_WARNING
|
|
5
5
|
} from "./chunk-BJBWRCSK.js";
|
|
6
|
+
import {
|
|
7
|
+
DEFAULT_RING_SIZE
|
|
8
|
+
} from "./chunk-3UP777ZS.js";
|
|
9
|
+
import {
|
|
10
|
+
DEFAULT_COMPACTED_REPLAY_MAX_BYTES
|
|
11
|
+
} from "./chunk-GLE2YUPU.js";
|
|
6
12
|
import {
|
|
7
13
|
normalizeServeChannelSelection
|
|
8
14
|
} from "./chunk-MX2YXRER.js";
|
|
9
15
|
import {
|
|
10
16
|
loadSettings
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import {
|
|
13
|
-
DEFAULT_RING_SIZE
|
|
14
|
-
} from "./chunk-G7ZG7CA6.js";
|
|
17
|
+
} from "./chunk-M7S4GK5Z.js";
|
|
15
18
|
import {
|
|
16
19
|
writeStderrLine
|
|
17
20
|
} from "./chunk-Y6Z2O3WR.js";
|
|
18
21
|
import {
|
|
19
22
|
MCP_BUDGET_WARN_FRACTION,
|
|
20
23
|
parsePositiveIntegerEnv
|
|
21
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-3GNOQZDC.js";
|
|
22
25
|
import {
|
|
23
26
|
openBrowserSecurely,
|
|
24
27
|
shouldLaunchBrowser
|
|
@@ -88,6 +91,9 @@ var serveCommand = {
|
|
|
88
91
|
type: "number",
|
|
89
92
|
default: 20,
|
|
90
93
|
description: "Cap on concurrent live sessions. New spawn requests beyond this return 503; attach to existing sessions still works. Set to 0 to disable."
|
|
94
|
+
}).option("max-total-sessions", {
|
|
95
|
+
type: "number",
|
|
96
|
+
description: "Non-negative integer cap on concurrent live sessions across all workspace runtimes. Set to 0 to disable."
|
|
91
97
|
}).option("max-pending-prompts-per-session", {
|
|
92
98
|
type: "number",
|
|
93
99
|
default: 5,
|
|
@@ -96,7 +102,7 @@ var serveCommand = {
|
|
|
96
102
|
type: "string",
|
|
97
103
|
array: true,
|
|
98
104
|
requiresArg: true,
|
|
99
|
-
description: "Absolute workspace path this daemon binds to. POST /session requests with a mismatched cwd return 400 workspace_mismatch. Defaults to process.cwd() when omitted.
|
|
105
|
+
description: "Absolute workspace path this daemon binds to. POST /session requests with a mismatched cwd return 400 workspace_mismatch. Defaults to process.cwd() when omitted. Repeat for sessions-only multi-workspace mode; legacy workspace APIs remain primary-workspace only."
|
|
100
106
|
}).option("max-connections", {
|
|
101
107
|
type: "number",
|
|
102
108
|
default: 256,
|
|
@@ -139,10 +145,14 @@ var serveCommand = {
|
|
|
139
145
|
// one place rather than drifting between CLI and bus.
|
|
140
146
|
default: DEFAULT_RING_SIZE,
|
|
141
147
|
description: "Per-session SSE replay ring depth. Sets the replay backlog available to `GET /session/:id/events` reconnects that send a `Last-Event-ID: N` header. Larger = more reconnect headroom at the cost of a few hundred KB extra RAM per session. Must be a positive finite integer."
|
|
148
|
+
}).option("compacted-replay-max-bytes", {
|
|
149
|
+
type: "number",
|
|
150
|
+
default: DEFAULT_COMPACTED_REPLAY_MAX_BYTES,
|
|
151
|
+
description: "Per-session in-memory compacted replay snapshot byte cap for `POST /session/:id/load` late attaches. Larger = more recent history in load snapshots at higher heap cost. Must be a positive safe integer no larger than 256 MiB."
|
|
142
152
|
}).option("http-bridge", {
|
|
143
153
|
type: "boolean",
|
|
144
154
|
default: true,
|
|
145
|
-
description: "
|
|
155
|
+
description: "HTTP bridge mode: one `qwen --acp` child per registered workspace (sessions-only multi-workspace routing is enabled when multiple --workspace values are supplied). Stage 2 native in-process mode is not yet implemented; this flag will become opt-in then."
|
|
146
156
|
}).option("mcp-client-budget", {
|
|
147
157
|
type: "number",
|
|
148
158
|
description: "Cap on live MCP clients spawned inside the ACP child for the bound workspace. Positive integer. Combine with --mcp-budget-mode to control behavior at the cap. When unset, mode defaults to off (no accounting-driven enforcement, but GET /workspace/mcp still reports `clientCount`). Distinct from claude-code MCP_SERVER_CONNECTION_BATCH_SIZE which gates startup concurrency, not the total client count."
|
|
@@ -287,7 +297,7 @@ var serveCommand = {
|
|
|
287
297
|
process.exit(1);
|
|
288
298
|
}
|
|
289
299
|
}
|
|
290
|
-
const { runQwenServe } = await import("./run-qwen-serve-
|
|
300
|
+
const { runQwenServe } = await import("./run-qwen-serve-JK2DL7PI.js");
|
|
291
301
|
try {
|
|
292
302
|
const handle = await runQwenServe({
|
|
293
303
|
port: argv.port,
|
|
@@ -295,9 +305,11 @@ var serveCommand = {
|
|
|
295
305
|
token: argv.token,
|
|
296
306
|
mode: "http-bridge",
|
|
297
307
|
maxSessions: argv["max-sessions"],
|
|
308
|
+
...argv["max-total-sessions"] !== void 0 ? { maxTotalSessions: argv["max-total-sessions"] } : {},
|
|
298
309
|
maxPendingPromptsPerSession,
|
|
299
310
|
maxConnections: argv["max-connections"],
|
|
300
311
|
eventRingSize: argv["event-ring-size"],
|
|
312
|
+
compactedReplayMaxBytes: argv["compacted-replay-max-bytes"],
|
|
301
313
|
workspace: argv.workspace,
|
|
302
314
|
requireAuth: argv["require-auth"],
|
|
303
315
|
enableSessionShell: argv["enable-session-shell"],
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-O33TBKDC.js";
|
|
6
6
|
import {
|
|
7
7
|
computeThresholds,
|
|
8
8
|
getCoreSystemPrompt
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3GNOQZDC.js";
|
|
10
10
|
import {
|
|
11
11
|
buildSkillLlmContent
|
|
12
12
|
} from "./chunk-NQKLOAVJ.js";
|
|
13
13
|
import {
|
|
14
14
|
DiscoveredMCPTool,
|
|
15
15
|
uiTelemetryService
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-BUZ6HGL4.js";
|
|
17
17
|
import {
|
|
18
18
|
ToolNames
|
|
19
19
|
} from "./chunk-X3YGAX7V.js";
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
SessionNotFoundError
|
|
5
|
+
} from "./chunk-GGQQA4JW.js";
|
|
6
|
+
import {
|
|
7
|
+
init_esbuild_shims
|
|
8
|
+
} from "./chunk-A4BMJM77.js";
|
|
9
|
+
import {
|
|
10
|
+
__name
|
|
11
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
12
|
+
|
|
13
|
+
// packages/cli/src/serve/workspace-registry.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
function createWorkspaceRegistry(inputRuntimes) {
|
|
16
|
+
if (inputRuntimes.length === 0) {
|
|
17
|
+
throw new Error(
|
|
18
|
+
"WorkspaceRegistry requires at least one workspace runtime."
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
const primaryRuntimes = inputRuntimes.filter((runtime) => runtime.primary);
|
|
22
|
+
if (primaryRuntimes.length !== 1) {
|
|
23
|
+
throw new Error(
|
|
24
|
+
"WorkspaceRegistry requires exactly one primary workspace runtime."
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
const byCwd = /* @__PURE__ */ new Map();
|
|
28
|
+
const byId = /* @__PURE__ */ new Map();
|
|
29
|
+
for (const runtime of inputRuntimes) {
|
|
30
|
+
if (byCwd.has(runtime.workspaceCwd)) {
|
|
31
|
+
throw new Error(
|
|
32
|
+
`Duplicate workspace runtime cwd ${JSON.stringify(
|
|
33
|
+
runtime.workspaceCwd
|
|
34
|
+
)}.`
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
byCwd.set(runtime.workspaceCwd, runtime);
|
|
38
|
+
if (byId.has(runtime.workspaceId)) {
|
|
39
|
+
throw new Error(
|
|
40
|
+
`Duplicate workspace runtime id ${JSON.stringify(
|
|
41
|
+
runtime.workspaceId
|
|
42
|
+
)}.`
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
byId.set(runtime.workspaceId, runtime);
|
|
46
|
+
}
|
|
47
|
+
const runtimes = Object.freeze([...inputRuntimes]);
|
|
48
|
+
const primary = primaryRuntimes[0];
|
|
49
|
+
return {
|
|
50
|
+
primary,
|
|
51
|
+
list: /* @__PURE__ */ __name(() => runtimes, "list"),
|
|
52
|
+
getByWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => byCwd.get(workspaceCwd), "getByWorkspaceCwd"),
|
|
53
|
+
getByWorkspaceId: /* @__PURE__ */ __name((workspaceId) => byId.get(workspaceId), "getByWorkspaceId"),
|
|
54
|
+
resolveWorkspaceCwd: /* @__PURE__ */ __name((workspaceCwd) => workspaceCwd === void 0 ? primary : byCwd.get(workspaceCwd), "resolveWorkspaceCwd"),
|
|
55
|
+
resolveLiveSessionOwner: /* @__PURE__ */ __name((sessionId) => {
|
|
56
|
+
const matches = [];
|
|
57
|
+
for (const runtime of runtimes) {
|
|
58
|
+
try {
|
|
59
|
+
runtime.bridge.getSessionSummary(sessionId);
|
|
60
|
+
matches.push(runtime);
|
|
61
|
+
} catch (err) {
|
|
62
|
+
if (err instanceof SessionNotFoundError) continue;
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (matches.length === 0) return { kind: "not_found" };
|
|
67
|
+
if (matches.length === 1) {
|
|
68
|
+
return { kind: "found", runtime: matches[0] };
|
|
69
|
+
}
|
|
70
|
+
return { kind: "ambiguous", runtimes: matches };
|
|
71
|
+
}, "resolveLiveSessionOwner")
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
__name(createWorkspaceRegistry, "createWorkspaceRegistry");
|
|
75
|
+
function createSingleWorkspaceRegistry(runtime) {
|
|
76
|
+
return createWorkspaceRegistry([runtime]);
|
|
77
|
+
}
|
|
78
|
+
__name(createSingleWorkspaceRegistry, "createSingleWorkspaceRegistry");
|
|
79
|
+
|
|
80
|
+
export {
|
|
81
|
+
createWorkspaceRegistry,
|
|
82
|
+
createSingleWorkspaceRegistry
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* @license
|
|
86
|
+
* Copyright 2026 Qwen Team
|
|
87
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
88
|
+
*/
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
ansiRegex,
|
|
8
8
|
init_ansi_regex,
|
|
9
9
|
stripAnsi
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3GNOQZDC.js";
|
|
11
11
|
import {
|
|
12
12
|
init_esbuild_shims
|
|
13
13
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -280,7 +280,8 @@ function sanitizeSensitiveText(text, maxLength = 200) {
|
|
|
280
280
|
}
|
|
281
281
|
__name(sanitizeSensitiveText, "sanitizeSensitiveText");
|
|
282
282
|
var FILENAME_CONTROL_CHARS_REGEX = /[\x00-\x1f\x7f-\x9f]/g;
|
|
283
|
-
|
|
283
|
+
var MULTILINE_CONTROL_CHARS_REGEX = /[\x00-\x08\x0b-\x1f\x7f-\x9f]/g;
|
|
284
|
+
function escapeControlChar(ch) {
|
|
284
285
|
switch (ch) {
|
|
285
286
|
case "\b":
|
|
286
287
|
return "\\b";
|
|
@@ -298,14 +299,21 @@ function escapeFilenameControlChar(ch) {
|
|
|
298
299
|
}
|
|
299
300
|
}
|
|
300
301
|
}
|
|
301
|
-
__name(
|
|
302
|
+
__name(escapeControlChar, "escapeControlChar");
|
|
302
303
|
function sanitizeFilenameForDisplay(name) {
|
|
303
304
|
return escapeAnsiCtrlCodes(name).replace(
|
|
304
305
|
FILENAME_CONTROL_CHARS_REGEX,
|
|
305
|
-
|
|
306
|
+
escapeControlChar
|
|
306
307
|
);
|
|
307
308
|
}
|
|
308
309
|
__name(sanitizeFilenameForDisplay, "sanitizeFilenameForDisplay");
|
|
310
|
+
function sanitizeMultilineForDisplay(text) {
|
|
311
|
+
return escapeAnsiCtrlCodes(text).replace(
|
|
312
|
+
MULTILINE_CONTROL_CHARS_REGEX,
|
|
313
|
+
escapeControlChar
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
__name(sanitizeMultilineForDisplay, "sanitizeMultilineForDisplay");
|
|
309
317
|
|
|
310
318
|
export {
|
|
311
319
|
stringWidth,
|
|
@@ -318,7 +326,8 @@ export {
|
|
|
318
326
|
wrapToVisualLines,
|
|
319
327
|
escapeAnsiCtrlCodes,
|
|
320
328
|
sanitizeSensitiveText,
|
|
321
|
-
sanitizeFilenameForDisplay
|
|
329
|
+
sanitizeFilenameForDisplay,
|
|
330
|
+
sanitizeMultilineForDisplay
|
|
322
331
|
};
|
|
323
332
|
/**
|
|
324
333
|
* @license
|