@dylanpiercey/work 0.0.1
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 +99 -0
- package/bin/work.mjs +236 -0
- package/dist/_B9zhiogp.js +1797 -0
- package/dist/_BMI-E3GI.js +44 -0
- package/dist/_BmSjjJ2E.js +43 -0
- package/dist/_DmVVbFOa.js +7641 -0
- package/dist/_JcAWG3K1.js +2422 -0
- package/dist/_xlrdOUsL.js +877 -0
- package/dist/index.mjs +21023 -0
- package/dist/public/apple-touch-icon.png +0 -0
- package/dist/public/assets/_0fSaH845.js +2 -0
- package/dist/public/assets/_0fSaH845.js.map +1 -0
- package/dist/public/assets/_1d3aXaVP.js +2 -0
- package/dist/public/assets/_1d3aXaVP.js.map +1 -0
- package/dist/public/assets/_2IIEA8gg.js +2 -0
- package/dist/public/assets/_2IIEA8gg.js.map +1 -0
- package/dist/public/assets/_2WURHcVF2.js +2 -0
- package/dist/public/assets/_2WURHcVF2.js.map +1 -0
- package/dist/public/assets/_2sfcym2Z.js +2 -0
- package/dist/public/assets/_2sfcym2Z.js.map +1 -0
- package/dist/public/assets/_4CJ0cIlV.js +2 -0
- package/dist/public/assets/_4CJ0cIlV.js.map +1 -0
- package/dist/public/assets/_4G7pJPwS2.js +2 -0
- package/dist/public/assets/_4G7pJPwS2.js.map +1 -0
- package/dist/public/assets/_4ZHwLPI52.js +2 -0
- package/dist/public/assets/_4ZHwLPI52.js.map +1 -0
- package/dist/public/assets/_5eyTD99u.js +2 -0
- package/dist/public/assets/_5eyTD99u.js.map +1 -0
- package/dist/public/assets/_7GGW24-e2.js +2 -0
- package/dist/public/assets/_7GGW24-e2.js.map +1 -0
- package/dist/public/assets/_8PwUyIlP2.js +2 -0
- package/dist/public/assets/_8PwUyIlP2.js.map +1 -0
- package/dist/public/assets/_9MfHhQsQ.js +2 -0
- package/dist/public/assets/_9MfHhQsQ.js.map +1 -0
- package/dist/public/assets/_B1RWQWA52.js +2 -0
- package/dist/public/assets/_B1RWQWA52.js.map +1 -0
- package/dist/public/assets/_B2OO5cIa2.js +2 -0
- package/dist/public/assets/_B2OO5cIa2.js.map +1 -0
- package/dist/public/assets/_B2gwz-sJ2.js +2 -0
- package/dist/public/assets/_B2gwz-sJ2.js.map +1 -0
- package/dist/public/assets/_B3-BJFgG2.js +2 -0
- package/dist/public/assets/_B3-BJFgG2.js.map +1 -0
- package/dist/public/assets/_B35FxJx-.js +2 -0
- package/dist/public/assets/_B35FxJx-.js.map +1 -0
- package/dist/public/assets/_B3gFvitq2.js +2 -0
- package/dist/public/assets/_B3gFvitq2.js.map +1 -0
- package/dist/public/assets/_B5W6OYN7.js +2 -0
- package/dist/public/assets/_B5W6OYN7.js.map +1 -0
- package/dist/public/assets/_B5_Aarum.js +2 -0
- package/dist/public/assets/_B5_Aarum.js.map +1 -0
- package/dist/public/assets/_B5eOa1yu.js +2 -0
- package/dist/public/assets/_B5eOa1yu.js.map +1 -0
- package/dist/public/assets/_B68TUdTA.js +2 -0
- package/dist/public/assets/_B68TUdTA.js.map +1 -0
- package/dist/public/assets/_B6D30XZt.js +2 -0
- package/dist/public/assets/_B6D30XZt.js.map +1 -0
- package/dist/public/assets/_B7U1oqTK.js +2 -0
- package/dist/public/assets/_B7U1oqTK.js.map +1 -0
- package/dist/public/assets/_B7ZEbQpA2.js +2 -0
- package/dist/public/assets/_B7ZEbQpA2.js.map +1 -0
- package/dist/public/assets/_BAWPOn9u.js +2 -0
- package/dist/public/assets/_BAWPOn9u.js.map +1 -0
- package/dist/public/assets/_BAd6mRrB.js +2 -0
- package/dist/public/assets/_BAd6mRrB.js.map +1 -0
- package/dist/public/assets/_BC2Px7Mm.js +2 -0
- package/dist/public/assets/_BC2Px7Mm.js.map +1 -0
- package/dist/public/assets/_BC_s9l72.js +2 -0
- package/dist/public/assets/_BC_s9l72.js.map +1 -0
- package/dist/public/assets/_BHWKrbxM.js +2 -0
- package/dist/public/assets/_BHWKrbxM.js.map +1 -0
- package/dist/public/assets/_BHpQb5nM.js +2 -0
- package/dist/public/assets/_BHpQb5nM.js.map +1 -0
- package/dist/public/assets/_BJitypiv.js +2 -0
- package/dist/public/assets/_BJitypiv.js.map +1 -0
- package/dist/public/assets/_BM315xPC.js +2 -0
- package/dist/public/assets/_BM315xPC.js.map +1 -0
- package/dist/public/assets/_BML5mF2J.js +2 -0
- package/dist/public/assets/_BML5mF2J.js.map +1 -0
- package/dist/public/assets/_BMqwQI7S.js +2 -0
- package/dist/public/assets/_BMqwQI7S.js.map +1 -0
- package/dist/public/assets/_BN8roHge.js +2 -0
- package/dist/public/assets/_BN8roHge.js.map +1 -0
- package/dist/public/assets/_BNLmms1o.js +2 -0
- package/dist/public/assets/_BNLmms1o.js.map +1 -0
- package/dist/public/assets/_BPjhmG05.js +2 -0
- package/dist/public/assets/_BPjhmG05.js.map +1 -0
- package/dist/public/assets/_BQwnQ1RS.js +2 -0
- package/dist/public/assets/_BQwnQ1RS.js.map +1 -0
- package/dist/public/assets/_BR5RXkoi.js +2 -0
- package/dist/public/assets/_BR5RXkoi.js.map +1 -0
- package/dist/public/assets/_BRdr0IET2.js +2 -0
- package/dist/public/assets/_BRdr0IET2.js.map +1 -0
- package/dist/public/assets/_BSMLrYjP.js +2 -0
- package/dist/public/assets/_BSMLrYjP.js.map +1 -0
- package/dist/public/assets/_BSWPekZh2.js +2 -0
- package/dist/public/assets/_BSWPekZh2.js.map +1 -0
- package/dist/public/assets/_BUDT5pXO2.js +2 -0
- package/dist/public/assets/_BUDT5pXO2.js.map +1 -0
- package/dist/public/assets/_BUR00bIu.js +2 -0
- package/dist/public/assets/_BUR00bIu.js.map +1 -0
- package/dist/public/assets/_BVOciON5.js +2 -0
- package/dist/public/assets/_BVOciON5.js.map +1 -0
- package/dist/public/assets/_BVqpJbzt.js +2 -0
- package/dist/public/assets/_BVqpJbzt.js.map +1 -0
- package/dist/public/assets/_BWXHIvNe2.js +2 -0
- package/dist/public/assets/_BWXHIvNe2.js.map +1 -0
- package/dist/public/assets/_BX8lD8tm2.js +2 -0
- package/dist/public/assets/_BX8lD8tm2.js.map +1 -0
- package/dist/public/assets/_BXViO-2h.js +2 -0
- package/dist/public/assets/_BXViO-2h.js.map +1 -0
- package/dist/public/assets/_BXeXVLqQ.js +2 -0
- package/dist/public/assets/_BXeXVLqQ.js.map +1 -0
- package/dist/public/assets/_BYOwaDjH.js +2 -0
- package/dist/public/assets/_BYOwaDjH.js.map +1 -0
- package/dist/public/assets/_BYnGhZoM.js +2 -0
- package/dist/public/assets/_BYnGhZoM.js.map +1 -0
- package/dist/public/assets/_BZCL-v6S2.js +2 -0
- package/dist/public/assets/_BZCL-v6S2.js.map +1 -0
- package/dist/public/assets/_B_bV9PQ92.js +2 -0
- package/dist/public/assets/_B_bV9PQ92.js.map +1 -0
- package/dist/public/assets/_B_tTalzw.js +2 -0
- package/dist/public/assets/_B_tTalzw.js.map +1 -0
- package/dist/public/assets/_BaHq4SXp.js +2 -0
- package/dist/public/assets/_BaHq4SXp.js.map +1 -0
- package/dist/public/assets/_BaS-oxxd2.js +2 -0
- package/dist/public/assets/_BaS-oxxd2.js.map +1 -0
- package/dist/public/assets/_Bc3YyYrH2.js +2 -0
- package/dist/public/assets/_Bc3YyYrH2.js.map +1 -0
- package/dist/public/assets/_BdRaM05m2.js +2 -0
- package/dist/public/assets/_BdRaM05m2.js.map +1 -0
- package/dist/public/assets/_BdplqJrr.js +2 -0
- package/dist/public/assets/_BdplqJrr.js.map +1 -0
- package/dist/public/assets/_BeD6FBFk.js +2 -0
- package/dist/public/assets/_BeD6FBFk.js.map +1 -0
- package/dist/public/assets/_BewZWKdk2.js +2 -0
- package/dist/public/assets/_BewZWKdk2.js.map +1 -0
- package/dist/public/assets/_BgfXC-Er.js +2 -0
- package/dist/public/assets/_BgfXC-Er.js.map +1 -0
- package/dist/public/assets/_Bh7aXd4k.js +2 -0
- package/dist/public/assets/_Bh7aXd4k.js.map +1 -0
- package/dist/public/assets/_BiFt_7mu2.js +2 -0
- package/dist/public/assets/_BiFt_7mu2.js.map +1 -0
- package/dist/public/assets/_BiJDBrnU2.js +2 -0
- package/dist/public/assets/_BiJDBrnU2.js.map +1 -0
- package/dist/public/assets/_Bj61d0ZC2.js +2 -0
- package/dist/public/assets/_Bj61d0ZC2.js.map +1 -0
- package/dist/public/assets/_Bj7E1mRn.js +2 -0
- package/dist/public/assets/_Bj7E1mRn.js.map +1 -0
- package/dist/public/assets/_BjSbUqbC.js +2 -0
- package/dist/public/assets/_BjSbUqbC.js.map +1 -0
- package/dist/public/assets/_Bkw-3BvZ.js +2 -0
- package/dist/public/assets/_Bkw-3BvZ.js.map +1 -0
- package/dist/public/assets/_BkyTk9wS.js +2 -0
- package/dist/public/assets/_BkyTk9wS.js.map +1 -0
- package/dist/public/assets/_Bm2Q91Ye.js +2 -0
- package/dist/public/assets/_Bm2Q91Ye.js.map +1 -0
- package/dist/public/assets/_Bm3Qr25_2.js +2 -0
- package/dist/public/assets/_Bm3Qr25_2.js.map +1 -0
- package/dist/public/assets/_BmuOG9ZW.js +2 -0
- package/dist/public/assets/_BmuOG9ZW.js.map +1 -0
- package/dist/public/assets/_BnjxR4X6.js +2 -0
- package/dist/public/assets/_BnjxR4X6.js.map +1 -0
- package/dist/public/assets/_BnlCZFoB2.js +2 -0
- package/dist/public/assets/_BnlCZFoB2.js.map +1 -0
- package/dist/public/assets/_Bozd7klA.js +2 -0
- package/dist/public/assets/_Bozd7klA.js.map +1 -0
- package/dist/public/assets/_BqS6dk9f2.js +2 -0
- package/dist/public/assets/_BqS6dk9f2.js.map +1 -0
- package/dist/public/assets/_Bqwy1Gya.js +2 -0
- package/dist/public/assets/_Bqwy1Gya.js.map +1 -0
- package/dist/public/assets/_BroJfC0k2.js +2 -0
- package/dist/public/assets/_BroJfC0k2.js.map +1 -0
- package/dist/public/assets/_BsKzXJz42.js +2 -0
- package/dist/public/assets/_BsKzXJz42.js.map +1 -0
- package/dist/public/assets/_BsSzOQcm2.js +2 -0
- package/dist/public/assets/_BsSzOQcm2.js.map +1 -0
- package/dist/public/assets/_BtDbiS_P.js +2 -0
- package/dist/public/assets/_BtDbiS_P.js.map +1 -0
- package/dist/public/assets/_Bvq9DfCD.js +2 -0
- package/dist/public/assets/_Bvq9DfCD.js.map +1 -0
- package/dist/public/assets/_Bx1FflLF.js +2 -0
- package/dist/public/assets/_Bx1FflLF.js.map +1 -0
- package/dist/public/assets/_BxMlprV5.js +2 -0
- package/dist/public/assets/_BxMlprV5.js.map +1 -0
- package/dist/public/assets/_BxpfTIzt.js +2 -0
- package/dist/public/assets/_BxpfTIzt.js.map +1 -0
- package/dist/public/assets/_ByJddavk.js +2 -0
- package/dist/public/assets/_ByJddavk.js.map +1 -0
- package/dist/public/assets/_ByQdrI9o.js +2 -0
- package/dist/public/assets/_ByQdrI9o.js.map +1 -0
- package/dist/public/assets/_ByWQv1Qj2.js +2 -0
- package/dist/public/assets/_ByWQv1Qj2.js.map +1 -0
- package/dist/public/assets/_C-LZuMrd.js +2 -0
- package/dist/public/assets/_C-LZuMrd.js.map +1 -0
- package/dist/public/assets/_C03EYrpw.js +2 -0
- package/dist/public/assets/_C03EYrpw.js.map +1 -0
- package/dist/public/assets/_C0MpOrj4.js +2 -0
- package/dist/public/assets/_C0MpOrj4.js.map +1 -0
- package/dist/public/assets/_C0YiOr0H.js +2 -0
- package/dist/public/assets/_C0YiOr0H.js.map +1 -0
- package/dist/public/assets/_C1IUL_tW2.js +2 -0
- package/dist/public/assets/_C1IUL_tW2.js.map +1 -0
- package/dist/public/assets/_C2pBCSgt.js +2 -0
- package/dist/public/assets/_C2pBCSgt.js.map +1 -0
- package/dist/public/assets/_C3h-C4tm.js +2 -0
- package/dist/public/assets/_C3h-C4tm.js.map +1 -0
- package/dist/public/assets/_C5qYipkI.js +2 -0
- package/dist/public/assets/_C5qYipkI.js.map +1 -0
- package/dist/public/assets/_C7Dq7tkg.js +2 -0
- package/dist/public/assets/_C7Dq7tkg.js.map +1 -0
- package/dist/public/assets/_C7UOKdEL2.js +2 -0
- package/dist/public/assets/_C7UOKdEL2.js.map +1 -0
- package/dist/public/assets/_C7mF5XQf.js +2 -0
- package/dist/public/assets/_C7mF5XQf.js.map +1 -0
- package/dist/public/assets/_C820rvS2.js +2 -0
- package/dist/public/assets/_C820rvS2.js.map +1 -0
- package/dist/public/assets/_C8oCnwJJ2.js +2 -0
- package/dist/public/assets/_C8oCnwJJ2.js.map +1 -0
- package/dist/public/assets/_C8pVoKbM2.js +2 -0
- package/dist/public/assets/_C8pVoKbM2.js.map +1 -0
- package/dist/public/assets/_C8r90Shi2.js +2 -0
- package/dist/public/assets/_C8r90Shi2.js.map +1 -0
- package/dist/public/assets/_C9Q5zVZY.js +2 -0
- package/dist/public/assets/_C9Q5zVZY.js.map +1 -0
- package/dist/public/assets/_C9nuUTWB.js +2 -0
- package/dist/public/assets/_C9nuUTWB.js.map +1 -0
- package/dist/public/assets/_CA9gdOdF.js +2 -0
- package/dist/public/assets/_CA9gdOdF.js.map +1 -0
- package/dist/public/assets/_CA_30FGA2.js +2 -0
- package/dist/public/assets/_CA_30FGA2.js.map +1 -0
- package/dist/public/assets/_CAekHB0j.js +2 -0
- package/dist/public/assets/_CAekHB0j.js.map +1 -0
- package/dist/public/assets/_CAySWx-v2.js +2 -0
- package/dist/public/assets/_CAySWx-v2.js.map +1 -0
- package/dist/public/assets/_CBce3t8t2.js +2 -0
- package/dist/public/assets/_CBce3t8t2.js.map +1 -0
- package/dist/public/assets/_CCSX75yM2.js +2 -0
- package/dist/public/assets/_CCSX75yM2.js.map +1 -0
- package/dist/public/assets/_CCn79oCD.js +2 -0
- package/dist/public/assets/_CCn79oCD.js.map +1 -0
- package/dist/public/assets/_CDeNXAV0.js +2 -0
- package/dist/public/assets/_CDeNXAV0.js.map +1 -0
- package/dist/public/assets/_CDv2pdJW.js +2 -0
- package/dist/public/assets/_CDv2pdJW.js.map +1 -0
- package/dist/public/assets/_CE9AQfxI.js +2 -0
- package/dist/public/assets/_CE9AQfxI.js.map +1 -0
- package/dist/public/assets/_CE9ld1lL.js +2 -0
- package/dist/public/assets/_CE9ld1lL.js.map +1 -0
- package/dist/public/assets/_CEbqgOJL.js +2 -0
- package/dist/public/assets/_CEbqgOJL.js.map +1 -0
- package/dist/public/assets/_CFuIV2fl.js +2 -0
- package/dist/public/assets/_CFuIV2fl.js.map +1 -0
- package/dist/public/assets/_CHQ94UKr.js +2 -0
- package/dist/public/assets/_CHQ94UKr.js.map +1 -0
- package/dist/public/assets/_CJTPZ8u_.js +2 -0
- package/dist/public/assets/_CJTPZ8u_.js.map +1 -0
- package/dist/public/assets/_CKONSnHR2.js +2 -0
- package/dist/public/assets/_CKONSnHR2.js.map +1 -0
- package/dist/public/assets/_CL7CweMx.js +2 -0
- package/dist/public/assets/_CL7CweMx.js.map +1 -0
- package/dist/public/assets/_CLvhMVsD.js +2 -0
- package/dist/public/assets/_CLvhMVsD.js.map +1 -0
- package/dist/public/assets/_CLwyXe_n2.js +2 -0
- package/dist/public/assets/_CLwyXe_n2.js.map +1 -0
- package/dist/public/assets/_CMLA9XwU2.js +2 -0
- package/dist/public/assets/_CMLA9XwU2.js.map +1 -0
- package/dist/public/assets/_CNp9jCcm.js +2 -0
- package/dist/public/assets/_CNp9jCcm.js.map +1 -0
- package/dist/public/assets/_CPPmWfSs.js +2 -0
- package/dist/public/assets/_CPPmWfSs.js.map +1 -0
- package/dist/public/assets/_CQ2zXKGN2.js +2 -0
- package/dist/public/assets/_CQ2zXKGN2.js.map +1 -0
- package/dist/public/assets/_CQJs3lWb.js +2 -0
- package/dist/public/assets/_CQJs3lWb.js.map +1 -0
- package/dist/public/assets/_CRGYupPL.js +2 -0
- package/dist/public/assets/_CRGYupPL.js.map +1 -0
- package/dist/public/assets/_CSRkHgEL2.js +2 -0
- package/dist/public/assets/_CSRkHgEL2.js.map +1 -0
- package/dist/public/assets/_CUHmPFLl2.js +2 -0
- package/dist/public/assets/_CUHmPFLl2.js.map +1 -0
- package/dist/public/assets/_CV2tkWYe2.js +2 -0
- package/dist/public/assets/_CV2tkWYe2.js.map +1 -0
- package/dist/public/assets/_CY8IvGdO2.js +2 -0
- package/dist/public/assets/_CY8IvGdO2.js.map +1 -0
- package/dist/public/assets/_CYIUgYqB2.js +2 -0
- package/dist/public/assets/_CYIUgYqB2.js.map +1 -0
- package/dist/public/assets/_CYNrtFtB.js +2 -0
- package/dist/public/assets/_CYNrtFtB.js.map +1 -0
- package/dist/public/assets/_CYpm1nAK.js +2 -0
- package/dist/public/assets/_CYpm1nAK.js.map +1 -0
- package/dist/public/assets/_CZbG8q4J2.js +2 -0
- package/dist/public/assets/_CZbG8q4J2.js.map +1 -0
- package/dist/public/assets/_CZd0xW_V2.js +2 -0
- package/dist/public/assets/_CZd0xW_V2.js.map +1 -0
- package/dist/public/assets/_C_8bwKvT.js +2 -0
- package/dist/public/assets/_C_8bwKvT.js.map +1 -0
- package/dist/public/assets/_CacY0gHj2.js +2 -0
- package/dist/public/assets/_CacY0gHj2.js.map +1 -0
- package/dist/public/assets/_Cadu5wg_2.js +2 -0
- package/dist/public/assets/_Cadu5wg_2.js.map +1 -0
- package/dist/public/assets/_Cb4Vim4T2.js +2 -0
- package/dist/public/assets/_Cb4Vim4T2.js.map +1 -0
- package/dist/public/assets/_CcUt-GD82.js +2 -0
- package/dist/public/assets/_CcUt-GD82.js.map +1 -0
- package/dist/public/assets/_CcmNWLt02.js +2 -0
- package/dist/public/assets/_CcmNWLt02.js.map +1 -0
- package/dist/public/assets/_CewbzKMR.js +2 -0
- package/dist/public/assets/_CewbzKMR.js.map +1 -0
- package/dist/public/assets/_Cfkwpbl82.js +2 -0
- package/dist/public/assets/_Cfkwpbl82.js.map +1 -0
- package/dist/public/assets/_CgoNMtux2.js +2 -0
- package/dist/public/assets/_CgoNMtux2.js.map +1 -0
- package/dist/public/assets/_Ci_nEsc72.js +2 -0
- package/dist/public/assets/_Ci_nEsc72.js.map +1 -0
- package/dist/public/assets/_CjNLYCLg2.js +2 -0
- package/dist/public/assets/_CjNLYCLg2.js.map +1 -0
- package/dist/public/assets/_Ckw8ddFX.js +2 -0
- package/dist/public/assets/_Ckw8ddFX.js.map +1 -0
- package/dist/public/assets/_ClCAoQg62.js +2 -0
- package/dist/public/assets/_ClCAoQg62.js.map +1 -0
- package/dist/public/assets/_ClFFjSW22.js +2 -0
- package/dist/public/assets/_ClFFjSW22.js.map +1 -0
- package/dist/public/assets/_ClKdZ_lG.js +2 -0
- package/dist/public/assets/_ClKdZ_lG.js.map +1 -0
- package/dist/public/assets/_Clg0Yi872.js +2 -0
- package/dist/public/assets/_Clg0Yi872.js.map +1 -0
- package/dist/public/assets/_Cluzi2Zq.js +2 -0
- package/dist/public/assets/_Cluzi2Zq.js.map +1 -0
- package/dist/public/assets/_CmCQp5Yx.js +2 -0
- package/dist/public/assets/_CmCQp5Yx.js.map +1 -0
- package/dist/public/assets/_CmKGBNpS.js +2 -0
- package/dist/public/assets/_CmKGBNpS.js.map +1 -0
- package/dist/public/assets/_Cmm7eHzH.js +2 -0
- package/dist/public/assets/_Cmm7eHzH.js.map +1 -0
- package/dist/public/assets/_CnvKMtbv.js +2 -0
- package/dist/public/assets/_CnvKMtbv.js.map +1 -0
- package/dist/public/assets/_CoaEpmwp.js +2 -0
- package/dist/public/assets/_CoaEpmwp.js.map +1 -0
- package/dist/public/assets/_CohzipZa.js +2 -0
- package/dist/public/assets/_CohzipZa.js.map +1 -0
- package/dist/public/assets/_CpLgRqie.js +2 -0
- package/dist/public/assets/_CpLgRqie.js.map +1 -0
- package/dist/public/assets/_CpMGvmmC.js +2 -0
- package/dist/public/assets/_CpMGvmmC.js.map +1 -0
- package/dist/public/assets/_CpQYzh95.js +2 -0
- package/dist/public/assets/_CpQYzh95.js.map +1 -0
- package/dist/public/assets/_CpYNKFv52.js +2 -0
- package/dist/public/assets/_CpYNKFv52.js.map +1 -0
- package/dist/public/assets/_CpjhbsIL.js +2 -0
- package/dist/public/assets/_CpjhbsIL.js.map +1 -0
- package/dist/public/assets/_Cs2F2srj.js +2 -0
- package/dist/public/assets/_Cs2F2srj.js.map +1 -0
- package/dist/public/assets/_Cs6JJXT5.js +2 -0
- package/dist/public/assets/_Cs6JJXT5.js.map +1 -0
- package/dist/public/assets/_CsD5j6eV.js +2 -0
- package/dist/public/assets/_CsD5j6eV.js.map +1 -0
- package/dist/public/assets/_CsvMBhTu.js +2 -0
- package/dist/public/assets/_CsvMBhTu.js.map +1 -0
- package/dist/public/assets/_CswbzlgY.js +2 -0
- package/dist/public/assets/_CswbzlgY.js.map +1 -0
- package/dist/public/assets/_CtIoeUxU2.js +2 -0
- package/dist/public/assets/_CtIoeUxU2.js.map +1 -0
- package/dist/public/assets/_CtfBBspg2.js +2 -0
- package/dist/public/assets/_CtfBBspg2.js.map +1 -0
- package/dist/public/assets/_CtsyrtPq.js +2 -0
- package/dist/public/assets/_CtsyrtPq.js.map +1 -0
- package/dist/public/assets/_Cv5bFMCO.js +2 -0
- package/dist/public/assets/_Cv5bFMCO.js.map +1 -0
- package/dist/public/assets/_Cvrh5tZx2.js +2 -0
- package/dist/public/assets/_Cvrh5tZx2.js.map +1 -0
- package/dist/public/assets/_Cx8FnA3x.js +2 -0
- package/dist/public/assets/_Cx8FnA3x.js.map +1 -0
- package/dist/public/assets/_CxZEssPk2.js +2 -0
- package/dist/public/assets/_CxZEssPk2.js.map +1 -0
- package/dist/public/assets/_CyE5x4UV.js +2 -0
- package/dist/public/assets/_CyE5x4UV.js.map +1 -0
- package/dist/public/assets/_CyEgAFGc.js +2 -0
- package/dist/public/assets/_CyEgAFGc.js.map +1 -0
- package/dist/public/assets/_D-T_C697.js +2 -0
- package/dist/public/assets/_D-T_C697.js.map +1 -0
- package/dist/public/assets/_D-usSTwE2.js +2 -0
- package/dist/public/assets/_D-usSTwE2.js.map +1 -0
- package/dist/public/assets/_D0apG41V2.js +2 -0
- package/dist/public/assets/_D0apG41V2.js.map +1 -0
- package/dist/public/assets/_D1A_Heim2.js +2 -0
- package/dist/public/assets/_D1A_Heim2.js.map +1 -0
- package/dist/public/assets/_D271znPr.js +2 -0
- package/dist/public/assets/_D271znPr.js.map +1 -0
- package/dist/public/assets/_D4kbjPsP2.js +2 -0
- package/dist/public/assets/_D4kbjPsP2.js.map +1 -0
- package/dist/public/assets/_D7Lr4KcI2.js +2 -0
- package/dist/public/assets/_D7Lr4KcI2.js.map +1 -0
- package/dist/public/assets/_D7qyCx1q.js +2 -0
- package/dist/public/assets/_D7qyCx1q.js.map +1 -0
- package/dist/public/assets/_D80Fkn33.js +2 -0
- package/dist/public/assets/_D80Fkn33.js.map +1 -0
- package/dist/public/assets/_D81mTxaU2.js +2 -0
- package/dist/public/assets/_D81mTxaU2.js.map +1 -0
- package/dist/public/assets/_D8IpX4py2.js +2 -0
- package/dist/public/assets/_D8IpX4py2.js.map +1 -0
- package/dist/public/assets/_D8YarXPe.js +2 -0
- package/dist/public/assets/_D8YarXPe.js.map +1 -0
- package/dist/public/assets/_DB4EqR-F.js +2 -0
- package/dist/public/assets/_DB4EqR-F.js.map +1 -0
- package/dist/public/assets/_DBiDFlly.js +2 -0
- package/dist/public/assets/_DBiDFlly.js.map +1 -0
- package/dist/public/assets/_DBj4K9d_2.js +2 -0
- package/dist/public/assets/_DBj4K9d_2.js.map +1 -0
- package/dist/public/assets/_DCQb3MpD.js +2 -0
- package/dist/public/assets/_DCQb3MpD.js.map +1 -0
- package/dist/public/assets/_DDpmG2fV2.js +2 -0
- package/dist/public/assets/_DDpmG2fV2.js.map +1 -0
- package/dist/public/assets/_DExj1W_82.js +2 -0
- package/dist/public/assets/_DExj1W_82.js.map +1 -0
- package/dist/public/assets/_DGHpHOYJ2.js +2 -0
- package/dist/public/assets/_DGHpHOYJ2.js.map +1 -0
- package/dist/public/assets/_DHYfO66s2.js +2 -0
- package/dist/public/assets/_DHYfO66s2.js.map +1 -0
- package/dist/public/assets/_DHuY153x.js +2 -0
- package/dist/public/assets/_DHuY153x.js.map +1 -0
- package/dist/public/assets/_DI7wJmV3.js +2 -0
- package/dist/public/assets/_DI7wJmV3.js.map +1 -0
- package/dist/public/assets/_DI99ib-x2.js +2 -0
- package/dist/public/assets/_DI99ib-x2.js.map +1 -0
- package/dist/public/assets/_DJMQeKeT.js +2 -0
- package/dist/public/assets/_DJMQeKeT.js.map +1 -0
- package/dist/public/assets/_DKDBIGSx.js +2 -0
- package/dist/public/assets/_DKDBIGSx.js.map +1 -0
- package/dist/public/assets/_DKpUyyne2.js +2 -0
- package/dist/public/assets/_DKpUyyne2.js.map +1 -0
- package/dist/public/assets/_DLL8P-h_2.js +2 -0
- package/dist/public/assets/_DLL8P-h_2.js.map +1 -0
- package/dist/public/assets/_DLbMbJfH2.js +2 -0
- package/dist/public/assets/_DLbMbJfH2.js.map +1 -0
- package/dist/public/assets/_DMLJgrzU2.js +2 -0
- package/dist/public/assets/_DMLJgrzU2.js.map +1 -0
- package/dist/public/assets/_DMgNhnYS2.js +2 -0
- package/dist/public/assets/_DMgNhnYS2.js.map +1 -0
- package/dist/public/assets/_DMoTqEGO.js +2 -0
- package/dist/public/assets/_DMoTqEGO.js.map +1 -0
- package/dist/public/assets/_DNMTfnFr2.js +2 -0
- package/dist/public/assets/_DNMTfnFr2.js.map +1 -0
- package/dist/public/assets/_DO-qXg-I2.js +2 -0
- package/dist/public/assets/_DO-qXg-I2.js.map +1 -0
- package/dist/public/assets/_DOwzaHZ02.js +2 -0
- package/dist/public/assets/_DOwzaHZ02.js.map +1 -0
- package/dist/public/assets/_DQCgrYNe.js +2 -0
- package/dist/public/assets/_DQCgrYNe.js.map +1 -0
- package/dist/public/assets/_DQZ5AkYe.js +2 -0
- package/dist/public/assets/_DQZ5AkYe.js.map +1 -0
- package/dist/public/assets/_DQwYfKfQ2.js +2 -0
- package/dist/public/assets/_DQwYfKfQ2.js.map +1 -0
- package/dist/public/assets/_DQxkIbk2.js +2 -0
- package/dist/public/assets/_DQxkIbk2.js.map +1 -0
- package/dist/public/assets/_DRFjx7u42.js +2 -0
- package/dist/public/assets/_DRFjx7u42.js.map +1 -0
- package/dist/public/assets/_DSNQnXHK.js +2 -0
- package/dist/public/assets/_DSNQnXHK.js.map +1 -0
- package/dist/public/assets/_DVQuIRkW.js +2 -0
- package/dist/public/assets/_DVQuIRkW.js.map +1 -0
- package/dist/public/assets/_DVTAwKKz.js +2 -0
- package/dist/public/assets/_DVTAwKKz.js.map +1 -0
- package/dist/public/assets/_DW3nJb8Q.js +2 -0
- package/dist/public/assets/_DW3nJb8Q.js.map +1 -0
- package/dist/public/assets/_DWQbgPoS.js +2 -0
- package/dist/public/assets/_DWQbgPoS.js.map +1 -0
- package/dist/public/assets/_DX1BQOs82.js +2 -0
- package/dist/public/assets/_DX1BQOs82.js.map +1 -0
- package/dist/public/assets/_DXG-b-1a.js +2 -0
- package/dist/public/assets/_DXG-b-1a.js.map +1 -0
- package/dist/public/assets/_DXrisJhu.js +2 -0
- package/dist/public/assets/_DXrisJhu.js.map +1 -0
- package/dist/public/assets/_DXw9l8Rf.js +2 -0
- package/dist/public/assets/_DXw9l8Rf.js.map +1 -0
- package/dist/public/assets/_DYvRD3hg2.js +2 -0
- package/dist/public/assets/_DYvRD3hg2.js.map +1 -0
- package/dist/public/assets/_DZQUGsSH.js +2 -0
- package/dist/public/assets/_DZQUGsSH.js.map +1 -0
- package/dist/public/assets/_Db1ZVL_I.js +2 -0
- package/dist/public/assets/_Db1ZVL_I.js.map +1 -0
- package/dist/public/assets/_DcIDlBhZ.js +2 -0
- package/dist/public/assets/_DcIDlBhZ.js.map +1 -0
- package/dist/public/assets/_DdrHHSXu2.js +2 -0
- package/dist/public/assets/_DdrHHSXu2.js.map +1 -0
- package/dist/public/assets/_DdvCle-K2.js +2 -0
- package/dist/public/assets/_DdvCle-K2.js.map +1 -0
- package/dist/public/assets/_De_Heo4C.js +2 -0
- package/dist/public/assets/_De_Heo4C.js.map +1 -0
- package/dist/public/assets/_Df2xbC6M.js +2 -0
- package/dist/public/assets/_Df2xbC6M.js.map +1 -0
- package/dist/public/assets/_Dgaz7aur.js +2 -0
- package/dist/public/assets/_Dgaz7aur.js.map +1 -0
- package/dist/public/assets/_DgjMoLWr.js +2 -0
- package/dist/public/assets/_DgjMoLWr.js.map +1 -0
- package/dist/public/assets/_Dh228itO2.js +2 -0
- package/dist/public/assets/_Dh228itO2.js.map +1 -0
- package/dist/public/assets/_Dh5ihWbf.js +2 -0
- package/dist/public/assets/_Dh5ihWbf.js.map +1 -0
- package/dist/public/assets/_DhhofPvG.js +2 -0
- package/dist/public/assets/_DhhofPvG.js.map +1 -0
- package/dist/public/assets/_DhmEMT882.js +2 -0
- package/dist/public/assets/_DhmEMT882.js.map +1 -0
- package/dist/public/assets/_Dixweg8N.js +2 -0
- package/dist/public/assets/_Dixweg8N.js.map +1 -0
- package/dist/public/assets/_DjuaAJKi.js +2 -0
- package/dist/public/assets/_DjuaAJKi.js.map +1 -0
- package/dist/public/assets/_Dl-2e7rI2.js +2 -0
- package/dist/public/assets/_Dl-2e7rI2.js.map +1 -0
- package/dist/public/assets/_Dlh5hvp9.js +2 -0
- package/dist/public/assets/_Dlh5hvp9.js.map +1 -0
- package/dist/public/assets/_DluEY0Gj.js +2 -0
- package/dist/public/assets/_DluEY0Gj.js.map +1 -0
- package/dist/public/assets/_DmIc4jLQ.js +2 -0
- package/dist/public/assets/_DmIc4jLQ.js.map +1 -0
- package/dist/public/assets/_DnToyrRv2.js +2 -0
- package/dist/public/assets/_DnToyrRv2.js.map +1 -0
- package/dist/public/assets/_DqHOMS-s.js +2 -0
- package/dist/public/assets/_DqHOMS-s.js.map +1 -0
- package/dist/public/assets/_DqKBuwfJ2.js +2 -0
- package/dist/public/assets/_DqKBuwfJ2.js.map +1 -0
- package/dist/public/assets/_Dqh6l9VH.js +2 -0
- package/dist/public/assets/_Dqh6l9VH.js.map +1 -0
- package/dist/public/assets/_DqhwlshE2.js +2 -0
- package/dist/public/assets/_DqhwlshE2.js.map +1 -0
- package/dist/public/assets/_DsOwYco6.js +2 -0
- package/dist/public/assets/_DsOwYco6.js.map +1 -0
- package/dist/public/assets/_DsUTQ-LC2.js +2 -0
- package/dist/public/assets/_DsUTQ-LC2.js.map +1 -0
- package/dist/public/assets/_DswuEJGm2.js +2 -0
- package/dist/public/assets/_DswuEJGm2.js.map +1 -0
- package/dist/public/assets/_DtyUWVZz.js +2 -0
- package/dist/public/assets/_DtyUWVZz.js.map +1 -0
- package/dist/public/assets/_DuBRPxYg.js +2 -0
- package/dist/public/assets/_DuBRPxYg.js.map +1 -0
- package/dist/public/assets/_DuBYtv0r.js +2 -0
- package/dist/public/assets/_DuBYtv0r.js.map +1 -0
- package/dist/public/assets/_DvXPmvsu2.js +2 -0
- package/dist/public/assets/_DvXPmvsu2.js.map +1 -0
- package/dist/public/assets/_Dw6INy6H2.js +2 -0
- package/dist/public/assets/_Dw6INy6H2.js.map +1 -0
- package/dist/public/assets/_Dx-8-gkx.js +2 -0
- package/dist/public/assets/_Dx-8-gkx.js.map +1 -0
- package/dist/public/assets/_Dx2utMPo.js +2 -0
- package/dist/public/assets/_Dx2utMPo.js.map +1 -0
- package/dist/public/assets/_EUqPIrTm.js +2 -0
- package/dist/public/assets/_EUqPIrTm.js.map +1 -0
- package/dist/public/assets/_Fe1Jh2GI.js +2 -0
- package/dist/public/assets/_Fe1Jh2GI.js.map +1 -0
- package/dist/public/assets/_IvuFDN5E2.js +2 -0
- package/dist/public/assets/_IvuFDN5E2.js.map +1 -0
- package/dist/public/assets/_IyjqRm3v.js +2 -0
- package/dist/public/assets/_IyjqRm3v.js.map +1 -0
- package/dist/public/assets/_KFGFyKwG.js +2 -0
- package/dist/public/assets/_KFGFyKwG.js.map +1 -0
- package/dist/public/assets/_L8AbGenz.js +2 -0
- package/dist/public/assets/_L8AbGenz.js.map +1 -0
- package/dist/public/assets/_MrdJrrXF.js +2 -0
- package/dist/public/assets/_MrdJrrXF.js.map +1 -0
- package/dist/public/assets/_O90oeIOV2.js +2 -0
- package/dist/public/assets/_O90oeIOV2.js.map +1 -0
- package/dist/public/assets/_R8nAf1vR.js +2 -0
- package/dist/public/assets/_R8nAf1vR.js.map +1 -0
- package/dist/public/assets/_SCjQUq34.js +2 -0
- package/dist/public/assets/_SCjQUq34.js.map +1 -0
- package/dist/public/assets/_TlYgJqzm.js +2 -0
- package/dist/public/assets/_TlYgJqzm.js.map +1 -0
- package/dist/public/assets/_U0d_L8uA.js +2 -0
- package/dist/public/assets/_U0d_L8uA.js.map +1 -0
- package/dist/public/assets/_UdsmMDCL2.js +2 -0
- package/dist/public/assets/_UdsmMDCL2.js.map +1 -0
- package/dist/public/assets/_Uh3mh5XV2.js +2 -0
- package/dist/public/assets/_Uh3mh5XV2.js.map +1 -0
- package/dist/public/assets/_VUp2lXgN.js +2 -0
- package/dist/public/assets/_VUp2lXgN.js.map +1 -0
- package/dist/public/assets/_VXkXYg_d.js +2 -0
- package/dist/public/assets/_VXkXYg_d.js.map +1 -0
- package/dist/public/assets/_VbXTXTou2.js +2 -0
- package/dist/public/assets/_VbXTXTou2.js.map +1 -0
- package/dist/public/assets/__5a1GRtc.js +2 -0
- package/dist/public/assets/__5a1GRtc.js.map +1 -0
- package/dist/public/assets/__6rzW9BS.js +2 -0
- package/dist/public/assets/__6rzW9BS.js.map +1 -0
- package/dist/public/assets/__X_XdTYD.js +2 -0
- package/dist/public/assets/__X_XdTYD.js.map +1 -0
- package/dist/public/assets/_a4yckPl9.js +2 -0
- package/dist/public/assets/_a4yckPl9.js.map +1 -0
- package/dist/public/assets/_aMsaMD1D2.js +2 -0
- package/dist/public/assets/_aMsaMD1D2.js.map +1 -0
- package/dist/public/assets/_bTVj8UrX2.js +2 -0
- package/dist/public/assets/_bTVj8UrX2.js.map +1 -0
- package/dist/public/assets/_c_oH4hRZ.js +2 -0
- package/dist/public/assets/_c_oH4hRZ.js.map +1 -0
- package/dist/public/assets/_eJ-hLW7d2.js +2 -0
- package/dist/public/assets/_eJ-hLW7d2.js.map +1 -0
- package/dist/public/assets/_fvy_08gp2.js +2 -0
- package/dist/public/assets/_fvy_08gp2.js.map +1 -0
- package/dist/public/assets/_fwtXNY1n2.js +2 -0
- package/dist/public/assets/_fwtXNY1n2.js.map +1 -0
- package/dist/public/assets/_gzcpVVnB2.js +2 -0
- package/dist/public/assets/_gzcpVVnB2.js.map +1 -0
- package/dist/public/assets/_iUWkWK9o.js +2 -0
- package/dist/public/assets/_iUWkWK9o.js.map +1 -0
- package/dist/public/assets/_iXnhIJG72.js +2 -0
- package/dist/public/assets/_iXnhIJG72.js.map +1 -0
- package/dist/public/assets/_ilITqXS62.js +2 -0
- package/dist/public/assets/_ilITqXS62.js.map +1 -0
- package/dist/public/assets/_it7tAyoL2.js +2 -0
- package/dist/public/assets/_it7tAyoL2.js.map +1 -0
- package/dist/public/assets/_kIpfj7zU2.js +2 -0
- package/dist/public/assets/_kIpfj7zU2.js.map +1 -0
- package/dist/public/assets/_kZQmAZld.js +2 -0
- package/dist/public/assets/_kZQmAZld.js.map +1 -0
- package/dist/public/assets/_lWLdNTOI.js +2 -0
- package/dist/public/assets/_lWLdNTOI.js.map +1 -0
- package/dist/public/assets/_m5z1534W.js +2 -0
- package/dist/public/assets/_m5z1534W.js.map +1 -0
- package/dist/public/assets/_nFMaYfgc2.js +2 -0
- package/dist/public/assets/_nFMaYfgc2.js.map +1 -0
- package/dist/public/assets/_oM2G3aXe2.js +2 -0
- package/dist/public/assets/_oM2G3aXe2.js.map +1 -0
- package/dist/public/assets/_oeQT6MSM2.js +2 -0
- package/dist/public/assets/_oeQT6MSM2.js.map +1 -0
- package/dist/public/assets/_oqKa8noW.js +2 -0
- package/dist/public/assets/_oqKa8noW.js.map +1 -0
- package/dist/public/assets/_ot-7Btpt2.js +2 -0
- package/dist/public/assets/_ot-7Btpt2.js.map +1 -0
- package/dist/public/assets/_qD-0Kul2.js +2 -0
- package/dist/public/assets/_qD-0Kul2.js.map +1 -0
- package/dist/public/assets/_qdxAdBWQ2.js +2 -0
- package/dist/public/assets/_qdxAdBWQ2.js.map +1 -0
- package/dist/public/assets/_rLFTqkRN2.js +2 -0
- package/dist/public/assets/_rLFTqkRN2.js.map +1 -0
- package/dist/public/assets/_sB-x3p7T.js +2 -0
- package/dist/public/assets/_sB-x3p7T.js.map +1 -0
- package/dist/public/assets/_sltzmVWM2.js +2 -0
- package/dist/public/assets/_sltzmVWM2.js.map +1 -0
- package/dist/public/assets/_uh5ioxiV.js +2 -0
- package/dist/public/assets/_uh5ioxiV.js.map +1 -0
- package/dist/public/assets/_uhdI0v04.js +2 -0
- package/dist/public/assets/_uhdI0v04.js.map +1 -0
- package/dist/public/assets/_vGVdxbeo2.js +2 -0
- package/dist/public/assets/_vGVdxbeo2.js.map +1 -0
- package/dist/public/assets/_woXpYk--.js +2 -0
- package/dist/public/assets/_woXpYk--.js.map +1 -0
- package/dist/public/assets/_zf12oZj62.js +2 -0
- package/dist/public/assets/_zf12oZj62.js.map +1 -0
- package/dist/public/assets/index-KIy0rCx1.css +1 -0
- package/dist/public/assets/index-kv6gFctA.js +1612 -0
- package/dist/public/assets/index-kv6gFctA.js.map +1 -0
- package/dist/public/icon-192.png +0 -0
- package/dist/public/icon-512.png +0 -0
- package/dist/public/icon-maskable-512.png +0 -0
- package/dist/public/icon.svg +4 -0
- package/dist/public/manifest.webmanifest +35 -0
- package/dist/public/sw.js +48 -0
- package/install.sh +104 -0
- package/package.json +59 -0
- package/scripts/migrate.mjs +108 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "work",
|
|
3
|
+
"short_name": "work",
|
|
4
|
+
"description": "Agentic dev workspaces",
|
|
5
|
+
"start_url": "/",
|
|
6
|
+
"display": "standalone",
|
|
7
|
+
"background_color": "#131316",
|
|
8
|
+
"theme_color": "#131316",
|
|
9
|
+
"icons": [
|
|
10
|
+
{
|
|
11
|
+
"src": "/icon-192.png",
|
|
12
|
+
"sizes": "192x192",
|
|
13
|
+
"type": "image/png",
|
|
14
|
+
"purpose": "any"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"src": "/icon-512.png",
|
|
18
|
+
"sizes": "512x512",
|
|
19
|
+
"type": "image/png",
|
|
20
|
+
"purpose": "any"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"src": "/icon-maskable-512.png",
|
|
24
|
+
"sizes": "512x512",
|
|
25
|
+
"type": "image/png",
|
|
26
|
+
"purpose": "maskable"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"src": "/icon.svg",
|
|
30
|
+
"sizes": "any",
|
|
31
|
+
"type": "image/svg+xml",
|
|
32
|
+
"purpose": "any"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Push + badge only. Deliberately no fetch handler: this app must never
|
|
2
|
+
// serve cached assets (stale PWA clients were a hard-won lesson).
|
|
3
|
+
self.addEventListener("install", () => self.skipWaiting());
|
|
4
|
+
self.addEventListener("activate", (e) => e.waitUntil(self.clients.claim()));
|
|
5
|
+
|
|
6
|
+
self.addEventListener("push", (e) => {
|
|
7
|
+
let payload = {};
|
|
8
|
+
try {
|
|
9
|
+
payload = e.data ? e.data.json() : {};
|
|
10
|
+
} catch {}
|
|
11
|
+
const badge = Number(payload.badge) || 0;
|
|
12
|
+
e.waitUntil(
|
|
13
|
+
Promise.all([
|
|
14
|
+
self.registration.showNotification(payload.title || "work", {
|
|
15
|
+
body: payload.body || "An agent is waiting for input",
|
|
16
|
+
tag: payload.tag,
|
|
17
|
+
icon: "/icon-192.png",
|
|
18
|
+
badge: "/icon-192.png",
|
|
19
|
+
data: payload.data || null,
|
|
20
|
+
}),
|
|
21
|
+
"setAppBadge" in self.navigator
|
|
22
|
+
? badge
|
|
23
|
+
? self.navigator.setAppBadge(badge)
|
|
24
|
+
: self.navigator.clearAppBadge()
|
|
25
|
+
: Promise.resolve(),
|
|
26
|
+
]),
|
|
27
|
+
);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
self.addEventListener("notificationclick", (e) => {
|
|
31
|
+
e.notification.close();
|
|
32
|
+
const target = e.notification.data;
|
|
33
|
+
e.waitUntil(
|
|
34
|
+
self.clients
|
|
35
|
+
.matchAll({ type: "window", includeUncontrolled: true })
|
|
36
|
+
.then((clients) => {
|
|
37
|
+
const client = clients[0];
|
|
38
|
+
if (client) {
|
|
39
|
+
if (target) client.postMessage({ type: "open-session", ...target });
|
|
40
|
+
return client.focus();
|
|
41
|
+
}
|
|
42
|
+
const params = target
|
|
43
|
+
? `?ws=${encodeURIComponent(target.workspaceId)}&session=${encodeURIComponent(target.sessionId)}`
|
|
44
|
+
: "";
|
|
45
|
+
return self.clients.openWindow(`/${params}`);
|
|
46
|
+
}),
|
|
47
|
+
);
|
|
48
|
+
});
|
package/install.sh
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# work installer — bootstraps a bare machine (no node, no tools) and
|
|
3
|
+
# installs the `work` server as a background service.
|
|
4
|
+
#
|
|
5
|
+
# curl -fsSL https://cdn.jsdelivr.net/npm/@dylanpiercey/work/install.sh | bash
|
|
6
|
+
#
|
|
7
|
+
# Idempotent: re-running updates everything. Assumes only bash + curl
|
|
8
|
+
# (and sudo for system packages on Linux). All the real setup logic lives
|
|
9
|
+
# in the npm package (`work setup`) — this script just gets node there.
|
|
10
|
+
#
|
|
11
|
+
# Environment (optional):
|
|
12
|
+
# WORK_PKG npm spec to install (default @dylanpiercey/work@latest;
|
|
13
|
+
# a local tarball path works for testing)
|
|
14
|
+
# WORK_YES=1 non-interactive (skips prompts; gh auth deferred)
|
|
15
|
+
set -euo pipefail
|
|
16
|
+
|
|
17
|
+
log() { printf '==> %s\n' "$*"; }
|
|
18
|
+
die() { printf 'error: %s\n' "$*" >&2; exit 1; }
|
|
19
|
+
have() { command -v "$1" >/dev/null 2>&1; }
|
|
20
|
+
|
|
21
|
+
PKG="${WORK_PKG:-@dylanpiercey/work@latest}"
|
|
22
|
+
SUDO=""
|
|
23
|
+
if [[ "$(id -u)" != 0 ]]; then
|
|
24
|
+
if have sudo; then SUDO="sudo"; else SUDO="__none__"; fi
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# ── system packages ──────────────────────────────────────────────────────
|
|
28
|
+
# git/tmux are runtime requirements; python3/make/g++ compile node-pty on
|
|
29
|
+
# Linux (it ships no linux prebuilds).
|
|
30
|
+
need_system_packages() {
|
|
31
|
+
case "$(uname -s)" in
|
|
32
|
+
Linux) ! { have curl && have git && have tmux && have python3 && have make && { have g++ || have c++; }; } ;;
|
|
33
|
+
Darwin) ! { have git && have tmux; } ;;
|
|
34
|
+
esac
|
|
35
|
+
}
|
|
36
|
+
if ! need_system_packages; then
|
|
37
|
+
log "system packages already present"
|
|
38
|
+
elif [[ "$SUDO" == "__none__" ]]; then
|
|
39
|
+
die "system packages are missing (git/tmux/compiler) and sudo is unavailable — install them as root and re-run"
|
|
40
|
+
else
|
|
41
|
+
case "$(uname -s)" in
|
|
42
|
+
Linux)
|
|
43
|
+
if have apt-get; then
|
|
44
|
+
log "installing system packages (apt)"
|
|
45
|
+
$SUDO apt-get update -qq
|
|
46
|
+
$SUDO apt-get install -y -qq curl git tmux python3 make g++ >/dev/null
|
|
47
|
+
elif have dnf; then
|
|
48
|
+
log "installing system packages (dnf)"
|
|
49
|
+
$SUDO dnf install -y -q curl git tmux python3 make gcc-c++ >/dev/null
|
|
50
|
+
elif have pacman; then
|
|
51
|
+
log "installing system packages (pacman)"
|
|
52
|
+
$SUDO pacman -Sy --noconfirm --needed curl git tmux python make gcc >/dev/null
|
|
53
|
+
else
|
|
54
|
+
log "unknown package manager — make sure curl, git, tmux, and a C++ toolchain are installed"
|
|
55
|
+
fi
|
|
56
|
+
;;
|
|
57
|
+
Darwin)
|
|
58
|
+
# git comes with the Xcode CLT (macOS prompts to install on first use);
|
|
59
|
+
# tmux needs Homebrew.
|
|
60
|
+
if ! have brew && ! have tmux; then
|
|
61
|
+
log "installing Homebrew (for tmux)"
|
|
62
|
+
NONINTERACTIVE=1 /bin/bash -c \
|
|
63
|
+
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
64
|
+
eval "$(/opt/homebrew/bin/brew shellenv 2>/dev/null || /usr/local/bin/brew shellenv)"
|
|
65
|
+
fi
|
|
66
|
+
if have brew && ! have tmux; then
|
|
67
|
+
log "installing tmux (brew)"
|
|
68
|
+
brew install -q tmux
|
|
69
|
+
fi
|
|
70
|
+
have git || xcode-select --install || true
|
|
71
|
+
;;
|
|
72
|
+
*) die "unsupported platform: $(uname -s)" ;;
|
|
73
|
+
esac
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
# ── mise + node ──────────────────────────────────────────────────────────
|
|
77
|
+
export PATH="$HOME/.local/bin:$HOME/.local/share/mise/shims:$PATH"
|
|
78
|
+
if ! have mise; then
|
|
79
|
+
log "installing mise"
|
|
80
|
+
curl -fsSL https://mise.run | sh
|
|
81
|
+
fi
|
|
82
|
+
log "installing node (mise)"
|
|
83
|
+
mise use -g -y node@lts >/dev/null
|
|
84
|
+
eval "$(mise env -s bash)"
|
|
85
|
+
have node || die "node did not install via mise"
|
|
86
|
+
|
|
87
|
+
# ── the work package ─────────────────────────────────────────────────────
|
|
88
|
+
log "installing $PKG"
|
|
89
|
+
npm install -g --loglevel=error "$PKG"
|
|
90
|
+
|
|
91
|
+
# npm's global bin lives inside the mise-managed node install; make sure
|
|
92
|
+
# future shells can find `work`.
|
|
93
|
+
if ! grep -qs 'mise activate' "$HOME/.bashrc" 2>/dev/null && ! have work; then
|
|
94
|
+
log 'adding mise activation to ~/.bashrc'
|
|
95
|
+
printf '\neval "$(%s activate bash)"\n' "$(command -v mise)" >> "$HOME/.bashrc"
|
|
96
|
+
fi
|
|
97
|
+
|
|
98
|
+
# ── hand off ─────────────────────────────────────────────────────────────
|
|
99
|
+
log "running work setup"
|
|
100
|
+
if [[ "${WORK_YES:-0}" == 1 ]]; then
|
|
101
|
+
work setup --yes
|
|
102
|
+
else
|
|
103
|
+
work setup
|
|
104
|
+
fi
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dylanpiercey/work",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Web GUI for agentic dev workspaces",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"bin": {
|
|
8
|
+
"work": "bin/work.mjs"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"bin",
|
|
13
|
+
"install.sh",
|
|
14
|
+
"scripts/migrate.mjs"
|
|
15
|
+
],
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=22.5"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"dev": "marko-run dev src/entry.ts",
|
|
24
|
+
"postinstall": "chmod +x node_modules/node-pty/prebuilds/*/spawn-helper node_modules/node-pty/build/Release/spawn-helper 2>/dev/null || true",
|
|
25
|
+
"build": "marko-run build src/entry.ts",
|
|
26
|
+
"check": "mtc",
|
|
27
|
+
"preview": "PORT=7171 node dist/index.mjs"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"node-pty": "^1.1.0"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@lobehub/icons-static-svg": "^1.94.0",
|
|
34
|
+
"@marko/run": "^0.11.9",
|
|
35
|
+
"@marko/run-adapter-node": "^2.0.6",
|
|
36
|
+
"@marko/type-check": "^3.1.6",
|
|
37
|
+
"@pierre/diffs": "^1.3.5",
|
|
38
|
+
"@types/compression": "^1.8.1",
|
|
39
|
+
"@types/node": "^26.2.0",
|
|
40
|
+
"@types/serve-static": "^2.2.0",
|
|
41
|
+
"@types/web-push": "^3.6.4",
|
|
42
|
+
"@types/ws": "^8.18.1",
|
|
43
|
+
"@xterm/addon-clipboard": "^0.2.0",
|
|
44
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
45
|
+
"@xterm/addon-web-links": "^0.12.0",
|
|
46
|
+
"@xterm/addon-webgl": "^0.19.0",
|
|
47
|
+
"@xterm/xterm": "^6.0.0",
|
|
48
|
+
"compression": "^1.8.1",
|
|
49
|
+
"iconoir": "^7.12.0",
|
|
50
|
+
"marko": "^6.3.34",
|
|
51
|
+
"playwright": "^1.62.1",
|
|
52
|
+
"serve-static": "^2.2.1",
|
|
53
|
+
"typescript": "^6.0.3",
|
|
54
|
+
"valibot": "^1.4.2",
|
|
55
|
+
"vite": "^8.2.1",
|
|
56
|
+
"web-push": "^3.6.7",
|
|
57
|
+
"ws": "^8.21.3"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// migrate.mjs — one-shot cleanups for changes between versions, run by
|
|
3
|
+
// update.sh/setup-prod.sh so the runtime stays free of legacy handling.
|
|
4
|
+
import crypto from "node:crypto";
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import os from "node:os";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { DatabaseSync } from "node:sqlite";
|
|
9
|
+
|
|
10
|
+
const dataDir =
|
|
11
|
+
process.env.WORK_DATA_DIR ||
|
|
12
|
+
path.join(
|
|
13
|
+
process.env.XDG_DATA_HOME || path.join(os.homedir(), ".local", "share"),
|
|
14
|
+
"work",
|
|
15
|
+
);
|
|
16
|
+
const dbPath = path.join(dataDir, "work.db");
|
|
17
|
+
if (!fs.existsSync(dbPath)) process.exit(0);
|
|
18
|
+
const db = new DatabaseSync(dbPath, { readOnly: true });
|
|
19
|
+
|
|
20
|
+
// Pre-scrape versions wrote agent hook files into every workspace
|
|
21
|
+
// (identified by their agent-state callback); state now comes from
|
|
22
|
+
// terminal scraping and launch flags, so sweep them out.
|
|
23
|
+
const LEGACY_HOOK_FILES = [
|
|
24
|
+
".claude/settings.json",
|
|
25
|
+
".codex/hooks.json",
|
|
26
|
+
".cursor/hooks.json",
|
|
27
|
+
".cursor/hooks/work-working.sh",
|
|
28
|
+
".cursor/hooks/work-done.sh",
|
|
29
|
+
".github/hooks/work-agent-state.json",
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
let removed = 0;
|
|
33
|
+
for (const { path: wsPath } of db
|
|
34
|
+
.prepare("SELECT path FROM workspaces")
|
|
35
|
+
.all()) {
|
|
36
|
+
for (const rel of LEGACY_HOOK_FILES) {
|
|
37
|
+
const file = path.join(wsPath, rel);
|
|
38
|
+
try {
|
|
39
|
+
const text = fs.readFileSync(file, "utf8");
|
|
40
|
+
if (
|
|
41
|
+
!text.includes("/api/agent-state") &&
|
|
42
|
+
!text.includes(".cursor/hooks/work-")
|
|
43
|
+
) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
fs.rmSync(file);
|
|
47
|
+
removed++;
|
|
48
|
+
// Prune now-empty dirs the old version created.
|
|
49
|
+
for (
|
|
50
|
+
let dir = path.dirname(file);
|
|
51
|
+
dir !== wsPath && !fs.readdirSync(dir).length;
|
|
52
|
+
dir = path.dirname(dir)
|
|
53
|
+
) {
|
|
54
|
+
fs.rmdirSync(dir);
|
|
55
|
+
}
|
|
56
|
+
} catch {}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (removed) console.log(`==> migrate: removed ${removed} legacy hook file(s)`);
|
|
60
|
+
|
|
61
|
+
// Backfill the push-signal hook into bare caches that predate it (new
|
|
62
|
+
// caches get it from ensureBare — keep this script in sync with
|
|
63
|
+
// src/server/repo-events.ts).
|
|
64
|
+
const workRoot = process.env.WORK_ROOT || path.join(os.homedir(), "work");
|
|
65
|
+
const gitHost = "github.com";
|
|
66
|
+
const appPort = Number(process.env.WORK_APP_PORT || 7171);
|
|
67
|
+
// Same token file the server uses (src/server/hook-token.ts) — hooks ride
|
|
68
|
+
// the public port and the endpoint refuses pings without it. dataDir is
|
|
69
|
+
// declared at the top of this script.
|
|
70
|
+
const tokenFile = path.join(dataDir, "hook-token");
|
|
71
|
+
let hookTokenValue = "";
|
|
72
|
+
try {
|
|
73
|
+
hookTokenValue = fs.readFileSync(tokenFile, "utf8").trim();
|
|
74
|
+
} catch {}
|
|
75
|
+
if (!hookTokenValue) {
|
|
76
|
+
hookTokenValue = crypto.randomBytes(16).toString("hex");
|
|
77
|
+
fs.mkdirSync(dataDir, { recursive: true });
|
|
78
|
+
fs.writeFileSync(tokenFile, `${hookTokenValue}\n`, { mode: 0o600 });
|
|
79
|
+
}
|
|
80
|
+
const cacheHost = path.join(workRoot, ".cache", gitHost);
|
|
81
|
+
let hooked = 0;
|
|
82
|
+
try {
|
|
83
|
+
for (const owner of fs.readdirSync(cacheHost)) {
|
|
84
|
+
const ownerDir = path.join(cacheHost, owner);
|
|
85
|
+
for (const repoDir of fs.readdirSync(ownerDir)) {
|
|
86
|
+
if (!repoDir.endsWith(".git")) continue;
|
|
87
|
+
const fullName = `${owner}/${repoDir.slice(0, -4)}`;
|
|
88
|
+
const script =
|
|
89
|
+
`#!/bin/sh\n` +
|
|
90
|
+
`# installed by work — signals remote-ref updates to the app server.\n` +
|
|
91
|
+
`[ "$1" = "committed" ] || exit 0\n` +
|
|
92
|
+
`grep -q "refs/remotes/origin/" || exit 0\n` +
|
|
93
|
+
`curl -sf -m 2 -X POST "http://127.0.0.1:${appPort}` +
|
|
94
|
+
`/api/repo-pushed?repo=${encodeURIComponent(fullName)}&token=${hookTokenValue}" >/dev/null 2>&1 &\n` +
|
|
95
|
+
`exit 0\n`;
|
|
96
|
+
const file = path.join(ownerDir, repoDir, "hooks", "reference-transaction");
|
|
97
|
+
try {
|
|
98
|
+
if (fs.readFileSync(file, "utf8") === script) continue;
|
|
99
|
+
} catch {}
|
|
100
|
+
try {
|
|
101
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
102
|
+
fs.writeFileSync(file, script, { mode: 0o755 });
|
|
103
|
+
hooked++;
|
|
104
|
+
} catch {}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
} catch {}
|
|
108
|
+
if (hooked) console.log(`==> migrate: installed push hook in ${hooked} cache repo(s)`);
|