@dylanpiercey/work 0.0.194 → 0.0.195

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/bin/work.mjs +72 -70
  2. package/dist/index.mjs +544 -461
  3. package/dist/public/assets/{_DD16BGvo.js → _0h0AIzFj.js} +1 -1
  4. package/dist/public/assets/_0h0AIzFj.js.br +0 -0
  5. package/dist/public/assets/_0za8Cr1n.js +1 -0
  6. package/dist/public/assets/{_DS1wABH-.js → _18epjYOV.js} +1 -1
  7. package/dist/public/assets/_18epjYOV.js.br +0 -0
  8. package/dist/public/assets/_3xkbncP_.js +1 -0
  9. package/dist/public/assets/_4HZDmYgs.js +1 -0
  10. package/dist/public/assets/{_ZYpoEyN8.js → _AiyczSWt.js} +1 -1
  11. package/dist/public/assets/_AiyczSWt.js.br +0 -0
  12. package/dist/public/assets/_AuCIj6im.js +1 -0
  13. package/dist/public/assets/{_4upXK7xi.js → _B46lef50.js} +1 -1
  14. package/dist/public/assets/_B46lef50.js.br +0 -0
  15. package/dist/public/assets/{_BGp6KcCQ.js → _B8MJcLaM.js} +1 -1
  16. package/dist/public/assets/_B8MJcLaM.js.br +0 -0
  17. package/dist/public/assets/{_IJNr37kx.js → _BAP6pe7u.js} +1 -1
  18. package/dist/public/assets/_BAP6pe7u.js.br +0 -0
  19. package/dist/public/assets/{_iBVWvD0A.js → _BAlyV91f.js} +1 -1
  20. package/dist/public/assets/_BAlyV91f.js.br +0 -0
  21. package/dist/public/assets/_BBR_LwBj.js +1 -0
  22. package/dist/public/assets/_BF_doyRg.js +1 -0
  23. package/dist/public/assets/_BFfXXja-.js +1 -0
  24. package/dist/public/assets/{_CnzQ4juf.js → _BJy_w8mx.js} +1 -1
  25. package/dist/public/assets/_BJy_w8mx.js.br +0 -0
  26. package/dist/public/assets/{_CGzFAUY6.js → _BMR6K6ZH.js} +1 -1
  27. package/dist/public/assets/_BMR6K6ZH.js.br +0 -0
  28. package/dist/public/assets/_BN9FKcnK.js +1 -0
  29. package/dist/public/assets/{_AZWrS2Jm.js → _BOc-526n.js} +1 -1
  30. package/dist/public/assets/_BOc-526n.js.br +0 -0
  31. package/dist/public/assets/_BR0iuQr9.js +1 -0
  32. package/dist/public/assets/{_-5VRB-d8.js → _BRObdg0l.js} +1 -1
  33. package/dist/public/assets/_BRObdg0l.js.br +0 -0
  34. package/dist/public/assets/{_BtL0sglJ.js → _BRSKw1cV.js} +1 -1
  35. package/dist/public/assets/_BRSKw1cV.js.br +0 -0
  36. package/dist/public/assets/{_CR72KzUy.js → _BRphDJH_.js} +1 -1
  37. package/dist/public/assets/_BRphDJH_.js.br +0 -0
  38. package/dist/public/assets/{_DdXJJzzZ.js → _BUWvw-TH.js} +1 -1
  39. package/dist/public/assets/_BUWvw-TH.js.br +0 -0
  40. package/dist/public/assets/_BWLfnp5O.js +1 -0
  41. package/dist/public/assets/_BYkdEfpP.js +1 -0
  42. package/dist/public/assets/_BZ6hXL2R.js +1 -0
  43. package/dist/public/assets/_BZd_Xfcs.js +1 -0
  44. package/dist/public/assets/{_D875Kcfa.js → _Bb8mR-HM.js} +1 -1
  45. package/dist/public/assets/_Bb8mR-HM.js.br +0 -0
  46. package/dist/public/assets/{_DdOHjgo4.js → _BdAMRKrG.js} +1 -1
  47. package/dist/public/assets/_BdAMRKrG.js.br +0 -0
  48. package/dist/public/assets/{_DDOtP_nf.js → _BdDLH1XV.js} +1 -1
  49. package/dist/public/assets/_BdDLH1XV.js.br +0 -0
  50. package/dist/public/assets/{_EH5vEr2e.js → _BhWv3wNf.js} +1 -1
  51. package/dist/public/assets/_BhWv3wNf.js.br +0 -0
  52. package/dist/public/assets/{_Ci6csctL.js → _BlzNrz3K.js} +1 -1
  53. package/dist/public/assets/_BlzNrz3K.js.br +0 -0
  54. package/dist/public/assets/_BmraoyEp.js +1 -0
  55. package/dist/public/assets/{_dN2Rs1x8.js → _BnV94dO7.js} +1 -1
  56. package/dist/public/assets/_BnV94dO7.js.br +0 -0
  57. package/dist/public/assets/{_BFgcLXyz.js → _BpzaSD-m.js} +1 -1
  58. package/dist/public/assets/_BpzaSD-m.js.br +0 -0
  59. package/dist/public/assets/{_C98LcKxW.js → _Bs1kE95N.js} +4 -4
  60. package/dist/public/assets/_Bs1kE95N.js.br +0 -0
  61. package/dist/public/assets/_BsdHIscx.js +1 -0
  62. package/dist/public/assets/_BtICabTK.js +1 -0
  63. package/dist/public/assets/_BtZUbiKy.js +1 -0
  64. package/dist/public/assets/{_Cez0GncF.js → _Bw3gx4-Q.js} +1 -1
  65. package/dist/public/assets/_Bw3gx4-Q.js.br +0 -0
  66. package/dist/public/assets/_BwzlI7lz.js +1 -0
  67. package/dist/public/assets/{_B-Uq1tN8.js → _Bx6eTqoq.js} +1 -1
  68. package/dist/public/assets/{_Dzg96yJW.js → _C-1cKTkv.js} +1 -1
  69. package/dist/public/assets/_C-1cKTkv.js.br +0 -0
  70. package/dist/public/assets/_C1AI3pME.js +1 -0
  71. package/dist/public/assets/{_RymhJ-oH.js → _C3I-Anub.js} +1 -1
  72. package/dist/public/assets/_C3I-Anub.js.br +0 -0
  73. package/dist/public/assets/_C3MZsvvL.js +1 -0
  74. package/dist/public/assets/{_CyH7-G4O.js → _C41zuCzJ.js} +3 -3
  75. package/dist/public/assets/_C41zuCzJ.js.br +0 -0
  76. package/dist/public/assets/{_CT1Gdljn.js → _C4mnN_oZ.js} +1 -1
  77. package/dist/public/assets/_C4mnN_oZ.js.br +0 -0
  78. package/dist/public/assets/{_B1t_3R3E.js → _C55Vt4KA.js} +1 -1
  79. package/dist/public/assets/_C55Vt4KA.js.br +0 -0
  80. package/dist/public/assets/{_DL37mEnd.js → _C5YR9YJh.js} +1 -1
  81. package/dist/public/assets/_C5YR9YJh.js.br +0 -0
  82. package/dist/public/assets/{_BXfOoEFL.js → _C683mkqv.js} +1 -1
  83. package/dist/public/assets/_C683mkqv.js.br +0 -0
  84. package/dist/public/assets/_CA_mP0vg.js +1 -0
  85. package/dist/public/assets/{_BuGdTsCt.js → _CB4KzoDJ.js} +1 -1
  86. package/dist/public/assets/_CB4KzoDJ.js.br +0 -0
  87. package/dist/public/assets/_CBCt9rbU.js +1 -0
  88. package/dist/public/assets/{_CsuGx1ff.js → _CCDxcQQY.js} +1 -1
  89. package/dist/public/assets/_CCDxcQQY.js.br +0 -0
  90. package/dist/public/assets/_CDvfsA-P.js +1 -0
  91. package/dist/public/assets/_CIeJf4eB.js +1 -0
  92. package/dist/public/assets/{_BFU2lAlj.js → _CIjkAiih.js} +1 -1
  93. package/dist/public/assets/{_CuyX02Pl.js → _CLiSZPPg.js} +1 -1
  94. package/dist/public/assets/_CLiSZPPg.js.br +0 -0
  95. package/dist/public/assets/{_ZsJ1B5tS.js → _CNxXQqXS.js} +1 -1
  96. package/dist/public/assets/_CNxXQqXS.js.br +0 -0
  97. package/dist/public/assets/{_BD5eb9JF.js → _CODFsVds.js} +1 -1
  98. package/dist/public/assets/_CODFsVds.js.br +0 -0
  99. package/dist/public/assets/{_UlVjGC9v.js → _CPKZgGBI.js} +4 -4
  100. package/dist/public/assets/_CPKZgGBI.js.br +0 -0
  101. package/dist/public/assets/{_VCUJ4E0Z.js → _CW2a9XvK.js} +1 -1
  102. package/dist/public/assets/_CW2a9XvK.js.br +0 -0
  103. package/dist/public/assets/{_C-_9s2XH.js → _CWMJH-rn.js} +1 -1
  104. package/dist/public/assets/_CWMJH-rn.js.br +0 -0
  105. package/dist/public/assets/{_DeGNETkV.js → _CXxKcxHR.js} +1 -1
  106. package/dist/public/assets/_CXxKcxHR.js.br +0 -0
  107. package/dist/public/assets/{_94VO1H1D.js → _CZeIAKZQ.js} +1 -1
  108. package/dist/public/assets/_CZeIAKZQ.js.br +0 -0
  109. package/dist/public/assets/{_CIQLqWPr.js → _CakhbveI.js} +1 -1
  110. package/dist/public/assets/_CakhbveI.js.br +0 -0
  111. package/dist/public/assets/{_DvgXuM5Z.js → _CcEehkYP.js} +1 -1
  112. package/dist/public/assets/_CcEehkYP.js.br +0 -0
  113. package/dist/public/assets/{_MITe5BKM.js → _CdU5S35_.js} +2 -2
  114. package/dist/public/assets/_CdU5S35_.js.br +0 -0
  115. package/dist/public/assets/{_hNtFhi2H.js → _Cgb2RJJJ.js} +1 -1
  116. package/dist/public/assets/_Cgb2RJJJ.js.br +0 -0
  117. package/dist/public/assets/{_AGSf1cOD.js → _CjKem1sO.js} +1 -1
  118. package/dist/public/assets/_CjKem1sO.js.br +0 -0
  119. package/dist/public/assets/_CjKzx4Md.js +1 -0
  120. package/dist/public/assets/_Ck7MmnzY.js +1 -0
  121. package/dist/public/assets/{_lTtrjH_y.js → _CnCRB0XK.js} +1 -1
  122. package/dist/public/assets/_CnCRB0XK.js.br +0 -0
  123. package/dist/public/assets/{_CCrALKLA.js → _CoJxQd1B.js} +1 -1
  124. package/dist/public/assets/_CoJxQd1B.js.br +0 -0
  125. package/dist/public/assets/_Coao3E79.js +1 -0
  126. package/dist/public/assets/_Cpg5MJ_u.js +1 -0
  127. package/dist/public/assets/{_oQDS6HaL.js → _CrQmOSDl.js} +1 -1
  128. package/dist/public/assets/_CsWug15t.js +1 -0
  129. package/dist/public/assets/_CvQswCKM.js +1 -0
  130. package/dist/public/assets/_Cvw22lZx.js +1 -0
  131. package/dist/public/assets/{_C70n3Uh0.js → _CzbgKank.js} +1 -1
  132. package/dist/public/assets/_CzbgKank.js.br +0 -0
  133. package/dist/public/assets/{_CHHD69iN.js → _CzfZbwGO.js} +1 -1
  134. package/dist/public/assets/_CzfZbwGO.js.br +0 -0
  135. package/dist/public/assets/{_DTTu8ZoT.js → _D-97toYv.js} +1 -1
  136. package/dist/public/assets/_D-97toYv.js.br +0 -0
  137. package/dist/public/assets/_D1RANegM.js +1 -0
  138. package/dist/public/assets/_D4eqQKOn.js +1 -0
  139. package/dist/public/assets/{_D0FsS7fp.js → _D78Rmq5N.js} +1 -1
  140. package/dist/public/assets/_D78Rmq5N.js.br +0 -0
  141. package/dist/public/assets/{_D0_HRw9h.js → _DA-0s5a6.js} +1 -1
  142. package/dist/public/assets/_DA-0s5a6.js.br +0 -0
  143. package/dist/public/assets/{_BLDfMNIY.js → _DBgXUlmC.js} +1 -1
  144. package/dist/public/assets/_DBgXUlmC.js.br +0 -0
  145. package/dist/public/assets/{_DBXzGyX_.js → _DDXMnJp1.js} +1 -1
  146. package/dist/public/assets/_DDXMnJp1.js.br +0 -0
  147. package/dist/public/assets/{_BqDr3Tw4.js → _DECvFD3C.js} +1 -1
  148. package/dist/public/assets/_DECvFD3C.js.br +0 -0
  149. package/dist/public/assets/{_DfPcMMq-.js → _DG3lNhs6.js} +1 -1
  150. package/dist/public/assets/_DG3lNhs6.js.br +0 -0
  151. package/dist/public/assets/{_7VnEzO6q.js → _DHUfylTf.js} +1 -1
  152. package/dist/public/assets/_DHUfylTf.js.br +0 -0
  153. package/dist/public/assets/{_81bytH-7.js → _DIqCp0Dr.js} +1 -1
  154. package/dist/public/assets/_DIqCp0Dr.js.br +0 -0
  155. package/dist/public/assets/{_RBcjVTtc.js → _DKA87yrO.js} +1 -1
  156. package/dist/public/assets/_DKA87yrO.js.br +0 -0
  157. package/dist/public/assets/{_C2pCQFbc.js → _DOgiz2sq.js} +1 -1
  158. package/dist/public/assets/_DOgiz2sq.js.br +0 -0
  159. package/dist/public/assets/{_BaGCGJ3V.js → _DP2LKafM.js} +1 -1
  160. package/dist/public/assets/_DP2LKafM.js.br +0 -0
  161. package/dist/public/assets/{_BHpWtqGi.js → _DPzxebn1.js} +1 -1
  162. package/dist/public/assets/_DPzxebn1.js.br +0 -0
  163. package/dist/public/assets/{_Bpjh_GiT.js → _DQb-Prlp.js} +1 -1
  164. package/dist/public/assets/_DR6o0ihU.js +1 -0
  165. package/dist/public/assets/_DRMBZW5C.js +1 -0
  166. package/dist/public/assets/_DS2o6oMD.js +1 -0
  167. package/dist/public/assets/{_DjNrP2xy.js → _DU3Vsw3V.js} +1 -1
  168. package/dist/public/assets/_DUqZ0WL5.js +1 -0
  169. package/dist/public/assets/{_DUprEXi6.js → _Dc2TbKDN.js} +1 -1
  170. package/dist/public/assets/_Dc2TbKDN.js.br +0 -0
  171. package/dist/public/assets/_Dc56XaC3.js +1 -0
  172. package/dist/public/assets/{_CwRY7vN8.js → _DcDGku3c.js} +1 -1
  173. package/dist/public/assets/_DcDGku3c.js.br +0 -0
  174. package/dist/public/assets/_DdR4vgZH.js +1 -0
  175. package/dist/public/assets/{_CWkeO0Fk.js → _De3Bqgjq.js} +1 -1
  176. package/dist/public/assets/_De3Bqgjq.js.br +0 -0
  177. package/dist/public/assets/{_CGI1BtkI.js → _DfQw6r-m.js} +1 -1
  178. package/dist/public/assets/_DfQw6r-m.js.br +0 -0
  179. package/dist/public/assets/_DgX_vew2.js +1 -0
  180. package/dist/public/assets/{_CgljKJDn.js → _DiZR5A2Z.js} +1 -1
  181. package/dist/public/assets/_DiZR5A2Z.js.br +0 -0
  182. package/dist/public/assets/{_C5HEiR3-.js → _Dl_aiyLq.js} +1 -1
  183. package/dist/public/assets/_Dl_aiyLq.js.br +0 -0
  184. package/dist/public/assets/_DnChB8C1.js +1 -0
  185. package/dist/public/assets/_Dq32gZSy.js +1 -0
  186. package/dist/public/assets/{_CIvfn_vo.js → _Ds8cRiqE.js} +1 -1
  187. package/dist/public/assets/_Ds8cRiqE.js.br +0 -0
  188. package/dist/public/assets/{_UDN-Kw2b.js → _DtkWFnwh.js} +1 -1
  189. package/dist/public/assets/_DtkWFnwh.js.br +0 -0
  190. package/dist/public/assets/_DuzGrmQ5.js +1 -0
  191. package/dist/public/assets/{_BMAKFvwT.js → _F4wO2bpH.js} +1 -1
  192. package/dist/public/assets/_F4wO2bpH.js.br +0 -0
  193. package/dist/public/assets/_HOdpMHxl.js +1 -0
  194. package/dist/public/assets/{_DOiJubUI.js → _IKyWRqQj.js} +1 -1
  195. package/dist/public/assets/_IKyWRqQj.js.br +0 -0
  196. package/dist/public/assets/_KRVYITR_.js +1 -0
  197. package/dist/public/assets/{_Cpwq78LC.js → _LVs8hGnf.js} +1 -1
  198. package/dist/public/assets/_LVs8hGnf.js.br +0 -0
  199. package/dist/public/assets/{_DNaxiSse.js → _LyXyKVdu.js} +1 -1
  200. package/dist/public/assets/_LyXyKVdu.js.br +0 -0
  201. package/dist/public/assets/{_BbKk7fzo.js → _Qp3bXDzX.js} +2 -2
  202. package/dist/public/assets/_Qp3bXDzX.js.br +0 -0
  203. package/dist/public/assets/{_C8F-ulr0.js → _U49daapm.js} +1 -1
  204. package/dist/public/assets/_U49daapm.js.br +0 -0
  205. package/dist/public/assets/{_D_y2aFw-.js → _W5nLbLR0.js} +1 -1
  206. package/dist/public/assets/_W5nLbLR0.js.br +0 -0
  207. package/dist/public/assets/{_DvhcOREH.js → _YChD2z1e.js} +1 -1
  208. package/dist/public/assets/_YChD2z1e.js.br +0 -0
  209. package/dist/public/assets/{_C3EwuwTS.js → _ZKNPt6D-.js} +1 -1
  210. package/dist/public/assets/_ZKNPt6D-.js.br +0 -0
  211. package/dist/public/assets/{_Cku0OZEV.js → _Z_elapBC.js} +1 -1
  212. package/dist/public/assets/_Z_elapBC.js.br +0 -0
  213. package/dist/public/assets/_ZrI-bccm.js +1 -0
  214. package/dist/public/assets/{_C9CagP3D.js → __3UGRi5e.js} +1 -1
  215. package/dist/public/assets/__3UGRi5e.js.br +0 -0
  216. package/dist/public/assets/__VmSq1gY.js +1 -0
  217. package/dist/public/assets/_acWElTft.js +1 -0
  218. package/dist/public/assets/{_BYQ1qFAr.js → _awPDUP7f.js} +1 -1
  219. package/dist/public/assets/_awPDUP7f.js.br +0 -0
  220. package/dist/public/assets/{_CWzZgLRl.js → _b5I_nxEK.js} +1 -1
  221. package/dist/public/assets/_b5I_nxEK.js.br +0 -0
  222. package/dist/public/assets/_bkGAJhVw.js +1 -0
  223. package/dist/public/assets/{_De_ipH7W.js → _dLObuZst.js} +1 -1
  224. package/dist/public/assets/_dLObuZst.js.br +0 -0
  225. package/dist/public/assets/_fLtBkEgC.js +1 -0
  226. package/dist/public/assets/{_CnIqepEi.js → _fxmXMnQo.js} +1 -1
  227. package/dist/public/assets/_fxmXMnQo.js.br +0 -0
  228. package/dist/public/assets/_k6RGMQOn.js +1 -0
  229. package/dist/public/assets/{_DUoMqwhS.js → _ktZqvcQv.js} +1 -1
  230. package/dist/public/assets/{_DGwvafH8.js → _lNS9HyGM.js} +1 -1
  231. package/dist/public/assets/_lNS9HyGM.js.br +0 -0
  232. package/dist/public/assets/_m6mY1g2k.js +1 -0
  233. package/dist/public/assets/{_Cp2aP4_b.js → _n9oRx7Ms.js} +1 -1
  234. package/dist/public/assets/_n9oRx7Ms.js.br +0 -0
  235. package/dist/public/assets/_ne68jIT3.js +1 -0
  236. package/dist/public/assets/_o7EZS1PU.js +1 -0
  237. package/dist/public/assets/{_D72YKK3J.js → _pk73RhvL.js} +1 -1
  238. package/dist/public/assets/_pk73RhvL.js.br +0 -0
  239. package/dist/public/assets/_pnS1VR4S.js +1 -0
  240. package/dist/public/assets/_rngmM1WE.js +1 -0
  241. package/dist/public/assets/{_BUi_qcC9.js → _sA9LOck8.js} +1 -1
  242. package/dist/public/assets/_sA9LOck8.js.br +0 -0
  243. package/dist/public/assets/_tjCTuAiB.js +1 -0
  244. package/dist/public/assets/{_DarXw3BK.js → _v2hjUzql.js} +1 -1
  245. package/dist/public/assets/_v2hjUzql.js.br +0 -0
  246. package/dist/public/assets/_xeXcHxFy.js +1 -0
  247. package/dist/public/assets/{_CP8OA6zX.js → _zte35G0C.js} +1 -1
  248. package/dist/public/assets/_zte35G0C.js.br +0 -0
  249. package/dist/public/assets/{app-page-BH1eJtJY.css → app-page-q9DSx_6H.css} +1 -1
  250. package/dist/public/assets/app-page-q9DSx_6H.css.br +0 -0
  251. package/dist/public/assets/{files-view-BWUVbyE_.css → files-view-4E3kXASs.css} +1 -1
  252. package/dist/public/assets/files-view-4E3kXASs.css.br +0 -0
  253. package/dist/public/assets/files-view-UszCym42.js +2 -0
  254. package/dist/public/assets/icon-go-to-file-BtF0WaqZ.css +1 -0
  255. package/dist/public/assets/icon-go-to-file-BtF0WaqZ.css.br +0 -0
  256. package/dist/public/assets/{icon-search-B4XHh_CO.css → icon-search-BxpLvwZF.css} +1 -1
  257. package/dist/public/assets/icon-search-BxpLvwZF.css.br +0 -0
  258. package/dist/public/assets/key-bar.css.ts-BZo5sjtE.css +1 -0
  259. package/dist/public/assets/key-bar.css.ts-BZo5sjtE.css.br +0 -0
  260. package/dist/public/assets/manage-workspace-CS7zLgiS.js +2 -0
  261. package/dist/public/assets/{modal-view-Dp-yH6Kp.css → modal-view-UBeCgIX7.css} +1 -1
  262. package/dist/public/assets/modal-view-UBeCgIX7.css.br +0 -0
  263. package/dist/public/assets/new-CM-FhUNi.js +1 -0
  264. package/dist/public/assets/new-workspace-DI64ZaMU.css +1 -0
  265. package/dist/public/assets/new-workspace-DI64ZaMU.css.br +0 -0
  266. package/dist/public/assets/new-workspace-fOyt4nRa.js +2 -0
  267. package/dist/public/assets/port-chip-Cz4VnZ9z.css +1 -0
  268. package/dist/public/assets/port-chip-Cz4VnZ9z.css.br +0 -0
  269. package/dist/public/assets/prompt-dialog-CH7vaJAn.css +1 -0
  270. package/dist/public/assets/prompt-dialog-CH7vaJAn.css.br +0 -0
  271. package/dist/public/assets/{quick-open-D4Ti6tCj.css → quick-open-BzjNryb1.css} +1 -1
  272. package/dist/public/assets/quick-open-BzjNryb1.css.br +0 -0
  273. package/dist/public/assets/repo-picker-Du9faofk.css +1 -0
  274. package/dist/public/assets/repo-picker-Du9faofk.css.br +2 -0
  275. package/dist/public/assets/{review-view-DyVGn3ET.css → review-view-9_qRBmzb.css} +1 -1
  276. package/dist/public/assets/review-view-9_qRBmzb.css.br +0 -0
  277. package/dist/public/assets/review-view-MwSvyFb0.js +2 -0
  278. package/dist/public/assets/{section-Cy7IT4ed.css → section-CZ2IaRip.css} +1 -1
  279. package/dist/public/assets/section-CZ2IaRip.css.br +0 -0
  280. package/dist/public/assets/settings-CM-FhUNi.js +1 -0
  281. package/dist/public/assets/settings-page-6e1aPE3t.js +2 -0
  282. package/dist/public/assets/{settings-page-CkOwBPiA.css → settings-page-C1jdrZXw.css} +1 -1
  283. package/dist/public/assets/settings-page-C1jdrZXw.css.br +0 -0
  284. package/dist/public/assets/w-CM-FhUNi.js +1 -0
  285. package/dist/public/assets/w._-CM-FhUNi.js +1 -0
  286. package/dist/public/assets/w._-MjovPk6K.js +1 -0
  287. package/dist/public/assets/w._-b1g1Pfei.js +1 -0
  288. package/package.json +1 -1
  289. package/dist/public/assets/_-5VRB-d8.js.br +0 -0
  290. package/dist/public/assets/_17YARaZI.js +0 -1
  291. package/dist/public/assets/_4upXK7xi.js.br +0 -0
  292. package/dist/public/assets/_7VnEzO6q.js.br +0 -0
  293. package/dist/public/assets/_81bytH-7.js.br +0 -0
  294. package/dist/public/assets/_94VO1H1D.js.br +0 -0
  295. package/dist/public/assets/_AGSf1cOD.js.br +0 -0
  296. package/dist/public/assets/_ARikQN6m.js +0 -1
  297. package/dist/public/assets/_AZWrS2Jm.js.br +0 -0
  298. package/dist/public/assets/_B1t_3R3E.js.br +0 -0
  299. package/dist/public/assets/_B2C9gp4T.js +0 -1
  300. package/dist/public/assets/_BANxovHo.js +0 -1
  301. package/dist/public/assets/_BD5eb9JF.js.br +0 -0
  302. package/dist/public/assets/_BFgcLXyz.js.br +0 -0
  303. package/dist/public/assets/_BGeDyB3V.js +0 -1
  304. package/dist/public/assets/_BGp6KcCQ.js.br +0 -0
  305. package/dist/public/assets/_BHpWtqGi.js.br +0 -0
  306. package/dist/public/assets/_BI-YRnhV.js +0 -1
  307. package/dist/public/assets/_BLDfMNIY.js.br +0 -0
  308. package/dist/public/assets/_BLqPpdme.js +0 -1
  309. package/dist/public/assets/_BMAKFvwT.js.br +0 -0
  310. package/dist/public/assets/_BO-Jsv0u.js +0 -1
  311. package/dist/public/assets/_BUi_qcC9.js.br +0 -0
  312. package/dist/public/assets/_BXZ8uyt2.js +0 -1
  313. package/dist/public/assets/_BXfOoEFL.js.br +0 -0
  314. package/dist/public/assets/_BYQ1qFAr.js.br +0 -0
  315. package/dist/public/assets/_BaDX7xGL.js +0 -1
  316. package/dist/public/assets/_BaGCGJ3V.js.br +0 -0
  317. package/dist/public/assets/_BbKk7fzo.js.br +0 -0
  318. package/dist/public/assets/_BjW31SFQ.js +0 -1
  319. package/dist/public/assets/_BjgImFNS.js +0 -1
  320. package/dist/public/assets/_BlOjfecc.js +0 -1
  321. package/dist/public/assets/_BoYE2vep.js +0 -1
  322. package/dist/public/assets/_BqDr3Tw4.js.br +0 -0
  323. package/dist/public/assets/_BtL0sglJ.js.br +0 -0
  324. package/dist/public/assets/_BuGdTsCt.js.br +0 -0
  325. package/dist/public/assets/_BuY8ki8b.js +0 -1
  326. package/dist/public/assets/_By2Snm-W.js +0 -1
  327. package/dist/public/assets/_BytT4SK1.js +0 -1
  328. package/dist/public/assets/_C-_9s2XH.js.br +0 -0
  329. package/dist/public/assets/_C2pCQFbc.js.br +0 -0
  330. package/dist/public/assets/_C3EwuwTS.js.br +0 -0
  331. package/dist/public/assets/_C5HEiR3-.js.br +0 -0
  332. package/dist/public/assets/_C70n3Uh0.js.br +0 -0
  333. package/dist/public/assets/_C8F-ulr0.js.br +0 -0
  334. package/dist/public/assets/_C98LcKxW.js.br +0 -0
  335. package/dist/public/assets/_C9CagP3D.js.br +0 -0
  336. package/dist/public/assets/_C9OZtkIs.js +0 -1
  337. package/dist/public/assets/_CCrALKLA.js.br +0 -0
  338. package/dist/public/assets/_CGI1BtkI.js.br +0 -0
  339. package/dist/public/assets/_CGIx5BHI.js +0 -1
  340. package/dist/public/assets/_CGzFAUY6.js.br +0 -0
  341. package/dist/public/assets/_CHHD69iN.js.br +0 -0
  342. package/dist/public/assets/_CIQLqWPr.js.br +0 -0
  343. package/dist/public/assets/_CIvfn_vo.js.br +0 -0
  344. package/dist/public/assets/_CP8OA6zX.js.br +0 -0
  345. package/dist/public/assets/_CQYWGGw1.js +0 -1
  346. package/dist/public/assets/_CR72KzUy.js.br +0 -0
  347. package/dist/public/assets/_CSm-EvZt.js +0 -1
  348. package/dist/public/assets/_CT1Gdljn.js.br +0 -0
  349. package/dist/public/assets/_CU2Rmo9L.js +0 -1
  350. package/dist/public/assets/_CWkeO0Fk.js.br +0 -0
  351. package/dist/public/assets/_CWzZgLRl.js.br +0 -0
  352. package/dist/public/assets/_C_F7Tl5w.js +0 -1
  353. package/dist/public/assets/_C_l42G5f.js +0 -1
  354. package/dist/public/assets/_CcVILLR8.js +0 -1
  355. package/dist/public/assets/_Cez0GncF.js.br +0 -0
  356. package/dist/public/assets/_CgljKJDn.js.br +0 -0
  357. package/dist/public/assets/_Ci6csctL.js.br +0 -0
  358. package/dist/public/assets/_CkJC-Rya.js +0 -1
  359. package/dist/public/assets/_Ckc4saGa.js +0 -1
  360. package/dist/public/assets/_Cku0OZEV.js.br +0 -0
  361. package/dist/public/assets/_CnIqepEi.js.br +0 -0
  362. package/dist/public/assets/_CnzQ4juf.js.br +0 -0
  363. package/dist/public/assets/_Cp2aP4_b.js.br +0 -0
  364. package/dist/public/assets/_Cpwq78LC.js.br +0 -0
  365. package/dist/public/assets/_CsuGx1ff.js.br +0 -0
  366. package/dist/public/assets/_CuyX02Pl.js.br +0 -0
  367. package/dist/public/assets/_CwRY7vN8.js.br +0 -0
  368. package/dist/public/assets/_CyH7-G4O.js.br +0 -0
  369. package/dist/public/assets/_D0FsS7fp.js.br +0 -0
  370. package/dist/public/assets/_D0_HRw9h.js.br +0 -0
  371. package/dist/public/assets/_D2HhmR2c.js +0 -1
  372. package/dist/public/assets/_D2rliuRa.js +0 -1
  373. package/dist/public/assets/_D72YKK3J.js.br +0 -0
  374. package/dist/public/assets/_D875Kcfa.js.br +0 -0
  375. package/dist/public/assets/_DBXzGyX_.js.br +0 -0
  376. package/dist/public/assets/_DByxtG6g.js +0 -1
  377. package/dist/public/assets/_DD16BGvo.js.br +0 -0
  378. package/dist/public/assets/_DDOtP_nf.js.br +0 -0
  379. package/dist/public/assets/_DFnwLEWk.js +0 -1
  380. package/dist/public/assets/_DGbpBQwH.js +0 -1
  381. package/dist/public/assets/_DGt79ckV.js +0 -1
  382. package/dist/public/assets/_DGwvafH8.js.br +0 -0
  383. package/dist/public/assets/_DJRfFb8h.js +0 -1
  384. package/dist/public/assets/_DKC19r0n.js +0 -1
  385. package/dist/public/assets/_DL37mEnd.js.br +0 -0
  386. package/dist/public/assets/_DLwjHB7c.js +0 -1
  387. package/dist/public/assets/_DNaxiSse.js.br +0 -0
  388. package/dist/public/assets/_DOiJubUI.js.br +0 -0
  389. package/dist/public/assets/_DS1wABH-.js.br +0 -0
  390. package/dist/public/assets/_DTTu8ZoT.js.br +0 -0
  391. package/dist/public/assets/_DUprEXi6.js.br +0 -0
  392. package/dist/public/assets/_DWh_YDAh.js +0 -1
  393. package/dist/public/assets/_DZ-Lo7dJ.js +0 -1
  394. package/dist/public/assets/_D_y2aFw-.js.br +0 -0
  395. package/dist/public/assets/_DarXw3BK.js.br +0 -0
  396. package/dist/public/assets/_DdOHjgo4.js.br +0 -0
  397. package/dist/public/assets/_DdXJJzzZ.js.br +0 -0
  398. package/dist/public/assets/_DeGNETkV.js.br +0 -0
  399. package/dist/public/assets/_De_ipH7W.js.br +0 -0
  400. package/dist/public/assets/_DfPcMMq-.js.br +0 -0
  401. package/dist/public/assets/_DnI0p7IL.js +0 -1
  402. package/dist/public/assets/_DpqRyroK.js +0 -1
  403. package/dist/public/assets/_DvLTN_1N.js +0 -1
  404. package/dist/public/assets/_DvgXuM5Z.js.br +0 -0
  405. package/dist/public/assets/_DvhcOREH.js.br +0 -0
  406. package/dist/public/assets/_Dzg96yJW.js.br +0 -0
  407. package/dist/public/assets/_EH5vEr2e.js.br +0 -0
  408. package/dist/public/assets/_EcZv8Nzi.js +0 -1
  409. package/dist/public/assets/_ElN9429q.js +0 -1
  410. package/dist/public/assets/_IJNr37kx.js.br +0 -0
  411. package/dist/public/assets/_KOzhfdTx.js +0 -1
  412. package/dist/public/assets/_MITe5BKM.js.br +0 -0
  413. package/dist/public/assets/_MR7uo2mc.js +0 -1
  414. package/dist/public/assets/_Mxop3LTn.js +0 -1
  415. package/dist/public/assets/_QW38dwH2.js +0 -1
  416. package/dist/public/assets/_RBcjVTtc.js.br +0 -0
  417. package/dist/public/assets/_RymhJ-oH.js.br +0 -0
  418. package/dist/public/assets/_UDN-Kw2b.js.br +0 -0
  419. package/dist/public/assets/_UlVjGC9v.js.br +0 -0
  420. package/dist/public/assets/_VCUJ4E0Z.js.br +0 -0
  421. package/dist/public/assets/_ZYpoEyN8.js.br +0 -0
  422. package/dist/public/assets/_ZsJ1B5tS.js.br +0 -0
  423. package/dist/public/assets/_buY79gP0.js +0 -1
  424. package/dist/public/assets/_bxcOWiWt.js +0 -1
  425. package/dist/public/assets/_dN2Rs1x8.js.br +0 -0
  426. package/dist/public/assets/_fZzNR3iI.js +0 -1
  427. package/dist/public/assets/_fxnmrIn3.js +0 -1
  428. package/dist/public/assets/_hNtFhi2H.js.br +0 -0
  429. package/dist/public/assets/_iBVWvD0A.js.br +0 -0
  430. package/dist/public/assets/_kYfPle1m.js +0 -1
  431. package/dist/public/assets/_k_5G0NCr.js +0 -1
  432. package/dist/public/assets/_lTtrjH_y.js.br +0 -0
  433. package/dist/public/assets/_m9PX5OYx.js +0 -1
  434. package/dist/public/assets/_pGY2eazQ.js +0 -1
  435. package/dist/public/assets/_u8Grdxbq.js +0 -1
  436. package/dist/public/assets/_v4yKwLDL.js +0 -1
  437. package/dist/public/assets/_vk1QtrAJ.js +0 -1
  438. package/dist/public/assets/app-page-BH1eJtJY.css.br +0 -0
  439. package/dist/public/assets/files-view-BWUVbyE_.css.br +0 -0
  440. package/dist/public/assets/files-view-C6oE6Lfx.js +0 -2
  441. package/dist/public/assets/icon-go-to-file-CQy45Ytk.css +0 -1
  442. package/dist/public/assets/icon-go-to-file-CQy45Ytk.css.br +0 -0
  443. package/dist/public/assets/icon-search-B4XHh_CO.css.br +0 -0
  444. package/dist/public/assets/key-bar.css.ts-CY294iEQ.css +0 -1
  445. package/dist/public/assets/key-bar.css.ts-CY294iEQ.css.br +0 -0
  446. package/dist/public/assets/manage-workspace-B8JeSyar.js +0 -2
  447. package/dist/public/assets/modal-view-Dp-yH6Kp.css.br +0 -0
  448. package/dist/public/assets/new-C0tyNSk0.js +0 -1
  449. package/dist/public/assets/new-workspace-CPvtstbA.js +0 -2
  450. package/dist/public/assets/new-workspace-DQJ28GeD.css +0 -1
  451. package/dist/public/assets/new-workspace-DQJ28GeD.css.br +0 -0
  452. package/dist/public/assets/port-chip-COcJpxld.css +0 -1
  453. package/dist/public/assets/port-chip-COcJpxld.css.br +0 -0
  454. package/dist/public/assets/prompt-dialog-DZHelkFg.css +0 -1
  455. package/dist/public/assets/prompt-dialog-DZHelkFg.css.br +0 -0
  456. package/dist/public/assets/quick-open-D4Ti6tCj.css.br +0 -0
  457. package/dist/public/assets/repo-picker-D3Idu6QD.css +0 -1
  458. package/dist/public/assets/repo-picker-D3Idu6QD.css.br +0 -2
  459. package/dist/public/assets/review-view-A8lxTwiR.js +0 -2
  460. package/dist/public/assets/review-view-DyVGn3ET.css.br +0 -0
  461. package/dist/public/assets/section-Cy7IT4ed.css.br +0 -0
  462. package/dist/public/assets/settings-C0tyNSk0.js +0 -1
  463. package/dist/public/assets/settings-page-CkOwBPiA.css.br +0 -0
  464. package/dist/public/assets/settings-page-DAib5ZGj.js +0 -2
  465. package/dist/public/assets/w-C0tyNSk0.js +0 -1
  466. package/dist/public/assets/w._-0xd6gDBN.js +0 -1
  467. package/dist/public/assets/w._-BkNES9p7.js +0 -1
  468. package/dist/public/assets/w._-C0tyNSk0.js +0 -1
