@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.
Files changed (658) hide show
  1. package/README.md +99 -0
  2. package/bin/work.mjs +236 -0
  3. package/dist/_B9zhiogp.js +1797 -0
  4. package/dist/_BMI-E3GI.js +44 -0
  5. package/dist/_BmSjjJ2E.js +43 -0
  6. package/dist/_DmVVbFOa.js +7641 -0
  7. package/dist/_JcAWG3K1.js +2422 -0
  8. package/dist/_xlrdOUsL.js +877 -0
  9. package/dist/index.mjs +21023 -0
  10. package/dist/public/apple-touch-icon.png +0 -0
  11. package/dist/public/assets/_0fSaH845.js +2 -0
  12. package/dist/public/assets/_0fSaH845.js.map +1 -0
  13. package/dist/public/assets/_1d3aXaVP.js +2 -0
  14. package/dist/public/assets/_1d3aXaVP.js.map +1 -0
  15. package/dist/public/assets/_2IIEA8gg.js +2 -0
  16. package/dist/public/assets/_2IIEA8gg.js.map +1 -0
  17. package/dist/public/assets/_2WURHcVF2.js +2 -0
  18. package/dist/public/assets/_2WURHcVF2.js.map +1 -0
  19. package/dist/public/assets/_2sfcym2Z.js +2 -0
  20. package/dist/public/assets/_2sfcym2Z.js.map +1 -0
  21. package/dist/public/assets/_4CJ0cIlV.js +2 -0
  22. package/dist/public/assets/_4CJ0cIlV.js.map +1 -0
  23. package/dist/public/assets/_4G7pJPwS2.js +2 -0
  24. package/dist/public/assets/_4G7pJPwS2.js.map +1 -0
  25. package/dist/public/assets/_4ZHwLPI52.js +2 -0
  26. package/dist/public/assets/_4ZHwLPI52.js.map +1 -0
  27. package/dist/public/assets/_5eyTD99u.js +2 -0
  28. package/dist/public/assets/_5eyTD99u.js.map +1 -0
  29. package/dist/public/assets/_7GGW24-e2.js +2 -0
  30. package/dist/public/assets/_7GGW24-e2.js.map +1 -0
  31. package/dist/public/assets/_8PwUyIlP2.js +2 -0
  32. package/dist/public/assets/_8PwUyIlP2.js.map +1 -0
  33. package/dist/public/assets/_9MfHhQsQ.js +2 -0
  34. package/dist/public/assets/_9MfHhQsQ.js.map +1 -0
  35. package/dist/public/assets/_B1RWQWA52.js +2 -0
  36. package/dist/public/assets/_B1RWQWA52.js.map +1 -0
  37. package/dist/public/assets/_B2OO5cIa2.js +2 -0
  38. package/dist/public/assets/_B2OO5cIa2.js.map +1 -0
  39. package/dist/public/assets/_B2gwz-sJ2.js +2 -0
  40. package/dist/public/assets/_B2gwz-sJ2.js.map +1 -0
  41. package/dist/public/assets/_B3-BJFgG2.js +2 -0
  42. package/dist/public/assets/_B3-BJFgG2.js.map +1 -0
  43. package/dist/public/assets/_B35FxJx-.js +2 -0
  44. package/dist/public/assets/_B35FxJx-.js.map +1 -0
  45. package/dist/public/assets/_B3gFvitq2.js +2 -0
  46. package/dist/public/assets/_B3gFvitq2.js.map +1 -0
  47. package/dist/public/assets/_B5W6OYN7.js +2 -0
  48. package/dist/public/assets/_B5W6OYN7.js.map +1 -0
  49. package/dist/public/assets/_B5_Aarum.js +2 -0
  50. package/dist/public/assets/_B5_Aarum.js.map +1 -0
  51. package/dist/public/assets/_B5eOa1yu.js +2 -0
  52. package/dist/public/assets/_B5eOa1yu.js.map +1 -0
  53. package/dist/public/assets/_B68TUdTA.js +2 -0
  54. package/dist/public/assets/_B68TUdTA.js.map +1 -0
  55. package/dist/public/assets/_B6D30XZt.js +2 -0
  56. package/dist/public/assets/_B6D30XZt.js.map +1 -0
  57. package/dist/public/assets/_B7U1oqTK.js +2 -0
  58. package/dist/public/assets/_B7U1oqTK.js.map +1 -0
  59. package/dist/public/assets/_B7ZEbQpA2.js +2 -0
  60. package/dist/public/assets/_B7ZEbQpA2.js.map +1 -0
  61. package/dist/public/assets/_BAWPOn9u.js +2 -0
  62. package/dist/public/assets/_BAWPOn9u.js.map +1 -0
  63. package/dist/public/assets/_BAd6mRrB.js +2 -0
  64. package/dist/public/assets/_BAd6mRrB.js.map +1 -0
  65. package/dist/public/assets/_BC2Px7Mm.js +2 -0
  66. package/dist/public/assets/_BC2Px7Mm.js.map +1 -0
  67. package/dist/public/assets/_BC_s9l72.js +2 -0
  68. package/dist/public/assets/_BC_s9l72.js.map +1 -0
  69. package/dist/public/assets/_BHWKrbxM.js +2 -0
  70. package/dist/public/assets/_BHWKrbxM.js.map +1 -0
  71. package/dist/public/assets/_BHpQb5nM.js +2 -0
  72. package/dist/public/assets/_BHpQb5nM.js.map +1 -0
  73. package/dist/public/assets/_BJitypiv.js +2 -0
  74. package/dist/public/assets/_BJitypiv.js.map +1 -0
  75. package/dist/public/assets/_BM315xPC.js +2 -0
  76. package/dist/public/assets/_BM315xPC.js.map +1 -0
  77. package/dist/public/assets/_BML5mF2J.js +2 -0
  78. package/dist/public/assets/_BML5mF2J.js.map +1 -0
  79. package/dist/public/assets/_BMqwQI7S.js +2 -0
  80. package/dist/public/assets/_BMqwQI7S.js.map +1 -0
  81. package/dist/public/assets/_BN8roHge.js +2 -0
  82. package/dist/public/assets/_BN8roHge.js.map +1 -0
  83. package/dist/public/assets/_BNLmms1o.js +2 -0
  84. package/dist/public/assets/_BNLmms1o.js.map +1 -0
  85. package/dist/public/assets/_BPjhmG05.js +2 -0
  86. package/dist/public/assets/_BPjhmG05.js.map +1 -0
  87. package/dist/public/assets/_BQwnQ1RS.js +2 -0
  88. package/dist/public/assets/_BQwnQ1RS.js.map +1 -0
  89. package/dist/public/assets/_BR5RXkoi.js +2 -0
  90. package/dist/public/assets/_BR5RXkoi.js.map +1 -0
  91. package/dist/public/assets/_BRdr0IET2.js +2 -0
  92. package/dist/public/assets/_BRdr0IET2.js.map +1 -0
  93. package/dist/public/assets/_BSMLrYjP.js +2 -0
  94. package/dist/public/assets/_BSMLrYjP.js.map +1 -0
  95. package/dist/public/assets/_BSWPekZh2.js +2 -0
  96. package/dist/public/assets/_BSWPekZh2.js.map +1 -0
  97. package/dist/public/assets/_BUDT5pXO2.js +2 -0
  98. package/dist/public/assets/_BUDT5pXO2.js.map +1 -0
  99. package/dist/public/assets/_BUR00bIu.js +2 -0
  100. package/dist/public/assets/_BUR00bIu.js.map +1 -0
  101. package/dist/public/assets/_BVOciON5.js +2 -0
  102. package/dist/public/assets/_BVOciON5.js.map +1 -0
  103. package/dist/public/assets/_BVqpJbzt.js +2 -0
  104. package/dist/public/assets/_BVqpJbzt.js.map +1 -0
  105. package/dist/public/assets/_BWXHIvNe2.js +2 -0
  106. package/dist/public/assets/_BWXHIvNe2.js.map +1 -0
  107. package/dist/public/assets/_BX8lD8tm2.js +2 -0
  108. package/dist/public/assets/_BX8lD8tm2.js.map +1 -0
  109. package/dist/public/assets/_BXViO-2h.js +2 -0
  110. package/dist/public/assets/_BXViO-2h.js.map +1 -0
  111. package/dist/public/assets/_BXeXVLqQ.js +2 -0
  112. package/dist/public/assets/_BXeXVLqQ.js.map +1 -0
  113. package/dist/public/assets/_BYOwaDjH.js +2 -0
  114. package/dist/public/assets/_BYOwaDjH.js.map +1 -0
  115. package/dist/public/assets/_BYnGhZoM.js +2 -0
  116. package/dist/public/assets/_BYnGhZoM.js.map +1 -0
  117. package/dist/public/assets/_BZCL-v6S2.js +2 -0
  118. package/dist/public/assets/_BZCL-v6S2.js.map +1 -0
  119. package/dist/public/assets/_B_bV9PQ92.js +2 -0
  120. package/dist/public/assets/_B_bV9PQ92.js.map +1 -0
  121. package/dist/public/assets/_B_tTalzw.js +2 -0
  122. package/dist/public/assets/_B_tTalzw.js.map +1 -0
  123. package/dist/public/assets/_BaHq4SXp.js +2 -0
  124. package/dist/public/assets/_BaHq4SXp.js.map +1 -0
  125. package/dist/public/assets/_BaS-oxxd2.js +2 -0
  126. package/dist/public/assets/_BaS-oxxd2.js.map +1 -0
  127. package/dist/public/assets/_Bc3YyYrH2.js +2 -0
  128. package/dist/public/assets/_Bc3YyYrH2.js.map +1 -0
  129. package/dist/public/assets/_BdRaM05m2.js +2 -0
  130. package/dist/public/assets/_BdRaM05m2.js.map +1 -0
  131. package/dist/public/assets/_BdplqJrr.js +2 -0
  132. package/dist/public/assets/_BdplqJrr.js.map +1 -0
  133. package/dist/public/assets/_BeD6FBFk.js +2 -0
  134. package/dist/public/assets/_BeD6FBFk.js.map +1 -0
  135. package/dist/public/assets/_BewZWKdk2.js +2 -0
  136. package/dist/public/assets/_BewZWKdk2.js.map +1 -0
  137. package/dist/public/assets/_BgfXC-Er.js +2 -0
  138. package/dist/public/assets/_BgfXC-Er.js.map +1 -0
  139. package/dist/public/assets/_Bh7aXd4k.js +2 -0
  140. package/dist/public/assets/_Bh7aXd4k.js.map +1 -0
  141. package/dist/public/assets/_BiFt_7mu2.js +2 -0
  142. package/dist/public/assets/_BiFt_7mu2.js.map +1 -0
  143. package/dist/public/assets/_BiJDBrnU2.js +2 -0
  144. package/dist/public/assets/_BiJDBrnU2.js.map +1 -0
  145. package/dist/public/assets/_Bj61d0ZC2.js +2 -0
  146. package/dist/public/assets/_Bj61d0ZC2.js.map +1 -0
  147. package/dist/public/assets/_Bj7E1mRn.js +2 -0
  148. package/dist/public/assets/_Bj7E1mRn.js.map +1 -0
  149. package/dist/public/assets/_BjSbUqbC.js +2 -0
  150. package/dist/public/assets/_BjSbUqbC.js.map +1 -0
  151. package/dist/public/assets/_Bkw-3BvZ.js +2 -0
  152. package/dist/public/assets/_Bkw-3BvZ.js.map +1 -0
  153. package/dist/public/assets/_BkyTk9wS.js +2 -0
  154. package/dist/public/assets/_BkyTk9wS.js.map +1 -0
  155. package/dist/public/assets/_Bm2Q91Ye.js +2 -0
  156. package/dist/public/assets/_Bm2Q91Ye.js.map +1 -0
  157. package/dist/public/assets/_Bm3Qr25_2.js +2 -0
  158. package/dist/public/assets/_Bm3Qr25_2.js.map +1 -0
  159. package/dist/public/assets/_BmuOG9ZW.js +2 -0
  160. package/dist/public/assets/_BmuOG9ZW.js.map +1 -0
  161. package/dist/public/assets/_BnjxR4X6.js +2 -0
  162. package/dist/public/assets/_BnjxR4X6.js.map +1 -0
  163. package/dist/public/assets/_BnlCZFoB2.js +2 -0
  164. package/dist/public/assets/_BnlCZFoB2.js.map +1 -0
  165. package/dist/public/assets/_Bozd7klA.js +2 -0
  166. package/dist/public/assets/_Bozd7klA.js.map +1 -0
  167. package/dist/public/assets/_BqS6dk9f2.js +2 -0
  168. package/dist/public/assets/_BqS6dk9f2.js.map +1 -0
  169. package/dist/public/assets/_Bqwy1Gya.js +2 -0
  170. package/dist/public/assets/_Bqwy1Gya.js.map +1 -0
  171. package/dist/public/assets/_BroJfC0k2.js +2 -0
  172. package/dist/public/assets/_BroJfC0k2.js.map +1 -0
  173. package/dist/public/assets/_BsKzXJz42.js +2 -0
  174. package/dist/public/assets/_BsKzXJz42.js.map +1 -0
  175. package/dist/public/assets/_BsSzOQcm2.js +2 -0
  176. package/dist/public/assets/_BsSzOQcm2.js.map +1 -0
  177. package/dist/public/assets/_BtDbiS_P.js +2 -0
  178. package/dist/public/assets/_BtDbiS_P.js.map +1 -0
  179. package/dist/public/assets/_Bvq9DfCD.js +2 -0
  180. package/dist/public/assets/_Bvq9DfCD.js.map +1 -0
  181. package/dist/public/assets/_Bx1FflLF.js +2 -0
  182. package/dist/public/assets/_Bx1FflLF.js.map +1 -0
  183. package/dist/public/assets/_BxMlprV5.js +2 -0
  184. package/dist/public/assets/_BxMlprV5.js.map +1 -0
  185. package/dist/public/assets/_BxpfTIzt.js +2 -0
  186. package/dist/public/assets/_BxpfTIzt.js.map +1 -0
  187. package/dist/public/assets/_ByJddavk.js +2 -0
  188. package/dist/public/assets/_ByJddavk.js.map +1 -0
  189. package/dist/public/assets/_ByQdrI9o.js +2 -0
  190. package/dist/public/assets/_ByQdrI9o.js.map +1 -0
  191. package/dist/public/assets/_ByWQv1Qj2.js +2 -0
  192. package/dist/public/assets/_ByWQv1Qj2.js.map +1 -0
  193. package/dist/public/assets/_C-LZuMrd.js +2 -0
  194. package/dist/public/assets/_C-LZuMrd.js.map +1 -0
  195. package/dist/public/assets/_C03EYrpw.js +2 -0
  196. package/dist/public/assets/_C03EYrpw.js.map +1 -0
  197. package/dist/public/assets/_C0MpOrj4.js +2 -0
  198. package/dist/public/assets/_C0MpOrj4.js.map +1 -0
  199. package/dist/public/assets/_C0YiOr0H.js +2 -0
  200. package/dist/public/assets/_C0YiOr0H.js.map +1 -0
  201. package/dist/public/assets/_C1IUL_tW2.js +2 -0
  202. package/dist/public/assets/_C1IUL_tW2.js.map +1 -0
  203. package/dist/public/assets/_C2pBCSgt.js +2 -0
  204. package/dist/public/assets/_C2pBCSgt.js.map +1 -0
  205. package/dist/public/assets/_C3h-C4tm.js +2 -0
  206. package/dist/public/assets/_C3h-C4tm.js.map +1 -0
  207. package/dist/public/assets/_C5qYipkI.js +2 -0
  208. package/dist/public/assets/_C5qYipkI.js.map +1 -0
  209. package/dist/public/assets/_C7Dq7tkg.js +2 -0
  210. package/dist/public/assets/_C7Dq7tkg.js.map +1 -0
  211. package/dist/public/assets/_C7UOKdEL2.js +2 -0
  212. package/dist/public/assets/_C7UOKdEL2.js.map +1 -0
  213. package/dist/public/assets/_C7mF5XQf.js +2 -0
  214. package/dist/public/assets/_C7mF5XQf.js.map +1 -0
  215. package/dist/public/assets/_C820rvS2.js +2 -0
  216. package/dist/public/assets/_C820rvS2.js.map +1 -0
  217. package/dist/public/assets/_C8oCnwJJ2.js +2 -0
  218. package/dist/public/assets/_C8oCnwJJ2.js.map +1 -0
  219. package/dist/public/assets/_C8pVoKbM2.js +2 -0
  220. package/dist/public/assets/_C8pVoKbM2.js.map +1 -0
  221. package/dist/public/assets/_C8r90Shi2.js +2 -0
  222. package/dist/public/assets/_C8r90Shi2.js.map +1 -0
  223. package/dist/public/assets/_C9Q5zVZY.js +2 -0
  224. package/dist/public/assets/_C9Q5zVZY.js.map +1 -0
  225. package/dist/public/assets/_C9nuUTWB.js +2 -0
  226. package/dist/public/assets/_C9nuUTWB.js.map +1 -0
  227. package/dist/public/assets/_CA9gdOdF.js +2 -0
  228. package/dist/public/assets/_CA9gdOdF.js.map +1 -0
  229. package/dist/public/assets/_CA_30FGA2.js +2 -0
  230. package/dist/public/assets/_CA_30FGA2.js.map +1 -0
  231. package/dist/public/assets/_CAekHB0j.js +2 -0
  232. package/dist/public/assets/_CAekHB0j.js.map +1 -0
  233. package/dist/public/assets/_CAySWx-v2.js +2 -0
  234. package/dist/public/assets/_CAySWx-v2.js.map +1 -0
  235. package/dist/public/assets/_CBce3t8t2.js +2 -0
  236. package/dist/public/assets/_CBce3t8t2.js.map +1 -0
  237. package/dist/public/assets/_CCSX75yM2.js +2 -0
  238. package/dist/public/assets/_CCSX75yM2.js.map +1 -0
  239. package/dist/public/assets/_CCn79oCD.js +2 -0
  240. package/dist/public/assets/_CCn79oCD.js.map +1 -0
  241. package/dist/public/assets/_CDeNXAV0.js +2 -0
  242. package/dist/public/assets/_CDeNXAV0.js.map +1 -0
  243. package/dist/public/assets/_CDv2pdJW.js +2 -0
  244. package/dist/public/assets/_CDv2pdJW.js.map +1 -0
  245. package/dist/public/assets/_CE9AQfxI.js +2 -0
  246. package/dist/public/assets/_CE9AQfxI.js.map +1 -0
  247. package/dist/public/assets/_CE9ld1lL.js +2 -0
  248. package/dist/public/assets/_CE9ld1lL.js.map +1 -0
  249. package/dist/public/assets/_CEbqgOJL.js +2 -0
  250. package/dist/public/assets/_CEbqgOJL.js.map +1 -0
  251. package/dist/public/assets/_CFuIV2fl.js +2 -0
  252. package/dist/public/assets/_CFuIV2fl.js.map +1 -0
  253. package/dist/public/assets/_CHQ94UKr.js +2 -0
  254. package/dist/public/assets/_CHQ94UKr.js.map +1 -0
  255. package/dist/public/assets/_CJTPZ8u_.js +2 -0
  256. package/dist/public/assets/_CJTPZ8u_.js.map +1 -0
  257. package/dist/public/assets/_CKONSnHR2.js +2 -0
  258. package/dist/public/assets/_CKONSnHR2.js.map +1 -0
  259. package/dist/public/assets/_CL7CweMx.js +2 -0
  260. package/dist/public/assets/_CL7CweMx.js.map +1 -0
  261. package/dist/public/assets/_CLvhMVsD.js +2 -0
  262. package/dist/public/assets/_CLvhMVsD.js.map +1 -0
  263. package/dist/public/assets/_CLwyXe_n2.js +2 -0
  264. package/dist/public/assets/_CLwyXe_n2.js.map +1 -0
  265. package/dist/public/assets/_CMLA9XwU2.js +2 -0
  266. package/dist/public/assets/_CMLA9XwU2.js.map +1 -0
  267. package/dist/public/assets/_CNp9jCcm.js +2 -0
  268. package/dist/public/assets/_CNp9jCcm.js.map +1 -0
  269. package/dist/public/assets/_CPPmWfSs.js +2 -0
  270. package/dist/public/assets/_CPPmWfSs.js.map +1 -0
  271. package/dist/public/assets/_CQ2zXKGN2.js +2 -0
  272. package/dist/public/assets/_CQ2zXKGN2.js.map +1 -0
  273. package/dist/public/assets/_CQJs3lWb.js +2 -0
  274. package/dist/public/assets/_CQJs3lWb.js.map +1 -0
  275. package/dist/public/assets/_CRGYupPL.js +2 -0
  276. package/dist/public/assets/_CRGYupPL.js.map +1 -0
  277. package/dist/public/assets/_CSRkHgEL2.js +2 -0
  278. package/dist/public/assets/_CSRkHgEL2.js.map +1 -0
  279. package/dist/public/assets/_CUHmPFLl2.js +2 -0
  280. package/dist/public/assets/_CUHmPFLl2.js.map +1 -0
  281. package/dist/public/assets/_CV2tkWYe2.js +2 -0
  282. package/dist/public/assets/_CV2tkWYe2.js.map +1 -0
  283. package/dist/public/assets/_CY8IvGdO2.js +2 -0
  284. package/dist/public/assets/_CY8IvGdO2.js.map +1 -0
  285. package/dist/public/assets/_CYIUgYqB2.js +2 -0
  286. package/dist/public/assets/_CYIUgYqB2.js.map +1 -0
  287. package/dist/public/assets/_CYNrtFtB.js +2 -0
  288. package/dist/public/assets/_CYNrtFtB.js.map +1 -0
  289. package/dist/public/assets/_CYpm1nAK.js +2 -0
  290. package/dist/public/assets/_CYpm1nAK.js.map +1 -0
  291. package/dist/public/assets/_CZbG8q4J2.js +2 -0
  292. package/dist/public/assets/_CZbG8q4J2.js.map +1 -0
  293. package/dist/public/assets/_CZd0xW_V2.js +2 -0
  294. package/dist/public/assets/_CZd0xW_V2.js.map +1 -0
  295. package/dist/public/assets/_C_8bwKvT.js +2 -0
  296. package/dist/public/assets/_C_8bwKvT.js.map +1 -0
  297. package/dist/public/assets/_CacY0gHj2.js +2 -0
  298. package/dist/public/assets/_CacY0gHj2.js.map +1 -0
  299. package/dist/public/assets/_Cadu5wg_2.js +2 -0
  300. package/dist/public/assets/_Cadu5wg_2.js.map +1 -0
  301. package/dist/public/assets/_Cb4Vim4T2.js +2 -0
  302. package/dist/public/assets/_Cb4Vim4T2.js.map +1 -0
  303. package/dist/public/assets/_CcUt-GD82.js +2 -0
  304. package/dist/public/assets/_CcUt-GD82.js.map +1 -0
  305. package/dist/public/assets/_CcmNWLt02.js +2 -0
  306. package/dist/public/assets/_CcmNWLt02.js.map +1 -0
  307. package/dist/public/assets/_CewbzKMR.js +2 -0
  308. package/dist/public/assets/_CewbzKMR.js.map +1 -0
  309. package/dist/public/assets/_Cfkwpbl82.js +2 -0
  310. package/dist/public/assets/_Cfkwpbl82.js.map +1 -0
  311. package/dist/public/assets/_CgoNMtux2.js +2 -0
  312. package/dist/public/assets/_CgoNMtux2.js.map +1 -0
  313. package/dist/public/assets/_Ci_nEsc72.js +2 -0
  314. package/dist/public/assets/_Ci_nEsc72.js.map +1 -0
  315. package/dist/public/assets/_CjNLYCLg2.js +2 -0
  316. package/dist/public/assets/_CjNLYCLg2.js.map +1 -0
  317. package/dist/public/assets/_Ckw8ddFX.js +2 -0
  318. package/dist/public/assets/_Ckw8ddFX.js.map +1 -0
  319. package/dist/public/assets/_ClCAoQg62.js +2 -0
  320. package/dist/public/assets/_ClCAoQg62.js.map +1 -0
  321. package/dist/public/assets/_ClFFjSW22.js +2 -0
  322. package/dist/public/assets/_ClFFjSW22.js.map +1 -0
  323. package/dist/public/assets/_ClKdZ_lG.js +2 -0
  324. package/dist/public/assets/_ClKdZ_lG.js.map +1 -0
  325. package/dist/public/assets/_Clg0Yi872.js +2 -0
  326. package/dist/public/assets/_Clg0Yi872.js.map +1 -0
  327. package/dist/public/assets/_Cluzi2Zq.js +2 -0
  328. package/dist/public/assets/_Cluzi2Zq.js.map +1 -0
  329. package/dist/public/assets/_CmCQp5Yx.js +2 -0
  330. package/dist/public/assets/_CmCQp5Yx.js.map +1 -0
  331. package/dist/public/assets/_CmKGBNpS.js +2 -0
  332. package/dist/public/assets/_CmKGBNpS.js.map +1 -0
  333. package/dist/public/assets/_Cmm7eHzH.js +2 -0
  334. package/dist/public/assets/_Cmm7eHzH.js.map +1 -0
  335. package/dist/public/assets/_CnvKMtbv.js +2 -0
  336. package/dist/public/assets/_CnvKMtbv.js.map +1 -0
  337. package/dist/public/assets/_CoaEpmwp.js +2 -0
  338. package/dist/public/assets/_CoaEpmwp.js.map +1 -0
  339. package/dist/public/assets/_CohzipZa.js +2 -0
  340. package/dist/public/assets/_CohzipZa.js.map +1 -0
  341. package/dist/public/assets/_CpLgRqie.js +2 -0
  342. package/dist/public/assets/_CpLgRqie.js.map +1 -0
  343. package/dist/public/assets/_CpMGvmmC.js +2 -0
  344. package/dist/public/assets/_CpMGvmmC.js.map +1 -0
  345. package/dist/public/assets/_CpQYzh95.js +2 -0
  346. package/dist/public/assets/_CpQYzh95.js.map +1 -0
  347. package/dist/public/assets/_CpYNKFv52.js +2 -0
  348. package/dist/public/assets/_CpYNKFv52.js.map +1 -0
  349. package/dist/public/assets/_CpjhbsIL.js +2 -0
  350. package/dist/public/assets/_CpjhbsIL.js.map +1 -0
  351. package/dist/public/assets/_Cs2F2srj.js +2 -0
  352. package/dist/public/assets/_Cs2F2srj.js.map +1 -0
  353. package/dist/public/assets/_Cs6JJXT5.js +2 -0
  354. package/dist/public/assets/_Cs6JJXT5.js.map +1 -0
  355. package/dist/public/assets/_CsD5j6eV.js +2 -0
  356. package/dist/public/assets/_CsD5j6eV.js.map +1 -0
  357. package/dist/public/assets/_CsvMBhTu.js +2 -0
  358. package/dist/public/assets/_CsvMBhTu.js.map +1 -0
  359. package/dist/public/assets/_CswbzlgY.js +2 -0
  360. package/dist/public/assets/_CswbzlgY.js.map +1 -0
  361. package/dist/public/assets/_CtIoeUxU2.js +2 -0
  362. package/dist/public/assets/_CtIoeUxU2.js.map +1 -0
  363. package/dist/public/assets/_CtfBBspg2.js +2 -0
  364. package/dist/public/assets/_CtfBBspg2.js.map +1 -0
  365. package/dist/public/assets/_CtsyrtPq.js +2 -0
  366. package/dist/public/assets/_CtsyrtPq.js.map +1 -0
  367. package/dist/public/assets/_Cv5bFMCO.js +2 -0
  368. package/dist/public/assets/_Cv5bFMCO.js.map +1 -0
  369. package/dist/public/assets/_Cvrh5tZx2.js +2 -0
  370. package/dist/public/assets/_Cvrh5tZx2.js.map +1 -0
  371. package/dist/public/assets/_Cx8FnA3x.js +2 -0
  372. package/dist/public/assets/_Cx8FnA3x.js.map +1 -0
  373. package/dist/public/assets/_CxZEssPk2.js +2 -0
  374. package/dist/public/assets/_CxZEssPk2.js.map +1 -0
  375. package/dist/public/assets/_CyE5x4UV.js +2 -0
  376. package/dist/public/assets/_CyE5x4UV.js.map +1 -0
  377. package/dist/public/assets/_CyEgAFGc.js +2 -0
  378. package/dist/public/assets/_CyEgAFGc.js.map +1 -0
  379. package/dist/public/assets/_D-T_C697.js +2 -0
  380. package/dist/public/assets/_D-T_C697.js.map +1 -0
  381. package/dist/public/assets/_D-usSTwE2.js +2 -0
  382. package/dist/public/assets/_D-usSTwE2.js.map +1 -0
  383. package/dist/public/assets/_D0apG41V2.js +2 -0
  384. package/dist/public/assets/_D0apG41V2.js.map +1 -0
  385. package/dist/public/assets/_D1A_Heim2.js +2 -0
  386. package/dist/public/assets/_D1A_Heim2.js.map +1 -0
  387. package/dist/public/assets/_D271znPr.js +2 -0
  388. package/dist/public/assets/_D271znPr.js.map +1 -0
  389. package/dist/public/assets/_D4kbjPsP2.js +2 -0
  390. package/dist/public/assets/_D4kbjPsP2.js.map +1 -0
  391. package/dist/public/assets/_D7Lr4KcI2.js +2 -0
  392. package/dist/public/assets/_D7Lr4KcI2.js.map +1 -0
  393. package/dist/public/assets/_D7qyCx1q.js +2 -0
  394. package/dist/public/assets/_D7qyCx1q.js.map +1 -0
  395. package/dist/public/assets/_D80Fkn33.js +2 -0
  396. package/dist/public/assets/_D80Fkn33.js.map +1 -0
  397. package/dist/public/assets/_D81mTxaU2.js +2 -0
  398. package/dist/public/assets/_D81mTxaU2.js.map +1 -0
  399. package/dist/public/assets/_D8IpX4py2.js +2 -0
  400. package/dist/public/assets/_D8IpX4py2.js.map +1 -0
  401. package/dist/public/assets/_D8YarXPe.js +2 -0
  402. package/dist/public/assets/_D8YarXPe.js.map +1 -0
  403. package/dist/public/assets/_DB4EqR-F.js +2 -0
  404. package/dist/public/assets/_DB4EqR-F.js.map +1 -0
  405. package/dist/public/assets/_DBiDFlly.js +2 -0
  406. package/dist/public/assets/_DBiDFlly.js.map +1 -0
  407. package/dist/public/assets/_DBj4K9d_2.js +2 -0
  408. package/dist/public/assets/_DBj4K9d_2.js.map +1 -0
  409. package/dist/public/assets/_DCQb3MpD.js +2 -0
  410. package/dist/public/assets/_DCQb3MpD.js.map +1 -0
  411. package/dist/public/assets/_DDpmG2fV2.js +2 -0
  412. package/dist/public/assets/_DDpmG2fV2.js.map +1 -0
  413. package/dist/public/assets/_DExj1W_82.js +2 -0
  414. package/dist/public/assets/_DExj1W_82.js.map +1 -0
  415. package/dist/public/assets/_DGHpHOYJ2.js +2 -0
  416. package/dist/public/assets/_DGHpHOYJ2.js.map +1 -0
  417. package/dist/public/assets/_DHYfO66s2.js +2 -0
  418. package/dist/public/assets/_DHYfO66s2.js.map +1 -0
  419. package/dist/public/assets/_DHuY153x.js +2 -0
  420. package/dist/public/assets/_DHuY153x.js.map +1 -0
  421. package/dist/public/assets/_DI7wJmV3.js +2 -0
  422. package/dist/public/assets/_DI7wJmV3.js.map +1 -0
  423. package/dist/public/assets/_DI99ib-x2.js +2 -0
  424. package/dist/public/assets/_DI99ib-x2.js.map +1 -0
  425. package/dist/public/assets/_DJMQeKeT.js +2 -0
  426. package/dist/public/assets/_DJMQeKeT.js.map +1 -0
  427. package/dist/public/assets/_DKDBIGSx.js +2 -0
  428. package/dist/public/assets/_DKDBIGSx.js.map +1 -0
  429. package/dist/public/assets/_DKpUyyne2.js +2 -0
  430. package/dist/public/assets/_DKpUyyne2.js.map +1 -0
  431. package/dist/public/assets/_DLL8P-h_2.js +2 -0
  432. package/dist/public/assets/_DLL8P-h_2.js.map +1 -0
  433. package/dist/public/assets/_DLbMbJfH2.js +2 -0
  434. package/dist/public/assets/_DLbMbJfH2.js.map +1 -0
  435. package/dist/public/assets/_DMLJgrzU2.js +2 -0
  436. package/dist/public/assets/_DMLJgrzU2.js.map +1 -0
  437. package/dist/public/assets/_DMgNhnYS2.js +2 -0
  438. package/dist/public/assets/_DMgNhnYS2.js.map +1 -0
  439. package/dist/public/assets/_DMoTqEGO.js +2 -0
  440. package/dist/public/assets/_DMoTqEGO.js.map +1 -0
  441. package/dist/public/assets/_DNMTfnFr2.js +2 -0
  442. package/dist/public/assets/_DNMTfnFr2.js.map +1 -0
  443. package/dist/public/assets/_DO-qXg-I2.js +2 -0
  444. package/dist/public/assets/_DO-qXg-I2.js.map +1 -0
  445. package/dist/public/assets/_DOwzaHZ02.js +2 -0
  446. package/dist/public/assets/_DOwzaHZ02.js.map +1 -0
  447. package/dist/public/assets/_DQCgrYNe.js +2 -0
  448. package/dist/public/assets/_DQCgrYNe.js.map +1 -0
  449. package/dist/public/assets/_DQZ5AkYe.js +2 -0
  450. package/dist/public/assets/_DQZ5AkYe.js.map +1 -0
  451. package/dist/public/assets/_DQwYfKfQ2.js +2 -0
  452. package/dist/public/assets/_DQwYfKfQ2.js.map +1 -0
  453. package/dist/public/assets/_DQxkIbk2.js +2 -0
  454. package/dist/public/assets/_DQxkIbk2.js.map +1 -0
  455. package/dist/public/assets/_DRFjx7u42.js +2 -0
  456. package/dist/public/assets/_DRFjx7u42.js.map +1 -0
  457. package/dist/public/assets/_DSNQnXHK.js +2 -0
  458. package/dist/public/assets/_DSNQnXHK.js.map +1 -0
  459. package/dist/public/assets/_DVQuIRkW.js +2 -0
  460. package/dist/public/assets/_DVQuIRkW.js.map +1 -0
  461. package/dist/public/assets/_DVTAwKKz.js +2 -0
  462. package/dist/public/assets/_DVTAwKKz.js.map +1 -0
  463. package/dist/public/assets/_DW3nJb8Q.js +2 -0
  464. package/dist/public/assets/_DW3nJb8Q.js.map +1 -0
  465. package/dist/public/assets/_DWQbgPoS.js +2 -0
  466. package/dist/public/assets/_DWQbgPoS.js.map +1 -0
  467. package/dist/public/assets/_DX1BQOs82.js +2 -0
  468. package/dist/public/assets/_DX1BQOs82.js.map +1 -0
  469. package/dist/public/assets/_DXG-b-1a.js +2 -0
  470. package/dist/public/assets/_DXG-b-1a.js.map +1 -0
  471. package/dist/public/assets/_DXrisJhu.js +2 -0
  472. package/dist/public/assets/_DXrisJhu.js.map +1 -0
  473. package/dist/public/assets/_DXw9l8Rf.js +2 -0
  474. package/dist/public/assets/_DXw9l8Rf.js.map +1 -0
  475. package/dist/public/assets/_DYvRD3hg2.js +2 -0
  476. package/dist/public/assets/_DYvRD3hg2.js.map +1 -0
  477. package/dist/public/assets/_DZQUGsSH.js +2 -0
  478. package/dist/public/assets/_DZQUGsSH.js.map +1 -0
  479. package/dist/public/assets/_Db1ZVL_I.js +2 -0
  480. package/dist/public/assets/_Db1ZVL_I.js.map +1 -0
  481. package/dist/public/assets/_DcIDlBhZ.js +2 -0
  482. package/dist/public/assets/_DcIDlBhZ.js.map +1 -0
  483. package/dist/public/assets/_DdrHHSXu2.js +2 -0
  484. package/dist/public/assets/_DdrHHSXu2.js.map +1 -0
  485. package/dist/public/assets/_DdvCle-K2.js +2 -0
  486. package/dist/public/assets/_DdvCle-K2.js.map +1 -0
  487. package/dist/public/assets/_De_Heo4C.js +2 -0
  488. package/dist/public/assets/_De_Heo4C.js.map +1 -0
  489. package/dist/public/assets/_Df2xbC6M.js +2 -0
  490. package/dist/public/assets/_Df2xbC6M.js.map +1 -0
  491. package/dist/public/assets/_Dgaz7aur.js +2 -0
  492. package/dist/public/assets/_Dgaz7aur.js.map +1 -0
  493. package/dist/public/assets/_DgjMoLWr.js +2 -0
  494. package/dist/public/assets/_DgjMoLWr.js.map +1 -0
  495. package/dist/public/assets/_Dh228itO2.js +2 -0
  496. package/dist/public/assets/_Dh228itO2.js.map +1 -0
  497. package/dist/public/assets/_Dh5ihWbf.js +2 -0
  498. package/dist/public/assets/_Dh5ihWbf.js.map +1 -0
  499. package/dist/public/assets/_DhhofPvG.js +2 -0
  500. package/dist/public/assets/_DhhofPvG.js.map +1 -0
  501. package/dist/public/assets/_DhmEMT882.js +2 -0
  502. package/dist/public/assets/_DhmEMT882.js.map +1 -0
  503. package/dist/public/assets/_Dixweg8N.js +2 -0
  504. package/dist/public/assets/_Dixweg8N.js.map +1 -0
  505. package/dist/public/assets/_DjuaAJKi.js +2 -0
  506. package/dist/public/assets/_DjuaAJKi.js.map +1 -0
  507. package/dist/public/assets/_Dl-2e7rI2.js +2 -0
  508. package/dist/public/assets/_Dl-2e7rI2.js.map +1 -0
  509. package/dist/public/assets/_Dlh5hvp9.js +2 -0
  510. package/dist/public/assets/_Dlh5hvp9.js.map +1 -0
  511. package/dist/public/assets/_DluEY0Gj.js +2 -0
  512. package/dist/public/assets/_DluEY0Gj.js.map +1 -0
  513. package/dist/public/assets/_DmIc4jLQ.js +2 -0
  514. package/dist/public/assets/_DmIc4jLQ.js.map +1 -0
  515. package/dist/public/assets/_DnToyrRv2.js +2 -0
  516. package/dist/public/assets/_DnToyrRv2.js.map +1 -0
  517. package/dist/public/assets/_DqHOMS-s.js +2 -0
  518. package/dist/public/assets/_DqHOMS-s.js.map +1 -0
  519. package/dist/public/assets/_DqKBuwfJ2.js +2 -0
  520. package/dist/public/assets/_DqKBuwfJ2.js.map +1 -0
  521. package/dist/public/assets/_Dqh6l9VH.js +2 -0
  522. package/dist/public/assets/_Dqh6l9VH.js.map +1 -0
  523. package/dist/public/assets/_DqhwlshE2.js +2 -0
  524. package/dist/public/assets/_DqhwlshE2.js.map +1 -0
  525. package/dist/public/assets/_DsOwYco6.js +2 -0
  526. package/dist/public/assets/_DsOwYco6.js.map +1 -0
  527. package/dist/public/assets/_DsUTQ-LC2.js +2 -0
  528. package/dist/public/assets/_DsUTQ-LC2.js.map +1 -0
  529. package/dist/public/assets/_DswuEJGm2.js +2 -0
  530. package/dist/public/assets/_DswuEJGm2.js.map +1 -0
  531. package/dist/public/assets/_DtyUWVZz.js +2 -0
  532. package/dist/public/assets/_DtyUWVZz.js.map +1 -0
  533. package/dist/public/assets/_DuBRPxYg.js +2 -0
  534. package/dist/public/assets/_DuBRPxYg.js.map +1 -0
  535. package/dist/public/assets/_DuBYtv0r.js +2 -0
  536. package/dist/public/assets/_DuBYtv0r.js.map +1 -0
  537. package/dist/public/assets/_DvXPmvsu2.js +2 -0
  538. package/dist/public/assets/_DvXPmvsu2.js.map +1 -0
  539. package/dist/public/assets/_Dw6INy6H2.js +2 -0
  540. package/dist/public/assets/_Dw6INy6H2.js.map +1 -0
  541. package/dist/public/assets/_Dx-8-gkx.js +2 -0
  542. package/dist/public/assets/_Dx-8-gkx.js.map +1 -0
  543. package/dist/public/assets/_Dx2utMPo.js +2 -0
  544. package/dist/public/assets/_Dx2utMPo.js.map +1 -0
  545. package/dist/public/assets/_EUqPIrTm.js +2 -0
  546. package/dist/public/assets/_EUqPIrTm.js.map +1 -0
  547. package/dist/public/assets/_Fe1Jh2GI.js +2 -0
  548. package/dist/public/assets/_Fe1Jh2GI.js.map +1 -0
  549. package/dist/public/assets/_IvuFDN5E2.js +2 -0
  550. package/dist/public/assets/_IvuFDN5E2.js.map +1 -0
  551. package/dist/public/assets/_IyjqRm3v.js +2 -0
  552. package/dist/public/assets/_IyjqRm3v.js.map +1 -0
  553. package/dist/public/assets/_KFGFyKwG.js +2 -0
  554. package/dist/public/assets/_KFGFyKwG.js.map +1 -0
  555. package/dist/public/assets/_L8AbGenz.js +2 -0
  556. package/dist/public/assets/_L8AbGenz.js.map +1 -0
  557. package/dist/public/assets/_MrdJrrXF.js +2 -0
  558. package/dist/public/assets/_MrdJrrXF.js.map +1 -0
  559. package/dist/public/assets/_O90oeIOV2.js +2 -0
  560. package/dist/public/assets/_O90oeIOV2.js.map +1 -0
  561. package/dist/public/assets/_R8nAf1vR.js +2 -0
  562. package/dist/public/assets/_R8nAf1vR.js.map +1 -0
  563. package/dist/public/assets/_SCjQUq34.js +2 -0
  564. package/dist/public/assets/_SCjQUq34.js.map +1 -0
  565. package/dist/public/assets/_TlYgJqzm.js +2 -0
  566. package/dist/public/assets/_TlYgJqzm.js.map +1 -0
  567. package/dist/public/assets/_U0d_L8uA.js +2 -0
  568. package/dist/public/assets/_U0d_L8uA.js.map +1 -0
  569. package/dist/public/assets/_UdsmMDCL2.js +2 -0
  570. package/dist/public/assets/_UdsmMDCL2.js.map +1 -0
  571. package/dist/public/assets/_Uh3mh5XV2.js +2 -0
  572. package/dist/public/assets/_Uh3mh5XV2.js.map +1 -0
  573. package/dist/public/assets/_VUp2lXgN.js +2 -0
  574. package/dist/public/assets/_VUp2lXgN.js.map +1 -0
  575. package/dist/public/assets/_VXkXYg_d.js +2 -0
  576. package/dist/public/assets/_VXkXYg_d.js.map +1 -0
  577. package/dist/public/assets/_VbXTXTou2.js +2 -0
  578. package/dist/public/assets/_VbXTXTou2.js.map +1 -0
  579. package/dist/public/assets/__5a1GRtc.js +2 -0
  580. package/dist/public/assets/__5a1GRtc.js.map +1 -0
  581. package/dist/public/assets/__6rzW9BS.js +2 -0
  582. package/dist/public/assets/__6rzW9BS.js.map +1 -0
  583. package/dist/public/assets/__X_XdTYD.js +2 -0
  584. package/dist/public/assets/__X_XdTYD.js.map +1 -0
  585. package/dist/public/assets/_a4yckPl9.js +2 -0
  586. package/dist/public/assets/_a4yckPl9.js.map +1 -0
  587. package/dist/public/assets/_aMsaMD1D2.js +2 -0
  588. package/dist/public/assets/_aMsaMD1D2.js.map +1 -0
  589. package/dist/public/assets/_bTVj8UrX2.js +2 -0
  590. package/dist/public/assets/_bTVj8UrX2.js.map +1 -0
  591. package/dist/public/assets/_c_oH4hRZ.js +2 -0
  592. package/dist/public/assets/_c_oH4hRZ.js.map +1 -0
  593. package/dist/public/assets/_eJ-hLW7d2.js +2 -0
  594. package/dist/public/assets/_eJ-hLW7d2.js.map +1 -0
  595. package/dist/public/assets/_fvy_08gp2.js +2 -0
  596. package/dist/public/assets/_fvy_08gp2.js.map +1 -0
  597. package/dist/public/assets/_fwtXNY1n2.js +2 -0
  598. package/dist/public/assets/_fwtXNY1n2.js.map +1 -0
  599. package/dist/public/assets/_gzcpVVnB2.js +2 -0
  600. package/dist/public/assets/_gzcpVVnB2.js.map +1 -0
  601. package/dist/public/assets/_iUWkWK9o.js +2 -0
  602. package/dist/public/assets/_iUWkWK9o.js.map +1 -0
  603. package/dist/public/assets/_iXnhIJG72.js +2 -0
  604. package/dist/public/assets/_iXnhIJG72.js.map +1 -0
  605. package/dist/public/assets/_ilITqXS62.js +2 -0
  606. package/dist/public/assets/_ilITqXS62.js.map +1 -0
  607. package/dist/public/assets/_it7tAyoL2.js +2 -0
  608. package/dist/public/assets/_it7tAyoL2.js.map +1 -0
  609. package/dist/public/assets/_kIpfj7zU2.js +2 -0
  610. package/dist/public/assets/_kIpfj7zU2.js.map +1 -0
  611. package/dist/public/assets/_kZQmAZld.js +2 -0
  612. package/dist/public/assets/_kZQmAZld.js.map +1 -0
  613. package/dist/public/assets/_lWLdNTOI.js +2 -0
  614. package/dist/public/assets/_lWLdNTOI.js.map +1 -0
  615. package/dist/public/assets/_m5z1534W.js +2 -0
  616. package/dist/public/assets/_m5z1534W.js.map +1 -0
  617. package/dist/public/assets/_nFMaYfgc2.js +2 -0
  618. package/dist/public/assets/_nFMaYfgc2.js.map +1 -0
  619. package/dist/public/assets/_oM2G3aXe2.js +2 -0
  620. package/dist/public/assets/_oM2G3aXe2.js.map +1 -0
  621. package/dist/public/assets/_oeQT6MSM2.js +2 -0
  622. package/dist/public/assets/_oeQT6MSM2.js.map +1 -0
  623. package/dist/public/assets/_oqKa8noW.js +2 -0
  624. package/dist/public/assets/_oqKa8noW.js.map +1 -0
  625. package/dist/public/assets/_ot-7Btpt2.js +2 -0
  626. package/dist/public/assets/_ot-7Btpt2.js.map +1 -0
  627. package/dist/public/assets/_qD-0Kul2.js +2 -0
  628. package/dist/public/assets/_qD-0Kul2.js.map +1 -0
  629. package/dist/public/assets/_qdxAdBWQ2.js +2 -0
  630. package/dist/public/assets/_qdxAdBWQ2.js.map +1 -0
  631. package/dist/public/assets/_rLFTqkRN2.js +2 -0
  632. package/dist/public/assets/_rLFTqkRN2.js.map +1 -0
  633. package/dist/public/assets/_sB-x3p7T.js +2 -0
  634. package/dist/public/assets/_sB-x3p7T.js.map +1 -0
  635. package/dist/public/assets/_sltzmVWM2.js +2 -0
  636. package/dist/public/assets/_sltzmVWM2.js.map +1 -0
  637. package/dist/public/assets/_uh5ioxiV.js +2 -0
  638. package/dist/public/assets/_uh5ioxiV.js.map +1 -0
  639. package/dist/public/assets/_uhdI0v04.js +2 -0
  640. package/dist/public/assets/_uhdI0v04.js.map +1 -0
  641. package/dist/public/assets/_vGVdxbeo2.js +2 -0
  642. package/dist/public/assets/_vGVdxbeo2.js.map +1 -0
  643. package/dist/public/assets/_woXpYk--.js +2 -0
  644. package/dist/public/assets/_woXpYk--.js.map +1 -0
  645. package/dist/public/assets/_zf12oZj62.js +2 -0
  646. package/dist/public/assets/_zf12oZj62.js.map +1 -0
  647. package/dist/public/assets/index-KIy0rCx1.css +1 -0
  648. package/dist/public/assets/index-kv6gFctA.js +1612 -0
  649. package/dist/public/assets/index-kv6gFctA.js.map +1 -0
  650. package/dist/public/icon-192.png +0 -0
  651. package/dist/public/icon-512.png +0 -0
  652. package/dist/public/icon-maskable-512.png +0 -0
  653. package/dist/public/icon.svg +4 -0
  654. package/dist/public/manifest.webmanifest +35 -0
  655. package/dist/public/sw.js +48 -0
  656. package/install.sh +104 -0
  657. package/package.json +59 -0
  658. package/scripts/migrate.mjs +108 -0
