@dylanpiercey/work 0.0.201 → 0.0.202
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 +30 -6
- package/bin/work.mjs +33 -1
- package/dist/_7W8iLTql.js +2 -0
- package/dist/{_BntJJ2eD.js → _B9FeLAO5.js} +863 -218
- package/dist/index.mjs +1051 -874
- package/dist/public/assets/_0LyBpSAp.js +1 -0
- package/dist/public/assets/{_CEKYlz0a.js → _1A5uKjN8.js} +1 -1
- package/dist/public/assets/_1A5uKjN8.js.br +0 -0
- package/dist/public/assets/_1qLkGZho.js +1 -0
- package/dist/public/assets/{_Dem8VmJt.js → _27978R3m.js} +1 -1
- package/dist/public/assets/_27978R3m.js.br +0 -0
- package/dist/public/assets/{_DTJl30hJ.js → _2edMheVg.js} +1 -1
- package/dist/public/assets/_2edMheVg.js.br +0 -0
- package/dist/public/assets/{_BubcBfAr.js → _4ZExxGH7.js} +1 -1
- package/dist/public/assets/_4ZExxGH7.js.br +0 -0
- package/dist/public/assets/{_BACT_fWM.js → _5_zD5lZ4.js} +1 -1
- package/dist/public/assets/_5_zD5lZ4.js.br +0 -0
- package/dist/public/assets/{_DKj8yOqM.js → _8FFPstMK.js} +1 -1
- package/dist/public/assets/_8FFPstMK.js.br +0 -0
- package/dist/public/assets/{_C4rxuku1.js → _9oZx5YJU.js} +1 -1
- package/dist/public/assets/_9oZx5YJU.js.br +0 -0
- package/dist/public/assets/_Ad5gg0gC.js +1 -0
- package/dist/public/assets/_B-4ye3W7.js +1 -0
- package/dist/public/assets/_B-S8CKDa.js +1 -0
- package/dist/public/assets/_B-S8CKDa.js.br +0 -0
- package/dist/public/assets/{_Dj8W5hAy.js → _B0Lw-cCo.js} +1 -1
- package/dist/public/assets/_B0Lw-cCo.js.br +0 -0
- package/dist/public/assets/_B0o7s1zn.js +1 -0
- package/dist/public/assets/_B354f-CP.js +1 -0
- package/dist/public/assets/{_BaxiLRDq.js → _B4--EZrg.js} +1 -1
- package/dist/public/assets/_B4--EZrg.js.br +0 -0
- package/dist/public/assets/_B4Y7MGuT.js +1 -0
- package/dist/public/assets/_B5uGx7HV.js +1 -0
- package/dist/public/assets/{_DtY8_Qtl.js → _B5yZABPj.js} +1 -1
- package/dist/public/assets/_B5yZABPj.js.br +0 -0
- package/dist/public/assets/{_oA-Vr8Cf.js → _B6BIIgNj.js} +1 -1
- package/dist/public/assets/_B6BIIgNj.js.br +0 -0
- package/dist/public/assets/{_8LHYZ0G8.js → _B6eFZbg2.js} +1 -1
- package/dist/public/assets/_B6eFZbg2.js.br +0 -0
- package/dist/public/assets/{_CcKsIH5h.js → _BBbgMQg3.js} +1 -1
- package/dist/public/assets/_BBbgMQg3.js.br +0 -0
- package/dist/public/assets/_BDuy978q.js +1 -0
- package/dist/public/assets/_BGvljRa2.js +1 -0
- package/dist/public/assets/{_fkTQCq_W.js → _BH6JT0zv.js} +1 -1
- package/dist/public/assets/_BH6JT0zv.js.br +0 -0
- package/dist/public/assets/{_oBcpaEKd.js → _BHxcuLms.js} +1 -1
- package/dist/public/assets/_BHxcuLms.js.br +0 -0
- package/dist/public/assets/{_BIY6vLu9.js → _BJn4etL5.js} +4 -4
- package/dist/public/assets/_BJn4etL5.js.br +0 -0
- package/dist/public/assets/{_D9nJ4nG1.js → _BLYUr4zr.js} +1 -1
- package/dist/public/assets/_BLYUr4zr.js.br +0 -0
- package/dist/public/assets/{_B0m_B4cy.js → _BMN5006U.js} +1 -1
- package/dist/public/assets/_BMN5006U.js.br +0 -0
- package/dist/public/assets/_BNLHELEB.js +1 -0
- package/dist/public/assets/_BNgBnHZi.js +1 -0
- package/dist/public/assets/{_tPOATR_S.js → _BPtS6AlD.js} +1 -1
- package/dist/public/assets/_BPtS6AlD.js.br +0 -0
- package/dist/public/assets/{_DqvnbtAR.js → _BT1EyKo4.js} +1 -1
- package/dist/public/assets/_BT1EyKo4.js.br +0 -0
- package/dist/public/assets/_BUpEOyhD.js +1 -0
- package/dist/public/assets/{_Opj7Hn0u.js → _BZ8P4EyI.js} +1 -1
- package/dist/public/assets/_BZ8P4EyI.js.br +0 -0
- package/dist/public/assets/{_Ci0fM4lS.js → _Bg_wpsdl.js} +1 -1
- package/dist/public/assets/_Bg_wpsdl.js.br +0 -0
- package/dist/public/assets/_Bh0MA2rr.js +1 -0
- package/dist/public/assets/{_0C7z67Qm.js → _BirlCtPu.js} +1 -1
- package/dist/public/assets/_BirlCtPu.js.br +7 -0
- package/dist/public/assets/_BlKrxbs9.js +1 -0
- package/dist/public/assets/{_B-Y1YuyQ.js → _BooHqm0j.js} +1 -1
- package/dist/public/assets/_BooHqm0j.js.br +0 -0
- package/dist/public/assets/_Bop-FIWB.js +1 -0
- package/dist/public/assets/_Bpm9z2QK.js +1 -0
- package/dist/public/assets/{_CSsQyHnz.js → _BrbOs2El.js} +1 -1
- package/dist/public/assets/_BrbOs2El.js.br +0 -0
- package/dist/public/assets/{_DQGEdzOn.js → _BsC2eLK9.js} +1 -1
- package/dist/public/assets/_BuLh_eCx.js +1 -0
- package/dist/public/assets/{_Clv6aVv7.js → _BvOtKfMA.js} +1 -1
- package/dist/public/assets/_BvOtKfMA.js.br +0 -0
- package/dist/public/assets/{_Ba1mrOxI.js → _C1YxfeT4.js} +1 -1
- package/dist/public/assets/_C1YxfeT4.js.br +0 -0
- package/dist/public/assets/_C1Z41ZOT.js +1 -0
- package/dist/public/assets/{_Be9c3c5k.js → _C3xw2ie7.js} +1 -1
- package/dist/public/assets/_C3xw2ie7.js.br +0 -0
- package/dist/public/assets/{_BwugFc4p.js → _C5WDQgft.js} +1 -1
- package/dist/public/assets/_C5WDQgft.js.br +0 -0
- package/dist/public/assets/{_4w6Dwjlh.js → _C5kNCPTr.js} +1 -1
- package/dist/public/assets/_C5kNCPTr.js.br +0 -0
- package/dist/public/assets/{_DZIuSdjQ.js → _C8-oTzqg.js} +1 -1
- package/dist/public/assets/_C8-oTzqg.js.br +0 -0
- package/dist/public/assets/_C8LKa1sz.js +1 -0
- package/dist/public/assets/{_BGPJXvZs.js → _C9FLULxr.js} +1 -1
- package/dist/public/assets/_C9FLULxr.js.br +0 -0
- package/dist/public/assets/_CA9S6UvK.js +1 -0
- package/dist/public/assets/_CDIpzj48.js +1 -0
- package/dist/public/assets/{_DVy22yDU.js → _CJ2ze_Xf.js} +1 -1
- package/dist/public/assets/_CJ2ze_Xf.js.br +0 -0
- package/dist/public/assets/{_B2k34w2U.js → _COWH3p1G.js} +1 -1
- package/dist/public/assets/_COWH3p1G.js.br +0 -0
- package/dist/public/assets/{_DMb-aGhT.js → _COhoKmvx.js} +1 -1
- package/dist/public/assets/_COhoKmvx.js.br +0 -0
- package/dist/public/assets/_CQWbHyrK.js +1 -0
- package/dist/public/assets/_CRM08pMs.js +1 -0
- package/dist/public/assets/_CYM_UKFm.js +1 -0
- package/dist/public/assets/{_TX0w8pNw.js → _CZGghR-O.js} +1 -1
- package/dist/public/assets/_CZGghR-O.js.br +0 -0
- package/dist/public/assets/_CcO4CEh4.js +1 -0
- package/dist/public/assets/{_C8hQ66UC.js → _CfWzAhd8.js} +1 -1
- package/dist/public/assets/_CfWzAhd8.js.br +0 -0
- package/dist/public/assets/_CgKljTdp.js +1 -0
- package/dist/public/assets/{_C2vaJoKP.js → _ChMsY6Je.js} +1 -1
- package/dist/public/assets/_ChMsY6Je.js.br +0 -0
- package/dist/public/assets/_CiUYqs0C.js +1 -0
- package/dist/public/assets/{_CgP5xz-S.js → _CjbLyVQW.js} +1 -1
- package/dist/public/assets/_CjbLyVQW.js.br +0 -0
- package/dist/public/assets/{_B4t3OJDi.js → _CmErIkxw.js} +1 -1
- package/dist/public/assets/_CmErIkxw.js.br +0 -0
- package/dist/public/assets/{_DFMu7qvY.js → _CpGOtLj9.js} +1 -1
- package/dist/public/assets/_CpGOtLj9.js.br +0 -0
- package/dist/public/assets/{_BSyVWzez.js → _CppbN7kq.js} +1 -1
- package/dist/public/assets/_CppbN7kq.js.br +0 -0
- package/dist/public/assets/_CrVJ_h5X.js +1 -0
- package/dist/public/assets/{_B9vNWNy5.js → _CslYE1lw.js} +1 -1
- package/dist/public/assets/_CslYE1lw.js.br +0 -0
- package/dist/public/assets/{_BWXbXLjv.js → _CvYqsy1w.js} +1 -1
- package/dist/public/assets/_CvYqsy1w.js.br +0 -0
- package/dist/public/assets/_Cw8CJ54z.js +1 -0
- package/dist/public/assets/{_B_DIXi0k.js → _CxCJpmHU.js} +1 -1
- package/dist/public/assets/_CxCJpmHU.js.br +0 -0
- package/dist/public/assets/{_BVgYEt31.js → _CxIrgloV.js} +1 -1
- package/dist/public/assets/_CxIrgloV.js.br +0 -0
- package/dist/public/assets/{_DxS6OhEn.js → _Cy8vYL75.js} +1 -1
- package/dist/public/assets/_Cy8vYL75.js.br +0 -0
- package/dist/public/assets/{_BfP8hsVl.js → _Cz4k9daX.js} +1 -1
- package/dist/public/assets/_CzQPZEEO.js +1 -0
- package/dist/public/assets/{_BFUZuxfB.js → _D-nWobWI.js} +1 -1
- package/dist/public/assets/_D-nWobWI.js.br +0 -0
- package/dist/public/assets/{_Btm6Fw4r.js → _D0IgxEpO.js} +1 -1
- package/dist/public/assets/_D0IgxEpO.js.br +0 -0
- package/dist/public/assets/_D0vgNMOE.js +1 -0
- package/dist/public/assets/{_DLQCOYuD.js → _D1sSxZ-J.js} +1 -1
- package/dist/public/assets/_D1sSxZ-J.js.br +0 -0
- package/dist/public/assets/{_MatnNE0E.js → _D2YCscEV.js} +1 -1
- package/dist/public/assets/_D2YCscEV.js.br +0 -0
- package/dist/public/assets/_D2kkzpcm.js +1 -0
- package/dist/public/assets/{_DyJiy6q7.js → _D3OQutZR.js} +1 -1
- package/dist/public/assets/_D3OQutZR.js.br +0 -0
- package/dist/public/assets/_D3SbByhI.js +1 -0
- package/dist/public/assets/{_DPtSJ35G.js → _D4QgPI4f.js} +1 -1
- package/dist/public/assets/_D4QgPI4f.js.br +0 -0
- package/dist/public/assets/_D4w7OPFI.js +1 -0
- package/dist/public/assets/_D7Z9Twmw.js +1 -0
- package/dist/public/assets/_D8Neqmo3.js +1 -0
- package/dist/public/assets/{_2jMrHLFD.js → _DCQandLH.js} +1 -1
- package/dist/public/assets/_DCQandLH.js.br +0 -0
- package/dist/public/assets/{_BsM6FL0G.js → _DD3b0lJq.js} +1 -1
- package/dist/public/assets/_DD3b0lJq.js.br +0 -0
- package/dist/public/assets/_DDsTXbIv.js +1 -0
- package/dist/public/assets/_DDsTXbIv.js.br +0 -0
- package/dist/public/assets/{_C7NJXs7I.js → _DEQ6GDV1.js} +1 -1
- package/dist/public/assets/_DEQ6GDV1.js.br +0 -0
- package/dist/public/assets/_DES7Q6-F.js +1 -0
- package/dist/public/assets/{_C6u-Srqk.js → _DGek55jx.js} +1 -1
- package/dist/public/assets/_DGek55jx.js.br +0 -0
- package/dist/public/assets/{_P1g2Hmou.js → _DK3CoQmT.js} +1 -1
- package/dist/public/assets/_DK3CoQmT.js.br +0 -0
- package/dist/public/assets/_DLBtxMjn.js +1 -0
- package/dist/public/assets/{_CNG8WwTi.js → _DLcZX64F.js} +1 -1
- package/dist/public/assets/_DLdZN73c.js +1 -0
- package/dist/public/assets/{_DqzA5hgG.js → _DN6hN8Jl.js} +1 -1
- package/dist/public/assets/_DN6hN8Jl.js.br +0 -0
- package/dist/public/assets/{_CD9reWft.js → _DOF6orvN.js} +1 -1
- package/dist/public/assets/_DOF6orvN.js.br +0 -0
- package/dist/public/assets/_DOdmnMrT.js +86 -0
- package/dist/public/assets/_DOdmnMrT.js.br +0 -0
- package/dist/public/assets/{_RA0df7Za.js → _DQhHCH72.js} +1 -1
- package/dist/public/assets/{_BqoWO0Lt.js → _DVSW8udP.js} +1 -1
- package/dist/public/assets/_DVSW8udP.js.br +0 -0
- package/dist/public/assets/{_DvW_OT8c.js → _DVU23VzS.js} +1 -1
- package/dist/public/assets/_DVU23VzS.js.br +0 -0
- package/dist/public/assets/_DVkuYZCr.js +6 -0
- package/dist/public/assets/_DVkuYZCr.js.br +0 -0
- package/dist/public/assets/{_CLSP-PhQ.js → _DZ7xeQB-.js} +1 -1
- package/dist/public/assets/_DZ7xeQB-.js.br +0 -0
- package/dist/public/assets/_DZTrB9Qn.js +1 -0
- package/dist/public/assets/_DZTrB9Qn.js.br +0 -0
- package/dist/public/assets/{_BLMA7nPf.js → _Dbe2W2ND.js} +1 -1
- package/dist/public/assets/_Dbe2W2ND.js.br +0 -0
- package/dist/public/assets/{_Ckc7dIlo.js → _Dd7aAq-X.js} +1 -1
- package/dist/public/assets/_Dd7aAq-X.js.br +0 -0
- package/dist/public/assets/{_1ROJt5O3.js → _DdHifLBM.js} +1 -1
- package/dist/public/assets/_DdHifLBM.js.br +0 -0
- package/dist/public/assets/_DdaEtq32.js +1 -0
- package/dist/public/assets/{_rd-8foIp.js → _DfJWbnsb.js} +1 -1
- package/dist/public/assets/_DfJWbnsb.js.br +0 -0
- package/dist/public/assets/{_DAVXBkYN.js → _DjkBEN6c.js} +1 -1
- package/dist/public/assets/_DjkBEN6c.js.br +0 -0
- package/dist/public/assets/_DlObQpDy.js +1 -0
- package/dist/public/assets/{_CwXTg1fU.js → _DlV6If1a.js} +1 -1
- package/dist/public/assets/_DlV6If1a.js.br +0 -0
- package/dist/public/assets/_DnQ809aW.js +1 -0
- package/dist/public/assets/_Dnixxpke.js +1 -0
- package/dist/public/assets/_DoAqgIm7.js +1 -0
- package/dist/public/assets/{_DiBlTRgB.js → _Dp0ugpas.js} +1 -1
- package/dist/public/assets/_Dp0ugpas.js.br +0 -0
- package/dist/public/assets/{_B23autIT.js → _Dr8ml38v.js} +1 -1
- package/dist/public/assets/{_og2j-mr5.js → _DvsAtbXL.js} +1 -1
- package/dist/public/assets/_DvsAtbXL.js.br +0 -0
- package/dist/public/assets/{_PwtpBaMf.js → _DwFUz6Xc.js} +1 -1
- package/dist/public/assets/_DwFUz6Xc.js.br +1 -0
- package/dist/public/assets/_DwHwlYlo.js +1 -0
- package/dist/public/assets/{_Bg1dyEQN.js → _DwWg5-yH.js} +1 -1
- package/dist/public/assets/_DwWg5-yH.js.br +0 -0
- package/dist/public/assets/_DwdPKQ6r.js +9 -0
- package/dist/public/assets/_DwdPKQ6r.js.br +0 -0
- package/dist/public/assets/_DzWUbOIO.js +1 -0
- package/dist/public/assets/_EehP87eB.js +1 -0
- package/dist/public/assets/_FqtItJvl.js +1 -0
- package/dist/public/assets/{_Dr6eQaDf.js → _GTCkP1pw.js} +1 -1
- package/dist/public/assets/_GTCkP1pw.js.br +0 -0
- package/dist/public/assets/_KuTEV_ft.js +1 -0
- package/dist/public/assets/_Kvv0wK3N.js +1 -0
- package/dist/public/assets/_MYIZvayM.js +1 -0
- package/dist/public/assets/_P3FkW3rc.js +1 -0
- package/dist/public/assets/_Pmka75Ac.js +1 -0
- package/dist/public/assets/_S1XOCK-_.js +1 -0
- package/dist/public/assets/{_vSKAFeTh.js → _VTdgQApy.js} +1 -1
- package/dist/public/assets/_VTdgQApy.js.br +0 -0
- package/dist/public/assets/{_DaSvMIzg.js → _VmDq58nH.js} +2 -2
- package/dist/public/assets/_VmDq58nH.js.br +0 -0
- package/dist/public/assets/{_Bc_Ezk5L.js → _XHldBTre.js} +1 -1
- package/dist/public/assets/_XHldBTre.js.br +0 -0
- package/dist/public/assets/{_Crcj75Rn.js → _XYWgiNRI.js} +1 -1
- package/dist/public/assets/_XYWgiNRI.js.br +0 -0
- package/dist/public/assets/_ZUk8VFzw.js +1 -0
- package/dist/public/assets/{_DeqN8IUm.js → _bw4eF0Pd.js} +1 -1
- package/dist/public/assets/_bw4eF0Pd.js.br +0 -0
- package/dist/public/assets/_cVW5OxoX.js +1 -0
- package/dist/public/assets/_cwhmIIQq.js +1 -0
- package/dist/public/assets/_dv2gxFG9.js +1 -0
- package/dist/public/assets/{_DPT6ZO90.js → _ffrrcZHB.js} +1 -1
- package/dist/public/assets/_ffrrcZHB.js.br +0 -0
- package/dist/public/assets/{_Cgv_vb21.js → _itKhXiEn.js} +1 -1
- package/dist/public/assets/_itKhXiEn.js.br +0 -0
- package/dist/public/assets/_jZWhO7XK.js +1 -0
- package/dist/public/assets/{_CgUj7qP_.js → _lI81U7zm.js} +1 -1
- package/dist/public/assets/_lI81U7zm.js.br +0 -0
- package/dist/public/assets/{_-dqzO7S_.js → _mzabRm9a.js} +1 -1
- package/dist/public/assets/_mzabRm9a.js.br +0 -0
- package/dist/public/assets/{_B7pXsDiF.js → _nckb1bc5.js} +1 -1
- package/dist/public/assets/_nckb1bc5.js.br +0 -0
- package/dist/public/assets/{_BX4xzjKF.js → _pFf5fxSt.js} +1 -1
- package/dist/public/assets/_pFf5fxSt.js.br +0 -0
- package/dist/public/assets/{_CT9R7V5L.js → _tmSPJWly.js} +1 -1
- package/dist/public/assets/_tmSPJWly.js.br +0 -0
- package/dist/public/assets/_vTPEvyHb.js +1 -0
- package/dist/public/assets/_wkLZXo2a.js +1 -0
- package/dist/public/assets/{_hI9Uq04u.js → _xe05NvyT.js} +1 -1
- package/dist/public/assets/_zCc28sXY.js +1 -0
- package/dist/public/assets/{app-page-CyU0ft_x.css → app-page-B3uxDwW8.css} +1 -1
- package/dist/public/assets/app-page-B3uxDwW8.css.br +0 -0
- package/dist/public/assets/{command-palette-BgUVS5fJ.css → command-palette-BKFO5yNz.css} +1 -1
- package/dist/public/assets/command-palette-BKFO5yNz.css.br +0 -0
- package/dist/public/assets/files-view-BmoZqRfk.css +1 -0
- package/dist/public/assets/files-view-BmoZqRfk.css.br +0 -0
- package/dist/public/assets/files-view-DMvWByLT.js +2 -0
- package/dist/public/assets/group.css.ts-DkHzYLC_.css +1 -0
- package/dist/public/assets/group.css.ts-DkHzYLC_.css.br +0 -0
- package/dist/public/assets/{icon-search-Cslr912D.css → icon-search-DcAn99Uv.css} +1 -1
- package/dist/public/assets/icon-search-DcAn99Uv.css.br +0 -0
- package/dist/public/assets/key-bar.css.ts-Brsaaphs.css +1 -0
- package/dist/public/assets/key-bar.css.ts-Brsaaphs.css.br +0 -0
- package/dist/public/assets/manage-workspace-CG1L1AIj.css +1 -0
- package/dist/public/assets/manage-workspace-Dde75y4Y.js +2 -0
- package/dist/public/assets/{modal-view-C0q2p23m.css → modal-view-B53laKnF.css} +1 -1
- package/dist/public/assets/modal-view-B53laKnF.css.br +0 -0
- package/dist/public/assets/new-DR_SAB-w.js +1 -0
- package/dist/public/assets/new-workspace-B0jMD3hx.css +1 -0
- package/dist/public/assets/new-workspace-B0jMD3hx.css.br +0 -0
- package/dist/public/assets/new-workspace-B58TTumC.js +2 -0
- package/dist/public/assets/port-chip-B50FPCUq.css +1 -0
- package/dist/public/assets/port-chip-B50FPCUq.css.br +0 -0
- package/dist/public/assets/prompt-dialog-Byg2Vsyu.css +1 -0
- package/dist/public/assets/prompt-dialog-Byg2Vsyu.css.br +0 -0
- package/dist/public/assets/{quick-open-Diva1_qC.css → quick-open-b_qU9L2I.css} +1 -1
- package/dist/public/assets/quick-open-b_qU9L2I.css.br +0 -0
- package/dist/public/assets/repo-picker-CusW9u6R.css +1 -0
- package/dist/public/assets/repo-picker-CusW9u6R.css.br +0 -0
- package/dist/public/assets/review-view-BamVDW2A.js +2 -0
- package/dist/public/assets/review-view-CQMqAe8-.css +1 -0
- package/dist/public/assets/review-view-CQMqAe8-.css.br +0 -0
- package/dist/public/assets/{section-iG3mkmoF.css → section-CM21Ts_U.css} +1 -1
- package/dist/public/assets/section-CM21Ts_U.css.br +0 -0
- package/dist/public/assets/settings-DR_SAB-w.js +1 -0
- package/dist/public/assets/settings-page-B9mxToFZ.js +2 -0
- package/dist/public/assets/settings-page-D5ziBZ7g.css +1 -0
- package/dist/public/assets/settings-page-D5ziBZ7g.css.br +0 -0
- package/dist/public/assets/skill-row-ChQm9ooq.css +1 -0
- package/dist/public/assets/sso-auth-B8H1Ip7_.css +1 -0
- package/dist/public/assets/sso-auth-B8H1Ip7_.css.br +0 -0
- package/dist/public/assets/w-DR_SAB-w.js +1 -0
- package/dist/public/assets/w._-BGuHF20H.js +1 -0
- package/dist/public/assets/w._-DR_SAB-w.js +1 -0
- package/dist/public/assets/w._-DdmIl-uS.js +1 -0
- package/dist/public/badge-96.png +0 -0
- package/dist/public/sw.js +51 -7
- package/dist/public/sw.js.br +0 -0
- package/lib/setup/agents.json +4 -1
- package/package.json +1 -1
- package/scripts/migrate.mjs +27 -0
- package/dist/_V3gojze9.js +0 -2
- package/dist/public/assets/_-dqzO7S_.js.br +0 -0
- package/dist/public/assets/_0C7z67Qm.js.br +0 -9
- package/dist/public/assets/_1ROJt5O3.js.br +0 -0
- package/dist/public/assets/_1XZR3z1L.js +0 -1
- package/dist/public/assets/_2jMrHLFD.js.br +0 -0
- package/dist/public/assets/_4w6Dwjlh.js.br +0 -0
- package/dist/public/assets/_7qQCv119.js +0 -1
- package/dist/public/assets/_8LHYZ0G8.js.br +0 -0
- package/dist/public/assets/_9lyEjkvB.js +0 -1
- package/dist/public/assets/_ATtSGU4R.js +0 -1
- package/dist/public/assets/_B-Y1YuyQ.js.br +0 -0
- package/dist/public/assets/_B0m_B4cy.js.br +0 -0
- package/dist/public/assets/_B2k34w2U.js.br +0 -0
- package/dist/public/assets/_B2r0KxkM.js +0 -1
- package/dist/public/assets/_B4t3OJDi.js.br +0 -0
- package/dist/public/assets/_B6XD8a0B.js +0 -1
- package/dist/public/assets/_B6XD8a0B.js.br +0 -0
- package/dist/public/assets/_B7pXsDiF.js.br +0 -0
- package/dist/public/assets/_B9vNWNy5.js.br +0 -0
- package/dist/public/assets/_BACT_fWM.js.br +0 -0
- package/dist/public/assets/_BD9DXti2.js +0 -1
- package/dist/public/assets/_BFUZuxfB.js.br +0 -0
- package/dist/public/assets/_BGPJXvZs.js.br +0 -0
- package/dist/public/assets/_BHPRD7wn.js +0 -1
- package/dist/public/assets/_BIY6vLu9.js.br +0 -0
- package/dist/public/assets/_BIqT1F8o.js +0 -1
- package/dist/public/assets/_BKPR7Exm.js +0 -1
- package/dist/public/assets/_BLMA7nPf.js.br +0 -0
- package/dist/public/assets/_BMG0X0XF.js +0 -1
- package/dist/public/assets/_BPX5CxjX.js +0 -1
- package/dist/public/assets/_BS9oCUE0.js +0 -1
- package/dist/public/assets/_BSSpkgu8.js +0 -1
- package/dist/public/assets/_BSyVWzez.js.br +0 -0
- package/dist/public/assets/_BVelHN7q.js +0 -1
- package/dist/public/assets/_BVgYEt31.js.br +0 -0
- package/dist/public/assets/_BWXbXLjv.js.br +0 -0
- package/dist/public/assets/_BX4xzjKF.js.br +0 -0
- package/dist/public/assets/_BXdWjkI5.js +0 -1
- package/dist/public/assets/_B_DIXi0k.js.br +0 -0
- package/dist/public/assets/_Ba1mrOxI.js.br +0 -0
- package/dist/public/assets/_BaxiLRDq.js.br +0 -0
- package/dist/public/assets/_Bc_Ezk5L.js.br +0 -0
- package/dist/public/assets/_Be9c3c5k.js.br +0 -0
- package/dist/public/assets/_BeNkN5H0.js +0 -1
- package/dist/public/assets/_Bg1dyEQN.js.br +0 -0
- package/dist/public/assets/_Bi9nBUKQ.js +0 -1
- package/dist/public/assets/_BmB3qu5w.js +0 -1
- package/dist/public/assets/_BpyT0ApF.js +0 -1
- package/dist/public/assets/_BqA4Q1j3.js +0 -1
- package/dist/public/assets/_BqoWO0Lt.js.br +0 -0
- package/dist/public/assets/_BsM6FL0G.js.br +0 -0
- package/dist/public/assets/_Btm6Fw4r.js.br +0 -0
- package/dist/public/assets/_BubcBfAr.js.br +0 -0
- package/dist/public/assets/_BvKUsWT1.js +0 -1
- package/dist/public/assets/_BwugFc4p.js.br +0 -0
- package/dist/public/assets/_BxlXGcbO.js +0 -1
- package/dist/public/assets/_Byer70eB.js +0 -1
- package/dist/public/assets/_C0udqXoV.js +0 -1
- package/dist/public/assets/_C1a168fm.js +0 -1
- package/dist/public/assets/_C1x7pcqW.js +0 -1
- package/dist/public/assets/_C2vaJoKP.js.br +0 -0
- package/dist/public/assets/_C3uAjjk3.js +0 -1
- package/dist/public/assets/_C4rxuku1.js.br +0 -0
- package/dist/public/assets/_C6KQjdMM.js +0 -1
- package/dist/public/assets/_C6u-Srqk.js.br +0 -0
- package/dist/public/assets/_C7NJXs7I.js.br +0 -0
- package/dist/public/assets/_C8hQ66UC.js.br +0 -0
- package/dist/public/assets/_CAB7vlnJ.js +0 -1
- package/dist/public/assets/_CASEbE0K.js +0 -86
- package/dist/public/assets/_CASEbE0K.js.br +0 -0
- package/dist/public/assets/_CD9reWft.js.br +0 -0
- package/dist/public/assets/_CEKYlz0a.js.br +0 -0
- package/dist/public/assets/_CEj4Mwc1.js +0 -1
- package/dist/public/assets/_CI6Hg_A9.js +0 -1
- package/dist/public/assets/_CIFyxofO.js +0 -1
- package/dist/public/assets/_CKxJlwEy.js +0 -1
- package/dist/public/assets/_CLSP-PhQ.js.br +0 -0
- package/dist/public/assets/_CPzscDEb.js +0 -1
- package/dist/public/assets/_CQLI-En1.js +0 -1
- package/dist/public/assets/_CSsQyHnz.js.br +0 -0
- package/dist/public/assets/_CT9R7V5L.js.br +0 -0
- package/dist/public/assets/_CYk469iO.js +0 -1
- package/dist/public/assets/_CZ5Fi642.js +0 -1
- package/dist/public/assets/_CZ5Fi642.js.br +0 -0
- package/dist/public/assets/_C_5HKb42.js +0 -9
- package/dist/public/assets/_C_5HKb42.js.br +0 -0
- package/dist/public/assets/_CcKsIH5h.js.br +0 -0
- package/dist/public/assets/_Ce4nsqo2.js +0 -6
- package/dist/public/assets/_Ce4nsqo2.js.br +0 -0
- package/dist/public/assets/_Cf4gqSQz.js +0 -1
- package/dist/public/assets/_CgP5xz-S.js.br +0 -0
- package/dist/public/assets/_CgUj7qP_.js.br +0 -0
- package/dist/public/assets/_Cgv_vb21.js.br +0 -0
- package/dist/public/assets/_Ci0fM4lS.js.br +0 -0
- package/dist/public/assets/_Ckc7dIlo.js.br +0 -0
- package/dist/public/assets/_Clv6aVv7.js.br +0 -0
- package/dist/public/assets/_CqkTkgJB.js +0 -1
- package/dist/public/assets/_Crcj75Rn.js.br +0 -0
- package/dist/public/assets/_CuGgpK2u.js +0 -1
- package/dist/public/assets/_CuVmBZbd.js +0 -1
- package/dist/public/assets/_Cw8c7j2h.js +0 -1
- package/dist/public/assets/_CwXTg1fU.js.br +0 -0
- package/dist/public/assets/_D6fhoYuY.js +0 -1
- package/dist/public/assets/_D9nJ4nG1.js.br +0 -0
- package/dist/public/assets/_DAVXBkYN.js.br +0 -0
- package/dist/public/assets/_DDQhJR3T.js +0 -1
- package/dist/public/assets/_DFMu7qvY.js.br +0 -0
- package/dist/public/assets/_DKj8yOqM.js.br +0 -0
- package/dist/public/assets/_DLQCOYuD.js.br +0 -0
- package/dist/public/assets/_DMb-aGhT.js.br +0 -0
- package/dist/public/assets/_DOghH8Tl.js +0 -1
- package/dist/public/assets/_DPT6ZO90.js.br +0 -0
- package/dist/public/assets/_DPtSJ35G.js.br +0 -0
- package/dist/public/assets/_DTJl30hJ.js.br +0 -0
- package/dist/public/assets/_DTcQCcgk.js +0 -1
- package/dist/public/assets/_DVy22yDU.js.br +0 -0
- package/dist/public/assets/_DWyu89Hi.js +0 -1
- package/dist/public/assets/_DZIuSdjQ.js.br +0 -0
- package/dist/public/assets/_DaSvMIzg.js.br +0 -0
- package/dist/public/assets/_DbZpXQPs.js +0 -1
- package/dist/public/assets/_Dd3TMJAY.js +0 -1
- package/dist/public/assets/_Dem8VmJt.js.br +0 -0
- package/dist/public/assets/_DeqN8IUm.js.br +0 -0
- package/dist/public/assets/_DfrEESyG.js +0 -1
- package/dist/public/assets/_DiBlTRgB.js.br +0 -0
- package/dist/public/assets/_Dj8W5hAy.js.br +0 -0
- package/dist/public/assets/_DmehuAAq.js +0 -1
- package/dist/public/assets/_DmehuAAq.js.br +0 -0
- package/dist/public/assets/_DoTqr-WV.js +0 -1
- package/dist/public/assets/_DqvnbtAR.js.br +0 -0
- package/dist/public/assets/_DqzA5hgG.js.br +0 -0
- package/dist/public/assets/_Dr6eQaDf.js.br +0 -0
- package/dist/public/assets/_DtY8_Qtl.js.br +0 -0
- package/dist/public/assets/_Dv8p2zgH.js +0 -1
- package/dist/public/assets/_DvW_OT8c.js.br +0 -0
- package/dist/public/assets/_DxS6OhEn.js.br +0 -0
- package/dist/public/assets/_DyJiy6q7.js.br +0 -0
- package/dist/public/assets/_FC28AlBj.js +0 -1
- package/dist/public/assets/_MatnNE0E.js.br +0 -0
- package/dist/public/assets/_N0oP21xr.js +0 -1
- package/dist/public/assets/_Opj7Hn0u.js.br +0 -0
- package/dist/public/assets/_P1g2Hmou.js.br +0 -0
- package/dist/public/assets/_PwtpBaMf.js.br +0 -0
- package/dist/public/assets/_TX0w8pNw.js.br +0 -0
- package/dist/public/assets/_ZHFqgS6H.js +0 -1
- package/dist/public/assets/_awhwVzn2.js +0 -1
- package/dist/public/assets/_bcmbsCHv.js +0 -1
- package/dist/public/assets/_cX3i7NsL.js +0 -1
- package/dist/public/assets/_fkTQCq_W.js.br +0 -0
- package/dist/public/assets/_h4esEJW5.js +0 -1
- package/dist/public/assets/_kxgPx4kL.js +0 -1
- package/dist/public/assets/_naTBruJS.js +0 -1
- package/dist/public/assets/_oA-Vr8Cf.js.br +0 -0
- package/dist/public/assets/_oBcpaEKd.js.br +0 -0
- package/dist/public/assets/_og2j-mr5.js.br +0 -0
- package/dist/public/assets/_qI-Bm0LQ.js +0 -1
- package/dist/public/assets/_rd-8foIp.js.br +0 -0
- package/dist/public/assets/_sQjKpNXF.js +0 -1
- package/dist/public/assets/_tPOATR_S.js.br +0 -0
- package/dist/public/assets/_vSKAFeTh.js.br +0 -0
- package/dist/public/assets/_yUTKWdFy.js +0 -1
- package/dist/public/assets/app-page-CyU0ft_x.css.br +0 -0
- package/dist/public/assets/command-palette-BgUVS5fJ.css.br +0 -0
- package/dist/public/assets/files-view-68OApH0T.css +0 -1
- package/dist/public/assets/files-view-68OApH0T.css.br +0 -0
- package/dist/public/assets/files-view-CK0sC8sL.js +0 -2
- package/dist/public/assets/group.css.ts-bSDNRl7w.css +0 -1
- package/dist/public/assets/group.css.ts-bSDNRl7w.css.br +0 -0
- package/dist/public/assets/icon-search-Cslr912D.css.br +0 -0
- package/dist/public/assets/key-bar.css.ts-Bku3uER9.css +0 -1
- package/dist/public/assets/key-bar.css.ts-Bku3uER9.css.br +0 -0
- package/dist/public/assets/manage-workspace-Cp4MnvNw.js +0 -2
- package/dist/public/assets/manage-workspace-EFWH7-Cv.css +0 -1
- package/dist/public/assets/modal-view-C0q2p23m.css.br +0 -0
- package/dist/public/assets/new-BHVoRMDD.js +0 -1
- package/dist/public/assets/new-workspace-ChGmqibN.css +0 -1
- package/dist/public/assets/new-workspace-ChGmqibN.css.br +0 -0
- package/dist/public/assets/new-workspace-TC9V3qGi.js +0 -2
- package/dist/public/assets/port-chip-DefDqlaR.css +0 -1
- package/dist/public/assets/port-chip-DefDqlaR.css.br +0 -0
- package/dist/public/assets/prompt-dialog-CJDGPwkv.css +0 -1
- package/dist/public/assets/prompt-dialog-CJDGPwkv.css.br +0 -0
- package/dist/public/assets/quick-open-Diva1_qC.css.br +0 -0
- package/dist/public/assets/repo-picker-CpKpWL1n.css +0 -1
- package/dist/public/assets/repo-picker-CpKpWL1n.css.br +0 -0
- package/dist/public/assets/review-view-CFzk48_R.js +0 -2
- package/dist/public/assets/review-view-CgJv3K8t.css +0 -1
- package/dist/public/assets/review-view-CgJv3K8t.css.br +0 -0
- package/dist/public/assets/section-iG3mkmoF.css.br +0 -0
- package/dist/public/assets/settings-BHVoRMDD.js +0 -1
- package/dist/public/assets/settings-page-SZbATvFs.js +0 -2
- package/dist/public/assets/settings-page-lzx2uvfg.css +0 -1
- package/dist/public/assets/settings-page-lzx2uvfg.css.br +0 -0
- package/dist/public/assets/skill-row-bJ0ycL8_.css +0 -1
- package/dist/public/assets/sso-auth-hsN6VJBq.css +0 -1
- package/dist/public/assets/sso-auth-hsN6VJBq.css.br +0 -4
- package/dist/public/assets/w-BHVoRMDD.js +0 -1
- package/dist/public/assets/w._-BHVoRMDD.js +0 -1
- package/dist/public/assets/w._-Cwa3FQTr.js +0 -1
- package/dist/public/assets/w._-XzA5CKe1.js +0 -1
package/README.md
CHANGED
|
@@ -62,11 +62,33 @@ work-source # status
|
|
|
62
62
|
./scripts/update.sh # later: pull latest, rebuild, restart
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
### Access
|
|
66
|
+
|
|
67
|
+
work has no login of its own — it runs agents and terminals as you, so it
|
|
68
|
+
answers **this machine only** by default (it listens on `127.0.0.1`). To
|
|
69
|
+
reach it from other devices, put it behind something that terminates TLS
|
|
70
|
+
and authenticates — a reverse proxy with a login, a Cloudflare Tunnel with
|
|
71
|
+
Access, `tailscale serve` — and tell work about it:
|
|
72
|
+
|
|
73
|
+
- `WORK_ALLOWED_HOSTS=work.example.com` — the name(s) the proxy serves
|
|
74
|
+
(their workspace-port subdomains are included). work refuses any other
|
|
75
|
+
name, which is what stops a web page elsewhere from pointing its own name
|
|
76
|
+
at your machine (DNS rebinding).
|
|
77
|
+
- If the proxy runs on **another machine**, work has to listen on the
|
|
78
|
+
network for it: `WORK_LISTEN=0.0.0.0` and
|
|
79
|
+
`WORK_TRUSTED_PROXIES=<proxy ip>` (IPs or CIDRs, comma-separated). work
|
|
80
|
+
then answers that proxy and this machine, and refuses everyone else on the
|
|
81
|
+
network, who would otherwise walk around the proxy's login.
|
|
82
|
+
`WORK_TRUSTED_PROXIES=*` answers any machine — only on a network you
|
|
83
|
+
trust as it is.
|
|
84
|
+
|
|
85
|
+
Set them when installing (`WORK_ALLOWED_HOSTS=… WORK_TRUSTED_PROXIES=…
|
|
86
|
+
WORK_LISTEN=0.0.0.0 work setup`); `work setup` keeps them in the service
|
|
87
|
+
from then on. A refused request gets a page saying which setting it needs.
|
|
88
|
+
Installs from before this default keep listening on every interface, and
|
|
89
|
+
other machines see that page until they are configured. Everything (pages,
|
|
90
|
+
API, and the `/term` websockets) serves from the single app port, so route
|
|
91
|
+
the whole hostname to it.
|
|
70
92
|
|
|
71
93
|
**Opening workspace ports remotely.** The port chips in the sidebar link to
|
|
72
94
|
`http://<host>:<port>`, which only works where the machine is reachable
|
|
@@ -131,7 +153,9 @@ targeting that branch.
|
|
|
131
153
|
| `WORK_ROOT` | `~/work` | Workspaces root (+ `.cache` bare repos) |
|
|
132
154
|
| `WORK_DATA_DIR` | `~/.local/share/work` | sqlite db and server state |
|
|
133
155
|
| `WORK_APP_PORT` | `7171` | HTTP server (app, assets, and `/term` websockets) |
|
|
134
|
-
| `WORK_ALLOWED_HOSTS` | — |
|
|
156
|
+
| `WORK_ALLOWED_HOSTS` | — | Hostnames a proxy serves it under (see Access) |
|
|
157
|
+
| `WORK_LISTEN` | `127.0.0.1` | Listen address (`0.0.0.0` for every interface) |
|
|
158
|
+
| `WORK_TRUSTED_PROXIES` | — | Proxy IPs/CIDRs allowed in from the network (`*`) |
|
|
135
159
|
| `WORK_PORT_HOSTS` | `sub` | Port-chip hostname shape: `sub` / `dash` (see above) |
|
|
136
160
|
| `WORK_USER` / `WORK_HOST` | current user/host | Branch-name prefix parts |
|
|
137
161
|
| `WORK_BRANCH_PREFIX` | `<user>-<host>` | Whole branch-name prefix, overriding the parts |
|
package/bin/work.mjs
CHANGED
|
@@ -645,9 +645,22 @@ async function doctorCmd() {
|
|
|
645
645
|
}
|
|
646
646
|
if (args.includes("--json")) return console.log(JSON.stringify(d, null, 2));
|
|
647
647
|
console.log(formatDoctor(d));
|
|
648
|
+
const access = accessNote();
|
|
649
|
+
if (access) warn(access);
|
|
648
650
|
if (!d.ready) process.exit(1);
|
|
649
651
|
}
|
|
650
652
|
|
|
653
|
+
/** Said when the service listens beyond this machine with nothing declared
|
|
654
|
+
* to answer there: every other machine is refused (server/access.ts), which
|
|
655
|
+
* is safe, but likely not what the listening was for. */
|
|
656
|
+
function accessNote() {
|
|
657
|
+
const env = installedServiceEnv();
|
|
658
|
+
const listen = env.WORK_LISTEN;
|
|
659
|
+
if (!listen || listen === "127.0.0.1" || listen === "::1") return null;
|
|
660
|
+
if (env.WORK_TRUSTED_PROXIES) return null;
|
|
661
|
+
return `work listens on ${listen} but WORK_TRUSTED_PROXIES is unset, so other machines are refused. Reaching it from elsewhere goes through an auth proxy: WORK_TRUSTED_PROXIES=<proxy ip> WORK_ALLOWED_HOSTS=<its hostname> work setup (or WORK_LISTEN= to go back to this machine only).`;
|
|
662
|
+
}
|
|
663
|
+
|
|
651
664
|
/**
|
|
652
665
|
* Bring the machine to "ready": required tools, then optional ones (each
|
|
653
666
|
* non-fatal). GitHub sign-in and agent CLIs are app jobs (Settings) — this
|
|
@@ -730,6 +743,15 @@ function serviceFile() {
|
|
|
730
743
|
* first update silently resets the port, root and data dir to defaults —
|
|
731
744
|
* and a lost WORK_DATA_DIR points the server at an empty database, making
|
|
732
745
|
* every workspace look like it vanished. */
|
|
746
|
+
/** work.socket's ListenStream for WORK_LISTEN: this machine only unless
|
|
747
|
+
* set, every interface for `0.0.0.0` / `::` / `*`, else that address. */
|
|
748
|
+
function listenStream(listen, port) {
|
|
749
|
+
if (!listen) return `127.0.0.1:${port}`;
|
|
750
|
+
if (listen === "0.0.0.0" || listen === "::" || listen === "*")
|
|
751
|
+
return String(port);
|
|
752
|
+
return listen.includes(":") ? `[${listen}]:${port}` : `${listen}:${port}`;
|
|
753
|
+
}
|
|
754
|
+
|
|
733
755
|
function installedServiceEnv() {
|
|
734
756
|
const installed = {};
|
|
735
757
|
try {
|
|
@@ -766,12 +788,22 @@ function serviceEnv() {
|
|
|
766
788
|
"WORK_ROOT",
|
|
767
789
|
"WORK_DATA_DIR",
|
|
768
790
|
"WORK_ALLOWED_HOSTS",
|
|
791
|
+
"WORK_LISTEN",
|
|
792
|
+
"WORK_TRUSTED_PROXIES",
|
|
769
793
|
]) {
|
|
770
794
|
// `in` rather than a truthy check, so `WORK_ALLOWED_HOSTS= work setup`
|
|
771
795
|
// can deliberately clear a setting the installed service still carries.
|
|
772
796
|
const value = key in process.env ? process.env[key] : installed[key];
|
|
773
797
|
if (value) env[key] = value;
|
|
774
798
|
}
|
|
799
|
+
// A new install listens on this machine only. One installed before that
|
|
800
|
+
// default listened on every interface, and other machines (a phone, the
|
|
801
|
+
// proxy in front of it) may be reaching it that way: keep it listening,
|
|
802
|
+
// so they get work's page naming the setting to add (server/access.ts)
|
|
803
|
+
// rather than a connection that is simply refused.
|
|
804
|
+
if (!("WORK_LISTEN" in process.env) && !installed.WORK_LISTEN) {
|
|
805
|
+
if (fs.existsSync(serviceFile())) env.WORK_LISTEN = "0.0.0.0";
|
|
806
|
+
}
|
|
775
807
|
// entry.ts prefers PORT, so carrying WORK_APP_PORT forward without this
|
|
776
808
|
// would leave the service on the default port anyway.
|
|
777
809
|
env.PORT = env.WORK_APP_PORT || appPort;
|
|
@@ -1052,7 +1084,7 @@ ${envXml}
|
|
|
1052
1084
|
Description=work, agentic dev workspace GUI (its port, held across restarts)
|
|
1053
1085
|
|
|
1054
1086
|
[Socket]
|
|
1055
|
-
ListenStream=${port}
|
|
1087
|
+
ListenStream=${listenStream(serviceEnv().WORK_LISTEN, port)}
|
|
1056
1088
|
|
|
1057
1089
|
[Install]
|
|
1058
1090
|
WantedBy=sockets.target
|