@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260717.f8e6e8931
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/settings.md +7 -6
- package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +53 -17
- package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
- package/bundled/qc-helper/docs/features/sandbox.md +2 -0
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
- package/bundled/qc-helper/docs/qwen-serve.md +53 -46
- package/bundled/review/SKILL.md +163 -403
- package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-JGTP7YJQ.js} +13 -13
- package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-2XQDOYZ5.js} +27 -27
- package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-RXRJA7GD.js} +1135 -373
- package/chunks/{agent-Z7NWL6XL.js → agent-UQP53UWQ.js} +10 -10
- package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-I52OXDCK.js} +10 -10
- package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-HBRXJSP4.js} +76 -14
- package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-MIZLXBLF.js} +1 -1
- package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-XMJVPNWM.js} +1 -1
- package/chunks/{bridge-XFKW6S7Q.js → bridge-3DVRNBSF.js} +14 -16
- package/chunks/{ca-C2JTT2N5.js → ca-CODEN7TD.js} +5 -0
- package/chunks/channel-worker-group-SOUWTFHC.js +21 -0
- package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-LOVSV3WW.js} +34 -10
- package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-XW6MHJBQ.js} +6 -4
- package/chunks/{chunk-BBNVFRGD.js → chunk-3DWIFU7L.js} +1 -1
- package/chunks/{chunk-ZQTZXVHP.js → chunk-3KSHYS4T.js} +4 -18
- package/chunks/{chunk-ZKMGAFYV.js → chunk-3LS57JZI.js} +1 -1
- package/chunks/{chunk-B5I2IIWY.js → chunk-46Y6SSQ7.js} +5 -5
- package/chunks/{chunk-GDQQRV43.js → chunk-4BJVSIS3.js} +2 -2
- package/chunks/{chunk-L37RC7MQ.js → chunk-4HTHLSIH.js} +1 -1
- package/chunks/{chunk-DPFBNG72.js → chunk-4UBEB74N.js} +1 -1
- package/chunks/{chunk-AAR5SGMD.js → chunk-4YR7FSAM.js} +7 -5
- package/chunks/{chunk-OATTJGPJ.js → chunk-5CNYZ7TN.js} +7 -7
- package/chunks/{chunk-JSJFKYWT.js → chunk-5VWYKIMW.js} +1 -1
- package/chunks/{chunk-6GETGQWP.js → chunk-5WWYHNAH.js} +39 -10
- package/chunks/{chunk-65N2J6V2.js → chunk-6ANLV27M.js} +2 -2
- package/chunks/{chunk-L62SEJWY.js → chunk-6RV42SFP.js} +4 -4
- package/chunks/{chunk-XXJKGHZV.js → chunk-6VMOP2Z7.js} +4 -4
- package/chunks/{chunk-URU5UEK6.js → chunk-6WGZDD67.js} +135 -68
- package/chunks/{chunk-7NAWTFVY.js → chunk-6WPJRYLZ.js} +2 -2
- package/chunks/chunk-6WVLHULT.js +59 -0
- package/chunks/{chunk-N6FXRR6P.js → chunk-7ZFXHKKZ.js} +1 -1
- package/chunks/{chunk-E67NFMF4.js → chunk-A2HWMJVO.js} +35 -1
- package/chunks/{chunk-4FMG7EDJ.js → chunk-AEKHQ3E5.js} +77 -11
- package/chunks/{chunk-WIASPMLX.js → chunk-AH3YAJU6.js} +22 -33
- package/chunks/{chunk-6GKMJPOC.js → chunk-AHAH5H6D.js} +3 -3
- package/chunks/{chunk-3XJFUTNM.js → chunk-AVAU67KP.js} +57 -10
- package/chunks/{chunk-LNUXFLLJ.js → chunk-BDHYJ2MM.js} +53 -5
- package/chunks/{chunk-P6LART6G.js → chunk-BTSE2DUP.js} +957 -122
- package/chunks/{chunk-7MJAZMXK.js → chunk-BZ5D7OVV.js} +28 -77
- package/chunks/{chunk-WDWJ4OQJ.js → chunk-CC2UASQ4.js} +3 -3
- package/chunks/{chunk-WLXYAKV7.js → chunk-D7KYA6EY.js} +3 -3
- package/chunks/{chunk-5LROA5W4.js → chunk-DD45XVOQ.js} +3 -3
- package/chunks/{chunk-H3FQOPPS.js → chunk-DOPUYNXO.js} +2 -2
- package/chunks/{chunk-SPUYQB4T.js → chunk-DPXB3XRN.js} +1 -1
- package/chunks/{chunk-XLIRF7IK.js → chunk-E7ECGLZW.js} +1 -1
- package/chunks/{chunk-RDRVMDWV.js → chunk-EMJJBXS7.js} +10 -10
- package/chunks/{chunk-TXY2C3D2.js → chunk-F333XEAU.js} +1 -1
- package/chunks/chunk-FEOZBUMT.js +77 -0
- package/chunks/{chunk-YYPXHMWO.js → chunk-FEYHXPZG.js} +4 -4
- package/chunks/{chunk-ZRKBI3DP.js → chunk-FNX3LGAK.js} +1 -1
- package/chunks/chunk-FXK3QMRD.js +140 -0
- package/chunks/{chunk-422XAKCK.js → chunk-G5ZKRK2E.js} +2 -2
- package/chunks/{chunk-DK33QJ3V.js → chunk-GCRFH57X.js} +732 -13
- package/chunks/{chunk-EQY6POVO.js → chunk-GLEJW7T2.js} +1 -1
- package/chunks/{chunk-FXMC7SL2.js → chunk-I6NOSIVF.js} +1 -1
- package/chunks/{chunk-VBRRNQB7.js → chunk-IHJRUIWN.js} +109 -22
- package/chunks/{chunk-F7NXQH4Y.js → chunk-IIXEI2VE.js} +1 -1
- package/chunks/{chunk-2UUAIFQO.js → chunk-JGUT3LWZ.js} +5 -0
- package/chunks/{chunk-5EBKKSBX.js → chunk-JY74T7PW.js} +1 -1
- package/chunks/chunk-KSZKSE23.js +226 -0
- package/chunks/{chunk-MO7O5722.js → chunk-KW46DBFM.js} +35 -2
- package/chunks/{chunk-TISZXPAX.js → chunk-L263ROM6.js} +1 -1
- package/chunks/chunk-LXXMOYPL.js +22 -0
- package/chunks/{chunk-YX4LLZ3D.js → chunk-NABT4VOY.js} +109 -35
- package/chunks/{chunk-W34A5MJH.js → chunk-NROLDLP4.js} +1 -1
- package/chunks/{chunk-V7EQTZYR.js → chunk-O3WCEZEN.js} +191 -44
- package/chunks/{chunk-K4PZ5F5T.js → chunk-OWT2CAEQ.js} +1 -1
- package/chunks/{chunk-4YWLED2A.js → chunk-PNCWEDF6.js} +7 -4
- package/chunks/{chunk-WDW64OW3.js → chunk-PSDTLRAV.js} +5 -5
- package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
- package/chunks/{chunk-K7CRWKOE.js → chunk-R6AO7HBQ.js} +4617 -4012
- package/chunks/{chunk-6OATMEYN.js → chunk-RTV5TUYB.js} +12 -4
- package/chunks/{chunk-6W6DI34P.js → chunk-SE6GSFAO.js} +159 -2
- package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
- package/chunks/chunk-T4TZQJ7W.js +48 -0
- package/chunks/{chunk-LTNI523B.js → chunk-T7CZYIAU.js} +28 -5
- package/chunks/{chunk-3MX7D6QN.js → chunk-TIOE2OPE.js} +32 -4
- package/chunks/{chunk-TTUO4DNG.js → chunk-UF6ZTWU5.js} +75 -710
- package/chunks/{chunk-Q5GLXH5Q.js → chunk-UJG4VV2O.js} +5 -5
- package/chunks/{chunk-CJFNEBYB.js → chunk-VFEZWI6F.js} +1 -1
- package/chunks/{chunk-UFOKA4PR.js → chunk-VHCSIMTF.js} +114 -4
- package/chunks/{chunk-TQBODCFD.js → chunk-VRR65QYW.js} +250 -2
- package/chunks/{chunk-CUUXANEQ.js → chunk-W6J7RSCK.js} +6 -1
- package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
- package/chunks/{chunk-WX6SD4IQ.js → chunk-WTNZ6DXB.js} +1 -1
- package/chunks/{chunk-GGJII3FM.js → chunk-WZJELXEU.js} +92 -3
- package/chunks/{chunk-OFEVHGVU.js → chunk-X5HZX4EP.js} +9 -11
- package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
- package/chunks/{chunk-7L4XBYVW.js → chunk-XK42MWWO.js} +9 -2
- package/chunks/{chunk-X362TMXZ.js → chunk-XQDPCQ3A.js} +7 -5
- package/chunks/{chunk-YU56QGXX.js → chunk-Y3TNSHKF.js} +1 -1
- package/chunks/{chunk-HHEFI4RP.js → chunk-YOJGIRTD.js} +714 -109
- package/chunks/{chunk-CEW4HDPK.js → chunk-ZK4AMPKI.js} +2459 -350
- package/chunks/{chunk-SXU3KKNI.js → chunk-ZQIYGQCG.js} +251 -54
- package/chunks/{computer-use-IYTX45WA.js → computer-use-LTW3VB6L.js} +10 -10
- package/chunks/{config-utils-CFT33LTP.js → config-utils-IQQT3GCI.js} +3 -3
- package/chunks/{contextCommand-272V77WU.js → contextCommand-GLMC6CTP.js} +12 -12
- package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-EAB2U5XW.js} +1 -1
- package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-YMWQAWSN.js} +10 -10
- package/chunks/{cron-create-36TIFKRT.js → cron-create-GMVKSXZT.js} +1 -1
- package/chunks/{cron-delete-OQD3WULU.js → cron-delete-VDZKUAVK.js} +1 -1
- package/chunks/{cron-list-4533T2FH.js → cron-list-UG7C7RAR.js} +1 -1
- package/chunks/{daemon-RNGFPMAB.js → daemon-PRB64RP5.js} +303 -71
- package/chunks/{daemon-status-provider-L4STG5VO.js → daemon-status-provider-5OMM5JHF.js} +19 -20
- package/chunks/{de-2VCDRDGU.js → de-NOXPCSYN.js} +5 -0
- package/chunks/{dist-ERCPDVA6.js → dist-4WCQEZIN.js} +4 -51
- package/chunks/{dist-MOEC47TR.js → dist-DOPL5LSQ.js} +1 -1
- package/chunks/{dist-JZE7F6YR.js → dist-GXJVCOS7.js} +1 -1
- package/chunks/{dist-PHEPJLXD.js → dist-PX2ERZ6I.js} +2 -2
- package/chunks/{dist-HNN7DR2L.js → dist-V2YVLYOW.js} +58 -30
- package/chunks/{dist-3V3ZV6ML.js → dist-VYWUKURL.js} +1 -1
- package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-A3WSRN4T.js} +10 -10
- package/chunks/{edit-OMAF2QDR.js → edit-7PG4AH27.js} +10 -10
- package/chunks/{en-NJCA3TAA.js → en-JFVULHTB.js} +6 -0
- package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-QUSB44RE.js} +10 -10
- package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-NVSIEL7X.js} +10 -10
- package/chunks/{environment-7TEWMJYN.js → environment-AHHXHQTI.js} +12 -12
- package/chunks/{errors-I4VKVX3F.js → errors-NSWSRXC7.js} +12 -12
- package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-FXYEYHPL.js} +10 -10
- package/chunks/{exitPlanMode-IHCJ5EEI.js → exitPlanMode-JI5GK3F6.js} +10 -10
- package/chunks/{fast-path-ZA57TOH4.js → fast-path-X7EVDLKZ.js} +2 -2
- package/chunks/{fr-5F3E7WKD.js → fr-HVFNU42H.js} +5 -0
- package/chunks/{gemini-UOAKVXBG.js → gemini-YRLHY5KS.js} +162 -206
- package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-SPLFPV5E.js} +1 -1
- package/chunks/{glob-4GJQ2UFF.js → glob-WASUBCSA.js} +10 -10
- package/chunks/{grep-5QSYXF2E.js → grep-DUVG3NGA.js} +10 -10
- package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-NGE5AQ2N.js} +14 -14
- package/chunks/{i18n-CYDUTF6F.js → i18n-QNVR36NB.js} +11 -11
- package/chunks/{initializer-NRFKUGIO.js → initializer-ZY7ORPMH.js} +15 -15
- package/chunks/{installationInfo-WELKRHHE.js → installationInfo-4R75MFTB.js} +11 -11
- package/chunks/{ja-66J6B53L.js → ja-PY5AF544.js} +5 -0
- package/chunks/{list-JVDXEG2E.js → list-36JCMZRS.js} +18 -18
- package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-PQIOJUSJ.js} +15 -15
- package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-QXWZSCYM.js} +2 -2
- package/chunks/{ls-RXNIAQDE.js → ls-2OUTG3IZ.js} +1 -1
- package/chunks/{lsp-HB5LM5IL.js → lsp-4VMNXZW6.js} +1 -1
- package/chunks/{mcp-YHOZN3ZM.js → mcp-QXY6XA6H.js} +15 -15
- package/chunks/{monitor-R7XZPJHQ.js → monitor-AVEKRSY3.js} +12 -11
- package/chunks/{nonInteractiveCli-NSOB6D74.js → nonInteractiveCli-YWIBKX4M.js} +50 -50
- package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-4SBTJX72.js} +10 -10
- package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-4EBAO7LR.js} +8 -8
- package/chunks/{pidfile-XE4RRR2P.js → pidfile-JMIUPXSU.js} +10 -10
- package/chunks/processUtils-EOINMEIH.js +29 -0
- package/chunks/{pt-TFZO5Y6T.js → pt-A3PRQXMU.js} +5 -0
- package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-M7UBL3JS.js} +12 -12
- package/chunks/{read-file-XSUWXSR7.js → read-file-DXSEFHCV.js} +5 -5
- package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-JUFHCKSC.js} +1 -1
- package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-DWSMBXYY.js} +1 -1
- package/chunks/{ripGrep-APB3CDMU.js → ripGrep-VTRVFMDJ.js} +10 -10
- package/chunks/{ru-4L4LFHIT.js → ru-IBCWUTOC.js} +5 -0
- package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-P7WQDZAS.js} +59 -38
- package/chunks/{runtime-EIO3NQKR.js → runtime-UHYO6JGN.js} +19 -19
- package/chunks/{scheduler-JJDZBDRN.js → scheduler-WTK7ZLV5.js} +10 -10
- package/chunks/{send-message-SR4WSXP2.js → send-message-JZ752NWD.js} +2 -2
- package/chunks/{serve-WTIPB3EI.js → serve-AG2AOG56.js} +15 -15
- package/chunks/{server-NJPHQHLH.js → server-G5MM2BRI.js} +1157 -225
- package/chunks/{session-O4AO7FTS.js → session-NUAGEMVS.js} +51 -51
- package/chunks/{settings-HQNDK7TG.js → settings-VQA5PR2M.js} +14 -14
- package/chunks/{shell-UIXM6PWG.js → shell-X33RWGLP.js} +12 -10
- package/chunks/{skill-3XMB4ULV.js → skill-PHSU2OPP.js} +5 -5
- package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-D6TZN4W7.js} +12 -13
- package/chunks/{src-USZKPUOC.js → src-6OJFUPTL.js} +95 -34
- package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-ZARRW44Y.js} +12 -12
- package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-C6IZRTF3.js} +176 -158
- package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-LELY6HAI.js} +2 -2
- package/chunks/{task-create-NUFOHU53.js → task-create-QY3BIMNM.js} +3 -3
- package/chunks/{task-list-Z2IKQY3S.js → task-list-D2U47WBJ.js} +1 -1
- package/chunks/{task-stop-KQFIVQTJ.js → task-stop-N6E5IYLH.js} +1 -1
- package/chunks/{task-update-HKADXSTD.js → task-update-HJCQILLB.js} +3 -3
- package/chunks/{team-create-XXPRF3IQ.js → team-create-H434NQP2.js} +10 -10
- package/chunks/{team-delete-SDNTGZLG.js → team-delete-RCWYDRF4.js} +1 -1
- package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-IIOHXZU6.js} +10 -10
- package/chunks/{theme-manager-P6UITO2L.js → theme-manager-IEOPHMX6.js} +10 -10
- package/chunks/{todoWrite-YNXB27GB.js → todoWrite-FKCGATPJ.js} +1 -1
- package/chunks/{tool-search-DDNGK2LR.js → tool-search-WIIEDALL.js} +6 -6
- package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-WU3DORRW.js} +15 -17
- package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-JVUTUAJ3.js} +11 -11
- package/chunks/update-relaunch-X5EQKCH5.js +87 -0
- package/chunks/{updateCheck-QTVVISH7.js → updateCheck-TGO2X735.js} +14 -12
- package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-2MEUL2ME.js} +46 -46
- package/chunks/{version-U45RYOSD.js → version-KBGQKZWV.js} +1 -1
- package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-CFCWTCAP.js} +2 -3
- package/chunks/{workflow-TCIAQYOA.js → workflow-PAOSF4CG.js} +11 -11
- package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-AYHJYSVO.js} +18 -18
- package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-GZMR53QL.js} +1 -1
- package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-C2IXZWPF.js} +15 -17
- package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-KDDAW33F.js} +20 -21
- package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-WWEZBZXY.js} +16 -16
- package/chunks/{write-file-JGRQR5VM.js → write-file-ACN3TAIX.js} +10 -10
- package/chunks/{zh-FSAH32JB.js → zh-PAUNIMHQ.js} +6 -0
- package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-GNEUIUFF.js} +6 -0
- package/cli-entry.js +92 -8
- package/cli.js +11 -11
- package/locales/ca.js +10 -0
- package/locales/de.js +10 -0
- package/locales/en.js +11 -0
- package/locales/fr.js +10 -0
- package/locales/ja.js +10 -0
- package/locales/pt.js +10 -0
- package/locales/ru.js +10 -0
- package/locales/zh-TW.js +11 -0
- package/locales/zh.js +11 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-CUeDlxvE.js → arc-Blc5_CnD.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-Dyv1BvGP.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-CVAb8DyB.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-ClHPb_6S.js} +1 -1
- package/web-shell/assets/channel-DkPTtnGS.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-Dad9g3ZA.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-IJJSSdDs.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-DRcc-Hl9.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-DOCFB-6a.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-CRZnSjHp.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-BwUI4Yes.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DLy8doxd.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-Bhz7iysj.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DBdPU8ix.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBdPU8ix.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-jT1e8KzN.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-C1veApQk.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-C_NOwKeT.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-Bigfuz1r.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-CpXltPpU.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DYawbYbH.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-D2t-ttd1.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-Buc53PB5.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-DwdFsCN7.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-XhiEKGoP.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-D6We014a.js} +1 -1
- package/web-shell/assets/index-BctAmeF3.js +1143 -0
- package/web-shell/assets/{index-DzHwQkQq.js → index-CAWqS-bZ.js} +1 -1
- package/web-shell/assets/index-DLyhlZZO.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-C_iugRHQ.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-CAn9Kaix.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-BjDYOkEB.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-Br_oI3Ob.js} +1 -1
- package/web-shell/assets/{linear-atZRE_L2.js → linear-BqnWHE9E.js} +1 -1
- package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-CT-sofSb.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-BbvrZR4B.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-gAwi3h_Q.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CONvBIuO.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-lpkrcy1e.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Bk6FJHqb.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-B9b9bBzt.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-JqBGC-S3.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B_w4fDnm.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-CCCceXDP.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-EHRnmZ09.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-CYIcHx3_.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-B81AuYRl.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-DOQ6E3z7.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
- package/chunks/chunk-B7NUUEXC.js +0 -311
- package/chunks/chunk-CARU2RR2.js +0 -24
- package/chunks/chunk-GYTKQYDB.js +0 -23
- package/chunks/chunk-LQU7EVFA.js +0 -30
- package/chunks/chunk-OCPBI7J5.js +0 -18
- package/chunks/chunk-OJAMDVF5.js +0 -66
- package/chunks/chunk-TEGEBB2I.js +0 -122
- package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
- package/web-shell/assets/index-Cnvv4VcI.css +0 -5
- package/web-shell/assets/index-D1Uyklxa.js +0 -1088
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +0 -1
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import {
|
|
4
4
|
settleChatRecording,
|
|
5
5
|
subscribeToHeadlessChatRecordingFailures
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VFEZWI6F.js";
|
|
7
|
+
import {
|
|
8
|
+
handleAtCommand
|
|
9
|
+
} from "./chunk-XQDPCQ3A.js";
|
|
7
10
|
import {
|
|
8
11
|
JsonOutputAdapter
|
|
9
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-IIXEI2VE.js";
|
|
10
13
|
import {
|
|
11
14
|
StreamJsonOutputAdapter
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
handleAtCommand
|
|
15
|
-
} from "./chunk-X362TMXZ.js";
|
|
15
|
+
} from "./chunk-T7CZYIAU.js";
|
|
16
16
|
import {
|
|
17
17
|
buildInitialSystemReminders,
|
|
18
18
|
buildSystemMessage,
|
|
@@ -24,10 +24,10 @@ import {
|
|
|
24
24
|
insertAfterFunctionResponses,
|
|
25
25
|
isSlashCommand,
|
|
26
26
|
normalizePartList
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-NABT4VOY.js";
|
|
28
28
|
import {
|
|
29
29
|
RunBudgetEnforcer
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-ZK4AMPKI.js";
|
|
31
31
|
import {
|
|
32
32
|
AlreadyReportedError,
|
|
33
33
|
handleBudgetExceededError,
|
|
@@ -35,31 +35,35 @@ import {
|
|
|
35
35
|
handleError,
|
|
36
36
|
handleMaxTurnsExceededError,
|
|
37
37
|
handleToolError
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-6ANLV27M.js";
|
|
39
39
|
import {
|
|
40
40
|
isInlineModelOverrideAllowed
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-WZJELXEU.js";
|
|
42
42
|
import {
|
|
43
43
|
buildSessionRecoveryPlanFromApiHistory,
|
|
44
|
+
canonicalToolName,
|
|
44
45
|
createDuplicateProviderToolCallResponse,
|
|
45
46
|
detectAutonomousSentinel,
|
|
46
47
|
detectLoopSentinel,
|
|
47
48
|
executeToolCall,
|
|
48
49
|
findRepeatedDuplicateProviderToolCall,
|
|
49
50
|
isSystemReminderContent,
|
|
51
|
+
isToolCallConcurrencySafe,
|
|
50
52
|
markDuplicateProviderToolCallResponseSent,
|
|
51
53
|
parseAndFormatApiError,
|
|
54
|
+
parsePositiveIntegerEnv,
|
|
55
|
+
partitionByConcurrencySafety,
|
|
52
56
|
promptIdContext,
|
|
53
57
|
restoreWorktreeContext
|
|
54
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-R6AO7HBQ.js";
|
|
55
59
|
import {
|
|
56
60
|
isTelemetrySdkInitialized,
|
|
57
61
|
shutdownTelemetry,
|
|
58
62
|
uiTelemetryService
|
|
59
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-BTSE2DUP.js";
|
|
60
64
|
import {
|
|
61
65
|
ToolNames
|
|
62
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-JGUT3LWZ.js";
|
|
63
67
|
import {
|
|
64
68
|
FatalInputError,
|
|
65
69
|
createDebugLogger
|
|
@@ -155,6 +159,18 @@ async function emitNonInteractiveFinalMessage(params) {
|
|
|
155
159
|
});
|
|
156
160
|
}
|
|
157
161
|
__name(emitNonInteractiveFinalMessage, "emitNonInteractiveFinalMessage");
|
|
162
|
+
function partitionHeadlessToolCalls(requests, config) {
|
|
163
|
+
const registry = config.getToolRegistry();
|
|
164
|
+
return partitionByConcurrencySafety(
|
|
165
|
+
requests,
|
|
166
|
+
(request) => isToolCallConcurrencySafe(
|
|
167
|
+
request.name,
|
|
168
|
+
registry.getTool(canonicalToolName(request.name))?.kind,
|
|
169
|
+
request.args
|
|
170
|
+
)
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
__name(partitionHeadlessToolCalls, "partitionHeadlessToolCalls");
|
|
158
174
|
async function runNonInteractive(config, settings, input, prompt_id, options = {}) {
|
|
159
175
|
return promptIdContext.run(prompt_id, async () => {
|
|
160
176
|
let adapter;
|
|
@@ -676,8 +692,15 @@ ${text}
|
|
|
676
692
|
const executedRequests = new Set(
|
|
677
693
|
respondedRequests
|
|
678
694
|
);
|
|
679
|
-
|
|
680
|
-
|
|
695
|
+
const toolBatches = partitionHeadlessToolCalls(
|
|
696
|
+
requestsToExecute,
|
|
697
|
+
config
|
|
698
|
+
);
|
|
699
|
+
const isBudgetExempt = /* @__PURE__ */ __name((requestInfo) => requestInfo.name === ToolNames.STRUCTURED_OUTPUT && config.getJsonSchema?.() !== void 0, "isBudgetExempt");
|
|
700
|
+
const launchToolCall = /* @__PURE__ */ __name(async (requestInfo) => {
|
|
701
|
+
debugLogger.debug(
|
|
702
|
+
`[runNonInteractive] launching tool call ${requestInfo.callId} (${requestInfo.name})`
|
|
703
|
+
);
|
|
681
704
|
const inputFormat = typeof config.getInputFormat === "function" ? config.getInputFormat() : "text" /* TEXT */;
|
|
682
705
|
const toolCallUpdateCallback = inputFormat === "stream-json" /* STREAM_JSON */ && options.controlService ? options.controlService.permission.getToolCallUpdateCallback() : void 0;
|
|
683
706
|
const isAgentTool = requestInfo.name === "agent";
|
|
@@ -686,12 +709,7 @@ ${text}
|
|
|
686
709
|
requestInfo.callId,
|
|
687
710
|
adapter
|
|
688
711
|
) : createToolProgressHandler(requestInfo, adapter);
|
|
689
|
-
const
|
|
690
|
-
if (!isStructuredOutputExempt) {
|
|
691
|
-
budgetEnforcer.tickToolCall();
|
|
692
|
-
}
|
|
693
|
-
if (abortController.signal.aborted) await routeAbort();
|
|
694
|
-
const toolResponse = await executeToolCall(
|
|
712
|
+
const response = await executeToolCall(
|
|
695
713
|
config,
|
|
696
714
|
requestInfo,
|
|
697
715
|
abortController.signal,
|
|
@@ -702,6 +720,12 @@ ${text}
|
|
|
702
720
|
}
|
|
703
721
|
}
|
|
704
722
|
);
|
|
723
|
+
debugLogger.debug(
|
|
724
|
+
`[runNonInteractive] tool call ${requestInfo.callId} (${requestInfo.name}) settled${response.error ? " with error" : ""}`
|
|
725
|
+
);
|
|
726
|
+
return response;
|
|
727
|
+
}, "launchToolCall");
|
|
728
|
+
const finalizeToolCall = /* @__PURE__ */ __name((requestInfo, toolResponse) => {
|
|
705
729
|
if (toolResponse.error) {
|
|
706
730
|
handleToolError(
|
|
707
731
|
requestInfo.name,
|
|
@@ -724,7 +748,70 @@ ${text}
|
|
|
724
748
|
}
|
|
725
749
|
if (requestInfo.name === ToolNames.STRUCTURED_OUTPUT && !toolResponse.error) {
|
|
726
750
|
structuredSubmission = requestInfo.args;
|
|
727
|
-
|
|
751
|
+
return true;
|
|
752
|
+
}
|
|
753
|
+
return false;
|
|
754
|
+
}, "finalizeToolCall");
|
|
755
|
+
const maxToolConcurrency = parsePositiveIntegerEnv(
|
|
756
|
+
process.env["QWEN_CODE_MAX_TOOL_CONCURRENCY"],
|
|
757
|
+
10
|
|
758
|
+
);
|
|
759
|
+
let sessionEnded = false;
|
|
760
|
+
for (const batch of toolBatches) {
|
|
761
|
+
if (sessionEnded) break;
|
|
762
|
+
if (batch.concurrent && batch.calls.length > 1) {
|
|
763
|
+
const launched = [];
|
|
764
|
+
const inFlight = /* @__PURE__ */ new Set();
|
|
765
|
+
for (const requestInfo of batch.calls) {
|
|
766
|
+
if (!isBudgetExempt(requestInfo)) {
|
|
767
|
+
budgetEnforcer.tickToolCall();
|
|
768
|
+
}
|
|
769
|
+
if (abortController.signal.aborted) break;
|
|
770
|
+
executedRequests.add(requestInfo);
|
|
771
|
+
const promise = launchToolCall(requestInfo);
|
|
772
|
+
launched.push({ requestInfo, promise });
|
|
773
|
+
const marker = promise.then(
|
|
774
|
+
() => {
|
|
775
|
+
},
|
|
776
|
+
() => {
|
|
777
|
+
}
|
|
778
|
+
).finally(() => {
|
|
779
|
+
inFlight.delete(marker);
|
|
780
|
+
});
|
|
781
|
+
inFlight.add(marker);
|
|
782
|
+
if (inFlight.size >= maxToolConcurrency) {
|
|
783
|
+
await Promise.race(inFlight);
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
const settled = await Promise.allSettled(
|
|
787
|
+
launched.map((l) => l.promise)
|
|
788
|
+
);
|
|
789
|
+
for (let i = 0; i < launched.length; i++) {
|
|
790
|
+
const outcome = settled[i];
|
|
791
|
+
if (outcome.status === "rejected") {
|
|
792
|
+
throw outcome.reason;
|
|
793
|
+
}
|
|
794
|
+
if (finalizeToolCall(launched[i].requestInfo, outcome.value)) {
|
|
795
|
+
sessionEnded = true;
|
|
796
|
+
break;
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
if (!sessionEnded && abortController.signal.aborted) {
|
|
800
|
+
await routeAbort();
|
|
801
|
+
}
|
|
802
|
+
} else {
|
|
803
|
+
for (const requestInfo of batch.calls) {
|
|
804
|
+
if (!isBudgetExempt(requestInfo)) {
|
|
805
|
+
budgetEnforcer.tickToolCall();
|
|
806
|
+
}
|
|
807
|
+
if (abortController.signal.aborted) await routeAbort();
|
|
808
|
+
executedRequests.add(requestInfo);
|
|
809
|
+
const toolResponse = await launchToolCall(requestInfo);
|
|
810
|
+
if (finalizeToolCall(requestInfo, toolResponse)) {
|
|
811
|
+
sessionEnded = true;
|
|
812
|
+
break;
|
|
813
|
+
}
|
|
814
|
+
}
|
|
728
815
|
}
|
|
729
816
|
}
|
|
730
817
|
const unexecutedCalls = executableBatchRequests.filter(
|
|
@@ -15562,6 +15562,10 @@ function hasCycleInSchema(schema) {
|
|
|
15562
15562
|
return traverse(schema, /* @__PURE__ */ new Set(), /* @__PURE__ */ new Set());
|
|
15563
15563
|
}
|
|
15564
15564
|
__name(hasCycleInSchema, "hasCycleInSchema");
|
|
15565
|
+
function isShellProgressData(display) {
|
|
15566
|
+
return typeof display === "object" && display !== null && "type" in display && display.type === "shell_progress";
|
|
15567
|
+
}
|
|
15568
|
+
__name(isShellProgressData, "isShellProgressData");
|
|
15565
15569
|
var ToolConfirmationOutcome = /* @__PURE__ */ ((ToolConfirmationOutcome2) => {
|
|
15566
15570
|
ToolConfirmationOutcome2["ProceedOnce"] = "proceed_once";
|
|
15567
15571
|
ToolConfirmationOutcome2["ProceedAlways"] = "proceed_always";
|
|
@@ -15723,6 +15727,7 @@ export {
|
|
|
15723
15727
|
BaseDeclarativeTool,
|
|
15724
15728
|
isTool,
|
|
15725
15729
|
hasCycleInSchema,
|
|
15730
|
+
isShellProgressData,
|
|
15726
15731
|
ToolConfirmationOutcome,
|
|
15727
15732
|
Kind,
|
|
15728
15733
|
MUTATOR_KINDS,
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
redactLogCredentials
|
|
5
|
+
} from "./chunk-M5GB774H.js";
|
|
6
|
+
import {
|
|
7
|
+
sanitizeLogText
|
|
8
|
+
} from "./chunk-ZQIYGQCG.js";
|
|
9
|
+
import {
|
|
10
|
+
stripAnsi
|
|
11
|
+
} from "./chunk-T4TZQJ7W.js";
|
|
12
|
+
import {
|
|
13
|
+
init_esbuild_shims
|
|
14
|
+
} from "./chunk-5O2XNYP6.js";
|
|
15
|
+
import {
|
|
16
|
+
__name
|
|
17
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
18
|
+
|
|
19
|
+
// packages/cli/src/serve/channel-worker-env.ts
|
|
20
|
+
init_esbuild_shims();
|
|
21
|
+
var CHANNEL_DAEMON_WORKER_SENTINEL = "QWEN_CHANNEL_DAEMON_WORKER";
|
|
22
|
+
var CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS = 15e3;
|
|
23
|
+
var QWEN_DAEMON_TOKEN_ENV = "QWEN_DAEMON_TOKEN";
|
|
24
|
+
var QWEN_DAEMON_URL_ENV = "QWEN_DAEMON_URL";
|
|
25
|
+
var QWEN_DAEMON_WORKSPACE_ENV = "QWEN_DAEMON_WORKSPACE";
|
|
26
|
+
var QWEN_SERVER_TOKEN_ENV = "QWEN_SERVER_TOKEN";
|
|
27
|
+
|
|
28
|
+
// packages/cli/src/serve/channel-webhook-ipc.ts
|
|
29
|
+
init_esbuild_shims();
|
|
30
|
+
import { randomUUID } from "node:crypto";
|
|
31
|
+
var CHANNEL_WEBHOOK_ENQUEUE_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
32
|
+
"channel_worker_unavailable",
|
|
33
|
+
"channel_webhook_enqueue_timeout",
|
|
34
|
+
"channel_webhook_queue_full",
|
|
35
|
+
"channel_webhook_target_unavailable",
|
|
36
|
+
"channel_webhook_invalid_task",
|
|
37
|
+
"channel_webhook_enqueue_failed"
|
|
38
|
+
]);
|
|
39
|
+
var ChannelWebhookEnqueueError = class extends Error {
|
|
40
|
+
constructor(code, message) {
|
|
41
|
+
super(message);
|
|
42
|
+
this.code = code;
|
|
43
|
+
this.name = "ChannelWebhookEnqueueError";
|
|
44
|
+
}
|
|
45
|
+
static {
|
|
46
|
+
__name(this, "ChannelWebhookEnqueueError");
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
function isChannelWebhookEnqueueErrorCode(value) {
|
|
50
|
+
return typeof value === "string" && CHANNEL_WEBHOOK_ENQUEUE_ERROR_CODES.has(value);
|
|
51
|
+
}
|
|
52
|
+
__name(isChannelWebhookEnqueueErrorCode, "isChannelWebhookEnqueueErrorCode");
|
|
53
|
+
function isChannelWebhookEnqueueError(value) {
|
|
54
|
+
return value instanceof ChannelWebhookEnqueueError || typeof value === "object" && value !== null && isChannelWebhookEnqueueErrorCode(value.code) && typeof value.message === "string";
|
|
55
|
+
}
|
|
56
|
+
__name(isChannelWebhookEnqueueError, "isChannelWebhookEnqueueError");
|
|
57
|
+
var CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS = 3e4;
|
|
58
|
+
function createChannelWebhookTaskMessage(task) {
|
|
59
|
+
return {
|
|
60
|
+
type: "webhook_task",
|
|
61
|
+
id: randomUUID(),
|
|
62
|
+
expiresAt: Date.now() + CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
|
|
63
|
+
task
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
__name(createChannelWebhookTaskMessage, "createChannelWebhookTaskMessage");
|
|
67
|
+
function isChannelWebhookTaskMessage(value) {
|
|
68
|
+
return typeof value === "object" && value !== null && value.type === "webhook_task" && typeof value.id === "string" && typeof value.expiresAt === "number" && typeof value.task === "object" && value.task !== null;
|
|
69
|
+
}
|
|
70
|
+
__name(isChannelWebhookTaskMessage, "isChannelWebhookTaskMessage");
|
|
71
|
+
function isChannelWebhookTaskResultMessage(value) {
|
|
72
|
+
return typeof value === "object" && value !== null && value.type === "webhook_task_result" && typeof value.id === "string" && typeof value.ok === "boolean";
|
|
73
|
+
}
|
|
74
|
+
__name(isChannelWebhookTaskResultMessage, "isChannelWebhookTaskResultMessage");
|
|
75
|
+
|
|
76
|
+
// packages/cli/src/serve/channel-worker-diagnostics.ts
|
|
77
|
+
init_esbuild_shims();
|
|
78
|
+
var WORKER_LOG_INVISIBLE_RE = new RegExp("[\\p{Cf}\\u2028\\u2029]|\\p{Variation_Selector}", "gu");
|
|
79
|
+
var WORKER_LOG_CONTROL_RE = /[\x00-\x1f\x7f-\x9f]/g;
|
|
80
|
+
function escapeRegExp(value) {
|
|
81
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
82
|
+
}
|
|
83
|
+
__name(escapeRegExp, "escapeRegExp");
|
|
84
|
+
function sensitiveEnvValues(env) {
|
|
85
|
+
const sensitiveKey = /(^|_)(TOKEN|SECRET|API_KEY|ACCESS_KEY|PRIVATE_KEY|CREDENTIAL|PASSWORD|PASSWD|PASSPHRASE|BASIC_AUTH|AUTH_TOKEN|AUTHORIZATION|SESSION_SECRET|SESSION_TOKEN|SESSION_KEY|SESSION_COOKIE|DSN|CONNECTION_STRING)($|_)/i;
|
|
86
|
+
return Object.entries(env).filter(([key, value]) => sensitiveKey.test(key) && value !== void 0).flatMap(([, value]) => {
|
|
87
|
+
const lines = value.split("\n").filter((line) => line.length >= 4);
|
|
88
|
+
return lines.length > 0 ? [value, ...lines] : [value];
|
|
89
|
+
}).filter((value) => value.length >= 4);
|
|
90
|
+
}
|
|
91
|
+
__name(sensitiveEnvValues, "sensitiveEnvValues");
|
|
92
|
+
function normalizeWorkerDiagnostic(value) {
|
|
93
|
+
return stripAnsi(value).replace(WORKER_LOG_INVISIBLE_RE, "").replace(WORKER_LOG_CONTROL_RE, "");
|
|
94
|
+
}
|
|
95
|
+
__name(normalizeWorkerDiagnostic, "normalizeWorkerDiagnostic");
|
|
96
|
+
function createWorkerDiagnosticRedactor(opts) {
|
|
97
|
+
const secretPatterns = [
|
|
98
|
+
...new Set(
|
|
99
|
+
[
|
|
100
|
+
...opts.daemonToken ? [opts.daemonToken] : [],
|
|
101
|
+
...sensitiveEnvValues(opts.workerEnv)
|
|
102
|
+
].flatMap((secret) => [
|
|
103
|
+
normalizeWorkerDiagnostic(secret),
|
|
104
|
+
normalizeWorkerDiagnostic(secret.replace(/\t/gu, " "))
|
|
105
|
+
]).filter((secret) => secret.length >= 4)
|
|
106
|
+
)
|
|
107
|
+
].sort((left, right) => right.length - left.length).map((secret) => new RegExp(escapeRegExp(secret), "g"));
|
|
108
|
+
return (value) => {
|
|
109
|
+
let redacted = value;
|
|
110
|
+
for (const secretPattern of secretPatterns) {
|
|
111
|
+
redacted = redacted.replace(secretPattern, "<redacted>");
|
|
112
|
+
}
|
|
113
|
+
return redactLogCredentials(redacted);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
__name(createWorkerDiagnosticRedactor, "createWorkerDiagnosticRedactor");
|
|
117
|
+
function sanitizeWorkerDiagnostic(value, maxLength, opts) {
|
|
118
|
+
const normalized = normalizeWorkerDiagnostic(value);
|
|
119
|
+
const redacted = createWorkerDiagnosticRedactor(opts)(normalized);
|
|
120
|
+
return sanitizeLogText(redacted, maxLength);
|
|
121
|
+
}
|
|
122
|
+
__name(sanitizeWorkerDiagnostic, "sanitizeWorkerDiagnostic");
|
|
123
|
+
|
|
124
|
+
// packages/cli/src/serve/channel-worker-startup-ipc.ts
|
|
125
|
+
init_esbuild_shims();
|
|
126
|
+
var MAX_CHANNEL_STARTUP_FAILURES = 64;
|
|
127
|
+
var MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH = 128;
|
|
128
|
+
var MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH = 64;
|
|
129
|
+
var MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH = 512;
|
|
130
|
+
function isBoundedNonEmptyString(value, maxLength) {
|
|
131
|
+
if (typeof value !== "string" || value.length === 0) return false;
|
|
132
|
+
let length = 0;
|
|
133
|
+
for (const _codePoint of value) {
|
|
134
|
+
length += 1;
|
|
135
|
+
if (length > maxLength) return false;
|
|
136
|
+
}
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
__name(isBoundedNonEmptyString, "isBoundedNonEmptyString");
|
|
140
|
+
function isChannelStartupFailure(value) {
|
|
141
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const failure = value;
|
|
146
|
+
return isBoundedNonEmptyString(
|
|
147
|
+
failure["channel"],
|
|
148
|
+
MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH
|
|
149
|
+
) && failure["phase"] === "connect" && (failure["code"] === void 0 || isBoundedNonEmptyString(
|
|
150
|
+
failure["code"],
|
|
151
|
+
MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH
|
|
152
|
+
)) && isBoundedNonEmptyString(
|
|
153
|
+
failure["message"],
|
|
154
|
+
MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH
|
|
155
|
+
);
|
|
156
|
+
} catch {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
__name(isChannelStartupFailure, "isChannelStartupFailure");
|
|
161
|
+
function isChannelStartupReportMessage(value) {
|
|
162
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
const message = value;
|
|
167
|
+
if (message["type"] === "channel_startup_failures_truncated") {
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
return message["type"] === "channel_startup_failure" && isChannelStartupFailure(message["failure"]);
|
|
171
|
+
} catch {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
__name(isChannelStartupReportMessage, "isChannelStartupReportMessage");
|
|
176
|
+
function isChannelStartupReportAckMessage(value) {
|
|
177
|
+
try {
|
|
178
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) && value.type === "channel_startup_report_ack";
|
|
179
|
+
} catch {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
__name(isChannelStartupReportAckMessage, "isChannelStartupReportAckMessage");
|
|
184
|
+
function isChannelStartupReportType(value) {
|
|
185
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
try {
|
|
189
|
+
const type = value.type;
|
|
190
|
+
return type === "channel_startup_failure" || type === "channel_startup_failures_truncated";
|
|
191
|
+
} catch {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
__name(isChannelStartupReportType, "isChannelStartupReportType");
|
|
196
|
+
|
|
197
|
+
export {
|
|
198
|
+
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
199
|
+
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
200
|
+
QWEN_DAEMON_TOKEN_ENV,
|
|
201
|
+
QWEN_DAEMON_URL_ENV,
|
|
202
|
+
QWEN_DAEMON_WORKSPACE_ENV,
|
|
203
|
+
QWEN_SERVER_TOKEN_ENV,
|
|
204
|
+
ChannelWebhookEnqueueError,
|
|
205
|
+
isChannelWebhookEnqueueErrorCode,
|
|
206
|
+
isChannelWebhookEnqueueError,
|
|
207
|
+
CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
|
|
208
|
+
createChannelWebhookTaskMessage,
|
|
209
|
+
isChannelWebhookTaskMessage,
|
|
210
|
+
isChannelWebhookTaskResultMessage,
|
|
211
|
+
normalizeWorkerDiagnostic,
|
|
212
|
+
createWorkerDiagnosticRedactor,
|
|
213
|
+
sanitizeWorkerDiagnostic,
|
|
214
|
+
MAX_CHANNEL_STARTUP_FAILURES,
|
|
215
|
+
MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
|
|
216
|
+
MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
|
|
217
|
+
MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH,
|
|
218
|
+
isChannelStartupReportMessage,
|
|
219
|
+
isChannelStartupReportAckMessage,
|
|
220
|
+
isChannelStartupReportType
|
|
221
|
+
};
|
|
222
|
+
/**
|
|
223
|
+
* @license
|
|
224
|
+
* Copyright 2026 Qwen Team
|
|
225
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
226
|
+
*/
|
|
@@ -16213,6 +16213,13 @@ var PathMutexRegistry = class {
|
|
|
16213
16213
|
}
|
|
16214
16214
|
};
|
|
16215
16215
|
|
|
16216
|
+
// packages/cli/src/serve/health-query.ts
|
|
16217
|
+
init_esbuild_shims();
|
|
16218
|
+
function isDeepHealthQuery(raw) {
|
|
16219
|
+
return raw === "1" || raw === "true" || raw === "";
|
|
16220
|
+
}
|
|
16221
|
+
__name(isDeepHealthQuery, "isDeepHealthQuery");
|
|
16222
|
+
|
|
16216
16223
|
// packages/cli/src/serve/web-shell-resolver.ts
|
|
16217
16224
|
init_esbuild_shims();
|
|
16218
16225
|
import { existsSync } from "node:fs";
|
|
@@ -16528,6 +16535,7 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16528
16535
|
// the underlying ACP method from unstable_resumeSession to resumeSession.
|
|
16529
16536
|
unstable_session_resume: { since: "v1" },
|
|
16530
16537
|
session_list: { since: "v1" },
|
|
16538
|
+
session_source_metadata: { since: "v1" },
|
|
16531
16539
|
session_prompt: { since: "v1" },
|
|
16532
16540
|
session_cancel: { since: "v1" },
|
|
16533
16541
|
session_events: { since: "v1" },
|
|
@@ -16676,6 +16684,9 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16676
16684
|
// may be `null` for too-short histories or transient model failures
|
|
16677
16685
|
// (best-effort, never throws). SDK helper: `DaemonClient.recapSession`.
|
|
16678
16686
|
session_recap: { since: "v1" },
|
|
16687
|
+
// `POST /session/:id/generate` streams a stateless, tool-free model call.
|
|
16688
|
+
// The ACP child prefers fastModel and falls back to the main session model.
|
|
16689
|
+
session_generation: { since: "v1" },
|
|
16679
16690
|
// Side question (/btw) against the session's conversation context.
|
|
16680
16691
|
// Single-turn, tool-free LLM call via runForkedAgent (cache path).
|
|
16681
16692
|
session_btw: { since: "v1" },
|
|
@@ -16758,8 +16769,8 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16758
16769
|
// Runtime GET/PUT/DELETE control for daemon-managed channel selection.
|
|
16759
16770
|
// The route exists even when no selection was supplied at daemon boot.
|
|
16760
16771
|
channel_control: { since: "v1" },
|
|
16761
|
-
// Multi-workspace
|
|
16762
|
-
//
|
|
16772
|
+
// Multi-workspace session routing. Advertised only when one daemon hosts
|
|
16773
|
+
// more than one registered workspace runtime.
|
|
16763
16774
|
multi_workspace_sessions: { since: "v1" },
|
|
16764
16775
|
// Singular session rewind routes resolve the owning live workspace runtime.
|
|
16765
16776
|
multi_workspace_session_rewind: { since: "v1" },
|
|
@@ -16793,6 +16804,10 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16793
16804
|
// This is separate from `session_export` so clients do not infer the plural
|
|
16794
16805
|
// route from the legacy primary-workspace export capability.
|
|
16795
16806
|
workspace_session_export: { since: "v1" },
|
|
16807
|
+
// Workspace-qualified full session export from archived persisted storage.
|
|
16808
|
+
// This remains independent from active export so older daemons cannot ignore
|
|
16809
|
+
// archive intent and return an active transcript with the same session id.
|
|
16810
|
+
workspace_archived_session_export: { since: "v1" },
|
|
16796
16811
|
// Workspace-qualified ACP transport (issue #6378 Phase 4):
|
|
16797
16812
|
// `/workspaces/:workspace/acp` mounts a per-runtime ACP dispatcher (HTTP +
|
|
16798
16813
|
// WebSocket) for each registered workspace, with per-runtime device-flow and
|
|
@@ -16859,6 +16874,10 @@ var CONDITIONAL_SERVE_FEATURES = /* @__PURE__ */ new Map([
|
|
|
16859
16874
|
"session_artifacts_persistence",
|
|
16860
16875
|
(toggles) => toggles.sessionArtifactsPersistenceAvailable === true
|
|
16861
16876
|
],
|
|
16877
|
+
[
|
|
16878
|
+
"session_generation",
|
|
16879
|
+
(toggles) => toggles.sessionGenerationAvailable === true
|
|
16880
|
+
],
|
|
16862
16881
|
["rate_limit", (toggles) => toggles.rateLimit === true],
|
|
16863
16882
|
["workspace_reload", (toggles) => toggles.reloadAvailable === true],
|
|
16864
16883
|
["channel_reload", (toggles) => toggles.channelReloadAvailable === true],
|
|
@@ -16972,6 +16991,17 @@ var MAX_SKILL_NAME_LENGTH = 256;
|
|
|
16972
16991
|
var MAX_SERVER_NAME_LENGTH = 256;
|
|
16973
16992
|
var CLIENT_ID_RE = /^[A-Za-z0-9._:-]+$/;
|
|
16974
16993
|
var INVALID_PERMISSION_OUTCOME_ERROR = '`outcome` must be `{ outcome: "cancelled" }` or `{ outcome: "selected", optionId: string }`';
|
|
16994
|
+
var deferredRuntimeTimingKey = Symbol(
|
|
16995
|
+
"deferredRuntimeRequestTiming"
|
|
16996
|
+
);
|
|
16997
|
+
function setDeferredRuntimeRequestTiming(req, timing) {
|
|
16998
|
+
req[deferredRuntimeTimingKey] = timing;
|
|
16999
|
+
}
|
|
17000
|
+
__name(setDeferredRuntimeRequestTiming, "setDeferredRuntimeRequestTiming");
|
|
17001
|
+
function getDeferredRuntimeRequestTiming(req) {
|
|
17002
|
+
return req[deferredRuntimeTimingKey];
|
|
17003
|
+
}
|
|
17004
|
+
__name(getDeferredRuntimeRequestTiming, "getDeferredRuntimeRequestTiming");
|
|
16975
17005
|
function safeBody(req) {
|
|
16976
17006
|
const raw = req.body;
|
|
16977
17007
|
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
@@ -18222,6 +18252,7 @@ export {
|
|
|
18222
18252
|
DeviceFlowRegistry,
|
|
18223
18253
|
createBridgeFileSystemAdapter,
|
|
18224
18254
|
PathMutexRegistry,
|
|
18255
|
+
isDeepHealthQuery,
|
|
18225
18256
|
resolveWebShellDir,
|
|
18226
18257
|
denyBrowserOriginCors,
|
|
18227
18258
|
parseAllowOriginPatterns,
|
|
@@ -18242,6 +18273,8 @@ export {
|
|
|
18242
18273
|
MAX_SKILL_NAME_LENGTH,
|
|
18243
18274
|
MAX_SERVER_NAME_LENGTH,
|
|
18244
18275
|
CLIENT_ID_RE,
|
|
18276
|
+
setDeferredRuntimeRequestTiming,
|
|
18277
|
+
getDeferredRuntimeRequestTiming,
|
|
18245
18278
|
safeBody,
|
|
18246
18279
|
parseOptionalWorkspaceCwd,
|
|
18247
18280
|
requireSessionId,
|
|
@@ -60,7 +60,7 @@ async function runExitCleanup(options = {}) {
|
|
|
60
60
|
}
|
|
61
61
|
__name(runExitCleanup, "runExitCleanup");
|
|
62
62
|
async function cleanupCheckpoints() {
|
|
63
|
-
const { Storage } = await import("./src-
|
|
63
|
+
const { Storage } = await import("./src-6OJFUPTL.js");
|
|
64
64
|
const storage = new Storage(process.cwd());
|
|
65
65
|
const tempDir = storage.getProjectTempDir();
|
|
66
66
|
const checkpointsDir = join(tempDir, "checkpoints");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
|
|
7
|
+
// packages/acp-bridge/src/index.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
|
|
10
|
+
// packages/acp-bridge/src/inMemoryChannel.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
|
|
13
|
+
// packages/acp-bridge/src/channel.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
|
|
16
|
+
// packages/acp-bridge/src/bridgeFileSystem.ts
|
|
17
|
+
init_esbuild_shims();
|
|
18
|
+
/**
|
|
19
|
+
* @license
|
|
20
|
+
* Copyright 2025 Qwen Team
|
|
21
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
22
|
+
*/
|