package/bin/work.mjs CHANGED
@@ -696,68 +696,22 @@ function servicePath() {
696
696
  return setupPath(path.dirname(process.execPath));
697
697
  }
698
698
 
699
- /** Argv prefixes that keep the host awake while the server runs, best first.
700
- * A suspended host is a dead host: agents keep running in tmux, but the
701
- * machine stops answering, so remote sessions look hung until someone wakes
702
- * it by hand. The inhibitor lifts when the service stops.
703
- *
704
- * Linux offers two, because polkit gates them differently:
705
- *
706
- * sleep:idle also vetoes an explicit suspend, but
707
- * org.freedesktop.login1.inhibit-block-sleep is
708
- * allow_any=auth_admin_keep — permitted from a session, refused
709
- * for a caller that has none. That is the lingering user
710
- * manager at boot, so the service cannot rely on it.
711
- * idle org.freedesktop.login1.inhibit-block-idle is allow_any=yes,
712
- * so this always works. It holds the system non-idle, which is
713
- * what stops logind's IdleAction (and a desktop's idle-suspend)
714
- * from ever firing.
715
- *
716
- * Idle alone is the honest target anyway — it matches `caffeinate -s`, and
717
- * declining to veto a suspend the user deliberately asked for is correct.
718
- * Taking the stronger one when it is allowed costs nothing, so try both. */
719
- function awakePrefixes() {
720
- if (process.platform === "darwin")
721
- return have("caffeinate") ? [["/usr/bin/caffeinate", "-s"]] : [];
722
- if (process.platform === "linux" && have("systemd-inhibit"))
723
- return ["sleep:idle", "idle"].map((what) => [
724
- "systemd-inhibit",
725
- `--what=${what}`,
726
- "--who=work",
727
- "--why=work server is running",
728
- "--mode=block",
729
- ]);
730
- return [];
699
+ /** Argv prefix that keeps a Mac awake while the server runs. A suspended
700
+ * host is a dead host: agents keep running in tmux, but the machine stops
701
+ * answering, so remote sessions look hung until someone wakes it by hand.
702
+ * On Linux the server holds a logind inhibitor itself (src/server/awake.ts,
703
+ * `WORK_AWAKE=1` in the unit): wrapping it in `systemd-inhibit` would close
704
+ * the listening socket work.socket hands over. */
705
+ function awakePrefix() {
706
+ return process.platform === "darwin" && have("caffeinate")
707
+ ? ["/usr/bin/caffeinate", "-s"]
708
+ : [];
731
709
  }
732
710
 
733
- /** systemd's ExecStart for the linux unit, as one line.
734
- *
735
- * With no inhibitor this is just the argv. Otherwise it is a shell that tries
736
- * each candidate in turn and execs under the first one allowed, because
737
- * `systemd-inhibit` exits non-zero when polkit refuses — and since it is the
738
- * unit's ExecStart, that failure takes the whole service down with it. A
739
- * lingering manager at boot has no session, so the sleep block is refused
740
- * every time and `Restart=always` retries forever; the server would only come
741
- * up once someone logged in, defeating the unattended start
742
- * `loginctl enable-linger` exists to guarantee. Falling through to the
743
- * ungated idle block keeps the machine awake anyway, and running bare is
744
- * still better than not running. */
745
- function serviceExecStart(candidates, argv) {
746
- // systemd splits on whitespace, so quote any argument containing it.
747
- const unit = (parts) =>
748
- parts.map((a) => (a.includes(" ") ? `"${a}"` : a)).join(" ");
749
- if (!candidates.length) return unit(argv);
750
- const shq = (a) => `'${a.replace(/'/g, `'\\''`)}'`;
751
- const cmd = argv.map(shq).join(" ");
752
- // Each probe takes and drops an inhibitor around `true`; if that is allowed
753
- // the real one will be too.
754
- const script = candidates
755
- .map((c) => {
756
- const inh = c.map(shq).join(" ");
757
- return `if ${inh} true 2>/dev/null; then exec ${inh} ${cmd}; fi; `;
758
- })
759
- .join("");
760
- return `/bin/sh -c "${script}exec ${cmd}"`;
711
+ /** An argv as one systemd ExecStart line: systemd splits on whitespace, so
712
+ * any argument containing it is quoted. */
713
+ function unitCommand(argv) {
714
+ return argv.map((a) => (a.includes(" ") ? `"${a}"` : a)).join(" ");
761
715
  }
762
716
 
763
717
  /** Where installService() writes the service definition — also the store we
@@ -892,6 +846,20 @@ function pidsListening(port) {
892
846
  return [...new Set(pids)];
893
847
  }
894
848
 
849
+ /** Listeners on the port that are servers, not the service manager: with
850
+ * work.socket the port is held by systemd itself, which a leftover sweep
851
+ * must never signal. */
852
+ function serverPidsListening(port) {
853
+ return pidsListening(port).filter((pid) => {
854
+ try {
855
+ return fs.readFileSync(`/proc/${pid}/comm`, "utf8").trim() !== "systemd";
856
+ } catch {
857
+ // No /proc (macOS): launchd holds no socket for work.
858
+ return true;
859
+ }
860
+ });
861
+ }
862
+
895
863
  function workServerPids() {
896
864
  const out = spawnSync("ps", ["-ax", "-o", "pid=,command="], {
897
865
  encoding: "utf8",
@@ -953,13 +921,13 @@ function stopOldCopies(port) {
953
921
  stdio: "ignore",
954
922
  });
955
923
  }
956
- const seen = new Set([...pidsListening(port), ...workServerPids()]);
924
+ const seen = new Set([...serverPidsListening(port), ...workServerPids()]);
957
925
  if (seen.size) {
958
926
  log(`stopping ${seen.size} leftover work process(es)`);
959
927
  killPids(seen, "SIGTERM");
960
928
  spawnSync("sleep", ["0.4"], { stdio: "ignore" });
961
929
  }
962
- killPids(pidsListening(port), "SIGKILL");
930
+ killPids(serverPidsListening(port), "SIGKILL");
963
931
  }
964
932
 
965
933
  /** Wait for the service to answer before we tell anyone it is up. Both
@@ -992,10 +960,8 @@ function installService() {
992
960
  // PORT handling, so no awake prefix is layered on top.
993
961
  const execOverride = process.env.WORK_SERVICE_EXEC;
994
962
  const target = execOverride ? [execOverride] : [cliPath, "start"];
995
- const awake = execOverride ? [] : awakePrefixes();
996
- // launchd takes an argv, not a shell: caffeinate needs no authorisation, so
997
- // the first candidate is simply used.
998
- const startArgs = [...(awake[0] || []), ...target];
963
+ const awake = execOverride ? [] : awakePrefix();
964
+ const startArgs = [...awake, ...target];
999
965
  if (process.platform === "darwin") {
1000
966
  const plist = serviceFile();
1001
967
  fs.mkdirSync(path.dirname(plist), { recursive: true });
@@ -1076,11 +1042,32 @@ ${envXml}
1076
1042
  const envLines = Object.entries(serviceEnv())
1077
1043
  .map(([k, v]) => `Environment=${k}=${v}`)
1078
1044
  .join("\n");
1079
- const execStart = serviceExecStart(awake, target);
1045
+ const execStart = unitCommand(target);
1046
+ // The port is held by work.socket, not the server: a restart swaps the
1047
+ // process behind a socket that never closes, so a connection made
1048
+ // meanwhile waits instead of being refused (a reverse proxy took one
1049
+ // refusal for the server being down, for half a minute).
1050
+ const socketFile = path.join(unitDir, "work.socket");
1051
+ const socketUnit = `[Unit]
1052
+ Description=work, agentic dev workspace GUI (its port, held across restarts)
1053
+
1054
+ [Socket]
1055
+ ListenStream=${port}
1056
+
1057
+ [Install]
1058
+ WantedBy=sockets.target
1059
+ `;
1060
+ let socketChanged = true;
1061
+ try {
1062
+ socketChanged = fs.readFileSync(socketFile, "utf8") !== socketUnit;
1063
+ } catch {}
1064
+ fs.writeFileSync(socketFile, socketUnit);
1080
1065
  fs.writeFileSync(
1081
1066
  unitFile,
1082
1067
  `[Unit]
1083
1068
  Description=work, agentic dev workspace GUI
1069
+ Requires=work.socket
1070
+ After=work.socket
1084
1071
  # Keep retrying forever: hitting the default start limit parks the unit in
1085
1072
  # failed state, which is the manual-restart hole we are closing.
1086
1073
  StartLimitIntervalSec=0
@@ -1093,20 +1080,35 @@ ExecStart=${execStart}
1093
1080
  Restart=always
1094
1081
  RestartSec=2
1095
1082
  ${envLines}
1096
-
1083
+ ${execOverride ? "" : "Environment=WORK_AWAKE=1\n"}
1097
1084
  [Install]
1098
1085
  WantedBy=default.target
1099
1086
  `,
1100
1087
  );
1101
1088
  log("installing systemd user service");
1102
1089
  sh("systemctl", ["--user", "daemon-reload"]);
1103
- sh("systemctl", ["--user", "enable", "work.service"]);
1090
+ sh("systemctl", ["--user", "enable", "work.socket", "work.service"]);
1091
+ // Rebinding (a new port, or the first install) is the one restart that
1092
+ // closes the port; otherwise the socket stays up and only the process
1093
+ // behind it is replaced.
1094
+ if (
1095
+ socketChanged ||
1096
+ spawnSync("systemctl", ["--user", "is-active", "--quiet", "work.socket"])
1097
+ .status !== 0
1098
+ ) {
1099
+ spawnSync("systemctl", ["--user", "stop", "work.service"], {
1100
+ stdio: "ignore",
1101
+ });
1102
+ sh("systemctl", ["--user", "restart", "work.socket"]);
1103
+ }
1104
1104
  sh("systemctl", ["--user", "restart", "work.service"]);
1105
1105
  // Survive logout (best-effort; may need sudo on some systems).
1106
1106
  spawnSync("loginctl", ["enable-linger", os.userInfo().username], {
1107
1107
  stdio: "ignore",
1108
1108
  });
1109
- log("manage with: systemctl --user {status,restart,stop} work.service");
1109
+ log(
1110
+ "manage with: systemctl --user {status,restart} work.service (stop: systemctl --user stop work.socket work.service)",
1111
+ );
1110
1112
  return true;
1111
1113
  }
1112
1114