@dylanpiercey/work 0.2.38 → 0.2.40
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 +9 -6
- package/bin/cli/_target.mjs +45 -10
- package/bin/cli/notify.mjs +1 -1
- package/bin/cli/open.mjs +1 -1
- package/bin/work.mjs +16 -6
- package/dist/{_CHS_YMK8.js → _BCA_8m9y.js} +72 -72
- package/dist/{_Ca_OVNVt.js → _D4k_lVuT.js} +1 -1
- package/dist/_DDikKLG_.js +2 -0
- package/dist/{_C65JTOIi.js → _DuADlWik.js} +42 -5
- package/dist/_ENqPMLjD.js +2 -0
- package/dist/index.mjs +664 -610
- package/dist/public/assets/{_Dx4SX3Ca.js → _-xt24cB6.js} +1 -1
- package/dist/public/assets/_-xt24cB6.js.br +0 -0
- package/dist/public/assets/_2QPoK4uC.js +1 -0
- package/dist/public/assets/{_C-pdEl9H.js → _3H-FzM6j.js} +1 -1
- package/dist/public/assets/_3H-FzM6j.js.br +0 -0
- package/dist/public/assets/_4M7qpSou.js +1 -0
- package/dist/public/assets/{_C-AAYVXm.js → _5oPLlqRj.js} +6 -6
- package/dist/public/assets/_5oPLlqRj.js.br +0 -0
- package/dist/public/assets/_65v84Eey.js +1 -0
- package/dist/public/assets/{_D8O5eIU5.js → _6Hx8zr_s.js} +1 -1
- package/dist/public/assets/_6Hx8zr_s.js.br +0 -0
- package/dist/public/assets/{_CAdCDwUM.js → _9UY3GGDx.js} +1 -1
- package/dist/public/assets/_9UY3GGDx.js.br +0 -0
- package/dist/public/assets/{_BvNeAIAw.js → _AIWDaFbX.js} +1 -1
- package/dist/public/assets/_AIWDaFbX.js.br +0 -0
- package/dist/public/assets/{_CcwtHAX8.js → _AXQAcwHe.js} +1 -1
- package/dist/public/assets/_AXQAcwHe.js.br +0 -0
- package/dist/public/assets/_B10_Ccu5.js +1 -0
- package/dist/public/assets/_B3pMrdu9.js +1 -0
- package/dist/public/assets/{_CVwX3PKI.js → _B4QEUVUx.js} +1 -1
- package/dist/public/assets/_B4QEUVUx.js.br +0 -0
- package/dist/public/assets/_B8LaleYJ.js +1 -0
- package/dist/public/assets/{_BwpfLn81.js → _B9HOtQFK.js} +1 -1
- package/dist/public/assets/_B9HOtQFK.js.br +0 -0
- package/dist/public/assets/{_T-WXenDh.js → _B9t5z7OE.js} +1 -1
- package/dist/public/assets/_B9t5z7OE.js.br +0 -0
- package/dist/public/assets/_BAZd2F0T.js +1 -0
- package/dist/public/assets/{_CqlfuhaH.js → _BEH9W5rk.js} +1 -1
- package/dist/public/assets/_BEH9W5rk.js.br +0 -0
- package/dist/public/assets/{_B2JaiOzM.js → _BL2JDtIA.js} +1 -1
- package/dist/public/assets/_BL2JDtIA.js.br +0 -0
- package/dist/public/assets/_BLvWxq71.js +1 -0
- package/dist/public/assets/_BNRbbSIn.js +1 -0
- package/dist/public/assets/{_DbB4cL-n.js → _BNvuxbm-.js} +1 -1
- package/dist/public/assets/_BNvuxbm-.js.br +0 -0
- package/dist/public/assets/{_BcFZRZJL.js → _BOQKc7E9.js} +1 -1
- package/dist/public/assets/_BOQKc7E9.js.br +0 -0
- package/dist/public/assets/{_DRyYnmyt.js → _BPfDSl_X.js} +1 -1
- package/dist/public/assets/_BPfDSl_X.js.br +0 -0
- package/dist/public/assets/_BTRee_2x.js +1 -0
- package/dist/public/assets/{_D1haaDwQ.js → _BU2KJ55d.js} +1 -1
- package/dist/public/assets/_BU2KJ55d.js.br +0 -0
- package/dist/public/assets/{_Rv15Vzpw.js → _BV0bkNYW.js} +1 -1
- package/dist/public/assets/_BV0bkNYW.js.br +0 -0
- package/dist/public/assets/_BV_3prW2.js +1 -0
- package/dist/public/assets/{_CKUFfLpm.js → _BX6jp_wv.js} +9 -9
- package/dist/public/assets/_BX6jp_wv.js.br +0 -0
- package/dist/public/assets/_BY83kySA.js +1 -0
- package/dist/public/assets/_B_c67c-8.js +1 -0
- package/dist/public/assets/_Bb2sDJvS.js +1 -0
- package/dist/public/assets/_BfUsF1rX.js +1 -0
- package/dist/public/assets/{_BsdqqTPW.js → _Bfc9kc3-.js} +1 -1
- package/dist/public/assets/{_CLdzbsrz.js → _Bfgao9fC.js} +1 -1
- package/dist/public/assets/_Bfgao9fC.js.br +0 -0
- package/dist/public/assets/{_CaqL11yy.js → _BfvriceI.js} +1 -1
- package/dist/public/assets/_BfvriceI.js.br +0 -0
- package/dist/public/assets/_Bg74ltIM.js +1 -0
- package/dist/public/assets/{_D_kJsjwI.js → _Bho4pN5V.js} +1 -1
- package/dist/public/assets/_Bho4pN5V.js.br +0 -0
- package/dist/public/assets/{_BMEEjjfv.js → _BiHefuKV.js} +1 -1
- package/dist/public/assets/_BiHefuKV.js.br +0 -0
- package/dist/public/assets/_Bkj1_Dr2.js +1 -0
- package/dist/public/assets/{_WFiGVWwd.js → _Bko_1adv.js} +1 -1
- package/dist/public/assets/_Bko_1adv.js.br +0 -0
- package/dist/public/assets/_BlWGIxyz.js +1 -0
- package/dist/public/assets/{_-FoaibiG.js → _BldFprQa.js} +1 -1
- package/dist/public/assets/_BldFprQa.js.br +0 -0
- package/dist/public/assets/{_D3MexB9v.js → _BmFtbSox.js} +1 -1
- package/dist/public/assets/_BmFtbSox.js.br +0 -0
- package/dist/public/assets/_Bppa_Ryd.js +1 -0
- package/dist/public/assets/{_Dz7OHR2k.js → _Bt3V8dJp.js} +1 -1
- package/dist/public/assets/_Bt3V8dJp.js.br +0 -0
- package/dist/public/assets/{_DOtLi2ws.js → _BtlNg4wH.js} +1 -1
- package/dist/public/assets/_BtlNg4wH.js.br +0 -0
- package/dist/public/assets/{_BTe2hdFU.js → _Bvb8k3Ut.js} +1 -1
- package/dist/public/assets/_Bvb8k3Ut.js.br +0 -0
- package/dist/public/assets/{_CDCKmwwE.js → _ByxHsHjq.js} +1 -1
- package/dist/public/assets/_ByxHsHjq.js.br +0 -0
- package/dist/public/assets/{_DIsl6-x7.js → _C-ztk4Gt.js} +1 -1
- package/dist/public/assets/_C-ztk4Gt.js.br +0 -0
- package/dist/public/assets/{_DO2ZhOAY.js → _C1MVprDU.js} +1 -1
- package/dist/public/assets/_C1MVprDU.js.br +0 -0
- package/dist/public/assets/_C2KbYoEP.js +1 -0
- package/dist/public/assets/_C2lbzaH3.js +1 -0
- package/dist/public/assets/{_C_EUl_jj.js → _C3U16pxk.js} +1 -1
- package/dist/public/assets/_C3U16pxk.js.br +0 -0
- package/dist/public/assets/_C3uu-DK8.js +1 -0
- package/dist/public/assets/{_CgCRY6Wr.js → _C68OfhhO.js} +1 -1
- package/dist/public/assets/_C68OfhhO.js.br +0 -0
- package/dist/public/assets/{_CPEbH77l.js → _C7TtpzAW.js} +1 -1
- package/dist/public/assets/_C7TtpzAW.js.br +0 -0
- package/dist/public/assets/{_DgvY2m9A.js → _C7raUThi.js} +1 -1
- package/dist/public/assets/_C7raUThi.js.br +0 -0
- package/dist/public/assets/{_CE8BJSRE.js → _C9HotwgZ.js} +1 -1
- package/dist/public/assets/_C9HotwgZ.js.br +0 -0
- package/dist/public/assets/{_BMQX18KA.js → _CAJCZOtv.js} +1 -1
- package/dist/public/assets/_CAJCZOtv.js.br +0 -0
- package/dist/public/assets/_CB8zO5nz.js +1 -0
- package/dist/public/assets/_CBa8NDHo.js +1 -0
- package/dist/public/assets/_CFaOKXvN.js +1 -0
- package/dist/public/assets/{_Dp6J_KbS.js → _CGnaF6Sm.js} +1 -1
- package/dist/public/assets/_CGnaF6Sm.js.br +0 -0
- package/dist/public/assets/{_D4deJ4x0.js → _CJnPM9JD.js} +4 -4
- package/dist/public/assets/_CJnPM9JD.js.br +0 -0
- package/dist/public/assets/_CKBsVYsF.js +1 -0
- package/dist/public/assets/{_u39G7Hfi.js → _CP72FM8v.js} +2 -2
- package/dist/public/assets/_CP72FM8v.js.br +0 -0
- package/dist/public/assets/_CT-XMZP-.js +1 -0
- package/dist/public/assets/_CTJaX-zT.js +1 -0
- package/dist/public/assets/_CUJRs0zs.js +1 -0
- package/dist/public/assets/{_CllXob1U.js → _CY4SGKEk.js} +1 -1
- package/dist/public/assets/_CY4SGKEk.js.br +0 -0
- package/dist/public/assets/{_BhKdX-rj.js → _CY_Gyv6m.js} +1 -1
- package/dist/public/assets/_CY_Gyv6m.js.br +0 -0
- package/dist/public/assets/_C_AN7JsF.js +1 -0
- package/dist/public/assets/{_CfAMRtWv.js → _C_koIK_g.js} +1 -1
- package/dist/public/assets/_C_koIK_g.js.br +0 -0
- package/dist/public/assets/{_BH68xkbP.js → _Cbc0dwer.js} +1 -1
- package/dist/public/assets/_Cbc0dwer.js.br +0 -0
- package/dist/public/assets/{_DGRvzDB6.js → _CdixnSBK.js} +1 -1
- package/dist/public/assets/_CdplgzT2.js +1 -0
- package/dist/public/assets/{_DGYxrtBF.js → _CftTyjd8.js} +1 -1
- package/dist/public/assets/{_DGYxrtBF.js.br → _CftTyjd8.js.br} +0 -0
- package/dist/public/assets/_CgG2WqLI.js +1 -0
- package/dist/public/assets/{_DSI0vwsb.js → _Cgv4Cy7Z.js} +1 -1
- package/dist/public/assets/_Cgv4Cy7Z.js.br +0 -0
- package/dist/public/assets/{_myA0xLli.js → _Ch3oeOpY.js} +1 -1
- package/dist/public/assets/_Ch3oeOpY.js.br +0 -0
- package/dist/public/assets/{_D05YE_WT.js → _Ck-NcBor.js} +1 -1
- package/dist/public/assets/_Ck-NcBor.js.br +0 -0
- package/dist/public/assets/{_DOD7OVQl.js → _ClA7jm5y.js} +1 -1
- package/dist/public/assets/_ClA7jm5y.js.br +0 -0
- package/dist/public/assets/{_CROiBVo-.js → _ClOuduDB.js} +1 -1
- package/dist/public/assets/_ClOuduDB.js.br +0 -0
- package/dist/public/assets/{_CWespSd8.js → _Cm5UUk-8.js} +1 -1
- package/dist/public/assets/_Cm5UUk-8.js.br +0 -0
- package/dist/public/assets/{_CGsyxRkh.js → _CmjRnFwT.js} +1 -1
- package/dist/public/assets/_CmjRnFwT.js.br +0 -0
- package/dist/public/assets/_Cn0ezFFg.js +16 -0
- package/dist/public/assets/_Cn0ezFFg.js.br +0 -0
- package/dist/public/assets/{_g1-FS7Df.js → _CnGcp5Lt.js} +1 -1
- package/dist/public/assets/_CnGcp5Lt.js.br +0 -0
- package/dist/public/assets/_CnU_a5Pz.js +1 -0
- package/dist/public/assets/_CnVtRfoh.js +1 -0
- package/dist/public/assets/_CpTFnc4O.js +1 -0
- package/dist/public/assets/{_vow_06MT.js → _CpVSVQZP.js} +1 -1
- package/dist/public/assets/_CpVSVQZP.js.br +0 -0
- package/dist/public/assets/{_BoBCpx2o.js → _CqC6oyCs.js} +1 -1
- package/dist/public/assets/_CqC6oyCs.js.br +0 -0
- package/dist/public/assets/{_Dw3MtUmB.js → _CqqBjspX.js} +1 -1
- package/dist/public/assets/_CqqBjspX.js.br +0 -0
- package/dist/public/assets/{_CRVsJE1P.js → _CsWHkvwT.js} +1 -1
- package/dist/public/assets/_CsWHkvwT.js.br +0 -0
- package/dist/public/assets/_CwMrUy9h.js +1 -0
- package/dist/public/assets/{_DDBLZL8c.js → _D-D2Sca2.js} +1 -1
- package/dist/public/assets/_D-D2Sca2.js.br +0 -0
- package/dist/public/assets/{_DRJPSMMR.js → _D-L-5YAM.js} +1 -1
- package/dist/public/assets/_D-L-5YAM.js.br +0 -0
- package/dist/public/assets/{_C5SvBtrC.js → _D0DIamBR.js} +1 -1
- package/dist/public/assets/_D0DIamBR.js.br +0 -0
- package/dist/public/assets/{_Bz255SNE.js → _D3r2RL4t.js} +1 -1
- package/dist/public/assets/_D3r2RL4t.js.br +0 -0
- package/dist/public/assets/_D42DSreQ.js +1 -0
- package/dist/public/assets/_D7H9w6Py.js +1 -0
- package/dist/public/assets/{_BzgCR7_b.js → _D8trxBDF.js} +1 -1
- package/dist/public/assets/_D8trxBDF.js.br +0 -0
- package/dist/public/assets/_DCnjcJpY.js +1 -0
- package/dist/public/assets/_DD-VwS7y.js +1 -0
- package/dist/public/assets/_DD6yw760.js +1 -0
- package/dist/public/assets/_DEHXzf1H.js +1 -0
- package/dist/public/assets/{_BJZAqTIS.js → _DHK4J_yg.js} +1 -1
- package/dist/public/assets/_DHK4J_yg.js.br +0 -0
- package/dist/public/assets/{_addZLFo9.js → _DIYoftFu.js} +1 -1
- package/dist/public/assets/_DIYoftFu.js.br +0 -0
- package/dist/public/assets/{_C2_MGoE2.js → _DKUf5cGa.js} +2 -2
- package/dist/public/assets/_DKUf5cGa.js.br +0 -0
- package/dist/public/assets/{_CPUrkvFV.js → _DN2bhuX5.js} +1 -1
- package/dist/public/assets/_DN2bhuX5.js.br +0 -0
- package/dist/public/assets/_DNJUSdOk.js +1 -0
- package/dist/public/assets/{_CYm3kPXD.js → _DNy2MoKM.js} +1 -1
- package/dist/public/assets/_DNy2MoKM.js.br +0 -0
- package/dist/public/assets/_DQIrgN4k.js +1 -0
- package/dist/public/assets/{_1KVFqvou.js → _DQRSCk2F.js} +1 -1
- package/dist/public/assets/_DQRSCk2F.js.br +0 -0
- package/dist/public/assets/{_Bnl6Usl6.js → _DRvfajkC.js} +1 -1
- package/dist/public/assets/_DRvfajkC.js.br +0 -0
- package/dist/public/assets/{_CC2LRwIy.js → _DV2bAFNg.js} +1 -1
- package/dist/public/assets/_DV2bAFNg.js.br +0 -0
- package/dist/public/assets/{_NDErTU55.js → _DVBAwKVR.js} +1 -1
- package/dist/public/assets/_DVBAwKVR.js.br +0 -0
- package/dist/public/assets/{_CQYcb9FU.js → _DVMQyUQJ.js} +1 -1
- package/dist/public/assets/_DVMQyUQJ.js.br +0 -0
- package/dist/public/assets/_DVp1-q02.js +1 -0
- package/dist/public/assets/{_ag0PzDtm.js → _DW8mxdKH.js} +1 -1
- package/dist/public/assets/_DW8mxdKH.js.br +0 -0
- package/dist/public/assets/_DWRN9t29.js +1 -0
- package/dist/public/assets/_DWT2_f5R.js +1 -0
- package/dist/public/assets/_DZtGWb7t.js +1 -0
- package/dist/public/assets/{_BgD4m9QA.js → _DZyptekm.js} +1 -1
- package/dist/public/assets/_Da09wu4L.js +1 -0
- package/dist/public/assets/{_Dg7kepAd.js → _Dcao7-GN.js} +1 -1
- package/dist/public/assets/_Dcao7-GN.js.br +0 -0
- package/dist/public/assets/_Ddnd1yO1.js +1 -0
- package/dist/public/assets/_DgrU06P7.js +1 -0
- package/dist/public/assets/{_BnWaOo8-.js → _DjX-J-5G.js} +1 -1
- package/dist/public/assets/_DjX-J-5G.js.br +0 -0
- package/dist/public/assets/_DjovOG5I.js +1 -0
- package/dist/public/assets/{_ji7mS_dq.js → _Dkv0yw2w.js} +1 -1
- package/dist/public/assets/_Dkv0yw2w.js.br +0 -0
- package/dist/public/assets/{_CM5IkGwP.js → _DmWMoSv1.js} +1 -1
- package/dist/public/assets/_DmWMoSv1.js.br +0 -0
- package/dist/public/assets/_Dm_3kSDD.js +1 -0
- package/dist/public/assets/_Do8dsKhP.js +1 -0
- package/dist/public/assets/_DowTc_NG.js +1 -0
- package/dist/public/assets/_DpQoMAZO.js +1 -0
- package/dist/public/assets/_DpzJFlTs.js +1 -0
- package/dist/public/assets/_Ds0FiPaF.js +1 -0
- package/dist/public/assets/{_C3DRxKJ1.js → _DthwYqUP.js} +1 -1
- package/dist/public/assets/_DthwYqUP.js.br +0 -0
- package/dist/public/assets/{_Enp2Gr5h.js → _Dtx23QI5.js} +1 -1
- package/dist/public/assets/_Dtx23QI5.js.br +0 -0
- package/dist/public/assets/{_BEnaZa0j.js → _DuCqBf6Y.js} +1 -1
- package/dist/public/assets/_DuCqBf6Y.js.br +0 -0
- package/dist/public/assets/{_DVRH2CYK.js → _DvArUzc0.js} +1 -1
- package/dist/public/assets/{__eAclg0z.js → _Dx-9-Sy_.js} +1 -1
- package/dist/public/assets/_Dx-9-Sy_.js.br +0 -0
- package/dist/public/assets/_Dx-xUggM.js +1 -0
- package/dist/public/assets/_Dx61rucB.js +1 -0
- package/dist/public/assets/_DzeI6vGo.js +1 -0
- package/dist/public/assets/{_CVFwOHgX.js → _FMOctYMW.js} +1 -1
- package/dist/public/assets/_FMOctYMW.js.br +0 -0
- package/dist/public/assets/_IMv1gu0W.js +1 -0
- package/dist/public/assets/{_BXXJk9NS.js → _Lgyuucwe.js} +1 -1
- package/dist/public/assets/_Lgyuucwe.js.br +0 -0
- package/dist/public/assets/_OfarPqMF.js +1 -0
- package/dist/public/assets/_PNG0OnBn.js +1 -0
- package/dist/public/assets/_Pp1od959.js +1 -0
- package/dist/public/assets/{_CYrWMAX2.js → _QSufHoZj.js} +1 -1
- package/dist/public/assets/_QSufHoZj.js.br +0 -0
- package/dist/public/assets/_Srj1J866.js +1 -0
- package/dist/public/assets/{_06pjZa4f.js → _SrvPETNL.js} +1 -1
- package/dist/public/assets/_SrvPETNL.js.br +0 -0
- package/dist/public/assets/_UZz8tEtA.js +1 -0
- package/dist/public/assets/{_Eneb6D-q.js → _Uv9A08DD.js} +1 -1
- package/dist/public/assets/_Uv9A08DD.js.br +0 -0
- package/dist/public/assets/_VlRjk16k.js +1 -0
- package/dist/public/assets/{_Di0HUCie.js → _YiTz3Wtq.js} +1 -1
- package/dist/public/assets/_YiTz3Wtq.js.br +0 -0
- package/dist/public/assets/_Yk8d7pzu.js +1 -0
- package/dist/public/assets/{_DysbZv8j.js → __yFiQHxx.js} +1 -1
- package/dist/public/assets/__yFiQHxx.js.br +0 -0
- package/dist/public/assets/_aJUtKbcc.js +1 -0
- package/dist/public/assets/{_DzaAUrO6.js → _aKw_G6JV.js} +1 -1
- package/dist/public/assets/_aKw_G6JV.js.br +0 -0
- package/dist/public/assets/{_PNcL1Txq.js → _d2HSnncX.js} +1 -1
- package/dist/public/assets/_i-8Qs6z9.js +1 -0
- package/dist/public/assets/_iPKBMcV3.js +1 -0
- package/dist/public/assets/{_dzQZD9Oh.js → _iYju-q2Q.js} +1 -1
- package/dist/public/assets/_l2ElItM2.js +1 -0
- package/dist/public/assets/_mJQTVGZ7.js +1 -0
- package/dist/public/assets/_miY5dAU1.js +1 -0
- package/dist/public/assets/{_29z_l4I7.js → _n5A3k8ml.js} +1 -1
- package/dist/public/assets/_n5A3k8ml.js.br +0 -0
- package/dist/public/assets/_o6O_aS5V.js +1 -0
- package/dist/public/assets/_pJ03YFJb.js +1 -0
- package/dist/public/assets/{_BDksixbx.js → _so3EBQ6I.js} +1 -1
- package/dist/public/assets/_so3EBQ6I.js.br +0 -0
- package/dist/public/assets/_tJJzLn1F.js +1 -0
- package/dist/public/assets/_tvMsb8o0.js +1 -0
- package/dist/public/assets/_u4tUSte0.js +1 -0
- package/dist/public/assets/{_CW27Fq-q.js → _vS7eEdD2.js} +5 -5
- package/dist/public/assets/_vS7eEdD2.js.br +0 -0
- package/dist/public/assets/{_WiZYGw70.js → _wTrAVeP2.js} +1 -1
- package/dist/public/assets/_wTrAVeP2.js.br +0 -0
- package/dist/public/assets/{_DtIBeeFy.js → _xGyy2F1F.js} +1 -1
- package/dist/public/assets/_xGyy2F1F.js.br +0 -0
- package/dist/public/assets/files-view-CQ8lPxty.js +2 -0
- package/dist/public/assets/manage-workspace-BsYbS9A2.js +2 -0
- package/dist/public/assets/new-AtUYpCeI.js +1 -0
- package/dist/public/assets/new-workspace-BsRBtT71.js +2 -0
- package/dist/public/assets/review-view-BkNNP2d-.js +2 -0
- package/dist/public/assets/settings-AtUYpCeI.js +1 -0
- package/dist/public/assets/settings-page-1J8x4J9R.js +2 -0
- package/dist/public/assets/{styles-Bj8QV6wc.css → styles-BCjsk_jt.css} +1 -1
- package/dist/public/assets/styles-BCjsk_jt.css.br +0 -0
- package/dist/public/assets/w-AtUYpCeI.js +1 -0
- package/dist/public/assets/w._-AtUYpCeI.js +1 -0
- package/dist/public/assets/w._-BR2iS1Cp.js +1 -0
- package/dist/public/assets/w._-Dk-zPONB.js +1 -0
- package/lib/setup/firewall.d.mts +14 -0
- package/lib/setup/firewall.mjs +33 -2
- package/package.json +1 -1
- package/dist/_B2zjDgtj.js +0 -2
- package/dist/_o6JmtS1w.js +0 -2
- package/dist/public/assets/_-FoaibiG.js.br +0 -0
- package/dist/public/assets/_-dEw8WLo.js +0 -1
- package/dist/public/assets/_05c_9Xca.js +0 -1
- package/dist/public/assets/_06pjZa4f.js.br +0 -0
- package/dist/public/assets/_1KVFqvou.js.br +0 -0
- package/dist/public/assets/_29z_l4I7.js.br +0 -0
- package/dist/public/assets/_2C9fIfEp.js +0 -1
- package/dist/public/assets/_2SgMjfmD.js +0 -1
- package/dist/public/assets/_7jPAf-Xp.js +0 -1
- package/dist/public/assets/_9o5zFDjX.js +0 -1
- package/dist/public/assets/_B-Y2fjUq.js +0 -1
- package/dist/public/assets/_B0-Z8x64.js +0 -1
- package/dist/public/assets/_B2JaiOzM.js.br +0 -0
- package/dist/public/assets/_B6SMDIAY.js +0 -1
- package/dist/public/assets/_B8Uovtij.js +0 -1
- package/dist/public/assets/_BB6LbdxF.js +0 -1
- package/dist/public/assets/_BDksixbx.js.br +0 -0
- package/dist/public/assets/_BEnaZa0j.js.br +0 -0
- package/dist/public/assets/_BH68xkbP.js.br +0 -0
- package/dist/public/assets/_BI4yi1wm.js +0 -1
- package/dist/public/assets/_BJZAqTIS.js.br +0 -0
- package/dist/public/assets/_BMEEjjfv.js.br +0 -0
- package/dist/public/assets/_BMQX18KA.js.br +0 -0
- package/dist/public/assets/_BQPbdntK.js +0 -1
- package/dist/public/assets/_BQU9g_Zx.js +0 -1
- package/dist/public/assets/_BRyiRgtA.js +0 -1
- package/dist/public/assets/_BSppisAf.js +0 -1
- package/dist/public/assets/_BTe2hdFU.js.br +0 -0
- package/dist/public/assets/_BVyIUxnT.js +0 -1
- package/dist/public/assets/_BXXJk9NS.js.br +0 -0
- package/dist/public/assets/_BcFZRZJL.js.br +0 -0
- package/dist/public/assets/_BfuhALf0.js +0 -1
- package/dist/public/assets/_BgaZmQnf.js +0 -1
- package/dist/public/assets/_BhKdX-rj.js.br +0 -0
- package/dist/public/assets/_BiZJo433.js +0 -1
- package/dist/public/assets/_BjFAa_QC.js +0 -1
- package/dist/public/assets/_BldoGM89.js +0 -1
- package/dist/public/assets/_BnWaOo8-.js.br +0 -0
- package/dist/public/assets/_Bnl6Usl6.js.br +0 -0
- package/dist/public/assets/_BoBCpx2o.js.br +0 -0
- package/dist/public/assets/_BoBH0Btd.js +0 -1
- package/dist/public/assets/_BpGoVByg.js +0 -1
- package/dist/public/assets/_Bpv5KbFA.js +0 -1
- package/dist/public/assets/_BtrpLVUw.js +0 -1
- package/dist/public/assets/_Bv4nOvz-.js +0 -1
- package/dist/public/assets/_BvNeAIAw.js.br +0 -0
- package/dist/public/assets/_BwpfLn81.js.br +0 -0
- package/dist/public/assets/_By8A2kLR.js +0 -1
- package/dist/public/assets/_Bz255SNE.js.br +0 -0
- package/dist/public/assets/_BzgCR7_b.js.br +0 -0
- package/dist/public/assets/_C-AAYVXm.js.br +0 -0
- package/dist/public/assets/_C-Kh2F99.js +0 -1
- package/dist/public/assets/_C-pdEl9H.js.br +0 -0
- package/dist/public/assets/_C0BhogaT.js +0 -1
- package/dist/public/assets/_C1Tn2FN6.js +0 -1
- package/dist/public/assets/_C2_MGoE2.js.br +0 -0
- package/dist/public/assets/_C3DRxKJ1.js.br +0 -0
- package/dist/public/assets/_C5SvBtrC.js.br +0 -0
- package/dist/public/assets/_C94-23iW.js +0 -1
- package/dist/public/assets/_CAXc9HNe.js +0 -1
- package/dist/public/assets/_CAdCDwUM.js.br +0 -0
- package/dist/public/assets/_CAvhSGfs.js +0 -1
- package/dist/public/assets/_CB1rEIOF.js +0 -1
- package/dist/public/assets/_CC2LRwIy.js.br +0 -0
- package/dist/public/assets/_CCrdAHBd.js +0 -1
- package/dist/public/assets/_CDCKmwwE.js.br +0 -0
- package/dist/public/assets/_CDTe63n7.js +0 -1
- package/dist/public/assets/_CE8BJSRE.js.br +0 -0
- package/dist/public/assets/_CFtq9VUB.js +0 -1
- package/dist/public/assets/_CGsyxRkh.js.br +0 -0
- package/dist/public/assets/_CI3Y4hpL.js +0 -1
- package/dist/public/assets/_CKUFfLpm.js.br +0 -0
- package/dist/public/assets/_CLdzbsrz.js.br +0 -0
- package/dist/public/assets/_CM5IkGwP.js.br +0 -0
- package/dist/public/assets/_CMWGulTO.js +0 -1
- package/dist/public/assets/_COjiPyog.js +0 -1
- package/dist/public/assets/_CPEbH77l.js.br +0 -0
- package/dist/public/assets/_CPUrkvFV.js.br +0 -0
- package/dist/public/assets/_CPeBTb0k.js +0 -1
- package/dist/public/assets/_CQYcb9FU.js.br +0 -0
- package/dist/public/assets/_CQrOi1M9.js +0 -1
- package/dist/public/assets/_CR9hzoTZ.js +0 -1
- package/dist/public/assets/_CROiBVo-.js.br +0 -0
- package/dist/public/assets/_CRVsJE1P.js.br +0 -0
- package/dist/public/assets/_CVFwOHgX.js.br +0 -0
- package/dist/public/assets/_CVwX3PKI.js.br +0 -0
- package/dist/public/assets/_CW27Fq-q.js.br +0 -0
- package/dist/public/assets/_CWespSd8.js.br +0 -0
- package/dist/public/assets/_CXqsJwto.js +0 -1
- package/dist/public/assets/_CYm3kPXD.js.br +0 -0
- package/dist/public/assets/_CYrWMAX2.js.br +0 -0
- package/dist/public/assets/_C_1Sjfxy.js +0 -1
- package/dist/public/assets/_C_EUl_jj.js.br +0 -0
- package/dist/public/assets/_CaDqBEaB.js +0 -1
- package/dist/public/assets/_CaqL11yy.js.br +0 -0
- package/dist/public/assets/_CbTWBJSy.js +0 -1
- package/dist/public/assets/_CbVL6eDh.js +0 -1
- package/dist/public/assets/_CcwtHAX8.js.br +0 -0
- package/dist/public/assets/_CfAMRtWv.js.br +0 -0
- package/dist/public/assets/_CgCRY6Wr.js.br +0 -0
- package/dist/public/assets/_CllXob1U.js.br +0 -0
- package/dist/public/assets/_CqlfuhaH.js.br +0 -0
- package/dist/public/assets/_CqpD5ZBq.js +0 -1
- package/dist/public/assets/_CsQMoSpn.js +0 -1
- package/dist/public/assets/_CwiwQRjf.js +0 -1
- package/dist/public/assets/_D05YE_WT.js.br +0 -0
- package/dist/public/assets/_D0NqmTa9.js +0 -1
- package/dist/public/assets/_D1Fm56Z4.js +0 -1
- package/dist/public/assets/_D1haaDwQ.js.br +0 -0
- package/dist/public/assets/_D3MexB9v.js.br +0 -0
- package/dist/public/assets/_D43OtyGb.js +0 -1
- package/dist/public/assets/_D4deJ4x0.js.br +0 -0
- package/dist/public/assets/_D6WtkDHI.js +0 -1
- package/dist/public/assets/_D8O5eIU5.js.br +0 -0
- package/dist/public/assets/_D9QPQSLZ.js +0 -1
- package/dist/public/assets/_D9Y03-Sz.js +0 -1
- package/dist/public/assets/_DDBLZL8c.js.br +0 -0
- package/dist/public/assets/_DHMXQNGD.js +0 -1
- package/dist/public/assets/_DIsl6-x7.js.br +0 -0
- package/dist/public/assets/_DKrJ3oJX.js +0 -16
- package/dist/public/assets/_DKrJ3oJX.js.br +0 -0
- package/dist/public/assets/_DO2ZhOAY.js.br +0 -0
- package/dist/public/assets/_DOD7OVQl.js.br +0 -0
- package/dist/public/assets/_DOtLi2ws.js.br +0 -0
- package/dist/public/assets/_DQObzbDk.js +0 -1
- package/dist/public/assets/_DRJPSMMR.js.br +0 -0
- package/dist/public/assets/_DRyYnmyt.js.br +0 -0
- package/dist/public/assets/_DSI0vwsb.js.br +0 -0
- package/dist/public/assets/_DSaMMREq.js +0 -1
- package/dist/public/assets/_DXjtW9JC.js +0 -1
- package/dist/public/assets/_DZf1ATAd.js +0 -1
- package/dist/public/assets/_DZr4kQnz.js +0 -1
- package/dist/public/assets/_D_kJsjwI.js.br +0 -0
- package/dist/public/assets/_DbB4cL-n.js.br +0 -0
- package/dist/public/assets/_DfPu3opc.js +0 -1
- package/dist/public/assets/_Dg7kepAd.js.br +0 -0
- package/dist/public/assets/_DgvY2m9A.js.br +0 -0
- package/dist/public/assets/_DgwGgUJy.js +0 -1
- package/dist/public/assets/_Di0HUCie.js.br +0 -0
- package/dist/public/assets/_Dp6J_KbS.js.br +0 -0
- package/dist/public/assets/_DtIBeeFy.js.br +0 -0
- package/dist/public/assets/_Dw3MtUmB.js.br +0 -0
- package/dist/public/assets/_DwPJWJHb.js +0 -1
- package/dist/public/assets/_Dx4SX3Ca.js.br +0 -0
- package/dist/public/assets/_DynZoNSt.js +0 -1
- package/dist/public/assets/_DysbZv8j.js.br +0 -0
- package/dist/public/assets/_Dz7OHR2k.js.br +0 -0
- package/dist/public/assets/_DzaAUrO6.js.br +0 -0
- package/dist/public/assets/_Eneb6D-q.js.br +0 -0
- package/dist/public/assets/_Enp2Gr5h.js.br +0 -0
- package/dist/public/assets/_HGdm_T6n.js +0 -1
- package/dist/public/assets/_IHRDfsW6.js +0 -1
- package/dist/public/assets/_JbfD49fY.js +0 -1
- package/dist/public/assets/_L6-mkbsa.js +0 -1
- package/dist/public/assets/_NDErTU55.js.br +0 -0
- package/dist/public/assets/_Rv15Vzpw.js.br +0 -0
- package/dist/public/assets/_T-WXenDh.js.br +0 -0
- package/dist/public/assets/_TBWUL5IV.js +0 -1
- package/dist/public/assets/_WFiGVWwd.js.br +0 -0
- package/dist/public/assets/_WiZYGw70.js.br +0 -0
- package/dist/public/assets/_YpN2hMVJ.js +0 -1
- package/dist/public/assets/__6pMp03m.js +0 -1
- package/dist/public/assets/__eAclg0z.js.br +0 -0
- package/dist/public/assets/_addZLFo9.js.br +0 -0
- package/dist/public/assets/_ag0PzDtm.js.br +0 -0
- package/dist/public/assets/_g1-FS7Df.js.br +0 -0
- package/dist/public/assets/_jcKZb6M0.js +0 -1
- package/dist/public/assets/_ji7mS_dq.js.br +0 -0
- package/dist/public/assets/_myA0xLli.js.br +0 -0
- package/dist/public/assets/_oo2v_wAX.js +0 -1
- package/dist/public/assets/_ooGCeDoo.js +0 -1
- package/dist/public/assets/_sNHDC53K.js +0 -1
- package/dist/public/assets/_u39G7Hfi.js.br +0 -0
- package/dist/public/assets/_vow_06MT.js.br +0 -0
- package/dist/public/assets/_y7jUbIbx.js +0 -1
- package/dist/public/assets/files-view-CE00a_e1.js +0 -2
- package/dist/public/assets/manage-workspace-CoXEyz7q.js +0 -2
- package/dist/public/assets/new-DLD9EesK.js +0 -1
- package/dist/public/assets/new-workspace-tREW1Ew-.js +0 -2
- package/dist/public/assets/review-view-wXfDCa8J.js +0 -2
- package/dist/public/assets/settings-DLD9EesK.js +0 -1
- package/dist/public/assets/settings-page-C6yfsuBb.js +0 -2
- package/dist/public/assets/styles-Bj8QV6wc.css.br +0 -0
- package/dist/public/assets/w-DLD9EesK.js +0 -1
- package/dist/public/assets/w._-B59-2Mie.js +0 -1
- package/dist/public/assets/w._-Ci83JVrq.js +0 -1
- package/dist/public/assets/w._-DLD9EesK.js +0 -1
package/README.md
CHANGED
|
@@ -124,12 +124,15 @@ must. On the LAN the direct path needs nothing more; from another network
|
|
|
124
124
|
(a phone on cellular) the UDP port has to be reachable through your router.
|
|
125
125
|
Settings → Terminal can allow work to open it on the router when needed
|
|
126
126
|
(UPnP, off by default): only after a device failed to connect without it,
|
|
127
|
-
leased, and given back once unused. A host firewall
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
`
|
|
132
|
-
|
|
127
|
+
leased, and given back once unused. A host firewall can keep a device
|
|
128
|
+
out too, though usually it does not (ICE gets through a stateful one from
|
|
129
|
+
most networks), so work says nothing of it until a device has failed to
|
|
130
|
+
connect directly while nothing has come in through the port. Then `work
|
|
131
|
+
doctor` says it drops the port, or may (where only root can read its
|
|
132
|
+
rules, it judges from the defaults and gives the command that shows
|
|
133
|
+
them), with the command that admits it, and `work setup` offers to add
|
|
134
|
+
that rule, named `work` so it is removed as one (`--firewall` adds it
|
|
135
|
+
without asking, `--no-firewall` skips the question).
|
|
133
136
|
macOS's firewall admits programs rather than ports, so there it is the
|
|
134
137
|
node the service runs that `work doctor` checks and `work setup` lets in. `WORK_RTC_STUN` names the STUN servers that find this machine's
|
|
135
138
|
public address (Cloudflare's by default; empty for none).
|
package/bin/cli/_target.mjs
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// printed path is (`/term-paths`: the session's directory, its checkout,
|
|
5
5
|
// the workspace, each repo; files and folders inside its checkouts and
|
|
6
6
|
// .share/ only).
|
|
7
|
+
import fs from "node:fs";
|
|
7
8
|
import os from "node:os";
|
|
8
9
|
import path from "node:path";
|
|
9
10
|
|
|
@@ -17,16 +18,9 @@ import path from "node:path";
|
|
|
17
18
|
export async function resolveTarget(ctx, ws, raw) {
|
|
18
19
|
if (/^\/w\//.test(raw)) return { link: raw, label: raw };
|
|
19
20
|
if (/^https?:\/\//i.test(raw)) return { link: raw, label: raw };
|
|
20
|
-
|
|
21
|
-
const m = /^(.*?):(\d+)(?::\d+)?$/.exec(raw);
|
|
22
|
-
const target = m ? m[1] : raw;
|
|
23
|
-
const line = m ? Number(m[2]) : null;
|
|
24
|
-
const home = target.startsWith("~/")
|
|
25
|
-
? path.join(os.homedir(), target.slice(2))
|
|
26
|
-
: target;
|
|
21
|
+
const { line, home, abs } = pathOf(raw);
|
|
27
22
|
// This shell's own directory first; then as typed, which the server
|
|
28
23
|
// tries against the session's, the workspace and each repo.
|
|
29
|
-
const abs = path.resolve(process.cwd(), home);
|
|
30
24
|
const answers = await ctx.api.post(`/api/workspaces/${ws.id}/term-paths`, {
|
|
31
25
|
...(process.env.WORK_SESSION_ID && {
|
|
32
26
|
session: process.env.WORK_SESSION_ID,
|
|
@@ -43,7 +37,48 @@ export async function resolveTarget(ctx, ws, raw) {
|
|
|
43
37
|
};
|
|
44
38
|
}
|
|
45
39
|
|
|
46
|
-
/**
|
|
47
|
-
|
|
40
|
+
/** A path target as typed: `name:42` is a line in it, as editors and the
|
|
41
|
+
* terminal's links take it. */
|
|
42
|
+
function pathOf(raw) {
|
|
43
|
+
const m = /^(.*?):(\d+)(?::\d+)?$/.exec(raw);
|
|
44
|
+
const target = m ? m[1] : raw;
|
|
45
|
+
const home = target.startsWith("~/")
|
|
46
|
+
? path.join(os.homedir(), target.slice(2))
|
|
47
|
+
: target;
|
|
48
|
+
return {
|
|
49
|
+
line: m ? Number(m[2]) : null,
|
|
50
|
+
home,
|
|
51
|
+
abs: path.resolve(process.cwd(), home),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Why a target named nothing, said once for both commands. A file in the
|
|
56
|
+
* workspace's `.tmp/` gets its own answer: it is there, but that is the
|
|
57
|
+
* sessions' scratch, which the app never shows, so the fix is to put it
|
|
58
|
+
* where the user can open it, not to name it some other way. */
|
|
59
|
+
export function unresolved(raw, ws) {
|
|
60
|
+
if (!ws?.path) return nothing(raw);
|
|
61
|
+
const { home, abs } = pathOf(raw);
|
|
62
|
+
// Real paths on both sides: /home may be a symlink to /var/home.
|
|
63
|
+
const tmp = real(path.join(ws.path, ".tmp"));
|
|
64
|
+
const at = real(abs);
|
|
65
|
+
if (
|
|
66
|
+
at === tmp ||
|
|
67
|
+
at.startsWith(tmp + path.sep) ||
|
|
68
|
+
/^\.tmp(\/|$)/.test(path.normalize(home))
|
|
69
|
+
)
|
|
70
|
+
return `${raw} is in .tmp/, scratch the app never shows: save what the user should see in ${path.join(ws.path, ".share")}/ and name that instead`;
|
|
71
|
+
return nothing(raw);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function nothing(raw) {
|
|
48
75
|
return `nothing at ${raw} in this workspace: a file or folder in its checkouts or its .share/, an app page (/w/…), or a URL`;
|
|
49
76
|
}
|
|
77
|
+
|
|
78
|
+
function real(p) {
|
|
79
|
+
try {
|
|
80
|
+
return fs.realpathSync(p);
|
|
81
|
+
} catch {
|
|
82
|
+
return p;
|
|
83
|
+
}
|
|
84
|
+
}
|
package/bin/cli/notify.mjs
CHANGED
|
@@ -30,7 +30,7 @@ export const commands = [
|
|
|
30
30
|
const { ws } = await ctx.resolveWorkspace(ctx.flag("--workspace"));
|
|
31
31
|
const raw = ctx.flag("--link");
|
|
32
32
|
const target = raw ? await resolveTarget(ctx, ws, raw) : null;
|
|
33
|
-
if (raw && !target) ctx.die(unresolved(raw));
|
|
33
|
+
if (raw && !target) ctx.die(unresolved(raw, ws));
|
|
34
34
|
const res = await ctx.api.post(`/api/workspaces/${ws.id}/notices`, {
|
|
35
35
|
message,
|
|
36
36
|
...(ctx.flag("--title") && { title: ctx.flag("--title") }),
|
package/bin/cli/open.mjs
CHANGED
|
@@ -20,7 +20,7 @@ export const commands = [
|
|
|
20
20
|
if (!raw) ctx.die("open what? work open <target> (see: work help open)");
|
|
21
21
|
const { ws } = await ctx.resolveWorkspace(ctx.flag("--workspace"));
|
|
22
22
|
const target = await resolveTarget(ctx, ws, raw);
|
|
23
|
-
if (!target) ctx.die(unresolved(raw));
|
|
23
|
+
if (!target) ctx.die(unresolved(raw, ws));
|
|
24
24
|
const res = await ctx.api.post(`/api/workspaces/${ws.id}/notices`, {
|
|
25
25
|
message: ctx.flag("--message") || `Look at ${target.label}`,
|
|
26
26
|
link: target.link,
|
package/bin/work.mjs
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
// it otherwise offers when Tailscale is logged in; --no-tailscale skips that;
|
|
7
7
|
// --firewall adds a `work` rule for direct connections' UDP port to a host
|
|
8
8
|
// firewall that may drop it, or on macOS lets the service's node in,
|
|
9
|
-
// which it otherwise offers
|
|
9
|
+
// which it otherwise offers once a device could not connect directly;
|
|
10
|
+
// --no-firewall skips that;
|
|
10
11
|
// --allow-host <name> / --disallow-host <name>, repeated, put one name
|
|
11
12
|
// in or out of WORK_ALLOWED_HOSTS and keep the rest; --json prints
|
|
12
13
|
// what it did as JSON on stdout, its progress on stderr)
|
|
@@ -1850,10 +1851,12 @@ local Tailscale daemon to port ${port}.${ts.https === false ? "\nHTTPS certifica
|
|
|
1850
1851
|
* the active zone, or ufw rules with that comment (lib/setup/firewall.mjs);
|
|
1851
1852
|
* on macOS, whose firewall admits programs, the service's node let in
|
|
1852
1853
|
* (`serviceFirewall`; "Block all incoming connections" is only said).
|
|
1853
|
-
*
|
|
1854
|
-
*
|
|
1855
|
-
*
|
|
1856
|
-
*
|
|
1854
|
+
* Offered only where the running server advises it (a device could not
|
|
1855
|
+
* connect directly, and nothing has come in through the port), and added
|
|
1856
|
+
* with sudo only on an explicit yes, the prompt's or `--firewall`: `--yes`
|
|
1857
|
+
* is how the installer, `work update` and the app's own update run setup
|
|
1858
|
+
* unattended, and none of them asked for it. What it runs is printed as it
|
|
1859
|
+
* runs.
|
|
1857
1860
|
*/
|
|
1858
1861
|
async function firewall() {
|
|
1859
1862
|
if (args.includes("--no-firewall")) return;
|
|
@@ -1866,9 +1869,16 @@ async function firewall() {
|
|
|
1866
1869
|
return;
|
|
1867
1870
|
}
|
|
1868
1871
|
if (f.admits) {
|
|
1869
|
-
if (asked)
|
|
1872
|
+
if (asked)
|
|
1873
|
+
log(
|
|
1874
|
+
`${f.what} already admits UDP ${f.port}${f.why ? ` (${f.why})` : ""}`,
|
|
1875
|
+
);
|
|
1870
1876
|
return;
|
|
1871
1877
|
}
|
|
1878
|
+
// Offered only once a device could not connect directly and nothing has
|
|
1879
|
+
// shown the port open (`bornOut`): a may-drop read from the rules as
|
|
1880
|
+
// shipped is no reason to change them.
|
|
1881
|
+
if (!asked && !f.advise) return;
|
|
1872
1882
|
const drops = `${dropText(f)}, which direct connections from your other devices use`;
|
|
1873
1883
|
if (!f.plan.length) {
|
|
1874
1884
|
if (asked || !yes) warn(`${drops}: ${f.fix}`);
|
|
@@ -49,7 +49,7 @@ var toastTitle = {
|
|
|
49
49
|
warn: "_w",
|
|
50
50
|
info: "_x"
|
|
51
51
|
};
|
|
52
|
-
var tocDot = "
|
|
52
|
+
var tocDot = "_cW _ba";
|
|
53
53
|
//#endregion
|
|
54
54
|
//#region src/styles/tokens.css.ts
|
|
55
55
|
var color = {
|
|
@@ -85,98 +85,98 @@ var iconSize = {
|
|
|
85
85
|
};
|
|
86
86
|
//#endregion
|
|
87
87
|
//#region src/tags/settings-agents.css.ts
|
|
88
|
-
var agentRow = "
|
|
89
|
-
var list$3 = "_dO
|
|
88
|
+
var agentRow = "_ga _dK";
|
|
89
|
+
var list$3 = "_dO _dw _dJ _dM";
|
|
90
90
|
var metaChip = "_d2 _bz _by";
|
|
91
|
-
var sectionCount = "
|
|
92
|
-
var usageNote = "
|
|
93
|
-
var pop$2 = "
|
|
94
|
-
var spinner = "
|
|
95
|
-
var toolLead = "
|
|
96
|
-
var name$4 = "
|
|
97
|
-
var desc$1 = "
|
|
91
|
+
var sectionCount = "_dt _bp _bq";
|
|
92
|
+
var usageNote = "_ke _by";
|
|
93
|
+
var pop$2 = "_gD _bN";
|
|
94
|
+
var spinner = "_gG _bD _bi";
|
|
95
|
+
var toolLead = "_gN _dX";
|
|
96
|
+
var name$4 = "_gs _dX";
|
|
97
|
+
var desc$1 = "_gt _dY";
|
|
98
98
|
//#endregion
|
|
99
99
|
//#region src/tags/lsp-add-dialog.css.ts
|
|
100
|
-
var addDlg = "
|
|
101
|
-
var key$1 = "
|
|
102
|
-
var addTile = "
|
|
103
|
-
var field$2 = "
|
|
104
|
-
var keyField = "
|
|
105
|
-
var labelField = "
|
|
106
|
-
var detailsToggle = "
|
|
107
|
-
var themeSeg = "
|
|
108
|
-
var checkList = "
|
|
100
|
+
var addDlg = "_lL _bX";
|
|
101
|
+
var key$1 = "_k5 _k3";
|
|
102
|
+
var addTile = "_k7 _k3";
|
|
103
|
+
var field$2 = "_lh _bA";
|
|
104
|
+
var keyField = "_li _lh _bA";
|
|
105
|
+
var labelField = "_lj _lh _bA";
|
|
106
|
+
var detailsToggle = "_f0 _6";
|
|
107
|
+
var themeSeg = "_fi _bR";
|
|
108
|
+
var checkList = "_h4 _du";
|
|
109
109
|
//#endregion
|
|
110
110
|
//#region src/tags/prompt-dialog.css.ts
|
|
111
|
-
var promptDlg = "
|
|
112
|
-
var item$1 = "
|
|
111
|
+
var promptDlg = "_b1 _bX";
|
|
112
|
+
var item$1 = "_b6 _D";
|
|
113
113
|
var glance = "_dG _D";
|
|
114
114
|
//#endregion
|
|
115
115
|
//#region src/tags/side-nav.css.ts
|
|
116
|
-
var iconBtn = "
|
|
117
|
-
var settingsDot = "
|
|
118
|
-
var notifyBtn = "
|
|
116
|
+
var iconBtn = "_b9 _D";
|
|
117
|
+
var settingsDot = "_b_ _bQ";
|
|
118
|
+
var notifyBtn = "_ce _D";
|
|
119
119
|
//#endregion
|
|
120
120
|
//#region src/styles/session-pop.css.ts
|
|
121
|
-
var sessionPop = "
|
|
122
|
-
var sessionPopBtn = "
|
|
123
|
-
var wsBtn = "
|
|
124
|
-
var rowIcon = "
|
|
125
|
-
var prChip = "
|
|
121
|
+
var sessionPop = "_cr _bN";
|
|
122
|
+
var sessionPopBtn = "_cs _bk";
|
|
123
|
+
var wsBtn = "_ex _bk";
|
|
124
|
+
var rowIcon = "_ez _bF _D";
|
|
125
|
+
var prChip = "_lW _M _lQ";
|
|
126
126
|
//#endregion
|
|
127
127
|
//#region src/tags/port-chip.css.ts
|
|
128
|
-
var port = "
|
|
128
|
+
var port = "_oL _M _lQ";
|
|
129
129
|
var depth = {
|
|
130
|
-
"1": "
|
|
131
|
-
"2": "
|
|
132
|
-
"3": "
|
|
130
|
+
"1": "_ls",
|
|
131
|
+
"2": "_lt",
|
|
132
|
+
"3": "_lu"
|
|
133
133
|
};
|
|
134
|
-
var open = "
|
|
135
|
-
var action = "
|
|
134
|
+
var open = "_lA _bk";
|
|
135
|
+
var action = "_lF _bI _D";
|
|
136
136
|
var toggle = "_d7 _6";
|
|
137
137
|
var fold = "_d8 _dL";
|
|
138
138
|
var statusOf = {
|
|
139
|
-
queued: "
|
|
140
|
-
starting: "
|
|
141
|
-
working: "
|
|
142
|
-
waiting: "
|
|
143
|
-
idle: "
|
|
144
|
-
done: "
|
|
145
|
-
closed: "
|
|
139
|
+
queued: "_nb",
|
|
140
|
+
starting: "_nc",
|
|
141
|
+
working: "_nd",
|
|
142
|
+
waiting: "_ne",
|
|
143
|
+
idle: "_nf",
|
|
144
|
+
done: "_ng",
|
|
145
|
+
closed: "_nh"
|
|
146
146
|
};
|
|
147
|
-
var item = "
|
|
148
|
-
var menu = "
|
|
149
|
-
var menuItem = "
|
|
150
|
-
var findBtn$1 = "
|
|
151
|
-
var tool = "
|
|
152
|
-
var heldRefresh = "
|
|
153
|
-
var pop$1 = "
|
|
154
|
-
var fileFilter = "
|
|
155
|
-
var findInput = "
|
|
156
|
-
var keybarIconBtn = "
|
|
157
|
-
var input = "
|
|
158
|
-
var group = "
|
|
159
|
-
var hint$1 = "
|
|
160
|
-
var sheetDir = "
|
|
161
|
-
var upBtn = "
|
|
162
|
-
var findBtn = "
|
|
163
|
-
var goBtn = "
|
|
164
|
-
var note = "
|
|
147
|
+
var item = "_kD _bk";
|
|
148
|
+
var menu = "_mB _cr _bN";
|
|
149
|
+
var menuItem = "_mD _bk";
|
|
150
|
+
var findBtn$1 = "_jh _ic _bG _D";
|
|
151
|
+
var tool = "_ic _bG _D";
|
|
152
|
+
var heldRefresh = "_ik _M";
|
|
153
|
+
var pop$1 = "_nG _cr _bN";
|
|
154
|
+
var fileFilter = "_oP _F";
|
|
155
|
+
var findInput = "_fC _F";
|
|
156
|
+
var keybarIconBtn = "_fL _bI _D";
|
|
157
|
+
var input = "_cv _F";
|
|
158
|
+
var group = "_cy _6";
|
|
159
|
+
var hint$1 = "_nA _bp _3";
|
|
160
|
+
var sheetDir = "_n6 _bP";
|
|
161
|
+
var upBtn = "_ix _bG _D";
|
|
162
|
+
var findBtn = "_iB _ic _bG _D";
|
|
163
|
+
var goBtn = "_iC _ic _bG _D";
|
|
164
|
+
var note = "_nJ _by";
|
|
165
165
|
//#endregion
|
|
166
166
|
//#region src/tags/manage-workspace.css.ts
|
|
167
|
-
var procCmd = "
|
|
168
|
-
var factCopy = "
|
|
169
|
-
var resultRow = "
|
|
170
|
-
var resultBranch = "
|
|
171
|
-
var urlAction = "
|
|
172
|
-
var curRow = "
|
|
167
|
+
var procCmd = "_hC _dX";
|
|
168
|
+
var factCopy = "_hJ _bI _D";
|
|
169
|
+
var resultRow = "_kM _bk";
|
|
170
|
+
var resultBranch = "_kN _d2 _bz _by _bF _D";
|
|
171
|
+
var urlAction = "_kO _d2 _bz _by _d3";
|
|
172
|
+
var curRow = "_hR _dR";
|
|
173
173
|
//#endregion
|
|
174
174
|
//#region src/tags/join-dialog.css.ts
|
|
175
|
-
var dlg = "
|
|
176
|
-
var hint = "
|
|
177
|
-
var kbtn = "
|
|
178
|
-
var repeat = "
|
|
179
|
-
var dpadUser = "
|
|
180
|
-
var dpadEsc = "
|
|
175
|
+
var dlg = "_ma _bX";
|
|
176
|
+
var hint = "_mb _by";
|
|
177
|
+
var kbtn = "_dc _bH _D";
|
|
178
|
+
var repeat = "_df _de";
|
|
179
|
+
var dpadUser = "_di _de";
|
|
180
|
+
var dpadEsc = "_dj _de";
|
|
181
181
|
//#endregion
|
|
182
182
|
export { field$2 as $, item as A, prTone as At, wsBtn as B, fileFilter as C, chipBtn as Ct, findBtn$1 as D, iconBtnXs as Dt, tool as E, iconBtnRow as Et, depth as F, settingsDot as G, sessionPopBtn as H, open as I, promptDlg as J, glance as K, port as L, fold as M, usageFill as Mt, toggle as N, usageInk as Nt, menu as O, inputLg as Ot, action as P, addTile as Q, prChip as R, keybarIconBtn as S, btnSm as St, heldRefresh as T, iconBtnLg as Tt, iconBtn as U, sessionPop as V, notifyBtn as W, themeSeg as X, checkList as Y, detailsToggle as Z, sheetDir as _, tocDot as _t, dlg as a, name$4 as at, input as b, toastTitle as bt, resultBranch as c, spinner as ct, factCopy as d, list$3 as dt, key$1 as et, procCmd as f, metaChip as ft, upBtn as g, sans as gt, goBtn as h, iconSize as ht, repeat as i, desc$1 as it, statusOf as j, tone as jt, menuItem as k, phaseIcon as kt, resultRow as l, usageNote as lt, findBtn as m, color as mt, dpadUser as n, labelField as nt, hint as o, toolLead as ot, note as p, agentRow as pt, item$1 as q, kbtn as r, addDlg as rt, curRow as s, pop$2 as st, dpadEsc as t, keyField as tt, urlAction as u, sectionCount as ut, hint$1 as v, toastKind as vt, pop$1 as w, glyphBadgeNum as wt, findInput as x, btnLg as xt, group as y, toastStack as yt, rowIcon as z };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as reopenSession, A as closedSession, An as onFinished, Bn as turnPhase, Dr as getSetting, Fn as setExpecting, Hn as turnSince, J as notifySessionsChanged, Kn as agentLabel, L as getSession, Mn as onTurnEnd, Nn as sessionWatched, Or as isKnownAgent, Q as renameSession, R as interruptSession, Sn as lastTypedAt, U as listPanesWithin, Vn as turnSettling, Y as onSessionDispose,
|
|
1
|
+
import { $ as reopenSession, A as closedSession, An as onFinished, Bn as turnPhase, Dr as getSetting, Fn as setExpecting, Hn as turnSince, J as notifySessionsChanged, Kn as agentLabel, L as getSession, Mn as onTurnEnd, Nn as sessionWatched, Or as isKnownAgent, Q as renameSession, Qr as httpError, R as interruptSession, Sn as lastTypedAt, U as listPanesWithin, Vn as turnSettling, Y as onSessionDispose, _n as agentPhase, ai as db, an as interruptKeys, bn as hookReportedAt, cn as steerKeys, et as reopenable, gn as activityOf, ii as all, j as createSession, jn as onPhaseChange, nt as sendToSession, oi as get, pn as cleanSummary, tt as retireSession, z as killSession, zn as summaryOf } from "./_DuADlWik.js";
|
|
2
2
|
//#region src/server/messages.ts
|
|
3
3
|
var team = {
|
|
4
4
|
memberGroup: () => null,
|
|
@@ -1664,6 +1664,42 @@ function portsAdmit(xml, port) {
|
|
|
1664
1664
|
}
|
|
1665
1665
|
return false;
|
|
1666
1666
|
}
|
|
1667
|
+
/** `work doctor`'s line, or null with nothing to say. Never a failure of
|
|
1668
|
+
* readiness: work runs either way, and only devices on the network lose
|
|
1669
|
+
* the direct path. macOS's answer is for one node, so the line says when
|
|
1670
|
+
* it had to be this shell's (`nodeFrom`, set by the CLI). */
|
|
1671
|
+
/**
|
|
1672
|
+
* The reading `f` as direct connections bear it out (`seen`, the running
|
|
1673
|
+
* server's record). A connection whose page side came in unasked — a
|
|
1674
|
+
* peer-reflexive address, which this end never sent to first — got through
|
|
1675
|
+
* whatever the reading guessed, so the port admits. Otherwise the fix is
|
|
1676
|
+
* advised (`advise`) only once a page's direct path never connected
|
|
1677
|
+
* (`turnedAway`): ICE punches through a stateful firewall from most
|
|
1678
|
+
* networks, so a firewall that may drop the port is no reason to change it
|
|
1679
|
+
* until a device could not get in. Without a record (no server to ask),
|
|
1680
|
+
* nothing is advised.
|
|
1681
|
+
*/
|
|
1682
|
+
function bornOut(f, seen) {
|
|
1683
|
+
if (!f) return f;
|
|
1684
|
+
if (f.admits) return {
|
|
1685
|
+
...f,
|
|
1686
|
+
advise: false
|
|
1687
|
+
};
|
|
1688
|
+
if (seen?.inbound) return {
|
|
1689
|
+
...f,
|
|
1690
|
+
admits: true,
|
|
1691
|
+
likely: false,
|
|
1692
|
+
why: "a device's connection came in through it unasked",
|
|
1693
|
+
check: null,
|
|
1694
|
+
plan: [],
|
|
1695
|
+
fix: null,
|
|
1696
|
+
advise: false
|
|
1697
|
+
};
|
|
1698
|
+
return {
|
|
1699
|
+
...f,
|
|
1700
|
+
advise: (seen?.turnedAway ?? 0) > 0
|
|
1701
|
+
};
|
|
1702
|
+
}
|
|
1667
1703
|
function realpath(file) {
|
|
1668
1704
|
try {
|
|
1669
1705
|
return fs.realpathSync(file);
|
|
@@ -9472,7 +9508,7 @@ function publishChange(sessionId) {
|
|
|
9472
9508
|
const row = get("SELECT workspace_id FROM sessions WHERE id = ?", sessionId);
|
|
9473
9509
|
if (row?.workspace_id) {
|
|
9474
9510
|
const workspaceId = row.workspace_id;
|
|
9475
|
-
import("./
|
|
9511
|
+
import("./_DDikKLG_.js").then((m) => m.notifySessionsChanged(workspaceId));
|
|
9476
9512
|
return;
|
|
9477
9513
|
}
|
|
9478
9514
|
publish("sessions.changed");
|
|
@@ -17609,7 +17645,7 @@ function notifySessionsChanged(workspaceId) {
|
|
|
17609
17645
|
async function emitSessionsChanged(workspaceId) {
|
|
17610
17646
|
try {
|
|
17611
17647
|
const states = await sessionStates();
|
|
17612
|
-
const { teamsOf } = await import("./
|
|
17648
|
+
const { teamsOf } = await import("./_ENqPMLjD.js");
|
|
17613
17649
|
publish("sessions.changed", {
|
|
17614
17650
|
workspaceId,
|
|
17615
17651
|
sessions: listSessions(workspaceId).map((s) => ({
|
|
@@ -19219,8 +19255,9 @@ ${repoLines}
|
|
|
19219
19255
|
a repo), and each one you mention is a Markdown link named for it:
|
|
19220
19256
|
\`[login-after](/w/${wsId}/files?file=.share/<path>)\`, never a bare file
|
|
19221
19257
|
name, which nothing opens (\`work open <path>\` offers it in the app too).
|
|
19222
|
-
\`.tmp/\` (your \`TMPDIR\`) is scratch
|
|
19223
|
-
|
|
19258
|
+
\`.tmp/\` (your \`TMPDIR\`) is scratch the app neither lists nor opens: never
|
|
19259
|
+
link or name a file there, copy it into \`.share/\` and link that. Their
|
|
19260
|
+
pastes land in \`.share/pasted/\`.
|
|
19224
19261
|
- **Tell the user** only what the app does not already: it notifies them when
|
|
19225
19262
|
your turn ends or you are waiting on them. For news in the middle of a turn
|
|
19226
19263
|
(a long job finished while you work on),
|
|
@@ -19259,4 +19296,4 @@ ${repoLines}
|
|
|
19259
19296
|
`;
|
|
19260
19297
|
}
|
|
19261
19298
|
//#endregion
|
|
19262
|
-
export { reopenSession as $, setInstance as $n,
|
|
19299
|
+
export { reopenSession as $, setInstance as $n, readBody as $r, notePushActivity as $t, closedSession as A, onFinished as An, setDisabledAgents as Ar, authGithub as At, killWorkspaceSessions as B, turnPhase as Bn, firewallProbe as Br, readBlobAt as Bt, workspaceBranches as C, noteActivity$1 as Cn, changePref as Cr, installServer as Ct, beginCreation as D, noteTyped as Dn, getSetting as Dr, serverList as Dt, agentCaller as E, notePermissionMode as En, enabledAgents as Er, serverById as Et, ensureTmuxServer as F, setExpecting as Fn, ghKnownHosts as Fr, refreshGithub as Ft, markTmuxStarted as G, agentFromCommand as Gn, catalogPin as Gr, setPoints as Gt, listPanes as H, turnSince as Hn, TOOLS as Hr, reviewWaiting as Ht, forgetPanes as I, setScrapedPhase as In, miseInstalls as Ir, removeTool as It, notifySessionsChanged as J, ACCENT_RE as Jn, applyPrefChange as Jr, commentFolder as Jt, newSessionArgs as K, agentLabel as Kn, parseAgentId as Kr, startSnapSweep as Kt, getSession as L, setSessionViewers as Ln, miseVersions as Lr, runStreaming as Lt, creationOf as M, onTurnEnd as Mn, setSetting as Mr, installMise as Mt, descendantsOf as N, sessionWatched as Nn, discoverAgents as Nr, installTool as Nt, cleanEnv as O, noteUserAnswered as On, isKnownAgent as Or, sharing as Ot, disposeSessions as P, setAgentPhase as Pn, doctor as Pr, logoutGithub as Pt, renameSession as Q, normalizeAccent as Qn, httpError as Qr, hotBatchMinMs as Qt, interruptSession as R, settleQuietWorking as Rn, which as Rr, updateTool as Rt, withProgressOp as S, lastTypedAt as Sn, allPrefs as Sr, installKey as St, hookToken as T, noteInterrupt as Tn, disabledAgents as Tr, removeServer as Tt, listPanesWithin as U, agentBadge as Un, agentById as Ur, workspaceDiff as Ut, launchDir as V, turnSettling as Vn, PROJECT_TOOLS as Vr, readFileAt as Vt, listSessions as W, agentFamily as Wn, agentLabel$1 as Wr, workspaceSections as Wt, ownWorkspaceOnly as X, iconSvg as Xn, FRAME_HEADERS as Xr, sectionFor as Xt, onSessionDispose as Y, getInstance as Yn, FRAME_ANCESTORS as Yr, markBranch as Yt, panePids as Z, manifest as Zn, checked as Zr, dismissPr as Zt, retryMaterialize as _, agentPhase as _n, removeHost as _r, stopServers as _t, ensureUntrackedCache as a, db as ai, interruptKeys as an, headOid as ar, tmuxWasStarted as at, sweepTrash as b, hookReportedAt as bn, WORKSPACE_PREFS as br, forgetCustomServer as bt, insertPendingWorkspace as c, ownsBranchOf as ci, steerKeys as cn, repoCatalog as cr, workspaceProcs as ct, progress as d, git as di, readCache as dn, addHost as dr, lspQuery as dt, publish as ei, refreshPrsBatch as en, deleteSubscription as er, reopenable as et, progressSince as f, tmux as fi, writeCache as fn, configuredHosts as fr, lspQueryOf as ft, resumePendingWorkspaces as g, activityOf as gn, normalizeHost as gr, stopAllServers as gt, removeRepo as h, withLock as hi, realInside as hn, isValidHost as hr, runningServers as ht, deleteWorkspace as i, all as ii, AGENTS as in, validSubscription as ir, tmuxName as it, createSession as j, onPhaseChange as jn, setPref as jr, installAgent as jt, clearTmuxStarted as k, notifyEventOn as kn, preferredAgent as kr, whileInstalling as kt, listWorkspaces as l, ensureAllCacheConfig as li, blankRow as ln, repoDefaultBranch as lr, killServers as lt, queueMaterialize as m, swr as mi, inside as mn, forgetToken as mr, lspWarm as mt, barePath as n, subscribe as ni, workspacePrs as nn, saveSubscription as nr, sendToSession as nt, gcBares as o, get as oi, readHookPayload as on, pendingSsoOrgs as or, killWorkspaceProc as ot, pruneLaneBranch as p, config as pi, cleanSummary as pn, ensureGitCredentials as pr, lspUses as pt, noteConversation as q, agentMeta as qn, toolById as qr, diffStamp as qt, createWorkspace as r, subscriberCount as ri, noteActivity as rn, sendPush as rr, sessionStates as rt, getWorkspace as s, workspacePath as si, reportsWorking as sn, repoBranches as sr, portsByWorkspace as st, addRepo as t, publishJson as ti, withoutDismissed as tn, pushPublicKey as tr, retireSession as tt, otherWorkspaceBranches as u, TMUX_SOCKET as ui, credentialStamp as un, DEFAULT_HOST as ur, lspDiagnostics as ut, revParse as v, clearAgentPhase as vn, unreachableRepos as vr, addCustomServer as vt, ensureAllPushHooks as w, noteBackground as wn, deleteSetting as wr, lspEnabled as wt, syncAgentsMd as x, interruptedSinceReport as xn, agentChoices as xr, forgetProbes as xt, setWorkspaceStatus as y, hookPhase as yn, PREF_MAX as yr, allServers as yt, killSession as z, summaryOf as zn, bornOut as zr, fileChanges as zt };
|