@qwen-code/qwen-code 0.23.1-preview.2 → 0.23.2-nightly.20260909.2e212144d3
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/README.md +35 -15
- package/bundled/computer-use/SKILL.md +189 -116
- package/bundled/goal-draft/SKILL.md +23 -13
- package/bundled/qc-helper/docs/_meta.ts +1 -0
- package/bundled/qc-helper/docs/configuration/auth.md +1 -1
- package/bundled/qc-helper/docs/configuration/model-providers.md +66 -16
- package/bundled/qc-helper/docs/configuration/settings.md +50 -0
- package/bundled/qc-helper/docs/conversations-recovery.md +102 -0
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
- package/bundled/qc-helper/docs/features/channels/github.md +1 -9
- package/bundled/qc-helper/docs/features/channels/overview.md +27 -52
- package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
- package/bundled/qc-helper/docs/features/commands.md +79 -17
- package/bundled/qc-helper/docs/features/computer-use.md +9 -7
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +291 -0
- package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
- package/bundled/qc-helper/docs/features/goals.md +17 -3
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
- package/bundled/qc-helper/docs/qwen-serve.md +80 -48
- package/chunks/{MaxSizedBox-IYIQ43IZ.js → MaxSizedBox-ZBGWYJZW.js} +29 -28
- package/chunks/{StandaloneSessionPicker-AWB2OHX6.js → StandaloneSessionPicker-NR5ACIJZ.js} +48 -47
- package/chunks/{acp-startup-profiler-BAL4LJTN.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
- package/chunks/{acpAgent-ZC57OLS4.js → acpAgent-DM6XRCDQ.js} +361 -210
- package/chunks/{agent-GEBPAEJS.js → agent-EF3IIYE3.js} +20 -20
- package/chunks/{agent-headless-63ZEYAJK.js → agent-headless-5J2KFYR4.js} +20 -20
- package/chunks/{anthropicContentGenerator-6XDHXIII.js → anthropicContentGenerator-VIW2FG7G.js} +32 -9
- package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-G5LHNECG.js} +1 -1
- package/chunks/{askUserQuestion-3KAYLLMM.js → askUserQuestion-R3TXY77M.js} +1 -1
- package/chunks/{bridge-MHWO5I5T.js → bridge-LEMQM6QE.js} +32 -31
- package/chunks/{channel-management-service-NFRZXQFO.js → channel-management-service-TGF6XFXT.js} +4 -4
- package/chunks/{channel-settings-store-T7PMIHKC.js → channel-settings-store-FV365JSF.js} +40 -39
- package/chunks/{channel-worker-group-O2BWK5F7.js → channel-worker-group-SQ5FRWOH.js} +7 -7
- package/chunks/{channel-worker-manager-4WP7VJOD.js → channel-worker-manager-TU4ZNWOE.js} +7 -7
- package/chunks/{channel-worker-supervisor-CCUXD6J5.js → channel-worker-supervisor-EMITFMCP.js} +4 -4
- package/chunks/{chunk-3SH53ANB.js → chunk-22GORRNY.js} +12 -0
- package/chunks/{chunk-OFB36ZBA.js → chunk-2HYOOFDS.js} +10 -7
- package/chunks/chunk-2Z3T52OC.js +82 -0
- package/chunks/{chunk-LYHYXJJ3.js → chunk-34VPADLG.js} +3 -3
- package/chunks/{chunk-C7M445SS.js → chunk-3A2IMUDH.js} +14 -2
- package/chunks/{chunk-P5Z7VD23.js → chunk-3O77M472.js} +294 -87
- package/chunks/{chunk-4OCYWXKF.js → chunk-43EUMPKQ.js} +3 -3
- package/chunks/{chunk-W4LL5RZO.js → chunk-4ALNJDHL.js} +52 -13
- package/chunks/{chunk-VMFPZXRT.js → chunk-4DIMJKWU.js} +64 -43
- package/chunks/{chunk-ZRVFHLLK.js → chunk-5DQ4YTIZ.js} +1 -1
- package/chunks/{chunk-VYCJITND.js → chunk-5HV2HPO7.js} +1 -1
- package/chunks/{chunk-22QOQKG4.js → chunk-5WBA3DEF.js} +1 -1
- package/chunks/{chunk-3K65MUKD.js → chunk-65I7S4Z3.js} +2 -1
- package/chunks/{chunk-I7UNCY24.js → chunk-6GAYNM3F.js} +3 -3
- package/chunks/{chunk-2C3XDBGL.js → chunk-6S7YYUUH.js} +4 -4
- package/chunks/{chunk-Y3C5COGI.js → chunk-6VIATHL7.js} +1 -1
- package/chunks/{chunk-XNC2TCUO.js → chunk-76I36BEM.js} +4 -4
- package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
- package/chunks/{chunk-RGAQDQ3Z.js → chunk-7IDZFJAV.js} +18 -9
- package/chunks/{chunk-5Z4FCEPY.js → chunk-7K4GGN3D.js} +606 -109
- package/chunks/{chunk-WLZRMF3C.js → chunk-7KZVXJ4U.js} +353 -11
- package/chunks/{chunk-REDVV5NC.js → chunk-7WCJEY3A.js} +7 -7
- package/chunks/{chunk-I67KJGM6.js → chunk-A7QZIGRB.js} +3 -3
- package/chunks/{chunk-SHX2HIE7.js → chunk-ATBLEXXV.js} +7 -2
- package/chunks/{chunk-RH344FKI.js → chunk-AUTUFD5X.js} +1 -1
- package/chunks/chunk-AXMWHKXA.js +42 -0
- package/chunks/{chunk-WFXD5OZH.js → chunk-AXWTG6R7.js} +2 -5
- package/chunks/{chunk-TSLRORQR.js → chunk-BDAVT6K2.js} +1809 -1588
- package/chunks/{chunk-HWZOOSEB.js → chunk-BDP3NTWD.js} +3 -3
- package/chunks/{chunk-RD3VPM4E.js → chunk-BZUHZCUO.js} +2 -2
- package/chunks/{chunk-HPE4LEWX.js → chunk-C24ZDDNY.js} +1 -1
- package/chunks/{chunk-R7TKFIQO.js → chunk-CALNF3Z3.js} +1 -1
- package/chunks/{chunk-RPFJJ33Z.js → chunk-CALTQWTZ.js} +1 -1
- package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
- package/chunks/{chunk-LD53HMPV.js → chunk-CRZBDVP2.js} +1 -0
- package/chunks/{chunk-GEV66YGE.js → chunk-D6AGS266.js} +1 -1
- package/chunks/{chunk-EPZWBYQI.js → chunk-D7DFZAK2.js} +19 -11
- package/chunks/{chunk-5V4B3EWA.js → chunk-DARWOZY6.js} +1 -1
- package/chunks/{chunk-XX4MBBFW.js → chunk-DGNRLJ6S.js} +4 -4
- package/chunks/{chunk-UTVIIA7N.js → chunk-DVOCOIS5.js} +1 -1
- package/chunks/{chunk-RQNAO42A.js → chunk-E4LXNQAK.js} +1 -1
- package/chunks/{chunk-EGRFCIXD.js → chunk-EATP5QCN.js} +84 -25
- package/chunks/{chunk-3RMVM33U.js → chunk-EDSU3VUG.js} +12 -5
- package/chunks/{chunk-733KQL63.js → chunk-EE5ZD4XU.js} +3 -3
- package/chunks/{chunk-QQGAR64U.js → chunk-EN3Q2S3J.js} +4 -4
- package/chunks/{chunk-PLUAIHZO.js → chunk-EOLGAQ25.js} +17 -16
- package/chunks/{chunk-37SOBIA3.js → chunk-ERXNTINK.js} +1 -1
- package/chunks/{chunk-L36LLVA5.js → chunk-EYCW6UF2.js} +7 -7
- package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
- package/chunks/{chunk-FPGTNKCP.js → chunk-F3M6P6IQ.js} +199 -1
- package/chunks/{chunk-B44JBZBB.js → chunk-F4SAL7WM.js} +91 -3
- package/chunks/{chunk-F47DITLZ.js → chunk-FAWTMDX7.js} +14 -0
- package/chunks/{chunk-SI6Q52UI.js → chunk-FEEVHJOR.js} +3 -3
- package/chunks/{chunk-75UQFGFE.js → chunk-FN4KHWCL.js} +1 -1
- package/chunks/{chunk-WQBR7LN5.js → chunk-FRS3P7MQ.js} +15 -2
- package/chunks/{chunk-5JLQWQK6.js → chunk-FV4DM2M4.js} +2 -2
- package/chunks/{chunk-Z6DDPSGJ.js → chunk-GNY7B3CA.js} +1 -1
- package/chunks/{chunk-FDOGGKAA.js → chunk-GSFV5RQW.js} +2 -0
- package/chunks/{chunk-XBVNNDPK.js → chunk-GSYD7MYP.js} +8 -3
- package/chunks/{chunk-ERMAXPXA.js → chunk-HIXUUCGY.js} +187 -12
- package/chunks/{chunk-EJNYBDYC.js → chunk-HNLMYDQE.js} +1 -1
- package/chunks/{chunk-3K456UJF.js → chunk-HSO6D4KX.js} +93 -28
- package/chunks/{chunk-ANVC5CSK.js → chunk-HUJJFSMO.js} +10 -10
- package/chunks/{chunk-C4NXRR7T.js → chunk-HW4MRP4V.js} +2 -2
- package/chunks/{chunk-PMGWY6ZP.js → chunk-HWLLUDIA.js} +113 -18
- package/chunks/{chunk-RCUWMVN3.js → chunk-HZ2HUXX7.js} +1 -1
- package/chunks/{chunk-7PMKXGRP.js → chunk-IKK6NNS6.js} +91 -31
- package/chunks/{chunk-IMWCUWQT.js → chunk-J3TJH52D.js} +1 -1
- package/chunks/{chunk-BNWIX6BM.js → chunk-JFAGT5YG.js} +3 -3
- package/chunks/{chunk-RSU3I6UL.js → chunk-JGTMTJSQ.js} +1 -1
- package/chunks/{chunk-LTCI6ZOJ.js → chunk-JYGIJA4W.js} +1 -1
- package/chunks/{chunk-537SQ2AI.js → chunk-KECCLCXM.js} +146 -24
- package/chunks/{chunk-KAZWXVI3.js → chunk-KEPC5BOL.js} +5 -5
- package/chunks/{chunk-HZS3JRQW.js → chunk-L5VHJYHH.js} +40 -2
- package/chunks/{chunk-KTLT7VCX.js → chunk-LKBOBUA2.js} +2 -2
- package/chunks/{chunk-TDHVOZ65.js → chunk-LOBKNYPR.js} +2 -2
- package/chunks/{chunk-QW7BUOSI.js → chunk-LOVGQ3HZ.js} +26 -9
- package/chunks/{chunk-5FYGZ7E3.js → chunk-MUF4UGPB.js} +2 -2
- package/chunks/chunk-N3Z6Q7KC.js +384 -0
- package/chunks/{chunk-JOV46WGX.js → chunk-NB3NDQQK.js} +1 -1
- package/chunks/chunk-NFXXBWSE.js +463 -0
- package/chunks/chunk-NOO4QFXM.js +171 -0
- package/chunks/{chunk-PQSCGZT2.js → chunk-NPKCVSXX.js} +26 -2
- package/chunks/{chunk-FXYNIZPW.js → chunk-NV4YYXFT.js} +51 -10
- package/chunks/{chunk-FWH4736Q.js → chunk-O6BFERWN.js} +3 -3
- package/chunks/{chunk-UKADFFL2.js → chunk-OFVAS4AR.js} +1 -1
- package/chunks/{chunk-C55CR5I4.js → chunk-OVTPETDL.js} +6 -6
- package/chunks/chunk-PLEBBGHL.js +1401 -0
- package/chunks/{chunk-Z6KFLEG7.js → chunk-PSPAM24S.js} +1 -0
- package/chunks/{chunk-RRCNEW2A.js → chunk-PWR6BQ3U.js} +58 -4
- package/chunks/{chunk-SHK2SIR5.js → chunk-QA2B26PL.js} +4 -4
- package/chunks/{chunk-NFIDVZND.js → chunk-QB3KS3N3.js} +2 -21
- package/chunks/{chunk-NUQFUXOG.js → chunk-QTNCGZHQ.js} +2 -0
- package/chunks/{chunk-QJVZLILI.js → chunk-R7OO56VZ.js} +1 -1
- package/chunks/{chunk-MFCWL4LI.js → chunk-SK6VACCM.js} +936 -481
- package/chunks/{chunk-SD7Y2PMC.js → chunk-SM66GFKJ.js} +2 -2
- package/chunks/{chunk-ADJD4LZF.js → chunk-SNMUO5Z7.js} +1 -1
- package/chunks/{chunk-NXWYCSPL.js → chunk-SOA4HKRJ.js} +1 -1
- package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
- package/chunks/{chunk-YLFICBYK.js → chunk-SYKPMH2X.js} +3 -3
- package/chunks/{chunk-5HBA2Z7V.js → chunk-TGNNLRC3.js} +2 -3
- package/chunks/{chunk-AX23QSX3.js → chunk-TRQNRP2H.js} +4 -4
- package/chunks/{chunk-AUJOWIT5.js → chunk-UQOP2APG.js} +4 -24
- package/chunks/{chunk-HY3DXYZK.js → chunk-UYDQYDW2.js} +1 -1
- package/chunks/{chunk-IGOIYZBG.js → chunk-VAWM3A5N.js} +2 -2
- package/chunks/{chunk-6KYWU726.js → chunk-VJJXG73H.js} +417 -292
- package/chunks/{chunk-ZNI3V2XA.js → chunk-VJWJOKOQ.js} +2 -2
- package/chunks/{chunk-AWDF462I.js → chunk-VR6Y23FW.js} +2 -2
- package/chunks/{chunk-T7TP5UQL.js → chunk-VX2NR3SD.js} +21 -6
- package/chunks/{chunk-65GHQ4FX.js → chunk-WDVV3LRM.js} +707 -216
- package/chunks/{chunk-KP5QK3FB.js → chunk-WEU6O6VN.js} +397 -54
- package/chunks/{chunk-OHOO527W.js → chunk-WG7BL3FY.js} +52 -2
- package/chunks/{chunk-VU7O7CGQ.js → chunk-XDNFODER.js} +1 -1
- package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
- package/chunks/{chunk-RUMSY4ES.js → chunk-Y7YHAY32.js} +28 -10
- package/chunks/{chunk-7IKXTGZT.js → chunk-YI2YCNSP.js} +1 -1
- package/chunks/{chunk-B5FF3LRF.js → chunk-YIE6REQ5.js} +29 -17
- package/chunks/{chunk-E4VX6LXB.js → chunk-YZTGGCEE.js} +10 -2
- package/chunks/{chunk-TXAEXF2B.js → chunk-ZEFWBG2C.js} +737 -1136
- package/chunks/{chunk-AIMZIXZM.js → chunk-ZM2TCZZ7.js} +5 -7
- package/chunks/{chunk-ZT3XUGSU.js → chunk-ZZ7RVOTU.js} +135 -26
- package/chunks/{config-utils-F4CFJ4MW.js → config-utils-SXFK3G4X.js} +33 -32
- package/chunks/{contextCommand-OIIGGOMU.js → contextCommand-QFPD26QO.js} +31 -30
- package/chunks/{core-runtime-JEHLOGMB.js → core-runtime-VXKNBODM.js} +35 -33
- package/chunks/{create-sub-session-MVFBE5RA.js → create-sub-session-7WSQETFR.js} +30 -29
- package/chunks/{daemon-LCUELM6E.js → daemon-U2456K5H.js} +2 -2
- package/chunks/{daemon-git-worktree-guard-5FTKLJOU.js → daemon-git-worktree-guard-I4DCSDUS.js} +29 -28
- package/chunks/{daemon-status-provider-P6A5MPMW.js → daemon-status-provider-5UV56RI4.js} +36 -35
- package/chunks/{daemon-trust-policy-ZJ3NFYUO.js → daemon-trust-policy-DKIBWTKU.js} +36 -35
- package/chunks/{daemon-trust-policy-monitor-6SDLEW7S.js → daemon-trust-policy-monitor-CPSD7UKT.js} +36 -35
- package/chunks/{deferred-core-runtime-DWOXIU5S.js → deferred-core-runtime-D2RF35BL.js} +29 -28
- package/chunks/{discovery-TUM3ZQ6U.js → discovery-XP4RMDUM.js} +4 -2
- package/chunks/{dist-P6YWBITG.js → dist-6YDUH3BB.js} +817 -152
- package/chunks/{dist-T4PRA5EZ.js → dist-BNQVF565.js} +2 -8
- package/chunks/{dist-AI25RVRA.js → dist-F34J4FZX.js} +1 -1
- package/chunks/{dist-3H3WODVS.js → dist-F6JLAJLE.js} +1 -1
- package/chunks/{dist-NXW4DUUX.js → dist-K5GHMXIG.js} +2 -2
- package/chunks/{dist-YNQU4CKC.js → dist-NP7QKLVG.js} +2 -2
- package/chunks/{dist-VCAS67N5.js → dist-UFTFGI6I.js} +1 -1
- package/chunks/{dist-I74QLLQS.js → dist-XLV33CLY.js} +1 -2
- package/chunks/{dist-XINEKB5A.js → dist-ZDNJK74R.js} +3 -7
- package/chunks/{edit-WPVXLL3T.js → edit-4IBADZ3O.js} +20 -20
- package/chunks/{enter-worktree-5A6VW6BN.js → enter-worktree-YFTKHXHZ.js} +2 -2
- package/chunks/{enterPlanMode-JSODW7E2.js → enterPlanMode-YN3GPQU5.js} +20 -20
- package/chunks/{environment-5LLJ3I3W.js → environment-E272IJMF.js} +32 -31
- package/chunks/{errors-IQT3YZEP.js → errors-CVAH3RWQ.js} +31 -30
- package/chunks/{exit-worktree-QV7E7KP6.js → exit-worktree-NF2XEMES.js} +3 -3
- package/chunks/{exitPlanMode-DDVFYNW4.js → exitPlanMode-24J5IHGC.js} +20 -20
- package/chunks/{fast-path-PAUQQEVU.js → fast-path-M5IDBMXF.js} +4 -4
- package/chunks/{fast-path-settings-ISEJPRYE.js → fast-path-settings-SATXY3PD.js} +3 -3
- package/chunks/{glob-SQ7CTZ7F.js → glob-ERBD7JYP.js} +20 -20
- package/chunks/{goal-tools-UWZRCLQB.js → goal-tools-245ULLQT.js} +20 -20
- package/chunks/{handleAutoUpdate-RUPZZTSG.js → handleAutoUpdate-JDZHHZKK.js} +32 -31
- package/chunks/{i18n-SF5MPWEB.js → i18n-LA4D5IXM.js} +32 -29
- package/chunks/{image-gen-Q3RUTVKR.js → image-gen-XP4NNIYG.js} +4 -4
- package/chunks/{initializer-CK4WPYZG.js → initializer-SHPTSWUZ.js} +36 -35
- package/chunks/{installationInfo-IRPQEYRF.js → installationInfo-QEQEPB3G.js} +29 -28
- package/chunks/{list-E3PS3EBJ.js → list-IBHCQWTF.js} +39 -38
- package/chunks/{list-agents-I5TRH3J7.js → list-agents-EDPZCGKN.js} +5 -4
- package/chunks/{llm-JQKBOYAF.js → llm-JAWCQLA4.js} +81 -75
- package/chunks/{llm-content-generator-2QWGBW42.js → llm-content-generator-GOV3A23T.js} +23 -8
- package/chunks/{loadedSettingsAdapter-DGXGVYZS.js → loadedSettingsAdapter-RVE2GNVU.js} +36 -35
- package/chunks/{loggingContentGenerator-ZYURLJKK.js → loggingContentGenerator-SSHNN5YW.js} +22 -22
- package/chunks/{managed-npm-update-HTHR63EA.js → managed-npm-update-BHSTITQO.js} +29 -28
- package/chunks/{mcp-I7G2AEWS.js → mcp-6ZZ7P2HU.js} +36 -35
- package/chunks/{monitor-4R76BCRZ.js → monitor-RKK6GSHG.js} +20 -20
- package/chunks/{nonInteractiveCli-24OQ3VP2.js → nonInteractiveCli-UQHP3G6P.js} +76 -72
- package/chunks/{notebook-edit-PPSH7FEX.js → notebook-edit-YM47A7WO.js} +20 -20
- package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
- package/chunks/{openaiContentGenerator-K7V5EO7F.js → openaiContentGenerator-FHKDWNI2.js} +11 -11
- package/chunks/{pidfile-TGIUY2GG.js → pidfile-SIIEJEEH.js} +32 -29
- package/chunks/{processUtils-3USXUQWX.js → processUtils-JF7CWBJC.js} +2 -2
- package/chunks/{prompt-terminal-ledger-XHVZRXJI.js → prompt-terminal-ledger-FXXHAEQU.js} +30 -29
- package/chunks/{qwenContentGenerator-MPBOQB64.js → qwenContentGenerator-KFJ77JP6.js} +24 -24
- package/chunks/{qwenOAuth2-BS5D2LYV.js → qwenOAuth2-KX6LVYQ3.js} +4 -4
- package/chunks/{read-file-R256LDWQ.js → read-file-S2NOCBIL.js} +4 -4
- package/chunks/{resumeHistoryUtils-S43LTFHD.js → resumeHistoryUtils-QHHPSQWU.js} +33 -32
- package/chunks/{ripGrep-L7HPZ75Y.js → ripGrep-F6TNOJUO.js} +5 -5
- package/chunks/{run-qwen-serve-CTFL5R6U.js → run-qwen-serve-KYBDQRDD.js} +229 -79
- package/chunks/{runtime-FS5TL6P7.js → runtime-3WNOFLCR.js} +43 -40
- package/chunks/{scheduled-tasks-QXPV3Q35.js → scheduled-tasks-RNBH56DJ.js} +34 -33
- package/chunks/{scheduler-EXU5HMVK.js → scheduler-ERMW7Q7B.js} +31 -30
- package/chunks/{send-message-GQKXGMPI.js → send-message-V5T3NMFM.js} +4 -4
- package/chunks/{serve-ITJC7WNN.js → serve-7NV46RMP.js} +36 -35
- package/chunks/{server-6JQY3PTU.js → server-6RZJR5QF.js} +1358 -932
- package/chunks/{session-PJDEKXD4.js → session-Z4EV7NVV.js} +107 -78
- package/chunks/{session-attachments-root-L37ORSST.js → session-attachments-root-SG5FC52X.js} +29 -28
- package/chunks/{session-pr-refresh-WIFD52YL.js → session-pr-refresh-ILC4Z3ZM.js} +33 -32
- package/chunks/{settings-LO6J5SAZ.js → settings-Y47SPE3X.js} +35 -34
- package/chunks/{shell-ANAFVYGR.js → shell-YBVCOPVO.js} +20 -20
- package/chunks/{skill-SHJWKSPH.js → skill-AXC63EBA.js} +4 -4
- package/chunks/{skill-settings-GX3XHZ5Q.js → skill-settings-AFPAYGLO.js} +35 -34
- package/chunks/{spawnChannel-WE42VBKM.js → spawnChannel-ZFL4J2V3.js} +29 -28
- package/chunks/{standalone-update-CWDIKJRP.js → standalone-update-Y2OZPLNJ.js} +31 -30
- package/chunks/{start-opentui-ui-BBHGFOTF.js → start-opentui-ui-G6TKT4LI.js} +2270 -1026
- package/chunks/{startInteractiveUI-FQX7LUYP.js → startInteractiveUI-YTNDPW7J.js} +1789 -2211
- package/chunks/{task-create-PMAFST2T.js → task-create-MWXJFRRM.js} +3 -3
- package/chunks/{task-list-R2HSY2NC.js → task-list-EYO3FE57.js} +2 -2
- package/chunks/{task-update-JYC57USF.js → task-update-2JJJRHMT.js} +3 -3
- package/chunks/{team-create-WKTPCH6D.js → team-create-BUFLGGSH.js} +20 -20
- package/chunks/{team-delete-CBHVBTPB.js → team-delete-IQZ6XGFI.js} +2 -2
- package/chunks/{team-plan-approval-Y23DL7WR.js → team-plan-approval-OUWWM42U.js} +20 -20
- package/chunks/{terminal-image-renderer-B646HBDW.js → terminal-image-renderer-WH2WV5ES.js} +29 -28
- package/chunks/{theme-manager-BNWESY26.js → theme-manager-5UDRARM2.js} +29 -28
- package/chunks/{tool-search-PVQ5O5Y2.js → tool-search-MCDIRPHN.js} +4 -4
- package/chunks/{total-session-admission-P5Z43KNW.js → total-session-admission-VL27U74Z.js} +33 -32
- package/chunks/{trustedFolders-FH2LT2MZ.js → trustedFolders-MSXT4VDD.js} +30 -29
- package/chunks/{update-relaunch-WOWTKJSN.js → update-relaunch-JKLEWVCB.js} +5 -5
- package/chunks/{updateCheck-3MYFMM35.js → updateCheck-ARTHAJT2.js} +31 -30
- package/chunks/{useAutoAcceptIndicator-Q7ZRRRKO.js → useAutoAcceptIndicator-YEAAGYVU.js} +38 -37
- package/chunks/{validateNonInterActiveAuth-MYEWJX3G.js → validateNonInterActiveAuth-EMRQKH5S.js} +71 -69
- package/chunks/{version-RO2FPO76.js → version-HFQU35WD.js} +3 -1
- package/chunks/{web-fetch-QAKY2LUA.js → web-fetch-QBXAO6VF.js} +7 -7
- package/chunks/{web-search-XA5Z4ZCD.js → web-search-2URQXA3A.js} +201 -13
- package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-BFDESDD4.js} +5 -4
- package/chunks/{workflow-QFIOCMDM.js → workflow-JDD6WDAH.js} +211 -75
- package/chunks/{workspace-providers-status-B2UD7RAG.js → workspace-providers-status-B4IKR6YJ.js} +38 -37
- package/chunks/{workspace-registration-store-VZLRTI3Q.js → workspace-registration-store-PJ3YHR45.js} +1 -2
- package/chunks/{workspace-registry-GYOGG6TM.js → workspace-registry-WVYJ5UGB.js} +33 -32
- package/chunks/{workspace-runtime-coordinator-7KRXGQ4V.js → workspace-runtime-coordinator-DXL5YVAG.js} +33 -32
- package/chunks/{workspace-service-DJEYGJE4.js → workspace-service-QNGAMVH7.js} +40 -39
- package/chunks/{workspace-skills-status-MOKNESUC.js → workspace-skills-status-BEISJIII.js} +36 -35
- package/chunks/{workspace-trust-reconciler-AXOSUTQW.js → workspace-trust-reconciler-ORYJF5L4.js} +40 -39
- package/chunks/{write-file-QOYVHAKK.js → write-file-DWLKFBTJ.js} +21 -21
- package/chunks/{zoom-image-UCCLGFNC.js → zoom-image-BYVIXSNQ.js} +4 -4
- package/cli.js +13 -13
- package/export-transcript-document.js +123 -119
- package/package.json +4 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-CTstZpXw.js → abnfDiagram-VCTEODGH-C_8kzsly.js} +1 -1
- package/web-shell/assets/{arc-DKW0mbPo.js → arc-CDg7Zfpm.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DkMpJ42t.js → architectureDiagram-5GKGNRK7-DZzdCWyF.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-7Cp1_4i3.js → blockDiagram-NRAW4CY4-DI3B4gyR.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BfaoSlBK.js → c4Diagram-UCG6FXSJ-CfOgwHZW.js} +1 -1
- package/web-shell/assets/channel-e4xwS72w.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-_n1qzAio.js → chunk-2Q5K7J3B-B_PUth0g.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-0cira5ZV.js → chunk-5VM5RSS4-CrKtvBIL.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DseRXSHC.js → chunk-F27PBJKO-B4z2n8Py.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-BehQWin0.js → chunk-G27WJ6UU-BUtrFEO8.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-B5ftg1Bb.js → chunk-JWPE2WC7-Cqw3aXW0.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D7rnbVdk.js → chunk-LCL6LL3I-CZolnvls.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-2Bp-Orju.js → chunk-POPQ4Y6H-DivgasCa.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-CD2goGva.js → chunk-SVP7TREG--seyb1B6.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-DzQt-Rji.js → chunk-XXDRQBXY-D7pHtuVM.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CzXfUUOt.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CzXfUUOt.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-C-BZXSUn.js → cose-bilkent-JH36ORCC-4MWaRF_3.js} +1 -1
- package/web-shell/assets/csv-CX7rUNeC.svg +1 -0
- package/web-shell/assets/{cynefin-OW5HDTMX-BTcvowe1.js → cynefin-OW5HDTMX-nhJhAjgD.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BoUE6K81.js → cynefinDiagram-5FMLGOSQ-NF-PwXlq.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-BHxy9xeB.js → dagre-3AP2YEHR-Bu0ncdWP.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DMiJIvDT.js → diagram-S7CK7UJ4-CsvhFHZC.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-DXV09Aes.js → diagram-UQ7AKVKN-Ck61sIB3.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-CocpRomV.js → diagram-VSXAHHWV-D0171zrb.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-DL7nqtb4.js → diagram-VX7I27RA-DvdxY4UL.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-CPZ2Jux_.js → diagram-Z3DM3KII-CGGpseiB.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-BX-eVNsX.js → ebnfDiagram-PWID7BFC-K8-QMvY8.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CPy_Ir6y.js → erDiagram-SSCWMZ5O-D316nAem.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-eknAOte9.js → flowDiagram-A5DVABFB-B7siy_mn.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-crAxw_t7.js → ganttDiagram-EL5Y4UJY-BZQDxzTu.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-M29pa3Tc.js → gitGraphDiagram-WWUBYQGX-DZynLCSV.js} +1 -1
- package/web-shell/assets/{index-C9R-iojE.js → index-9ie6xLTM.js} +1 -1
- package/web-shell/assets/index-DirkXQEg.js +2164 -0
- package/web-shell/assets/index-DzdST_7L.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-XqspXdOU.js → infoDiagram-RXCK75RN-B0gr769A.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-C5KFS-7j.js → ishikawaDiagram-5VMMS53U-0pQFfjvX.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-Cc57LVRo.js → journeyDiagram-EYS64GPL-DEGtClWb.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-C81OG-AI.js → kanban-definition-3QL26DDD-CnN8gPzw.js} +1 -1
- package/web-shell/assets/{layout-CFVu37BB.js → layout-C_70RhaT.js} +1 -1
- package/web-shell/assets/{linear-ChBxdtWf.js → linear-BJ2ZLmcq.js} +1 -1
- package/web-shell/assets/{mermaid.core-CMLfue0w.js → mermaid.core-RlY0zPNC.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DFsvJThp.js → mindmap-definition-FBJOCRG2-CpVAxTNl.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BzpRzM4F.js → pegDiagram-XKGWAZYB-DmrSv3hD.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-Cv0Kankl.js → pieDiagram-E7YTZNPT-CJmgp8KJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-Bh2BJ3Ay.js → quadrantDiagram-AXDQQJYC-UsgOyNco.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-y8rNDdDS.js → railroadDiagram-O6MQD6OU-DQ6gMs_W.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C0m2DKJ_.js → requirementDiagram-EFPCY7ZU-DhqadamF.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-BzdGnSF4.js → sankeyDiagram-P5KCCOFB-R4WnURaE.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DPzAVmzz.js → sequenceDiagram-WJ2MYXX4-D7BwMi_D.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-LcHG28Zh.js → sizeCapture-X5ZJPWSS-Bqngz088.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-C1Bzy3IT.js → stateDiagram-HBIQ2CUA-DwaXPGqn.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-8GCQZAvv.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-Bftk8V64.js → swimlanes-XN3QIQJK-BsaLeRDY.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BoRBF2Yw.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-BfXHcN1A.js → timeline-definition-24CTP7MA-NJ9G-NUU.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DRSlI9-V.js → vennDiagram-4TSXK5OY-Ca3W4rSq.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CaLmqGau.js → wardleyDiagram-VM6X3IG4-OabvjC-6.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-8lgUT6e8.js → xychartDiagram-S5SC5T6Z-C7rbjvpc.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-2LD5U7Q3.js +0 -114
- package/chunks/chunk-3UMWOKJC.js +0 -78
- package/chunks/chunk-IQAFKVXS.js +0 -22
- package/chunks/chunk-X35VIWWJ.js +0 -276
- package/chunks/chunk-ZJ2LM2SI.js +0 -198
- package/web-shell/assets/channel-CQx7VSAp.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-C-Uz8hHk.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-C-Uz8hHk.js +0 -1
- package/web-shell/assets/index-B4TLaxWs.js +0 -2142
- package/web-shell/assets/index-CCrkEbzz.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-LuuL5byY.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-COmnNq8s.js +0 -8
|
@@ -23,10 +23,11 @@ import {
|
|
|
23
23
|
SessionConflictError,
|
|
24
24
|
SessionNotArchivedError,
|
|
25
25
|
SessionNotFoundError
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-FAWTMDX7.js";
|
|
27
27
|
import {
|
|
28
|
-
readWorktreeSession
|
|
29
|
-
|
|
28
|
+
readWorktreeSession,
|
|
29
|
+
readWorktreeSessionStrict
|
|
30
|
+
} from "./chunk-YZTGGCEE.js";
|
|
30
31
|
import {
|
|
31
32
|
SESSION_PR_LIST_LIMIT,
|
|
32
33
|
SESSION_PR_URL_MAX_LENGTH,
|
|
@@ -40,7 +41,12 @@ import {
|
|
|
40
41
|
gitEnv,
|
|
41
42
|
readSessionPrs,
|
|
42
43
|
toSessionPrInfo
|
|
43
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-BDAVT6K2.js";
|
|
45
|
+
import {
|
|
46
|
+
GitWorktreeService,
|
|
47
|
+
WORKTREE_SESSION_FILE,
|
|
48
|
+
readWorktreeSessionMarkerStrict
|
|
49
|
+
} from "./chunk-HIXUUCGY.js";
|
|
44
50
|
import {
|
|
45
51
|
updateCronTasks
|
|
46
52
|
} from "./chunk-F53KKZUD.js";
|
|
@@ -1322,6 +1328,7 @@ __name(createWorkspaceRuntimeSessionService, "createWorkspaceRuntimeSessionServi
|
|
|
1322
1328
|
|
|
1323
1329
|
// packages/cli/src/serve/server/session-archive.ts
|
|
1324
1330
|
init_esbuild_shims();
|
|
1331
|
+
import fs2 from "node:fs";
|
|
1325
1332
|
|
|
1326
1333
|
// packages/cli/src/serve/scheduled-task-session-lifecycle.ts
|
|
1327
1334
|
init_esbuild_shims();
|
|
@@ -1394,6 +1401,296 @@ async function removeTasksForSessions(projectRoot, sessionIds, options = {}) {
|
|
|
1394
1401
|
}
|
|
1395
1402
|
__name(removeTasksForSessions, "removeTasksForSessions");
|
|
1396
1403
|
|
|
1404
|
+
// packages/cli/src/serve/server/worktree-orphan-cleanup.ts
|
|
1405
|
+
init_esbuild_shims();
|
|
1406
|
+
import fs from "node:fs";
|
|
1407
|
+
import * as fsp from "node:fs/promises";
|
|
1408
|
+
import path2 from "node:path";
|
|
1409
|
+
import { execFile } from "node:child_process";
|
|
1410
|
+
import { promisify } from "node:util";
|
|
1411
|
+
|
|
1412
|
+
// packages/cli/src/serve/server/worktree-ownership-op.ts
|
|
1413
|
+
init_esbuild_shims();
|
|
1414
|
+
var worktreeOwnershipOpTails = /* @__PURE__ */ new Map();
|
|
1415
|
+
async function acquireWorktreeOwnershipOp(worktreeKey) {
|
|
1416
|
+
const previous = worktreeOwnershipOpTails.get(worktreeKey);
|
|
1417
|
+
let releaseGate;
|
|
1418
|
+
const gate = new Promise((resolve) => {
|
|
1419
|
+
releaseGate = resolve;
|
|
1420
|
+
});
|
|
1421
|
+
const tail = (previous ?? Promise.resolve()).then(() => gate);
|
|
1422
|
+
worktreeOwnershipOpTails.set(worktreeKey, tail);
|
|
1423
|
+
if (previous) {
|
|
1424
|
+
await previous;
|
|
1425
|
+
}
|
|
1426
|
+
let released = false;
|
|
1427
|
+
return () => {
|
|
1428
|
+
if (released) return;
|
|
1429
|
+
released = true;
|
|
1430
|
+
releaseGate();
|
|
1431
|
+
if (worktreeOwnershipOpTails.get(worktreeKey) === tail) {
|
|
1432
|
+
worktreeOwnershipOpTails.delete(worktreeKey);
|
|
1433
|
+
}
|
|
1434
|
+
};
|
|
1435
|
+
}
|
|
1436
|
+
__name(acquireWorktreeOwnershipOp, "acquireWorktreeOwnershipOp");
|
|
1437
|
+
|
|
1438
|
+
// packages/cli/src/serve/server/worktree-orphan-cleanup.ts
|
|
1439
|
+
function canonicalPath(candidate) {
|
|
1440
|
+
try {
|
|
1441
|
+
return fs.realpathSync(candidate);
|
|
1442
|
+
} catch {
|
|
1443
|
+
return candidate;
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
__name(canonicalPath, "canonicalPath");
|
|
1447
|
+
var execFileAsync = promisify(execFile);
|
|
1448
|
+
var DISPOSABLE_IGNORED_ROOTS = /* @__PURE__ */ new Set(["node_modules", "dist", "coverage"]);
|
|
1449
|
+
async function checkoutHasWork(worktreePath) {
|
|
1450
|
+
try {
|
|
1451
|
+
const { stdout } = await execFileAsync(
|
|
1452
|
+
"git",
|
|
1453
|
+
[
|
|
1454
|
+
"status",
|
|
1455
|
+
"--porcelain",
|
|
1456
|
+
"--untracked-files=normal",
|
|
1457
|
+
"--ignored=matching"
|
|
1458
|
+
],
|
|
1459
|
+
{ cwd: worktreePath, env: gitEnv() }
|
|
1460
|
+
);
|
|
1461
|
+
return stdout.split("\n").filter((line) => line.trim().length > 0).some((line) => {
|
|
1462
|
+
const entry = line.slice(3);
|
|
1463
|
+
if (entry === WORKTREE_SESSION_FILE) return false;
|
|
1464
|
+
if (line.startsWith("!!")) {
|
|
1465
|
+
return !DISPOSABLE_IGNORED_ROOTS.has(entry.split("/")[0]);
|
|
1466
|
+
}
|
|
1467
|
+
return true;
|
|
1468
|
+
});
|
|
1469
|
+
} catch {
|
|
1470
|
+
return true;
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1473
|
+
__name(checkoutHasWork, "checkoutHasWork");
|
|
1474
|
+
function logWarning(message) {
|
|
1475
|
+
writeStderrLine(`qwen serve: ${message}`);
|
|
1476
|
+
}
|
|
1477
|
+
__name(logWarning, "logWarning");
|
|
1478
|
+
function logWorktreeCleanupPreserve(sessionId, reason) {
|
|
1479
|
+
logWarning(
|
|
1480
|
+
`worktree cleanup preserved checkout action=delete session=${safeLogValue(
|
|
1481
|
+
sessionId
|
|
1482
|
+
)} reason=${safeLogValue(reason)}`
|
|
1483
|
+
);
|
|
1484
|
+
}
|
|
1485
|
+
__name(logWorktreeCleanupPreserve, "logWorktreeCleanupPreserve");
|
|
1486
|
+
async function preclassifyWorktreeCleanup(service, sessionId, runtimeWorkspaceCwd) {
|
|
1487
|
+
let sidecarPath = service.getWorktreeSessionPath(sessionId);
|
|
1488
|
+
let sidecar = await readWorktreeSessionStrict(sidecarPath);
|
|
1489
|
+
if (sidecar.state === "missing") {
|
|
1490
|
+
const archivedPath = service.getWorktreeSessionPathForArchiveState(
|
|
1491
|
+
sessionId,
|
|
1492
|
+
"archived"
|
|
1493
|
+
);
|
|
1494
|
+
if (archivedPath !== sidecarPath) {
|
|
1495
|
+
sidecarPath = archivedPath;
|
|
1496
|
+
sidecar = await readWorktreeSessionStrict(sidecarPath);
|
|
1497
|
+
}
|
|
1498
|
+
}
|
|
1499
|
+
if (sidecar.state === "missing") return void 0;
|
|
1500
|
+
if (sidecar.state === "invalid") {
|
|
1501
|
+
logWorktreeCleanupPreserve(
|
|
1502
|
+
sessionId,
|
|
1503
|
+
`unreadable sidecar (${sidecar.reason})`
|
|
1504
|
+
);
|
|
1505
|
+
return void 0;
|
|
1506
|
+
}
|
|
1507
|
+
const session = sidecar.session;
|
|
1508
|
+
if (session.workspaceCwd === void 0) return void 0;
|
|
1509
|
+
if (session.supersededBy !== void 0) return void 0;
|
|
1510
|
+
if (!path2.isAbsolute(session.workspaceCwd) || !path2.isAbsolute(session.originalCwd)) {
|
|
1511
|
+
logWorktreeCleanupPreserve(
|
|
1512
|
+
sessionId,
|
|
1513
|
+
"sidecar base is not an absolute path"
|
|
1514
|
+
);
|
|
1515
|
+
return void 0;
|
|
1516
|
+
}
|
|
1517
|
+
if (runtimeWorkspaceCwd !== void 0) {
|
|
1518
|
+
if (canonicalPath(session.workspaceCwd) !== canonicalPath(runtimeWorkspaceCwd)) {
|
|
1519
|
+
logWorktreeCleanupPreserve(
|
|
1520
|
+
sessionId,
|
|
1521
|
+
"sidecar belongs to another workspace"
|
|
1522
|
+
);
|
|
1523
|
+
return void 0;
|
|
1524
|
+
}
|
|
1525
|
+
const workspaceRoots = [canonicalPath(runtimeWorkspaceCwd)];
|
|
1526
|
+
try {
|
|
1527
|
+
const repoTop = await new GitWorktreeService(
|
|
1528
|
+
runtimeWorkspaceCwd
|
|
1529
|
+
).getRepoTopLevel();
|
|
1530
|
+
if (repoTop && canonicalPath(repoTop) !== workspaceRoots[0]) {
|
|
1531
|
+
workspaceRoots.push(canonicalPath(repoTop));
|
|
1532
|
+
}
|
|
1533
|
+
} catch {
|
|
1534
|
+
}
|
|
1535
|
+
if (!workspaceRoots.includes(canonicalPath(session.originalCwd))) {
|
|
1536
|
+
logWorktreeCleanupPreserve(
|
|
1537
|
+
sessionId,
|
|
1538
|
+
"sidecar original cwd is outside the accepted roots"
|
|
1539
|
+
);
|
|
1540
|
+
return void 0;
|
|
1541
|
+
}
|
|
1542
|
+
}
|
|
1543
|
+
return {
|
|
1544
|
+
sessionId,
|
|
1545
|
+
sidecar: session,
|
|
1546
|
+
sidecarPath,
|
|
1547
|
+
lockKey: canonicalPath(session.worktreePath)
|
|
1548
|
+
};
|
|
1549
|
+
}
|
|
1550
|
+
__name(preclassifyWorktreeCleanup, "preclassifyWorktreeCleanup");
|
|
1551
|
+
function acquireWorktreeCleanupLock(plan) {
|
|
1552
|
+
return acquireWorktreeOwnershipOp(plan.lockKey);
|
|
1553
|
+
}
|
|
1554
|
+
__name(acquireWorktreeCleanupLock, "acquireWorktreeCleanupLock");
|
|
1555
|
+
async function worktreeAllowedRoots(workspaceCwd, originalCwd) {
|
|
1556
|
+
const roots = /* @__PURE__ */ new Set();
|
|
1557
|
+
for (const base of [workspaceCwd, originalCwd]) {
|
|
1558
|
+
if (!path2.isAbsolute(base)) continue;
|
|
1559
|
+
roots.add(path2.join(base, ".qwen", "worktrees"));
|
|
1560
|
+
try {
|
|
1561
|
+
const repoTop = await new GitWorktreeService(base).getRepoTopLevel();
|
|
1562
|
+
if (repoTop) {
|
|
1563
|
+
roots.add(path2.join(repoTop, ".qwen", "worktrees"));
|
|
1564
|
+
}
|
|
1565
|
+
} catch {
|
|
1566
|
+
}
|
|
1567
|
+
}
|
|
1568
|
+
return [...roots];
|
|
1569
|
+
}
|
|
1570
|
+
__name(worktreeAllowedRoots, "worktreeAllowedRoots");
|
|
1571
|
+
async function verifyWorktreeCleanupOwnership(plan) {
|
|
1572
|
+
const { sessionId, sidecar } = plan;
|
|
1573
|
+
const locked = await readWorktreeSessionStrict(plan.sidecarPath);
|
|
1574
|
+
if (locked.state !== "valid") {
|
|
1575
|
+
return {
|
|
1576
|
+
ok: false,
|
|
1577
|
+
reason: locked.state === "missing" ? "sidecar disappeared before delete" : `unreadable sidecar (${locked.reason})`
|
|
1578
|
+
};
|
|
1579
|
+
}
|
|
1580
|
+
const current = locked.session;
|
|
1581
|
+
if (current.workspaceCwd === void 0 || current.supersededBy !== void 0 || current.slug !== sidecar.slug || current.worktreePath !== sidecar.worktreePath || current.originalCwd !== sidecar.originalCwd || current.workspaceCwd !== sidecar.workspaceCwd) {
|
|
1582
|
+
return { ok: false, reason: "sidecar changed before delete" };
|
|
1583
|
+
}
|
|
1584
|
+
const marker = await readWorktreeSessionMarkerStrict(plan.lockKey);
|
|
1585
|
+
if (marker.state !== "valid" || marker.sessionId !== sessionId) {
|
|
1586
|
+
return {
|
|
1587
|
+
ok: false,
|
|
1588
|
+
reason: marker.state === "valid" ? "marker names another session" : `marker ${marker.state}`
|
|
1589
|
+
};
|
|
1590
|
+
}
|
|
1591
|
+
const allowedRoots = await worktreeAllowedRoots(
|
|
1592
|
+
current.workspaceCwd,
|
|
1593
|
+
current.originalCwd
|
|
1594
|
+
);
|
|
1595
|
+
const contained = allowedRoots.some((root) => {
|
|
1596
|
+
try {
|
|
1597
|
+
const realRoot = fs.realpathSync(root);
|
|
1598
|
+
return plan.lockKey === realRoot || plan.lockKey.startsWith(realRoot + path2.sep);
|
|
1599
|
+
} catch {
|
|
1600
|
+
return false;
|
|
1601
|
+
}
|
|
1602
|
+
});
|
|
1603
|
+
if (!contained) {
|
|
1604
|
+
return { ok: false, reason: "checkout outside workspace worktree roots" };
|
|
1605
|
+
}
|
|
1606
|
+
const chatsDir = path2.dirname(plan.sidecarPath);
|
|
1607
|
+
const ownFile = path2.basename(plan.sidecarPath);
|
|
1608
|
+
let entries;
|
|
1609
|
+
try {
|
|
1610
|
+
entries = await fsp.readdir(chatsDir);
|
|
1611
|
+
} catch (error) {
|
|
1612
|
+
return {
|
|
1613
|
+
ok: false,
|
|
1614
|
+
reason: `sidecar scan failed: ${error instanceof Error ? error.message : String(error)}`
|
|
1615
|
+
};
|
|
1616
|
+
}
|
|
1617
|
+
for (const entry of entries) {
|
|
1618
|
+
if (!entry.endsWith(".worktree.json") || entry === ownFile) continue;
|
|
1619
|
+
const other = await readWorktreeSessionStrict(path2.join(chatsDir, entry));
|
|
1620
|
+
if (other.state === "missing") continue;
|
|
1621
|
+
if (other.state === "invalid") {
|
|
1622
|
+
return { ok: false, reason: `unreadable sibling sidecar ${entry}` };
|
|
1623
|
+
}
|
|
1624
|
+
if (canonicalPath(other.session.worktreePath) === plan.lockKey) {
|
|
1625
|
+
if (other.session.supersededBy === sessionId) continue;
|
|
1626
|
+
return { ok: false, reason: `checkout shared with ${entry}` };
|
|
1627
|
+
}
|
|
1628
|
+
}
|
|
1629
|
+
const removalTarget = canonicalPath(
|
|
1630
|
+
new GitWorktreeService(current.originalCwd).getUserWorktreePath(
|
|
1631
|
+
current.slug
|
|
1632
|
+
)
|
|
1633
|
+
);
|
|
1634
|
+
if (removalTarget !== plan.lockKey) {
|
|
1635
|
+
return {
|
|
1636
|
+
ok: false,
|
|
1637
|
+
reason: "slug does not resolve to the verified checkout"
|
|
1638
|
+
};
|
|
1639
|
+
}
|
|
1640
|
+
plan.sidecar = current;
|
|
1641
|
+
return { ok: true };
|
|
1642
|
+
}
|
|
1643
|
+
__name(verifyWorktreeCleanupOwnership, "verifyWorktreeCleanupOwnership");
|
|
1644
|
+
async function checkoutStillPopulated(worktreePath) {
|
|
1645
|
+
try {
|
|
1646
|
+
return (await fsp.readdir(worktreePath)).length > 0;
|
|
1647
|
+
} catch {
|
|
1648
|
+
return false;
|
|
1649
|
+
}
|
|
1650
|
+
}
|
|
1651
|
+
__name(checkoutStillPopulated, "checkoutStillPopulated");
|
|
1652
|
+
async function executeWorktreeCleanup(plan) {
|
|
1653
|
+
const { sessionId, sidecar } = plan;
|
|
1654
|
+
const marker = await readWorktreeSessionMarkerStrict(plan.lockKey);
|
|
1655
|
+
if (marker.state !== "valid" || marker.sessionId !== sessionId) {
|
|
1656
|
+
logWorktreeCleanupPreserve(sessionId, "marker changed after delete");
|
|
1657
|
+
return;
|
|
1658
|
+
}
|
|
1659
|
+
if (await checkoutHasWork(plan.lockKey)) {
|
|
1660
|
+
logWorktreeCleanupPreserve(sessionId, "checkout has uncommitted work");
|
|
1661
|
+
return;
|
|
1662
|
+
}
|
|
1663
|
+
const result = await new GitWorktreeService(
|
|
1664
|
+
sidecar.originalCwd
|
|
1665
|
+
).removeUserWorktree(sidecar.slug, { deleteBranch: true });
|
|
1666
|
+
if (!result.success) {
|
|
1667
|
+
const errorText = result.error ?? "unknown error";
|
|
1668
|
+
if (await checkoutStillPopulated(plan.lockKey)) {
|
|
1669
|
+
logWorktreeCleanupPreserve(
|
|
1670
|
+
sessionId,
|
|
1671
|
+
`checkout removal failed: ${errorText}`
|
|
1672
|
+
);
|
|
1673
|
+
} else {
|
|
1674
|
+
logWarning(
|
|
1675
|
+
`worktree cleanup removal failed, checkout may be partially deleted action=delete session=${safeLogValue(
|
|
1676
|
+
sessionId
|
|
1677
|
+
)} reason=${safeLogValue(errorText)}`
|
|
1678
|
+
);
|
|
1679
|
+
}
|
|
1680
|
+
return;
|
|
1681
|
+
}
|
|
1682
|
+
if (result.branchPreserved) {
|
|
1683
|
+
logWarning(
|
|
1684
|
+
`worktree cleanup removed checkout but kept branch action=delete session=${safeLogValue(
|
|
1685
|
+
sessionId
|
|
1686
|
+
)} slug=${safeLogValue(sidecar.slug)} branch=${safeLogValue(
|
|
1687
|
+
sidecar.worktreeBranch
|
|
1688
|
+
)} reason=unmerged commits`
|
|
1689
|
+
);
|
|
1690
|
+
}
|
|
1691
|
+
}
|
|
1692
|
+
__name(executeWorktreeCleanup, "executeWorktreeCleanup");
|
|
1693
|
+
|
|
1397
1694
|
// packages/cli/src/serve/server/session-archive.ts
|
|
1398
1695
|
var DaemonDrainingError = class extends Error {
|
|
1399
1696
|
static {
|
|
@@ -1755,6 +2052,7 @@ async function deleteDaemonSessions(params) {
|
|
|
1755
2052
|
coordinator,
|
|
1756
2053
|
coordinatorLockHeld = false,
|
|
1757
2054
|
assertCanMutate,
|
|
2055
|
+
runtimeWorkspaceCwd,
|
|
1758
2056
|
onError
|
|
1759
2057
|
} = params;
|
|
1760
2058
|
const uniqueSessionIds = [
|
|
@@ -1765,6 +2063,49 @@ async function deleteDaemonSessions(params) {
|
|
|
1765
2063
|
coordinator.assertNotTransitioning(sessionId);
|
|
1766
2064
|
}
|
|
1767
2065
|
}
|
|
2066
|
+
const runWithWorktreeCleanup = /* @__PURE__ */ __name(async (sessionId, mutateSession) => {
|
|
2067
|
+
const activeSidecarPath = service.getWorktreeSessionPath(sessionId);
|
|
2068
|
+
const archivedSidecarPath = service.getWorktreeSessionPathForArchiveState(
|
|
2069
|
+
sessionId,
|
|
2070
|
+
"archived"
|
|
2071
|
+
);
|
|
2072
|
+
if (!fs2.existsSync(activeSidecarPath) && (archivedSidecarPath === activeSidecarPath || !fs2.existsSync(archivedSidecarPath))) {
|
|
2073
|
+
return coordinator.runExclusiveMany([sessionId], mutateSession);
|
|
2074
|
+
}
|
|
2075
|
+
const cleanupPlan = await preclassifyWorktreeCleanup(
|
|
2076
|
+
service,
|
|
2077
|
+
sessionId,
|
|
2078
|
+
runtimeWorkspaceCwd
|
|
2079
|
+
);
|
|
2080
|
+
if (!cleanupPlan) {
|
|
2081
|
+
return coordinator.runExclusiveMany([sessionId], mutateSession);
|
|
2082
|
+
}
|
|
2083
|
+
const releaseCleanupLock = await acquireWorktreeCleanupLock(cleanupPlan);
|
|
2084
|
+
try {
|
|
2085
|
+
const ownership = await verifyWorktreeCleanupOwnership(cleanupPlan);
|
|
2086
|
+
if (!ownership.ok) {
|
|
2087
|
+
logWorktreeCleanupPreserve(sessionId, ownership.reason);
|
|
2088
|
+
}
|
|
2089
|
+
const result = await coordinator.runExclusiveMany(
|
|
2090
|
+
[sessionId],
|
|
2091
|
+
mutateSession
|
|
2092
|
+
);
|
|
2093
|
+
if (ownership.ok && result.kind === "removed") {
|
|
2094
|
+
try {
|
|
2095
|
+
assertCanMutate?.();
|
|
2096
|
+
await executeWorktreeCleanup(cleanupPlan);
|
|
2097
|
+
} catch (error) {
|
|
2098
|
+
logWorktreeCleanupPreserve(
|
|
2099
|
+
sessionId,
|
|
2100
|
+
`cleanup execution failed: ${errorMessage(error)}`
|
|
2101
|
+
);
|
|
2102
|
+
}
|
|
2103
|
+
}
|
|
2104
|
+
return result;
|
|
2105
|
+
} finally {
|
|
2106
|
+
releaseCleanupLock();
|
|
2107
|
+
}
|
|
2108
|
+
}, "runWithWorktreeCleanup");
|
|
1768
2109
|
const results = await Promise.all(
|
|
1769
2110
|
uniqueSessionIds.map(async (sessionId) => {
|
|
1770
2111
|
try {
|
|
@@ -1810,7 +2151,7 @@ async function deleteDaemonSessions(params) {
|
|
|
1810
2151
|
try {
|
|
1811
2152
|
await bridge.closeSession(sessionId);
|
|
1812
2153
|
} catch (error) {
|
|
1813
|
-
if (isSessionNotFoundError(error)) {
|
|
2154
|
+
if (isSessionNotFoundError(error) && error.code !== "session_closing") {
|
|
1814
2155
|
return await removePersistedSession();
|
|
1815
2156
|
}
|
|
1816
2157
|
onError?.({
|
|
@@ -1826,7 +2167,7 @@ async function deleteDaemonSessions(params) {
|
|
|
1826
2167
|
}
|
|
1827
2168
|
return await removePersistedSession();
|
|
1828
2169
|
}, "mutateSession");
|
|
1829
|
-
return await (coordinatorLockHeld ? mutateSession() :
|
|
2170
|
+
return await (coordinatorLockHeld ? mutateSession() : runWithWorktreeCleanup(sessionId, mutateSession));
|
|
1830
2171
|
} catch (error) {
|
|
1831
2172
|
if (error instanceof DaemonDrainingError) {
|
|
1832
2173
|
throw error;
|
|
@@ -2361,12 +2702,12 @@ __name(unarchiveDaemonSessions, "unarchiveDaemonSessions");
|
|
|
2361
2702
|
|
|
2362
2703
|
// packages/cli/src/serve/server/aone-mrs.ts
|
|
2363
2704
|
init_esbuild_shims();
|
|
2364
|
-
import { execFile } from "node:child_process";
|
|
2365
|
-
import { promisify } from "node:util";
|
|
2366
|
-
var
|
|
2705
|
+
import { execFile as execFile2 } from "node:child_process";
|
|
2706
|
+
import { promisify as promisify2 } from "node:util";
|
|
2707
|
+
var execFileAsync2 = promisify2(execFile2);
|
|
2367
2708
|
var a1AvailabilityVerified = false;
|
|
2368
2709
|
var defaultA1Exec = /* @__PURE__ */ __name(async (args, options) => {
|
|
2369
|
-
const { stdout } = await
|
|
2710
|
+
const { stdout } = await execFileAsync2("a1", [...args], {
|
|
2370
2711
|
...options,
|
|
2371
2712
|
encoding: "utf8",
|
|
2372
2713
|
windowsHide: true
|
|
@@ -2409,7 +2750,7 @@ async function resolveAoneWorkspaceRepo(workspaceCwd, env) {
|
|
|
2409
2750
|
if (!gitRoot) return void 0;
|
|
2410
2751
|
let origin;
|
|
2411
2752
|
try {
|
|
2412
|
-
({ stdout: origin } = await
|
|
2753
|
+
({ stdout: origin } = await execFileAsync2(
|
|
2413
2754
|
"git",
|
|
2414
2755
|
["remote", "get-url", "origin"],
|
|
2415
2756
|
{
|
|
@@ -2578,6 +2919,7 @@ export {
|
|
|
2578
2919
|
parseSessionPageSizeQuery,
|
|
2579
2920
|
runWithWorkspaceRuntimeStorage,
|
|
2580
2921
|
createWorkspaceRuntimeSessionService,
|
|
2922
|
+
acquireWorktreeOwnershipOp,
|
|
2581
2923
|
DaemonDrainingError,
|
|
2582
2924
|
SessionArchiveCoordinator,
|
|
2583
2925
|
deleteDaemonSessions,
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
buildPermissionSettings
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FN4KHWCL.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveVoiceStreamConfig,
|
|
8
8
|
resolveVoiceTranscriptionConfig,
|
|
9
9
|
transcribeVoiceAudio
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GNY7B3CA.js";
|
|
11
11
|
import {
|
|
12
12
|
getVoiceSettingsScope,
|
|
13
13
|
isSelectableVoiceModel,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
readVoiceMode,
|
|
17
17
|
readVoiceModel,
|
|
18
18
|
resolveVoiceTransport
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-NB3NDQQK.js";
|
|
20
20
|
import {
|
|
21
21
|
MCP_RESTART_SERVER_DEADLINE_MS
|
|
22
22
|
} from "./chunk-OCPBI7J5.js";
|
|
@@ -47,19 +47,19 @@ import {
|
|
|
47
47
|
WorkspaceInitPathEscapeError,
|
|
48
48
|
WorkspaceInitRaceError,
|
|
49
49
|
WorkspaceInitSymlinkError
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-FAWTMDX7.js";
|
|
51
51
|
import {
|
|
52
52
|
getPersistScopeForModelSelection,
|
|
53
53
|
loadSettings
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-Y7YHAY32.js";
|
|
55
55
|
import {
|
|
56
56
|
getWorkspaceTrustStatus
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-D6AGS266.js";
|
|
58
58
|
import {
|
|
59
59
|
ModelsConfig,
|
|
60
60
|
SkillManager,
|
|
61
61
|
require_yauzl
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-BDAVT6K2.js";
|
|
63
63
|
import {
|
|
64
64
|
Storage,
|
|
65
65
|
createDebugLogger
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
} from "./chunk-47ECGEJC.js";
|
|
6
6
|
import {
|
|
7
7
|
t
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CRZBDVP2.js";
|
|
9
9
|
import {
|
|
10
10
|
findProviderByCredentials,
|
|
11
11
|
resolveMetadataKey
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PLEBBGHL.js";
|
|
13
13
|
import {
|
|
14
14
|
fetchGitDiff,
|
|
15
15
|
isCompressionFailureStatus
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-BDAVT6K2.js";
|
|
17
17
|
import {
|
|
18
18
|
init_esbuild_shims
|
|
19
19
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -14,12 +14,17 @@ import {
|
|
|
14
14
|
init_esbuild_shims();
|
|
15
15
|
async function getCliVersion() {
|
|
16
16
|
const pkgJson = await getPackageJson();
|
|
17
|
-
return "0.23.
|
|
17
|
+
return "0.23.2-nightly.20260909.2e212144d3";
|
|
18
18
|
}
|
|
19
19
|
__name(getCliVersion, "getCliVersion");
|
|
20
|
+
function formatVersionLabel(version) {
|
|
21
|
+
return /^\d/.test(version) ? `v${version}` : version;
|
|
22
|
+
}
|
|
23
|
+
__name(formatVersionLabel, "formatVersionLabel");
|
|
20
24
|
|
|
21
25
|
export {
|
|
22
|
-
getCliVersion
|
|
26
|
+
getCliVersion,
|
|
27
|
+
formatVersionLabel
|
|
23
28
|
};
|
|
24
29
|
/**
|
|
25
30
|
* @license
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
9
|
+
|
|
10
|
+
// packages/core/src/core/openaiContentGenerator/constants.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
var DEFAULT_TIMEOUT = 12e4;
|
|
13
|
+
var DISABLED_REQUEST_TIMEOUT_MS = 2147483647;
|
|
14
|
+
function resolveRequestTimeout(timeout) {
|
|
15
|
+
if (timeout === void 0 || timeout === null) {
|
|
16
|
+
return DEFAULT_TIMEOUT;
|
|
17
|
+
}
|
|
18
|
+
return timeout <= 0 ? DISABLED_REQUEST_TIMEOUT_MS : timeout;
|
|
19
|
+
}
|
|
20
|
+
__name(resolveRequestTimeout, "resolveRequestTimeout");
|
|
21
|
+
var DEFAULT_STREAM_IDLE_TIMEOUT_MS = 24e4;
|
|
22
|
+
var QWEN_STREAM_IDLE_TIMEOUT_MS_ENV = "QWEN_STREAM_IDLE_TIMEOUT_MS";
|
|
23
|
+
var MAX_STREAM_GUARD_TIMEOUT_MS = 2147483647;
|
|
24
|
+
var DEFAULT_STREAM_MAX_LIFETIME_MS = 9e5;
|
|
25
|
+
var QWEN_STREAM_MAX_LIFETIME_MS_ENV = "QWEN_STREAM_MAX_LIFETIME_MS";
|
|
26
|
+
var DEFAULT_MAX_RETRIES = 3;
|
|
27
|
+
var DEFAULT_OPENAI_BASE_URL = "https://api.openai.com/v1";
|
|
28
|
+
var DEFAULT_DASHSCOPE_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1";
|
|
29
|
+
var DASHSCOPE_PROXY_BASE_URL = process.env["DASHSCOPE_PROXY_BASE_URL"];
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
resolveRequestTimeout,
|
|
33
|
+
DEFAULT_STREAM_IDLE_TIMEOUT_MS,
|
|
34
|
+
QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
|
|
35
|
+
MAX_STREAM_GUARD_TIMEOUT_MS,
|
|
36
|
+
DEFAULT_STREAM_MAX_LIFETIME_MS,
|
|
37
|
+
QWEN_STREAM_MAX_LIFETIME_MS_ENV,
|
|
38
|
+
DEFAULT_MAX_RETRIES,
|
|
39
|
+
DEFAULT_OPENAI_BASE_URL,
|
|
40
|
+
DEFAULT_DASHSCOPE_BASE_URL,
|
|
41
|
+
DASHSCOPE_PROXY_BASE_URL
|
|
42
|
+
};
|
|
@@ -4,9 +4,6 @@ import {
|
|
|
4
4
|
MAX_WORKSPACE_PATH_LENGTH,
|
|
5
5
|
canonicalizeWorkspace
|
|
6
6
|
} from "./chunk-6PLDPT2C.js";
|
|
7
|
-
import {
|
|
8
|
-
MAX_DAEMON_WORKSPACES
|
|
9
|
-
} from "./chunk-5HBA2Z7V.js";
|
|
10
7
|
import {
|
|
11
8
|
getGlobalQwenDirLite
|
|
12
9
|
} from "./chunk-IDS7MSUP.js";
|
|
@@ -38,7 +35,7 @@ import * as path from "node:path";
|
|
|
38
35
|
|
|
39
36
|
// packages/cli/src/serve/workspace-inputs.ts
|
|
40
37
|
init_esbuild_shims();
|
|
41
|
-
var MAX_REGISTERED_WORKSPACES =
|
|
38
|
+
var MAX_REGISTERED_WORKSPACES = 25;
|
|
42
39
|
var DuplicateWorkspaceInputError = class extends Error {
|
|
43
40
|
static {
|
|
44
41
|
__name(this, "DuplicateWorkspaceInputError");
|
|
@@ -568,7 +565,7 @@ var WorkspaceRegistrationStore = class {
|
|
|
568
565
|
return removed;
|
|
569
566
|
}
|
|
570
567
|
async update(mutate) {
|
|
571
|
-
const { atomicWriteFile } = await import("./deferred-core-runtime-
|
|
568
|
+
const { atomicWriteFile } = await import("./deferred-core-runtime-D2RF35BL.js");
|
|
572
569
|
return withInProcessLock(this.filePath, async () => {
|
|
573
570
|
const lock = await acquireFileLock(this.filePath);
|
|
574
571
|
let committed = false;
|