@dylanpiercey/work 0.2.17 → 0.2.18

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 (517) hide show
  1. package/README.md +13 -0
  2. package/bin/cli/README.md +34 -0
  3. package/bin/cli/_progress.mjs +68 -0
  4. package/bin/cli/_repo.mjs +32 -0
  5. package/bin/cli/_target.mjs +49 -0
  6. package/bin/cli/agent.mjs +153 -0
  7. package/bin/cli/branches.mjs +79 -0
  8. package/bin/cli/config.mjs +175 -0
  9. package/bin/cli/host.mjs +142 -0
  10. package/bin/cli/lsp.mjs +117 -0
  11. package/bin/cli/notify.mjs +53 -0
  12. package/bin/cli/open.mjs +37 -0
  13. package/bin/cli/repo.mjs +98 -0
  14. package/bin/cli/session.mjs +167 -0
  15. package/bin/cli/skill.mjs +99 -0
  16. package/bin/cli/stack.mjs +51 -0
  17. package/bin/cli/status.mjs +86 -0
  18. package/bin/cli/topic.mjs +585 -0
  19. package/bin/cli/workspace.mjs +184 -0
  20. package/bin/work.mjs +402 -80
  21. package/dist/_BAJGOEa1.js +168 -0
  22. package/dist/{_Bj-WwfnW.js → _BlLEM8du.js} +76 -46
  23. package/dist/_t9VsALwo.js +2 -0
  24. package/dist/index.mjs +3550 -2616
  25. package/dist/public/assets/{_CXVkXsw1.js → _10dZ1R0m.js} +1 -1
  26. package/dist/public/assets/_10dZ1R0m.js.br +0 -0
  27. package/dist/public/assets/_1EPD0XJG.js +1 -0
  28. package/dist/public/assets/_1jA3fFvQ.js +1 -0
  29. package/dist/public/assets/{_DZanHI_X.js → _4Sj6a8Ya.js} +1 -1
  30. package/dist/public/assets/_4Sj6a8Ya.js.br +0 -0
  31. package/dist/public/assets/{_Quh6tl1u.js → _5tN48iuJ.js} +1 -1
  32. package/dist/public/assets/_5tN48iuJ.js.br +0 -0
  33. package/dist/public/assets/{_CYQ4srZb.js → _8_DzkMgB.js} +1 -1
  34. package/dist/public/assets/_8_DzkMgB.js.br +0 -0
  35. package/dist/public/assets/{_CxgPm_xy.js → _9JG-F3GR.js} +1 -1
  36. package/dist/public/assets/_9JG-F3GR.js.br +0 -0
  37. package/dist/public/assets/_9KUM3Nch.js +2 -0
  38. package/dist/public/assets/_9KUM3Nch.js.br +0 -0
  39. package/dist/public/assets/{_BoEcMQmX.js → _B-H6ABVZ.js} +1 -1
  40. package/dist/public/assets/_B-H6ABVZ.js.br +0 -0
  41. package/dist/public/assets/{_D-0pUYXq.js → _B-iOtMg6.js} +1 -1
  42. package/dist/public/assets/_B-iOtMg6.js.br +0 -0
  43. package/dist/public/assets/{_CJgqLdsx.js → _B0FhzjB2.js} +1 -1
  44. package/dist/public/assets/_B0FhzjB2.js.br +0 -0
  45. package/dist/public/assets/{_C1-Nli75.js → _B26gPL08.js} +1 -1
  46. package/dist/public/assets/_B26gPL08.js.br +0 -0
  47. package/dist/public/assets/{_BA-MNdjL.js → _B2DHvTZR.js} +1 -1
  48. package/dist/public/assets/{_vX9d6g5Y.js → _B3Z1kRpD.js} +1 -1
  49. package/dist/public/assets/_B3Z1kRpD.js.br +0 -0
  50. package/dist/public/assets/{_BfQeZPXW.js → _B3sH8Usv.js} +1 -1
  51. package/dist/public/assets/_B3sH8Usv.js.br +0 -0
  52. package/dist/public/assets/_B42hLH2K.js +1 -0
  53. package/dist/public/assets/{_CY_Z-kV5.js → _B4hn3NNW.js} +1 -1
  54. package/dist/public/assets/_B4hn3NNW.js.br +0 -0
  55. package/dist/public/assets/{_DK-MOyi_.js → _B5NleRC6.js} +1 -1
  56. package/dist/public/assets/_B5NleRC6.js.br +0 -0
  57. package/dist/public/assets/_B5fRGxPQ.js +1 -0
  58. package/dist/public/assets/_B5fRGxPQ.js.br +0 -0
  59. package/dist/public/assets/_B65yR5Ej.js +1 -0
  60. package/dist/public/assets/_B6Sh9WEH.js +1 -0
  61. package/dist/public/assets/{_C7bHTlG1.js → _B6VtVybz.js} +1 -1
  62. package/dist/public/assets/_B6VtVybz.js.br +0 -0
  63. package/dist/public/assets/_B7rJ4n9b.js +1 -0
  64. package/dist/public/assets/_B8M-AD29.js +1 -0
  65. package/dist/public/assets/{_BQEpu56f.js → _B8joFpf1.js} +1 -1
  66. package/dist/public/assets/_B8joFpf1.js.br +0 -0
  67. package/dist/public/assets/_B9nA-Uh1.js +1 -0
  68. package/dist/public/assets/_B9nA-Uh1.js.br +0 -0
  69. package/dist/public/assets/_BA6X_Aj6.js +1 -0
  70. package/dist/public/assets/_BBFJV2Bx.js +1 -0
  71. package/dist/public/assets/_BCW5GFMW.js +1 -0
  72. package/dist/public/assets/{_TynjiShF.js → _BD1SQU0V.js} +1 -1
  73. package/dist/public/assets/_BD1SQU0V.js.br +0 -0
  74. package/dist/public/assets/_BEpd9Y1R.js +1 -0
  75. package/dist/public/assets/_BEy7R4W_.js +1 -0
  76. package/dist/public/assets/_BFGJOHQb.js +1 -0
  77. package/dist/public/assets/{_BiY8chB-.js → _BI45WgW9.js} +1 -1
  78. package/dist/public/assets/_BI45WgW9.js.br +0 -0
  79. package/dist/public/assets/_BIKvQKWe.js +1 -0
  80. package/dist/public/assets/_BIPnL2aI.js +1 -0
  81. package/dist/public/assets/{_Dj5RDA5P.js → _BIUaA4Nl.js} +1 -1
  82. package/dist/public/assets/_BIUaA4Nl.js.br +0 -0
  83. package/dist/public/assets/{_Ch-UiovX.js → _BJpBnuvv.js} +1 -1
  84. package/dist/public/assets/_BJpBnuvv.js.br +0 -0
  85. package/dist/public/assets/{_0KruTMn9.js → _BLeLpnYL.js} +1 -1
  86. package/dist/public/assets/_BLeLpnYL.js.br +0 -0
  87. package/dist/public/assets/_BMb5ANTv.js +1 -0
  88. package/dist/public/assets/{_ChPy2IX4.js → _BSRsPQTe.js} +1 -1
  89. package/dist/public/assets/_BSRsPQTe.js.br +0 -0
  90. package/dist/public/assets/_BVuerXin.js +6 -0
  91. package/dist/public/assets/_BVuerXin.js.br +0 -0
  92. package/dist/public/assets/_BWV8aSlZ.js +1 -0
  93. package/dist/public/assets/{_Q5s6o5H4.js → _BXHggM8M.js} +1 -1
  94. package/dist/public/assets/_BXHggM8M.js.br +0 -0
  95. package/dist/public/assets/{_D8uBvHXU.js → _BXPUZfKX.js} +1 -1
  96. package/dist/public/assets/_BXPUZfKX.js.br +0 -0
  97. package/dist/public/assets/_BYebhygn.js +1 -0
  98. package/dist/public/assets/_BZgCxd-U.js +1 -0
  99. package/dist/public/assets/_BZgCxd-U.js.br +0 -0
  100. package/dist/public/assets/_B_W51WxU.js +1 -0
  101. package/dist/public/assets/_B_jFFNyT.js +1 -0
  102. package/dist/public/assets/_Ba9OQzPV.js +1 -0
  103. package/dist/public/assets/_Ba9OQzPV.js.br +0 -0
  104. package/dist/public/assets/_BayiY7GU.js +1 -0
  105. package/dist/public/assets/_BcDMeS82.js +1 -0
  106. package/dist/public/assets/_BdD1sZp_.js +1 -0
  107. package/dist/public/assets/_Bg_WwlL2.js +1 -0
  108. package/dist/public/assets/_BhHzv4g0.js +1 -0
  109. package/dist/public/assets/_BjEinMEe.js +1 -0
  110. package/dist/public/assets/_BjEinMEe.js.br +0 -0
  111. package/dist/public/assets/{_DPiemRX1.js → _BkGAUdMd.js} +1 -1
  112. package/dist/public/assets/_BkGAUdMd.js.br +0 -0
  113. package/dist/public/assets/{_FwFz43m8.js → _BkHLXMjq.js} +1 -1
  114. package/dist/public/assets/_BkHLXMjq.js.br +0 -0
  115. package/dist/public/assets/_BmSWsZvV.js +1 -0
  116. package/dist/public/assets/{_D_GeNCls.js → _Bn6y2_ex.js} +1 -1
  117. package/dist/public/assets/_Bn6y2_ex.js.br +0 -0
  118. package/dist/public/assets/_Bp2gqUaf.js +1 -0
  119. package/dist/public/assets/_Bs6oYKkD.js +1 -0
  120. package/dist/public/assets/{_CYhJ6ae-.js → _Bs_MPTBZ.js} +1 -1
  121. package/dist/public/assets/_Bs_MPTBZ.js.br +0 -0
  122. package/dist/public/assets/_Bt13j1ev.js +1 -0
  123. package/dist/public/assets/{_D-pUpBL1.js → _Bt4cxzaP.js} +1 -1
  124. package/dist/public/assets/_BwlnYt-t.js +1 -0
  125. package/dist/public/assets/_Bx9aUXTG.js +1 -0
  126. package/dist/public/assets/{_DUdEYxV0.js → _BxKDE6Ct.js} +1 -1
  127. package/dist/public/assets/_BxKDE6Ct.js.br +0 -0
  128. package/dist/public/assets/_BymFDqKj.js +1 -0
  129. package/dist/public/assets/{_i4iteLF8.js → _C-z8Ntse.js} +1 -1
  130. package/dist/public/assets/_C-z8Ntse.js.br +0 -0
  131. package/dist/public/assets/_C0XUbqWe.js +1 -0
  132. package/dist/public/assets/_C1upDwBv.js +1 -0
  133. package/dist/public/assets/_C3f4huqn.js +1 -0
  134. package/dist/public/assets/{_BHyWcuOR.js → _C46o3wQ8.js} +1 -1
  135. package/dist/public/assets/_C46o3wQ8.js.br +0 -0
  136. package/dist/public/assets/_C4_3qKLX.js +1 -0
  137. package/dist/public/assets/_C7tG4xwv.js +1 -0
  138. package/dist/public/assets/_C8LciIOa.js +1 -0
  139. package/dist/public/assets/{_zcAaK79d.js → _C9k00otG.js} +1 -1
  140. package/dist/public/assets/_C9k00otG.js.br +0 -0
  141. package/dist/public/assets/_CBG92pZO.js +1 -0
  142. package/dist/public/assets/_CBfI2lSr.js +1 -0
  143. package/dist/public/assets/{_BPNSknLT.js → _CFKwHn62.js} +1 -1
  144. package/dist/public/assets/_CFKwHn62.js.br +0 -0
  145. package/dist/public/assets/_CHDvRNgn.js +1 -0
  146. package/dist/public/assets/{_DVLNzEkW.js → _CIDjLk1A.js} +1 -1
  147. package/dist/public/assets/_CIDjLk1A.js.br +0 -0
  148. package/dist/public/assets/{_3fvr5bU1.js → _CLV83hY7.js} +1 -1
  149. package/dist/public/assets/_CLV83hY7.js.br +0 -0
  150. package/dist/public/assets/_CO8ZosDU.js +1 -0
  151. package/dist/public/assets/{_D4CkNo0r.js → _CPqT91JX.js} +1 -1
  152. package/dist/public/assets/_CPqT91JX.js.br +0 -0
  153. package/dist/public/assets/_CRZ03hrO.js +1 -0
  154. package/dist/public/assets/_CUKvJRmi.js +1 -0
  155. package/dist/public/assets/_CU_FKEsy.js +1 -0
  156. package/dist/public/assets/{_Do6b-nfX.js → _CUxBk_RE.js} +1 -1
  157. package/dist/public/assets/_CUxBk_RE.js.br +0 -0
  158. package/dist/public/assets/_CW_vyZfo.js +1 -0
  159. package/dist/public/assets/{_BOBYB-cj.js → _CX5VOdNU.js} +1 -1
  160. package/dist/public/assets/_CX5VOdNU.js.br +0 -0
  161. package/dist/public/assets/{_C5c3o9N3.js → _CYcgwayF.js} +1 -1
  162. package/dist/public/assets/_CYcgwayF.js.br +0 -0
  163. package/dist/public/assets/{_BXcMBVCY.js → _CZsqsL_m.js} +1 -1
  164. package/dist/public/assets/_CZsqsL_m.js.br +0 -0
  165. package/dist/public/assets/_C_a8QggH.js +1 -0
  166. package/dist/public/assets/_C_ymFHNL.js +1 -0
  167. package/dist/public/assets/_CaU4irFc.js +1 -0
  168. package/dist/public/assets/_Cb3fSi2R.js +1 -0
  169. package/dist/public/assets/{_DOKecL0e.js → _CcINcTUt.js} +1 -1
  170. package/dist/public/assets/_CcINcTUt.js.br +0 -0
  171. package/dist/public/assets/{_BTh4v5Tr.js → _CcflXOTj.js} +1 -1
  172. package/dist/public/assets/_CcflXOTj.js.br +0 -0
  173. package/dist/public/assets/{_DbLQjG4R.js → _Cfts4mFJ.js} +1 -1
  174. package/dist/public/assets/_Cfts4mFJ.js.br +0 -0
  175. package/dist/public/assets/{_v3HPnNBs.js → _ClHeQc6g.js} +1 -1
  176. package/dist/public/assets/_ClHeQc6g.js.br +0 -0
  177. package/dist/public/assets/_CnSlVcEh.js +1 -0
  178. package/dist/public/assets/_Co71-HWR.js +1 -0
  179. package/dist/public/assets/_CpEeHKyF.js +1 -0
  180. package/dist/public/assets/{_CNUs2Gqk.js → _CpVeIwQ4.js} +1 -1
  181. package/dist/public/assets/_CpVeIwQ4.js.br +0 -0
  182. package/dist/public/assets/{_Cc_GUPR4.js → _Cq4DpL3R.js} +1 -1
  183. package/dist/public/assets/_Cq4DpL3R.js.br +0 -0
  184. package/dist/public/assets/_CvxsvMFa.js +1 -0
  185. package/dist/public/assets/{_DorQTaAa.js → _Cwdn40Q2.js} +1 -1
  186. package/dist/public/assets/_Cwdn40Q2.js.br +0 -0
  187. package/dist/public/assets/_CzN0wC_5.js +16 -0
  188. package/dist/public/assets/_CzN0wC_5.js.br +0 -0
  189. package/dist/public/assets/_D3ieGLoq.js +1 -0
  190. package/dist/public/assets/_D4wF26fk.js +1 -0
  191. package/dist/public/assets/_D9a9nY1Q.js +1 -0
  192. package/dist/public/assets/{_CIWiehYG.js → _DB7_Yora.js} +1 -1
  193. package/dist/public/assets/_DB7_Yora.js.br +0 -0
  194. package/dist/public/assets/{_6klEiBhY.js → _DDWIDZyP.js} +1 -1
  195. package/dist/public/assets/_DDWIDZyP.js.br +0 -0
  196. package/dist/public/assets/{_Cwtn28hL.js → _DG3L8-RO.js} +1 -1
  197. package/dist/public/assets/_DG3L8-RO.js.br +0 -0
  198. package/dist/public/assets/{_BxS3xvmE.js → _DGRgLaG-.js} +1 -1
  199. package/dist/public/assets/_DGRgLaG-.js.br +0 -0
  200. package/dist/public/assets/{_pEUCjhqm.js → _DG_QOtsx.js} +1 -1
  201. package/dist/public/assets/_DG_QOtsx.js.br +0 -0
  202. package/dist/public/assets/{_BwSXxzqy.js → _DHYIZWev.js} +11 -11
  203. package/dist/public/assets/_DHYIZWev.js.br +0 -0
  204. package/dist/public/assets/{_BoTzWlXR.js → _DJwY_zBh.js} +1 -1
  205. package/dist/public/assets/_DJwY_zBh.js.br +0 -0
  206. package/dist/public/assets/{_C9jR1P3s.js → _DKlB-yMq.js} +1 -1
  207. package/dist/public/assets/_DKlB-yMq.js.br +0 -0
  208. package/dist/public/assets/{_DYqx8g78.js → _DMCVOg7x.js} +1 -1
  209. package/dist/public/assets/_DMCVOg7x.js.br +0 -0
  210. package/dist/public/assets/_DMXnrdYy.js +1 -0
  211. package/dist/public/assets/_DMXnrdYy.js.br +0 -0
  212. package/dist/public/assets/{_Di78jTI-.js → _DNrRZhO7.js} +1 -1
  213. package/dist/public/assets/_DNrRZhO7.js.br +0 -0
  214. package/dist/public/assets/_DPdb5l-Z.js +1 -0
  215. package/dist/public/assets/{_Depr5Jps.js → _DRpsUHP5.js} +1 -1
  216. package/dist/public/assets/_DRpsUHP5.js.br +0 -0
  217. package/dist/public/assets/{_BHgwN0LC.js → _DUH5o_iN.js} +1 -1
  218. package/dist/public/assets/_DUH5o_iN.js.br +0 -0
  219. package/dist/public/assets/{_-ycNE92Z.js → _DUmYv8Kf.js} +1 -1
  220. package/dist/public/assets/_DUmYv8Kf.js.br +0 -0
  221. package/dist/public/assets/{_CPbClwhX.js → _DXvsvUmJ.js} +1 -1
  222. package/dist/public/assets/_DXvsvUmJ.js.br +0 -0
  223. package/dist/public/assets/{_DqGOYRpi.js → _DYxQeog7.js} +1 -1
  224. package/dist/public/assets/_DYxQeog7.js.br +0 -0
  225. package/dist/public/assets/_DZIDdpeW.js +1 -0
  226. package/dist/public/assets/{_CCONYsJT.js → _DZqoQxTm.js} +1 -1
  227. package/dist/public/assets/_DZqoQxTm.js.br +0 -0
  228. package/dist/public/assets/_D_4RJnk0.js +2 -0
  229. package/dist/public/assets/_D_4RJnk0.js.br +0 -0
  230. package/dist/public/assets/_DclJXqwW.js +1 -0
  231. package/dist/public/assets/_Debmjz1c.js +1 -0
  232. package/dist/public/assets/_DeiCZCO_.js +1 -0
  233. package/dist/public/assets/{_yp48NYOW.js → _Df-N1G_n.js} +1 -1
  234. package/dist/public/assets/_Df-N1G_n.js.br +0 -0
  235. package/dist/public/assets/_Df_3rEok.js +86 -0
  236. package/dist/public/assets/_Df_3rEok.js.br +0 -0
  237. package/dist/public/assets/{_DO_4_u2Q.js → _Dh9434oc.js} +1 -1
  238. package/dist/public/assets/{_Dhn3A3KJ.js → _DjYscMjF.js} +1 -1
  239. package/dist/public/assets/_DjYscMjF.js.br +0 -0
  240. package/dist/public/assets/{_cyorvuL1.js → _Dku55Ypt.js} +1 -1
  241. package/dist/public/assets/_Dku55Ypt.js.br +0 -0
  242. package/dist/public/assets/_Dm8TVkBX.js +1 -0
  243. package/dist/public/assets/_DnUBW0Qq.js +1 -0
  244. package/dist/public/assets/_DoOPrRIy.js +1 -0
  245. package/dist/public/assets/_DqJvxlYV.js +1 -0
  246. package/dist/public/assets/_Drle66GA.js +1 -0
  247. package/dist/public/assets/_DtrvrAfl.js +1 -0
  248. package/dist/public/assets/{_B5JxE4Sx.js → _DwTaEsY5.js} +1 -1
  249. package/dist/public/assets/_DwTaEsY5.js.br +0 -0
  250. package/dist/public/assets/_Dypj9l-z.js +1 -0
  251. package/dist/public/assets/_DyvwMfCp.js +1 -0
  252. package/dist/public/assets/{_OpbuiQ7h.js → _GK8r-gEu.js} +1 -1
  253. package/dist/public/assets/_GK8r-gEu.js.br +0 -0
  254. package/dist/public/assets/{_BqWlTTxo.js → _HpxvfbM2.js} +1 -1
  255. package/dist/public/assets/_HpxvfbM2.js.br +0 -0
  256. package/dist/public/assets/{_CIrZGxEf.js → _RudCGuBM.js} +1 -1
  257. package/dist/public/assets/_RudCGuBM.js.br +0 -0
  258. package/dist/public/assets/_UbfI3k4y.js +1 -0
  259. package/dist/public/assets/{_A-jpjc8j.js → _WOU8TCkO.js} +1 -1
  260. package/dist/public/assets/_WOU8TCkO.js.br +0 -0
  261. package/dist/public/assets/{_C-lB_p3U.js → _XWw1j8vS.js} +1 -1
  262. package/dist/public/assets/_XWw1j8vS.js.br +0 -0
  263. package/dist/public/assets/{_BCB8LQS3.js → _YDyNvOET.js} +1 -1
  264. package/dist/public/assets/_YDyNvOET.js.br +0 -0
  265. package/dist/public/assets/{_DzlXwaiG.js → _f8D86HXZ.js} +1 -1
  266. package/dist/public/assets/_f8D86HXZ.js.br +0 -0
  267. package/dist/public/assets/{_BUW_V5kN.js → _hbXd8Ogo.js} +1 -1
  268. package/dist/public/assets/_hbXd8Ogo.js.br +0 -0
  269. package/dist/public/assets/{_CrlNjDih.js → _i6YkSowH.js} +1 -1
  270. package/dist/public/assets/_i6YkSowH.js.br +0 -0
  271. package/dist/public/assets/_k1ciacDf.js +1 -0
  272. package/dist/public/assets/_k6nXIP-i.js +1 -0
  273. package/dist/public/assets/_keX09TNx.js +1 -0
  274. package/dist/public/assets/{_Dwe1TUjY.js → _l9xpLTP_.js} +1 -1
  275. package/dist/public/assets/_l9xpLTP_.js.br +0 -0
  276. package/dist/public/assets/_n9Rb26YX.js +1 -0
  277. package/dist/public/assets/{_4_sKOYsy.js → _o8mJsMHw.js} +1 -1
  278. package/dist/public/assets/_o8mJsMHw.js.br +0 -0
  279. package/dist/public/assets/{_Ca2DTddL.js → _oVsjszGq.js} +1 -1
  280. package/dist/public/assets/_oVsjszGq.js.br +0 -0
  281. package/dist/public/assets/_pM8W420Q.js +1 -0
  282. package/dist/public/assets/{_C449plW0.js → _rv9KtZHz.js} +1 -1
  283. package/dist/public/assets/_rv9KtZHz.js.br +0 -0
  284. package/dist/public/assets/{_B19mS3yM.js → _sSKEak2x.js} +1 -1
  285. package/dist/public/assets/_sSKEak2x.js.br +0 -0
  286. package/dist/public/assets/_tJgkkxOD.js +1 -0
  287. package/dist/public/assets/_tJgkkxOD.js.br +0 -0
  288. package/dist/public/assets/_uP3LGOtV.js +1 -0
  289. package/dist/public/assets/{_BT7DMail.js → _vG7bXn-C.js} +1 -1
  290. package/dist/public/assets/_vG7bXn-C.js.br +0 -0
  291. package/dist/public/assets/{_BTWfPOi-.js → _vHqiFYsh.js} +1 -1
  292. package/dist/public/assets/_vHqiFYsh.js.br +0 -0
  293. package/dist/public/assets/_vXJ7nP0d.js +1 -0
  294. package/dist/public/assets/{_Dks8YY2K.js → _w-MAJku6.js} +1 -1
  295. package/dist/public/assets/_wvhU__5f.js +1 -0
  296. package/dist/public/assets/_xFMpRp_e.js +1 -0
  297. package/dist/public/assets/_yXimF5vw.js +1 -0
  298. package/dist/public/assets/files-view-BennlUmP.js +2 -0
  299. package/dist/public/assets/manage-workspace-CaESLJdc.js +2 -0
  300. package/dist/public/assets/new-BNH4m99d.js +1 -0
  301. package/dist/public/assets/new-workspace-CwiZjHNn.js +2 -0
  302. package/dist/public/assets/review-view-BdbMyVt7.js +2 -0
  303. package/dist/public/assets/settings-BNH4m99d.js +1 -0
  304. package/dist/public/assets/settings-page-CU3aC70Q.js +2 -0
  305. package/dist/public/assets/styles-ctr-Sxsj.css +1 -0
  306. package/dist/public/assets/styles-ctr-Sxsj.css.br +0 -0
  307. package/dist/public/assets/w-BNH4m99d.js +1 -0
  308. package/dist/public/assets/w._-BNH4m99d.js +1 -0
  309. package/dist/public/assets/w._-CLYxMMR4.js +1 -0
  310. package/dist/public/assets/w._-_w8eUYMy.js +1 -0
  311. package/dist/public/sw.js +11 -4
  312. package/dist/public/sw.js.br +0 -0
  313. package/lib/ports/url.d.mts +20 -0
  314. package/lib/ports/url.mjs +80 -0
  315. package/package.json +1 -1
  316. package/dist/_CLoLdV87.js +0 -2
  317. package/dist/_DPpY3UqO.js +0 -167
  318. package/dist/public/assets/_-ycNE92Z.js.br +0 -0
  319. package/dist/public/assets/_0KruTMn9.js.br +0 -0
  320. package/dist/public/assets/_0NH5yJMx.js +0 -1
  321. package/dist/public/assets/_1CAp-NbR.js +0 -1
  322. package/dist/public/assets/_3fvr5bU1.js.br +0 -0
  323. package/dist/public/assets/_4Dkmi0BI.js +0 -1
  324. package/dist/public/assets/_4_sKOYsy.js.br +0 -0
  325. package/dist/public/assets/_6klEiBhY.js.br +0 -0
  326. package/dist/public/assets/_7_64OpLh.js +0 -1
  327. package/dist/public/assets/_7p-zxUs0.js +0 -1
  328. package/dist/public/assets/_8RAv3gFP.js +0 -1
  329. package/dist/public/assets/_9PDxaMA9.js +0 -1
  330. package/dist/public/assets/_9PDxaMA9.js.br +0 -0
  331. package/dist/public/assets/_9mbDrbe7.js +0 -1
  332. package/dist/public/assets/_A-jpjc8j.js.br +0 -0
  333. package/dist/public/assets/_B0JwTeu6.js +0 -1
  334. package/dist/public/assets/_B19mS3yM.js.br +0 -0
  335. package/dist/public/assets/_B1Sfrnda.js +0 -1
  336. package/dist/public/assets/_B3i0wS_I.js +0 -1
  337. package/dist/public/assets/_B5JxE4Sx.js.br +0 -0
  338. package/dist/public/assets/_B9RLcC8I.js +0 -1
  339. package/dist/public/assets/_BCB8LQS3.js.br +0 -0
  340. package/dist/public/assets/_BE7UYyYb.js +0 -1
  341. package/dist/public/assets/_BHgwN0LC.js.br +0 -0
  342. package/dist/public/assets/_BHyWcuOR.js.br +0 -0
  343. package/dist/public/assets/_BIpUDgQH.js +0 -16
  344. package/dist/public/assets/_BIpUDgQH.js.br +0 -0
  345. package/dist/public/assets/_BMlgaRlM.js +0 -1
  346. package/dist/public/assets/_BOBYB-cj.js.br +0 -0
  347. package/dist/public/assets/_BPNSknLT.js.br +0 -0
  348. package/dist/public/assets/_BQEpu56f.js.br +0 -0
  349. package/dist/public/assets/_BT7DMail.js.br +0 -0
  350. package/dist/public/assets/_BTJHQNIz.js +0 -1
  351. package/dist/public/assets/_BTWfPOi-.js.br +0 -0
  352. package/dist/public/assets/_BTh4v5Tr.js.br +0 -0
  353. package/dist/public/assets/_BUW_V5kN.js.br +0 -0
  354. package/dist/public/assets/_BXcMBVCY.js.br +0 -0
  355. package/dist/public/assets/_B_MtJKnj.js +0 -1
  356. package/dist/public/assets/_Bay3D1io.js +0 -1
  357. package/dist/public/assets/_BfQeZPXW.js.br +0 -0
  358. package/dist/public/assets/_BgKjJWz_.js +0 -1
  359. package/dist/public/assets/_BiY8chB-.js.br +0 -0
  360. package/dist/public/assets/_Bk5THQZb.js +0 -1
  361. package/dist/public/assets/_BmeQRnXS.js +0 -1
  362. package/dist/public/assets/_BoEcMQmX.js.br +0 -0
  363. package/dist/public/assets/_BoTzWlXR.js.br +0 -0
  364. package/dist/public/assets/_BqWlTTxo.js.br +0 -0
  365. package/dist/public/assets/_BuMTHEPk.js +0 -1
  366. package/dist/public/assets/_BuMTHEPk.js.br +0 -0
  367. package/dist/public/assets/_BubhcEjq.js +0 -1
  368. package/dist/public/assets/_BwSXxzqy.js.br +0 -0
  369. package/dist/public/assets/_BxS3xvmE.js.br +0 -0
  370. package/dist/public/assets/_ByvA6zJz.js +0 -1
  371. package/dist/public/assets/_Bz2Sejcy.js +0 -1
  372. package/dist/public/assets/_C-lB_p3U.js.br +0 -0
  373. package/dist/public/assets/_C1-Nli75.js.br +0 -0
  374. package/dist/public/assets/_C3mw4T_r.js +0 -1
  375. package/dist/public/assets/_C449plW0.js.br +0 -0
  376. package/dist/public/assets/_C5c3o9N3.js.br +0 -0
  377. package/dist/public/assets/_C7bHTlG1.js.br +0 -0
  378. package/dist/public/assets/_C8mt6nRC.js +0 -1
  379. package/dist/public/assets/_C9jR1P3s.js.br +0 -0
  380. package/dist/public/assets/_CCONYsJT.js.br +0 -0
  381. package/dist/public/assets/_CCZAROAW.js +0 -1
  382. package/dist/public/assets/_CCZAROAW.js.br +0 -0
  383. package/dist/public/assets/_CG3s9pE5.js +0 -1
  384. package/dist/public/assets/_CIWiehYG.js.br +0 -0
  385. package/dist/public/assets/_CIrZGxEf.js.br +0 -0
  386. package/dist/public/assets/_CIurl9jC.js +0 -1
  387. package/dist/public/assets/_CJgqLdsx.js.br +0 -0
  388. package/dist/public/assets/_CMbVHIgP.js +0 -1
  389. package/dist/public/assets/_CNUs2Gqk.js.br +0 -0
  390. package/dist/public/assets/_CPbClwhX.js.br +0 -0
  391. package/dist/public/assets/_CQUlxerJ.js +0 -1
  392. package/dist/public/assets/_CTDYlYHi.js +0 -1
  393. package/dist/public/assets/_CXVkXsw1.js.br +0 -0
  394. package/dist/public/assets/_CY5EBxZ6.js +0 -1
  395. package/dist/public/assets/_CYQ4srZb.js.br +0 -0
  396. package/dist/public/assets/_CY_Z-kV5.js.br +0 -0
  397. package/dist/public/assets/_CYhJ6ae-.js.br +0 -0
  398. package/dist/public/assets/_CZbVK94d.js +0 -1
  399. package/dist/public/assets/_C_A97h_2.js +0 -1
  400. package/dist/public/assets/_C_A97h_2.js.br +0 -0
  401. package/dist/public/assets/_C_Y5Dwzy.js +0 -1
  402. package/dist/public/assets/_Ca2DTddL.js.br +0 -0
  403. package/dist/public/assets/_Cc2nu3_5.js +0 -1
  404. package/dist/public/assets/_Cc_GUPR4.js.br +0 -0
  405. package/dist/public/assets/_CgFUs0bE.js +0 -1
  406. package/dist/public/assets/_Ch-UiovX.js.br +0 -0
  407. package/dist/public/assets/_ChDp0-FJ.js +0 -1
  408. package/dist/public/assets/_ChPy2IX4.js.br +0 -0
  409. package/dist/public/assets/_Chsgo2e1.js +0 -1
  410. package/dist/public/assets/_CjECwrWB.js +0 -1
  411. package/dist/public/assets/_CmW74dH7.js +0 -1
  412. package/dist/public/assets/_CmhAUlqu.js +0 -1
  413. package/dist/public/assets/_CrlNjDih.js.br +0 -0
  414. package/dist/public/assets/_CvzTEaQq.js +0 -1
  415. package/dist/public/assets/_Cw-dmwPJ.js +0 -86
  416. package/dist/public/assets/_Cw-dmwPJ.js.br +0 -0
  417. package/dist/public/assets/_Cwtn28hL.js.br +0 -0
  418. package/dist/public/assets/_CxHuLHdz.js +0 -1
  419. package/dist/public/assets/_CxgPm_xy.js.br +0 -0
  420. package/dist/public/assets/_D-0pUYXq.js.br +0 -0
  421. package/dist/public/assets/_D-rV-z_T.js +0 -1
  422. package/dist/public/assets/_D4CkNo0r.js.br +0 -0
  423. package/dist/public/assets/_D4fP_viq.js +0 -1
  424. package/dist/public/assets/_D570Sd6p.js +0 -1
  425. package/dist/public/assets/_D6Gudpw8.js +0 -1
  426. package/dist/public/assets/_D8ZTP1ck.js +0 -1
  427. package/dist/public/assets/_D8uBvHXU.js.br +0 -0
  428. package/dist/public/assets/_D8xGEGlm.js +0 -1
  429. package/dist/public/assets/_D9GZHKow.js +0 -1
  430. package/dist/public/assets/_DE0eZjad.js +0 -1
  431. package/dist/public/assets/_DElIEG9n.js +0 -1
  432. package/dist/public/assets/_DF0n9xzn.js +0 -2
  433. package/dist/public/assets/_DF0n9xzn.js.br +0 -0
  434. package/dist/public/assets/_DFX_tXcw.js +0 -1
  435. package/dist/public/assets/_DJ2gfhU_.js +0 -1
  436. package/dist/public/assets/_DK-MOyi_.js.br +0 -0
  437. package/dist/public/assets/_DOKecL0e.js.br +0 -0
  438. package/dist/public/assets/_DPXXIOLX.js +0 -1
  439. package/dist/public/assets/_DPb3t58B.js +0 -1
  440. package/dist/public/assets/_DPiemRX1.js.br +0 -0
  441. package/dist/public/assets/_DPpbgqBC.js +0 -1
  442. package/dist/public/assets/_DRVSLjxA.js +0 -1
  443. package/dist/public/assets/_DTHWnu6M.js +0 -1
  444. package/dist/public/assets/_DUdEYxV0.js.br +0 -0
  445. package/dist/public/assets/_DVLNzEkW.js.br +0 -0
  446. package/dist/public/assets/_DWpx2Uof.js +0 -1
  447. package/dist/public/assets/_DXYEUAmC.js +0 -1
  448. package/dist/public/assets/_DYTVambU.js +0 -1
  449. package/dist/public/assets/_DYqx8g78.js.br +0 -0
  450. package/dist/public/assets/_DZanHI_X.js.br +0 -0
  451. package/dist/public/assets/_D_GeNCls.js.br +0 -0
  452. package/dist/public/assets/_DbLQjG4R.js.br +0 -0
  453. package/dist/public/assets/_DbmusecK.js +0 -1
  454. package/dist/public/assets/_DbmusecK.js.br +0 -0
  455. package/dist/public/assets/_DemN-D5U.js +0 -1
  456. package/dist/public/assets/_Depr5Jps.js.br +0 -0
  457. package/dist/public/assets/_DhJfHI4f.js +0 -1
  458. package/dist/public/assets/_Dhn3A3KJ.js.br +0 -0
  459. package/dist/public/assets/_Di78jTI-.js.br +0 -0
  460. package/dist/public/assets/_DiBTtPlu.js +0 -1
  461. package/dist/public/assets/_Dj5RDA5P.js.br +0 -0
  462. package/dist/public/assets/_DkjKARSS.js +0 -1
  463. package/dist/public/assets/_Do6b-nfX.js.br +0 -0
  464. package/dist/public/assets/_DorQTaAa.js.br +0 -0
  465. package/dist/public/assets/_DpxVmwni.js +0 -1
  466. package/dist/public/assets/_DqGOYRpi.js.br +0 -0
  467. package/dist/public/assets/_DsbxQ1i8.js +0 -1
  468. package/dist/public/assets/_Dt_P7K1V.js +0 -6
  469. package/dist/public/assets/_Dt_P7K1V.js.br +0 -0
  470. package/dist/public/assets/_Dwe1TUjY.js.br +0 -0
  471. package/dist/public/assets/_DyROQKS8.js +0 -1
  472. package/dist/public/assets/_DzEUPsq0.js +0 -1
  473. package/dist/public/assets/_DzlXwaiG.js.br +0 -0
  474. package/dist/public/assets/_FwFz43m8.js.br +0 -0
  475. package/dist/public/assets/_OpbuiQ7h.js.br +0 -0
  476. package/dist/public/assets/_Q5s6o5H4.js.br +0 -0
  477. package/dist/public/assets/_Quh6tl1u.js.br +0 -0
  478. package/dist/public/assets/_Rh99sjDe.js +0 -1
  479. package/dist/public/assets/_SEE1XtID.js +0 -1
  480. package/dist/public/assets/_SZjr1kid.js +0 -1
  481. package/dist/public/assets/_T7rMqM5P.js +0 -1
  482. package/dist/public/assets/_TynjiShF.js.br +0 -0
  483. package/dist/public/assets/_UENAEFcY.js +0 -1
  484. package/dist/public/assets/_UwTOb1gP.js +0 -1
  485. package/dist/public/assets/_WrxtT1Ok.js +0 -1
  486. package/dist/public/assets/_WrxtT1Ok.js.br +0 -0
  487. package/dist/public/assets/_bcvRRCkB.js +0 -1
  488. package/dist/public/assets/_cyorvuL1.js.br +0 -0
  489. package/dist/public/assets/_gi--JOq8.js +0 -1
  490. package/dist/public/assets/_i4iteLF8.js.br +0 -0
  491. package/dist/public/assets/_i7vMugBN.js +0 -1
  492. package/dist/public/assets/_j7jPRUEQ.js +0 -2
  493. package/dist/public/assets/_j7jPRUEQ.js.br +0 -0
  494. package/dist/public/assets/_pEUCjhqm.js.br +0 -0
  495. package/dist/public/assets/_qkJuNTl-.js +0 -1
  496. package/dist/public/assets/_uuZJDLIV.js +0 -1
  497. package/dist/public/assets/_v3HPnNBs.js.br +0 -0
  498. package/dist/public/assets/_vX9d6g5Y.js.br +0 -0
  499. package/dist/public/assets/_vhysM7gk.js +0 -1
  500. package/dist/public/assets/_vjwPQHk_.js +0 -1
  501. package/dist/public/assets/_yp48NYOW.js.br +0 -0
  502. package/dist/public/assets/_zcAaK79d.js.br +0 -0
  503. package/dist/public/assets/_zwPrEKxN.js +0 -1
  504. package/dist/public/assets/_zwPrEKxN.js.br +0 -0
  505. package/dist/public/assets/files-view-CzRAql9-.js +0 -2
  506. package/dist/public/assets/manage-workspace-C-c1R4pP.js +0 -2
  507. package/dist/public/assets/new-DWfNwssk.js +0 -1
  508. package/dist/public/assets/new-workspace-B8XAfkIH.js +0 -2
  509. package/dist/public/assets/review-view-DivHZNBf.js +0 -2
  510. package/dist/public/assets/settings-DWfNwssk.js +0 -1
  511. package/dist/public/assets/settings-page-BN9Hj1ui.js +0 -2
  512. package/dist/public/assets/styles-NmwxQh5L.css +0 -1
  513. package/dist/public/assets/styles-NmwxQh5L.css.br +0 -0
  514. package/dist/public/assets/w-DWfNwssk.js +0 -1
  515. package/dist/public/assets/w._-C9dj1aZ0.js +0 -1
  516. package/dist/public/assets/w._-D7_D4HlM.js +0 -1
  517. package/dist/public/assets/w._-DWfNwssk.js +0 -1
