@dylanpiercey/work 0.0.222 → 0.0.223

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 (540) hide show
  1. package/README.md +7 -4
  2. package/bin/work.mjs +70 -17
  3. package/dist/{_DNhDGBkH.js → _CpANOzpd.js} +219 -134
  4. package/dist/_LF2Fo5WE.js +2 -0
  5. package/dist/index.mjs +1462 -1770
  6. package/dist/public/assets/_--tE4Gxz.js +2 -0
  7. package/dist/public/assets/_--tE4Gxz.js.br +0 -0
  8. package/dist/public/assets/_1OL9vXM-.js +1 -0
  9. package/dist/public/assets/_2mnAZf6B.js +1 -0
  10. package/dist/public/assets/_2mnAZf6B.js.br +0 -0
  11. package/dist/public/assets/_5f9fMvWJ.js +1 -0
  12. package/dist/public/assets/_5y69OR6M.js +1 -0
  13. package/dist/public/assets/{_CsicaM6z.js → _Aq9oGnRu.js} +1 -1
  14. package/dist/public/assets/_Aq9oGnRu.js.br +0 -0
  15. package/dist/public/assets/_B0uJCjmk.js +1 -0
  16. package/dist/public/assets/{_C1JRCVnT.js → _B1RldJ0S.js} +1 -1
  17. package/dist/public/assets/_B1RldJ0S.js.br +0 -0
  18. package/dist/public/assets/_B5TpOQCZ.js +1 -0
  19. package/dist/public/assets/_B6UdulKa.js +1 -0
  20. package/dist/public/assets/{_cSsv1ZjH.js → _BA8HFnO3.js} +1 -1
  21. package/dist/public/assets/_BA8HFnO3.js.br +0 -0
  22. package/dist/public/assets/{_CdWPIocC.js → _BAHrOydH.js} +1 -1
  23. package/dist/public/assets/_BAHrOydH.js.br +0 -0
  24. package/dist/public/assets/{_Bpf0Nyqk.js → _BBpX-M4b.js} +1 -1
  25. package/dist/public/assets/_BBpX-M4b.js.br +0 -0
  26. package/dist/public/assets/{_BxpaVKca.js → _BCZpExov.js} +1 -1
  27. package/dist/public/assets/_BCZpExov.js.br +0 -0
  28. package/dist/public/assets/_BFZHNauV.js +1 -0
  29. package/dist/public/assets/_BGCK5I_O.js +1 -0
  30. package/dist/public/assets/_BGCK5I_O.js.br +0 -0
  31. package/dist/public/assets/_BJRSndB4.js +6 -0
  32. package/dist/public/assets/_BJRSndB4.js.br +0 -0
  33. package/dist/public/assets/{_DYBhy6q4.js → _BL9QMk_P.js} +1 -1
  34. package/dist/public/assets/_BL9QMk_P.js.br +0 -0
  35. package/dist/public/assets/_BLNEzyb5.js +1 -0
  36. package/dist/public/assets/{_B9Ukk65G.js → _BLRpf6Uw.js} +1 -1
  37. package/dist/public/assets/_BLRpf6Uw.js.br +0 -0
  38. package/dist/public/assets/{_CrV4JiE4.js → _BLTfQLdY.js} +1 -1
  39. package/dist/public/assets/_BLTfQLdY.js.br +0 -0
  40. package/dist/public/assets/{_Dns259C4.js → _BO0OB-rz.js} +1 -1
  41. package/dist/public/assets/_BO0OB-rz.js.br +0 -0
  42. package/dist/public/assets/{_DZLJGzpN.js → _BPcswKMK.js} +1 -1
  43. package/dist/public/assets/_BPcswKMK.js.br +0 -0
  44. package/dist/public/assets/_BPhXWliU.js +1 -0
  45. package/dist/public/assets/_BQXTv9Cr.js +1 -0
  46. package/dist/public/assets/{_DktieTrd.js → _BRG_DBcC.js} +1 -1
  47. package/dist/public/assets/_BRG_DBcC.js.br +0 -0
  48. package/dist/public/assets/{_DvqvHR7_.js → _BS4crAAm.js} +1 -1
  49. package/dist/public/assets/_BS4crAAm.js.br +0 -0
  50. package/dist/public/assets/{_OZcBKgKS.js → _BUH04L5e.js} +1 -1
  51. package/dist/public/assets/{_Cp1dT7ox.js → _BVp6r0fg.js} +1 -1
  52. package/dist/public/assets/_BVp6r0fg.js.br +0 -0
  53. package/dist/public/assets/{_BSliyqkf.js → _BXT2bXMi.js} +1 -1
  54. package/dist/public/assets/_BXT2bXMi.js.br +0 -0
  55. package/dist/public/assets/{_BJIAaIh4.js → _B_zyAtSJ.js} +1 -1
  56. package/dist/public/assets/_B_zyAtSJ.js.br +0 -0
  57. package/dist/public/assets/_BaXKdIeb.js +1 -0
  58. package/dist/public/assets/{_B29iioj9.js → _BbiACo0Y.js} +1 -1
  59. package/dist/public/assets/_BbiACo0Y.js.br +0 -0
  60. package/dist/public/assets/{_BxAKVWw-.js → _BdvO5Lqa.js} +1 -1
  61. package/dist/public/assets/_BdvO5Lqa.js.br +0 -0
  62. package/dist/public/assets/{_4KGVbuYs.js → _BeE9qDu0.js} +1 -1
  63. package/dist/public/assets/{_4KGVbuYs.js.br → _BeE9qDu0.js.br} +0 -0
  64. package/dist/public/assets/_BewXp5Y_.js +1 -0
  65. package/dist/public/assets/_BewXp5Y_.js.br +0 -0
  66. package/dist/public/assets/_BfOOLKo5.js +1 -0
  67. package/dist/public/assets/_BhS8bTnr.js +1 -0
  68. package/dist/public/assets/_BhZ3ZoG0.js +1 -0
  69. package/dist/public/assets/_Bi3_ZsOQ.js +1 -0
  70. package/dist/public/assets/_Bj_Lfa8B.js +1 -0
  71. package/dist/public/assets/_BlN_x04q.js +1 -0
  72. package/dist/public/assets/_Bn5nsnie.js +1 -0
  73. package/dist/public/assets/_BnOOD6nr.js +15 -0
  74. package/dist/public/assets/_BnOOD6nr.js.br +0 -0
  75. package/dist/public/assets/{_Dtx2usNe.js → _BnyLUTdO.js} +1 -1
  76. package/dist/public/assets/_BnyLUTdO.js.br +0 -0
  77. package/dist/public/assets/_Bp_WT09q.js +1 -0
  78. package/dist/public/assets/_Bp_WT09q.js.br +0 -0
  79. package/dist/public/assets/{_DZD7yzH2.js → _BsimXDnm.js} +1 -1
  80. package/dist/public/assets/_BsimXDnm.js.br +0 -0
  81. package/dist/public/assets/_BsupnkWM.js +1 -0
  82. package/dist/public/assets/_BsupnkWM.js.br +0 -0
  83. package/dist/public/assets/{_BNPo3NaH.js → _BxAl0m64.js} +1 -1
  84. package/dist/public/assets/_BxAl0m64.js.br +0 -0
  85. package/dist/public/assets/{_CPMD0qdL.js → _C-6dImS5.js} +1 -1
  86. package/dist/public/assets/_C-6dImS5.js.br +0 -0
  87. package/dist/public/assets/_C18Torhh.js +1 -0
  88. package/dist/public/assets/{_H7TtilBa.js → _C1PmcEws.js} +1 -1
  89. package/dist/public/assets/_C1PmcEws.js.br +0 -0
  90. package/dist/public/assets/{_i6oi77xC.js → _C2ZpyiHV.js} +1 -1
  91. package/dist/public/assets/_C2ZpyiHV.js.br +0 -0
  92. package/dist/public/assets/_C3P1VHUI.js +1 -0
  93. package/dist/public/assets/{_D74J3kwJ.js → _C6i9NP5A.js} +1 -1
  94. package/dist/public/assets/_C6xwTKke.js +1 -0
  95. package/dist/public/assets/_C6yqlRfl.js +1 -0
  96. package/dist/public/assets/_C75D8bH2.js +1 -0
  97. package/dist/public/assets/{_DLJu1hcD.js → _C87NBm9i.js} +1 -1
  98. package/dist/public/assets/_C87NBm9i.js.br +0 -0
  99. package/dist/public/assets/_C8Vc_vBH.js +1 -0
  100. package/dist/public/assets/{_BpLwQ1O8.js → _C9OdJcx4.js} +1 -1
  101. package/dist/public/assets/_C9OdJcx4.js.br +0 -0
  102. package/dist/public/assets/_C9eoo0sE.js +1 -0
  103. package/dist/public/assets/_C9qO_dny.js +1 -0
  104. package/dist/public/assets/_C9qO_dny.js.br +0 -0
  105. package/dist/public/assets/{_C3E24F_T.js → _CB31bp-W.js} +1 -1
  106. package/dist/public/assets/_CB31bp-W.js.br +0 -0
  107. package/dist/public/assets/{_BXU-ZvQb.js → _CCCQMLw5.js} +1 -1
  108. package/dist/public/assets/_CCCQMLw5.js.br +0 -0
  109. package/dist/public/assets/_CCie36pi.js +1 -0
  110. package/dist/public/assets/_CDD9N34p.js +1 -0
  111. package/dist/public/assets/{_Ca3bfNZI.js → _CE5MhJWL.js} +1 -1
  112. package/dist/public/assets/_CE5MhJWL.js.br +0 -0
  113. package/dist/public/assets/{_Ct2VbISZ.js → _CGLpCj_I.js} +1 -1
  114. package/dist/public/assets/_CGLpCj_I.js.br +0 -0
  115. package/dist/public/assets/{_BIul3uoC.js → _CJ9j8N5Z.js} +1 -1
  116. package/dist/public/assets/_CJ9j8N5Z.js.br +0 -0
  117. package/dist/public/assets/{_NGfZeYAt.js → _CLDmR3jR.js} +1 -1
  118. package/dist/public/assets/_CLDmR3jR.js.br +0 -0
  119. package/dist/public/assets/{_CKwCTsbp.js → _CLerZOx-.js} +1 -1
  120. package/dist/public/assets/_CLerZOx-.js.br +0 -0
  121. package/dist/public/assets/_CM5GtJb2.js +1 -0
  122. package/dist/public/assets/_COECwOVb.js +1 -0
  123. package/dist/public/assets/_CSQE9nMN.js +1 -0
  124. package/dist/public/assets/_CSXMgHLQ.js +1 -0
  125. package/dist/public/assets/{_DYm1j3HZ.js → _CT3clsOQ.js} +1 -1
  126. package/dist/public/assets/_CVRiByCT.js +1 -0
  127. package/dist/public/assets/_CVSrm4Pl.js +1 -0
  128. package/dist/public/assets/{_DNqoI_cd.js → _CX1wufuh.js} +1 -1
  129. package/dist/public/assets/_CX1wufuh.js.br +0 -0
  130. package/dist/public/assets/{_gP9nLV2Y.js → _CYNAhnRH.js} +117 -117
  131. package/dist/public/assets/_CYNAhnRH.js.br +0 -0
  132. package/dist/public/assets/{_DW6AnxDW.js → _CZGS4T08.js} +1 -1
  133. package/dist/public/assets/_CZGS4T08.js.br +0 -0
  134. package/dist/public/assets/_C_L7l9Mg.js +1 -0
  135. package/dist/public/assets/_CaMrYy1W.js +1 -0
  136. package/dist/public/assets/{_C4KQv1VW.js → _CdgAsi3s.js} +1 -1
  137. package/dist/public/assets/_CdgAsi3s.js.br +0 -0
  138. package/dist/public/assets/_Ce-E7sJE.js +1 -0
  139. package/dist/public/assets/_Cg3S760D.js +1 -0
  140. package/dist/public/assets/{_BY6ayWBy.js → _ChpYg41R.js} +1 -1
  141. package/dist/public/assets/_CicyY7KP.js +1 -0
  142. package/dist/public/assets/_Ck0YOw_7.js +1 -0
  143. package/dist/public/assets/_CmHlTZSs.js +1 -0
  144. package/dist/public/assets/_CnECYh66.js +1 -0
  145. package/dist/public/assets/{_CluEtmrQ.js → _CnKYioYw.js} +1 -1
  146. package/dist/public/assets/_CnKYioYw.js.br +0 -0
  147. package/dist/public/assets/_CnUVvVPd.js +1 -0
  148. package/dist/public/assets/_CqSgGCGC.js +1 -0
  149. package/dist/public/assets/{_LgS0G0uH.js → _CttJbiei.js} +1 -1
  150. package/dist/public/assets/_CttJbiei.js.br +0 -0
  151. package/dist/public/assets/{_TxnhYSE5.js → _CtyJUmXC.js} +1 -1
  152. package/dist/public/assets/_CtyJUmXC.js.br +0 -0
  153. package/dist/public/assets/{_KM7EGl2R.js → _Cw_8WbwF.js} +1 -1
  154. package/dist/public/assets/_Cw_8WbwF.js.br +0 -0
  155. package/dist/public/assets/{_D_joWBEC.js → _CwmzEsB4.js} +1 -1
  156. package/dist/public/assets/_CwmzEsB4.js.br +0 -0
  157. package/dist/public/assets/_CzETFsJs.js +1 -0
  158. package/dist/public/assets/_D-S9H-tX.js +1 -0
  159. package/dist/public/assets/{_C-oO7X9P.js → _D-hK5uFn.js} +1 -1
  160. package/dist/public/assets/_D-hK5uFn.js.br +0 -0
  161. package/dist/public/assets/_D5fTwHXK.js +1 -0
  162. package/dist/public/assets/{_DFiA_pht.js → _D8u1YU9b.js} +1 -1
  163. package/dist/public/assets/_D8u1YU9b.js.br +0 -0
  164. package/dist/public/assets/_DAH8evhA.js +1 -0
  165. package/dist/public/assets/_DAemmoHI.js +1 -0
  166. package/dist/public/assets/_DEMYxWZf.js +1 -0
  167. package/dist/public/assets/_DGTQBWy0.js +1 -0
  168. package/dist/public/assets/_DGTQBWy0.js.br +0 -0
  169. package/dist/public/assets/_DHhv0pCA.js +1 -0
  170. package/dist/public/assets/{_Cnl5owe1.js → _DI0QHEXB.js} +1 -1
  171. package/dist/public/assets/_DI0QHEXB.js.br +0 -0
  172. package/dist/public/assets/{_BHkMvOuI.js → _DJ3UAR_s.js} +1 -1
  173. package/dist/public/assets/_DJ3UAR_s.js.br +0 -0
  174. package/dist/public/assets/_DKu6UxI7.js +1 -0
  175. package/dist/public/assets/_DNC-9RBN.js +1 -0
  176. package/dist/public/assets/_DP-Bu7ET.js +1 -0
  177. package/dist/public/assets/_DYmmPBcq.js +1 -0
  178. package/dist/public/assets/_Da2Dmt_d.js +1 -0
  179. package/dist/public/assets/_Da2Dmt_d.js.br +0 -0
  180. package/dist/public/assets/{_ByqDCoAZ.js → _DaqT6m41.js} +1 -1
  181. package/dist/public/assets/_DaqT6m41.js.br +0 -0
  182. package/dist/public/assets/_DbVyutEZ.js +1 -0
  183. package/dist/public/assets/_DcBvO2Si.js +1 -0
  184. package/dist/public/assets/{_BYHfXvmU.js → _DeCJ44Me.js} +1 -1
  185. package/dist/public/assets/_DeCJ44Me.js.br +0 -0
  186. package/dist/public/assets/{_CEvca0JK.js → _DeN4EY8L.js} +1 -1
  187. package/dist/public/assets/_DeN4EY8L.js.br +0 -0
  188. package/dist/public/assets/{_BCTeDxHC.js → _DhEdzMUw.js} +1 -1
  189. package/dist/public/assets/_DhEdzMUw.js.br +0 -0
  190. package/dist/public/assets/{_aAORMS0u.js → _DhNuRs-V.js} +1 -1
  191. package/dist/public/assets/_DhNuRs-V.js.br +0 -0
  192. package/dist/public/assets/{_ItervcuA.js → _DiqV5bDH.js} +1 -1
  193. package/dist/public/assets/_DiqV5bDH.js.br +0 -0
  194. package/dist/public/assets/_Diqt_yCf.js +1 -0
  195. package/dist/public/assets/{_BJk5sqrB.js → _DlpTErRA.js} +1 -1
  196. package/dist/public/assets/_DlpTErRA.js.br +0 -0
  197. package/dist/public/assets/{_SHB9zmh2.js → _DmDSLxrw.js} +1 -1
  198. package/dist/public/assets/_DmDSLxrw.js.br +0 -0
  199. package/dist/public/assets/_DoC0qbSD.js +1 -0
  200. package/dist/public/assets/{_CtQ-4c6a.js → _DoCtdMd2.js} +1 -1
  201. package/dist/public/assets/_DoCtdMd2.js.br +0 -0
  202. package/dist/public/assets/_DpqWFkMg.js +1 -0
  203. package/dist/public/assets/_Dr0Bkgso.js +1 -0
  204. package/dist/public/assets/_Dt-n9FaQ.js +1 -0
  205. package/dist/public/assets/_DtOzdwHm.js +1 -0
  206. package/dist/public/assets/_DtOzdwHm.js.br +0 -0
  207. package/dist/public/assets/{_QlXMW-cP.js → _DuGmU4h0.js} +1 -1
  208. package/dist/public/assets/_DuGmU4h0.js.br +0 -0
  209. package/dist/public/assets/{_DJnXBrlD.js → _DuXOUegE.js} +1 -1
  210. package/dist/public/assets/_DuXOUegE.js.br +0 -0
  211. package/dist/public/assets/_DuaocJd1.js +1 -0
  212. package/dist/public/assets/{_CN5iw4cA.js → _DuarImb7.js} +1 -1
  213. package/dist/public/assets/_DuarImb7.js.br +0 -0
  214. package/dist/public/assets/{_9xYWGqfi.js → _DwcoW-IU.js} +1 -1
  215. package/dist/public/assets/_DwcoW-IU.js.br +0 -0
  216. package/dist/public/assets/{_M94yp4jo.js → _DxVt7Zuk.js} +11 -11
  217. package/dist/public/assets/_DxVt7Zuk.js.br +0 -0
  218. package/dist/public/assets/{_B-992FUw.js → _DzrtBP-L.js} +1 -1
  219. package/dist/public/assets/{_CB-I9KUl.js → _Fzbz4zvE.js} +1 -1
  220. package/dist/public/assets/_Fzbz4zvE.js.br +0 -0
  221. package/dist/public/assets/_I5oX-lGP.js +1 -0
  222. package/dist/public/assets/{_U2n8Yyqy.js → _IWMmnVCy.js} +1 -1
  223. package/dist/public/assets/_IWMmnVCy.js.br +0 -0
  224. package/dist/public/assets/{_BYgxEDpq.js → _O70J1Mfv.js} +1 -1
  225. package/dist/public/assets/_O70J1Mfv.js.br +0 -0
  226. package/dist/public/assets/_SwbsOoi9.js +1 -0
  227. package/dist/public/assets/_SwbsOoi9.js.br +0 -0
  228. package/dist/public/assets/_Yy39CykK.js +1 -0
  229. package/dist/public/assets/{_D5yRmwZD.js → __Oa255vo.js} +1 -1
  230. package/dist/public/assets/__Oa255vo.js.br +0 -0
  231. package/dist/public/assets/_bPze7k1x.js +1 -0
  232. package/dist/public/assets/_bU1KcT1I.js +1 -0
  233. package/dist/public/assets/{_BlSF31Ck.js → _dr95P55a.js} +1 -1
  234. package/dist/public/assets/_dr95P55a.js.br +0 -0
  235. package/dist/public/assets/{_B7nG9Ktb.js → _eQK3EZCc.js} +1 -1
  236. package/dist/public/assets/_eQK3EZCc.js.br +0 -0
  237. package/dist/public/assets/{_DPIQzOUl.js → _gPFPzzPF.js} +1 -1
  238. package/dist/public/assets/_gPFPzzPF.js.br +0 -0
  239. package/dist/public/assets/_hzpOPZUB.js +1 -0
  240. package/dist/public/assets/{_D93v6VDe.js → _ifUb4WX7.js} +1 -1
  241. package/dist/public/assets/_ifUb4WX7.js.br +0 -0
  242. package/dist/public/assets/_kQ7LiSim.js +1 -0
  243. package/dist/public/assets/_lOAW1VLM.js +1 -0
  244. package/dist/public/assets/{_BS0AEB1V.js → _mnBdD4YN.js} +1 -1
  245. package/dist/public/assets/_mnBdD4YN.js.br +0 -0
  246. package/dist/public/assets/_odBcV1kc.js +1 -0
  247. package/dist/public/assets/{_buuWf96L.js → _pP1W6w5v.js} +1 -1
  248. package/dist/public/assets/_pP1W6w5v.js.br +0 -0
  249. package/dist/public/assets/{_Bk_g_9Bn.js → _pUYwxsdF.js} +1 -1
  250. package/dist/public/assets/_pUYwxsdF.js.br +0 -0
  251. package/dist/public/assets/{_6FNzwUcm.js → _pvS44-AC.js} +1 -1
  252. package/dist/public/assets/_pvS44-AC.js.br +0 -0
  253. package/dist/public/assets/_qJTL2ooe.js +1 -0
  254. package/dist/public/assets/_qJTL2ooe.js.br +0 -0
  255. package/dist/public/assets/{_BDCQoRmq.js → _s5Jez2mu.js} +1 -1
  256. package/dist/public/assets/_s5Jez2mu.js.br +0 -0
  257. package/dist/public/assets/{_KpWeECPp.js → _unfL8mz1.js} +1 -1
  258. package/dist/public/assets/_unfL8mz1.js.br +0 -0
  259. package/dist/public/assets/_unwtcXFQ.js +1 -0
  260. package/dist/public/assets/_unwtcXFQ.js.br +0 -0
  261. package/dist/public/assets/{_tqD_68em.js → _vKQopDwG.js} +1 -1
  262. package/dist/public/assets/_vKQopDwG.js.br +0 -0
  263. package/dist/public/assets/_w1aegGdT.js +1 -0
  264. package/dist/public/assets/_xdrkfok5.js +1 -0
  265. package/dist/public/assets/_xdrkfok5.js.br +0 -0
  266. package/dist/public/assets/_y-lm36fI.js +1 -0
  267. package/dist/public/assets/{_CgsPFJZy.js → _zKlxcAnQ.js} +1 -1
  268. package/dist/public/assets/_zKlxcAnQ.js.br +0 -0
  269. package/dist/public/assets/app-shell-CpPCwWPW.css +1 -0
  270. package/dist/public/assets/app-shell-CpPCwWPW.css.br +0 -0
  271. package/dist/public/assets/files-view-BfCdcfXX.js +2 -0
  272. package/dist/public/assets/files-view-DtI7JE-f.css +1 -0
  273. package/dist/public/assets/files-view-DtI7JE-f.css.br +0 -0
  274. package/dist/public/assets/group.css.ts-SeaNz7WZ.css +1 -0
  275. package/dist/public/assets/group.css.ts-SeaNz7WZ.css.br +0 -0
  276. package/dist/public/assets/{icon-folder-De3LJVaT.css → icon-folder-DHVc-REl.css} +1 -1
  277. package/dist/public/assets/icon-folder-DHVc-REl.css.br +0 -0
  278. package/dist/public/assets/{icon-search-C6A4IBPq.css → icon-search-DAtjHWFL.css} +1 -1
  279. package/dist/public/assets/icon-search-DAtjHWFL.css.br +0 -0
  280. package/dist/public/assets/manage-workspace-6i6Zeai7.css +1 -0
  281. package/dist/public/assets/manage-workspace-CixeMkdt.js +2 -0
  282. package/dist/public/assets/{modal-view-BY2E8mw2.css → modal-view-D0qnmuJE.css} +1 -1
  283. package/dist/public/assets/modal-view-D0qnmuJE.css.br +0 -0
  284. package/dist/public/assets/new-DxhaKmbF.js +1 -0
  285. package/dist/public/assets/new-workspace-BXjDRbqF.css +1 -0
  286. package/dist/public/assets/new-workspace-BXjDRbqF.css.br +0 -0
  287. package/dist/public/assets/new-workspace-DG693v2S.js +2 -0
  288. package/dist/public/assets/port-chip-Lz3mVJWb.css +1 -0
  289. package/dist/public/assets/port-chip-Lz3mVJWb.css.br +0 -0
  290. package/dist/public/assets/prompt-dialog-vhnae1-x.css +1 -0
  291. package/dist/public/assets/prompt-dialog-vhnae1-x.css.br +0 -0
  292. package/dist/public/assets/quick-open-DVqzk3-g.css +1 -0
  293. package/dist/public/assets/quick-open-DVqzk3-g.css.br +0 -0
  294. package/dist/public/assets/repo-picker-K5RYsEge.css +1 -0
  295. package/dist/public/assets/repo-picker-K5RYsEge.css.br +0 -0
  296. package/dist/public/assets/review-view-DqMrB4Ny.css +1 -0
  297. package/dist/public/assets/review-view-DqMrB4Ny.css.br +0 -0
  298. package/dist/public/assets/review-view-TdLbCgEg.js +2 -0
  299. package/dist/public/assets/section-2MyJSq5D.css +1 -0
  300. package/dist/public/assets/section-2MyJSq5D.css.br +0 -0
  301. package/dist/public/assets/settings-DxhaKmbF.js +1 -0
  302. package/dist/public/assets/settings-page-BBAG94Vh.js +2 -0
  303. package/dist/public/assets/settings-page-DUefc32x.css +1 -0
  304. package/dist/public/assets/settings-page-DUefc32x.css.br +0 -0
  305. package/dist/public/assets/skill-row-BeOk8NK8.css +1 -0
  306. package/dist/public/assets/sso-auth-CU3fGJ4U.css +1 -0
  307. package/dist/public/assets/sso-auth-CU3fGJ4U.css.br +0 -0
  308. package/dist/public/assets/w-DxhaKmbF.js +1 -0
  309. package/dist/public/assets/w._-C6JVdFgi.js +1 -0
  310. package/dist/public/assets/w._-DxhaKmbF.js +1 -0
  311. package/dist/public/assets/w._-rfvcDGPk.js +1 -0
  312. package/install.sh +1 -1
  313. package/lib/setup/catalog.d.mts +3 -0
  314. package/lib/setup/catalog.mjs +17 -0
  315. package/lib/setup/doctor.d.mts +1 -0
  316. package/lib/setup/doctor.mjs +5 -4
  317. package/lib/share/manifest.mjs +1 -1
  318. package/package.json +3 -3
  319. package/scripts/migrate.mjs +119 -261
  320. package/dist/_u9qRCTjI.js +0 -2
  321. package/dist/public/assets/_43qHqm_h.js +0 -1
  322. package/dist/public/assets/_4hbCil9D.js +0 -1
  323. package/dist/public/assets/_4hbCil9D.js.br +0 -0
  324. package/dist/public/assets/_69GBvJfT.js +0 -1
  325. package/dist/public/assets/_6FNzwUcm.js.br +0 -0
  326. package/dist/public/assets/_8SWI_CIk.js +0 -1
  327. package/dist/public/assets/_8SWI_CIk.js.br +0 -0
  328. package/dist/public/assets/_9fKCaxLn.js +0 -1
  329. package/dist/public/assets/_9xYWGqfi.js.br +0 -0
  330. package/dist/public/assets/_AKwHRUw2.js +0 -1
  331. package/dist/public/assets/_B29iioj9.js.br +0 -0
  332. package/dist/public/assets/_B3bcGOWb.js +0 -1
  333. package/dist/public/assets/_B3fa8s0p.js +0 -1
  334. package/dist/public/assets/_B6-AgBRx.js +0 -1
  335. package/dist/public/assets/_B6-AgBRx.js.br +0 -0
  336. package/dist/public/assets/_B68mxQgf.js +0 -15
  337. package/dist/public/assets/_B68mxQgf.js.br +0 -0
  338. package/dist/public/assets/_B7lNd0Fe.js +0 -1
  339. package/dist/public/assets/_B7nG9Ktb.js.br +0 -0
  340. package/dist/public/assets/_B9Ukk65G.js.br +0 -0
  341. package/dist/public/assets/_BCTeDxHC.js.br +0 -0
  342. package/dist/public/assets/_BDCQoRmq.js.br +0 -0
  343. package/dist/public/assets/_BHkMvOuI.js.br +0 -0
  344. package/dist/public/assets/_BIul3uoC.js.br +0 -0
  345. package/dist/public/assets/_BJIAaIh4.js.br +0 -5
  346. package/dist/public/assets/_BJk5sqrB.js.br +0 -0
  347. package/dist/public/assets/_BLOE-kpM.js +0 -1
  348. package/dist/public/assets/_BNK4RUnx.js +0 -1
  349. package/dist/public/assets/_BNPo3NaH.js.br +0 -0
  350. package/dist/public/assets/_BPMmLRzt.js +0 -1
  351. package/dist/public/assets/_BQ91qGf-.js +0 -1
  352. package/dist/public/assets/_BS0AEB1V.js.br +0 -0
  353. package/dist/public/assets/_BS66ieXF.js +0 -1
  354. package/dist/public/assets/_BSb0QOJN.js +0 -1
  355. package/dist/public/assets/_BSliyqkf.js.br +0 -0
  356. package/dist/public/assets/_BSydNGAC.js +0 -2
  357. package/dist/public/assets/_BSydNGAC.js.br +0 -0
  358. package/dist/public/assets/_BXU-ZvQb.js.br +0 -0
  359. package/dist/public/assets/_BYHfXvmU.js.br +0 -0
  360. package/dist/public/assets/_BYcB3W24.js +0 -1
  361. package/dist/public/assets/_BYgxEDpq.js.br +0 -0
  362. package/dist/public/assets/_BYi6z1C9.js +0 -1
  363. package/dist/public/assets/_BbM04KlN.js +0 -1
  364. package/dist/public/assets/_Bc5E_ez3.js +0 -1
  365. package/dist/public/assets/_BcWZ_-iA.js +0 -1
  366. package/dist/public/assets/_BkXPpVmm.js +0 -1
  367. package/dist/public/assets/_Bk_g_9Bn.js.br +0 -0
  368. package/dist/public/assets/_BlSF31Ck.js.br +0 -0
  369. package/dist/public/assets/_Bn4xIRpG.js +0 -1
  370. package/dist/public/assets/_BpLwQ1O8.js.br +0 -0
  371. package/dist/public/assets/_BpVNeKi-.js +0 -1
  372. package/dist/public/assets/_BpdpbMex.js +0 -1
  373. package/dist/public/assets/_Bpf0Nyqk.js.br +0 -0
  374. package/dist/public/assets/_BwBNAwDG.js +0 -1
  375. package/dist/public/assets/_BxAKVWw-.js.br +0 -0
  376. package/dist/public/assets/_BxpaVKca.js.br +0 -0
  377. package/dist/public/assets/_ByqDCoAZ.js.br +0 -0
  378. package/dist/public/assets/_Bzg_Rzcf.js +0 -1
  379. package/dist/public/assets/_C-oO7X9P.js.br +0 -0
  380. package/dist/public/assets/_C0KvehwH.js +0 -1
  381. package/dist/public/assets/_C1JRCVnT.js.br +0 -0
  382. package/dist/public/assets/_C2U9mANP.js +0 -1
  383. package/dist/public/assets/_C3E24F_T.js.br +0 -0
  384. package/dist/public/assets/_C4KQv1VW.js.br +0 -0
  385. package/dist/public/assets/_C5MTb3MY.js +0 -1
  386. package/dist/public/assets/_C7ha2DpU.js +0 -1
  387. package/dist/public/assets/_C7ha2DpU.js.br +0 -0
  388. package/dist/public/assets/_CAaW1fUv.js +0 -1
  389. package/dist/public/assets/_CB-I9KUl.js.br +0 -0
  390. package/dist/public/assets/_CEvca0JK.js.br +0 -0
  391. package/dist/public/assets/_CGZs9U_g.js +0 -1
  392. package/dist/public/assets/_CK6p4Zj1.js +0 -1
  393. package/dist/public/assets/_CK6p4Zj1.js.br +0 -0
  394. package/dist/public/assets/_CKwCTsbp.js.br +0 -0
  395. package/dist/public/assets/_CKyRgnW2.js +0 -1
  396. package/dist/public/assets/_CN5iw4cA.js.br +0 -0
  397. package/dist/public/assets/_CPAGQRmF.js +0 -1
  398. package/dist/public/assets/_CPMD0qdL.js.br +0 -0
  399. package/dist/public/assets/_CRi7-Tyh.js +0 -1
  400. package/dist/public/assets/_CU2T7o-W.js +0 -1
  401. package/dist/public/assets/_CVSAwdO1.js +0 -1
  402. package/dist/public/assets/_CZzsPgfD.js +0 -1
  403. package/dist/public/assets/_C_jQehPQ.js +0 -1
  404. package/dist/public/assets/_Ca3bfNZI.js.br +0 -0
  405. package/dist/public/assets/_CdWPIocC.js.br +0 -0
  406. package/dist/public/assets/_CeFqvzt1.js +0 -1
  407. package/dist/public/assets/_CgsPFJZy.js.br +0 -0
  408. package/dist/public/assets/_ClgoCZxV.js +0 -6
  409. package/dist/public/assets/_ClgoCZxV.js.br +0 -0
  410. package/dist/public/assets/_CluEtmrQ.js.br +0 -0
  411. package/dist/public/assets/_Cnl5owe1.js.br +0 -0
  412. package/dist/public/assets/_Cp1dT7ox.js.br +0 -0
  413. package/dist/public/assets/_Cpyx7Ldm.js +0 -1
  414. package/dist/public/assets/_Cq4-AZ6O.js +0 -1
  415. package/dist/public/assets/_CrV4JiE4.js.br +0 -0
  416. package/dist/public/assets/_Csdgg-p8.js +0 -1
  417. package/dist/public/assets/_Csdgg-p8.js.br +0 -0
  418. package/dist/public/assets/_CsicaM6z.js.br +0 -0
  419. package/dist/public/assets/_Ct2VbISZ.js.br +0 -0
  420. package/dist/public/assets/_CtQ-4c6a.js.br +0 -0
  421. package/dist/public/assets/_Cyfdf5Zc.js +0 -1
  422. package/dist/public/assets/_D1qsYd77.js +0 -1
  423. package/dist/public/assets/_D1qsYd77.js.br +0 -0
  424. package/dist/public/assets/_D5yRmwZD.js.br +0 -0
  425. package/dist/public/assets/_D78O__dl.js +0 -1
  426. package/dist/public/assets/_D93v6VDe.js.br +0 -0
  427. package/dist/public/assets/_DDfizRXp.js +0 -1
  428. package/dist/public/assets/_DDfizRXp.js.br +0 -0
  429. package/dist/public/assets/_DFiA_pht.js.br +0 -0
  430. package/dist/public/assets/_DGDsfGXN.js +0 -1
  431. package/dist/public/assets/_DGDsfGXN.js.br +0 -0
  432. package/dist/public/assets/_DJnXBrlD.js.br +0 -0
  433. package/dist/public/assets/_DKiEZYX8.js +0 -1
  434. package/dist/public/assets/_DLEnV6cR.js +0 -1
  435. package/dist/public/assets/_DLJu1hcD.js.br +0 -0
  436. package/dist/public/assets/_DL_rHJtD.js +0 -1
  437. package/dist/public/assets/_DNFF24hk.js +0 -1
  438. package/dist/public/assets/_DNqoI_cd.js.br +0 -0
  439. package/dist/public/assets/_DOLRYXID.js +0 -1
  440. package/dist/public/assets/_DPIQzOUl.js.br +0 -0
  441. package/dist/public/assets/_DQWcu2Z_.js +0 -1
  442. package/dist/public/assets/_DW6AnxDW.js.br +0 -0
  443. package/dist/public/assets/_DWYjkjOA.js +0 -1
  444. package/dist/public/assets/_DXE83VZw.js +0 -1
  445. package/dist/public/assets/_DYBhy6q4.js.br +0 -0
  446. package/dist/public/assets/_DYKZ1zvC.js +0 -1
  447. package/dist/public/assets/_DYbmgf-P.js +0 -1
  448. package/dist/public/assets/_DZD7yzH2.js.br +0 -0
  449. package/dist/public/assets/_DZLJGzpN.js.br +0 -0
  450. package/dist/public/assets/_D_joWBEC.js.br +0 -0
  451. package/dist/public/assets/_D_qiANiM.js +0 -1
  452. package/dist/public/assets/_D_qiANiM.js.br +0 -0
  453. package/dist/public/assets/_DhhUcrza.js +0 -1
  454. package/dist/public/assets/_Dik2fbTK.js +0 -1
  455. package/dist/public/assets/_Dik2fbTK.js.br +0 -0
  456. package/dist/public/assets/_DjGbHRs7.js +0 -1
  457. package/dist/public/assets/_DjdPagIm.js +0 -1
  458. package/dist/public/assets/_Djnp5vRt.js +0 -1
  459. package/dist/public/assets/_DktieTrd.js.br +0 -0
  460. package/dist/public/assets/_Dns259C4.js.br +0 -0
  461. package/dist/public/assets/_Dr2zRKuC.js +0 -1
  462. package/dist/public/assets/_Dtx2usNe.js.br +0 -0
  463. package/dist/public/assets/_DvnFb18d.js +0 -1
  464. package/dist/public/assets/_DvqvHR7_.js.br +0 -0
  465. package/dist/public/assets/_Dy57KGoU.js +0 -1
  466. package/dist/public/assets/_Dy57KGoU.js.br +0 -0
  467. package/dist/public/assets/_FdygZebO.js +0 -1
  468. package/dist/public/assets/_H7TtilBa.js.br +0 -0
  469. package/dist/public/assets/_HwOcVvTN.js +0 -1
  470. package/dist/public/assets/_ICJfUHY2.js +0 -1
  471. package/dist/public/assets/_ItervcuA.js.br +0 -0
  472. package/dist/public/assets/_JGwf6udl.js +0 -1
  473. package/dist/public/assets/_KM7EGl2R.js.br +0 -0
  474. package/dist/public/assets/_KpWeECPp.js.br +0 -0
  475. package/dist/public/assets/_LgS0G0uH.js.br +0 -0
  476. package/dist/public/assets/_M94yp4jo.js.br +0 -0
  477. package/dist/public/assets/_NGfZeYAt.js.br +0 -0
  478. package/dist/public/assets/_QlXMW-cP.js.br +0 -0
  479. package/dist/public/assets/_SHB9zmh2.js.br +0 -0
  480. package/dist/public/assets/_TSA_v82C.js +0 -1
  481. package/dist/public/assets/_TxnhYSE5.js.br +0 -0
  482. package/dist/public/assets/_U2n8Yyqy.js.br +0 -0
  483. package/dist/public/assets/_Vhpht63x.js +0 -1
  484. package/dist/public/assets/_Z9CaLBvo.js +0 -1
  485. package/dist/public/assets/__-FQNLs7.js +0 -1
  486. package/dist/public/assets/__CN8nA63.js +0 -1
  487. package/dist/public/assets/_aAORMS0u.js.br +0 -0
  488. package/dist/public/assets/_buuWf96L.js.br +0 -0
  489. package/dist/public/assets/_cSsv1ZjH.js.br +0 -0
  490. package/dist/public/assets/_gP9nLV2Y.js.br +0 -0
  491. package/dist/public/assets/_i6oi77xC.js.br +0 -0
  492. package/dist/public/assets/_jb3Fwzol.js +0 -1
  493. package/dist/public/assets/_lmVJ3O6t.js +0 -1
  494. package/dist/public/assets/_mloSZbwk.js +0 -1
  495. package/dist/public/assets/_sYOWcsEI.js +0 -1
  496. package/dist/public/assets/_tqD_68em.js.br +0 -0
  497. package/dist/public/assets/_y4SZiKqE.js +0 -1
  498. package/dist/public/assets/_y4SZiKqE.js.br +0 -0
  499. package/dist/public/assets/_zMYJngRw.js +0 -1
  500. package/dist/public/assets/_zTWXKPCk.js +0 -1
  501. package/dist/public/assets/app-shell-BXDHei7B.css +0 -1
  502. package/dist/public/assets/app-shell-BXDHei7B.css.br +0 -0
  503. package/dist/public/assets/files-view-BCnw4-08.js +0 -2
  504. package/dist/public/assets/files-view-Ds4k9TjY.css +0 -1
  505. package/dist/public/assets/files-view-Ds4k9TjY.css.br +0 -0
  506. package/dist/public/assets/group.css.ts-CZcH3cNI.css +0 -1
  507. package/dist/public/assets/group.css.ts-CZcH3cNI.css.br +0 -0
  508. package/dist/public/assets/icon-folder-De3LJVaT.css.br +0 -0
  509. package/dist/public/assets/icon-search-C6A4IBPq.css.br +0 -0
  510. package/dist/public/assets/manage-workspace-B2IJyc-s.js +0 -2
  511. package/dist/public/assets/manage-workspace-BYotHuev.css +0 -1
  512. package/dist/public/assets/modal-view-BY2E8mw2.css.br +0 -0
  513. package/dist/public/assets/new-workspace-9FQTNRn4.css +0 -1
  514. package/dist/public/assets/new-workspace-9FQTNRn4.css.br +0 -0
  515. package/dist/public/assets/new-workspace-B_6v9CYu.js +0 -2
  516. package/dist/public/assets/new-zQDWH4FQ.js +0 -1
  517. package/dist/public/assets/port-chip-V2q_q3UM.css +0 -1
  518. package/dist/public/assets/port-chip-V2q_q3UM.css.br +0 -0
  519. package/dist/public/assets/prompt-dialog-C_kDiYmC.css +0 -1
  520. package/dist/public/assets/prompt-dialog-C_kDiYmC.css.br +0 -0
  521. package/dist/public/assets/quick-open-IkoNJ7wT.css +0 -1
  522. package/dist/public/assets/quick-open-IkoNJ7wT.css.br +0 -0
  523. package/dist/public/assets/repo-picker-CMHPjNaZ.css +0 -1
  524. package/dist/public/assets/repo-picker-CMHPjNaZ.css.br +0 -0
  525. package/dist/public/assets/review-view-CqIbovDm.css +0 -1
  526. package/dist/public/assets/review-view-CqIbovDm.css.br +0 -0
  527. package/dist/public/assets/review-view-DJ3TxEP8.js +0 -2
  528. package/dist/public/assets/section-Bjoist2N.css +0 -1
  529. package/dist/public/assets/section-Bjoist2N.css.br +0 -0
  530. package/dist/public/assets/settings-page-CA4M6Hig.css +0 -1
  531. package/dist/public/assets/settings-page-CA4M6Hig.css.br +0 -0
  532. package/dist/public/assets/settings-page-Gf4hmpSr.js +0 -2
  533. package/dist/public/assets/settings-zQDWH4FQ.js +0 -1
  534. package/dist/public/assets/skill-row-y-AJuVyg.css +0 -1
  535. package/dist/public/assets/sso-auth-DCSrkI2L.css +0 -1
  536. package/dist/public/assets/sso-auth-DCSrkI2L.css.br +0 -0
  537. package/dist/public/assets/w-zQDWH4FQ.js +0 -1
  538. package/dist/public/assets/w._-B47BqhrV.js +0 -1
  539. package/dist/public/assets/w._-D0upu6g5.js +0 -1
  540. package/dist/public/assets/w._-zQDWH4FQ.js +0 -1
