@dylanpiercey/work 0.0.194 → 0.0.195
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/bin/work.mjs +72 -70
- package/dist/index.mjs +544 -461
- package/dist/public/assets/{_DD16BGvo.js → _0h0AIzFj.js} +1 -1
- package/dist/public/assets/_0h0AIzFj.js.br +0 -0
- package/dist/public/assets/_0za8Cr1n.js +1 -0
- package/dist/public/assets/{_DS1wABH-.js → _18epjYOV.js} +1 -1
- package/dist/public/assets/_18epjYOV.js.br +0 -0
- package/dist/public/assets/_3xkbncP_.js +1 -0
- package/dist/public/assets/_4HZDmYgs.js +1 -0
- package/dist/public/assets/{_ZYpoEyN8.js → _AiyczSWt.js} +1 -1
- package/dist/public/assets/_AiyczSWt.js.br +0 -0
- package/dist/public/assets/_AuCIj6im.js +1 -0
- package/dist/public/assets/{_4upXK7xi.js → _B46lef50.js} +1 -1
- package/dist/public/assets/_B46lef50.js.br +0 -0
- package/dist/public/assets/{_BGp6KcCQ.js → _B8MJcLaM.js} +1 -1
- package/dist/public/assets/_B8MJcLaM.js.br +0 -0
- package/dist/public/assets/{_IJNr37kx.js → _BAP6pe7u.js} +1 -1
- package/dist/public/assets/_BAP6pe7u.js.br +0 -0
- package/dist/public/assets/{_iBVWvD0A.js → _BAlyV91f.js} +1 -1
- package/dist/public/assets/_BAlyV91f.js.br +0 -0
- package/dist/public/assets/_BBR_LwBj.js +1 -0
- package/dist/public/assets/_BF_doyRg.js +1 -0
- package/dist/public/assets/_BFfXXja-.js +1 -0
- package/dist/public/assets/{_CnzQ4juf.js → _BJy_w8mx.js} +1 -1
- package/dist/public/assets/_BJy_w8mx.js.br +0 -0
- package/dist/public/assets/{_CGzFAUY6.js → _BMR6K6ZH.js} +1 -1
- package/dist/public/assets/_BMR6K6ZH.js.br +0 -0
- package/dist/public/assets/_BN9FKcnK.js +1 -0
- package/dist/public/assets/{_AZWrS2Jm.js → _BOc-526n.js} +1 -1
- package/dist/public/assets/_BOc-526n.js.br +0 -0
- package/dist/public/assets/_BR0iuQr9.js +1 -0
- package/dist/public/assets/{_-5VRB-d8.js → _BRObdg0l.js} +1 -1
- package/dist/public/assets/_BRObdg0l.js.br +0 -0
- package/dist/public/assets/{_BtL0sglJ.js → _BRSKw1cV.js} +1 -1
- package/dist/public/assets/_BRSKw1cV.js.br +0 -0
- package/dist/public/assets/{_CR72KzUy.js → _BRphDJH_.js} +1 -1
- package/dist/public/assets/_BRphDJH_.js.br +0 -0
- package/dist/public/assets/{_DdXJJzzZ.js → _BUWvw-TH.js} +1 -1
- package/dist/public/assets/_BUWvw-TH.js.br +0 -0
- package/dist/public/assets/_BWLfnp5O.js +1 -0
- package/dist/public/assets/_BYkdEfpP.js +1 -0
- package/dist/public/assets/_BZ6hXL2R.js +1 -0
- package/dist/public/assets/_BZd_Xfcs.js +1 -0
- package/dist/public/assets/{_D875Kcfa.js → _Bb8mR-HM.js} +1 -1
- package/dist/public/assets/_Bb8mR-HM.js.br +0 -0
- package/dist/public/assets/{_DdOHjgo4.js → _BdAMRKrG.js} +1 -1
- package/dist/public/assets/_BdAMRKrG.js.br +0 -0
- package/dist/public/assets/{_DDOtP_nf.js → _BdDLH1XV.js} +1 -1
- package/dist/public/assets/_BdDLH1XV.js.br +0 -0
- package/dist/public/assets/{_EH5vEr2e.js → _BhWv3wNf.js} +1 -1
- package/dist/public/assets/_BhWv3wNf.js.br +0 -0
- package/dist/public/assets/{_Ci6csctL.js → _BlzNrz3K.js} +1 -1
- package/dist/public/assets/_BlzNrz3K.js.br +0 -0
- package/dist/public/assets/_BmraoyEp.js +1 -0
- package/dist/public/assets/{_dN2Rs1x8.js → _BnV94dO7.js} +1 -1
- package/dist/public/assets/_BnV94dO7.js.br +0 -0
- package/dist/public/assets/{_BFgcLXyz.js → _BpzaSD-m.js} +1 -1
- package/dist/public/assets/_BpzaSD-m.js.br +0 -0
- package/dist/public/assets/{_C98LcKxW.js → _Bs1kE95N.js} +4 -4
- package/dist/public/assets/_Bs1kE95N.js.br +0 -0
- package/dist/public/assets/_BsdHIscx.js +1 -0
- package/dist/public/assets/_BtICabTK.js +1 -0
- package/dist/public/assets/_BtZUbiKy.js +1 -0
- package/dist/public/assets/{_Cez0GncF.js → _Bw3gx4-Q.js} +1 -1
- package/dist/public/assets/_Bw3gx4-Q.js.br +0 -0
- package/dist/public/assets/_BwzlI7lz.js +1 -0
- package/dist/public/assets/{_B-Uq1tN8.js → _Bx6eTqoq.js} +1 -1
- package/dist/public/assets/{_Dzg96yJW.js → _C-1cKTkv.js} +1 -1
- package/dist/public/assets/_C-1cKTkv.js.br +0 -0
- package/dist/public/assets/_C1AI3pME.js +1 -0
- package/dist/public/assets/{_RymhJ-oH.js → _C3I-Anub.js} +1 -1
- package/dist/public/assets/_C3I-Anub.js.br +0 -0
- package/dist/public/assets/_C3MZsvvL.js +1 -0
- package/dist/public/assets/{_CyH7-G4O.js → _C41zuCzJ.js} +3 -3
- package/dist/public/assets/_C41zuCzJ.js.br +0 -0
- package/dist/public/assets/{_CT1Gdljn.js → _C4mnN_oZ.js} +1 -1
- package/dist/public/assets/_C4mnN_oZ.js.br +0 -0
- package/dist/public/assets/{_B1t_3R3E.js → _C55Vt4KA.js} +1 -1
- package/dist/public/assets/_C55Vt4KA.js.br +0 -0
- package/dist/public/assets/{_DL37mEnd.js → _C5YR9YJh.js} +1 -1
- package/dist/public/assets/_C5YR9YJh.js.br +0 -0
- package/dist/public/assets/{_BXfOoEFL.js → _C683mkqv.js} +1 -1
- package/dist/public/assets/_C683mkqv.js.br +0 -0
- package/dist/public/assets/_CA_mP0vg.js +1 -0
- package/dist/public/assets/{_BuGdTsCt.js → _CB4KzoDJ.js} +1 -1
- package/dist/public/assets/_CB4KzoDJ.js.br +0 -0
- package/dist/public/assets/_CBCt9rbU.js +1 -0
- package/dist/public/assets/{_CsuGx1ff.js → _CCDxcQQY.js} +1 -1
- package/dist/public/assets/_CCDxcQQY.js.br +0 -0
- package/dist/public/assets/_CDvfsA-P.js +1 -0
- package/dist/public/assets/_CIeJf4eB.js +1 -0
- package/dist/public/assets/{_BFU2lAlj.js → _CIjkAiih.js} +1 -1
- package/dist/public/assets/{_CuyX02Pl.js → _CLiSZPPg.js} +1 -1
- package/dist/public/assets/_CLiSZPPg.js.br +0 -0
- package/dist/public/assets/{_ZsJ1B5tS.js → _CNxXQqXS.js} +1 -1
- package/dist/public/assets/_CNxXQqXS.js.br +0 -0
- package/dist/public/assets/{_BD5eb9JF.js → _CODFsVds.js} +1 -1
- package/dist/public/assets/_CODFsVds.js.br +0 -0
- package/dist/public/assets/{_UlVjGC9v.js → _CPKZgGBI.js} +4 -4
- package/dist/public/assets/_CPKZgGBI.js.br +0 -0
- package/dist/public/assets/{_VCUJ4E0Z.js → _CW2a9XvK.js} +1 -1
- package/dist/public/assets/_CW2a9XvK.js.br +0 -0
- package/dist/public/assets/{_C-_9s2XH.js → _CWMJH-rn.js} +1 -1
- package/dist/public/assets/_CWMJH-rn.js.br +0 -0
- package/dist/public/assets/{_DeGNETkV.js → _CXxKcxHR.js} +1 -1
- package/dist/public/assets/_CXxKcxHR.js.br +0 -0
- package/dist/public/assets/{_94VO1H1D.js → _CZeIAKZQ.js} +1 -1
- package/dist/public/assets/_CZeIAKZQ.js.br +0 -0
- package/dist/public/assets/{_CIQLqWPr.js → _CakhbveI.js} +1 -1
- package/dist/public/assets/_CakhbveI.js.br +0 -0
- package/dist/public/assets/{_DvgXuM5Z.js → _CcEehkYP.js} +1 -1
- package/dist/public/assets/_CcEehkYP.js.br +0 -0
- package/dist/public/assets/{_MITe5BKM.js → _CdU5S35_.js} +2 -2
- package/dist/public/assets/_CdU5S35_.js.br +0 -0
- package/dist/public/assets/{_hNtFhi2H.js → _Cgb2RJJJ.js} +1 -1
- package/dist/public/assets/_Cgb2RJJJ.js.br +0 -0
- package/dist/public/assets/{_AGSf1cOD.js → _CjKem1sO.js} +1 -1
- package/dist/public/assets/_CjKem1sO.js.br +0 -0
- package/dist/public/assets/_CjKzx4Md.js +1 -0
- package/dist/public/assets/_Ck7MmnzY.js +1 -0
- package/dist/public/assets/{_lTtrjH_y.js → _CnCRB0XK.js} +1 -1
- package/dist/public/assets/_CnCRB0XK.js.br +0 -0
- package/dist/public/assets/{_CCrALKLA.js → _CoJxQd1B.js} +1 -1
- package/dist/public/assets/_CoJxQd1B.js.br +0 -0
- package/dist/public/assets/_Coao3E79.js +1 -0
- package/dist/public/assets/_Cpg5MJ_u.js +1 -0
- package/dist/public/assets/{_oQDS6HaL.js → _CrQmOSDl.js} +1 -1
- package/dist/public/assets/_CsWug15t.js +1 -0
- package/dist/public/assets/_CvQswCKM.js +1 -0
- package/dist/public/assets/_Cvw22lZx.js +1 -0
- package/dist/public/assets/{_C70n3Uh0.js → _CzbgKank.js} +1 -1
- package/dist/public/assets/_CzbgKank.js.br +0 -0
- package/dist/public/assets/{_CHHD69iN.js → _CzfZbwGO.js} +1 -1
- package/dist/public/assets/_CzfZbwGO.js.br +0 -0
- package/dist/public/assets/{_DTTu8ZoT.js → _D-97toYv.js} +1 -1
- package/dist/public/assets/_D-97toYv.js.br +0 -0
- package/dist/public/assets/_D1RANegM.js +1 -0
- package/dist/public/assets/_D4eqQKOn.js +1 -0
- package/dist/public/assets/{_D0FsS7fp.js → _D78Rmq5N.js} +1 -1
- package/dist/public/assets/_D78Rmq5N.js.br +0 -0
- package/dist/public/assets/{_D0_HRw9h.js → _DA-0s5a6.js} +1 -1
- package/dist/public/assets/_DA-0s5a6.js.br +0 -0
- package/dist/public/assets/{_BLDfMNIY.js → _DBgXUlmC.js} +1 -1
- package/dist/public/assets/_DBgXUlmC.js.br +0 -0
- package/dist/public/assets/{_DBXzGyX_.js → _DDXMnJp1.js} +1 -1
- package/dist/public/assets/_DDXMnJp1.js.br +0 -0
- package/dist/public/assets/{_BqDr3Tw4.js → _DECvFD3C.js} +1 -1
- package/dist/public/assets/_DECvFD3C.js.br +0 -0
- package/dist/public/assets/{_DfPcMMq-.js → _DG3lNhs6.js} +1 -1
- package/dist/public/assets/_DG3lNhs6.js.br +0 -0
- package/dist/public/assets/{_7VnEzO6q.js → _DHUfylTf.js} +1 -1
- package/dist/public/assets/_DHUfylTf.js.br +0 -0
- package/dist/public/assets/{_81bytH-7.js → _DIqCp0Dr.js} +1 -1
- package/dist/public/assets/_DIqCp0Dr.js.br +0 -0
- package/dist/public/assets/{_RBcjVTtc.js → _DKA87yrO.js} +1 -1
- package/dist/public/assets/_DKA87yrO.js.br +0 -0
- package/dist/public/assets/{_C2pCQFbc.js → _DOgiz2sq.js} +1 -1
- package/dist/public/assets/_DOgiz2sq.js.br +0 -0
- package/dist/public/assets/{_BaGCGJ3V.js → _DP2LKafM.js} +1 -1
- package/dist/public/assets/_DP2LKafM.js.br +0 -0
- package/dist/public/assets/{_BHpWtqGi.js → _DPzxebn1.js} +1 -1
- package/dist/public/assets/_DPzxebn1.js.br +0 -0
- package/dist/public/assets/{_Bpjh_GiT.js → _DQb-Prlp.js} +1 -1
- package/dist/public/assets/_DR6o0ihU.js +1 -0
- package/dist/public/assets/_DRMBZW5C.js +1 -0
- package/dist/public/assets/_DS2o6oMD.js +1 -0
- package/dist/public/assets/{_DjNrP2xy.js → _DU3Vsw3V.js} +1 -1
- package/dist/public/assets/_DUqZ0WL5.js +1 -0
- package/dist/public/assets/{_DUprEXi6.js → _Dc2TbKDN.js} +1 -1
- package/dist/public/assets/_Dc2TbKDN.js.br +0 -0
- package/dist/public/assets/_Dc56XaC3.js +1 -0
- package/dist/public/assets/{_CwRY7vN8.js → _DcDGku3c.js} +1 -1
- package/dist/public/assets/_DcDGku3c.js.br +0 -0
- package/dist/public/assets/_DdR4vgZH.js +1 -0
- package/dist/public/assets/{_CWkeO0Fk.js → _De3Bqgjq.js} +1 -1
- package/dist/public/assets/_De3Bqgjq.js.br +0 -0
- package/dist/public/assets/{_CGI1BtkI.js → _DfQw6r-m.js} +1 -1
- package/dist/public/assets/_DfQw6r-m.js.br +0 -0
- package/dist/public/assets/_DgX_vew2.js +1 -0
- package/dist/public/assets/{_CgljKJDn.js → _DiZR5A2Z.js} +1 -1
- package/dist/public/assets/_DiZR5A2Z.js.br +0 -0
- package/dist/public/assets/{_C5HEiR3-.js → _Dl_aiyLq.js} +1 -1
- package/dist/public/assets/_Dl_aiyLq.js.br +0 -0
- package/dist/public/assets/_DnChB8C1.js +1 -0
- package/dist/public/assets/_Dq32gZSy.js +1 -0
- package/dist/public/assets/{_CIvfn_vo.js → _Ds8cRiqE.js} +1 -1
- package/dist/public/assets/_Ds8cRiqE.js.br +0 -0
- package/dist/public/assets/{_UDN-Kw2b.js → _DtkWFnwh.js} +1 -1
- package/dist/public/assets/_DtkWFnwh.js.br +0 -0
- package/dist/public/assets/_DuzGrmQ5.js +1 -0
- package/dist/public/assets/{_BMAKFvwT.js → _F4wO2bpH.js} +1 -1
- package/dist/public/assets/_F4wO2bpH.js.br +0 -0
- package/dist/public/assets/_HOdpMHxl.js +1 -0
- package/dist/public/assets/{_DOiJubUI.js → _IKyWRqQj.js} +1 -1
- package/dist/public/assets/_IKyWRqQj.js.br +0 -0
- package/dist/public/assets/_KRVYITR_.js +1 -0
- package/dist/public/assets/{_Cpwq78LC.js → _LVs8hGnf.js} +1 -1
- package/dist/public/assets/_LVs8hGnf.js.br +0 -0
- package/dist/public/assets/{_DNaxiSse.js → _LyXyKVdu.js} +1 -1
- package/dist/public/assets/_LyXyKVdu.js.br +0 -0
- package/dist/public/assets/{_BbKk7fzo.js → _Qp3bXDzX.js} +2 -2
- package/dist/public/assets/_Qp3bXDzX.js.br +0 -0
- package/dist/public/assets/{_C8F-ulr0.js → _U49daapm.js} +1 -1
- package/dist/public/assets/_U49daapm.js.br +0 -0
- package/dist/public/assets/{_D_y2aFw-.js → _W5nLbLR0.js} +1 -1
- package/dist/public/assets/_W5nLbLR0.js.br +0 -0
- package/dist/public/assets/{_DvhcOREH.js → _YChD2z1e.js} +1 -1
- package/dist/public/assets/_YChD2z1e.js.br +0 -0
- package/dist/public/assets/{_C3EwuwTS.js → _ZKNPt6D-.js} +1 -1
- package/dist/public/assets/_ZKNPt6D-.js.br +0 -0
- package/dist/public/assets/{_Cku0OZEV.js → _Z_elapBC.js} +1 -1
- package/dist/public/assets/_Z_elapBC.js.br +0 -0
- package/dist/public/assets/_ZrI-bccm.js +1 -0
- package/dist/public/assets/{_C9CagP3D.js → __3UGRi5e.js} +1 -1
- package/dist/public/assets/__3UGRi5e.js.br +0 -0
- package/dist/public/assets/__VmSq1gY.js +1 -0
- package/dist/public/assets/_acWElTft.js +1 -0
- package/dist/public/assets/{_BYQ1qFAr.js → _awPDUP7f.js} +1 -1
- package/dist/public/assets/_awPDUP7f.js.br +0 -0
- package/dist/public/assets/{_CWzZgLRl.js → _b5I_nxEK.js} +1 -1
- package/dist/public/assets/_b5I_nxEK.js.br +0 -0
- package/dist/public/assets/_bkGAJhVw.js +1 -0
- package/dist/public/assets/{_De_ipH7W.js → _dLObuZst.js} +1 -1
- package/dist/public/assets/_dLObuZst.js.br +0 -0
- package/dist/public/assets/_fLtBkEgC.js +1 -0
- package/dist/public/assets/{_CnIqepEi.js → _fxmXMnQo.js} +1 -1
- package/dist/public/assets/_fxmXMnQo.js.br +0 -0
- package/dist/public/assets/_k6RGMQOn.js +1 -0
- package/dist/public/assets/{_DUoMqwhS.js → _ktZqvcQv.js} +1 -1
- package/dist/public/assets/{_DGwvafH8.js → _lNS9HyGM.js} +1 -1
- package/dist/public/assets/_lNS9HyGM.js.br +0 -0
- package/dist/public/assets/_m6mY1g2k.js +1 -0
- package/dist/public/assets/{_Cp2aP4_b.js → _n9oRx7Ms.js} +1 -1
- package/dist/public/assets/_n9oRx7Ms.js.br +0 -0
- package/dist/public/assets/_ne68jIT3.js +1 -0
- package/dist/public/assets/_o7EZS1PU.js +1 -0
- package/dist/public/assets/{_D72YKK3J.js → _pk73RhvL.js} +1 -1
- package/dist/public/assets/_pk73RhvL.js.br +0 -0
- package/dist/public/assets/_pnS1VR4S.js +1 -0
- package/dist/public/assets/_rngmM1WE.js +1 -0
- package/dist/public/assets/{_BUi_qcC9.js → _sA9LOck8.js} +1 -1
- package/dist/public/assets/_sA9LOck8.js.br +0 -0
- package/dist/public/assets/_tjCTuAiB.js +1 -0
- package/dist/public/assets/{_DarXw3BK.js → _v2hjUzql.js} +1 -1
- package/dist/public/assets/_v2hjUzql.js.br +0 -0
- package/dist/public/assets/_xeXcHxFy.js +1 -0
- package/dist/public/assets/{_CP8OA6zX.js → _zte35G0C.js} +1 -1
- package/dist/public/assets/_zte35G0C.js.br +0 -0
- package/dist/public/assets/{app-page-BH1eJtJY.css → app-page-q9DSx_6H.css} +1 -1
- package/dist/public/assets/app-page-q9DSx_6H.css.br +0 -0
- package/dist/public/assets/{files-view-BWUVbyE_.css → files-view-4E3kXASs.css} +1 -1
- package/dist/public/assets/files-view-4E3kXASs.css.br +0 -0
- package/dist/public/assets/files-view-UszCym42.js +2 -0
- package/dist/public/assets/icon-go-to-file-BtF0WaqZ.css +1 -0
- package/dist/public/assets/icon-go-to-file-BtF0WaqZ.css.br +0 -0
- package/dist/public/assets/{icon-search-B4XHh_CO.css → icon-search-BxpLvwZF.css} +1 -1
- package/dist/public/assets/icon-search-BxpLvwZF.css.br +0 -0
- package/dist/public/assets/key-bar.css.ts-BZo5sjtE.css +1 -0
- package/dist/public/assets/key-bar.css.ts-BZo5sjtE.css.br +0 -0
- package/dist/public/assets/manage-workspace-CS7zLgiS.js +2 -0
- package/dist/public/assets/{modal-view-Dp-yH6Kp.css → modal-view-UBeCgIX7.css} +1 -1
- package/dist/public/assets/modal-view-UBeCgIX7.css.br +0 -0
- package/dist/public/assets/new-CM-FhUNi.js +1 -0
- package/dist/public/assets/new-workspace-DI64ZaMU.css +1 -0
- package/dist/public/assets/new-workspace-DI64ZaMU.css.br +0 -0
- package/dist/public/assets/new-workspace-fOyt4nRa.js +2 -0
- package/dist/public/assets/port-chip-Cz4VnZ9z.css +1 -0
- package/dist/public/assets/port-chip-Cz4VnZ9z.css.br +0 -0
- package/dist/public/assets/prompt-dialog-CH7vaJAn.css +1 -0
- package/dist/public/assets/prompt-dialog-CH7vaJAn.css.br +0 -0
- package/dist/public/assets/{quick-open-D4Ti6tCj.css → quick-open-BzjNryb1.css} +1 -1
- package/dist/public/assets/quick-open-BzjNryb1.css.br +0 -0
- package/dist/public/assets/repo-picker-Du9faofk.css +1 -0
- package/dist/public/assets/repo-picker-Du9faofk.css.br +2 -0
- package/dist/public/assets/{review-view-DyVGn3ET.css → review-view-9_qRBmzb.css} +1 -1
- package/dist/public/assets/review-view-9_qRBmzb.css.br +0 -0
- package/dist/public/assets/review-view-MwSvyFb0.js +2 -0
- package/dist/public/assets/{section-Cy7IT4ed.css → section-CZ2IaRip.css} +1 -1
- package/dist/public/assets/section-CZ2IaRip.css.br +0 -0
- package/dist/public/assets/settings-CM-FhUNi.js +1 -0
- package/dist/public/assets/settings-page-6e1aPE3t.js +2 -0
- package/dist/public/assets/{settings-page-CkOwBPiA.css → settings-page-C1jdrZXw.css} +1 -1
- package/dist/public/assets/settings-page-C1jdrZXw.css.br +0 -0
- package/dist/public/assets/w-CM-FhUNi.js +1 -0
- package/dist/public/assets/w._-CM-FhUNi.js +1 -0
- package/dist/public/assets/w._-MjovPk6K.js +1 -0
- package/dist/public/assets/w._-b1g1Pfei.js +1 -0
- package/package.json +1 -1
- package/dist/public/assets/_-5VRB-d8.js.br +0 -0
- package/dist/public/assets/_17YARaZI.js +0 -1
- package/dist/public/assets/_4upXK7xi.js.br +0 -0
- package/dist/public/assets/_7VnEzO6q.js.br +0 -0
- package/dist/public/assets/_81bytH-7.js.br +0 -0
- package/dist/public/assets/_94VO1H1D.js.br +0 -0
- package/dist/public/assets/_AGSf1cOD.js.br +0 -0
- package/dist/public/assets/_ARikQN6m.js +0 -1
- package/dist/public/assets/_AZWrS2Jm.js.br +0 -0
- package/dist/public/assets/_B1t_3R3E.js.br +0 -0
- package/dist/public/assets/_B2C9gp4T.js +0 -1
- package/dist/public/assets/_BANxovHo.js +0 -1
- package/dist/public/assets/_BD5eb9JF.js.br +0 -0
- package/dist/public/assets/_BFgcLXyz.js.br +0 -0
- package/dist/public/assets/_BGeDyB3V.js +0 -1
- package/dist/public/assets/_BGp6KcCQ.js.br +0 -0
- package/dist/public/assets/_BHpWtqGi.js.br +0 -0
- package/dist/public/assets/_BI-YRnhV.js +0 -1
- package/dist/public/assets/_BLDfMNIY.js.br +0 -0
- package/dist/public/assets/_BLqPpdme.js +0 -1
- package/dist/public/assets/_BMAKFvwT.js.br +0 -0
- package/dist/public/assets/_BO-Jsv0u.js +0 -1
- package/dist/public/assets/_BUi_qcC9.js.br +0 -0
- package/dist/public/assets/_BXZ8uyt2.js +0 -1
- package/dist/public/assets/_BXfOoEFL.js.br +0 -0
- package/dist/public/assets/_BYQ1qFAr.js.br +0 -0
- package/dist/public/assets/_BaDX7xGL.js +0 -1
- package/dist/public/assets/_BaGCGJ3V.js.br +0 -0
- package/dist/public/assets/_BbKk7fzo.js.br +0 -0
- package/dist/public/assets/_BjW31SFQ.js +0 -1
- package/dist/public/assets/_BjgImFNS.js +0 -1
- package/dist/public/assets/_BlOjfecc.js +0 -1
- package/dist/public/assets/_BoYE2vep.js +0 -1
- package/dist/public/assets/_BqDr3Tw4.js.br +0 -0
- package/dist/public/assets/_BtL0sglJ.js.br +0 -0
- package/dist/public/assets/_BuGdTsCt.js.br +0 -0
- package/dist/public/assets/_BuY8ki8b.js +0 -1
- package/dist/public/assets/_By2Snm-W.js +0 -1
- package/dist/public/assets/_BytT4SK1.js +0 -1
- package/dist/public/assets/_C-_9s2XH.js.br +0 -0
- package/dist/public/assets/_C2pCQFbc.js.br +0 -0
- package/dist/public/assets/_C3EwuwTS.js.br +0 -0
- package/dist/public/assets/_C5HEiR3-.js.br +0 -0
- package/dist/public/assets/_C70n3Uh0.js.br +0 -0
- package/dist/public/assets/_C8F-ulr0.js.br +0 -0
- package/dist/public/assets/_C98LcKxW.js.br +0 -0
- package/dist/public/assets/_C9CagP3D.js.br +0 -0
- package/dist/public/assets/_C9OZtkIs.js +0 -1
- package/dist/public/assets/_CCrALKLA.js.br +0 -0
- package/dist/public/assets/_CGI1BtkI.js.br +0 -0
- package/dist/public/assets/_CGIx5BHI.js +0 -1
- package/dist/public/assets/_CGzFAUY6.js.br +0 -0
- package/dist/public/assets/_CHHD69iN.js.br +0 -0
- package/dist/public/assets/_CIQLqWPr.js.br +0 -0
- package/dist/public/assets/_CIvfn_vo.js.br +0 -0
- package/dist/public/assets/_CP8OA6zX.js.br +0 -0
- package/dist/public/assets/_CQYWGGw1.js +0 -1
- package/dist/public/assets/_CR72KzUy.js.br +0 -0
- package/dist/public/assets/_CSm-EvZt.js +0 -1
- package/dist/public/assets/_CT1Gdljn.js.br +0 -0
- package/dist/public/assets/_CU2Rmo9L.js +0 -1
- package/dist/public/assets/_CWkeO0Fk.js.br +0 -0
- package/dist/public/assets/_CWzZgLRl.js.br +0 -0
- package/dist/public/assets/_C_F7Tl5w.js +0 -1
- package/dist/public/assets/_C_l42G5f.js +0 -1
- package/dist/public/assets/_CcVILLR8.js +0 -1
- package/dist/public/assets/_Cez0GncF.js.br +0 -0
- package/dist/public/assets/_CgljKJDn.js.br +0 -0
- package/dist/public/assets/_Ci6csctL.js.br +0 -0
- package/dist/public/assets/_CkJC-Rya.js +0 -1
- package/dist/public/assets/_Ckc4saGa.js +0 -1
- package/dist/public/assets/_Cku0OZEV.js.br +0 -0
- package/dist/public/assets/_CnIqepEi.js.br +0 -0
- package/dist/public/assets/_CnzQ4juf.js.br +0 -0
- package/dist/public/assets/_Cp2aP4_b.js.br +0 -0
- package/dist/public/assets/_Cpwq78LC.js.br +0 -0
- package/dist/public/assets/_CsuGx1ff.js.br +0 -0
- package/dist/public/assets/_CuyX02Pl.js.br +0 -0
- package/dist/public/assets/_CwRY7vN8.js.br +0 -0
- package/dist/public/assets/_CyH7-G4O.js.br +0 -0
- package/dist/public/assets/_D0FsS7fp.js.br +0 -0
- package/dist/public/assets/_D0_HRw9h.js.br +0 -0
- package/dist/public/assets/_D2HhmR2c.js +0 -1
- package/dist/public/assets/_D2rliuRa.js +0 -1
- package/dist/public/assets/_D72YKK3J.js.br +0 -0
- package/dist/public/assets/_D875Kcfa.js.br +0 -0
- package/dist/public/assets/_DBXzGyX_.js.br +0 -0
- package/dist/public/assets/_DByxtG6g.js +0 -1
- package/dist/public/assets/_DD16BGvo.js.br +0 -0
- package/dist/public/assets/_DDOtP_nf.js.br +0 -0
- package/dist/public/assets/_DFnwLEWk.js +0 -1
- package/dist/public/assets/_DGbpBQwH.js +0 -1
- package/dist/public/assets/_DGt79ckV.js +0 -1
- package/dist/public/assets/_DGwvafH8.js.br +0 -0
- package/dist/public/assets/_DJRfFb8h.js +0 -1
- package/dist/public/assets/_DKC19r0n.js +0 -1
- package/dist/public/assets/_DL37mEnd.js.br +0 -0
- package/dist/public/assets/_DLwjHB7c.js +0 -1
- package/dist/public/assets/_DNaxiSse.js.br +0 -0
- package/dist/public/assets/_DOiJubUI.js.br +0 -0
- package/dist/public/assets/_DS1wABH-.js.br +0 -0
- package/dist/public/assets/_DTTu8ZoT.js.br +0 -0
- package/dist/public/assets/_DUprEXi6.js.br +0 -0
- package/dist/public/assets/_DWh_YDAh.js +0 -1
- package/dist/public/assets/_DZ-Lo7dJ.js +0 -1
- package/dist/public/assets/_D_y2aFw-.js.br +0 -0
- package/dist/public/assets/_DarXw3BK.js.br +0 -0
- package/dist/public/assets/_DdOHjgo4.js.br +0 -0
- package/dist/public/assets/_DdXJJzzZ.js.br +0 -0
- package/dist/public/assets/_DeGNETkV.js.br +0 -0
- package/dist/public/assets/_De_ipH7W.js.br +0 -0
- package/dist/public/assets/_DfPcMMq-.js.br +0 -0
- package/dist/public/assets/_DnI0p7IL.js +0 -1
- package/dist/public/assets/_DpqRyroK.js +0 -1
- package/dist/public/assets/_DvLTN_1N.js +0 -1
- package/dist/public/assets/_DvgXuM5Z.js.br +0 -0
- package/dist/public/assets/_DvhcOREH.js.br +0 -0
- package/dist/public/assets/_Dzg96yJW.js.br +0 -0
- package/dist/public/assets/_EH5vEr2e.js.br +0 -0
- package/dist/public/assets/_EcZv8Nzi.js +0 -1
- package/dist/public/assets/_ElN9429q.js +0 -1
- package/dist/public/assets/_IJNr37kx.js.br +0 -0
- package/dist/public/assets/_KOzhfdTx.js +0 -1
- package/dist/public/assets/_MITe5BKM.js.br +0 -0
- package/dist/public/assets/_MR7uo2mc.js +0 -1
- package/dist/public/assets/_Mxop3LTn.js +0 -1
- package/dist/public/assets/_QW38dwH2.js +0 -1
- package/dist/public/assets/_RBcjVTtc.js.br +0 -0
- package/dist/public/assets/_RymhJ-oH.js.br +0 -0
- package/dist/public/assets/_UDN-Kw2b.js.br +0 -0
- package/dist/public/assets/_UlVjGC9v.js.br +0 -0
- package/dist/public/assets/_VCUJ4E0Z.js.br +0 -0
- package/dist/public/assets/_ZYpoEyN8.js.br +0 -0
- package/dist/public/assets/_ZsJ1B5tS.js.br +0 -0
- package/dist/public/assets/_buY79gP0.js +0 -1
- package/dist/public/assets/_bxcOWiWt.js +0 -1
- package/dist/public/assets/_dN2Rs1x8.js.br +0 -0
- package/dist/public/assets/_fZzNR3iI.js +0 -1
- package/dist/public/assets/_fxnmrIn3.js +0 -1
- package/dist/public/assets/_hNtFhi2H.js.br +0 -0
- package/dist/public/assets/_iBVWvD0A.js.br +0 -0
- package/dist/public/assets/_kYfPle1m.js +0 -1
- package/dist/public/assets/_k_5G0NCr.js +0 -1
- package/dist/public/assets/_lTtrjH_y.js.br +0 -0
- package/dist/public/assets/_m9PX5OYx.js +0 -1
- package/dist/public/assets/_pGY2eazQ.js +0 -1
- package/dist/public/assets/_u8Grdxbq.js +0 -1
- package/dist/public/assets/_v4yKwLDL.js +0 -1
- package/dist/public/assets/_vk1QtrAJ.js +0 -1
- package/dist/public/assets/app-page-BH1eJtJY.css.br +0 -0
- package/dist/public/assets/files-view-BWUVbyE_.css.br +0 -0
- package/dist/public/assets/files-view-C6oE6Lfx.js +0 -2
- package/dist/public/assets/icon-go-to-file-CQy45Ytk.css +0 -1
- package/dist/public/assets/icon-go-to-file-CQy45Ytk.css.br +0 -0
- package/dist/public/assets/icon-search-B4XHh_CO.css.br +0 -0
- package/dist/public/assets/key-bar.css.ts-CY294iEQ.css +0 -1
- package/dist/public/assets/key-bar.css.ts-CY294iEQ.css.br +0 -0
- package/dist/public/assets/manage-workspace-B8JeSyar.js +0 -2
- package/dist/public/assets/modal-view-Dp-yH6Kp.css.br +0 -0
- package/dist/public/assets/new-C0tyNSk0.js +0 -1
- package/dist/public/assets/new-workspace-CPvtstbA.js +0 -2
- package/dist/public/assets/new-workspace-DQJ28GeD.css +0 -1
- package/dist/public/assets/new-workspace-DQJ28GeD.css.br +0 -0
- package/dist/public/assets/port-chip-COcJpxld.css +0 -1
- package/dist/public/assets/port-chip-COcJpxld.css.br +0 -0
- package/dist/public/assets/prompt-dialog-DZHelkFg.css +0 -1
- package/dist/public/assets/prompt-dialog-DZHelkFg.css.br +0 -0
- package/dist/public/assets/quick-open-D4Ti6tCj.css.br +0 -0
- package/dist/public/assets/repo-picker-D3Idu6QD.css +0 -1
- package/dist/public/assets/repo-picker-D3Idu6QD.css.br +0 -2
- package/dist/public/assets/review-view-A8lxTwiR.js +0 -2
- package/dist/public/assets/review-view-DyVGn3ET.css.br +0 -0
- package/dist/public/assets/section-Cy7IT4ed.css.br +0 -0
- package/dist/public/assets/settings-C0tyNSk0.js +0 -1
- package/dist/public/assets/settings-page-CkOwBPiA.css.br +0 -0
- package/dist/public/assets/settings-page-DAib5ZGj.js +0 -2
- package/dist/public/assets/w-C0tyNSk0.js +0 -1
- package/dist/public/assets/w._-0xd6gDBN.js +0 -1
- package/dist/public/assets/w._-BkNES9p7.js +0 -1
- package/dist/public/assets/w._-C0tyNSk0.js +0 -1
package/bin/work.mjs
CHANGED
|
@@ -696,68 +696,22 @@ function servicePath() {
|
|
|
696
696
|
return setupPath(path.dirname(process.execPath));
|
|
697
697
|
}
|
|
698
698
|
|
|
699
|
-
/** Argv
|
|
700
|
-
*
|
|
701
|
-
*
|
|
702
|
-
*
|
|
703
|
-
*
|
|
704
|
-
*
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
* for a caller that has none. That is the lingering user
|
|
710
|
-
* manager at boot, so the service cannot rely on it.
|
|
711
|
-
* idle org.freedesktop.login1.inhibit-block-idle is allow_any=yes,
|
|
712
|
-
* so this always works. It holds the system non-idle, which is
|
|
713
|
-
* what stops logind's IdleAction (and a desktop's idle-suspend)
|
|
714
|
-
* from ever firing.
|
|
715
|
-
*
|
|
716
|
-
* Idle alone is the honest target anyway — it matches `caffeinate -s`, and
|
|
717
|
-
* declining to veto a suspend the user deliberately asked for is correct.
|
|
718
|
-
* Taking the stronger one when it is allowed costs nothing, so try both. */
|
|
719
|
-
function awakePrefixes() {
|
|
720
|
-
if (process.platform === "darwin")
|
|
721
|
-
return have("caffeinate") ? [["/usr/bin/caffeinate", "-s"]] : [];
|
|
722
|
-
if (process.platform === "linux" && have("systemd-inhibit"))
|
|
723
|
-
return ["sleep:idle", "idle"].map((what) => [
|
|
724
|
-
"systemd-inhibit",
|
|
725
|
-
`--what=${what}`,
|
|
726
|
-
"--who=work",
|
|
727
|
-
"--why=work server is running",
|
|
728
|
-
"--mode=block",
|
|
729
|
-
]);
|
|
730
|
-
return [];
|
|
699
|
+
/** Argv prefix that keeps a Mac awake while the server runs. A suspended
|
|
700
|
+
* host is a dead host: agents keep running in tmux, but the machine stops
|
|
701
|
+
* answering, so remote sessions look hung until someone wakes it by hand.
|
|
702
|
+
* On Linux the server holds a logind inhibitor itself (src/server/awake.ts,
|
|
703
|
+
* `WORK_AWAKE=1` in the unit): wrapping it in `systemd-inhibit` would close
|
|
704
|
+
* the listening socket work.socket hands over. */
|
|
705
|
+
function awakePrefix() {
|
|
706
|
+
return process.platform === "darwin" && have("caffeinate")
|
|
707
|
+
? ["/usr/bin/caffeinate", "-s"]
|
|
708
|
+
: [];
|
|
731
709
|
}
|
|
732
710
|
|
|
733
|
-
/** systemd
|
|
734
|
-
*
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
* `systemd-inhibit` exits non-zero when polkit refuses — and since it is the
|
|
738
|
-
* unit's ExecStart, that failure takes the whole service down with it. A
|
|
739
|
-
* lingering manager at boot has no session, so the sleep block is refused
|
|
740
|
-
* every time and `Restart=always` retries forever; the server would only come
|
|
741
|
-
* up once someone logged in, defeating the unattended start
|
|
742
|
-
* `loginctl enable-linger` exists to guarantee. Falling through to the
|
|
743
|
-
* ungated idle block keeps the machine awake anyway, and running bare is
|
|
744
|
-
* still better than not running. */
|
|
745
|
-
function serviceExecStart(candidates, argv) {
|
|
746
|
-
// systemd splits on whitespace, so quote any argument containing it.
|
|
747
|
-
const unit = (parts) =>
|
|
748
|
-
parts.map((a) => (a.includes(" ") ? `"${a}"` : a)).join(" ");
|
|
749
|
-
if (!candidates.length) return unit(argv);
|
|
750
|
-
const shq = (a) => `'${a.replace(/'/g, `'\\''`)}'`;
|
|
751
|
-
const cmd = argv.map(shq).join(" ");
|
|
752
|
-
// Each probe takes and drops an inhibitor around `true`; if that is allowed
|
|
753
|
-
// the real one will be too.
|
|
754
|
-
const script = candidates
|
|
755
|
-
.map((c) => {
|
|
756
|
-
const inh = c.map(shq).join(" ");
|
|
757
|
-
return `if ${inh} true 2>/dev/null; then exec ${inh} ${cmd}; fi; `;
|
|
758
|
-
})
|
|
759
|
-
.join("");
|
|
760
|
-
return `/bin/sh -c "${script}exec ${cmd}"`;
|
|
711
|
+
/** An argv as one systemd ExecStart line: systemd splits on whitespace, so
|
|
712
|
+
* any argument containing it is quoted. */
|
|
713
|
+
function unitCommand(argv) {
|
|
714
|
+
return argv.map((a) => (a.includes(" ") ? `"${a}"` : a)).join(" ");
|
|
761
715
|
}
|
|
762
716
|
|
|
763
717
|
/** Where installService() writes the service definition — also the store we
|
|
@@ -892,6 +846,20 @@ function pidsListening(port) {
|
|
|
892
846
|
return [...new Set(pids)];
|
|
893
847
|
}
|
|
894
848
|
|
|
849
|
+
/** Listeners on the port that are servers, not the service manager: with
|
|
850
|
+
* work.socket the port is held by systemd itself, which a leftover sweep
|
|
851
|
+
* must never signal. */
|
|
852
|
+
function serverPidsListening(port) {
|
|
853
|
+
return pidsListening(port).filter((pid) => {
|
|
854
|
+
try {
|
|
855
|
+
return fs.readFileSync(`/proc/${pid}/comm`, "utf8").trim() !== "systemd";
|
|
856
|
+
} catch {
|
|
857
|
+
// No /proc (macOS): launchd holds no socket for work.
|
|
858
|
+
return true;
|
|
859
|
+
}
|
|
860
|
+
});
|
|
861
|
+
}
|
|
862
|
+
|
|
895
863
|
function workServerPids() {
|
|
896
864
|
const out = spawnSync("ps", ["-ax", "-o", "pid=,command="], {
|
|
897
865
|
encoding: "utf8",
|
|
@@ -953,13 +921,13 @@ function stopOldCopies(port) {
|
|
|
953
921
|
stdio: "ignore",
|
|
954
922
|
});
|
|
955
923
|
}
|
|
956
|
-
const seen = new Set([...
|
|
924
|
+
const seen = new Set([...serverPidsListening(port), ...workServerPids()]);
|
|
957
925
|
if (seen.size) {
|
|
958
926
|
log(`stopping ${seen.size} leftover work process(es)`);
|
|
959
927
|
killPids(seen, "SIGTERM");
|
|
960
928
|
spawnSync("sleep", ["0.4"], { stdio: "ignore" });
|
|
961
929
|
}
|
|
962
|
-
killPids(
|
|
930
|
+
killPids(serverPidsListening(port), "SIGKILL");
|
|
963
931
|
}
|
|
964
932
|
|
|
965
933
|
/** Wait for the service to answer before we tell anyone it is up. Both
|
|
@@ -992,10 +960,8 @@ function installService() {
|
|
|
992
960
|
// PORT handling, so no awake prefix is layered on top.
|
|
993
961
|
const execOverride = process.env.WORK_SERVICE_EXEC;
|
|
994
962
|
const target = execOverride ? [execOverride] : [cliPath, "start"];
|
|
995
|
-
const awake = execOverride ? [] :
|
|
996
|
-
|
|
997
|
-
// the first candidate is simply used.
|
|
998
|
-
const startArgs = [...(awake[0] || []), ...target];
|
|
963
|
+
const awake = execOverride ? [] : awakePrefix();
|
|
964
|
+
const startArgs = [...awake, ...target];
|
|
999
965
|
if (process.platform === "darwin") {
|
|
1000
966
|
const plist = serviceFile();
|
|
1001
967
|
fs.mkdirSync(path.dirname(plist), { recursive: true });
|
|
@@ -1076,11 +1042,32 @@ ${envXml}
|
|
|
1076
1042
|
const envLines = Object.entries(serviceEnv())
|
|
1077
1043
|
.map(([k, v]) => `Environment=${k}=${v}`)
|
|
1078
1044
|
.join("\n");
|
|
1079
|
-
const execStart =
|
|
1045
|
+
const execStart = unitCommand(target);
|
|
1046
|
+
// The port is held by work.socket, not the server: a restart swaps the
|
|
1047
|
+
// process behind a socket that never closes, so a connection made
|
|
1048
|
+
// meanwhile waits instead of being refused (a reverse proxy took one
|
|
1049
|
+
// refusal for the server being down, for half a minute).
|
|
1050
|
+
const socketFile = path.join(unitDir, "work.socket");
|
|
1051
|
+
const socketUnit = `[Unit]
|
|
1052
|
+
Description=work, agentic dev workspace GUI (its port, held across restarts)
|
|
1053
|
+
|
|
1054
|
+
[Socket]
|
|
1055
|
+
ListenStream=${port}
|
|
1056
|
+
|
|
1057
|
+
[Install]
|
|
1058
|
+
WantedBy=sockets.target
|
|
1059
|
+
`;
|
|
1060
|
+
let socketChanged = true;
|
|
1061
|
+
try {
|
|
1062
|
+
socketChanged = fs.readFileSync(socketFile, "utf8") !== socketUnit;
|
|
1063
|
+
} catch {}
|
|
1064
|
+
fs.writeFileSync(socketFile, socketUnit);
|
|
1080
1065
|
fs.writeFileSync(
|
|
1081
1066
|
unitFile,
|
|
1082
1067
|
`[Unit]
|
|
1083
1068
|
Description=work, agentic dev workspace GUI
|
|
1069
|
+
Requires=work.socket
|
|
1070
|
+
After=work.socket
|
|
1084
1071
|
# Keep retrying forever: hitting the default start limit parks the unit in
|
|
1085
1072
|
# failed state, which is the manual-restart hole we are closing.
|
|
1086
1073
|
StartLimitIntervalSec=0
|
|
@@ -1093,20 +1080,35 @@ ExecStart=${execStart}
|
|
|
1093
1080
|
Restart=always
|
|
1094
1081
|
RestartSec=2
|
|
1095
1082
|
${envLines}
|
|
1096
|
-
|
|
1083
|
+
${execOverride ? "" : "Environment=WORK_AWAKE=1\n"}
|
|
1097
1084
|
[Install]
|
|
1098
1085
|
WantedBy=default.target
|
|
1099
1086
|
`,
|
|
1100
1087
|
);
|
|
1101
1088
|
log("installing systemd user service");
|
|
1102
1089
|
sh("systemctl", ["--user", "daemon-reload"]);
|
|
1103
|
-
sh("systemctl", ["--user", "enable", "work.service"]);
|
|
1090
|
+
sh("systemctl", ["--user", "enable", "work.socket", "work.service"]);
|
|
1091
|
+
// Rebinding (a new port, or the first install) is the one restart that
|
|
1092
|
+
// closes the port; otherwise the socket stays up and only the process
|
|
1093
|
+
// behind it is replaced.
|
|
1094
|
+
if (
|
|
1095
|
+
socketChanged ||
|
|
1096
|
+
spawnSync("systemctl", ["--user", "is-active", "--quiet", "work.socket"])
|
|
1097
|
+
.status !== 0
|
|
1098
|
+
) {
|
|
1099
|
+
spawnSync("systemctl", ["--user", "stop", "work.service"], {
|
|
1100
|
+
stdio: "ignore",
|
|
1101
|
+
});
|
|
1102
|
+
sh("systemctl", ["--user", "restart", "work.socket"]);
|
|
1103
|
+
}
|
|
1104
1104
|
sh("systemctl", ["--user", "restart", "work.service"]);
|
|
1105
1105
|
// Survive logout (best-effort; may need sudo on some systems).
|
|
1106
1106
|
spawnSync("loginctl", ["enable-linger", os.userInfo().username], {
|
|
1107
1107
|
stdio: "ignore",
|
|
1108
1108
|
});
|
|
1109
|
-
log(
|
|
1109
|
+
log(
|
|
1110
|
+
"manage with: systemctl --user {status,restart} work.service (stop: systemctl --user stop work.socket work.service)",
|
|
1111
|
+
);
|
|
1110
1112
|
return true;
|
|
1111
1113
|
}
|
|
1112
1114
|
|