@@ -0,0 +1,99 @@
1
+ // `work skill`: the machine's skills — what every agent CLI here can see —
2
+ // as Settings → Skills lists, adds, updates and removes them.
3
+ import { follow } from "./_progress.mjs";
4
+
5
+ function printList(snap) {
6
+ const rows = snap.global || [];
7
+ if (!snap.available)
8
+ console.log(
9
+ "the skills CLI is not installed, so skills can be listed but not added (work setup installs it)",
10
+ );
11
+ if (!rows.length) return console.log("no skills installed");
12
+ const w = Math.max(4, ...rows.map((s) => s.id.length));
13
+ for (const s of rows) {
14
+ const from = s.source ? ` ${s.source}` : "";
15
+ const broken = s.broken ? " (broken link)" : "";
16
+ console.log(`${s.id.padEnd(w)}${from}${broken}`);
17
+ if (s.description) console.log(`${"".padEnd(w)} ${s.description}`);
18
+ }
19
+ }
20
+
21
+ /** One skill action through the route Settings uses, its progress (the
22
+ * skills CLI's own output) on stderr; the machine's skills after it. */
23
+ function act(ctx, body, op) {
24
+ return follow(ctx, op, () => ctx.api.post("/api/skills", body));
25
+ }
26
+
27
+ /** @type {Array<{name: string, summary: string, help: string, run: (ctx: any) => Promise<void>}>} */
28
+ export const commands = [
29
+ {
30
+ name: "skill",
31
+ summary: "machine skills: list | add | rm | update",
32
+ help: `work skill [list]
33
+ The skills every agent CLI on this machine can see (Settings → Skills):
34
+ each one's id, where it came from, and what it does.
35
+ work skill add <source> [--skill <name>]
36
+ Add skills from a source the skills CLI understands (owner/repo, a git
37
+ URL, a path): every skill it ships, or the one --skill names.
38
+ work skill rm <id>
39
+ Remove an installed skill.
40
+ work skill update [<id>]
41
+ Update one skill from its source, or every skill that has one.`,
42
+ async run(ctx) {
43
+ const [verb = "list", arg] = ctx.parse(["--skill"]);
44
+ if (verb === "list") {
45
+ const snap = await ctx.api.get("/api/skills");
46
+ return ctx.out(snap.global || [], () => printList(snap));
47
+ }
48
+ if (verb === "add") {
49
+ if (!arg) ctx.die("name the source: work skill add <owner/repo|url>");
50
+ const skill = ctx.args.includes("--skill")
51
+ ? ctx.flag("--skill")
52
+ : undefined;
53
+ const snap = await act(
54
+ ctx,
55
+ { action: "add", source: arg, skill },
56
+ `skills:${skill ? `${arg}#${skill}` : arg}`,
57
+ );
58
+ return ctx.out(snap.global || [], () =>
59
+ console.log(
60
+ `added ${skill ?? "the skills of"} ${skill ? "from " : ""}${arg}`,
61
+ ),
62
+ );
63
+ }
64
+ if (verb === "rm" || verb === "remove") {
65
+ if (!arg) ctx.die("name the skill: work skill rm <id>");
66
+ const snap = await act(
67
+ ctx,
68
+ { action: "remove", id: arg },
69
+ `skills:${arg}`,
70
+ );
71
+ return ctx.out(snap.global || [], () => console.log(`removed ${arg}`));
72
+ }
73
+ if (verb === "update") {
74
+ let ids = arg ? [arg] : [];
75
+ if (!arg) {
76
+ const snap = await ctx.api.get("/api/skills");
77
+ ids = (snap.global || [])
78
+ .filter((s) => s.source && s.source !== "local")
79
+ .map((s) => s.id);
80
+ if (!ids.length) {
81
+ ctx.out([], () =>
82
+ console.log("no skill has a source to update from"),
83
+ );
84
+ return;
85
+ }
86
+ }
87
+ let snap = null;
88
+ for (const id of ids) {
89
+ process.stderr.write(` updating ${id}\n`);
90
+ snap = await act(ctx, { action: "update", id }, `skills:${id}`);
91
+ }
92
+ return ctx.out(snap?.global || [], () =>
93
+ console.log(`updated ${ids.join(", ")}`),
94
+ );
95
+ }
96
+ ctx.die(`no skill verb ${verb} (list, add, rm, update)`);
97
+ },
98
+ },
99
+ ];
@@ -0,0 +1,51 @@
1
+ // `work stack`: how to stack branches here, with this workspace's branch
2
+ // in place. Kept out of the workspace AGENTS.md, which every session reads
3
+ // whole: stacking is for when the user asks, and the recipe was a quarter
4
+ // of that file.
5
+
6
+ function recipe(branch) {
7
+ return `Stacking ${branch}
8
+
9
+ Stack only when the user asks, or when a change of several hundred lines
10
+ splits into parts each worth merging alone; never a layer per commit.
11
+
12
+ - The working branch (${branch}) stays the top; cut layers below it, bottom
13
+ first, as ${branch}-<layer>:
14
+ gh stack init --base <base> <layers…> ${branch}
15
+ (after \`gh stack unstack --local\` if a stack exists).
16
+ - Never check a layer out. Edit one by \`git commit --fixup <sha>\` on the
17
+ top, then:
18
+ GIT_SEQUENCE_EDITOR=: git rebase -i --autosquash --update-refs origin/<base>
19
+ - \`gh stack sync\` / \`gh stack rebase\` switch branches: run them in topic
20
+ worktrees only. Leave the local <base> gh-stack keeps as trunk.
21
+ - Merge a layer with \`gh stack merge <pr> --squash\` or on the web
22
+ (\`gh pr merge\` refuses it), then, on the top:
23
+ old=$(git rev-parse origin/${branch})
24
+ git fetch
25
+ git branch -f <layer> origin/<layer> # for each remaining layer
26
+ git branch -D <merged-layer>
27
+ git rebase --onto origin/${branch} $old
28
+ - Once the top merges: \`gh stack unstack --local\`.
29
+ - Link a layer for review as [<layer>](/w/<id>/review?section=<repo>@<layer>);
30
+ \`work branches\` lists every layer with its link.`;
31
+ }
32
+
33
+ export const commands = [
34
+ {
35
+ name: "stack",
36
+ summary: "how to stack branches in this workspace (prints the recipe)",
37
+ help: `work stack [id|name]
38
+ Prints how to stack branches with gh-stack here, with the workspace's
39
+ branch filled in: when to, cutting layers, editing one without checking
40
+ it out, merging a layer and rebasing the rest.`,
41
+ async run(ctx) {
42
+ let branch = "<workspace-branch>";
43
+ try {
44
+ if (ctx.positional[0] || process.env.WORK_SESSION_ID) {
45
+ branch = (await ctx.resolveWorkspace(ctx.positional[0])).ws.branch;
46
+ }
47
+ } catch {}
48
+ ctx.out({ branch, recipe: recipe(branch) }, (d) => console.log(d.recipe));
49
+ },
50
+ },
51
+ ];
@@ -0,0 +1,86 @@
1
+ // `work status`: the machine and the service in one look — how the server
2
+ // runs (its own config, not the unit file's), the agents, language servers
3
+ // and skills, what `work doctor` would say is missing, and the settings
4
+ // changed from their defaults. One request each, side by side.
5
+ import { shown } from "./config.mjs";
6
+
7
+ export const commands = [
8
+ {
9
+ name: "status",
10
+ summary: "the service, agents, languages, skills and changed settings",
11
+ help: `work status [--json]
12
+ one snapshot of this machine's work: version, address and names it
13
+ answers to, direct connections, data and work root, agents (installed,
14
+ switched off, the default), language servers, skills, what is missing
15
+ (work doctor), and the settings changed from their defaults`,
16
+ async run(ctx) {
17
+ const [server, settings, agents, lsp, skills, setup] = await Promise.all([
18
+ ctx.api.get("/api/config"),
19
+ ctx.api.get("/api/settings/values"),
20
+ ctx.api.get("/api/settings"),
21
+ ctx.api.get("/api/lsp"),
22
+ ctx.api.get("/api/skills"),
23
+ ctx.api.get("/api/setup"),
24
+ ]);
25
+ const snapshot = {
26
+ version: server.version,
27
+ server,
28
+ agents: {
29
+ default: agents.preferredAgent,
30
+ enabled: agents.agents,
31
+ disabled: agents.disabledAgents,
32
+ installable: (setup.agents || [])
33
+ .filter((a) => !a.installed)
34
+ .map((a) => a.id),
35
+ },
36
+ languages: {
37
+ on: lsp.on,
38
+ installed: lsp.servers.filter((s) => s.installed).map((s) => s.id),
39
+ off: lsp.servers.filter((s) => !s.enabled).map((s) => s.id),
40
+ },
41
+ skills: [...(skills.global || [])].map((s) => s.id ?? s.name ?? s),
42
+ doctor: { ready: setup.ready, missing: setup.missing },
43
+ settings: settings.filter((e) => !e.isDefault),
44
+ };
45
+ ctx.out(snapshot, (s) => {
46
+ const sv = s.server;
47
+ const list = (xs) => (xs.length ? xs.join(", ") : "none");
48
+ const rows = [
49
+ ["work", `${s.version} on ${sv.listen}:${sv.port}`],
50
+ [
51
+ "names",
52
+ sv.allowedHosts.length
53
+ ? `${sv.allowedHosts.join(", ")} (ports as ${sv.portHosts === "dash" ? "<port>-<name>" : "<port>.<name>"})`
54
+ : "this machine's own",
55
+ ],
56
+ ["proxies", list(sv.trustedProxies)],
57
+ ["direct", sv.rtc.on ? `on, UDP ${sv.rtc.port}` : "off"],
58
+ ["root", sv.workRoot],
59
+ ["data", sv.dataDir],
60
+ [
61
+ "agents",
62
+ `${list(s.agents.enabled)}; default ${s.agents.default}${s.agents.disabled.length ? `; off: ${s.agents.disabled.join(", ")}` : ""}`,
63
+ ],
64
+ [
65
+ "languages",
66
+ `${s.languages.on ? "on" : "off"}; installed: ${list(s.languages.installed)}${s.languages.off.length ? `; off: ${s.languages.off.join(", ")}` : ""}`,
67
+ ],
68
+ ["skills", list(s.skills)],
69
+ [
70
+ "machine",
71
+ s.doctor.ready
72
+ ? "ready"
73
+ : `not ready: ${list(s.doctor.missing)} (work doctor)`,
74
+ ],
75
+ [
76
+ "settings",
77
+ s.settings.length
78
+ ? s.settings.map((e) => `${e.key}=${shown(e.value)}`).join(", ")
79
+ : "all at their defaults (work config list)",
80
+ ],
81
+ ];
82
+ for (const [k, v] of rows) console.log(`${ctx.pad(k, 10)} ${v}`);
83
+ });
84
+ },
85
+ },
86
+ ];