@@ -1,7 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  // migrate.mjs — one-shot cleanups for changes between versions, run by
3
3
  // `work setup` and `work migrate` (update.sh) so the runtime stays free of
4
- // legacy handling.
4
+ // legacy handling. The machine repairs run every time; the database's
5
+ // sweeps run once, while it is below schema version 1 (`PRAGMA
6
+ // user_version`), which this script then stamps — the baseline 0.1
7
+ // upgrades from. `npx @dylanpiercey/work@<this version> migrate` is how a
8
+ // later version brings an older database up to it.
5
9
  import crypto from "node:crypto";
6
10
  import { execFileSync } from "node:child_process";
7
11
  import fs from "node:fs";
@@ -104,7 +108,6 @@ const dbPath = path.join(dataDir, "work.db");
104
108
  }
105
109
 
106
110
  if (!fs.existsSync(dbPath)) process.exit(0);
107
- const db = new DatabaseSync(dbPath, { readOnly: true });
108
111
 
109
112
  /** A write connection that waits out the running server's transactions, as
110
113
  * db.ts does: setup and update.sh migrate while the old server still runs,
@@ -115,6 +118,92 @@ function writer() {
115
118
  return wr;
116
119
  }
117
120
 
121
+ // Version 1 is exactly the schema below: every table the app keeps, with
122
+ // the columns later releases added, and nothing it retired. A database at
123
+ // it has had the sweeps; one below it gets them now, then the stamp.
124
+ {
125
+ const wr = writer();
126
+ try {
127
+ if (wr.prepare("PRAGMA user_version").get().user_version >= 1)
128
+ process.exit(0);
129
+ // Keep in sync with src/server/db.ts: this is the schema a version-1
130
+ // database has, whichever of the two brought it there.
131
+ wr.exec(`
132
+ CREATE TABLE IF NOT EXISTS workspaces (
133
+ id TEXT PRIMARY KEY,
134
+ name TEXT NOT NULL,
135
+ path TEXT NOT NULL UNIQUE,
136
+ branch TEXT NOT NULL,
137
+ status TEXT NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'archived')),
138
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
139
+ );
140
+ CREATE TABLE IF NOT EXISTS repos (
141
+ workspace_id TEXT NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
142
+ full_name TEXT NOT NULL,
143
+ worktree TEXT NOT NULL,
144
+ base_branch TEXT NOT NULL,
145
+ default_branch TEXT NOT NULL,
146
+ PRIMARY KEY (workspace_id, full_name)
147
+ );
148
+ CREATE TABLE IF NOT EXISTS sessions (
149
+ id TEXT PRIMARY KEY,
150
+ workspace_id TEXT REFERENCES workspaces(id) ON DELETE SET NULL,
151
+ agent TEXT NOT NULL,
152
+ title TEXT,
153
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
154
+ );
155
+ CREATE TABLE IF NOT EXISTS settings (
156
+ key TEXT PRIMARY KEY,
157
+ value TEXT NOT NULL
158
+ );
159
+ CREATE TABLE IF NOT EXISTS review_comments (
160
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
161
+ workspace_id TEXT NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
162
+ worktree TEXT NOT NULL,
163
+ path TEXT NOT NULL,
164
+ side TEXT NOT NULL DEFAULT 'additions',
165
+ line_start INTEGER NOT NULL,
166
+ line_end INTEGER NOT NULL,
167
+ text TEXT NOT NULL,
168
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
169
+ );
170
+ CREATE TABLE IF NOT EXISTS push_subscriptions (
171
+ endpoint TEXT PRIMARY KEY,
172
+ data TEXT NOT NULL
173
+ );
174
+ CREATE TABLE IF NOT EXISTS dismissed_prs (
175
+ workspace_id TEXT NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
176
+ full_name TEXT NOT NULL,
177
+ number INTEGER NOT NULL,
178
+ PRIMARY KEY (workspace_id, full_name, number)
179
+ );
180
+ CREATE TABLE IF NOT EXISTS review_marks (
181
+ workspace_id TEXT NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
182
+ worktree TEXT NOT NULL,
183
+ branch TEXT NOT NULL,
184
+ path TEXT NOT NULL,
185
+ fingerprint TEXT NOT NULL,
186
+ PRIMARY KEY (workspace_id, worktree, branch, path)
187
+ );
188
+ `);
189
+ for (const [table, column, decl] of [
190
+ ["review_comments", "head", "TEXT"],
191
+ ["review_comments", "snippet", "TEXT"],
192
+ ["workspaces", "materialized", "INTEGER NOT NULL DEFAULT 1"],
193
+ ["workspaces", "origin_branch", "TEXT"],
194
+ ["workspaces", "imported_at", "TEXT"],
195
+ ]) {
196
+ const cols = wr.prepare(`PRAGMA table_info(${table})`).all();
197
+ if (!cols.some((c) => c.name === column))
198
+ wr.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${decl}`);
199
+ }
200
+ } finally {
201
+ wr.close();
202
+ }
203
+ }
204
+
205
+ const db = new DatabaseSync(dbPath, { readOnly: true });
206
+
118
207
  // Pre-scrape versions wrote agent hook files into every workspace
119
208
  // (identified by their agent-state callback); state now comes from
120
209
  // terminal scraping and launch flags, so sweep them out.
@@ -156,196 +245,11 @@ for (const { path: wsPath } of db
156
245
  }
157
246
  if (removed) console.log(`==> migrate: removed ${removed} legacy hook file(s)`);
158
247
 
159
- // A workspace's AGENTS.md is only rewritten when its repos change, so
160
- // existing ones never learn that the stash is shared between worktrees of
161
- // the same bare cache. Splice the bullet in ahead of the push one (keep in
162
- // sync with writeAgentsMd in src/server/workspaces.ts).
163
- const STASH_BULLET =
164
- "- **No `git stash`:** every workspace using a repo shares one stash stack, so\n" +
165
- " a pop can take another workspace's work. Commit WIP to your branch instead.\n";
166
- let noted = 0;
167
- for (const { path: wsPath } of db
168
- .prepare("SELECT path FROM workspaces")
169
- .all()) {
170
- const file = path.join(wsPath, "AGENTS.md");
171
- try {
172
- const text = fs.readFileSync(file, "utf8");
173
- const at = text.indexOf("- **Push:**");
174
- if (at < 0 || text.includes("git stash")) continue;
175
- fs.writeFileSync(file, text.slice(0, at) + STASH_BULLET + text.slice(at));
176
- noted++;
177
- } catch {}
178
- }
179
- if (noted)
180
- console.log(`==> migrate: noted the shared stash in ${noted} AGENTS.md`);
181
-
182
- // The review is commit-to-commit by default; fold that into the stash
183
- // bullet rather than appending another one. Keep in sync with writeAgentsMd.
184
- const OLD_STASH_END = "Commit WIP to your branch instead.";
185
- const NEW_STASH_END =
186
- "Commit as you go — uncommitted work isn't part of the review.";
187
- let restated = 0;
188
- for (const { path: wsPath } of db
189
- .prepare("SELECT path FROM workspaces")
190
- .all()) {
191
- const file = path.join(wsPath, "AGENTS.md");
192
- try {
193
- const text = fs.readFileSync(file, "utf8");
194
- if (!text.includes(OLD_STASH_END)) continue;
195
- fs.writeFileSync(file, text.replace(OLD_STASH_END, NEW_STASH_END));
196
- restated++;
197
- } catch {}
198
- }
199
- if (restated)
200
- console.log(
201
- `==> migrate: restated the stash bullet in ${restated} AGENTS.md`,
202
- );
203
-
204
- // Same rewrite-on-create-only problem: existing AGENTS.md never learn to
205
- // rebase after a squash-merge. Keep in sync with writeAgentsMd.
206
- const REBASE_BULLET =
207
- "- **Rebase after merge:** when `origin/<base>` (or a stacked parent) moves,\n" +
208
- " rebase onto it. A squash-merge does not move the fork point, so the review\n" +
209
- " keeps showing landed work until you do.\n";
210
- let rebased = 0;
211
- for (const { path: wsPath } of db
212
- .prepare("SELECT path FROM workspaces")
213
- .all()) {
214
- const file = path.join(wsPath, "AGENTS.md");
215
- try {
216
- const text = fs.readFileSync(file, "utf8");
217
- const at = text.indexOf("- **PRs:**");
218
- if (at < 0 || text.includes("Rebase after merge")) continue;
219
- fs.writeFileSync(file, text.slice(0, at) + REBASE_BULLET + text.slice(at));
220
- rebased++;
221
- } catch {}
222
- }
223
- if (rebased)
224
- console.log(`==> migrate: noted rebase-after-merge in ${rebased} AGENTS.md`);
225
-
226
- // Branch rules: stay on the workspace branch; reset it after it lands;
227
- // topic lanes only when that branch must stay open. Replaces both the
228
- // original "cut a lane per PR" parallel text and the later "need more
229
- // than one? stack" wording. Keep in sync with writeAgentsMd.
230
- let restatedBranches = 0;
231
- for (const { path: wsPath } of db
232
- .prepare("SELECT path FROM workspaces")
233
- .all()) {
234
- const file = path.join(wsPath, "AGENTS.md");
235
- try {
236
- let text = fs.readFileSync(file, "utf8");
237
- const found = text.match(/Workspace branch: \*\*`([^`]+)`\*\*/);
238
- if (!found || text.includes("must stay unmerged")) continue;
239
- const branch = found[1];
240
- const branches =
241
- `- **Branches:** stay on \`${branch}\` and keep pushing it — one open PR, more\n` +
242
- ` commits. After it lands, \`git fetch\` and reset \`${branch}\` to\n` +
243
- ` \`origin/<base>\` so the next change reuses this branch. Do not cut a\n` +
244
- ` \`${branch}-<topic>\` just to start the next piece of work.\n` +
245
- ` A topic lane is only for when \`${branch}\` must stay unmerged (a larger\n` +
246
- ` change) and you need a second PR on top of it. Then push every repo's\n` +
247
- ` workspace branch first, cut from the parent —\n` +
248
- ` \`git switch -c ${branch}-<topic> origin/${branch}\` — and keep the prefix.\n` +
249
- ` Only two levels: never \`${branch}-a-b\`. Tooling finds PRs by that prefix,\n` +
250
- ` so a branch named anything else is invisible: never invent one.\n`;
251
- const rebase =
252
- `- **Rebase after merge:** when \`${branch}\` is still open and \`origin/<base>\`\n` +
253
- " moves, rebase onto it — a squash-merge does not move the fork point, so the\n" +
254
- " review keeps showing landed work until you do. On a topic lane, rebase onto\n" +
255
- ` \`${branch}\` when the parent moves; after the parent merges: \`git fetch\n` +
256
- " --prune`, rebase onto `origin/<base>`, and retarget (`gh pr edit --base\n" +
257
- " <base>`).\n";
258
- const prs =
259
- "- **PRs:** the description covers only what is in the diff — a few sentences on\n" +
260
- " what changed and why. No verification logs or file-by-file detail. A topic\n" +
261
- ` lane's PR is \`gh pr create --base ${branch}\` — GitHub will otherwise target\n` +
262
- " the repo default, and the local review will disagree with the files tab.\n";
263
- const next = text
264
- .replace(/- \*\*Branches:\*\*[\s\S]*?never invent one.\n/, branches)
265
- .replace(/- \*\*PRs:\*\*[\s\S]*?file-by-file detail\.\n/, prs);
266
- const withRebase = next.includes("- **Rebase after merge:**")
267
- ? next.replace(
268
- /- \*\*Rebase after merge:\*\*[\s\S]*?(?:until you do|<base>`\)\.)\n/,
269
- rebase,
270
- )
271
- : next;
272
- if (withRebase === text) continue;
273
- fs.writeFileSync(file, withRebase);
274
- restatedBranches++;
275
- } catch {}
276
- }
277
- if (restatedBranches) {
278
- console.log(
279
- `==> migrate: restated branch rules in ${restatedBranches} AGENTS.md`,
280
- );
281
- }
282
-
283
- // Topic lanes come in two kinds: stacked on the workspace branch, or
284
- // independent, cut from the base (a separate fix that lands on its own).
285
- // Existing AGENTS.md only describe stacked lanes, whose PR targets the
286
- // workspace branch. Keep in sync with writeAgentsMd.
287
- let twoLaneKinds = 0;
288
- for (const { path: wsPath } of db
289
- .prepare("SELECT path FROM workspaces")
290
- .all()) {
291
- const file = path.join(wsPath, "AGENTS.md");
292
- try {
293
- const text = fs.readFileSync(file, "utf8");
294
- const found = text.match(/Workspace branch: \*\*`([^`]+)`\*\*/);
295
- if (!found || text.includes("**Independent**")) continue;
296
- const branch = found[1];
297
- const lanes =
298
- " A topic lane is a second change beside it, and is one of two kinds.\n" +
299
- ` **Stacked**: it needs \`${branch}\`, which must stay unmerged (a larger\n` +
300
- " change). Push every repo's workspace branch first, then cut from it\n" +
301
- ` (\`git switch -c ${branch}-<topic> origin/${branch}\`).\n` +
302
- " **Independent**: it stands on its own and can land before or without\n" +
303
- ` \`${branch}\` (a separate fix found along the way). Cut from the base\n` +
304
- ` (\`git switch -c ${branch}-<topic> origin/<base>\`).\n` +
305
- " Keep the prefix either way: tooling finds branches by it and tells the\n" +
306
- " two kinds apart from their history, so a branch named anything else is\n" +
307
- ` invisible: never invent one. Only two levels: never \`${branch}-a-b\`.\n`;
308
- const rebaseLanes =
309
- "An independent lane\n" +
310
- " rebases onto `origin/<base>` the same way. A stacked lane rebases onto\n" +
311
- ` \`${branch}\` when the parent moves; after the parent merges: \`git fetch\n` +
312
- " --prune`, rebase onto `origin/<base>`, and retarget (`gh pr edit --base\n" +
313
- " <base>`).\n";
314
- const prLanes =
315
- "A stacked\n" +
316
- ` lane's PR is \`gh pr create --base ${branch}\`: GitHub would otherwise\n` +
317
- " target the repo default, and the local review would disagree with the\n" +
318
- " files tab. An independent lane's PR targets the base, GitHub's default.\n";
319
- const next = text
320
- // The lane sentences of the branch bullet, up to its last line.
321
- .replace(
322
- / A topic lane is only for when[\s\S]*?never invent one\.\n/,
323
- lanes,
324
- )
325
- .replace(
326
- /On a topic lane, rebase onto\n[\s\S]*?<base>`\)\.\n/,
327
- rebaseLanes,
328
- )
329
- .replace(
330
- /A topic\n lane's PR is `gh pr create --base [^`]+`[\s\S]*?files tab\.\n/,
331
- prLanes,
332
- );
333
- if (next === text) continue;
334
- fs.writeFileSync(file, next);
335
- twoLaneKinds++;
336
- } catch {}
337
- }
338
- if (twoLaneKinds) {
339
- console.log(
340
- `==> migrate: described independent lanes in ${twoLaneKinds} AGENTS.md`,
341
- );
342
- }
343
-
344
248
  // Default review base/algorithm changed (workspace branch vs origin/<base>,
345
- // containment empty-check, then commit-to-commit). Existing comments and
346
- // viewed flags are keyed only by path+line, so they would silently
347
- // re-anchor. Wipe once — this script runs on every update. db.ts sets the
348
- // flag on a db it creates, which has no such comments to wipe.
249
+ // containment empty-check, then commit-to-commit). Existing comments are
250
+ // keyed only by path+line, so they would silently re-anchor: wipe them
251
+ // once. db.ts sets the flag on a db it creates, which has no such comments
252
+ // to wipe. The viewed flags of that time go with their table, below.
349
253
  {
350
254
  const wr = writer();
351
255
  try {
@@ -353,11 +257,10 @@ if (twoLaneKinds) {
353
257
  const seen = wr.prepare("SELECT 1 FROM settings WHERE key = ?").get(FLAG);
354
258
  if (!seen) {
355
259
  const comments = wr.prepare("DELETE FROM review_comments").run();
356
- const viewed = wr.prepare("DELETE FROM review_viewed").run();
357
260
  wr.prepare("INSERT INTO settings (key, value) VALUES (?, '1')").run(FLAG);
358
- if (comments.changes || viewed.changes) {
261
+ if (comments.changes) {
359
262
  console.log(
360
- `==> migrate: cleared ${comments.changes} review comment(s) and ${viewed.changes} viewed flag(s)`,
263
+ `==> migrate: cleared ${comments.changes} review comment(s)`,
361
264
  );
362
265
  }
363
266
  }
@@ -372,21 +275,11 @@ if (twoLaneKinds) {
372
275
  // section's branch, which the server turns into per-file marks at that
373
276
  // head when it next shows the section (a PR's under `#<number>`, the
374
277
  // only name its section had). The working-tree hashes beside the heads
375
- // name no branch's change and go. So does the table of the flags the
376
- // sweep above cleared, which nothing reads.
278
+ // name no branch's change and go. So does the table of the viewed flags
279
+ // of that time, which nothing reads.
377
280
  {
378
281
  const wr = writer();
379
282
  try {
380
- // Keep in sync with src/server/db.ts: the server running this update
381
- // may predate the table.
382
- wr.exec(`CREATE TABLE IF NOT EXISTS review_marks (
383
- workspace_id TEXT NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
384
- worktree TEXT NOT NULL,
385
- branch TEXT NOT NULL,
386
- path TEXT NOT NULL,
387
- fingerprint TEXT NOT NULL,
388
- PRIMARY KEY (workspace_id, worktree, branch, path)
389
- )`);
390
283
  const insert = wr.prepare(
391
284
  "INSERT OR IGNORE INTO review_marks (workspace_id, worktree, branch, path, fingerprint) VALUES (?, ?, ?, '', ?)",
392
285
  );
@@ -469,13 +362,18 @@ try {
469
362
  "hooks",
470
363
  "reference-transaction",
471
364
  );
365
+ let current = "";
472
366
  try {
473
- if (fs.readFileSync(file, "utf8") === script) continue;
367
+ current = fs.readFileSync(file, "utf8");
474
368
  } catch {}
475
369
  try {
476
- fs.mkdirSync(path.dirname(file), { recursive: true });
477
- fs.writeFileSync(file, script, { mode: 0o755 });
478
- hooked++;
370
+ if (current !== script) {
371
+ fs.mkdirSync(path.dirname(file), { recursive: true });
372
+ fs.writeFileSync(file, script, { mode: 0o700 });
373
+ hooked++;
374
+ }
375
+ // It carries the hook token: this user's alone.
376
+ fs.chmodSync(file, 0o700);
479
377
  } catch {}
480
378
  }
481
379
  }
@@ -657,57 +555,6 @@ try {
657
555
  if (mirrors)
658
556
  console.log(`==> migrate: dropped ${mirrors} mirrored remote branch(es)`);
659
557
 
660
- // Existing AGENTS.md never learn about the `work` CLI read commands. Keep in
661
- // sync with writeAgentsMd.
662
- const WORK_CLI_BULLET =
663
- "- **Ask `work` for facts:** the `work` CLI answers from the same data as\n" +
664
- " the app: `work workspace` (this workspace: repos, base branches, open PRs,\n" +
665
- " sessions, running procs/ports), `work repos`, `work procs`,\n" +
666
- " `work workspaces`, `work doctor` (installed tools / agents / GitHub\n" +
667
- " sign-in), `work usage` (agent plan quotas). Add `--json` for machine\n" +
668
- " output. Prefer these over guessing from the filesystem or calling GitHub.\n";
669
- let cliNoted = 0;
670
- for (const { path: wsPath } of db
671
- .prepare("SELECT path FROM workspaces")
672
- .all()) {
673
- const file = path.join(wsPath, "AGENTS.md");
674
- try {
675
- const text = fs.readFileSync(file, "utf8");
676
- if (text.includes("Ask `work` for facts")) continue;
677
- fs.writeFileSync(file, text.trimEnd() + "\n" + WORK_CLI_BULLET);
678
- cliNoted++;
679
- } catch {}
680
- }
681
- if (cliNoted)
682
- console.log(`==> migrate: pointed ${cliNoted} AGENTS.md at the work CLI`);
683
-
684
- // Existing AGENTS.md never learn that a repo's own agents file is required
685
- // reading. Splice it in after the repo list (ahead of the stash bullet), so
686
- // it sits with the repos it is about. Keep in sync with writeAgentsMd.
687
- const REPO_AGENTS_BULLET =
688
- "- **Repo agents files:** you **MUST** read a repo's `AGENTS.md` (or\n" +
689
- " `CLAUDE.md`) before doing any work in it. It is not loaded for you.\n";
690
- let repoNoted = 0;
691
- for (const { path: wsPath } of db
692
- .prepare("SELECT path FROM workspaces")
693
- .all()) {
694
- const file = path.join(wsPath, "AGENTS.md");
695
- try {
696
- const text = fs.readFileSync(file, "utf8");
697
- const at = text.indexOf("- **No `git stash`:**");
698
- if (at < 0 || text.includes("**Repo agents files:**")) continue;
699
- fs.writeFileSync(
700
- file,
701
- text.slice(0, at) + REPO_AGENTS_BULLET + text.slice(at),
702
- );
703
- repoNoted++;
704
- } catch {}
705
- }
706
- if (repoNoted)
707
- console.log(
708
- `==> migrate: required repo agents files in ${repoNoted} AGENTS.md`,
709
- );
710
-
711
558
  // Per-workspace UI prefs were never swept on delete; they ride every SSR
712
559
  // document via allPrefs(). Prune orphans once — runtime delete handles new ones.
713
560
  {
@@ -822,3 +669,14 @@ if (repoNoted)
822
669
  wr.close();
823
670
  }
824
671
  }
672
+
673
+ // Every sweep has run: the stamp that makes the next run skip them, and
674
+ // that 0.1 reads as the baseline it upgrades from.
675
+ {
676
+ const wr = writer();
677
+ try {
678
+ wr.exec("PRAGMA user_version = 1");
679
+ } finally {
680
+ wr.close();
681
+ }
682
+ }
package/dist/_u9qRCTjI.js DELETED
@@ -1,2 +0,0 @@
1
- import { h as notifySessionsChanged } from "./_DNhDGBkH.js";
2
- export { notifySessionsChanged };
@@ -1 +0,0 @@
1
- import{$input_focusLine as e}from"./_B68mxQgf.js";export{e as _};
@@ -1 +0,0 @@
1
- import"./_CK6p4Zj1.js";import{B as e,C as t,E as n,H as r,K as i,L as a,R as o,S as s,T as c,U as l,_ as u,a as d,b as f,et as p,g as m,i as h,o as g,v as _,w as v,x as y}from"./_Csdgg-p8.js";var b=`<button><!></button>`,x=` D%l`,S=n(1),C=i(`o0`,e=>_(e,`a`)),w=s(5,e=>{m(e,`a`,{type:`submit`,...e.f}),C(e)});p[4]=g;var T=`<dialog></dialog>`,E=t(`G1`,`Done`),D=e=>{d(e.a,`_bI`),S(e.b,E(e)),w(e.b,{class:[`_r`,`_s`]})},O=c(1),k=y(23,e=>O(e,e._._.m),e=>e._._,`G0`),A=e=>{k(e),d(e.a,`_bI`)},j=c(0),M=o(0,0,e=>j(e,e._.k)),N=M,P=a(2,`<form method=dialog><!></form>`,` D%`,A,(e=>`<form method=dialog>${e}</form>`)(b),(e=>` D/${e}&l`)(x),D),F=l(3,e=>P(e,e._.l?0:e._.f?1:2)),I=o(0,1,F),L=e=>{I._(e),z._(e),B._(e),d(e.a,`_bH`)},R=c(1),z=o(0,1,e=>R(e,e._.k)),B=o(0,1,F),V=s(17,e=>h(e.a,`closedby`,e.r?`any`:`none`)),ee=(e,t)=>V(e,t!==!1),H=i(`G4`,e=>{{let t=e.a;e.s?t.open||t.showModal():t.open&&t.close()}}),U=e(18,H),W=l(6,e=>U(e,e.e,e.f)),G=s(4,W),K=s(5,e=>{W(e),I(e)}),q=(e,t)=>d(e.a,[`_bE`,t]),J=l(15,e=>h(e.a,`aria-label`,e.o?e.n:e.n||e.i),2),Y=s(14,e=>{h(e.a,`aria-labelledby`,e.o),J(e)}),X=s(8,J),Z=s(13,J),Q=i(`G3`,e=>{r(e.a,`cancel`,function(t){t.preventDefault(),e.r&&U(e,!1)}),r(e.a,`close`,function(){e.s&&U(e,!1)})}),$=i(`G2`,e=>_(e,`a`)),te=s(16,e=>{u(e,`a`,{...e.q,open:null},{class:1,"aria-labelledby":1,"aria-label":1,closedby:1,"on-cancel":1,"on-close":1},v),$(e)}),ne=a(0,`<!><!><!>`,`b%`,N,`<div><!></div><!><!>`,` D%l%`,L),re=(e,t)=>ne(e,+!t),ie=s(10,e=>{z(e),M(e)}),ae=s(11,e=>{oe(e,e.l?.content),B(e)}),oe=s(12,f(k));export{x as _,q as a,ee as c,X as d,Q as f,b as g,w as h,Z as i,G as l,S as m,ae as n,Y as o,T as p,te as r,re as s,ie as t,K as u};
Binary file
@@ -1 +0,0 @@
1
- import{$input_workspace as e}from"./_y4SZiKqE.js";export{e as _};
Binary file
@@ -1 +0,0 @@
1
- import{Dt as e,Et as t,Fn as n,Pn as r,Un as ee,Vn as te,Xn as ne,_ as re,b as ie,bt as ae,c as oe,d as se,f as ce,g as le,h as i,l as a,m as o,o as s,p as c,s as l,u as ue,v as de,x as fe,y as pe}from"./_CK6p4Zj1.js";import{A as me,B as he,C as u,D as ge,H as d,I as _e,J as ve,K as f,L as p,R as m,S as h,U as g,W as _,a as v,b as y,d as b,f as x,i as S,j as ye,k as C,q as w,x as T,z as E}from"./_Csdgg-p8.js";import{c as be,d as xe,f as Se,l as Ce,m as D,o as we,s as Te,u as Ee}from"./_D1qsYd77.js";import{t as De}from"./_C2U9mANP.js";import{a as Oe,c as ke,d as Ae,f as je,i as Me,l as Ne,n as Pe,o as Fe,p as Ie,r as Le,s as Re,t as ze,u as Be}from"./_4hbCil9D.js";import{a as O,i as k,n as A,o as Ve,r as j,t as M}from"./_BY6ayWBy.js";import{_ as He,a as Ue,c as We,d as Ge,f as Ke,g as qe,h as Je,i as Ye,l as Xe,m as Ze,n as Qe,o as $e,p as et,r as tt,s as nt,t as rt,u as it,v as at,x as ot,y as st}from"./_BSydNGAC.js";import{h as N,m as ct}from"./_DGDsfGXN.js";import{a as lt,i as ut,n as dt,r as ft,t as pt}from"./_Z9CaLBvo.js";async function P(e,t){let n=Math.random().toString(36).slice(2,10),r=Ve(n,t);await r.ready;try{return await ee(`/api/workspaces`,{...e,opId:n})}finally{r.stop()}}var mt=`_gR _dW`,F=`<ul aria-live=polite></ul>`,ht=p(1,`<span><span></span></span>`,` D `,e=>{v(e.a,`_j9`),v(e.b,`_2`)},(e=>`<span>${e}</span>`)(k),(e=>` D/${e}&l`)(O),e=>{v(e.a,`_j9`),j(e.b),A(e.b,14),M(e.b)}),gt=(e,t)=>{v(e.a,[`_j8`,t&&`_j7`]),ht(e,+!t)},I=ge(0,e=>gt(e,e.M===e._.e-1)),_t=I,vt=(e,t)=>w(e.c,t),yt=(e,t)=>vt(e,t[0]);function bt(e){v(e.a,`_j6`)}var xt=me(0,`<li><!><!></li>`,` D%b%`,_t,yt),St=(e,t)=>{Ct(e,t?.length),xt(e,[t])},Ct=h(4,I),wt=`_lh _bF`,L=`_li _bh`,Tt=Ie,Et=(e=>`/${e}&`)(` b`),Dt=e=>{v(e.a,`_lm`),v(e.b,`_ln`),w(e.c,D(e.M))},Ot=T(39,e=>w(e.b,e._._.u),e=>e._._,`B11`),kt=e=>{Ot(e),v(e.a,[L,`_lj`])},At=T(33,e=>St(e.a,e._._.l),e=>e._._,`B20`),jt=e=>{At(e),bt(e.a)},Mt=T(32,e=>w(e.a,e._._._.k),e=>e._._._,`B18`),Nt=u(`B19`,` `,` `,Mt),Pt=e=>{c(e.a),l(e.a,Nt(e)),se(e.a,`inline`),ce(e.a,zn(e)),s(e.a),a(e.a),ue(e.a),i(e.a),oe(e.a,{})},R=g(4,e=>S(e.c,`disabled`,e._.j||!e._.p||!e._.v.trim()),2),Ft=T(31,e=>{w(e.d,e._.j?`Joining…`:`Join workspace`),R(e)},0,`B8`),It=f(`B7`,e=>{d(e.b,`click`,function(){e._.z()}),d(e.c,`click`,function(){e._.a1()})}),Lt=e=>{Ft(e),Rt(e),zt(e),v(e.a,`_N`),v(e.b,`_r`),v(e.c,[`_r`,`_s`]),It(e)},Rt=T(35,R,0,`B9`),zt=T(40,R,0,`B10`),Bt=u(`B29`,`<div></div><button type=button>Cancel</button><button type=button> </button>`,` b b D `,Lt),Vt=T(31,e=>S(e.g,`disabled`,e._._.j),e=>e._._,`B13`),Ht=f(`B12`,e=>x(e,`g`)),Ut=e=>{Vt(e),Wt(e),Kt(e),qt(e),Jt(e),v(e.a,`_ll`),v(e.b,L),v(e.c,`_M`),v(e.e,`_lo`),v(e.f,`_dy`),v(e.g,`_bj`),Ht(e)},Wt=T(36,e=>S(e.g,`placeholder`,e._._.q),e=>e._._,`B14`),Gt=C(0,`<li><span> </span></li>`,` D D `,Dt),Kt=T(37,e=>Gt(e,[e._._.s,e=>e]),e=>e._._,`B15`),qt=T(38,e=>w(e.d,e._._.t),e=>e._._,`B16`),Jt=T(40,e=>b(e,`g`,e._._.v,Bn(e)),e=>e._._,`B17`),Yt=g(6,e=>b(e,`c`,e._.h,Vn(e))),Xt=T(29,Yt,0,`B22`),Zt=f(`B21`,e=>x(e,`c`)),Qt=e=>{Xt(e),$t(e),nn(e),an(e),on(e),ln(e),un(e),dn(e),v(e.a,`_bG`),v(e.b,L),v(e.c,[`_bj`,`_M`,`_lk`]),Zt(e)},$t=T(30,Yt,0,`B23`),en=p(5,F,(e=>`/${e}&`)(` b`),jt),tn=g(7,e=>en(e,e._.j&&e._.m?0:1)),nn=T(31,e=>{S(e.c,`disabled`,e._.j),tn(e)},0,`B24`),rn=p(4,o,(e=>`/${e}&`)(le),Pt),an=T(32,e=>rn(e,+!e._.k),0,`B25`),on=T(34,tn,0,`B26`),sn=p(3,`<p> </p>`,` D `,kt,`<ul></ul><p>Your own lane of <span> </span> in each; PRs target theirs.</p><label><span>Name</span><input></label>`,` b Db D m D b `,Ut),cn=g(8,e=>sn(e,e._.u?0:e._.p?1:2)),ln=T(35,cn,0,`B27`),un=T(39,cn,0,`B28`),dn=T(41,e=>S(e.a,`id`,e._.a2)),fn=u(`B30`,`<h2>Join a workspace</h2><p>Paste an invite copied from Manage.</p><textarea placeholder="{ &#34;name&#34;: …, &#34;branch&#34;: …, &#34;repos&#34;: [&#34;owner/name&#34;, …] }" aria-label="Workspace invite" rows=6 autocomplete=off spellcheck=false autofocus></textarea><!><!><!><!>`,` b b b%b%b%`,Qt),pn=(e,t)=>{kn(e,t?.ok),Pn(e,t?.error)},mn=y(Xt),z=E(7,e=>{pn(e,(()=>{if(!e.h.trim())return{ok:null,error:``};try{return{ok:ot(e.h),error:``}}catch(e){return{ok:null,error:e.message}}})()),mn(e)}),hn=h(27),B=g(26,e=>hn(e,Hn(e)),6),gn=y(Jt,zt),_n=h(21,e=>{B(e),gn(e)}),vn=g(17,e=>_n(e,e.i??e.q??``)),yn=y($t),V=E(8,e=>{vn(e),yn(e)}),bn=y(nn,Vt,Ft),H=E(9,e=>{ke(e.a,!e.j),B(e),bn(e)}),U=E(10,y(an,Mt)),xn=y(At),W=E(11,e=>{Dn(e,e.l?.length),B(e),xn(e)}),Sn=h(25,B),Cn=h(22,e=>{Be(e.a,Wn(e)),Sn(e,Un(e))}),wn=h(13,e=>{Cn(e,Gn(e)),B(e)}),Tn=h(28,e=>Fe(e.a,e.a2));function En(e){je(e.a),Pe(e.a,ne({content:Bt(e)})),ze(e.a,fn(e)),Ae(e.a,`Join a workspace`),Oe(e.a,wt),Me(e.a),Re(e.a),Le(e.a,{}),z(e,``),V(e,null),H(e,!1),U(e,null),W(e,[]),wn(e,{issued:0,applied:0}),Tn(e,_e(e))}var Dn=h(12,y(on)),On=y(ln,Rt),kn=h(15,e=>{jn(e,e.p?.name),Mn(e,e.p?.repos),Nn(e,e.p?.branch),B(e),On(e)}),An=y(Wt),jn=h(16,e=>{vn(e),An(e)}),Mn=h(18,y(Kt)),Nn=h(19,y(qt)),Pn=h(20,y(un,Ot)),G=he(23,e=>Ne(e.a,e.x)),Fn=g(5,e=>G(e,e.d,e.e)),In=h(3,Fn),Ln=h(4,Fn),Rn=h(6,B),zn=e=>function(){U(e._._,null)},Bn=e=>function(t){V(e._._,t)},Vn=e=>function(t){z(e._,t),e._.i?.trim()||V(e._,null)},Hn=e=>async()=>{if(e.j||!e.p||!e.v.trim())return;let t=n(e.n);H(e,!0),U(e,null),W(e,[]);try{let n=await P({name:e.v,repos:e.p.repos.map(e=>({fullName:e})),join:e.p.branch},n=>{r(e.n,t)&&W(e,e.l.concat(n))});if(!r(e.n,t))return;e.z(),e.g?.(n)}catch(n){if(!r(e.n,t))return;H(e,!1),U(e,te(n))}},Un=e=>()=>{e.w(),G(e,!1)},Wn=e=>function(t){t||e.w(),G(e,t)},Gn=e=>()=>{n(e.n),z(e,``),V(e,null),H(e,!1),U(e,null),W(e,[])};_.B6=zn,_.B5=Bn,_.B4=Vn,_.B2=Hn,_.B1=Un,_.B3=Wn,_.B0=Gn;var Kn=((e,t)=>`<div role=region>${e}<div><div><!><label><span>Name</span><input placeholder=my-feature autofocus></label><section><div><h2>Repos</h2><span> </span></div><ul><li>${t}</li><!></ul></section><!><div><button type=button> </button></div></div></div><!></div>`)(xe,nt),qn=((e,t)=>` D/${e}& D D%b D b l D D b D m D D/${t}&l%m%b D D o%l`)(Se,We),Jn=e=>{j(e.a),A(e.a,12),M(e.a)},Yn=m(17,0,e=>St(e.a,e._.a6)),Xn=e=>{Yn._(e),bt(e.a)},Zn=m(11,0,e=>Xe(e.b,e._.r)),Qn=e=>{Zn._(e),v(e.a,`_gS`),et(e.b),Ke(e.b,e._.M),Ge(e.b,Ur(e)),it(e.b,Hr(e))},$n=T(47,e=>w(e.a,e._._.a5),e=>e._._,`H15`),er=u(`H16`,` `,` `,$n),tr=e=>{c(e.a),l(e.a,er(e)),se(e.a,`inline`),ce(e.a,Wr(e)),s(e.a),a(e.a),ue(e.a),i(e.a),oe(e.a,{})},nr=T(46,e=>S(e.a,`disabled`,e._._.a3),e=>e._._,`H18`),rr=f(`H17`,e=>d(e.a,`click`,function(){e._._.ae(e._.M)})),ir=e=>{nr(e),or._(e),rr(e)},ar=p(0,(e=>`${e} fork`)(k),(e=>`/${e}&b`)(O),Jn,`fork`),or=m(5,0,e=>{v(e.a,[N,`_d8`,{_d6:e._.q}]),S(e.a,`title`,e._.q?`${e._.M} will be forked to your account; click to clone as-is instead`:`Fork ${e._.M} to your account and clone the fork`),S(e.a,`aria-pressed`,e._.q?`true`:`false`),ar(e,+!e._.q)}),sr=ge(16,e=>{S(e.g,`disabled`,e._.a3),S(e.j,`disabled`,e._.a3)}),cr=f(`H19`,e=>{d(e.g,`click`,function(){$(e._,e._.ab===e.M?null:e.M)}),d(e.j,`click`,function(){e._.ad(e.M)})}),lr=e=>{sr._(e),dr._(e),v(e.a,`_gQ`),v(e.b,mt),v(e.c,`_d2`),w(e.d,D(e.M)),v(e.e,`_d4`),S(e.g,`title`,`Change base branch for ${e.M}`),S(e.g,`aria-label`,`Change base branch for ${e.M}`),ft(e.h),dt(e.h,12),pt(e.h),v(e.j,[t,`_bs`]),S(e.j,`title`,`Remove ${e.M}`),pe(e.k),de(e.k,12),re(e.k),cr(e)},ur=p(11,(e=>`<div>${e}</div>`)(Ze),(e=>` D/${e}&l`)(` b`),Qn),dr=ye(16,37,`M`,e=>{v(e.g,[N,`_M`,{_d6:e._.ab===e.M}]),ur(e,e._.ab===e.M?0:1)}),fr=p(5,`<button></button>`,` `,ir),pr=h(16,e=>{fr(e,+(e.q===void 0)),or(e)}),mr=h(17,e=>{w(e.i,e.r?`${ve(` `)}${ve(e.r)}`:``),Zn(e)}),hr=(e,t)=>{pr(e,t[0]?.fork),mr(e,t[0]?.baseBranch)},gr=T(46,e=>S(e.a,`disabled`,e._.a3),0,`H13`),_r=f(`H12`,e=>d(e.a,`click`,function(){J(e._,!0)})),vr=u(`H14`,(e=>`<button type=button aria-label="Join from invite" title="Join from invite">${e}<span>Join from invite</span></button>`)(at),(e=>` D/${e}& l`)(st),e=>{gr(e),v(e.a,`_bZ`),He(e.b),qe(e.b,14),Je(e.b),v(e.c,`_b0`),_r(e)}),yr=m(21,0,e=>Rn(e.a,e._.y)),br=e=>{yr._(e),xr._(e),En(e.a),Ln(e.a,Gr(e))},xr=m(21,0,e=>In(e.a,e._.a0)),Sr=h(42),K=g(33,e=>Sr(e,Kr(e)),4),q=g(30,e=>S(e.t,`disabled`,e.a3||!e.z.trim())),Cr=E(25,e=>{b(e,`h`,e.z,qr(e)),K(e),q(e)}),wr=p(21,Tt,(e=>`/${e}&`)(Et),br),J=E(26,e=>{wr(e,+!e.a0),xr(e)}),Tr=h(36,e=>Ue(e.p,Jr(e))),Er=h(40),Dr=h(41),Or=C(16,((e,t)=>`<li><div><span> </span><span><!><button>${e} </button><button>${t}</button></span></div><!></li>`)(ut,ie),((e,t)=>` D D D l D%b D/${e}& l D/${t}&n%l`)(lt,fe),lr,hr),kr=h(39),Ar=g(38,e=>kr(e,Qr(e))),Y=E(27,e=>{tt(e.p,new Set(e.a1.map(e=>e.fullName))),rt(e.p,e.a1.map(e=>({name:e.fullName,baseBranch:e.baseBranch}))),zr(e,e.a1?.length),Tr(e,Yr(e)),Er(e,Xr(e)),Dr(e,Zr(e)),Or(e,[e.a1,`fullName`]),Ar(e),K(e)}),jr=p(17,F,(e=>`/${e}&`)(` b`),Xn),Mr=g(35,e=>jr(e,e.a3&&e.a8?0:1)),Nr=y(gr,nr),X=E(29,e=>{S(e.h,`disabled`,e.a3),Qe(e.p,e.a3),w(e.u,e.a3?`Creating…`:`Create workspace`),K(e),Mr(e),q(e),Nr(e),sr(e)}),Pr=p(4,o,(e=>`/${e}&`)(le),tr),Fr=y($n),Z=E(31,e=>{Pr(e,+!e.a5),Fr(e)}),Q=E(32,e=>{Br(e,e.a6?.length),K(e),Yn(e)}),$=E(37,e=>{Ar(e),dr(e)}),Ir=(e,t)=>{S(e.a,`aria-labelledby`,t),Ce(e.b,t)},Lr=f(`H20`,e=>{x(e,`h`),d(e.h,`keydown`,function(t){t.key!==`Enter`||t.isComposing||(t.preventDefault(),!e.a3&&e.z.trim()&&e.ag())}),d(e.t,`click`,function(){e.ag()})});function Rr(t){v(t.a,`_bW`),Ee(t.b),we(t.b,ne({content:vr(t)})),be(t.b,`New workspace`),Te(t.b),v(t.c,`_b4`),v(t.d,`_b5`),v(t.f,`_gP`),v(t.g,`_dy`),v(t.h,e),v(t.i,`_dl`),v(t.j,`_dm`),v(t.k,`_dy`),v(t.l,De),v(t.n,ct),v(t.o,`_dY`),$e(t.p),Ye(t.p,$r(t)),v(t.s,`_gN`),v(t.t,[ae,`_s`,`_gO`]),Cr(t,``),J(t,!1),Y(t,[]),X(t,!1),Z(t,null),Q(t,[]),$(t,null),Ir(t,_e(t)),Lr(t)}var zr=h(28,e=>w(e.m,e.a2)),Br=h(34,Mr),Vr=h(24,e=>{K(e),yr(e)}),Hr=e=>function(t){$(e._._,null),Z(e._._,t)},Ur=e=>function(t,n){e._._.af(e._.M,n?void 0:t)},Wr=e=>function(){Z(e._,null)},Gr=e=>t=>{J(e._,t)},Kr=e=>async()=>{if(!e.a3){X(e,!0),Z(e,null),Q(e,[]);try{let t=await P({name:e.z,repos:e.a1},t=>{Q(e,e.a6.concat(t))});X(e,!1),e.y?.(t)}catch(t){X(e,!1),Z(e,te(t))}}},qr=e=>t=>{Cr(e,t)},Jr=e=>function(t,n,r){e.aa(t,n,r)},Yr=e=>(t,n,r)=>{t&&!e.a1.some(e=>e.fullName===t)&&Y(e,e.a1.concat({fullName:t,baseBranch:n,fork:r}))},Xr=e=>t=>{Y(e,e.a1.map(e=>e.fullName===t?{...e,fork:!e.fork}:e))},Zr=e=>(t,n)=>{Y(e,e.a1.map(e=>e.fullName===t?{...e,baseBranch:n}:e)),$(e,null)},Qr=e=>t=>{Y(e,e.a1.filter(e=>e.fullName!==t)),e.ab===t&&$(e,null)},$r=e=>function(t){Z(e,t)};_.H10=Hr,_.H9=Ur,_.H5=Wr,_.H11=Gr,_.H4=Kr,_.H6=qr,_.H7=Jr,_.H0=Yr,_.H2=Xr,_.H3=Zr,_.H1=Qr,_.H8=$r;export{Vr as $input_onCreate,Rr as $setup,Kn as $template,qn as $walks};
Binary file
@@ -1 +0,0 @@
1
- import{$setup as e,$template as t,$walks as n}from"./_DDfizRXp.js";var r=[t,n,e];export{r as _};
Binary file
@@ -1 +0,0 @@
1
- import{$input_focusPr as e}from"./_B68mxQgf.js";export{e as _};
Binary file
@@ -1 +0,0 @@
1
- import{$input_goNonce as e}from"./_ClgoCZxV.js";export{e as _};
@@ -1 +0,0 @@
1
- import{$input_rev as e}from"./_B68mxQgf.js";export{e as _};
@@ -1 +0,0 @@
1
- import"./_CK6p4Zj1.js";import{B as e,E as t,H as n,K as r,L as i,R as a,S as o,U as s,a as c,i as l,n as u,q as d,r as f,z as p}from"./_Csdgg-p8.js";var m=3500;function h(e){return setTimeout(e,m)}var g=`<button type=button><!><!></button>`,_=` D%b%l`,v=t(1),y=a(2,0,e=>d(e.b,e._.r)),b=e=>{y._(e),c(e.a,`_bv`)},x=s(21,e=>c(e.a,[`_bu`,e.i,e.s&&[`_t`,e.j]]),2),S=s(22,e=>l(e.a,`title`,e.s?e.k??`${e.l}?`:e.l),2),C=i(2,`<span> </span>`,` D `,b),w=s(20,e=>C(e,e.s&&e.r?0:1)),T=e(18,e=>{x(e),S(e),w(e)}),E=s(7,e=>T(e,e.f,e.g)),D=o(5,E),O=o(6,E),k=r(`h1`,e=>{if(e.x){let t=h(()=>{T(e,!1)});u(e,0).onabort=()=>clearTimeout(t)}}),A=p(23,e=>{f(e,0),k(e)}),j=r(`h0`,e=>n(e.a,`click`,function(t){if(e.s){if(t.detail>1||Date.now()-e.x<400)return;A(e,0),T(e,!1),e.p()}else T(e,!0),A(e,Date.now())}));function M(e){A(e,0),j(e)}var N=o(8,x),P=o(9,x),F=o(10,S),I=o(11,S),L=(e,t)=>l(e.a,`aria-label`,t),R=(e,t)=>l(e.a,`disabled`,t),z=(e,t)=>l(e.a,`aria-busy`,t?`true`:void 0),B=o(17,e=>{w(e),y(e)}),V=o(15);export{B as a,N as c,V as d,I as f,_ as h,P as i,v as l,g as m,D as n,F as o,M as p,O as r,z as s,L as t,R as u};
Binary file