@qwen-code/qwen-code 0.19.11-nightly.20260717.f8e6e8931 → 0.19.11
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/qwen-serve-deploy-local.md +7 -42
- package/bundled/qc-helper/docs/qwen-serve.md +40 -42
- package/chunks/{MaxSizedBox-JGTP7YJQ.js → MaxSizedBox-L6TGYDM3.js} +2 -2
- package/chunks/{StandaloneSessionPicker-2XQDOYZ5.js → StandaloneSessionPicker-AKEQHU5P.js} +14 -14
- package/chunks/{acpAgent-RXRJA7GD.js → acpAgent-PTNBGJDN.js} +110 -209
- package/chunks/{agent-UQP53UWQ.js → agent-AJOMOZPJ.js} +2 -2
- package/chunks/{agent-headless-I52OXDCK.js → agent-headless-CYKOMAXS.js} +2 -2
- package/chunks/{bridge-3DVRNBSF.js → bridge-QKISWPCI.js} +6 -6
- package/chunks/{chunk-PNCWEDF6.js → chunk-2OG646IN.js} +1 -1
- package/chunks/{chunk-VHCSIMTF.js → chunk-3AYLDB6B.js} +1 -1
- package/chunks/{chunk-4UBEB74N.js → chunk-3M75MSVA.js} +1 -1
- package/chunks/{chunk-EMJJBXS7.js → chunk-4AGTGMCQ.js} +1 -1
- package/chunks/{chunk-6ANLV27M.js → chunk-4HUDDSO5.js} +2 -2
- package/chunks/{chunk-X5HZX4EP.js → chunk-4IJMTYCB.js} +8 -8
- package/chunks/{chunk-FEYHXPZG.js → chunk-4ROQY23C.js} +4 -4
- package/chunks/{chunk-YOJGIRTD.js → chunk-574PTLMU.js} +27 -64
- package/chunks/{chunk-UF6ZTWU5.js → chunk-5Z452MMD.js} +10 -10
- package/chunks/{chunk-3KSHYS4T.js → chunk-6EDDYPI3.js} +4 -4
- package/chunks/{chunk-AEKHQ3E5.js → chunk-6Y6ORE2G.js} +4 -4
- package/chunks/{chunk-UJG4VV2O.js → chunk-7NMU22Q3.js} +3 -3
- package/chunks/{chunk-BZ5D7OVV.js → chunk-7ZYHLN67.js} +72 -23
- package/chunks/{chunk-DD45XVOQ.js → chunk-AU3MFJPL.js} +3 -3
- package/chunks/{chunk-R3VWUU2E.js → chunk-AVEOWVOM.js} +1 -1
- package/chunks/{chunk-I6NOSIVF.js → chunk-BUAXJVNP.js} +1 -1
- package/chunks/{chunk-BDHYJ2MM.js → chunk-BXBDC476.js} +1 -1
- package/chunks/{chunk-6VMOP2Z7.js → chunk-BYB3GF2T.js} +2 -2
- package/chunks/{chunk-FXK3QMRD.js → chunk-BYH2JRK3.js} +3 -3
- package/chunks/{chunk-L263ROM6.js → chunk-CAHY5ABC.js} +1 -1
- package/chunks/{chunk-DPXB3XRN.js → chunk-CF5VJRGC.js} +1 -1
- package/chunks/{chunk-VFEZWI6F.js → chunk-CH2XVB47.js} +1 -1
- package/chunks/{chunk-6RV42SFP.js → chunk-CITWNIXJ.js} +4 -4
- package/chunks/{chunk-IIXEI2VE.js → chunk-CPFIQVZJ.js} +1 -1
- package/chunks/{chunk-46Y6SSQ7.js → chunk-FMNYGWOD.js} +3 -3
- package/chunks/{chunk-IHJRUIWN.js → chunk-FXKOAEXP.js} +10 -10
- package/chunks/{chunk-G5ZKRK2E.js → chunk-FYQ22K62.js} +1 -1
- package/chunks/{chunk-Y3TNSHKF.js → chunk-GLNHPRZT.js} +1 -1
- package/chunks/{chunk-5WWYHNAH.js → chunk-GNBBAQ6J.js} +5 -5
- package/chunks/{chunk-XQDPCQ3A.js → chunk-HASK4LMI.js} +4 -4
- package/chunks/{chunk-D7KYA6EY.js → chunk-JD44PNGJ.js} +3 -3
- package/chunks/{chunk-JY74T7PW.js → chunk-JWICTOXS.js} +1 -1
- package/chunks/{chunk-7ZFXHKKZ.js → chunk-K7VD4XLT.js} +1 -1
- package/chunks/{chunk-KW46DBFM.js → chunk-KXYJPRT5.js} +2 -15
- package/chunks/{chunk-X6YQWCIJ.js → chunk-L4Y55KIS.js} +1 -1
- package/chunks/{chunk-6WVLHULT.js → chunk-LS56TX3M.js} +1 -1
- package/chunks/{chunk-BTSE2DUP.js → chunk-MQOVXZAF.js} +25 -46
- package/chunks/{chunk-4HTHLSIH.js → chunk-N5VIZTND.js} +1 -1
- package/chunks/{chunk-R6AO7HBQ.js → chunk-NJOFRXTM.js} +36 -73
- package/chunks/{chunk-GCRFH57X.js → chunk-NVTQZXR7.js} +4 -4
- package/chunks/{chunk-T7CZYIAU.js → chunk-QDJ2R4CM.js} +3 -3
- package/chunks/{chunk-SE6GSFAO.js → chunk-QOTQH4CB.js} +2 -2
- package/chunks/{chunk-E7ECGLZW.js → chunk-QYG4BY6Q.js} +1 -1
- package/chunks/{chunk-AVAU67KP.js → chunk-RP5R7MB6.js} +10 -10
- package/chunks/{chunk-CC2UASQ4.js → chunk-S63Z5V42.js} +3 -3
- package/chunks/{chunk-NROLDLP4.js → chunk-SQ5BK3GO.js} +1 -1
- package/chunks/{chunk-W7H223ZZ.js → chunk-STZQCNN3.js} +1 -1
- package/chunks/{chunk-3LS57JZI.js → chunk-SY7NEYX4.js} +1 -1
- package/chunks/{chunk-AHAH5H6D.js → chunk-T76DGHGG.js} +3 -3
- package/chunks/{chunk-NABT4VOY.js → chunk-THXDQSTA.js} +20 -20
- package/chunks/{chunk-GLEJW7T2.js → chunk-TL4R5TRK.js} +1 -1
- package/chunks/{chunk-XK42MWWO.js → chunk-V2DXTLUE.js} +2 -2
- package/chunks/{chunk-W6J7RSCK.js → chunk-VFX7EZIR.js} +1 -1
- package/chunks/{chunk-O3WCEZEN.js → chunk-WMNXXRGL.js} +20 -11
- package/chunks/{chunk-PSDTLRAV.js → chunk-Y3KFTWVX.js} +5 -5
- package/chunks/{chunk-4YR7FSAM.js → chunk-YFVO2HOR.js} +4 -4
- package/chunks/{chunk-ZK4AMPKI.js → chunk-YGYSMY2R.js} +23 -24
- package/chunks/{chunk-AH3YAJU6.js → chunk-YLSSEUAM.js} +8 -8
- package/chunks/{chunk-WZJELXEU.js → chunk-ZIXOTAPZ.js} +3 -92
- package/chunks/{computer-use-LTW3VB6L.js → computer-use-VZZMJEQ7.js} +2 -2
- package/chunks/{contextCommand-GLMC6CTP.js → contextCommand-PORKIZSY.js} +4 -4
- package/chunks/{create-sub-session-YMWQAWSN.js → create-sub-session-XVFKHAFW.js} +2 -2
- package/chunks/{daemon-PRB64RP5.js → daemon-IHR6WSPB.js} +1 -1
- package/chunks/{daemon-status-provider-5OMM5JHF.js → daemon-status-provider-ABLBA3UJ.js} +10 -10
- package/chunks/{earlyInputCapture-A3WSRN4T.js → earlyInputCapture-DJCU5SPU.js} +2 -2
- package/chunks/{edit-7PG4AH27.js → edit-O4VV5AO6.js} +2 -2
- package/chunks/{enter-worktree-QUSB44RE.js → enter-worktree-XQYDDI2I.js} +2 -2
- package/chunks/{enterPlanMode-NVSIEL7X.js → enterPlanMode-CESVMQBV.js} +2 -2
- package/chunks/{environment-AHHXHQTI.js → environment-5KXOLZNR.js} +4 -4
- package/chunks/{errors-NSWSRXC7.js → errors-EBUTCBAQ.js} +4 -4
- package/chunks/{exit-worktree-FXYEYHPL.js → exit-worktree-MWGNSPNX.js} +2 -2
- package/chunks/{exitPlanMode-JI5GK3F6.js → exitPlanMode-HYQL4XMB.js} +2 -2
- package/chunks/{fast-path-X7EVDLKZ.js → fast-path-6V73F2T2.js} +2 -2
- package/chunks/{gemini-YRLHY5KS.js → gemini-TEFJZCIZ.js} +33 -33
- package/chunks/{geminiContentGenerator-SPLFPV5E.js → geminiContentGenerator-M56BEXWI.js} +1 -1
- package/chunks/{glob-WASUBCSA.js → glob-DMYFEEAZ.js} +2 -2
- package/chunks/{grep-DUVG3NGA.js → grep-GYE47MD4.js} +2 -2
- package/chunks/{handleAutoUpdate-NGE5AQ2N.js → handleAutoUpdate-OLUY4L7L.js} +6 -6
- package/chunks/{i18n-QNVR36NB.js → i18n-462JC7IY.js} +3 -3
- package/chunks/{initializer-ZY7ORPMH.js → initializer-Y7WD4D2I.js} +7 -7
- package/chunks/{installationInfo-4R75MFTB.js → installationInfo-I2Z3BKCE.js} +3 -3
- package/chunks/{list-36JCMZRS.js → list-XQ5MSAXP.js} +10 -10
- package/chunks/{loadedSettingsAdapter-PQIOJUSJ.js → loadedSettingsAdapter-TQOWYE7C.js} +7 -7
- package/chunks/{mcp-QXY6XA6H.js → mcp-22LLEEVM.js} +7 -7
- package/chunks/{monitor-AVEKRSY3.js → monitor-VKG324X3.js} +2 -2
- package/chunks/{nonInteractiveCli-YWIBKX4M.js → nonInteractiveCli-UMYUT643.js} +32 -32
- package/chunks/{notebook-edit-4SBTJX72.js → notebook-edit-FJJRBQ3S.js} +2 -2
- package/chunks/{openaiContentGenerator-4EBAO7LR.js → openaiContentGenerator-4T2OGTR5.js} +2 -2
- package/chunks/{pidfile-JMIUPXSU.js → pidfile-XL3MDCBM.js} +2 -2
- package/chunks/{processUtils-EOINMEIH.js → processUtils-7UCFN34D.js} +2 -2
- package/chunks/{qwenContentGenerator-M7UBL3JS.js → qwenContentGenerator-PQUXJDIZ.js} +3 -3
- package/chunks/{read-file-DXSEFHCV.js → read-file-3EYQML7E.js} +1 -1
- package/chunks/{ripGrep-VTRVFMDJ.js → ripGrep-S6WPGQNA.js} +2 -2
- package/chunks/{run-qwen-serve-P7WQDZAS.js → run-qwen-serve-NSKBT3HU.js} +26 -39
- package/chunks/{runtime-UHYO6JGN.js → runtime-LG5ZZ3VH.js} +8 -8
- package/chunks/{scheduler-WTK7ZLV5.js → scheduler-PLX3VVTB.js} +2 -2
- package/chunks/{serve-AG2AOG56.js → serve-S2ZLRZZR.js} +7 -7
- package/chunks/{server-G5MM2BRI.js → server-5ECMV4TM.js} +79 -136
- package/chunks/{session-NUAGEMVS.js → session-ILSONWG4.js} +33 -33
- package/chunks/{settings-VQA5PR2M.js → settings-BOE7WWSA.js} +6 -6
- package/chunks/{shell-X33RWGLP.js → shell-VW664JIZ.js} +2 -2
- package/chunks/{skill-PHSU2OPP.js → skill-COHV6625.js} +1 -1
- package/chunks/{spawnChannel-D6TZN4W7.js → spawnChannel-5UUR5XOZ.js} +4 -4
- package/chunks/{src-6OJFUPTL.js → src-XPKFZ3RN.js} +2 -2
- package/chunks/{standalone-update-ZARRW44Y.js → standalone-update-IOOJ2NZQ.js} +4 -4
- package/chunks/{startInteractiveUI-C6IZRTF3.js → startInteractiveUI-3NGJGXXS.js} +41 -45
- package/chunks/{team-create-H434NQP2.js → team-create-UPLVZQFX.js} +2 -2
- package/chunks/{team-plan-approval-IIOHXZU6.js → team-plan-approval-F5F432RO.js} +2 -2
- package/chunks/{theme-manager-IEOPHMX6.js → theme-manager-JJE4BJ67.js} +2 -2
- package/chunks/{tool-search-WIIEDALL.js → tool-search-LRXI4JLZ.js} +1 -1
- package/chunks/{total-session-admission-WU3DORRW.js → total-session-admission-I4DHN6UP.js} +7 -7
- package/chunks/{trustedFolders-JVUTUAJ3.js → trustedFolders-SEH7LNX2.js} +3 -3
- package/chunks/{update-relaunch-X5EQKCH5.js → update-relaunch-T6ZKBUA6.js} +5 -5
- package/chunks/{updateCheck-TGO2X735.js → updateCheck-FWLXZPRO.js} +4 -4
- package/chunks/{validateNonInterActiveAuth-2MEUL2ME.js → validateNonInterActiveAuth-X6K2VWYT.js} +28 -28
- package/chunks/{version-KBGQKZWV.js → version-LIFSOGSE.js} +1 -1
- package/chunks/{workflow-PAOSF4CG.js → workflow-NX2DFWGD.js} +3 -3
- package/chunks/{workspace-providers-status-AYHJYSVO.js → workspace-providers-status-VYD6M2NE.js} +10 -10
- package/chunks/{workspace-registration-store-GZMR53QL.js → workspace-registration-store-2Y6PWOEL.js} +1 -1
- package/chunks/{workspace-registry-C2IXZWPF.js → workspace-registry-PKBDBWCA.js} +7 -7
- package/chunks/{workspace-service-KDDAW33F.js → workspace-service-HHORUHTS.js} +12 -12
- package/chunks/{workspace-skills-status-WWEZBZXY.js → workspace-skills-status-O5Q26LIY.js} +8 -8
- package/chunks/{write-file-ACN3TAIX.js → write-file-NVAEZ3J2.js} +2 -2
- package/cli.js +11 -11
- package/package.json +3 -3
- package/web-shell/assets/{arc-Blc5_CnD.js → arc-H74fE8UR.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-Dyv1BvGP.js → architectureDiagram-3BPJPVTR-DN3kEq-I.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CVAb8DyB.js → blockDiagram-GPEHLZMM-BrqbsFUF.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-ClHPb_6S.js → c4Diagram-AAUBKEIU-ClFhU1P-.js} +1 -1
- package/web-shell/assets/channel-NFC5ADAa.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-Dad9g3ZA.js → chunk-2J33WTMH-jCIcG0_M.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-IJJSSdDs.js → chunk-4BX2VUAB-DSkGe62-.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DRcc-Hl9.js → chunk-55IACEB6-BxBHOGTd.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DOCFB-6a.js → chunk-727SXJPM-v_DS7dH7.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CRZnSjHp.js → chunk-AQP2D5EJ-1RzEKRPq.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-BwUI4Yes.js → chunk-FMBD7UC4-DyrSbLOX.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-DLy8doxd.js → chunk-ND2GUHAM-BCmdsZiy.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-Bhz7iysj.js → chunk-QZHKN3VN-CphHGW2D.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DHgwjz3X.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHgwjz3X.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-jT1e8KzN.js → cose-bilkent-S5V4N54A-D5kRC7Fi.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C1veApQk.js → dagre-BM42HDAG-DIiyJJ0U.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-C_NOwKeT.js → diagram-2AECGRRQ-BOcuB8xU.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-Bigfuz1r.js → diagram-5GNKFQAL-CMgiZ4d3.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CpXltPpU.js → diagram-KO2AKTUF-Ctx8pfN0.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-DYawbYbH.js → diagram-LMA3HP47-BT5REAWC.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-D2t-ttd1.js → diagram-OG6HWLK6-CJkUqXcp.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-Buc53PB5.js → erDiagram-TEJ5UH35-DyvNNX6v.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-DwdFsCN7.js → flowDiagram-I6XJVG4X-VBf8_My8.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-XhiEKGoP.js → ganttDiagram-6RSMTGT7-CviJnR7B.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-D6We014a.js → gitGraphDiagram-PVQCEYII-BY66_Oze.js} +1 -1
- package/web-shell/assets/{index-BctAmeF3.js → index-8xIBbHV3.js} +197 -197
- package/web-shell/assets/{index-CAWqS-bZ.js → index-DhYuvi3j.js} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-C_iugRHQ.js → infoDiagram-5YYISTIA-D2jaewWZ.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CAn9Kaix.js → ishikawaDiagram-YF4QCWOH-BpnNTyi5.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-BjDYOkEB.js → journeyDiagram-JHISSGLW-CA55GNZF.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Br_oI3Ob.js → kanban-definition-UN3LZRKU-DyiSl_Ts.js} +1 -1
- package/web-shell/assets/{linear-BqnWHE9E.js → linear-B-sN3dkV.js} +1 -1
- package/web-shell/assets/{mermaid.core-CT-sofSb.js → mermaid.core-xf9SXDdb.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BbvrZR4B.js → mindmap-definition-RKZ34NQL-DXhr2kRk.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-gAwi3h_Q.js → pieDiagram-4H26LBE5-DUXpbfGQ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CONvBIuO.js → quadrantDiagram-W4KKPZXB-NeDQYeWw.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-lpkrcy1e.js → requirementDiagram-4Y6WPE33-BSbFRL1A.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bk6FJHqb.js → sankeyDiagram-5OEKKPKP-gg27cAaN.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-B9b9bBzt.js → sequenceDiagram-3UESZ5HK-Bi_1TSs4.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-JqBGC-S3.js → stateDiagram-AJRCARHV-CboCCRaf.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CXRqms6P.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-CCCceXDP.js → timeline-definition-PNZ67QCA-DrGpF_jn.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-EHRnmZ09.js → vennDiagram-CIIHVFJN-DCaJU67x.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CYIcHx3_.js → wardley-L42UT6IY-p0QcW1aP.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-B81AuYRl.js → wardleyDiagram-YWT4CUSO-DiEVxj1W.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DOQ6E3z7.js → xychartDiagram-2RQKCTM6-iQB8nSlA.js} +1 -1
- package/web-shell/index.html +1 -1
- package/web-shell/assets/channel-DkPTtnGS.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DBdPU8ix.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBdPU8ix.js +0 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B_w4fDnm.js +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getEffectiveSupportedModes
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NVTQZXR7.js";
|
|
6
6
|
import {
|
|
7
7
|
require_jsx_runtime
|
|
8
8
|
} from "./chunk-OWT2CAEQ.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-SUARMD4Q.js";
|
|
15
15
|
import {
|
|
16
16
|
uiTelemetryService
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MQOVXZAF.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esbuild_shims
|
|
20
20
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YGYSMY2R.js";
|
|
6
6
|
import {
|
|
7
7
|
assembleMcpServers,
|
|
8
8
|
getPendingGatedMcpServers,
|
|
9
9
|
getPromptableMcpServers
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4ROQY23C.js";
|
|
11
11
|
import {
|
|
12
12
|
getMCPServerStatus
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MQOVXZAF.js";
|
|
14
14
|
import {
|
|
15
15
|
require_fast_deep_equal
|
|
16
16
|
} from "./chunk-JGUT3LWZ.js";
|
|
@@ -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-XPKFZ3RN.js");
|
|
64
64
|
const storage = new Storage(process.cwd());
|
|
65
65
|
const tempDir = storage.getProjectTempDir();
|
|
66
66
|
const checkpointsDir = join(tempDir, "checkpoints");
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getErrorMessage
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4HUDDSO5.js";
|
|
6
6
|
import {
|
|
7
7
|
extensionToOutputString,
|
|
8
8
|
getExtensionManager
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YFVO2HOR.js";
|
|
10
10
|
import {
|
|
11
11
|
loadSettings
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-GNBBAQ6J.js";
|
|
13
13
|
import {
|
|
14
14
|
initializeI18n,
|
|
15
15
|
resolveLanguageSetting,
|
|
16
16
|
t
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-4AGTGMCQ.js";
|
|
18
18
|
import {
|
|
19
19
|
writeStderrLine,
|
|
20
20
|
writeStdoutLine
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4AGTGMCQ.js";
|
|
6
6
|
import {
|
|
7
7
|
computeThresholds,
|
|
8
8
|
getCoreSystemPrompt
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NJOFRXTM.js";
|
|
10
10
|
import {
|
|
11
11
|
buildSkillLlmContent
|
|
12
12
|
} from "./chunk-2Z5UX4KI.js";
|
|
13
13
|
import {
|
|
14
14
|
DiscoveredMCPTool,
|
|
15
15
|
uiTelemetryService
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-MQOVXZAF.js";
|
|
17
17
|
import {
|
|
18
18
|
ToolNames
|
|
19
19
|
} from "./chunk-JGUT3LWZ.js";
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import {
|
|
4
4
|
settleChatRecording,
|
|
5
5
|
subscribeToHeadlessChatRecordingFailures
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CH2XVB47.js";
|
|
7
7
|
import {
|
|
8
8
|
handleAtCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HASK4LMI.js";
|
|
10
10
|
import {
|
|
11
11
|
JsonOutputAdapter
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-CPFIQVZJ.js";
|
|
13
13
|
import {
|
|
14
14
|
StreamJsonOutputAdapter
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QDJ2R4CM.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-THXDQSTA.js";
|
|
28
28
|
import {
|
|
29
29
|
RunBudgetEnforcer
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-YGYSMY2R.js";
|
|
31
31
|
import {
|
|
32
32
|
AlreadyReportedError,
|
|
33
33
|
handleBudgetExceededError,
|
|
@@ -35,10 +35,10 @@ import {
|
|
|
35
35
|
handleError,
|
|
36
36
|
handleMaxTurnsExceededError,
|
|
37
37
|
handleToolError
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-4HUDDSO5.js";
|
|
39
39
|
import {
|
|
40
40
|
isInlineModelOverrideAllowed
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-ZIXOTAPZ.js";
|
|
42
42
|
import {
|
|
43
43
|
buildSessionRecoveryPlanFromApiHistory,
|
|
44
44
|
canonicalToolName,
|
|
@@ -55,12 +55,12 @@ import {
|
|
|
55
55
|
partitionByConcurrencySafety,
|
|
56
56
|
promptIdContext,
|
|
57
57
|
restoreWorktreeContext
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-NJOFRXTM.js";
|
|
59
59
|
import {
|
|
60
60
|
isTelemetrySdkInitialized,
|
|
61
61
|
shutdownTelemetry,
|
|
62
62
|
uiTelemetryService
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-MQOVXZAF.js";
|
|
64
64
|
import {
|
|
65
65
|
ToolNames
|
|
66
66
|
} from "./chunk-JGUT3LWZ.js";
|
|
@@ -10,12 +10,12 @@ import {
|
|
|
10
10
|
getLanguageNameFromLocale,
|
|
11
11
|
getLanguageSettingsOptions,
|
|
12
12
|
t
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-4AGTGMCQ.js";
|
|
14
14
|
import {
|
|
15
15
|
getHomeEnvFallbackVars,
|
|
16
16
|
loadEnvironment,
|
|
17
17
|
preResolveHomeEnvOverrides
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JWICTOXS.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-2OG646IN.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-NJOFRXTM.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-MQOVXZAF.js";
|
|
59
59
|
import {
|
|
60
60
|
FatalConfigError,
|
|
61
61
|
Storage,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
Colors,
|
|
5
5
|
RowMouseController
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FYQ22K62.js";
|
|
7
7
|
import {
|
|
8
8
|
Box_default,
|
|
9
9
|
Text,
|
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
} from "./chunk-HTHUX2T5.js";
|
|
16
16
|
import {
|
|
17
17
|
t
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-4AGTGMCQ.js";
|
|
19
19
|
import {
|
|
20
20
|
readManyFiles,
|
|
21
21
|
stripTerminalControlSequences
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-NJOFRXTM.js";
|
|
23
23
|
import {
|
|
24
24
|
emptyMcpResourceText,
|
|
25
25
|
formatMcpResourceContents,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./chunk-HTO4JFDZ.js";
|
|
28
28
|
import {
|
|
29
29
|
shouldRunVisionBridge
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-MQOVXZAF.js";
|
|
31
31
|
import {
|
|
32
32
|
Storage,
|
|
33
33
|
getErrorMessage,
|
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
} from "./chunk-2W3OOD4W.js";
|
|
6
6
|
import {
|
|
7
7
|
STATUS_SCHEMA_VERSION
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-VFX7EZIR.js";
|
|
9
9
|
import {
|
|
10
10
|
loadSettings
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-GNBBAQ6J.js";
|
|
12
12
|
import {
|
|
13
13
|
writeStderrLine
|
|
14
14
|
} from "./chunk-YUZI3WAC.js";
|
|
15
15
|
import {
|
|
16
16
|
SkillManager,
|
|
17
17
|
isSafeModeEnv
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-NJOFRXTM.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -16769,8 +16769,8 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16769
16769
|
// Runtime GET/PUT/DELETE control for daemon-managed channel selection.
|
|
16770
16770
|
// The route exists even when no selection was supplied at daemon boot.
|
|
16771
16771
|
channel_control: { since: "v1" },
|
|
16772
|
-
// Multi-workspace
|
|
16773
|
-
// more than one registered workspace runtime.
|
|
16772
|
+
// Multi-workspace sessions closed loop (issue #6378 Phase 2a). Advertised
|
|
16773
|
+
// only when one daemon hosts more than one registered workspace runtime.
|
|
16774
16774
|
multi_workspace_sessions: { since: "v1" },
|
|
16775
16775
|
// Singular session rewind routes resolve the owning live workspace runtime.
|
|
16776
16776
|
multi_workspace_session_rewind: { since: "v1" },
|
|
@@ -16991,17 +16991,6 @@ var MAX_SKILL_NAME_LENGTH = 256;
|
|
|
16991
16991
|
var MAX_SERVER_NAME_LENGTH = 256;
|
|
16992
16992
|
var CLIENT_ID_RE = /^[A-Za-z0-9._:-]+$/;
|
|
16993
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");
|
|
17005
16994
|
function safeBody(req) {
|
|
17006
16995
|
const raw = req.body;
|
|
17007
16996
|
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
@@ -18273,8 +18262,6 @@ export {
|
|
|
18273
18262
|
MAX_SKILL_NAME_LENGTH,
|
|
18274
18263
|
MAX_SERVER_NAME_LENGTH,
|
|
18275
18264
|
CLIENT_ID_RE,
|
|
18276
|
-
setDeferredRuntimeRequestTiming,
|
|
18277
|
-
getDeferredRuntimeRequestTiming,
|
|
18278
18265
|
safeBody,
|
|
18279
18266
|
parseOptionalWorkspaceCwd,
|
|
18280
18267
|
requireSessionId,
|
|
@@ -169,7 +169,7 @@ var WorkspaceMismatchError = class extends Error {
|
|
|
169
169
|
constructor(bound, requested) {
|
|
170
170
|
const safeRequested = requested.length > MAX_WORKSPACE_PATH_LENGTH ? `${requested.slice(0, MAX_WORKSPACE_PATH_LENGTH)}\u2026[truncated]` : requested;
|
|
171
171
|
super(
|
|
172
|
-
`Workspace mismatch:
|
|
172
|
+
`Workspace mismatch: daemon is bound to "${bound}" but request asked for "${safeRequested}". Each \`qwen serve\` daemon binds to exactly one workspace; start a separate daemon for "${safeRequested}" (or route the request to one via an orchestrator).`
|
|
173
173
|
);
|
|
174
174
|
this.name = "WorkspaceMismatchError";
|
|
175
175
|
this.bound = bound;
|
|
@@ -68699,31 +68699,24 @@ async function withDaemonSpan(name, attributes, fn, options = {}) {
|
|
|
68699
68699
|
}
|
|
68700
68700
|
const autoOkOnSuccess = options.autoOkOnSuccess ?? true;
|
|
68701
68701
|
const tracer2 = trace.getTracer(SERVICE_NAME);
|
|
68702
|
-
|
|
68703
|
-
|
|
68704
|
-
attributes,
|
|
68705
|
-
|
|
68706
|
-
|
|
68707
|
-
|
|
68708
|
-
|
|
68709
|
-
|
|
68710
|
-
|
|
68711
|
-
|
|
68702
|
+
return await tracer2.startActiveSpan(
|
|
68703
|
+
name,
|
|
68704
|
+
{ kind: SpanKind.INTERNAL, attributes },
|
|
68705
|
+
async (span) => {
|
|
68706
|
+
try {
|
|
68707
|
+
const result = await fn(span);
|
|
68708
|
+
if (autoOkOnSuccess) {
|
|
68709
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
68710
|
+
}
|
|
68711
|
+
return result;
|
|
68712
|
+
} catch (error) {
|
|
68713
|
+
recordDaemonError(span, error);
|
|
68714
|
+
throw error;
|
|
68715
|
+
} finally {
|
|
68716
|
+
span.end();
|
|
68712
68717
|
}
|
|
68713
|
-
return result;
|
|
68714
|
-
} catch (error) {
|
|
68715
|
-
recordDaemonError(span, error);
|
|
68716
|
-
throw error;
|
|
68717
|
-
} finally {
|
|
68718
|
-
span.end();
|
|
68719
68718
|
}
|
|
68720
|
-
|
|
68721
|
-
return options.parentContext ? await tracer2.startActiveSpan(
|
|
68722
|
-
name,
|
|
68723
|
-
spanOptions,
|
|
68724
|
-
options.parentContext,
|
|
68725
|
-
run
|
|
68726
|
-
) : await tracer2.startActiveSpan(name, spanOptions, run);
|
|
68719
|
+
);
|
|
68727
68720
|
}
|
|
68728
68721
|
__name(withDaemonSpan, "withDaemonSpan");
|
|
68729
68722
|
async function withDaemonRequestSpan(options, fn) {
|
|
@@ -68738,14 +68731,10 @@ async function withDaemonRequestSpan(options, fn) {
|
|
|
68738
68731
|
...options.clientId ? { "qwen-code.client_id": options.clientId } : {},
|
|
68739
68732
|
...options.permissionRequestId ? {
|
|
68740
68733
|
"qwen-code.daemon.permission.request_id": options.permissionRequestId
|
|
68741
|
-
} : {}
|
|
68742
|
-
...options.deferredRuntimeWaitMs !== void 0 ? {
|
|
68743
|
-
"qwen-code.daemon.runtime.wait_ms": options.deferredRuntimeWaitMs
|
|
68744
|
-
} : {},
|
|
68745
|
-
...options.deferredRuntimePath ? { "qwen-code.daemon.runtime.path": options.deferredRuntimePath } : {}
|
|
68734
|
+
} : {}
|
|
68746
68735
|
},
|
|
68747
68736
|
fn,
|
|
68748
|
-
{ autoOkOnSuccess: false
|
|
68737
|
+
{ autoOkOnSuccess: false }
|
|
68749
68738
|
);
|
|
68750
68739
|
}
|
|
68751
68740
|
__name(withDaemonRequestSpan, "withDaemonRequestSpan");
|
|
@@ -69100,14 +69089,11 @@ function registerDaemonGaugeCallbacks(callbacks) {
|
|
|
69100
69089
|
gaugesRegistered = true;
|
|
69101
69090
|
}
|
|
69102
69091
|
__name(registerDaemonGaugeCallbacks, "registerDaemonGaugeCallbacks");
|
|
69103
|
-
function recordDaemonHttpRequest(durationMs, route, statusCode
|
|
69092
|
+
function recordDaemonHttpRequest(durationMs, route, statusCode) {
|
|
69104
69093
|
if (!initialized) return;
|
|
69105
69094
|
const statusClass = `${Math.floor(statusCode / 100)}xx`;
|
|
69106
69095
|
httpRequestCounter?.add(1, { route, status_class: statusClass });
|
|
69107
|
-
httpRequestDurationHistogram?.record(durationMs, {
|
|
69108
|
-
route,
|
|
69109
|
-
runtime_path: deferredRuntimePath ?? "none"
|
|
69110
|
-
});
|
|
69096
|
+
httpRequestDurationHistogram?.record(durationMs, { route });
|
|
69111
69097
|
}
|
|
69112
69098
|
__name(recordDaemonHttpRequest, "recordDaemonHttpRequest");
|
|
69113
69099
|
function recordDaemonSessionLifecycle(action) {
|
|
@@ -69614,7 +69600,6 @@ var LoggingContentGenerator = class {
|
|
|
69614
69600
|
const isInternal = isInternalPromptId(userPromptId);
|
|
69615
69601
|
const shouldCollectResponses = !isInternal || !!this.openaiLogger;
|
|
69616
69602
|
const responses = [];
|
|
69617
|
-
let lastResponseForLogging;
|
|
69618
69603
|
let firstResponseId = "";
|
|
69619
69604
|
let firstModelVersion = "";
|
|
69620
69605
|
let lastUsageMetadata;
|
|
@@ -69657,16 +69642,13 @@ var LoggingContentGenerator = class {
|
|
|
69657
69642
|
if (!firstModelVersion && response.modelVersion) {
|
|
69658
69643
|
firstModelVersion = response.modelVersion;
|
|
69659
69644
|
}
|
|
69660
|
-
const candidate = response.candidates?.[0];
|
|
69661
69645
|
if (shouldCollectResponses) {
|
|
69662
|
-
|
|
69663
|
-
if ((candidate?.content?.parts?.length ?? 0) > 0 || candidate?.finishReason) {
|
|
69664
|
-
responses.push(response);
|
|
69665
|
-
}
|
|
69646
|
+
responses.push(response);
|
|
69666
69647
|
}
|
|
69667
69648
|
if (response.usageMetadata) {
|
|
69668
69649
|
lastUsageMetadata = response.usageMetadata;
|
|
69669
69650
|
}
|
|
69651
|
+
const candidate = response.candidates?.[0];
|
|
69670
69652
|
if (candidate?.finishReason) {
|
|
69671
69653
|
lastFinishReason = candidate.finishReason;
|
|
69672
69654
|
}
|
|
@@ -69681,9 +69663,6 @@ var LoggingContentGenerator = class {
|
|
|
69681
69663
|
spanEndTimeout = void 0;
|
|
69682
69664
|
}
|
|
69683
69665
|
const durationMs = Date.now() - startTime;
|
|
69684
|
-
if (lastResponseForLogging && responses.at(-1) !== lastResponseForLogging) {
|
|
69685
|
-
responses.push(lastResponseForLogging);
|
|
69686
|
-
}
|
|
69687
69666
|
const consolidatedResponse = shouldCollectResponses ? this.consolidateGeminiResponsesForLogging(responses) : void 0;
|
|
69688
69667
|
const shouldCollectSensitiveSpanAttributes = !isInternal && span !== void 0 && this.shouldCollectSensitiveSpanAttributes();
|
|
69689
69668
|
const streamModelOutput = shouldCollectSensitiveSpanAttributes ? this.extractResponseTextForSensitiveSpan(
|
|
@@ -70375,11 +70354,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
70375
70354
|
let baseGenerator;
|
|
70376
70355
|
try {
|
|
70377
70356
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
70378
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
70357
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-4T2OGTR5.js");
|
|
70379
70358
|
baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
|
|
70380
70359
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
70381
70360
|
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-LEYOU7RU.js");
|
|
70382
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
70361
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-PQUXJDIZ.js");
|
|
70383
70362
|
try {
|
|
70384
70363
|
const qwenClient = await getQwenOauthClient(
|
|
70385
70364
|
config,
|
|
@@ -70400,7 +70379,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
70400
70379
|
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-HBRXJSP4.js");
|
|
70401
70380
|
baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
|
|
70402
70381
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
70403
|
-
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-
|
|
70382
|
+
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-M56BEXWI.js");
|
|
70404
70383
|
baseGenerator = createGeminiContentGenerator(generatorConfig, config);
|
|
70405
70384
|
} else {
|
|
70406
70385
|
throw new Error(
|
|
@@ -434,7 +434,7 @@ var WorkspaceRegistrationStore = class {
|
|
|
434
434
|
return removed;
|
|
435
435
|
}
|
|
436
436
|
async update(mutate) {
|
|
437
|
-
const { atomicWriteFile } = await import("./src-
|
|
437
|
+
const { atomicWriteFile } = await import("./src-XPKFZ3RN.js");
|
|
438
438
|
return withInProcessLock(this.filePath, async () => {
|
|
439
439
|
const lock = await acquireFileLock(this.filePath);
|
|
440
440
|
let committed = false;
|