@dylanpiercey/work 0.2.28 → 0.2.30

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 (499) hide show
  1. package/bin/cli/session.mjs +65 -20
  2. package/dist/_CeTAKoPH.js +2 -0
  3. package/dist/{_DQbVrULO.js → _Chg81Eud.js} +102 -15
  4. package/dist/{_T4JTrl4v.js → _CopRMeCL.js} +110 -110
  5. package/dist/{_cvaVxDgR.js → _DAiB3S3K.js} +110 -20
  6. package/dist/_ENzyVrzA.js +2 -0
  7. package/dist/index.mjs +906 -888
  8. package/dist/public/assets/_-T13RFCW.js +1 -0
  9. package/dist/public/assets/_0IFpvOwL.js +1 -0
  10. package/dist/public/assets/{_Bnw8FrLu.js → _1nWtmQtG.js} +1 -1
  11. package/dist/public/assets/_1nWtmQtG.js.br +0 -0
  12. package/dist/public/assets/_1s7Uwkzr.js +1 -0
  13. package/dist/public/assets/{_kPncZjOq.js → _2jVdg7lL.js} +1 -1
  14. package/dist/public/assets/_2jVdg7lL.js.br +0 -0
  15. package/dist/public/assets/{_DeB4j_R-.js → _3FXqoPOT.js} +1 -1
  16. package/dist/public/assets/_3FXqoPOT.js.br +0 -0
  17. package/dist/public/assets/_3osxgZP2.js +1 -0
  18. package/dist/public/assets/_6UGLDULL.js +1 -0
  19. package/dist/public/assets/_836nmy9d.js +1 -0
  20. package/dist/public/assets/{_B-48shG8.js → _83I7lzje.js} +1 -1
  21. package/dist/public/assets/{_DHDlo4H6.js → _AYlO5j1O.js} +1 -1
  22. package/dist/public/assets/_AYlO5j1O.js.br +0 -0
  23. package/dist/public/assets/_B2bRy6Jp.js +1 -0
  24. package/dist/public/assets/{_BcV_8aVm.js → _B2zwwiDv.js} +1 -1
  25. package/dist/public/assets/_B2zwwiDv.js.br +0 -0
  26. package/dist/public/assets/{_CfTyEkJ9.js → _B7GiBoph.js} +1 -1
  27. package/dist/public/assets/_B7GiBoph.js.br +0 -0
  28. package/dist/public/assets/_B91PCbMY.js +1 -0
  29. package/dist/public/assets/{_CWn2nvZH.js → _BCRs1bwJ.js} +1 -1
  30. package/dist/public/assets/_BCRs1bwJ.js.br +0 -0
  31. package/dist/public/assets/{_DnXCnynP.js → _BDn4HD2W.js} +1 -1
  32. package/dist/public/assets/_BDn4HD2W.js.br +0 -0
  33. package/dist/public/assets/_BDzTdM29.js +1 -0
  34. package/dist/public/assets/{_D_5swmVD.js → _BEP0J_m3.js} +1 -1
  35. package/dist/public/assets/_BEP0J_m3.js.br +0 -0
  36. package/dist/public/assets/_BEbZSOvk.js +1 -0
  37. package/dist/public/assets/_BGoC3lTP.js +1 -0
  38. package/dist/public/assets/_BH1tZh9B.js +1 -0
  39. package/dist/public/assets/_BH1tZh9B.js.br +0 -0
  40. package/dist/public/assets/_BKXEVt9e.js +1 -0
  41. package/dist/public/assets/{_CqafooQ2.js → _BKZZ9XPy.js} +1 -1
  42. package/dist/public/assets/_BKZZ9XPy.js.br +0 -0
  43. package/dist/public/assets/_BL44t-JS.js +1 -0
  44. package/dist/public/assets/{_EhbzPnF_.js → _BLWXDoDV.js} +1 -1
  45. package/dist/public/assets/_BLWXDoDV.js.br +0 -0
  46. package/dist/public/assets/_BQuGwHXf.js +1 -0
  47. package/dist/public/assets/{_CwHghi3L.js → _BQvodX1C.js} +1 -1
  48. package/dist/public/assets/_BQvodX1C.js.br +0 -0
  49. package/dist/public/assets/_BV5olEXa.js +1 -0
  50. package/dist/public/assets/_BVSw3aNh.js +1 -0
  51. package/dist/public/assets/_BVcdtRf_.js +1 -0
  52. package/dist/public/assets/_BXxvq8re.js +1 -0
  53. package/dist/public/assets/{_B0mZDvbt.js → _BYenqYar.js} +1 -1
  54. package/dist/public/assets/_BYenqYar.js.br +0 -0
  55. package/dist/public/assets/{_C70Ru7e4.js → _BZ6-3aRi.js} +1 -1
  56. package/dist/public/assets/_BZ6-3aRi.js.br +0 -0
  57. package/dist/public/assets/{_DZRCq3kW.js → _B_qcXPC9.js} +1 -1
  58. package/dist/public/assets/_B_qcXPC9.js.br +0 -0
  59. package/dist/public/assets/_BcpPy78P.js +1 -0
  60. package/dist/public/assets/{_Bhgs0ti-.js → _BdHU-edg.js} +1 -1
  61. package/dist/public/assets/_BdHU-edg.js.br +0 -0
  62. package/dist/public/assets/_Bdf5gaft.js +1 -0
  63. package/dist/public/assets/{_BVaM_2sN.js → _BeNTkouv.js} +1 -1
  64. package/dist/public/assets/_BeNTkouv.js.br +0 -0
  65. package/dist/public/assets/_Beg__xOh.js +7 -0
  66. package/dist/public/assets/_Beg__xOh.js.br +0 -0
  67. package/dist/public/assets/{_BkBBIqd6.js → _BgcnQahZ.js} +1 -1
  68. package/dist/public/assets/_BgcnQahZ.js.br +0 -0
  69. package/dist/public/assets/_Bh4ION4Q.js +15 -0
  70. package/dist/public/assets/_Bh4ION4Q.js.br +0 -0
  71. package/dist/public/assets/_BhUF6bOH.js +1 -0
  72. package/dist/public/assets/{_VXBw_tMe.js → _BjZdKeIh.js} +1 -1
  73. package/dist/public/assets/_BjZdKeIh.js.br +0 -0
  74. package/dist/public/assets/{_BbW08zvP.js → _BkBPqtfk.js} +1 -1
  75. package/dist/public/assets/_BkBPqtfk.js.br +0 -0
  76. package/dist/public/assets/_Bkau_A22.js +1 -0
  77. package/dist/public/assets/{_DDCCCxgI.js → _BkxXwvbl.js} +1 -1
  78. package/dist/public/assets/_BkxXwvbl.js.br +0 -0
  79. package/dist/public/assets/_Bm0itLfu.js +1 -0
  80. package/dist/public/assets/{_DGujMY-3.js → _BquW9Mq3.js} +1 -1
  81. package/dist/public/assets/_BquW9Mq3.js.br +0 -0
  82. package/dist/public/assets/_Br3wdSoO.js +1 -0
  83. package/dist/public/assets/{_BdlaV7Yd.js → _Bu5aFirG.js} +1 -1
  84. package/dist/public/assets/_Bu5aFirG.js.br +0 -0
  85. package/dist/public/assets/_BuGdvR_J.js +1 -0
  86. package/dist/public/assets/{_DXXgPkXD.js → _By03QqCp.js} +1 -1
  87. package/dist/public/assets/_By03QqCp.js.br +0 -0
  88. package/dist/public/assets/_By8P5k5O.js +1 -0
  89. package/dist/public/assets/_BzNgpzLA.js +1 -0
  90. package/dist/public/assets/_BzNgpzLA.js.br +0 -0
  91. package/dist/public/assets/{_DbW7AP8F.js → _BzRQFqq0.js} +1 -1
  92. package/dist/public/assets/_BzRQFqq0.js.br +0 -0
  93. package/dist/public/assets/{_B9tAdQhn.js → _C-DrfZpp.js} +1 -1
  94. package/dist/public/assets/_C-DrfZpp.js.br +0 -0
  95. package/dist/public/assets/{_Bqi2O09O.js → _C0j7fr9S.js} +1 -1
  96. package/dist/public/assets/_C0j7fr9S.js.br +0 -0
  97. package/dist/public/assets/{_DtE2qH3C.js → _C1mdgKbt.js} +1 -1
  98. package/dist/public/assets/_C1mdgKbt.js.br +0 -0
  99. package/dist/public/assets/{_C7yx5SRF.js → _C2Agpk_d.js} +1 -1
  100. package/dist/public/assets/_C2Agpk_d.js.br +0 -0
  101. package/dist/public/assets/_C2K9sR3B.js +1 -0
  102. package/dist/public/assets/_C37J5Vvz.js +1 -0
  103. package/dist/public/assets/{_CVzVikZu.js → _C3BON5d4.js} +1 -1
  104. package/dist/public/assets/_C3BON5d4.js.br +0 -0
  105. package/dist/public/assets/_C6udtFak.js +1 -0
  106. package/dist/public/assets/{_BRlKTBWA.js → _C814DGlT.js} +1 -1
  107. package/dist/public/assets/_CA8LiEcw.js +2 -0
  108. package/dist/public/assets/_CA8LiEcw.js.br +0 -0
  109. package/dist/public/assets/{_tkbuT6xo.js → _CA9a_eff.js} +2 -2
  110. package/dist/public/assets/_CA9a_eff.js.br +0 -0
  111. package/dist/public/assets/{_CFEXZsE2.js → _CDgFgzEs.js} +1 -1
  112. package/dist/public/assets/_CDgFgzEs.js.br +0 -0
  113. package/dist/public/assets/_CHLAcK3s.js +1 -0
  114. package/dist/public/assets/_CJvbw6Iy.js +1 -0
  115. package/dist/public/assets/{_DB3BeOyN.js → _CMcq4Kb-.js} +1 -1
  116. package/dist/public/assets/_CMcq4Kb-.js.br +0 -0
  117. package/dist/public/assets/{_C8LGCsp6.js → _CPfRj6yT.js} +1 -1
  118. package/dist/public/assets/_CPfRj6yT.js.br +0 -0
  119. package/dist/public/assets/{_CyjtsL-H.js → _CPrNw6oc.js} +1 -1
  120. package/dist/public/assets/_CPrNw6oc.js.br +0 -0
  121. package/dist/public/assets/{_CncK57Bx.js → _CPrYPzWt.js} +1 -1
  122. package/dist/public/assets/_CPrYPzWt.js.br +0 -0
  123. package/dist/public/assets/{_g8m_kDFO.js → _CTTBbmr9.js} +4 -4
  124. package/dist/public/assets/_CTTBbmr9.js.br +0 -0
  125. package/dist/public/assets/_CTZrp4lA.js +1 -0
  126. package/dist/public/assets/{_D2QebskH.js → _CTxYtmZb.js} +1 -1
  127. package/dist/public/assets/_CTxYtmZb.js.br +0 -0
  128. package/dist/public/assets/_CU_PxmCu.js +1 -0
  129. package/dist/public/assets/{_CHkwXu6Z.js → _CVI2Cq0z.js} +1 -1
  130. package/dist/public/assets/_CVI2Cq0z.js.br +0 -0
  131. package/dist/public/assets/{_gZWLyxEW.js → _CWdTW25O.js} +1 -1
  132. package/dist/public/assets/_CWdTW25O.js.br +0 -0
  133. package/dist/public/assets/{_C6hKcO9v.js → _CXTLKZuy.js} +1 -1
  134. package/dist/public/assets/_CXTLKZuy.js.br +0 -0
  135. package/dist/public/assets/{_DSga17vP.js → _CYQO9g_a.js} +1 -1
  136. package/dist/public/assets/_C_se2bo_.js +1 -0
  137. package/dist/public/assets/{_CJ5gscHI.js → _CaKbOCDc.js} +1 -1
  138. package/dist/public/assets/_CaKbOCDc.js.br +0 -0
  139. package/dist/public/assets/_CaaWiJvp.js +1 -0
  140. package/dist/public/assets/{_z49a49tu.js → _CaatGOO2.js} +1 -1
  141. package/dist/public/assets/_CaatGOO2.js.br +0 -0
  142. package/dist/public/assets/_Ce7KLfeN.js +1 -0
  143. package/dist/public/assets/{_BxhDCdsz.js → _CeegeXP4.js} +1 -1
  144. package/dist/public/assets/_CeegeXP4.js.br +0 -0
  145. package/dist/public/assets/{_CIyU4fk4.js → _CfoLlTzi.js} +1 -1
  146. package/dist/public/assets/_CfoLlTzi.js.br +0 -0
  147. package/dist/public/assets/_ChHVJ3ol.js +1 -0
  148. package/dist/public/assets/{_CUcoGOVx.js → _CjBZ3V-k.js} +1 -1
  149. package/dist/public/assets/_CjBZ3V-k.js.br +0 -0
  150. package/dist/public/assets/_CjRsnulL.js +1 -0
  151. package/dist/public/assets/{_BC3iswQz.js → _Ck3lhK1n.js} +1 -1
  152. package/dist/public/assets/_Ck3lhK1n.js.br +0 -0
  153. package/dist/public/assets/_CkD0KW4Q.js +1 -0
  154. package/dist/public/assets/{_Dlcj6TBx.js → _CkJcBJSy.js} +1 -1
  155. package/dist/public/assets/_CkJcBJSy.js.br +0 -0
  156. package/dist/public/assets/{_BGxC2xS4.js → _CmK9nrXE.js} +1 -1
  157. package/dist/public/assets/_CmK9nrXE.js.br +0 -0
  158. package/dist/public/assets/{_CV93AUcf.js → _CmTOJZyu.js} +1 -1
  159. package/dist/public/assets/_CmTOJZyu.js.br +0 -0
  160. package/dist/public/assets/{_Ds-QwXCK.js → _Cp6ozHUZ.js} +1 -1
  161. package/dist/public/assets/_Cp6ozHUZ.js.br +0 -0
  162. package/dist/public/assets/_Cps9rNNk.js +1 -0
  163. package/dist/public/assets/_Cpyx9Ruh.js +1 -0
  164. package/dist/public/assets/_CqcL1Eao.js +1 -0
  165. package/dist/public/assets/_CtlujAAm.js +1 -0
  166. package/dist/public/assets/_CwkZNgvn.js +1 -0
  167. package/dist/public/assets/{_CBwhzPRp.js → _CzxSHuhZ.js} +1 -1
  168. package/dist/public/assets/_CzxSHuhZ.js.br +0 -0
  169. package/dist/public/assets/_D-Rp4dgl.js +1 -0
  170. package/dist/public/assets/_D266_Vlp.js +1 -0
  171. package/dist/public/assets/_D2GF-htM.js +1 -0
  172. package/dist/public/assets/_D3pfjalp.js +1 -0
  173. package/dist/public/assets/_D4AzhXxh.js +1 -0
  174. package/dist/public/assets/_D4CpPzsL.js +1 -0
  175. package/dist/public/assets/_D4yJkQJ2.js +1 -0
  176. package/dist/public/assets/_D4yJkQJ2.js.br +0 -0
  177. package/dist/public/assets/{_C8W1G7pP.js → _D5qfxWFD.js} +1 -1
  178. package/dist/public/assets/_D5qfxWFD.js.br +0 -0
  179. package/dist/public/assets/_D8on_jYa.js +1 -0
  180. package/dist/public/assets/_D9dATSiU.js +1 -0
  181. package/dist/public/assets/{_THpiwy9Y.js → _DA_yfueR.js} +1 -1
  182. package/dist/public/assets/_DA_yfueR.js.br +0 -0
  183. package/dist/public/assets/{_CENLn5ag.js → _DBWUn_hk.js} +1 -1
  184. package/dist/public/assets/_DBWUn_hk.js.br +0 -0
  185. package/dist/public/assets/_DEKwVNvx.js +1 -0
  186. package/dist/public/assets/_DEMDIxb5.js +1 -0
  187. package/dist/public/assets/_DEQKe3S_.js +1 -0
  188. package/dist/public/assets/_DFagCrMi.js +1 -0
  189. package/dist/public/assets/_DGF4RtFg.js +1 -0
  190. package/dist/public/assets/{_QIH6HEqN.js → _DJGwXMUo.js} +1 -1
  191. package/dist/public/assets/_DJGwXMUo.js.br +0 -0
  192. package/dist/public/assets/_DJUACfAD.js +1 -0
  193. package/dist/public/assets/_DLLzKLHg.js +1 -0
  194. package/dist/public/assets/_DLLzKLHg.js.br +0 -0
  195. package/dist/public/assets/{_BtdfVIoz.js → _DLa-y_iy.js} +1 -1
  196. package/dist/public/assets/_DLa-y_iy.js.br +0 -0
  197. package/dist/public/assets/{_Bh9mZqNd.js → _DPuNWxSI.js} +1 -1
  198. package/dist/public/assets/_DPuNWxSI.js.br +0 -0
  199. package/dist/public/assets/{_BZTdZJeh.js → _DUdKNx9_.js} +1 -1
  200. package/dist/public/assets/_DUdKNx9_.js.br +0 -0
  201. package/dist/public/assets/_DVPbb2iT.js +1 -0
  202. package/dist/public/assets/{_Ec89BFfK.js → _DWycKp4t.js} +1 -1
  203. package/dist/public/assets/_Db6eVZvt.js +1 -0
  204. package/dist/public/assets/{_tVi14-It.js → _Dbi3nN2O.js} +1 -1
  205. package/dist/public/assets/_Dbi3nN2O.js.br +0 -0
  206. package/dist/public/assets/_DdMi8QUd.js +1 -0
  207. package/dist/public/assets/_DdMi8QUd.js.br +0 -0
  208. package/dist/public/assets/{_ADrTMjUz.js → _DdUDNCq0.js} +1 -1
  209. package/dist/public/assets/_DdUDNCq0.js.br +0 -0
  210. package/dist/public/assets/{_7wu0vETX.js → _DeZD7vL6.js} +8 -8
  211. package/dist/public/assets/_DeZD7vL6.js.br +0 -0
  212. package/dist/public/assets/{_ClY3ux-V.js → _DiCUA-E5.js} +1 -1
  213. package/dist/public/assets/_DiCUA-E5.js.br +0 -0
  214. package/dist/public/assets/_DmRNEWiD.js +1 -0
  215. package/dist/public/assets/_DmRNEWiD.js.br +0 -0
  216. package/dist/public/assets/{_BYtWQBvo.js → _DmjEGnaF.js} +2 -2
  217. package/dist/public/assets/_DmjEGnaF.js.br +0 -0
  218. package/dist/public/assets/_Do43EuZn.js +1 -0
  219. package/dist/public/assets/{_DlbhpJx5.js → _Dp-XsWsH.js} +1 -1
  220. package/dist/public/assets/_Dp-XsWsH.js.br +0 -0
  221. package/dist/public/assets/_Dpglu31R.js +1 -0
  222. package/dist/public/assets/{_DkXVmNUi.js → _DqMUHXLw.js} +1 -1
  223. package/dist/public/assets/_DqMUHXLw.js.br +0 -0
  224. package/dist/public/assets/{__qkwvgYm.js → _DsA27QjF.js} +1 -1
  225. package/dist/public/assets/_DsA27QjF.js.br +0 -0
  226. package/dist/public/assets/{_wBsJknfY.js → _DuHglAUI.js} +1 -1
  227. package/dist/public/assets/_DuHglAUI.js.br +0 -0
  228. package/dist/public/assets/{_Ck0exoRL.js → _DuN-cK8E.js} +1 -1
  229. package/dist/public/assets/_DuN-cK8E.js.br +0 -0
  230. package/dist/public/assets/{_DHVmZFYy.js → _Dw_-SA4H.js} +1 -1
  231. package/dist/public/assets/_Dw_-SA4H.js.br +0 -0
  232. package/dist/public/assets/_DxSeNcRC.js +1 -0
  233. package/dist/public/assets/_Dy8acZsT.js +1 -0
  234. package/dist/public/assets/_DyGvFjZa.js +1 -0
  235. package/dist/public/assets/{_DG_7eobK.js → _DyUmXXU-.js} +1 -1
  236. package/dist/public/assets/_DyUmXXU-.js.br +0 -0
  237. package/dist/public/assets/_DykNNrdr.js +1 -0
  238. package/dist/public/assets/_DzEPImfm.js +1 -0
  239. package/dist/public/assets/{_CynqYnMI.js → _DzjCLvQi.js} +1 -1
  240. package/dist/public/assets/_DzjCLvQi.js.br +0 -0
  241. package/dist/public/assets/{_I5VvoSCX.js → _E07IbXLB.js} +1 -1
  242. package/dist/public/assets/_E07IbXLB.js.br +0 -0
  243. package/dist/public/assets/_FHwsU4gZ.js +1 -0
  244. package/dist/public/assets/_Fofr5sKy.js +1 -0
  245. package/dist/public/assets/{_CFZ5B792.js → _Gg8jyVZZ.js} +1 -1
  246. package/dist/public/assets/_Gg8jyVZZ.js.br +0 -0
  247. package/dist/public/assets/{_DYSvgYje.js → _IJCRJnsU.js} +1 -1
  248. package/dist/public/assets/_IJCRJnsU.js.br +0 -0
  249. package/dist/public/assets/{_C6WWvm9T.js → _K7ga0Dqk.js} +1 -1
  250. package/dist/public/assets/_K7ga0Dqk.js.br +0 -0
  251. package/dist/public/assets/_LdPWYt4y.js +1 -0
  252. package/dist/public/assets/_TDvyVlwC.js +1 -0
  253. package/dist/public/assets/{_BGDiyibR.js → _Ta125jL3.js} +1 -1
  254. package/dist/public/assets/_Ta125jL3.js.br +0 -0
  255. package/dist/public/assets/_V5ZuSZYX.js +1 -0
  256. package/dist/public/assets/_Y10XnZQW.js +1 -0
  257. package/dist/public/assets/{_CShA4sfZ.js → _Y9FHtX6j.js} +1 -1
  258. package/dist/public/assets/_Y9FHtX6j.js.br +0 -0
  259. package/dist/public/assets/{_zLpHv_aR.js → _Yx8Q2NOT.js} +1 -1
  260. package/dist/public/assets/{_q5NDjDt-.js → __6z1-Ygb.js} +1 -1
  261. package/dist/public/assets/__6z1-Ygb.js.br +0 -0
  262. package/dist/public/assets/_aG8pDXsg.js +1 -0
  263. package/dist/public/assets/{_D_CAa3Jz.js → _aYpQmauk.js} +1 -1
  264. package/dist/public/assets/_aYpQmauk.js.br +0 -0
  265. package/dist/public/assets/_bo0sEiBT.js +1 -0
  266. package/dist/public/assets/{_D_ylxWa2.js → _deqjKPFz.js} +1 -1
  267. package/dist/public/assets/_deqjKPFz.js.br +0 -0
  268. package/dist/public/assets/_e8TW1sso.js +1 -0
  269. package/dist/public/assets/_eg--nvdP.js +1 -0
  270. package/dist/public/assets/_f3e6gwAa.js +1 -0
  271. package/dist/public/assets/_lj9vK1z5.js +1 -0
  272. package/dist/public/assets/{_D5YMvwak.js → _pkRmCpeW.js} +1 -1
  273. package/dist/public/assets/_pkRmCpeW.js.br +0 -0
  274. package/dist/public/assets/{_CaNqsdTE.js → _t1As16Jt.js} +1 -1
  275. package/dist/public/assets/_t1As16Jt.js.br +0 -0
  276. package/dist/public/assets/{_9WNo3a6i.js → _tHyJ5Xi6.js} +1 -1
  277. package/dist/public/assets/_tHyJ5Xi6.js.br +0 -0
  278. package/dist/public/assets/{_DAVuT42t.js → _tOpEoZH4.js} +1 -1
  279. package/dist/public/assets/_tOpEoZH4.js.br +0 -0
  280. package/dist/public/assets/_ty5o-uiH.js +1 -0
  281. package/dist/public/assets/{_CaXlQ3bG.js → _xUrhkFuS.js} +1 -1
  282. package/dist/public/assets/_xUrhkFuS.js.br +0 -0
  283. package/dist/public/assets/_xjKIbnW7.js +1 -0
  284. package/dist/public/assets/files-view-tY8E79HV.js +2 -0
  285. package/dist/public/assets/manage-workspace-prQhYdbT.js +2 -0
  286. package/dist/public/assets/new-DOk4U23G.js +1 -0
  287. package/dist/public/assets/new-workspace-DngRQD4b.js +2 -0
  288. package/dist/public/assets/review-view-B053w0Ll.js +2 -0
  289. package/dist/public/assets/settings-DOk4U23G.js +1 -0
  290. package/dist/public/assets/settings-page-B2stQvSf.js +2 -0
  291. package/dist/public/assets/styles-IC-4KI8E.css +1 -0
  292. package/dist/public/assets/styles-IC-4KI8E.css.br +0 -0
  293. package/dist/public/assets/w-DOk4U23G.js +1 -0
  294. package/dist/public/assets/w._-BHX0YZuo.js +1 -0
  295. package/dist/public/assets/w._-DOk4U23G.js +1 -0
  296. package/dist/public/assets/w._-clPu_eBd.js +1 -0
  297. package/package.json +1 -1
  298. package/dist/_Cg63x2E_.js +0 -2
  299. package/dist/_CkGqrA7b.js +0 -2
  300. package/dist/public/assets/_06F4Uviu.js +0 -1
  301. package/dist/public/assets/_3M_MB7v1.js +0 -1
  302. package/dist/public/assets/_7wu0vETX.js.br +0 -0
  303. package/dist/public/assets/_8lptvSC4.js +0 -1
  304. package/dist/public/assets/_8lptvSC4.js.br +0 -0
  305. package/dist/public/assets/_9WNo3a6i.js.br +0 -0
  306. package/dist/public/assets/_ADrTMjUz.js.br +0 -0
  307. package/dist/public/assets/_B0mZDvbt.js.br +0 -0
  308. package/dist/public/assets/_B2KOnFOo.js +0 -1
  309. package/dist/public/assets/_B4LSXJRV.js +0 -1
  310. package/dist/public/assets/_B5bfOEq-.js +0 -1
  311. package/dist/public/assets/_B9_iN6wN.js +0 -1
  312. package/dist/public/assets/_B9tAdQhn.js.br +0 -0
  313. package/dist/public/assets/_BC3iswQz.js.br +0 -0
  314. package/dist/public/assets/_BCWFvtrH.js +0 -1
  315. package/dist/public/assets/_BGDiyibR.js.br +0 -0
  316. package/dist/public/assets/_BGxC2xS4.js.br +0 -0
  317. package/dist/public/assets/_BI5mqsGb.js +0 -1
  318. package/dist/public/assets/_BIME4HFQ.js +0 -1
  319. package/dist/public/assets/_BLCK8nfs.js +0 -1
  320. package/dist/public/assets/_BMA5bYEa.js +0 -1
  321. package/dist/public/assets/_BQiVwacs.js +0 -1
  322. package/dist/public/assets/_BUJOwUAs.js +0 -1
  323. package/dist/public/assets/_BVNPct4O.js +0 -1
  324. package/dist/public/assets/_BVaM_2sN.js.br +0 -0
  325. package/dist/public/assets/_BYtWQBvo.js.br +0 -0
  326. package/dist/public/assets/_BZTdZJeh.js.br +0 -0
  327. package/dist/public/assets/_BbW08zvP.js.br +0 -0
  328. package/dist/public/assets/_BcV_8aVm.js.br +0 -0
  329. package/dist/public/assets/_BdjEexZm.js +0 -1
  330. package/dist/public/assets/_BdlaV7Yd.js.br +0 -0
  331. package/dist/public/assets/_Bh9mZqNd.js.br +0 -0
  332. package/dist/public/assets/_Bhgs0ti-.js.br +0 -0
  333. package/dist/public/assets/_BhyTahlq.js +0 -1
  334. package/dist/public/assets/_Bi4Oc44D.js +0 -1
  335. package/dist/public/assets/_BkBBIqd6.js.br +0 -0
  336. package/dist/public/assets/_Bln_dHkZ.js +0 -1
  337. package/dist/public/assets/_Bnw8FrLu.js.br +0 -0
  338. package/dist/public/assets/_BoXYgDqM.js +0 -1
  339. package/dist/public/assets/_Bq3bEwAh.js +0 -1
  340. package/dist/public/assets/_BqE3UDc1.js +0 -15
  341. package/dist/public/assets/_BqE3UDc1.js.br +0 -0
  342. package/dist/public/assets/_Bqi2O09O.js.br +0 -0
  343. package/dist/public/assets/_BqkIt6sR.js +0 -1
  344. package/dist/public/assets/_BtaGn9rC.js +0 -1
  345. package/dist/public/assets/_BtdfVIoz.js.br +0 -0
  346. package/dist/public/assets/_BxKCn-Q1.js +0 -1
  347. package/dist/public/assets/_BxhDCdsz.js.br +0 -0
  348. package/dist/public/assets/_C-PVpIEr.js +0 -1
  349. package/dist/public/assets/_C6WWvm9T.js.br +0 -0
  350. package/dist/public/assets/_C6hKcO9v.js.br +0 -0
  351. package/dist/public/assets/_C70Ru7e4.js.br +0 -0
  352. package/dist/public/assets/_C7uWBTjb.js +0 -1
  353. package/dist/public/assets/_C7uWBTjb.js.br +0 -0
  354. package/dist/public/assets/_C7yx5SRF.js.br +0 -0
  355. package/dist/public/assets/_C8LGCsp6.js.br +0 -0
  356. package/dist/public/assets/_C8W1G7pP.js.br +0 -0
  357. package/dist/public/assets/_C8jz5gbw.js +0 -1
  358. package/dist/public/assets/_C9uY87Ye.js +0 -1
  359. package/dist/public/assets/_CALBu378.js +0 -1
  360. package/dist/public/assets/_CBwhzPRp.js.br +0 -0
  361. package/dist/public/assets/_CCiPqRIq.js +0 -1
  362. package/dist/public/assets/_CD6qXQpG.js +0 -1
  363. package/dist/public/assets/_CENLn5ag.js.br +0 -0
  364. package/dist/public/assets/_CEU9l8AD.js +0 -1
  365. package/dist/public/assets/_CFEXZsE2.js.br +0 -0
  366. package/dist/public/assets/_CFZ5B792.js.br +0 -0
  367. package/dist/public/assets/_CHkwXu6Z.js.br +0 -0
  368. package/dist/public/assets/_CHnevbQv.js +0 -1
  369. package/dist/public/assets/_CIfjUS07.js +0 -1
  370. package/dist/public/assets/_CIyU4fk4.js.br +0 -0
  371. package/dist/public/assets/_CJ5gscHI.js.br +0 -0
  372. package/dist/public/assets/_CP1YBS-v.js +0 -1
  373. package/dist/public/assets/_CQCyc8Lk.js +0 -1
  374. package/dist/public/assets/_CQxZTJs2.js +0 -1
  375. package/dist/public/assets/_CRTpye9y.js +0 -1
  376. package/dist/public/assets/_CShA4sfZ.js.br +0 -0
  377. package/dist/public/assets/_CT92krzt.js +0 -1
  378. package/dist/public/assets/_CUH0YWku.js +0 -1
  379. package/dist/public/assets/_CUNOvAqR.js +0 -1
  380. package/dist/public/assets/_CUcoGOVx.js.br +0 -0
  381. package/dist/public/assets/_CV93AUcf.js.br +0 -0
  382. package/dist/public/assets/_CVnRXioT.js +0 -1
  383. package/dist/public/assets/_CVzVikZu.js.br +0 -0
  384. package/dist/public/assets/_CWn2nvZH.js.br +0 -0
  385. package/dist/public/assets/_CX7VgLUh.js +0 -1
  386. package/dist/public/assets/_CaNqsdTE.js.br +0 -0
  387. package/dist/public/assets/_CaXlQ3bG.js.br +0 -0
  388. package/dist/public/assets/_CfTyEkJ9.js.br +0 -0
  389. package/dist/public/assets/_Ck0exoRL.js.br +0 -0
  390. package/dist/public/assets/_ClY3ux-V.js.br +0 -0
  391. package/dist/public/assets/_CnHykAXL.js +0 -1
  392. package/dist/public/assets/_CncK57Bx.js.br +0 -0
  393. package/dist/public/assets/_CqafooQ2.js.br +0 -0
  394. package/dist/public/assets/_CvomSBd-.js +0 -1
  395. package/dist/public/assets/_CwHghi3L.js.br +0 -0
  396. package/dist/public/assets/_Cx22qldT.js +0 -1
  397. package/dist/public/assets/_Cx2CM-oS.js +0 -1
  398. package/dist/public/assets/_CxD2Xdbg.js +0 -1
  399. package/dist/public/assets/_Cy8e6xvg.js +0 -1
  400. package/dist/public/assets/_CyjtsL-H.js.br +0 -0
  401. package/dist/public/assets/_CynqYnMI.js.br +0 -0
  402. package/dist/public/assets/_D2QebskH.js.br +0 -0
  403. package/dist/public/assets/_D2Vc4Wvj.js +0 -1
  404. package/dist/public/assets/_D5YMvwak.js.br +0 -0
  405. package/dist/public/assets/_D8KEHImg.js +0 -1
  406. package/dist/public/assets/_D9xvJ3GG.js +0 -1
  407. package/dist/public/assets/_DAVuT42t.js.br +0 -0
  408. package/dist/public/assets/_DB3BeOyN.js.br +0 -0
  409. package/dist/public/assets/_DCsVczc2.js +0 -1
  410. package/dist/public/assets/_DDCCCxgI.js.br +0 -0
  411. package/dist/public/assets/_DG_7eobK.js.br +0 -0
  412. package/dist/public/assets/_DGujMY-3.js.br +0 -0
  413. package/dist/public/assets/_DHDlo4H6.js.br +0 -0
  414. package/dist/public/assets/_DHVmZFYy.js.br +0 -0
  415. package/dist/public/assets/_DINZbe5Y.js +0 -1
  416. package/dist/public/assets/_DLEbRrz0.js +0 -1
  417. package/dist/public/assets/_DMheRY6i.js +0 -1
  418. package/dist/public/assets/_DN4wjx2E.js +0 -1
  419. package/dist/public/assets/_DR0feSOd.js +0 -1
  420. package/dist/public/assets/_DR0feSOd.js.br +0 -0
  421. package/dist/public/assets/_DSGTniQk.js +0 -1
  422. package/dist/public/assets/_DTsDxl1M.js +0 -1
  423. package/dist/public/assets/_DUopY_gx.js +0 -1
  424. package/dist/public/assets/_DVNfCwE2.js +0 -1
  425. package/dist/public/assets/_DVNfCwE2.js.br +0 -0
  426. package/dist/public/assets/_DXXgPkXD.js.br +0 -0
  427. package/dist/public/assets/_DYSvgYje.js.br +0 -0
  428. package/dist/public/assets/_DYrlLwFx.js +0 -1
  429. package/dist/public/assets/_DZRCq3kW.js.br +0 -0
  430. package/dist/public/assets/_D_5swmVD.js.br +0 -0
  431. package/dist/public/assets/_D_CAa3Jz.js.br +0 -0
  432. package/dist/public/assets/_D_ylxWa2.js.br +0 -0
  433. package/dist/public/assets/_D_ze6XZ5.js +0 -1
  434. package/dist/public/assets/_DbW7AP8F.js.br +0 -0
  435. package/dist/public/assets/_DeB4j_R-.js.br +0 -0
  436. package/dist/public/assets/_DfQ-9FlP.js +0 -1
  437. package/dist/public/assets/_DkXVmNUi.js.br +0 -0
  438. package/dist/public/assets/_DlR8NuSe.js +0 -1
  439. package/dist/public/assets/_DlbhpJx5.js.br +0 -0
  440. package/dist/public/assets/_Dlcj6TBx.js.br +0 -0
  441. package/dist/public/assets/_DnDcENzs.js +0 -1
  442. package/dist/public/assets/_DnXCnynP.js.br +0 -0
  443. package/dist/public/assets/_Ds-QwXCK.js.br +0 -0
  444. package/dist/public/assets/_DtE2qH3C.js.br +0 -0
  445. package/dist/public/assets/_DuEkCWXJ.js +0 -1
  446. package/dist/public/assets/_DuEkCWXJ.js.br +0 -0
  447. package/dist/public/assets/_DugpULbZ.js +0 -1
  448. package/dist/public/assets/_DzZJC96i.js +0 -1
  449. package/dist/public/assets/_EhbzPnF_.js.br +0 -0
  450. package/dist/public/assets/_HsuJMsHC.js +0 -1
  451. package/dist/public/assets/_I5VvoSCX.js.br +0 -0
  452. package/dist/public/assets/_KkrexnhF.js +0 -1
  453. package/dist/public/assets/_LAQuaEXw.js +0 -1
  454. package/dist/public/assets/_LQT43yqU.js +0 -1
  455. package/dist/public/assets/_M2AJVACE.js +0 -1
  456. package/dist/public/assets/_QIH6HEqN.js.br +0 -0
  457. package/dist/public/assets/_QOM_0LrS.js +0 -1
  458. package/dist/public/assets/_SiPyCTQ2.js +0 -1
  459. package/dist/public/assets/_SiPyCTQ2.js.br +0 -0
  460. package/dist/public/assets/_THpiwy9Y.js.br +0 -0
  461. package/dist/public/assets/_UE8vWJfG.js +0 -1
  462. package/dist/public/assets/_UNlXdNpU.js +0 -1
  463. package/dist/public/assets/_VXBw_tMe.js.br +0 -0
  464. package/dist/public/assets/__j87AsaM.js +0 -2
  465. package/dist/public/assets/__j87AsaM.js.br +0 -0
  466. package/dist/public/assets/__qkwvgYm.js.br +0 -0
  467. package/dist/public/assets/_c29W3SiT.js +0 -1
  468. package/dist/public/assets/_c29W3SiT.js.br +0 -0
  469. package/dist/public/assets/_dqme2cBZ.js +0 -1
  470. package/dist/public/assets/_g8m_kDFO.js.br +0 -0
  471. package/dist/public/assets/_gZWLyxEW.js.br +0 -0
  472. package/dist/public/assets/_iPBpbjkf.js +0 -1
  473. package/dist/public/assets/_iw9V1MXx.js +0 -1
  474. package/dist/public/assets/_jwR-pKCy.js +0 -7
  475. package/dist/public/assets/_jwR-pKCy.js.br +0 -0
  476. package/dist/public/assets/_kPncZjOq.js.br +0 -0
  477. package/dist/public/assets/_lUsMW6Gs.js +0 -1
  478. package/dist/public/assets/_q5NDjDt-.js.br +0 -0
  479. package/dist/public/assets/_rrQkcN_W.js +0 -1
  480. package/dist/public/assets/_tVi14-It.js.br +0 -0
  481. package/dist/public/assets/_tkbuT6xo.js.br +0 -0
  482. package/dist/public/assets/_wBsJknfY.js.br +0 -0
  483. package/dist/public/assets/_yRcaOQ_g.js +0 -1
  484. package/dist/public/assets/_z49a49tu.js.br +0 -0
  485. package/dist/public/assets/_z4AFhwXr.js +0 -1
  486. package/dist/public/assets/_zeZcW0dL.js +0 -1
  487. package/dist/public/assets/files-view-B7Q2K2Y-.js +0 -2
  488. package/dist/public/assets/manage-workspace-0kphR6AC.js +0 -2
  489. package/dist/public/assets/new-DOnTtMEb.js +0 -1
  490. package/dist/public/assets/new-workspace-DwTZgJb4.js +0 -2
  491. package/dist/public/assets/review-view-CP7rYLpx.js +0 -2
  492. package/dist/public/assets/settings-DOnTtMEb.js +0 -1
  493. package/dist/public/assets/settings-page-DgelplbL.js +0 -2
  494. package/dist/public/assets/styles-DwSLzDSy.css +0 -1
  495. package/dist/public/assets/styles-DwSLzDSy.css.br +0 -0
  496. package/dist/public/assets/w-DOnTtMEb.js +0 -1
  497. package/dist/public/assets/w._-DOnTtMEb.js +0 -1
  498. package/dist/public/assets/w._-aWr9UeT8.js +0 -1
  499. package/dist/public/assets/w._-fgp5v3S2.js +0 -1
