@dylanpiercey/work 0.2.17 → 0.2.18
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 +13 -0
- package/bin/cli/README.md +34 -0
- package/bin/cli/_progress.mjs +68 -0
- package/bin/cli/_repo.mjs +32 -0
- package/bin/cli/_target.mjs +49 -0
- package/bin/cli/agent.mjs +153 -0
- package/bin/cli/branches.mjs +79 -0
- package/bin/cli/config.mjs +175 -0
- package/bin/cli/host.mjs +142 -0
- package/bin/cli/lsp.mjs +117 -0
- package/bin/cli/notify.mjs +53 -0
- package/bin/cli/open.mjs +37 -0
- package/bin/cli/repo.mjs +98 -0
- package/bin/cli/session.mjs +167 -0
- package/bin/cli/skill.mjs +99 -0
- package/bin/cli/stack.mjs +51 -0
- package/bin/cli/status.mjs +86 -0
- package/bin/cli/topic.mjs +585 -0
- package/bin/cli/workspace.mjs +184 -0
- package/bin/work.mjs +402 -80
- package/dist/_BAJGOEa1.js +168 -0
- package/dist/{_Bj-WwfnW.js → _BlLEM8du.js} +76 -46
- package/dist/_t9VsALwo.js +2 -0
- package/dist/index.mjs +3550 -2616
- package/dist/public/assets/{_CXVkXsw1.js → _10dZ1R0m.js} +1 -1
- package/dist/public/assets/_10dZ1R0m.js.br +0 -0
- package/dist/public/assets/_1EPD0XJG.js +1 -0
- package/dist/public/assets/_1jA3fFvQ.js +1 -0
- package/dist/public/assets/{_DZanHI_X.js → _4Sj6a8Ya.js} +1 -1
- package/dist/public/assets/_4Sj6a8Ya.js.br +0 -0
- package/dist/public/assets/{_Quh6tl1u.js → _5tN48iuJ.js} +1 -1
- package/dist/public/assets/_5tN48iuJ.js.br +0 -0
- package/dist/public/assets/{_CYQ4srZb.js → _8_DzkMgB.js} +1 -1
- package/dist/public/assets/_8_DzkMgB.js.br +0 -0
- package/dist/public/assets/{_CxgPm_xy.js → _9JG-F3GR.js} +1 -1
- package/dist/public/assets/_9JG-F3GR.js.br +0 -0
- package/dist/public/assets/_9KUM3Nch.js +2 -0
- package/dist/public/assets/_9KUM3Nch.js.br +0 -0
- package/dist/public/assets/{_BoEcMQmX.js → _B-H6ABVZ.js} +1 -1
- package/dist/public/assets/_B-H6ABVZ.js.br +0 -0
- package/dist/public/assets/{_D-0pUYXq.js → _B-iOtMg6.js} +1 -1
- package/dist/public/assets/_B-iOtMg6.js.br +0 -0
- package/dist/public/assets/{_CJgqLdsx.js → _B0FhzjB2.js} +1 -1
- package/dist/public/assets/_B0FhzjB2.js.br +0 -0
- package/dist/public/assets/{_C1-Nli75.js → _B26gPL08.js} +1 -1
- package/dist/public/assets/_B26gPL08.js.br +0 -0
- package/dist/public/assets/{_BA-MNdjL.js → _B2DHvTZR.js} +1 -1
- package/dist/public/assets/{_vX9d6g5Y.js → _B3Z1kRpD.js} +1 -1
- package/dist/public/assets/_B3Z1kRpD.js.br +0 -0
- package/dist/public/assets/{_BfQeZPXW.js → _B3sH8Usv.js} +1 -1
- package/dist/public/assets/_B3sH8Usv.js.br +0 -0
- package/dist/public/assets/_B42hLH2K.js +1 -0
- package/dist/public/assets/{_CY_Z-kV5.js → _B4hn3NNW.js} +1 -1
- package/dist/public/assets/_B4hn3NNW.js.br +0 -0
- package/dist/public/assets/{_DK-MOyi_.js → _B5NleRC6.js} +1 -1
- package/dist/public/assets/_B5NleRC6.js.br +0 -0
- package/dist/public/assets/_B5fRGxPQ.js +1 -0
- package/dist/public/assets/_B5fRGxPQ.js.br +0 -0
- package/dist/public/assets/_B65yR5Ej.js +1 -0
- package/dist/public/assets/_B6Sh9WEH.js +1 -0
- package/dist/public/assets/{_C7bHTlG1.js → _B6VtVybz.js} +1 -1
- package/dist/public/assets/_B6VtVybz.js.br +0 -0
- package/dist/public/assets/_B7rJ4n9b.js +1 -0
- package/dist/public/assets/_B8M-AD29.js +1 -0
- package/dist/public/assets/{_BQEpu56f.js → _B8joFpf1.js} +1 -1
- package/dist/public/assets/_B8joFpf1.js.br +0 -0
- package/dist/public/assets/_B9nA-Uh1.js +1 -0
- package/dist/public/assets/_B9nA-Uh1.js.br +0 -0
- package/dist/public/assets/_BA6X_Aj6.js +1 -0
- package/dist/public/assets/_BBFJV2Bx.js +1 -0
- package/dist/public/assets/_BCW5GFMW.js +1 -0
- package/dist/public/assets/{_TynjiShF.js → _BD1SQU0V.js} +1 -1
- package/dist/public/assets/_BD1SQU0V.js.br +0 -0
- package/dist/public/assets/_BEpd9Y1R.js +1 -0
- package/dist/public/assets/_BEy7R4W_.js +1 -0
- package/dist/public/assets/_BFGJOHQb.js +1 -0
- package/dist/public/assets/{_BiY8chB-.js → _BI45WgW9.js} +1 -1
- package/dist/public/assets/_BI45WgW9.js.br +0 -0
- package/dist/public/assets/_BIKvQKWe.js +1 -0
- package/dist/public/assets/_BIPnL2aI.js +1 -0
- package/dist/public/assets/{_Dj5RDA5P.js → _BIUaA4Nl.js} +1 -1
- package/dist/public/assets/_BIUaA4Nl.js.br +0 -0
- package/dist/public/assets/{_Ch-UiovX.js → _BJpBnuvv.js} +1 -1
- package/dist/public/assets/_BJpBnuvv.js.br +0 -0
- package/dist/public/assets/{_0KruTMn9.js → _BLeLpnYL.js} +1 -1
- package/dist/public/assets/_BLeLpnYL.js.br +0 -0
- package/dist/public/assets/_BMb5ANTv.js +1 -0
- package/dist/public/assets/{_ChPy2IX4.js → _BSRsPQTe.js} +1 -1
- package/dist/public/assets/_BSRsPQTe.js.br +0 -0
- package/dist/public/assets/_BVuerXin.js +6 -0
- package/dist/public/assets/_BVuerXin.js.br +0 -0
- package/dist/public/assets/_BWV8aSlZ.js +1 -0
- package/dist/public/assets/{_Q5s6o5H4.js → _BXHggM8M.js} +1 -1
- package/dist/public/assets/_BXHggM8M.js.br +0 -0
- package/dist/public/assets/{_D8uBvHXU.js → _BXPUZfKX.js} +1 -1
- package/dist/public/assets/_BXPUZfKX.js.br +0 -0
- package/dist/public/assets/_BYebhygn.js +1 -0
- package/dist/public/assets/_BZgCxd-U.js +1 -0
- package/dist/public/assets/_BZgCxd-U.js.br +0 -0
- package/dist/public/assets/_B_W51WxU.js +1 -0
- package/dist/public/assets/_B_jFFNyT.js +1 -0
- package/dist/public/assets/_Ba9OQzPV.js +1 -0
- package/dist/public/assets/_Ba9OQzPV.js.br +0 -0
- package/dist/public/assets/_BayiY7GU.js +1 -0
- package/dist/public/assets/_BcDMeS82.js +1 -0
- package/dist/public/assets/_BdD1sZp_.js +1 -0
- package/dist/public/assets/_Bg_WwlL2.js +1 -0
- package/dist/public/assets/_BhHzv4g0.js +1 -0
- package/dist/public/assets/_BjEinMEe.js +1 -0
- package/dist/public/assets/_BjEinMEe.js.br +0 -0
- package/dist/public/assets/{_DPiemRX1.js → _BkGAUdMd.js} +1 -1
- package/dist/public/assets/_BkGAUdMd.js.br +0 -0
- package/dist/public/assets/{_FwFz43m8.js → _BkHLXMjq.js} +1 -1
- package/dist/public/assets/_BkHLXMjq.js.br +0 -0
- package/dist/public/assets/_BmSWsZvV.js +1 -0
- package/dist/public/assets/{_D_GeNCls.js → _Bn6y2_ex.js} +1 -1
- package/dist/public/assets/_Bn6y2_ex.js.br +0 -0
- package/dist/public/assets/_Bp2gqUaf.js +1 -0
- package/dist/public/assets/_Bs6oYKkD.js +1 -0
- package/dist/public/assets/{_CYhJ6ae-.js → _Bs_MPTBZ.js} +1 -1
- package/dist/public/assets/_Bs_MPTBZ.js.br +0 -0
- package/dist/public/assets/_Bt13j1ev.js +1 -0
- package/dist/public/assets/{_D-pUpBL1.js → _Bt4cxzaP.js} +1 -1
- package/dist/public/assets/_BwlnYt-t.js +1 -0
- package/dist/public/assets/_Bx9aUXTG.js +1 -0
- package/dist/public/assets/{_DUdEYxV0.js → _BxKDE6Ct.js} +1 -1
- package/dist/public/assets/_BxKDE6Ct.js.br +0 -0
- package/dist/public/assets/_BymFDqKj.js +1 -0
- package/dist/public/assets/{_i4iteLF8.js → _C-z8Ntse.js} +1 -1
- package/dist/public/assets/_C-z8Ntse.js.br +0 -0
- package/dist/public/assets/_C0XUbqWe.js +1 -0
- package/dist/public/assets/_C1upDwBv.js +1 -0
- package/dist/public/assets/_C3f4huqn.js +1 -0
- package/dist/public/assets/{_BHyWcuOR.js → _C46o3wQ8.js} +1 -1
- package/dist/public/assets/_C46o3wQ8.js.br +0 -0
- package/dist/public/assets/_C4_3qKLX.js +1 -0
- package/dist/public/assets/_C7tG4xwv.js +1 -0
- package/dist/public/assets/_C8LciIOa.js +1 -0
- package/dist/public/assets/{_zcAaK79d.js → _C9k00otG.js} +1 -1
- package/dist/public/assets/_C9k00otG.js.br +0 -0
- package/dist/public/assets/_CBG92pZO.js +1 -0
- package/dist/public/assets/_CBfI2lSr.js +1 -0
- package/dist/public/assets/{_BPNSknLT.js → _CFKwHn62.js} +1 -1
- package/dist/public/assets/_CFKwHn62.js.br +0 -0
- package/dist/public/assets/_CHDvRNgn.js +1 -0
- package/dist/public/assets/{_DVLNzEkW.js → _CIDjLk1A.js} +1 -1
- package/dist/public/assets/_CIDjLk1A.js.br +0 -0
- package/dist/public/assets/{_3fvr5bU1.js → _CLV83hY7.js} +1 -1
- package/dist/public/assets/_CLV83hY7.js.br +0 -0
- package/dist/public/assets/_CO8ZosDU.js +1 -0
- package/dist/public/assets/{_D4CkNo0r.js → _CPqT91JX.js} +1 -1
- package/dist/public/assets/_CPqT91JX.js.br +0 -0
- package/dist/public/assets/_CRZ03hrO.js +1 -0
- package/dist/public/assets/_CUKvJRmi.js +1 -0
- package/dist/public/assets/_CU_FKEsy.js +1 -0
- package/dist/public/assets/{_Do6b-nfX.js → _CUxBk_RE.js} +1 -1
- package/dist/public/assets/_CUxBk_RE.js.br +0 -0
- package/dist/public/assets/_CW_vyZfo.js +1 -0
- package/dist/public/assets/{_BOBYB-cj.js → _CX5VOdNU.js} +1 -1
- package/dist/public/assets/_CX5VOdNU.js.br +0 -0
- package/dist/public/assets/{_C5c3o9N3.js → _CYcgwayF.js} +1 -1
- package/dist/public/assets/_CYcgwayF.js.br +0 -0
- package/dist/public/assets/{_BXcMBVCY.js → _CZsqsL_m.js} +1 -1
- package/dist/public/assets/_CZsqsL_m.js.br +0 -0
- package/dist/public/assets/_C_a8QggH.js +1 -0
- package/dist/public/assets/_C_ymFHNL.js +1 -0
- package/dist/public/assets/_CaU4irFc.js +1 -0
- package/dist/public/assets/_Cb3fSi2R.js +1 -0
- package/dist/public/assets/{_DOKecL0e.js → _CcINcTUt.js} +1 -1
- package/dist/public/assets/_CcINcTUt.js.br +0 -0
- package/dist/public/assets/{_BTh4v5Tr.js → _CcflXOTj.js} +1 -1
- package/dist/public/assets/_CcflXOTj.js.br +0 -0
- package/dist/public/assets/{_DbLQjG4R.js → _Cfts4mFJ.js} +1 -1
- package/dist/public/assets/_Cfts4mFJ.js.br +0 -0
- package/dist/public/assets/{_v3HPnNBs.js → _ClHeQc6g.js} +1 -1
- package/dist/public/assets/_ClHeQc6g.js.br +0 -0
- package/dist/public/assets/_CnSlVcEh.js +1 -0
- package/dist/public/assets/_Co71-HWR.js +1 -0
- package/dist/public/assets/_CpEeHKyF.js +1 -0
- package/dist/public/assets/{_CNUs2Gqk.js → _CpVeIwQ4.js} +1 -1
- package/dist/public/assets/_CpVeIwQ4.js.br +0 -0
- package/dist/public/assets/{_Cc_GUPR4.js → _Cq4DpL3R.js} +1 -1
- package/dist/public/assets/_Cq4DpL3R.js.br +0 -0
- package/dist/public/assets/_CvxsvMFa.js +1 -0
- package/dist/public/assets/{_DorQTaAa.js → _Cwdn40Q2.js} +1 -1
- package/dist/public/assets/_Cwdn40Q2.js.br +0 -0
- package/dist/public/assets/_CzN0wC_5.js +16 -0
- package/dist/public/assets/_CzN0wC_5.js.br +0 -0
- package/dist/public/assets/_D3ieGLoq.js +1 -0
- package/dist/public/assets/_D4wF26fk.js +1 -0
- package/dist/public/assets/_D9a9nY1Q.js +1 -0
- package/dist/public/assets/{_CIWiehYG.js → _DB7_Yora.js} +1 -1
- package/dist/public/assets/_DB7_Yora.js.br +0 -0
- package/dist/public/assets/{_6klEiBhY.js → _DDWIDZyP.js} +1 -1
- package/dist/public/assets/_DDWIDZyP.js.br +0 -0
- package/dist/public/assets/{_Cwtn28hL.js → _DG3L8-RO.js} +1 -1
- package/dist/public/assets/_DG3L8-RO.js.br +0 -0
- package/dist/public/assets/{_BxS3xvmE.js → _DGRgLaG-.js} +1 -1
- package/dist/public/assets/_DGRgLaG-.js.br +0 -0
- package/dist/public/assets/{_pEUCjhqm.js → _DG_QOtsx.js} +1 -1
- package/dist/public/assets/_DG_QOtsx.js.br +0 -0
- package/dist/public/assets/{_BwSXxzqy.js → _DHYIZWev.js} +11 -11
- package/dist/public/assets/_DHYIZWev.js.br +0 -0
- package/dist/public/assets/{_BoTzWlXR.js → _DJwY_zBh.js} +1 -1
- package/dist/public/assets/_DJwY_zBh.js.br +0 -0
- package/dist/public/assets/{_C9jR1P3s.js → _DKlB-yMq.js} +1 -1
- package/dist/public/assets/_DKlB-yMq.js.br +0 -0
- package/dist/public/assets/{_DYqx8g78.js → _DMCVOg7x.js} +1 -1
- package/dist/public/assets/_DMCVOg7x.js.br +0 -0
- package/dist/public/assets/_DMXnrdYy.js +1 -0
- package/dist/public/assets/_DMXnrdYy.js.br +0 -0
- package/dist/public/assets/{_Di78jTI-.js → _DNrRZhO7.js} +1 -1
- package/dist/public/assets/_DNrRZhO7.js.br +0 -0
- package/dist/public/assets/_DPdb5l-Z.js +1 -0
- package/dist/public/assets/{_Depr5Jps.js → _DRpsUHP5.js} +1 -1
- package/dist/public/assets/_DRpsUHP5.js.br +0 -0
- package/dist/public/assets/{_BHgwN0LC.js → _DUH5o_iN.js} +1 -1
- package/dist/public/assets/_DUH5o_iN.js.br +0 -0
- package/dist/public/assets/{_-ycNE92Z.js → _DUmYv8Kf.js} +1 -1
- package/dist/public/assets/_DUmYv8Kf.js.br +0 -0
- package/dist/public/assets/{_CPbClwhX.js → _DXvsvUmJ.js} +1 -1
- package/dist/public/assets/_DXvsvUmJ.js.br +0 -0
- package/dist/public/assets/{_DqGOYRpi.js → _DYxQeog7.js} +1 -1
- package/dist/public/assets/_DYxQeog7.js.br +0 -0
- package/dist/public/assets/_DZIDdpeW.js +1 -0
- package/dist/public/assets/{_CCONYsJT.js → _DZqoQxTm.js} +1 -1
- package/dist/public/assets/_DZqoQxTm.js.br +0 -0
- package/dist/public/assets/_D_4RJnk0.js +2 -0
- package/dist/public/assets/_D_4RJnk0.js.br +0 -0
- package/dist/public/assets/_DclJXqwW.js +1 -0
- package/dist/public/assets/_Debmjz1c.js +1 -0
- package/dist/public/assets/_DeiCZCO_.js +1 -0
- package/dist/public/assets/{_yp48NYOW.js → _Df-N1G_n.js} +1 -1
- package/dist/public/assets/_Df-N1G_n.js.br +0 -0
- package/dist/public/assets/_Df_3rEok.js +86 -0
- package/dist/public/assets/_Df_3rEok.js.br +0 -0
- package/dist/public/assets/{_DO_4_u2Q.js → _Dh9434oc.js} +1 -1
- package/dist/public/assets/{_Dhn3A3KJ.js → _DjYscMjF.js} +1 -1
- package/dist/public/assets/_DjYscMjF.js.br +0 -0
- package/dist/public/assets/{_cyorvuL1.js → _Dku55Ypt.js} +1 -1
- package/dist/public/assets/_Dku55Ypt.js.br +0 -0
- package/dist/public/assets/_Dm8TVkBX.js +1 -0
- package/dist/public/assets/_DnUBW0Qq.js +1 -0
- package/dist/public/assets/_DoOPrRIy.js +1 -0
- package/dist/public/assets/_DqJvxlYV.js +1 -0
- package/dist/public/assets/_Drle66GA.js +1 -0
- package/dist/public/assets/_DtrvrAfl.js +1 -0
- package/dist/public/assets/{_B5JxE4Sx.js → _DwTaEsY5.js} +1 -1
- package/dist/public/assets/_DwTaEsY5.js.br +0 -0
- package/dist/public/assets/_Dypj9l-z.js +1 -0
- package/dist/public/assets/_DyvwMfCp.js +1 -0
- package/dist/public/assets/{_OpbuiQ7h.js → _GK8r-gEu.js} +1 -1
- package/dist/public/assets/_GK8r-gEu.js.br +0 -0
- package/dist/public/assets/{_BqWlTTxo.js → _HpxvfbM2.js} +1 -1
- package/dist/public/assets/_HpxvfbM2.js.br +0 -0
- package/dist/public/assets/{_CIrZGxEf.js → _RudCGuBM.js} +1 -1
- package/dist/public/assets/_RudCGuBM.js.br +0 -0
- package/dist/public/assets/_UbfI3k4y.js +1 -0
- package/dist/public/assets/{_A-jpjc8j.js → _WOU8TCkO.js} +1 -1
- package/dist/public/assets/_WOU8TCkO.js.br +0 -0
- package/dist/public/assets/{_C-lB_p3U.js → _XWw1j8vS.js} +1 -1
- package/dist/public/assets/_XWw1j8vS.js.br +0 -0
- package/dist/public/assets/{_BCB8LQS3.js → _YDyNvOET.js} +1 -1
- package/dist/public/assets/_YDyNvOET.js.br +0 -0
- package/dist/public/assets/{_DzlXwaiG.js → _f8D86HXZ.js} +1 -1
- package/dist/public/assets/_f8D86HXZ.js.br +0 -0
- package/dist/public/assets/{_BUW_V5kN.js → _hbXd8Ogo.js} +1 -1
- package/dist/public/assets/_hbXd8Ogo.js.br +0 -0
- package/dist/public/assets/{_CrlNjDih.js → _i6YkSowH.js} +1 -1
- package/dist/public/assets/_i6YkSowH.js.br +0 -0
- package/dist/public/assets/_k1ciacDf.js +1 -0
- package/dist/public/assets/_k6nXIP-i.js +1 -0
- package/dist/public/assets/_keX09TNx.js +1 -0
- package/dist/public/assets/{_Dwe1TUjY.js → _l9xpLTP_.js} +1 -1
- package/dist/public/assets/_l9xpLTP_.js.br +0 -0
- package/dist/public/assets/_n9Rb26YX.js +1 -0
- package/dist/public/assets/{_4_sKOYsy.js → _o8mJsMHw.js} +1 -1
- package/dist/public/assets/_o8mJsMHw.js.br +0 -0
- package/dist/public/assets/{_Ca2DTddL.js → _oVsjszGq.js} +1 -1
- package/dist/public/assets/_oVsjszGq.js.br +0 -0
- package/dist/public/assets/_pM8W420Q.js +1 -0
- package/dist/public/assets/{_C449plW0.js → _rv9KtZHz.js} +1 -1
- package/dist/public/assets/_rv9KtZHz.js.br +0 -0
- package/dist/public/assets/{_B19mS3yM.js → _sSKEak2x.js} +1 -1
- package/dist/public/assets/_sSKEak2x.js.br +0 -0
- package/dist/public/assets/_tJgkkxOD.js +1 -0
- package/dist/public/assets/_tJgkkxOD.js.br +0 -0
- package/dist/public/assets/_uP3LGOtV.js +1 -0
- package/dist/public/assets/{_BT7DMail.js → _vG7bXn-C.js} +1 -1
- package/dist/public/assets/_vG7bXn-C.js.br +0 -0
- package/dist/public/assets/{_BTWfPOi-.js → _vHqiFYsh.js} +1 -1
- package/dist/public/assets/_vHqiFYsh.js.br +0 -0
- package/dist/public/assets/_vXJ7nP0d.js +1 -0
- package/dist/public/assets/{_Dks8YY2K.js → _w-MAJku6.js} +1 -1
- package/dist/public/assets/_wvhU__5f.js +1 -0
- package/dist/public/assets/_xFMpRp_e.js +1 -0
- package/dist/public/assets/_yXimF5vw.js +1 -0
- package/dist/public/assets/files-view-BennlUmP.js +2 -0
- package/dist/public/assets/manage-workspace-CaESLJdc.js +2 -0
- package/dist/public/assets/new-BNH4m99d.js +1 -0
- package/dist/public/assets/new-workspace-CwiZjHNn.js +2 -0
- package/dist/public/assets/review-view-BdbMyVt7.js +2 -0
- package/dist/public/assets/settings-BNH4m99d.js +1 -0
- package/dist/public/assets/settings-page-CU3aC70Q.js +2 -0
- package/dist/public/assets/styles-ctr-Sxsj.css +1 -0
- package/dist/public/assets/styles-ctr-Sxsj.css.br +0 -0
- package/dist/public/assets/w-BNH4m99d.js +1 -0
- package/dist/public/assets/w._-BNH4m99d.js +1 -0
- package/dist/public/assets/w._-CLYxMMR4.js +1 -0
- package/dist/public/assets/w._-_w8eUYMy.js +1 -0
- package/dist/public/sw.js +11 -4
- package/dist/public/sw.js.br +0 -0
- package/lib/ports/url.d.mts +20 -0
- package/lib/ports/url.mjs +80 -0
- package/package.json +1 -1
- package/dist/_CLoLdV87.js +0 -2
- package/dist/_DPpY3UqO.js +0 -167
- package/dist/public/assets/_-ycNE92Z.js.br +0 -0
- package/dist/public/assets/_0KruTMn9.js.br +0 -0
- package/dist/public/assets/_0NH5yJMx.js +0 -1
- package/dist/public/assets/_1CAp-NbR.js +0 -1
- package/dist/public/assets/_3fvr5bU1.js.br +0 -0
- package/dist/public/assets/_4Dkmi0BI.js +0 -1
- package/dist/public/assets/_4_sKOYsy.js.br +0 -0
- package/dist/public/assets/_6klEiBhY.js.br +0 -0
- package/dist/public/assets/_7_64OpLh.js +0 -1
- package/dist/public/assets/_7p-zxUs0.js +0 -1
- package/dist/public/assets/_8RAv3gFP.js +0 -1
- package/dist/public/assets/_9PDxaMA9.js +0 -1
- package/dist/public/assets/_9PDxaMA9.js.br +0 -0
- package/dist/public/assets/_9mbDrbe7.js +0 -1
- package/dist/public/assets/_A-jpjc8j.js.br +0 -0
- package/dist/public/assets/_B0JwTeu6.js +0 -1
- package/dist/public/assets/_B19mS3yM.js.br +0 -0
- package/dist/public/assets/_B1Sfrnda.js +0 -1
- package/dist/public/assets/_B3i0wS_I.js +0 -1
- package/dist/public/assets/_B5JxE4Sx.js.br +0 -0
- package/dist/public/assets/_B9RLcC8I.js +0 -1
- package/dist/public/assets/_BCB8LQS3.js.br +0 -0
- package/dist/public/assets/_BE7UYyYb.js +0 -1
- package/dist/public/assets/_BHgwN0LC.js.br +0 -0
- package/dist/public/assets/_BHyWcuOR.js.br +0 -0
- package/dist/public/assets/_BIpUDgQH.js +0 -16
- package/dist/public/assets/_BIpUDgQH.js.br +0 -0
- package/dist/public/assets/_BMlgaRlM.js +0 -1
- package/dist/public/assets/_BOBYB-cj.js.br +0 -0
- package/dist/public/assets/_BPNSknLT.js.br +0 -0
- package/dist/public/assets/_BQEpu56f.js.br +0 -0
- package/dist/public/assets/_BT7DMail.js.br +0 -0
- package/dist/public/assets/_BTJHQNIz.js +0 -1
- package/dist/public/assets/_BTWfPOi-.js.br +0 -0
- package/dist/public/assets/_BTh4v5Tr.js.br +0 -0
- package/dist/public/assets/_BUW_V5kN.js.br +0 -0
- package/dist/public/assets/_BXcMBVCY.js.br +0 -0
- package/dist/public/assets/_B_MtJKnj.js +0 -1
- package/dist/public/assets/_Bay3D1io.js +0 -1
- package/dist/public/assets/_BfQeZPXW.js.br +0 -0
- package/dist/public/assets/_BgKjJWz_.js +0 -1
- package/dist/public/assets/_BiY8chB-.js.br +0 -0
- package/dist/public/assets/_Bk5THQZb.js +0 -1
- package/dist/public/assets/_BmeQRnXS.js +0 -1
- package/dist/public/assets/_BoEcMQmX.js.br +0 -0
- package/dist/public/assets/_BoTzWlXR.js.br +0 -0
- package/dist/public/assets/_BqWlTTxo.js.br +0 -0
- package/dist/public/assets/_BuMTHEPk.js +0 -1
- package/dist/public/assets/_BuMTHEPk.js.br +0 -0
- package/dist/public/assets/_BubhcEjq.js +0 -1
- package/dist/public/assets/_BwSXxzqy.js.br +0 -0
- package/dist/public/assets/_BxS3xvmE.js.br +0 -0
- package/dist/public/assets/_ByvA6zJz.js +0 -1
- package/dist/public/assets/_Bz2Sejcy.js +0 -1
- package/dist/public/assets/_C-lB_p3U.js.br +0 -0
- package/dist/public/assets/_C1-Nli75.js.br +0 -0
- package/dist/public/assets/_C3mw4T_r.js +0 -1
- package/dist/public/assets/_C449plW0.js.br +0 -0
- package/dist/public/assets/_C5c3o9N3.js.br +0 -0
- package/dist/public/assets/_C7bHTlG1.js.br +0 -0
- package/dist/public/assets/_C8mt6nRC.js +0 -1
- package/dist/public/assets/_C9jR1P3s.js.br +0 -0
- package/dist/public/assets/_CCONYsJT.js.br +0 -0
- package/dist/public/assets/_CCZAROAW.js +0 -1
- package/dist/public/assets/_CCZAROAW.js.br +0 -0
- package/dist/public/assets/_CG3s9pE5.js +0 -1
- package/dist/public/assets/_CIWiehYG.js.br +0 -0
- package/dist/public/assets/_CIrZGxEf.js.br +0 -0
- package/dist/public/assets/_CIurl9jC.js +0 -1
- package/dist/public/assets/_CJgqLdsx.js.br +0 -0
- package/dist/public/assets/_CMbVHIgP.js +0 -1
- package/dist/public/assets/_CNUs2Gqk.js.br +0 -0
- package/dist/public/assets/_CPbClwhX.js.br +0 -0
- package/dist/public/assets/_CQUlxerJ.js +0 -1
- package/dist/public/assets/_CTDYlYHi.js +0 -1
- package/dist/public/assets/_CXVkXsw1.js.br +0 -0
- package/dist/public/assets/_CY5EBxZ6.js +0 -1
- package/dist/public/assets/_CYQ4srZb.js.br +0 -0
- package/dist/public/assets/_CY_Z-kV5.js.br +0 -0
- package/dist/public/assets/_CYhJ6ae-.js.br +0 -0
- package/dist/public/assets/_CZbVK94d.js +0 -1
- package/dist/public/assets/_C_A97h_2.js +0 -1
- package/dist/public/assets/_C_A97h_2.js.br +0 -0
- package/dist/public/assets/_C_Y5Dwzy.js +0 -1
- package/dist/public/assets/_Ca2DTddL.js.br +0 -0
- package/dist/public/assets/_Cc2nu3_5.js +0 -1
- package/dist/public/assets/_Cc_GUPR4.js.br +0 -0
- package/dist/public/assets/_CgFUs0bE.js +0 -1
- package/dist/public/assets/_Ch-UiovX.js.br +0 -0
- package/dist/public/assets/_ChDp0-FJ.js +0 -1
- package/dist/public/assets/_ChPy2IX4.js.br +0 -0
- package/dist/public/assets/_Chsgo2e1.js +0 -1
- package/dist/public/assets/_CjECwrWB.js +0 -1
- package/dist/public/assets/_CmW74dH7.js +0 -1
- package/dist/public/assets/_CmhAUlqu.js +0 -1
- package/dist/public/assets/_CrlNjDih.js.br +0 -0
- package/dist/public/assets/_CvzTEaQq.js +0 -1
- package/dist/public/assets/_Cw-dmwPJ.js +0 -86
- package/dist/public/assets/_Cw-dmwPJ.js.br +0 -0
- package/dist/public/assets/_Cwtn28hL.js.br +0 -0
- package/dist/public/assets/_CxHuLHdz.js +0 -1
- package/dist/public/assets/_CxgPm_xy.js.br +0 -0
- package/dist/public/assets/_D-0pUYXq.js.br +0 -0
- package/dist/public/assets/_D-rV-z_T.js +0 -1
- package/dist/public/assets/_D4CkNo0r.js.br +0 -0
- package/dist/public/assets/_D4fP_viq.js +0 -1
- package/dist/public/assets/_D570Sd6p.js +0 -1
- package/dist/public/assets/_D6Gudpw8.js +0 -1
- package/dist/public/assets/_D8ZTP1ck.js +0 -1
- package/dist/public/assets/_D8uBvHXU.js.br +0 -0
- package/dist/public/assets/_D8xGEGlm.js +0 -1
- package/dist/public/assets/_D9GZHKow.js +0 -1
- package/dist/public/assets/_DE0eZjad.js +0 -1
- package/dist/public/assets/_DElIEG9n.js +0 -1
- package/dist/public/assets/_DF0n9xzn.js +0 -2
- package/dist/public/assets/_DF0n9xzn.js.br +0 -0
- package/dist/public/assets/_DFX_tXcw.js +0 -1
- package/dist/public/assets/_DJ2gfhU_.js +0 -1
- package/dist/public/assets/_DK-MOyi_.js.br +0 -0
- package/dist/public/assets/_DOKecL0e.js.br +0 -0
- package/dist/public/assets/_DPXXIOLX.js +0 -1
- package/dist/public/assets/_DPb3t58B.js +0 -1
- package/dist/public/assets/_DPiemRX1.js.br +0 -0
- package/dist/public/assets/_DPpbgqBC.js +0 -1
- package/dist/public/assets/_DRVSLjxA.js +0 -1
- package/dist/public/assets/_DTHWnu6M.js +0 -1
- package/dist/public/assets/_DUdEYxV0.js.br +0 -0
- package/dist/public/assets/_DVLNzEkW.js.br +0 -0
- package/dist/public/assets/_DWpx2Uof.js +0 -1
- package/dist/public/assets/_DXYEUAmC.js +0 -1
- package/dist/public/assets/_DYTVambU.js +0 -1
- package/dist/public/assets/_DYqx8g78.js.br +0 -0
- package/dist/public/assets/_DZanHI_X.js.br +0 -0
- package/dist/public/assets/_D_GeNCls.js.br +0 -0
- package/dist/public/assets/_DbLQjG4R.js.br +0 -0
- package/dist/public/assets/_DbmusecK.js +0 -1
- package/dist/public/assets/_DbmusecK.js.br +0 -0
- package/dist/public/assets/_DemN-D5U.js +0 -1
- package/dist/public/assets/_Depr5Jps.js.br +0 -0
- package/dist/public/assets/_DhJfHI4f.js +0 -1
- package/dist/public/assets/_Dhn3A3KJ.js.br +0 -0
- package/dist/public/assets/_Di78jTI-.js.br +0 -0
- package/dist/public/assets/_DiBTtPlu.js +0 -1
- package/dist/public/assets/_Dj5RDA5P.js.br +0 -0
- package/dist/public/assets/_DkjKARSS.js +0 -1
- package/dist/public/assets/_Do6b-nfX.js.br +0 -0
- package/dist/public/assets/_DorQTaAa.js.br +0 -0
- package/dist/public/assets/_DpxVmwni.js +0 -1
- package/dist/public/assets/_DqGOYRpi.js.br +0 -0
- package/dist/public/assets/_DsbxQ1i8.js +0 -1
- package/dist/public/assets/_Dt_P7K1V.js +0 -6
- package/dist/public/assets/_Dt_P7K1V.js.br +0 -0
- package/dist/public/assets/_Dwe1TUjY.js.br +0 -0
- package/dist/public/assets/_DyROQKS8.js +0 -1
- package/dist/public/assets/_DzEUPsq0.js +0 -1
- package/dist/public/assets/_DzlXwaiG.js.br +0 -0
- package/dist/public/assets/_FwFz43m8.js.br +0 -0
- package/dist/public/assets/_OpbuiQ7h.js.br +0 -0
- package/dist/public/assets/_Q5s6o5H4.js.br +0 -0
- package/dist/public/assets/_Quh6tl1u.js.br +0 -0
- package/dist/public/assets/_Rh99sjDe.js +0 -1
- package/dist/public/assets/_SEE1XtID.js +0 -1
- package/dist/public/assets/_SZjr1kid.js +0 -1
- package/dist/public/assets/_T7rMqM5P.js +0 -1
- package/dist/public/assets/_TynjiShF.js.br +0 -0
- package/dist/public/assets/_UENAEFcY.js +0 -1
- package/dist/public/assets/_UwTOb1gP.js +0 -1
- package/dist/public/assets/_WrxtT1Ok.js +0 -1
- package/dist/public/assets/_WrxtT1Ok.js.br +0 -0
- package/dist/public/assets/_bcvRRCkB.js +0 -1
- package/dist/public/assets/_cyorvuL1.js.br +0 -0
- package/dist/public/assets/_gi--JOq8.js +0 -1
- package/dist/public/assets/_i4iteLF8.js.br +0 -0
- package/dist/public/assets/_i7vMugBN.js +0 -1
- package/dist/public/assets/_j7jPRUEQ.js +0 -2
- package/dist/public/assets/_j7jPRUEQ.js.br +0 -0
- package/dist/public/assets/_pEUCjhqm.js.br +0 -0
- package/dist/public/assets/_qkJuNTl-.js +0 -1
- package/dist/public/assets/_uuZJDLIV.js +0 -1
- package/dist/public/assets/_v3HPnNBs.js.br +0 -0
- package/dist/public/assets/_vX9d6g5Y.js.br +0 -0
- package/dist/public/assets/_vhysM7gk.js +0 -1
- package/dist/public/assets/_vjwPQHk_.js +0 -1
- package/dist/public/assets/_yp48NYOW.js.br +0 -0
- package/dist/public/assets/_zcAaK79d.js.br +0 -0
- package/dist/public/assets/_zwPrEKxN.js +0 -1
- package/dist/public/assets/_zwPrEKxN.js.br +0 -0
- package/dist/public/assets/files-view-CzRAql9-.js +0 -2
- package/dist/public/assets/manage-workspace-C-c1R4pP.js +0 -2
- package/dist/public/assets/new-DWfNwssk.js +0 -1
- package/dist/public/assets/new-workspace-B8XAfkIH.js +0 -2
- package/dist/public/assets/review-view-DivHZNBf.js +0 -2
- package/dist/public/assets/settings-DWfNwssk.js +0 -1
- package/dist/public/assets/settings-page-BN9Hj1ui.js +0 -2
- package/dist/public/assets/styles-NmwxQh5L.css +0 -1
- package/dist/public/assets/styles-NmwxQh5L.css.br +0 -0
- package/dist/public/assets/w-DWfNwssk.js +0 -1
- package/dist/public/assets/w._-C9dj1aZ0.js +0 -1
- package/dist/public/assets/w._-D7_D4HlM.js +0 -1
- package/dist/public/assets/w._-DWfNwssk.js +0 -1
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// `work workspace create|archive|unarchive|delete`: making and putting
|
|
2
|
+
// away workspaces from a terminal, as New and Manage do.
|
|
3
|
+
import { follow, opId } from "./_progress.mjs";
|
|
4
|
+
import { namesRepo, repoName } from "./_repo.mjs";
|
|
5
|
+
|
|
6
|
+
/** Where the app shows a workspace: paths the terminal opens in the app,
|
|
7
|
+
* the same as `/w/…` links anywhere in its output. */
|
|
8
|
+
const links = (ws) => ({
|
|
9
|
+
terminal: `/w/${ws.id}`,
|
|
10
|
+
review: `/w/${ws.id}/review`,
|
|
11
|
+
files: `/w/${ws.id}/files`,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
function printWorkspace(ws, verb) {
|
|
15
|
+
console.log(`${verb} ${ws.name} (${ws.id})`);
|
|
16
|
+
console.log(` path: ${ws.display_path || ws.path}`);
|
|
17
|
+
console.log(` branch: ${ws.branch}`);
|
|
18
|
+
for (const r of ws.repos) {
|
|
19
|
+
console.log(
|
|
20
|
+
` repo: ${r.worktree}/ ${r.full_name} (base ${r.base_branch})`,
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
const l = links(ws);
|
|
24
|
+
console.log(` terminal: ${l.terminal}`);
|
|
25
|
+
console.log(` review: ${l.review}`);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Whether a session of this shell runs in `ws`: archiving or deleting
|
|
29
|
+
* it stops the session the command runs in. Asked of the workspace's own
|
|
30
|
+
* session list, not the status snapshot, which is kept a few seconds. */
|
|
31
|
+
async function runsHere(ctx, ws) {
|
|
32
|
+
const sid = process.env.WORK_SESSION_ID;
|
|
33
|
+
if (!sid) return false;
|
|
34
|
+
const sessions = await ctx.api.get(
|
|
35
|
+
`/api/workspaces/${encodeURIComponent(ws.id)}/sessions`,
|
|
36
|
+
);
|
|
37
|
+
return (sessions || []).some((s) => s.id === sid);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** The workspace an archive/delete names: always by name or id, never the
|
|
41
|
+
* one the shell happens to be in. */
|
|
42
|
+
async function named(ctx, verb) {
|
|
43
|
+
const [arg] = ctx.parse();
|
|
44
|
+
if (!arg)
|
|
45
|
+
ctx.die(
|
|
46
|
+
`name the workspace to ${verb}: work workspace ${verb} <name|id> (see: work workspaces)`,
|
|
47
|
+
);
|
|
48
|
+
return (await ctx.resolveWorkspace(arg)).ws;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** Archive, unarchive or delete: the server's one action route. */
|
|
52
|
+
async function act(ctx, ws, action) {
|
|
53
|
+
return follow(ctx, ws.id, () =>
|
|
54
|
+
ctx.api.post(`/api/workspaces/${encodeURIComponent(ws.id)}`, { action }),
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** @type {Array<{name: string, aliases?: string[], summary: string, help: string, run: (ctx: any) => Promise<void>}>} */
|
|
59
|
+
export const commands = [
|
|
60
|
+
{
|
|
61
|
+
name: "workspace create",
|
|
62
|
+
summary: "make a workspace: work ws create <name> [repo…]",
|
|
63
|
+
help: `work workspace create <name> [repo…] [--base <repo>=<branch>] [--fork <repo>]
|
|
64
|
+
Make a workspace, as New does: a folder under the work root, a branch of
|
|
65
|
+
its own, and a worktree of each repo on it. A repo is owner/name,
|
|
66
|
+
host/owner/name (GitHub Enterprise) or a clone URL. Each is checked out
|
|
67
|
+
from its default branch unless --base names another (--base <branch>
|
|
68
|
+
alone when there is one repo); --fork forks it to your account first and
|
|
69
|
+
clones the fork. Clone and checkout progress goes to stderr. Prints the
|
|
70
|
+
workspace and its terminal and review links (--json: the workspace).
|
|
71
|
+
e.g. work ws create login-fix marko-js/marko --base marko=main`,
|
|
72
|
+
async run(ctx) {
|
|
73
|
+
const [name, ...specs] = ctx.parse(["--base", "--fork"]);
|
|
74
|
+
if (!name)
|
|
75
|
+
ctx.die("name the workspace: work workspace create <name> [repo…]");
|
|
76
|
+
const repos = specs.map((s) => {
|
|
77
|
+
const fullName = repoName(s);
|
|
78
|
+
if (!fullName)
|
|
79
|
+
ctx.die(
|
|
80
|
+
`not a repo: ${s} (owner/name, host/owner/name or a clone URL)`,
|
|
81
|
+
);
|
|
82
|
+
return { fullName };
|
|
83
|
+
});
|
|
84
|
+
for (const spec of ctx.flags("--base")) {
|
|
85
|
+
const eq = spec.indexOf("=");
|
|
86
|
+
const key = eq < 0 ? null : spec.slice(0, eq);
|
|
87
|
+
const branch = eq < 0 ? spec : spec.slice(eq + 1);
|
|
88
|
+
const target = key
|
|
89
|
+
? repos.filter((r) => namesRepo(key, r.fullName))
|
|
90
|
+
: repos.length === 1
|
|
91
|
+
? repos
|
|
92
|
+
: [];
|
|
93
|
+
if (target.length !== 1)
|
|
94
|
+
ctx.die(
|
|
95
|
+
key
|
|
96
|
+
? `--base ${spec}: ${target.length ? "names more than one repo" : "names no repo given"}`
|
|
97
|
+
: "--base <branch> alone needs exactly one repo; name it: --base <repo>=<branch>",
|
|
98
|
+
);
|
|
99
|
+
target[0].baseBranch = branch;
|
|
100
|
+
}
|
|
101
|
+
for (const key of ctx.flags("--fork")) {
|
|
102
|
+
const target = repos.filter((r) => namesRepo(key, r.fullName));
|
|
103
|
+
if (target.length !== 1) ctx.die(`--fork ${key}: names no one repo`);
|
|
104
|
+
target[0].fork = true;
|
|
105
|
+
}
|
|
106
|
+
const op = opId();
|
|
107
|
+
const ws = await follow(ctx, op, () =>
|
|
108
|
+
ctx.api.post("/api/workspaces", { name, repos, opId: op }),
|
|
109
|
+
);
|
|
110
|
+
ctx.out({ ...ws, links: links(ws) }, () => printWorkspace(ws, "created"));
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "workspace archive",
|
|
115
|
+
summary: "archive a workspace (stops its sessions; keeps its files)",
|
|
116
|
+
help: `work workspace archive <name|id> [--yes]
|
|
117
|
+
Archive a workspace, as the app's archive does: its sessions and
|
|
118
|
+
processes stop and it leaves the list; its folder, branches and review
|
|
119
|
+
stay, and work workspace unarchive brings it back. Archiving the
|
|
120
|
+
workspace this shell runs in stops this session too, so that needs --yes.`,
|
|
121
|
+
async run(ctx) {
|
|
122
|
+
const ws = await named(ctx, "archive");
|
|
123
|
+
if (ws.status === "archived") {
|
|
124
|
+
ctx.out({ id: ws.id, status: "archived" }, () =>
|
|
125
|
+
console.log(`${ws.name} is already archived`),
|
|
126
|
+
);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (!ctx.yes && (await runsHere(ctx, ws)))
|
|
130
|
+
ctx.die(
|
|
131
|
+
`${ws.name} is the workspace this shell runs in: archiving it stops this session. Pass --yes to go ahead`,
|
|
132
|
+
);
|
|
133
|
+
await act(ctx, ws, "archive");
|
|
134
|
+
ctx.out({ id: ws.id, status: "archived" }, () =>
|
|
135
|
+
console.log(
|
|
136
|
+
`archived ${ws.name} (work workspace unarchive ${ws.name} brings it back)`,
|
|
137
|
+
),
|
|
138
|
+
);
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: "workspace unarchive",
|
|
143
|
+
aliases: ["workspace restore"],
|
|
144
|
+
summary: "bring an archived workspace back",
|
|
145
|
+
help: `work workspace unarchive <name|id>
|
|
146
|
+
Bring an archived workspace back into the list. One restored from a
|
|
147
|
+
backup that was never put on disk is cloned now, in the background (the
|
|
148
|
+
app shows how far it has got).`,
|
|
149
|
+
async run(ctx) {
|
|
150
|
+
const ws = await named(ctx, "unarchive");
|
|
151
|
+
if (ws.status === "active") {
|
|
152
|
+
ctx.out({ id: ws.id, status: "active" }, () =>
|
|
153
|
+
console.log(`${ws.name} is not archived`),
|
|
154
|
+
);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
await act(ctx, ws, "restore");
|
|
158
|
+
ctx.out({ id: ws.id, status: "active", links: links(ws) }, () =>
|
|
159
|
+
console.log(`unarchived ${ws.name}: ${links(ws).terminal}`),
|
|
160
|
+
);
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
name: "workspace delete",
|
|
165
|
+
summary: "delete a workspace and its files (--yes)",
|
|
166
|
+
help: `work workspace delete <name|id> --yes
|
|
167
|
+
Delete a workspace: its sessions and processes stop, its folder is
|
|
168
|
+
removed and its local branches are deleted — uncommitted and unpushed
|
|
169
|
+
work in it is lost. Branches already pushed, and their PRs, stay on
|
|
170
|
+
GitHub. Asks for --yes; archive instead to keep it.`,
|
|
171
|
+
async run(ctx) {
|
|
172
|
+
const ws = await named(ctx, "delete");
|
|
173
|
+
const here = await runsHere(ctx, ws);
|
|
174
|
+
if (!ctx.yes)
|
|
175
|
+
ctx.die(
|
|
176
|
+
`deleting ${ws.name} removes ${ws.display_path || ws.path} and its local branches; uncommitted and unpushed work is lost${here ? ", and this session stops (it runs there)" : ""}. Pass --yes to go ahead, or archive it instead`,
|
|
177
|
+
);
|
|
178
|
+
await act(ctx, ws, "delete");
|
|
179
|
+
ctx.out({ id: ws.id, deleted: true }, () =>
|
|
180
|
+
console.log(`deleted ${ws.name}`),
|
|
181
|
+
);
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
];
|