package/README.md ADDED
@@ -0,0 +1,99 @@
1
+ # work
2
+
3
+ A self-hosted web GUI for agentic dev workspaces — on desktop and as a mobile
4
+ PWA. Spin up multi-repo worktree workspaces, run coding agents (Claude Code,
5
+ Codex, Copilot, Cursor, Grok) or plain shells in real terminals, review diffs
6
+ and send feedback to agents, and watch PR/CI status — from any device.
7
+
8
+ - **Workspaces** — named directories of git worktrees (one per GitHub repo,
9
+ cloned from a shared bare-repo cache), all on a generated branch. Create,
10
+ add/remove repos, archive/restore, delete.
11
+ - **Sessions** — real CLIs in tmux, mirrored to the browser over WebSocket
12
+ (xterm.js). Sessions survive server restarts and phone locks; agent hooks
13
+ surface working / waiting / idle state at a glance.
14
+ - **Review** — a fast diff view across every repo in the workspace, with
15
+ line comments you can send straight into an agent session.
16
+ - **Mobile-first PWA** — installable, with a touch-tuned terminal (sticky
17
+ keyboard toggle, d-pad for arrows/tab/ctrl-c, momentum scrolling).
18
+
19
+ ## Install (bare machine)
20
+
21
+ One command on a fresh Linux or macOS box — installs the system tools
22
+ (git, tmux, a compiler for node-pty), [mise](https://mise.jdx.dev) + node,
23
+ the published package, and the background service (systemd/launchd):
24
+
25
+ ```sh
26
+ curl -fsSL https://cdn.jsdelivr.net/npm/@dylanpiercey/work/install.sh | bash
27
+ ```
28
+
29
+ Already have node (and git/tmux)? `npm i -g @dylanpiercey/work && work setup`
30
+ does the same minus the system tools. Update later with `work update` (or
31
+ re-run the installer).
32
+
33
+ ## Develop
34
+
35
+ Requires Linux or macOS with `git`, `tmux`, `gh` (authenticated), and Node 22+.
36
+ The bootstrap script installs everything via [mise](https://mise.jdx.dev),
37
+ offers the agent CLIs, and runs `pnpm install`:
38
+
39
+ ```sh
40
+ ./scripts/bootstrap.sh
41
+ ```
42
+
43
+ ## Run
44
+
45
+ ```sh
46
+ pnpm dev # http://localhost:7171
47
+ ```
48
+
49
+ For a production build plus a background service (systemd on Linux, launchd on macOS):
50
+
51
+ ```sh
52
+ ./scripts/setup-prod.sh # build + install + start the service
53
+ ./scripts/run-prod.sh # or: build with --no-service and run manually
54
+ ./scripts/update.sh # later: pull latest, rebuild, restart
55
+ ```
56
+
57
+ To reach it from other devices, put it behind something that terminates TLS
58
+ and authenticates — e.g. a Cloudflare Tunnel with Access, or Tailscale.
59
+ Everything (pages, API, and the `/term` websockets) serves from the single
60
+ app port, so route the whole hostname to it. Set
61
+ `WORK_ALLOWED_HOSTS=your.domain` so the dev server accepts the hostname.
62
+
63
+ > **Upgrading from the two-port layout:** older setups routed `/term/*` to a
64
+ > separate terminal port (7172). That port no longer exists — remove the
65
+ > `/term` rule from your tunnel/proxy config and send all traffic to the app
66
+ > port, or terminals will fail to connect.
67
+
68
+ ## Configuration
69
+
70
+ | Variable | Default | Purpose |
71
+ | -------------------- | ----------------------- | ------------------------------------ |
72
+ | `WORK_ROOT` | `~/work` | Workspaces root (+ `.cache` bare repos) |
73
+ | `WORK_DATA_DIR` | `~/.local/share/work` | sqlite db and server state |
74
+ | `WORK_APP_PORT` | `7171` | HTTP server (app, assets, and `/term` websockets) |
75
+ | `WORK_ALLOWED_HOSTS` | — | Extra dev-server hostnames (comma-separated) |
76
+ | `WORK_USER` / `WORK_HOST` | current user/host | Branch-name prefix parts |
77
+ | `WORK_BRANCH_PREFIX` | `<user>-<host>` | Whole branch-name prefix, overriding the parts |
78
+
79
+ Ports and paths can be exported before `scripts/setup-prod.sh` to bake them into
80
+ the service. For settings that should outlive an update, put them in an untracked
81
+ `.env.local` at the repo root instead — `scripts/run-prod.sh` reads it on every
82
+ start (the dev server does not), only `WORK_*` names apply, and the
83
+ surrounding environment still takes precedence:
84
+
85
+ ```sh
86
+ WORK_BRANCH_PREFIX=rturnq
87
+ ```
88
+
89
+ Optional: a `plan-usage` CLI on PATH enables the agent plan/quota usage panel.
90
+
91
+ ## Layout on disk
92
+
93
+ - `~/work/<slug>-<id>/` — a workspace: one worktree per repo + generated
94
+ `AGENTS.md` (and `CLAUDE.md` symlink) encoding the conventions
95
+ - `~/work/.cache/github.com/<owner>/<repo>.git` — shared bare-repo cache
96
+ - `~/.local/share/work/work.db` — sqlite database (authoritative state)
97
+
98
+ Terminals live in a dedicated tmux server (`tmux -L work`), kept alive by a
99
+ transient systemd unit so app restarts never kill your sessions.
package/bin/work.mjs ADDED
@@ -0,0 +1,236 @@
1
+ #!/usr/bin/env node
2
+ // work CLI — ships with the npm package (no dependencies; plain node).
3
+ //
4
+ // work setup install/refresh the background service (+ optional tunnel)
5
+ // work start run the server in the foreground
6
+ // work update upgrade the npm package and refresh the service
7
+ // work version print the installed version
8
+ import { execFileSync, spawnSync } from "node:child_process";
9
+ import fs from "node:fs";
10
+ import os from "node:os";
11
+ import path from "node:path";
12
+ import { fileURLToPath } from "node:url";
13
+ import { createRequire } from "node:module";
14
+
15
+ const pkgRoot = path.dirname(path.dirname(fileURLToPath(import.meta.url)));
16
+ const pkg = JSON.parse(fs.readFileSync(path.join(pkgRoot, "package.json"), "utf8"));
17
+ const distEntry = path.join(pkgRoot, "dist", "index.mjs");
18
+ const appPort = process.env.WORK_APP_PORT || "7171";
19
+
20
+ const log = (msg) => console.log(`==> ${msg}`);
21
+ const warn = (msg) => console.warn(`warning: ${msg}`);
22
+ const die = (msg) => {
23
+ console.error(`error: ${msg}`);
24
+ process.exit(1);
25
+ };
26
+ const have = (cmd) =>
27
+ spawnSync(process.platform === "win32" ? "where" : "which", [cmd], {
28
+ stdio: "ignore",
29
+ }).status === 0;
30
+ const sh = (cmd, args, opts = {}) =>
31
+ execFileSync(cmd, args, { stdio: "inherit", ...opts });
32
+
33
+ const [, , command = "help", ...args] = process.argv;
34
+ const yes = args.includes("--yes") || args.includes("-y");
35
+
36
+ switch (command) {
37
+ case "start":
38
+ await start();
39
+ break;
40
+ case "setup":
41
+ await setup();
42
+ break;
43
+ case "update":
44
+ await update();
45
+ break;
46
+ case "version":
47
+ case "--version":
48
+ case "-v":
49
+ console.log(pkg.version);
50
+ break;
51
+ default:
52
+ console.log(
53
+ `work ${pkg.version}\n\nusage: work <setup|start|update|version>`,
54
+ );
55
+ }
56
+
57
+ async function start() {
58
+ if (!fs.existsSync(distEntry)) die(`missing ${distEntry}`);
59
+ process.env.PORT ||= appPort;
60
+ await import(distEntry);
61
+ }
62
+
63
+ async function setup() {
64
+ // Runtime tools. The curl installer normally provides these; a plain
65
+ // `npm i -g` user may be missing them.
66
+ for (const tool of ["git", "tmux"]) {
67
+ if (!have(tool)) die(`${tool} not found — install it and re-run (the curl installer does this automatically)`);
68
+ }
69
+
70
+ // Default toolset (mirrors DylanPiercey/start): gh for PR features plus
71
+ // the utilities agents reach for constantly. Static binaries via mise,
72
+ // each non-fatal, skipped when already on PATH.
73
+ if (have("mise")) {
74
+ const tools = [
75
+ "gh",
76
+ "ripgrep", // rg
77
+ "fd",
78
+ "jq",
79
+ "delta",
80
+ "ast-grep",
81
+ "hyperfine",
82
+ "fzf",
83
+ "bottom",
84
+ "pnpm",
85
+ ];
86
+ const binOf = { ripgrep: "rg", "ast-grep": "sg", bottom: "btm" };
87
+ for (const tool of tools) {
88
+ if (have(binOf[tool] || tool)) continue;
89
+ log(`installing ${tool} via mise`);
90
+ if (spawnSync("mise", ["use", "-g", "-y", `${tool}@latest`], { stdio: "inherit" }).status !== 0) {
91
+ warn(`${tool} install failed (non-fatal)`);
92
+ }
93
+ }
94
+ } else if (!have("gh")) {
95
+ warn("gh not found and mise unavailable — PR features need gh; install it and re-run");
96
+ }
97
+ if (have("gh") && spawnSync("gh", ["auth", "status"], { stdio: "ignore" }).status !== 0) {
98
+ if (process.env.GH_TOKEN || process.env.GITHUB_TOKEN) {
99
+ log("gh will use GH_TOKEN from the environment");
100
+ } else if (yes) {
101
+ warn("gh is not authenticated — run `gh auth login` later");
102
+ } else {
103
+ log("authenticating gh (GitHub PRs/clones)");
104
+ sh("gh", ["auth", "login"]);
105
+ }
106
+ }
107
+
108
+ // One-shot cleanups between versions.
109
+ const migrate = path.join(pkgRoot, "scripts", "migrate.mjs");
110
+ if (fs.existsSync(migrate)) {
111
+ spawnSync(process.execPath, [migrate], { stdio: "inherit" });
112
+ }
113
+
114
+ installService();
115
+ maybeTunnel();
116
+ log(`done — http://localhost:${appPort}`);
117
+ }
118
+
119
+ async function update() {
120
+ log("updating @dylanpiercey/work");
121
+ sh("npm", ["install", "-g", "@dylanpiercey/work@latest"]);
122
+ // Re-exec the (possibly new) CLI to finish with fresh code.
123
+ sh("work", ["setup", ...(yes ? ["--yes"] : [])]);
124
+ }
125
+
126
+ /** PATH baked into the service — it runs without a login shell. */
127
+ function servicePath() {
128
+ const home = os.homedir();
129
+ return [
130
+ path.dirname(process.execPath),
131
+ `${home}/.local/share/mise/shims`,
132
+ `${home}/.local/bin`,
133
+ "/opt/homebrew/bin",
134
+ "/usr/local/bin",
135
+ "/usr/bin",
136
+ "/bin",
137
+ ].join(":");
138
+ }
139
+
140
+ function serviceEnv() {
141
+ const env = { PATH: servicePath(), PORT: appPort };
142
+ for (const key of ["WORK_APP_PORT", "WORK_ROOT", "WORK_DATA_DIR", "WORK_ALLOWED_HOSTS", "WORK_BIND"]) {
143
+ if (process.env[key]) env[key] = process.env[key];
144
+ }
145
+ return env;
146
+ }
147
+
148
+ function installService() {
149
+ const cliPath = fileURLToPath(import.meta.url);
150
+ if (process.platform === "darwin") {
151
+ const plist = path.join(os.homedir(), "Library/LaunchAgents/dev.work.app.plist");
152
+ fs.mkdirSync(path.dirname(plist), { recursive: true });
153
+ fs.mkdirSync(path.join(os.homedir(), "Library/Logs"), { recursive: true });
154
+ const envXml = Object.entries(serviceEnv())
155
+ .map(([k, v]) => ` <key>${k}</key><string>${v}</string>`)
156
+ .join("\n");
157
+ fs.writeFileSync(
158
+ plist,
159
+ `<?xml version="1.0" encoding="UTF-8"?>
160
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
161
+ <plist version="1.0">
162
+ <dict>
163
+ <key>Label</key><string>dev.work.app</string>
164
+ <key>ProgramArguments</key>
165
+ <array><string>${process.execPath}</string><string>${cliPath}</string><string>start</string></array>
166
+ <key>RunAtLoad</key><true/>
167
+ <key>KeepAlive</key><true/>
168
+ <key>StandardOutPath</key><string>${os.homedir()}/Library/Logs/work.log</string>
169
+ <key>StandardErrorPath</key><string>${os.homedir()}/Library/Logs/work.log</string>
170
+ <key>EnvironmentVariables</key>
171
+ <dict>
172
+ ${envXml}
173
+ </dict>
174
+ </dict>
175
+ </plist>
176
+ `,
177
+ );
178
+ log("installing launchd agent");
179
+ const uid = process.getuid();
180
+ spawnSync("launchctl", ["bootout", `gui/${uid}/dev.work.app`], { stdio: "ignore" });
181
+ const boot = spawnSync("launchctl", ["bootstrap", `gui/${uid}`, plist], { stdio: "ignore" });
182
+ if (boot.status !== 0 && spawnSync("launchctl", ["load", "-w", plist], { stdio: "ignore" }).status !== 0) {
183
+ warn(`could not load the agent (no GUI launchd session?) — run from a local terminal: launchctl bootstrap gui/$UID ${plist}`);
184
+ warn("or start manually: work start");
185
+ return;
186
+ }
187
+ spawnSync("launchctl", ["kickstart", "-k", `gui/${uid}/dev.work.app`], { stdio: "ignore" });
188
+ log("manage with: launchctl {kickstart -k,print} gui/$UID/dev.work.app (logs: ~/Library/Logs/work.log)");
189
+ return;
190
+ }
191
+
192
+ if (process.platform === "linux" && have("systemctl")) {
193
+ const unitDir = path.join(
194
+ process.env.XDG_CONFIG_HOME || path.join(os.homedir(), ".config"),
195
+ "systemd/user",
196
+ );
197
+ fs.mkdirSync(unitDir, { recursive: true });
198
+ const envLines = Object.entries(serviceEnv())
199
+ .map(([k, v]) => `Environment=${k}=${v}`)
200
+ .join("\n");
201
+ fs.writeFileSync(
202
+ path.join(unitDir, "work.service"),
203
+ `[Unit]
204
+ Description=work — agentic dev workspace GUI
205
+
206
+ [Service]
207
+ ExecStart=${process.execPath} ${cliPath} start
208
+ Restart=on-failure
209
+ ${envLines}
210
+
211
+ [Install]
212
+ WantedBy=default.target
213
+ `,
214
+ );
215
+ log("installing systemd user service");
216
+ sh("systemctl", ["--user", "daemon-reload"]);
217
+ sh("systemctl", ["--user", "enable", "work.service"]);
218
+ sh("systemctl", ["--user", "restart", "work.service"]);
219
+ // Survive logout (best-effort; may need sudo on some systems).
220
+ spawnSync("loginctl", ["enable-linger", os.userInfo().username], { stdio: "ignore" });
221
+ log("manage with: systemctl --user {status,restart,stop} work.service");
222
+ return;
223
+ }
224
+
225
+ warn("no service manager found — start manually with: work start");
226
+ }
227
+
228
+ function maybeTunnel() {
229
+ if (yes || have("cloudflared")) return;
230
+ console.log(`
231
+ To reach work from your phone or other devices, put it behind something
232
+ that terminates TLS and authenticates — e.g. a Cloudflare Tunnel with
233
+ Access (https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/)
234
+ pointing at http://localhost:${appPort}, or Tailscale. The server itself has
235
+ no auth of its own.`);
236
+ }