@@ -3,6 +3,7 @@
3
3
  // other sessions — starting one or a fan-out of them, messaging one and
4
4
  // waiting on replies, closing them (server/messages.ts, server/team.ts).
5
5
  import path from "node:path";
6
+ import { duration } from "../../lib/usage/format.mjs";
6
7
  import { makeTopics, topicRepos } from "./topic.mjs";
7
8
 
8
9
  /** More sessions than this running in one workspace is an agent starting
@@ -46,6 +47,7 @@ async function sessionsOf(ctx, wsId) {
46
47
  parent: s.parent_id || null,
47
48
  waitingOn: s.messages?.waitingOn ?? [],
48
49
  queued: s.messages?.queued ?? 0,
50
+ turnSince: s.state?.turnSince ?? null,
49
51
  self: s.id === me,
50
52
  }));
51
53
  const ids = new Set(rows.map((s) => s.id));
@@ -60,8 +62,14 @@ async function sessionsOf(ctx, wsId) {
60
62
  return out;
61
63
  }
62
64
 
65
+ /** How long a turn has run: seconds under a minute, then coarse. */
66
+ function turnText(ms) {
67
+ return `${ms < 60_000 ? `${Math.round(ms / 1000)}s` : duration(ms)} into its turn`;
68
+ }
69
+
63
70
  function sessionLine(ctx, s) {
64
71
  const notes = [
72
+ s.turnSince && turnText(Date.now() - s.turnSince),
65
73
  s.waitingOn.length && `waiting on ${s.waitingOn.join(", ")}`,
66
74
  s.queued && `${s.queued} queued for it`,
67
75
  s.self && "this session",
@@ -86,15 +94,11 @@ async function textOf(value) {
86
94
  return Buffer.concat(chunks).toString("utf8").replace(/\n$/, "");
87
95
  }
88
96
 
89
- /** What became of a message, for the sender. */
90
- function sentText(id, r) {
91
- const lines = [
92
- `${r.reopened ? `reopened ${id} on its conversation; ` : ""}${
93
- r.delivered
94
- ? `sent to ${id}`
95
- : `queued for ${id} (${r.queued}): typed in once it is at its prompt`
96
- }`,
97
- ];
97
+ /** What became of a message, for the sender: whether it went in, and
98
+ * last — where `| tail -1` keeps it — how long it may wait and how to
99
+ * reach the session sooner. */
100
+ function sentText(id, r, asked) {
101
+ const lines = [];
98
102
  if (r.wantsReply)
99
103
  lines.push(
100
104
  `Its last message, as that turn ends, comes back to you as a prompt: end your turn to wait for it, or run \`work session wait ${id}\`.`,
@@ -103,6 +107,30 @@ function sentText(id, r) {
103
107
  lines.push(
104
108
  "A reply it sends before then answers what it is on now: each reply names the message of yours it answers.",
105
109
  );
110
+ const reopened = r.reopened ? `reopened ${id} on its conversation; ` : "";
111
+ const stopped = r.interrupted ? `stopped ${id}'s turn; ` : "";
112
+ if (r.midTurn)
113
+ lines.push(
114
+ `${stopped}typed into ${id}'s turn under way: it gets this at its next step, after the tool call it is on`,
115
+ );
116
+ else if (r.delivered) lines.push(`${reopened}${stopped}sent to ${id}`);
117
+ else {
118
+ const wait = [
119
+ r.queued,
120
+ r.turnMs !== null && turnText(r.turnMs),
121
+ r.ahead && `${r.ahead} more queued with it`,
122
+ ].filter(Boolean);
123
+ const sooner = !r.queued.startsWith("it is working")
124
+ ? ""
125
+ : r.steers && !asked.now
126
+ ? ` To reach it sooner: \`work session send ${id} --now "…"\` (into the turn, at its next step) or --interrupt (stops the turn first).`
127
+ : !r.steers && r.interrupts && !asked.interrupt
128
+ ? ` Its CLI takes no message mid-turn: --interrupt stops the turn to send it now.`
129
+ : "";
130
+ lines.push(
131
+ `${reopened}${stopped}queued for ${id} (${wait.join("; ")}): typed in once it is at its prompt${asked.now && r.steers ? ", or into its turn once nothing stands in the way" : ""}.${sooner}`,
132
+ );
133
+ }
106
134
  return lines.join("\n");
107
135
  }
108
136
 
@@ -180,7 +208,8 @@ export const commands = [
180
208
  This session (WORK_SESSION_ID): its id, agent, name, state, and the
181
209
  workspace it is in (id, name, path) — what a link names (/w/<id>/…).
182
210
  work session list [id|name] [--json]
183
- The workspace's sessions, this one marked.
211
+ The workspace's sessions, this one marked, with how long each has been
212
+ in the turn under way and how many messages are queued for it.
184
213
  work session title "<name>" [--session <id>]
185
214
  Name a session in the session list (empty clears it).
186
215
  work session new [--agent <id>] [--title "<name>"] [--prompt "<text>"|-] [--no-reply] [--keep] [--topic <name> [--repo <repo>…] [--install]] [--workspace <id|name>] [--force]
@@ -219,15 +248,22 @@ work session retry <member>
219
248
  work session skip <member>
220
249
  Stop a member: a queued one never starts, a running one's session
221
250
  closes; either way its group no longer waits on it.
222
- work session send <id> "<text>"|- [--no-reply]
251
+ work session send <id> "<text>"|- [--no-reply] [--now|--interrupt]
223
252
  Message an agent session: typed in, headed with who it is from, once
224
- it is at its prompt — never into a turn under way, a question it asks,
225
- or a draft someone is typing. From an agent's session it wants a reply
226
- unless --no-reply: the recipient's last message as that turn ends,
227
- typed into this session as a prompt of its own. End your turn to wait
228
- for it. One sent mid-turn is answered a turn later: the reply that
229
- comes first answers what it was on, and each reply names the message
230
- of yours it answers and those still queued. A session closed for being
253
+ it is at its prompt — never into a question it asks or a draft someone
254
+ is typing. From an agent's session it wants a reply unless --no-reply:
255
+ the recipient's last message as that turn ends, typed into this
256
+ session as a prompt of its own. End your turn to wait for it. A turn
257
+ can run for hours, and one sent meanwhile waits for its end, then is
258
+ answered a turn later: the reply that comes first answers what it was
259
+ on, and each reply names the message of yours it answers and those
260
+ still queued. A correction or a stop should not wait: --now types it
261
+ into the turn under way, which its CLI hands the agent at its next
262
+ step (after the tool call it is on), and that turn's end answers it;
263
+ --interrupt stops the turn first, for one the next step is too late
264
+ for or whose CLI takes nothing mid-turn (Grok). What is queued for it
265
+ goes in with it. The last line printed says whether it went in, and
266
+ if not, how long the turn it waits out has run. A session closed for being
231
267
  done is reopened on its own conversation first, where its CLI can
232
268
  resume one (Claude, Codex); otherwise the send says to start a new one.
233
269
  A file's path says more than its text pasted in. An agent in
@@ -449,14 +485,23 @@ work session kill --done
449
485
  const [id, ...words] = rest;
450
486
  const text = await textOf(words.join(" "));
451
487
  if (!id || !text)
452
- ctx.die('usage: work session send <id> "<text>"|- [--no-reply]');
488
+ ctx.die(
489
+ 'usage: work session send <id> "<text>"|- [--no-reply] [--now|--interrupt]',
490
+ );
453
491
  const me = process.env.WORK_SESSION_ID;
492
+ const asked = {
493
+ now: ctx.has("--now"),
494
+ interrupt: ctx.has("--interrupt"),
495
+ };
454
496
  const r = await ctx.api.post(`/api/sessions/${id}/messages`, {
455
497
  text,
456
498
  ...(me ? { from: me } : {}),
457
499
  reply: !ctx.has("--no-reply"),
500
+ ...asked,
458
501
  });
459
- return ctx.out({ id, ...r }, (r) => console.log(sentText(id, r)));
502
+ return ctx.out({ id, ...r }, (r) =>
503
+ console.log(sentText(id, r, asked)),
504
+ );
460
505
  }
461
506
  case "wait": {
462
507
  const me = sessionId(ctx);
@@ -0,0 +1,2 @@
1
+ import { f as teamsOf } from "./_DAiB3S3K.js";
2
+ export { teamsOf };
@@ -736,6 +736,13 @@ var STEPS = [
736
736
  );
737
737
  `);
738
738
  }
739
+ },
740
+ {
741
+ version: 10,
742
+ name: "messages that go mid-turn",
743
+ up(db) {
744
+ db.exec("ALTER TABLE session_messages ADD COLUMN urgent INTEGER NOT NULL DEFAULT 0");
745
+ }
739
746
  }
740
747
  ];
741
748
  var LATEST = STEPS.at(-1).version;
@@ -9160,6 +9167,9 @@ var typedAt = /* @__PURE__ */ new Map();
9160
9167
  /** What each session's turn is doing, from its last tool call ("Bash:
9161
9168
  * pnpm test"): the line a team view shows for a member at work. */
9162
9169
  var activities = /* @__PURE__ */ new Map();
9170
+ /** When each session's turn began, while one runs: how long a message
9171
+ * that waits for its end has to wait (server/messages). */
9172
+ var turnStarts = /* @__PURE__ */ new Map();
9163
9173
  /** Each session's permission mode, as its hooks last reported it
9164
9174
  * (`permission_mode`): what a session it starts runs in. */
9165
9175
  var modes = /* @__PURE__ */ new Map();
@@ -9167,6 +9177,9 @@ var modes = /* @__PURE__ */ new Map();
9167
9177
  var finishedListeners = /* @__PURE__ */ new Set();
9168
9178
  /** Told of each turn's end that stayed the end (`onTurnEnd`). */
9169
9179
  var turnEndListeners = /* @__PURE__ */ new Set();
9180
+ /** The last messages of each session's turn ends that did not stay the
9181
+ * end (it went straight back to work), until one does. */
9182
+ var foldedMessages = /* @__PURE__ */ new Map();
9170
9183
  /** A turn's end is pushed once it has stayed ended this long. Stop fires
9171
9184
  * again each time something sends the agent back to work (a stop hook
9172
9185
  * that continues it, a goal loop, background subagents reporting in), and
@@ -9233,14 +9246,18 @@ function noteBackground(sessionId, work) {
9233
9246
  });
9234
9247
  }
9235
9248
  /** A turn's end once it has stayed the end (`DONE_SETTLE_MS`), with its
9236
- * last message (undefined: the CLI reports none). A listener returns
9237
- * whether it passed the end on to another session. */
9249
+ * last message (undefined: the CLI reports none) and those of the ends
9250
+ * before it that did not stay the end (`earlier`: a message typed in as
9251
+ * the agent wrote its answer can be a turn of its own straight after). A
9252
+ * listener returns whether it passed the end on to another session. */
9238
9253
  function onTurnEnd(fn) {
9239
9254
  turnEndListeners.add(fn);
9240
9255
  }
9241
9256
  function endTurn(sessionId) {
9257
+ const earlier = foldedMessages.get(sessionId) ?? [];
9258
+ foldedMessages.delete(sessionId);
9242
9259
  let told = false;
9243
- for (const fn of turnEndListeners) told = fn(sessionId, lastMessages.get(sessionId)) || told;
9260
+ for (const fn of turnEndListeners) told = fn(sessionId, lastMessages.get(sessionId), earlier) || told;
9244
9261
  return told;
9245
9262
  }
9246
9263
  /** A session's job is done: its turn ended and stayed ended, answering
@@ -9288,11 +9305,17 @@ function noteTyped(sessionId) {
9288
9305
  function lastTypedAt(sessionId) {
9289
9306
  return typedAt.get(sessionId) ?? 0;
9290
9307
  }
9308
+ /** When the session's turn under way began (undefined: at its prompt). */
9309
+ function turnSince(sessionId) {
9310
+ return turnStarts.get(sessionId);
9311
+ }
9291
9312
  function cancelDone(sessionId) {
9292
9313
  const timer = pendingDone.get(sessionId);
9293
9314
  if (!timer) return;
9294
9315
  clearTimeout(timer);
9295
9316
  pendingDone.delete(sessionId);
9317
+ const message = lastMessages.get(sessionId);
9318
+ if (message) foldedMessages.set(sessionId, [...foldedMessages.get(sessionId) ?? [], message]);
9296
9319
  }
9297
9320
  /** What the session's hooks last said, apart from the scraper: the
9298
9321
  * turn's phase, else working while its background work runs. */
@@ -9397,11 +9420,13 @@ function clearAgentPhase(sessionId) {
9397
9420
  cancelDone(sessionId);
9398
9421
  summaries.delete(sessionId);
9399
9422
  lastMessages.delete(sessionId);
9423
+ foldedMessages.delete(sessionId);
9400
9424
  typedAt.delete(sessionId);
9401
9425
  modes.delete(sessionId);
9402
9426
  activities.delete(sessionId);
9403
9427
  reportedAt.delete(sessionId);
9404
9428
  interruptedAt.delete(sessionId);
9429
+ turnStarts.delete(sessionId);
9405
9430
  if (!phases.has(sessionId) && !scraped.has(sessionId) && !background.has(sessionId)) return;
9406
9431
  applyChange(sessionId, () => {
9407
9432
  phases.delete(sessionId);
@@ -9427,6 +9452,8 @@ function agentPhase(sessionId) {
9427
9452
  function applyChange(sessionId, mutate, force = false) {
9428
9453
  const before = agentPhase(sessionId);
9429
9454
  mutate();
9455
+ if (!turnPhase(sessionId)) turnStarts.delete(sessionId);
9456
+ else if (!turnStarts.has(sessionId)) turnStarts.set(sessionId, Date.now());
9430
9457
  const after = agentPhase(sessionId);
9431
9458
  if (before === after && !force) return;
9432
9459
  publishChange(sessionId);
@@ -9437,7 +9464,7 @@ function publishChange(sessionId) {
9437
9464
  const row = get("SELECT workspace_id FROM sessions WHERE id = ?", sessionId);
9438
9465
  if (row?.workspace_id) {
9439
9466
  const workspaceId = row.workspace_id;
9440
- import("./_CkGqrA7b.js").then((m) => m.notifySessionsChanged(workspaceId));
9467
+ import("./_ENzyVrzA.js").then((m) => m.notifySessionsChanged(workspaceId));
9441
9468
  return;
9442
9469
  }
9443
9470
  publish("sessions.changed");
@@ -10266,6 +10293,8 @@ var claude = {
10266
10293
  modeFlags: (mode) => MODES.has(mode) ? ["--permission-mode", mode] : [],
10267
10294
  headless: (args) => hasArg(args, "-p", "--print"),
10268
10295
  resumeFlags: (id) => ["--resume", id],
10296
+ steerKeys: ["Enter"],
10297
+ interruptKeys: ["Escape"],
10269
10298
  envPrefixes: ["CLAUDE", "AI_AGENT"],
10270
10299
  startupQuestions: [{
10271
10300
  screen: /Is this a project you created or one you trust/,
@@ -10491,6 +10520,8 @@ var codex = {
10491
10520
  meta: meta$5,
10492
10521
  launchFlags,
10493
10522
  resumeFlags: (id) => ["resume", id],
10523
+ steerKeys: ["Enter"],
10524
+ interruptKeys: ["Escape"],
10494
10525
  reportsWorking: () => true,
10495
10526
  headless: (args) => hasArg(args, "exec", "e", "review"),
10496
10527
  envPrefixes: ["CODEX_"],
@@ -10756,6 +10787,8 @@ var copilot = {
10756
10787
  asks: "which sessions to restore"
10757
10788
  }],
10758
10789
  reportsWorking: () => true,
10790
+ steerKeys: ["Enter"],
10791
+ interruptKeys: ["C-c"],
10759
10792
  headless: (args) => hasArg(args, "-p", "--prompt"),
10760
10793
  envPrefixes: ["COPILOT_"],
10761
10794
  readHook: readHook$4,
@@ -10933,6 +10966,8 @@ var cursor = {
10933
10966
  pluginDir()
10934
10967
  ],
10935
10968
  headless: (args) => hasArg(args, "-p", "--print"),
10969
+ steerKeys: ["Enter", "Enter"],
10970
+ interruptKeys: ["Escape"],
10936
10971
  readHook: readHook$3,
10937
10972
  readyScreen: /Plan, search, build anything|Add a follow-up/,
10938
10973
  usage: () => cursorRow().then((row) => [row]),
@@ -11232,6 +11267,7 @@ var grok = {
11232
11267
  },
11233
11268
  reportsWorking: registered,
11234
11269
  promptAsArgv: true,
11270
+ interruptKeys: ["C-c"],
11235
11271
  headless: (args) => hasArg(args, "-p", "--single", "--prompt-file", "--prompt-json", "agent"),
11236
11272
  envPrefixes: ["GROK_"],
11237
11273
  readHook: readHook$2,
@@ -11408,6 +11444,8 @@ var opencode = {
11408
11444
  readyScreen: /Ask anything/,
11409
11445
  launchEnv: () => ({ OPENCODE_CONFIG_CONTENT: pluginConfig() }),
11410
11446
  reportsWorking: installed$1,
11447
+ steerKeys: ["Enter"],
11448
+ interruptKeys: ["Escape", "Escape"],
11411
11449
  headless: (args) => hasArg(args, "run"),
11412
11450
  envPrefixes: ["OPENCODE_"],
11413
11451
  readHook: readHook$1
@@ -11529,6 +11567,8 @@ var AGENTS = [
11529
11567
  meta,
11530
11568
  launchFlags: () => ["-e", extensionFile()],
11531
11569
  reportsWorking: installed,
11570
+ steerKeys: ["Enter"],
11571
+ interruptKeys: ["Escape"],
11532
11572
  headless: (args) => hasArg(args, "-p", "--print", "--mode"),
11533
11573
  envPrefixes: ["PI_"],
11534
11574
  readHook
@@ -11577,6 +11617,15 @@ function startupQuestion(id, screen) {
11577
11617
  function readyScreen(id) {
11578
11618
  return agentFor(id)?.readyScreen;
11579
11619
  }
11620
+ /** The keys that hand a pasted message to the turn under way
11621
+ * (`steerKeys`), if its CLI takes one mid-turn. */
11622
+ function steerKeys(id) {
11623
+ return agentFor(id)?.steerKeys;
11624
+ }
11625
+ /** The keys that stop a turn under way (`interruptKeys`), if known. */
11626
+ function interruptKeys(id) {
11627
+ return agentFor(id)?.interruptKeys;
11628
+ }
11580
11629
  /** Cold launch takes the first prompt as argv rather than a paste. */
11581
11630
  function promptAsArgv(id) {
11582
11631
  return agentFor(id)?.promptAsArgv ?? false;
@@ -17519,7 +17568,7 @@ function notifySessionsChanged(workspaceId) {
17519
17568
  async function emitSessionsChanged(workspaceId) {
17520
17569
  try {
17521
17570
  const states = await sessionStates();
17522
- const { teamsOf } = await import("./_Cg63x2E_.js");
17571
+ const { teamsOf } = await import("./_CeTAKoPH.js");
17523
17572
  publish("sessions.changed", {
17524
17573
  workspaceId,
17525
17574
  sessions: listSessions(workspaceId).map((s) => ({
@@ -17541,7 +17590,7 @@ async function killWorkspaceSessions(workspaceId) {
17541
17590
  * that passes one through, typing the rest into the pane as keys. */
17542
17591
  var PASTE_UNSAFE = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/g;
17543
17592
  /** Type text into a session's tmux (bracketed paste + Enter), creating it if needed. */
17544
- async function sendToSession(id, raw, size) {
17593
+ async function sendToSession(id, raw, size, submit = ["Enter"]) {
17545
17594
  const text = raw.replace(PASTE_UNSAFE, "");
17546
17595
  const session = getSession(id);
17547
17596
  if (!session) throw new Error("unknown session");
@@ -17607,13 +17656,48 @@ async function sendToSession(id, raw, size) {
17607
17656
  name
17608
17657
  ], env);
17609
17658
  await waitStill(name, env, PASTE_SETTLE_MS);
17610
- await tmux([
17611
- "send-keys",
17612
- "-t",
17613
- name,
17614
- "Enter"
17615
- ], env);
17659
+ for (const [i, key] of submit.entries()) {
17660
+ if (i) await sleep(KEY_GAP_MS);
17661
+ await tmux([
17662
+ "send-keys",
17663
+ "-t",
17664
+ name,
17665
+ key
17666
+ ], env);
17667
+ }
17668
+ }
17669
+ /** Between one submit key and the next. */
17670
+ var KEY_GAP_MS = 400;
17671
+ /** Stop the turn a session's CLI is on (`--interrupt`) with the family's
17672
+ * keys, and give it a moment to be back at its prompt. False: its family
17673
+ * names none, or its pane is gone. Noted as the user's own Esc is, so a
17674
+ * turn that ends with no hook to say so reads as ended once the pane goes
17675
+ * still (scraper.ts). */
17676
+ async function interruptSession(id) {
17677
+ const session = getSession(id);
17678
+ const keys = interruptKeys(session?.agent);
17679
+ if (!session || !keys) return false;
17680
+ const name = tmuxName(id);
17681
+ const env = cleanEnv();
17682
+ noteInterrupt(id);
17683
+ try {
17684
+ for (const [i, key] of keys.entries()) {
17685
+ if (i) await sleep(KEY_GAP_MS);
17686
+ await tmux([
17687
+ "send-keys",
17688
+ "-t",
17689
+ name,
17690
+ key
17691
+ ], env);
17692
+ }
17693
+ } catch {
17694
+ return false;
17695
+ }
17696
+ await waitStill(name, env, INTERRUPT_SETTLE_MS);
17697
+ return true;
17616
17698
  }
17699
+ /** Upper bound on a CLI redrawing its prompt after an interrupt. */
17700
+ var INTERRUPT_SETTLE_MS = 2e3;
17617
17701
  /** Start a session's process in a tmux session of its own, detached, and
17618
17702
  * wait for its CLI to take input: the pane starts as a login shell that
17619
17703
  * then execs the agent, and the agent takes a while more to draw its
@@ -17638,7 +17722,8 @@ async function sessionStates(maxAgeMs = 0) {
17638
17722
  result[id] = {
17639
17723
  alive: true,
17640
17724
  phase: agentPhase(id),
17641
- command: run ? void 0 : command
17725
+ command: run ? void 0 : command,
17726
+ turnSince: turnSince(id)
17642
17727
  };
17643
17728
  }
17644
17729
  return result;
@@ -19104,7 +19189,9 @@ ${repoLines}
19104
19189
  running as you do (it asks the user nothing you would not), and
19105
19190
  \`work session send <id> "<text>"\` messages one; its last message, as that
19106
19191
  turn ends, comes back to you as a prompt: end your turn to wait for it (or
19107
- \`work session wait\`). \`work session fanout --agent <id>… --prompt "<task {}>" <item>…\`
19192
+ \`work session wait\`). A message waits for the turn under way to end,
19193
+ which can take hours: a correction or a stop goes with \`--now\` (into
19194
+ that turn, at its next step) or \`--interrupt\` (stops it first). \`work session fanout --agent <id>… --prompt "<task {}>" <item>…\`
19108
19195
  starts a group, a few at a time, whose replies come back as one prompt
19109
19196
  (\`work session team\` shows how far they are). \`--topic <name>\` gives each a
19110
19197
  topic branch of its own; send paths, not pasted files. They close once
@@ -19128,4 +19215,4 @@ ${repoLines}
19128
19215
  `;
19129
19216
  }
19130
19217
  //#endregion
19131
- export { reopenable as $, saveSubscription as $n, subscriberCount as $r, notePushActivity as $t, closedSession as A, onTurnEnd as An, discoverAgents as Ar, installAgent as At, launchDir as B, agentBadge as Bn, agentLabel$1 as Br, readBlobAt as Bt, workspaceBranches as C, noteInterrupt as Cn, enabledAgents as Cr, lspEnabled as Ct, beginCreation as D, notifyEventOn as Dn, setDisabledAgents as Dr, sharing as Dt, agentCaller as E, noteUserAnswered as En, preferredAgent as Er, serverList as Et, ensureTmuxServer as F, setSessionViewers as Fn, which as Fr, removeTool as Ft, newSessionArgs as G, ACCENT_RE as Gn, FRAME_ANCESTORS as Gr, setPoints as Gt, listPanesWithin as H, agentFromCommand as Hn, parseAgentId as Hr, reviewWaiting as Ht, forgetPanes as I, settleQuietWorking as In, firewallProbe as Ir, runStreaming as It, onSessionDispose as J, manifest as Jn, httpError as Jr, commentFolder as Jt, noteConversation as K, getInstance as Kn, FRAME_HEADERS as Kr, startSnapSweep as Kt, getSession as L, summaryOf as Ln, PROJECT_TOOLS as Lr, updateTool as Lt, creationOf as M, setAgentPhase as Mn, ghKnownHosts as Mr, installTool as Mt, descendantsOf as N, setExpecting as Nn, miseInstalls as Nr, logoutGithub as Nt, cleanEnv as O, onFinished as On, setPref as Or, whileInstalling as Ot, disposeSessions as P, setScrapedPhase as Pn, miseVersions as Pr, refreshGithub as Pt, reopenSession as Q, pushPublicKey as Qn, subscribe as Qr, hotBatchMinMs as Qt, killSession as R, turnPhase as Rn, TOOLS as Rr, MAX_PREVIEW_BYTES as Rt, withProgressOp as S, noteBackground as Sn, disabledAgents as Sr, installServer as St, hookToken as T, noteTyped as Tn, isKnownAgent as Tr, serverById as Tt, listSessions as U, agentLabel as Un, toolById as Ur, workspaceDiff as Ut, listPanes as V, agentFamily as Vn, catalogPin as Vr, readFileAt as Vt, markTmuxStarted as W, agentMeta as Wn, applyPrefChange as Wr, workspaceSections as Wt, panePids as X, setInstance as Xn, publish as Xr, sectionFor as Xt, ownWorkspaceOnly as Y, normalizeAccent as Yn, readBody as Yr, markBranch as Yt, renameSession as Z, deleteSubscription as Zn, publishJson as Zr, dismissPr as Zt, retryMaterialize as _, hookPhase as _n, WORKSPACE_PREFS as _r, addCustomServer as _t, ensureUntrackedCache as a, ensureAllCacheConfig as ai, readHookPayload as an, repoCatalog as ar, killWorkspaceProc as at, sweepTrash as b, lastTypedAt as bn, changePref as br, forgetProbes as bt, insertPendingWorkspace as c, tmux as ci, credentialStamp as cn, addHost as cr, killServers as ct, progress as d, withLock as di, cleanSummary as dn, forgetToken as dr, lspQueryOf as dt, all as ei, refreshPrsBatch as en, sendPush as er, retireSession as et, progressSince as f, inside as fn, isValidHost as fr, lspUses as ft, resumePendingWorkspaces as g, clearAgentPhase as gn, PREF_MAX as gr, stopServers as gt, removeRepo as h, agentPhase as hn, unreachableRepos as hr, stopAllServers as ht, deleteWorkspace as i, ownsBranchOf as ii, AGENTS as in, repoBranches as ir, tmuxWasStarted as it, createSession as j, sessionWatched as jn, doctor as jr, installMise as jt, clearTmuxStarted as k, onPhaseChange as kn, setSetting as kr, authGithub as kt, listWorkspaces as l, config as li, readCache as ln, configuredHosts as lr, lspDiagnostics as lt, queueMaterialize as m, activityOf as mn, removeHost as mr, runningServers as mt, barePath as n, get as ni, workspacePrs as nn, headOid as nr, sessionStates as nt, gcBares as o, TMUX_SOCKET as oi, reportsWorking as on, repoDefaultBranch as or, portsByWorkspace as ot, pruneLaneBranch as p, realInside as pn, normalizeHost as pr, lspWarm as pt, notifySessionsChanged as q, iconSvg as qn, checked as qr, diffStamp as qt, createWorkspace as r, workspacePath as ri, noteActivity as rn, pendingSsoOrgs as rr, tmuxName as rt, getWorkspace as s, git as si, blankRow as sn, DEFAULT_HOST as sr, workspaceProcs as st, addRepo as t, db as ti, withoutDismissed as tn, validSubscription as tr, sendToSession as tt, otherWorkspaceBranches as u, swr as ui, writeCache as un, ensureGitCredentials as ur, lspQuery as ut, revParse as v, hookReportedAt as vn, agentChoices as vr, allServers as vt, ensureAllPushHooks as w, notePermissionMode as wn, getSetting as wr, removeServer as wt, syncAgentsMd as x, noteActivity$1 as xn, deleteSetting as xr, installKey as xt, setWorkspaceStatus as y, interruptedSinceReport as yn, allPrefs as yr, forgetCustomServer as yt, killWorkspaceSessions as z, turnSettling as zn, agentById as zr, fileChanges as zt };
19218
+ export { reopenSession as $, normalizeAccent as $n, readBody as $r, hotBatchMinMs as $t, closedSession as A, notifyEventOn as An, preferredAgent as Ar, authGithub as At, killWorkspaceSessions as B, summaryOf as Bn, firewallProbe as Br, fileChanges as Bt, workspaceBranches as C, lastTypedAt as Cn, allPrefs as Cr, installServer as Ct, beginCreation as D, notePermissionMode as Dn, enabledAgents as Dr, serverList as Dt, agentCaller as E, noteInterrupt as En, disabledAgents as Er, serverById as Et, ensureTmuxServer as F, setAgentPhase as Fn, doctor as Fr, refreshGithub as Ft, markTmuxStarted as G, agentFamily as Gn, catalogPin as Gr, workspaceSections as Gt, listPanes as H, turnSettling as Hn, TOOLS as Hr, readFileAt as Ht, forgetPanes as I, setExpecting as In, ghKnownHosts as Ir, removeTool as It, notifySessionsChanged as J, agentMeta as Jn, applyPrefChange as Jr, diffStamp as Jt, newSessionArgs as K, agentFromCommand as Kn, parseAgentId as Kr, setPoints as Kt, getSession as L, setScrapedPhase as Ln, miseInstalls as Lr, runStreaming as Lt, creationOf as M, onPhaseChange as Mn, setPref as Mr, installMise as Mt, descendantsOf as N, onTurnEnd as Nn, setSetting as Nr, installTool as Nt, cleanEnv as O, noteTyped as On, getSetting as Or, sharing as Ot, disposeSessions as P, sessionWatched as Pn, discoverAgents as Pr, logoutGithub as Pt, renameSession as Q, manifest as Qn, httpError as Qr, dismissPr as Qt, interruptSession as R, setSessionViewers as Rn, miseVersions as Rr, updateTool as Rt, withProgressOp as S, interruptedSinceReport as Sn, agentChoices as Sr, installKey as St, hookToken as T, noteBackground as Tn, deleteSetting as Tr, removeServer as Tt, listPanesWithin as U, turnSince as Un, agentById as Ur, reviewWaiting as Ut, launchDir as V, turnPhase as Vn, PROJECT_TOOLS as Vr, readBlobAt as Vt, listSessions as W, agentBadge as Wn, agentLabel$1 as Wr, workspaceDiff as Wt, ownWorkspaceOnly as X, getInstance as Xn, FRAME_HEADERS as Xr, markBranch as Xt, onSessionDispose as Y, ACCENT_RE as Yn, FRAME_ANCESTORS as Yr, commentFolder as Yt, panePids as Z, iconSvg as Zn, checked as Zr, sectionFor as Zt, retryMaterialize as _, activityOf as _n, normalizeHost as _r, stopServers as _t, ensureUntrackedCache as a, db as ai, AGENTS as an, validSubscription as ar, tmuxWasStarted as at, sweepTrash as b, hookPhase as bn, PREF_MAX as br, forgetCustomServer as bt, insertPendingWorkspace as c, ownsBranchOf as ci, reportsWorking as cn, repoBranches as cr, workspaceProcs as ct, progress as d, git as di, credentialStamp as dn, DEFAULT_HOST as dr, lspQuery as dt, publish as ei, notePushActivity as en, setInstance as er, reopenable as et, progressSince as f, tmux as fi, readCache as fn, addHost as fr, lspQueryOf as ft, resumePendingWorkspaces as g, realInside as gn, isValidHost as gr, stopAllServers as gt, removeRepo as h, withLock as hi, inside as hn, forgetToken as hr, runningServers as ht, deleteWorkspace as i, all as ii, noteActivity as in, sendPush as ir, tmuxName as it, createSession as j, onFinished as jn, setDisabledAgents as jr, installAgent as jt, clearTmuxStarted as k, noteUserAnswered as kn, isKnownAgent as kr, whileInstalling as kt, listWorkspaces as l, ensureAllCacheConfig as li, steerKeys as ln, repoCatalog as lr, killServers as lt, queueMaterialize as m, swr as mi, cleanSummary as mn, ensureGitCredentials as mr, lspWarm as mt, barePath as n, subscribe as ni, withoutDismissed as nn, pushPublicKey as nr, sendToSession as nt, gcBares as o, get as oi, interruptKeys as on, headOid as or, killWorkspaceProc as ot, pruneLaneBranch as p, config as pi, writeCache as pn, configuredHosts as pr, lspUses as pt, noteConversation as q, agentLabel as qn, toolById as qr, startSnapSweep as qt, createWorkspace as r, subscriberCount as ri, workspacePrs as rn, saveSubscription as rr, sessionStates as rt, getWorkspace as s, workspacePath as si, readHookPayload as sn, pendingSsoOrgs as sr, portsByWorkspace as st, addRepo as t, publishJson as ti, refreshPrsBatch as tn, deleteSubscription as tr, retireSession as tt, otherWorkspaceBranches as u, TMUX_SOCKET as ui, blankRow as un, repoDefaultBranch as ur, lspDiagnostics as ut, revParse as v, agentPhase as vn, removeHost as vr, addCustomServer as vt, ensureAllPushHooks as w, noteActivity$1 as wn, changePref as wr, lspEnabled as wt, syncAgentsMd as x, hookReportedAt as xn, WORKSPACE_PREFS as xr, forgetProbes as xt, setWorkspaceStatus as y, clearAgentPhase as yn, unreachableRepos as yr, allServers as yt, killSession as z, settleQuietWorking as zn, which as zr, MAX_PREVIEW_BYTES as zt };