@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
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
} from "./chunk-57OAHC2Y.js";
|
|
6
6
|
import {
|
|
7
7
|
loadSettings
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-5WWYHNAH.js";
|
|
9
9
|
import {
|
|
10
10
|
getCurrentLanguage,
|
|
11
11
|
t
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EMJJBXS7.js";
|
|
13
13
|
import {
|
|
14
14
|
isWorkspaceTrusted
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-PNCWEDF6.js";
|
|
16
16
|
import {
|
|
17
17
|
writeStdoutLine
|
|
18
18
|
} from "./chunk-YUZI3WAC.js";
|
|
@@ -21,9 +21,11 @@ import {
|
|
|
21
21
|
getExtensionDescription,
|
|
22
22
|
getExtensionDisplayName,
|
|
23
23
|
redactUrlCredentials,
|
|
24
|
-
require_prompts
|
|
24
|
+
require_prompts
|
|
25
|
+
} from "./chunk-R6AO7HBQ.js";
|
|
26
|
+
import {
|
|
25
27
|
stripAnsi
|
|
26
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-T4TZQJ7W.js";
|
|
27
29
|
import {
|
|
28
30
|
init_esbuild_shims
|
|
29
31
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
resolveChannelCwd
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FNX3LGAK.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -21,12 +21,12 @@ function ensureBuiltins() {
|
|
|
21
21
|
if (!builtinsPromise) {
|
|
22
22
|
builtinsPromise = (async () => {
|
|
23
23
|
const labelled = [
|
|
24
|
-
{ name: "telegram", promise: import("./dist-
|
|
25
|
-
{ name: "weixin", promise: import("./dist-
|
|
26
|
-
{ name: "dingtalk", promise: import("./dist-
|
|
27
|
-
{ name: "wecom", promise: import("./dist-
|
|
28
|
-
{ name: "feishu", promise: import("./dist-
|
|
29
|
-
{ name: "qqbot", promise: import("./dist-
|
|
24
|
+
{ name: "telegram", promise: import("./dist-GXJVCOS7.js") },
|
|
25
|
+
{ name: "weixin", promise: import("./dist-PX2ERZ6I.js") },
|
|
26
|
+
{ name: "dingtalk", promise: import("./dist-V2YVLYOW.js") },
|
|
27
|
+
{ name: "wecom", promise: import("./dist-4WCQEZIN.js") },
|
|
28
|
+
{ name: "feishu", promise: import("./dist-DOPL5LSQ.js") },
|
|
29
|
+
{ name: "qqbot", promise: import("./dist-VYWUKURL.js") }
|
|
30
30
|
];
|
|
31
31
|
const results = await Promise.allSettled(labelled.map((l) => l.promise));
|
|
32
32
|
for (let i = 0; i < results.length; i++) {
|
|
@@ -10,12 +10,12 @@ import {
|
|
|
10
10
|
getLanguageNameFromLocale,
|
|
11
11
|
getLanguageSettingsOptions,
|
|
12
12
|
t
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-EMJJBXS7.js";
|
|
14
14
|
import {
|
|
15
15
|
getHomeEnvFallbackVars,
|
|
16
16
|
loadEnvironment,
|
|
17
17
|
preResolveHomeEnvOverrides
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JY74T7PW.js";
|
|
19
19
|
import {
|
|
20
20
|
CONSOLIDATED_DISABLE_KEYS,
|
|
21
21
|
V1_INDICATOR_KEYS,
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
import {
|
|
36
36
|
isWorkspaceTrusted,
|
|
37
37
|
updateSettingsFilePreservingFormat
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-PNCWEDF6.js";
|
|
39
39
|
import {
|
|
40
40
|
require_strip_json_comments
|
|
41
41
|
} from "./chunk-ALGGS7UH.js";
|
|
@@ -48,14 +48,14 @@ import {
|
|
|
48
48
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
|
|
49
49
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
|
|
50
50
|
stripRuntimeSnapshotPrefix
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-R6AO7HBQ.js";
|
|
52
52
|
import {
|
|
53
53
|
DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
|
|
54
54
|
} from "./chunk-L5U3ELZX.js";
|
|
55
55
|
import {
|
|
56
56
|
DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
|
|
57
57
|
SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-BTSE2DUP.js";
|
|
59
59
|
import {
|
|
60
60
|
FatalConfigError,
|
|
61
61
|
Storage,
|
|
@@ -500,6 +500,19 @@ var SETTINGS_SCHEMA = {
|
|
|
500
500
|
description: "Play terminal bell sound when response completes or needs approval.",
|
|
501
501
|
showInDialog: true
|
|
502
502
|
},
|
|
503
|
+
notificationMode: {
|
|
504
|
+
type: "enum",
|
|
505
|
+
label: "Notification Mode",
|
|
506
|
+
category: "General",
|
|
507
|
+
requiresRestart: false,
|
|
508
|
+
default: "all",
|
|
509
|
+
description: 'Which unfocused-terminal events fire a bell/OS notification. "all" fires on every tool approval prompt AND on task completion (current behavior). "task-complete" suppresses the per-approval notification and only fires when a long task returns to idle. Requires `terminalBell` to be enabled; otherwise no notifications fire regardless of mode.',
|
|
510
|
+
showInDialog: true,
|
|
511
|
+
options: [
|
|
512
|
+
{ value: "all", label: "All (approvals + task completion)" },
|
|
513
|
+
{ value: "task-complete", label: "Task completion only" }
|
|
514
|
+
]
|
|
515
|
+
},
|
|
503
516
|
preventSystemSleep: {
|
|
504
517
|
type: "boolean",
|
|
505
518
|
label: "Prevent System Sleep While Running",
|
|
@@ -1187,12 +1200,12 @@ var SETTINGS_SCHEMA = {
|
|
|
1187
1200
|
]
|
|
1188
1201
|
},
|
|
1189
1202
|
maxSessionTurns: {
|
|
1190
|
-
type: "
|
|
1203
|
+
type: "integer",
|
|
1191
1204
|
label: "Max Session Turns",
|
|
1192
1205
|
category: "Model",
|
|
1193
1206
|
requiresRestart: false,
|
|
1194
1207
|
default: -1,
|
|
1195
|
-
description: "Maximum number of user/model/tool turns to keep in a session. -1 means unlimited.",
|
|
1208
|
+
description: "Maximum number of user/model/tool turns to keep in a session. Must be an integer; -1 means unlimited.",
|
|
1196
1209
|
showInDialog: false
|
|
1197
1210
|
},
|
|
1198
1211
|
maxWallTimeSeconds: {
|
|
@@ -1268,7 +1281,7 @@ var SETTINGS_SCHEMA = {
|
|
|
1268
1281
|
showInDialog: false
|
|
1269
1282
|
},
|
|
1270
1283
|
maxToolCallsPerTurn: {
|
|
1271
|
-
type: "
|
|
1284
|
+
type: "integer",
|
|
1272
1285
|
label: "Max Tool Calls Per Turn",
|
|
1273
1286
|
category: "Model",
|
|
1274
1287
|
requiresRestart: false,
|
|
@@ -1617,7 +1630,7 @@ var SETTINGS_SCHEMA = {
|
|
|
1617
1630
|
label: "Enable Auto Skill",
|
|
1618
1631
|
category: "Memory",
|
|
1619
1632
|
requiresRestart: false,
|
|
1620
|
-
default:
|
|
1633
|
+
default: false,
|
|
1621
1634
|
description: "Enable background review for reusable project skills after tool-heavy sessions.",
|
|
1622
1635
|
showInDialog: false
|
|
1623
1636
|
},
|
|
@@ -1980,6 +1993,17 @@ var SETTINGS_SCHEMA = {
|
|
|
1980
1993
|
default: void 0,
|
|
1981
1994
|
description: "Default timeout, in milliseconds, for foreground shell commands started by the agent. A per-call timeout on the shell tool overrides this. When unset, foreground commands time out after 120000 ms (2 minutes). Set to 0 to disable the timeout.",
|
|
1982
1995
|
showInDialog: false
|
|
1996
|
+
},
|
|
1997
|
+
heartbeatIntervalMs: {
|
|
1998
|
+
type: "integer",
|
|
1999
|
+
minimum: 0,
|
|
2000
|
+
maximum: 6e5,
|
|
2001
|
+
label: "Silent Command Heartbeat Interval (ms)",
|
|
2002
|
+
category: "Tools",
|
|
2003
|
+
requiresRestart: true,
|
|
2004
|
+
default: void 0,
|
|
2005
|
+
description: "Interval, in milliseconds, between liveness heartbeats emitted while a foreground shell command produces no output. Heartbeats are forwarded to ACP clients and stream-json consumers so they can tell a silent command from a dead session. When unset, heartbeats fire every 10000 ms (10 seconds). Set to 0 to disable heartbeats.",
|
|
2006
|
+
showInDialog: false
|
|
1983
2007
|
}
|
|
1984
2008
|
}
|
|
1985
2009
|
},
|
|
@@ -2038,7 +2062,7 @@ var SETTINGS_SCHEMA = {
|
|
|
2038
2062
|
label: "Tool Approval Mode",
|
|
2039
2063
|
category: "Tools",
|
|
2040
2064
|
requiresRestart: false,
|
|
2041
|
-
default: "
|
|
2065
|
+
default: "auto" /* AUTO */,
|
|
2042
2066
|
description: "Approval mode for tool usage. Controls how tools are approved before execution.",
|
|
2043
2067
|
showInDialog: true,
|
|
2044
2068
|
options: [
|
|
@@ -3244,6 +3268,11 @@ function validateSettingValue(def, value) {
|
|
|
3244
3268
|
return `Value must be one of: ${allowed}`;
|
|
3245
3269
|
}
|
|
3246
3270
|
break;
|
|
3271
|
+
case "object":
|
|
3272
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
3273
|
+
return "Value must be an object";
|
|
3274
|
+
}
|
|
3275
|
+
break;
|
|
3247
3276
|
default:
|
|
3248
3277
|
return `Settings of type '${def.type}' cannot be modified via this API`;
|
|
3249
3278
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
JsonFormatter,
|
|
8
8
|
parseAndFormatApiError
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-R6AO7HBQ.js";
|
|
10
10
|
import {
|
|
11
11
|
FatalBudgetExceededError,
|
|
12
12
|
FatalCancellationError,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-7NFB7LBQ.js";
|
|
16
16
|
import {
|
|
17
17
|
runExitCleanup
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-L263ROM6.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getErrorMessage
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6ANLV27M.js";
|
|
6
6
|
import {
|
|
7
7
|
extensionToOutputString,
|
|
8
8
|
getExtensionManager
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4YR7FSAM.js";
|
|
10
10
|
import {
|
|
11
11
|
loadSettings
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5WWYHNAH.js";
|
|
13
13
|
import {
|
|
14
14
|
initializeI18n,
|
|
15
15
|
resolveLanguageSetting,
|
|
16
16
|
t
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-EMJJBXS7.js";
|
|
18
18
|
import {
|
|
19
19
|
writeStderrLine,
|
|
20
20
|
writeStdoutLine
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getEffectiveSupportedModes
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GCRFH57X.js";
|
|
6
6
|
import {
|
|
7
7
|
require_jsx_runtime
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OWT2CAEQ.js";
|
|
9
9
|
import {
|
|
10
10
|
require_react
|
|
11
11
|
} from "./chunk-HTHUX2T5.js";
|
|
12
12
|
import {
|
|
13
13
|
getCachedStringWidth
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-SUARMD4Q.js";
|
|
15
15
|
import {
|
|
16
16
|
uiTelemetryService
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-BTSE2DUP.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esbuild_shims
|
|
20
20
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,33 +2,37 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
5
|
+
CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
|
|
5
6
|
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
7
|
+
ChannelWebhookEnqueueError,
|
|
8
|
+
MAX_CHANNEL_STARTUP_FAILURES,
|
|
9
|
+
MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
|
|
10
|
+
MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
|
|
11
|
+
MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH,
|
|
6
12
|
QWEN_DAEMON_TOKEN_ENV,
|
|
7
13
|
QWEN_DAEMON_URL_ENV,
|
|
8
14
|
QWEN_DAEMON_WORKSPACE_ENV,
|
|
9
|
-
QWEN_SERVER_TOKEN_ENV
|
|
10
|
-
|
|
15
|
+
QWEN_SERVER_TOKEN_ENV,
|
|
16
|
+
createChannelWebhookTaskMessage,
|
|
17
|
+
createWorkerDiagnosticRedactor,
|
|
18
|
+
isChannelStartupReportMessage,
|
|
19
|
+
isChannelStartupReportType,
|
|
20
|
+
isChannelWebhookEnqueueErrorCode,
|
|
21
|
+
isChannelWebhookTaskResultMessage,
|
|
22
|
+
normalizeWorkerDiagnostic,
|
|
23
|
+
sanitizeWorkerDiagnostic
|
|
24
|
+
} from "./chunk-KSZKSE23.js";
|
|
11
25
|
import {
|
|
12
26
|
channelSelectionNames
|
|
13
27
|
} from "./chunk-TJTKSVIV.js";
|
|
14
|
-
import {
|
|
15
|
-
redactLogCredentials
|
|
16
|
-
} from "./chunk-M5GB774H.js";
|
|
17
28
|
import {
|
|
18
29
|
CHANNEL_WORKER_KILL_GRACE_MS,
|
|
19
30
|
CHANNEL_WORKER_STARTUP_TIMEOUT_MS,
|
|
20
31
|
CHANNEL_WORKER_STOP_GRACE_MS
|
|
21
32
|
} from "./chunk-5HBA2Z7V.js";
|
|
22
|
-
import {
|
|
23
|
-
CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
|
|
24
|
-
ChannelWebhookEnqueueError,
|
|
25
|
-
createChannelWebhookTaskMessage,
|
|
26
|
-
isChannelWebhookEnqueueErrorCode,
|
|
27
|
-
isChannelWebhookTaskResultMessage
|
|
28
|
-
} from "./chunk-OJAMDVF5.js";
|
|
29
33
|
import {
|
|
30
34
|
sanitizeLogText
|
|
31
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-ZQIYGQCG.js";
|
|
32
36
|
import {
|
|
33
37
|
init_esbuild_shims
|
|
34
38
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -44,12 +48,6 @@ var DEFAULT_CHANNEL_WORKER_HEARTBEAT_TIMEOUT_MS = 45e3;
|
|
|
44
48
|
var MAX_WORKER_LOG_LINE_LENGTH = 4096;
|
|
45
49
|
var MAX_WORKER_LOG_BUFFER_LENGTH = 64 * 1024;
|
|
46
50
|
var MAX_WORKER_LOG_DISCARDED_REMAINDER_LENGTH = MAX_WORKER_LOG_BUFFER_LENGTH;
|
|
47
|
-
var ANSI_CSI_SEQUENCE_RE = new RegExp(
|
|
48
|
-
`${String.fromCharCode(27)}\\[[0-?]*[ -/]*[@-~]`,
|
|
49
|
-
"g"
|
|
50
|
-
);
|
|
51
|
-
var WORKER_LOG_INVISIBLE_RE = new RegExp("[\\p{Cf}\\u2028\\u2029]|\\p{Variation_Selector}", "gu");
|
|
52
|
-
var WORKER_LOG_CONTROL_RE = /[\x00-\x08\x0a-\x1f\x7f]/g;
|
|
53
51
|
var ChannelWorkerStopError = class extends Error {
|
|
54
52
|
static {
|
|
55
53
|
__name(this, "ChannelWorkerStopError");
|
|
@@ -59,6 +57,22 @@ var ChannelWorkerStopError = class extends Error {
|
|
|
59
57
|
this.name = "ChannelWorkerStopError";
|
|
60
58
|
}
|
|
61
59
|
};
|
|
60
|
+
var ChannelWorkerStartupError = class extends Error {
|
|
61
|
+
static {
|
|
62
|
+
__name(this, "ChannelWorkerStartupError");
|
|
63
|
+
}
|
|
64
|
+
startupFailures;
|
|
65
|
+
startupFailuresTruncated;
|
|
66
|
+
constructor(message, details) {
|
|
67
|
+
super(message);
|
|
68
|
+
this.name = "ChannelWorkerStartupError";
|
|
69
|
+
this.startupFailures = details.startupFailures.map((failure) => ({
|
|
70
|
+
...failure,
|
|
71
|
+
workspaceCwd: details.workspaceCwd
|
|
72
|
+
}));
|
|
73
|
+
this.startupFailuresTruncated = details.startupFailuresTruncated === true;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
62
76
|
var DEFAULT_RESTART_POLICY = {
|
|
63
77
|
maxRestarts: 3,
|
|
64
78
|
windowMs: 5 * 6e4,
|
|
@@ -101,9 +115,7 @@ function workerLogRedactionOptions(daemonToken, workerEnv) {
|
|
|
101
115
|
}
|
|
102
116
|
__name(workerLogRedactionOptions, "workerLogRedactionOptions");
|
|
103
117
|
function sanitizeWorkerError(error, redaction) {
|
|
104
|
-
|
|
105
|
-
const redacted = redaction ? redactWorkerLogLine(normalized, redaction) : normalized;
|
|
106
|
-
return Array.from(sanitizeLogText(redacted, 512)).slice(0, 512).join("");
|
|
118
|
+
return redaction ? sanitizeWorkerDiagnostic(error, 512, redaction) : sanitizeLogText(normalizeWorkerDiagnostic(error), 512);
|
|
107
119
|
}
|
|
108
120
|
__name(sanitizeWorkerError, "sanitizeWorkerError");
|
|
109
121
|
function notifyExit(onExit, snapshot) {
|
|
@@ -162,58 +174,20 @@ function createWorkerEnv(opts) {
|
|
|
162
174
|
return env;
|
|
163
175
|
}
|
|
164
176
|
__name(createWorkerEnv, "createWorkerEnv");
|
|
165
|
-
function escapeRegExp(value) {
|
|
166
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
167
|
-
}
|
|
168
|
-
__name(escapeRegExp, "escapeRegExp");
|
|
169
|
-
function sensitiveEnvValues(env) {
|
|
170
|
-
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;
|
|
171
|
-
return Object.entries(env).filter(([key, value]) => sensitiveKey.test(key) && value !== void 0).flatMap(([, value]) => {
|
|
172
|
-
const lines = value.split("\n").filter((l) => l.length >= 4);
|
|
173
|
-
return lines.length > 0 ? [value, ...lines] : [value];
|
|
174
|
-
}).filter((value) => value.length >= 4);
|
|
175
|
-
}
|
|
176
|
-
__name(sensitiveEnvValues, "sensitiveEnvValues");
|
|
177
|
-
function redactWorkerLogLine(line, opts) {
|
|
178
|
-
return createWorkerLogRedactor(opts)(line);
|
|
179
|
-
}
|
|
180
|
-
__name(redactWorkerLogLine, "redactWorkerLogLine");
|
|
181
|
-
function createWorkerLogRedactor(opts) {
|
|
182
|
-
const secretPatterns = [
|
|
183
|
-
.../* @__PURE__ */ new Set([
|
|
184
|
-
...opts.daemonToken && opts.daemonToken.length >= 4 ? [opts.daemonToken] : [],
|
|
185
|
-
...sensitiveEnvValues(opts.workerEnv)
|
|
186
|
-
])
|
|
187
|
-
].sort((a, b) => b.length - a.length).map((secret) => new RegExp(escapeRegExp(secret), "g"));
|
|
188
|
-
return (line) => {
|
|
189
|
-
let redacted = line.replace(
|
|
190
|
-
/\b([a-z][a-z0-9+.-]{0,31}:\/\/)([^\s/]*@)([^\s/]+)([^\s]*)/gi,
|
|
191
|
-
"$1<redacted>@$3$4"
|
|
192
|
-
);
|
|
193
|
-
for (const secretPattern of secretPatterns) {
|
|
194
|
-
redacted = redacted.replace(secretPattern, "<redacted>");
|
|
195
|
-
}
|
|
196
|
-
return redactLogCredentials(redacted);
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
__name(createWorkerLogRedactor, "createWorkerLogRedactor");
|
|
200
|
-
function normalizeWorkerLogLineForRedaction(line) {
|
|
201
|
-
return line.replace(ANSI_CSI_SEQUENCE_RE, "").replace(WORKER_LOG_INVISIBLE_RE, "").replace(WORKER_LOG_CONTROL_RE, "");
|
|
202
|
-
}
|
|
203
|
-
__name(normalizeWorkerLogLineForRedaction, "normalizeWorkerLogLineForRedaction");
|
|
204
177
|
function attachWorkerLogStream(stream, streamName, opts) {
|
|
205
178
|
if (!stream) return () => {
|
|
206
179
|
};
|
|
207
180
|
let buffer = "";
|
|
208
181
|
let discardingOversizedLineRemainder = false;
|
|
209
182
|
let discardedOversizedLineRemainderLength = 0;
|
|
210
|
-
const redactWorkerLogLineForStream =
|
|
183
|
+
const redactWorkerLogLineForStream = createWorkerDiagnosticRedactor({
|
|
211
184
|
...opts.daemonToken ? { daemonToken: opts.daemonToken } : {},
|
|
212
185
|
workerEnv: opts.workerEnv
|
|
213
186
|
});
|
|
214
187
|
const flushLine = /* @__PURE__ */ __name((line) => {
|
|
188
|
+
const displayLine = line.replace(/\t/gu, " ");
|
|
215
189
|
const redacted = redactWorkerLogLineForStream(
|
|
216
|
-
|
|
190
|
+
normalizeWorkerDiagnostic(displayLine)
|
|
217
191
|
);
|
|
218
192
|
notifyLog(opts.onLog, {
|
|
219
193
|
stream: streamName,
|
|
@@ -294,7 +268,12 @@ function createChannelWorkerSupervisor(opts) {
|
|
|
294
268
|
const snapshotCopy = /* @__PURE__ */ __name(() => ({
|
|
295
269
|
...snapshot,
|
|
296
270
|
channels: [...snapshot.channels],
|
|
297
|
-
...snapshot.requestedChannels ? { requestedChannels: [...snapshot.requestedChannels] } : {}
|
|
271
|
+
...snapshot.requestedChannels ? { requestedChannels: [...snapshot.requestedChannels] } : {},
|
|
272
|
+
...snapshot.startupFailures ? {
|
|
273
|
+
startupFailures: snapshot.startupFailures.map((failure) => ({
|
|
274
|
+
...failure
|
|
275
|
+
}))
|
|
276
|
+
} : {}
|
|
298
277
|
}), "snapshotCopy");
|
|
299
278
|
const clearRestartTimer = /* @__PURE__ */ __name(() => {
|
|
300
279
|
if (restartTimer) {
|
|
@@ -557,6 +536,89 @@ function createChannelWorkerSupervisor(opts) {
|
|
|
557
536
|
resolve();
|
|
558
537
|
}
|
|
559
538
|
}, "failBeforeReady");
|
|
539
|
+
const startupError = /* @__PURE__ */ __name((message) => {
|
|
540
|
+
const failures = snapshot.startupFailures;
|
|
541
|
+
return failures && failures.length > 0 ? new ChannelWorkerStartupError(message, {
|
|
542
|
+
workspaceCwd: opts.workspace,
|
|
543
|
+
startupFailures: failures,
|
|
544
|
+
...snapshot.startupFailuresTruncated ? { startupFailuresTruncated: true } : {}
|
|
545
|
+
}) : new Error(message);
|
|
546
|
+
}, "startupError");
|
|
547
|
+
const failStartupProtocol = /* @__PURE__ */ __name((detail) => {
|
|
548
|
+
if (settled || ready || child !== startedChild) return;
|
|
549
|
+
const error = sanitizeWorkerError(
|
|
550
|
+
`Channel worker startup IPC protocol error: ${detail}`,
|
|
551
|
+
redaction
|
|
552
|
+
);
|
|
553
|
+
snapshot = { ...snapshot, state: "failed", error };
|
|
554
|
+
failBeforeReady(startupError(error));
|
|
555
|
+
terminateBeforeReady();
|
|
556
|
+
}, "failStartupProtocol");
|
|
557
|
+
const acknowledgeStartupReport = /* @__PURE__ */ __name(() => {
|
|
558
|
+
const send = startedChild.send;
|
|
559
|
+
if (!send) {
|
|
560
|
+
failStartupProtocol("acknowledgement is unavailable.");
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
try {
|
|
564
|
+
send.call(
|
|
565
|
+
startedChild,
|
|
566
|
+
{ type: "channel_startup_report_ack" },
|
|
567
|
+
(err) => {
|
|
568
|
+
if (err) {
|
|
569
|
+
failStartupProtocol("acknowledgement failed.");
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
);
|
|
573
|
+
} catch {
|
|
574
|
+
failStartupProtocol("acknowledgement failed.");
|
|
575
|
+
}
|
|
576
|
+
}, "acknowledgeStartupReport");
|
|
577
|
+
const handleStartupReport = /* @__PURE__ */ __name((message) => {
|
|
578
|
+
if (!isChannelStartupReportMessage(message)) {
|
|
579
|
+
failStartupProtocol("invalid startup report.");
|
|
580
|
+
return;
|
|
581
|
+
}
|
|
582
|
+
if (message.type === "channel_startup_failures_truncated") {
|
|
583
|
+
if (snapshot.startupFailuresTruncated || snapshot.startupFailures?.length !== MAX_CHANNEL_STARTUP_FAILURES) {
|
|
584
|
+
failStartupProtocol("invalid truncation marker.");
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
snapshot = { ...snapshot, startupFailuresTruncated: true };
|
|
588
|
+
acknowledgeStartupReport();
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
if (snapshot.startupFailuresTruncated || (snapshot.startupFailures?.length ?? 0) >= MAX_CHANNEL_STARTUP_FAILURES) {
|
|
592
|
+
failStartupProtocol("too many startup failures.");
|
|
593
|
+
return;
|
|
594
|
+
}
|
|
595
|
+
const safeChannel = sanitizeWorkerDiagnostic(
|
|
596
|
+
message.failure.channel,
|
|
597
|
+
MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
|
|
598
|
+
redaction
|
|
599
|
+
) || "<unnamed>";
|
|
600
|
+
const safeMessage = sanitizeWorkerDiagnostic(
|
|
601
|
+
message.failure.message,
|
|
602
|
+
MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH,
|
|
603
|
+
redaction
|
|
604
|
+
) || "Channel connection failed.";
|
|
605
|
+
const safeCode = message.failure.code ? sanitizeWorkerDiagnostic(
|
|
606
|
+
message.failure.code,
|
|
607
|
+
MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
|
|
608
|
+
redaction
|
|
609
|
+
) : void 0;
|
|
610
|
+
const failure = {
|
|
611
|
+
channel: safeChannel,
|
|
612
|
+
phase: "connect",
|
|
613
|
+
...safeCode ? { code: safeCode } : {},
|
|
614
|
+
message: safeMessage
|
|
615
|
+
};
|
|
616
|
+
snapshot = {
|
|
617
|
+
...snapshot,
|
|
618
|
+
startupFailures: [...snapshot.startupFailures ?? [], failure]
|
|
619
|
+
};
|
|
620
|
+
acknowledgeStartupReport();
|
|
621
|
+
}, "handleStartupReport");
|
|
560
622
|
const completeReady = /* @__PURE__ */ __name((message) => {
|
|
561
623
|
if (settled || child !== startedChild) return;
|
|
562
624
|
settled = true;
|
|
@@ -597,7 +659,9 @@ function createChannelWorkerSupervisor(opts) {
|
|
|
597
659
|
if (settleWebhookTask(message)) {
|
|
598
660
|
return;
|
|
599
661
|
}
|
|
600
|
-
if (!ready &&
|
|
662
|
+
if (!ready && isChannelStartupReportType(message)) {
|
|
663
|
+
handleStartupReport(message);
|
|
664
|
+
} else if (!ready && isReadyMessage(message)) {
|
|
601
665
|
completeReady(message);
|
|
602
666
|
} else if (isHeartbeatMessage(message)) {
|
|
603
667
|
handleHeartbeat(message);
|
|
@@ -626,7 +690,7 @@ function createChannelWorkerSupervisor(opts) {
|
|
|
626
690
|
notifyExit(opts.onExit, snapshotCopy());
|
|
627
691
|
}
|
|
628
692
|
if (!settled) {
|
|
629
|
-
failBeforeReady(
|
|
693
|
+
failBeforeReady(startupError(snapshot.error ?? message));
|
|
630
694
|
}
|
|
631
695
|
}
|
|
632
696
|
__name(settleExit, "settleExit");
|
|
@@ -647,7 +711,9 @@ function createChannelWorkerSupervisor(opts) {
|
|
|
647
711
|
};
|
|
648
712
|
terminateBeforeReady();
|
|
649
713
|
if (!settled) {
|
|
650
|
-
failBeforeReady(
|
|
714
|
+
failBeforeReady(
|
|
715
|
+
startupError(snapshot.error ?? "Channel worker failed to start.")
|
|
716
|
+
);
|
|
651
717
|
}
|
|
652
718
|
}
|
|
653
719
|
__name(settleError, "settleError");
|
|
@@ -659,7 +725,7 @@ function createChannelWorkerSupervisor(opts) {
|
|
|
659
725
|
state: "failed",
|
|
660
726
|
error: sanitizeWorkerError(error, redaction)
|
|
661
727
|
};
|
|
662
|
-
failBeforeReady(
|
|
728
|
+
failBeforeReady(startupError(error));
|
|
663
729
|
if (child === startedChild) {
|
|
664
730
|
terminateBeforeReady();
|
|
665
731
|
}
|
|
@@ -817,5 +883,6 @@ __name(createChannelWorkerSupervisor, "createChannelWorkerSupervisor");
|
|
|
817
883
|
|
|
818
884
|
export {
|
|
819
885
|
ChannelWorkerStopError,
|
|
886
|
+
ChannelWorkerStartupError,
|
|
820
887
|
createChannelWorkerSupervisor
|
|
821
888
|
};
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getPlanRequiredTeammatePreApprovalMessage,
|
|
8
8
|
isPlanRequiredTeammateAwaitingApproval
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-F333XEAU.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveActiveTeamName
|
|
12
12
|
} from "./chunk-6AM5D4ME.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
BaseToolInvocation,
|
|
16
16
|
ToolDisplayNames,
|
|
17
17
|
ToolNames
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JGUT3LWZ.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
runExitCleanup
|
|
5
|
+
} from "./chunk-L263ROM6.js";
|
|
6
|
+
import {
|
|
7
|
+
init_esbuild_shims
|
|
8
|
+
} from "./chunk-5O2XNYP6.js";
|
|
9
|
+
import {
|
|
10
|
+
__name
|
|
11
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
12
|
+
|
|
13
|
+
// packages/cli/src/utils/processUtils.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
var RELAUNCH_EXIT_CODE = 42;
|
|
16
|
+
var UPDATE_RELAUNCH_EXIT_CODE = 43;
|
|
17
|
+
var UPDATE_COMPLETE_EXIT_CODE = 44;
|
|
18
|
+
var SKIP_UPDATE_CHECK_ENV_VAR = "QWEN_CODE_SKIP_UPDATE_CHECK_ONCE";
|
|
19
|
+
var CUSTOM_SANDBOX_IMAGE_ENV_VAR = "QWEN_CODE_CUSTOM_SANDBOX_IMAGE";
|
|
20
|
+
var HOST_UPDATE_RELAUNCH_ENV_VAR = "QWEN_CODE_HOST_UPDATE_RELAUNCH";
|
|
21
|
+
var UPDATE_ON_EXIT_MESSAGE = "qwen-code:update-on-exit";
|
|
22
|
+
async function relaunchApp() {
|
|
23
|
+
await runExitCleanup();
|
|
24
|
+
process.exit(RELAUNCH_EXIT_CODE);
|
|
25
|
+
}
|
|
26
|
+
__name(relaunchApp, "relaunchApp");
|
|
27
|
+
async function relaunchForUpdate() {
|
|
28
|
+
await runExitCleanup();
|
|
29
|
+
process.exit(UPDATE_RELAUNCH_EXIT_CODE);
|
|
30
|
+
}
|
|
31
|
+
__name(relaunchForUpdate, "relaunchForUpdate");
|
|
32
|
+
function requestUpdateOnExit() {
|
|
33
|
+
if (!process.send) return false;
|
|
34
|
+
try {
|
|
35
|
+
process.send({ type: UPDATE_ON_EXIT_MESSAGE });
|
|
36
|
+
return true;
|
|
37
|
+
} catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
__name(requestUpdateOnExit, "requestUpdateOnExit");
|
|
42
|
+
|
|
43
|
+
export {
|
|
44
|
+
RELAUNCH_EXIT_CODE,
|
|
45
|
+
UPDATE_RELAUNCH_EXIT_CODE,
|
|
46
|
+
UPDATE_COMPLETE_EXIT_CODE,
|
|
47
|
+
SKIP_UPDATE_CHECK_ENV_VAR,
|
|
48
|
+
CUSTOM_SANDBOX_IMAGE_ENV_VAR,
|
|
49
|
+
HOST_UPDATE_RELAUNCH_ENV_VAR,
|
|
50
|
+
UPDATE_ON_EXIT_MESSAGE,
|
|
51
|
+
relaunchApp,
|
|
52
|
+
relaunchForUpdate,
|
|
53
|
+
requestUpdateOnExit
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* @license
|
|
57
|
+
* Copyright 2025 Google LLC
|
|
58
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
59
|
+
*/
|