@dylanpiercey/work 0.2.54 → 0.2.55

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 (486) hide show
  1. package/bin/cli/session.mjs +153 -18
  2. package/dist/{_BMGWiQox.js → _CKxRXoHK.js} +73 -73
  3. package/dist/_CVNGN2QO.js +2 -0
  4. package/dist/{_DVgQzQmj.js → _CZ4mgOdb.js} +203 -44
  5. package/dist/{_CIYlzn8G.js → _Cb_JPQ7K.js} +235 -55
  6. package/dist/_hjIYs3Gy.js +2 -0
  7. package/dist/index.mjs +1358 -1208
  8. package/dist/public/assets/{_Ds7XpQ2s.js → _0YT2d3LY.js} +1 -1
  9. package/dist/public/assets/_0YT2d3LY.js.br +0 -0
  10. package/dist/public/assets/{_BxhzQr-y.js → _0rKvhqMi.js} +1 -1
  11. package/dist/public/assets/_0rKvhqMi.js.br +0 -0
  12. package/dist/public/assets/_5PI2fZS8.js +1 -0
  13. package/dist/public/assets/_72zzTyhJ.js +1 -0
  14. package/dist/public/assets/_91-k5tQx.js +1 -0
  15. package/dist/public/assets/{_CxQ8r0TT.js → _AIdFuyL9.js} +1 -1
  16. package/dist/public/assets/_AIdFuyL9.js.br +0 -0
  17. package/dist/public/assets/{_BLiKHJwt.js → _AtwdfMkh.js} +1 -1
  18. package/dist/public/assets/_AtwdfMkh.js.br +0 -0
  19. package/dist/public/assets/_B1qplI2K.js +1 -0
  20. package/dist/public/assets/_B29W737t.js +1 -0
  21. package/dist/public/assets/{_1UBL8Blo.js → _B56DMc1H.js} +1 -1
  22. package/dist/public/assets/_B56DMc1H.js.br +0 -0
  23. package/dist/public/assets/_B8Bw484t.js +1 -0
  24. package/dist/public/assets/{_BfgSGto2.js → _BA2Lowt-.js} +1 -1
  25. package/dist/public/assets/_BA2Lowt-.js.br +0 -0
  26. package/dist/public/assets/_BBF2mdRO.js +1 -0
  27. package/dist/public/assets/{_Do7Tz6Oq.js → _BDCDGYHw.js} +1 -1
  28. package/dist/public/assets/_BDR1eJ6l.js +1 -0
  29. package/dist/public/assets/_BDppKLVj.js +1 -0
  30. package/dist/public/assets/{_CKVcq8YZ.js → _BFAY4fG9.js} +1 -1
  31. package/dist/public/assets/_BFAY4fG9.js.br +0 -0
  32. package/dist/public/assets/{_3jsnTS30.js → _BGn8HXYq.js} +1 -1
  33. package/dist/public/assets/_BGn8HXYq.js.br +0 -0
  34. package/dist/public/assets/{_DxXKHoN2.js → _BJ3_jYoD.js} +1 -1
  35. package/dist/public/assets/_BJ3_jYoD.js.br +0 -0
  36. package/dist/public/assets/_BJqpx-Y1.js +1 -0
  37. package/dist/public/assets/{_CNsY6BDJ.js → _BOQ3PwKZ.js} +1 -1
  38. package/dist/public/assets/_BOQ3PwKZ.js.br +0 -0
  39. package/dist/public/assets/{_DFev6DeB.js → _BOXau4gS.js} +1 -1
  40. package/dist/public/assets/_BOXau4gS.js.br +0 -0
  41. package/dist/public/assets/{_DTWK6q1Z.js → _BPbX8cFz.js} +1 -1
  42. package/dist/public/assets/_BPbX8cFz.js.br +0 -0
  43. package/dist/public/assets/{_C_bdLAyM.js → _BT2Sj_YW.js} +4 -4
  44. package/dist/public/assets/_BT2Sj_YW.js.br +0 -0
  45. package/dist/public/assets/_BUvcY7QT.js +1 -0
  46. package/dist/public/assets/_BVeS3UXr.js +1 -0
  47. package/dist/public/assets/{_D4XmHQ2R.js → _BYO4bphw.js} +1 -1
  48. package/dist/public/assets/_BYO4bphw.js.br +0 -0
  49. package/dist/public/assets/_BYYFg9LD.js +1 -0
  50. package/dist/public/assets/{_C796ASSx.js → _BZmB54mR.js} +1 -1
  51. package/dist/public/assets/_BZmB54mR.js.br +0 -0
  52. package/dist/public/assets/{_Dsw3Gg6v.js → _B_WzjbZc.js} +1 -1
  53. package/dist/public/assets/_B_WzjbZc.js.br +0 -0
  54. package/dist/public/assets/{_D3AOk4P-.js → _B_mZh-m9.js} +1 -1
  55. package/dist/public/assets/_B_mZh-m9.js.br +0 -0
  56. package/dist/public/assets/_Bawb2dbh.js +1 -0
  57. package/dist/public/assets/{_B_OBU5Xy.js → _BcWvsmRe.js} +3 -3
  58. package/dist/public/assets/_BcWvsmRe.js.br +0 -0
  59. package/dist/public/assets/{_D7uaThi9.js → _BeA1nKaN.js} +1 -1
  60. package/dist/public/assets/_BeA1nKaN.js.br +0 -0
  61. package/dist/public/assets/{_D8GEKPIW.js → _BeZ7pjQV.js} +1 -1
  62. package/dist/public/assets/_BeZ7pjQV.js.br +0 -0
  63. package/dist/public/assets/{_DmC7G6x5.js → _BgV7K2cf.js} +1 -1
  64. package/dist/public/assets/_BgV7K2cf.js.br +0 -0
  65. package/dist/public/assets/{_4Chw3SUK.js → _BgtzrIGU.js} +1 -1
  66. package/dist/public/assets/_BgtzrIGU.js.br +0 -0
  67. package/dist/public/assets/{_DjhlvY8c.js → _BiNobkT0.js} +1 -1
  68. package/dist/public/assets/_BiNobkT0.js.br +0 -0
  69. package/dist/public/assets/_BihgYQ-n.js +1 -0
  70. package/dist/public/assets/{_CWtANOEx.js → _BjTM0FyT.js} +1 -1
  71. package/dist/public/assets/_BjTM0FyT.js.br +0 -0
  72. package/dist/public/assets/{_QPf8MR9W.js → _Bjib9M1A.js} +1 -1
  73. package/dist/public/assets/_Bjib9M1A.js.br +0 -0
  74. package/dist/public/assets/_BkhLTI27.js +1 -0
  75. package/dist/public/assets/{_DCeYSMTF.js → _BmaXli3m.js} +1 -1
  76. package/dist/public/assets/_BmaXli3m.js.br +0 -0
  77. package/dist/public/assets/{_C4uiVwFM.js → _BmwvMhWC.js} +1 -1
  78. package/dist/public/assets/_BmwvMhWC.js.br +0 -0
  79. package/dist/public/assets/{_CWxDkun5.js → _Bo0K9EaI.js} +1 -1
  80. package/dist/public/assets/_Bo0K9EaI.js.br +0 -0
  81. package/dist/public/assets/{_njdpMxcd.js → _BqTF3ARG.js} +1 -1
  82. package/dist/public/assets/_BqTF3ARG.js.br +0 -0
  83. package/dist/public/assets/_BrMbTp16.js +1 -0
  84. package/dist/public/assets/{_C6szx-Xv.js → _BsaOdWyz.js} +1 -1
  85. package/dist/public/assets/_BsaOdWyz.js.br +0 -0
  86. package/dist/public/assets/_Bt-nevYL.js +1 -0
  87. package/dist/public/assets/{_D9o016tn.js → _BtCTUxzJ.js} +1 -1
  88. package/dist/public/assets/_BtCTUxzJ.js.br +0 -0
  89. package/dist/public/assets/{_0xB6Qfvl.js → _BvtRBlS4.js} +1 -1
  90. package/dist/public/assets/_BvtRBlS4.js.br +0 -0
  91. package/dist/public/assets/_C0OkE91l.js +1 -0
  92. package/dist/public/assets/{_aQM6-16e.js → _C0Qul9-A.js} +5 -5
  93. package/dist/public/assets/_C0Qul9-A.js.br +0 -0
  94. package/dist/public/assets/_C0rT0pkF.js +1 -0
  95. package/dist/public/assets/_C3CmAkGd.js +1 -0
  96. package/dist/public/assets/{_ZSYtUtmc.js → _C3CvDqAU.js} +1 -1
  97. package/dist/public/assets/_C3CvDqAU.js.br +0 -0
  98. package/dist/public/assets/{_O9eylexG.js → _C3JqzX6h.js} +1 -1
  99. package/dist/public/assets/_C3JqzX6h.js.br +0 -0
  100. package/dist/public/assets/{_DebL6vHW.js → _C4ANqjUO.js} +1 -1
  101. package/dist/public/assets/_C4ANqjUO.js.br +0 -0
  102. package/dist/public/assets/_C5DH9oOf.js +1 -0
  103. package/dist/public/assets/_C5sFdYe9.js +1 -0
  104. package/dist/public/assets/{_lQXNw9LH.js → _C74hoXSg.js} +1 -1
  105. package/dist/public/assets/_C74hoXSg.js.br +0 -0
  106. package/dist/public/assets/_CCTo-C_5.js +1 -0
  107. package/dist/public/assets/_CDcdmiKC.js +1 -0
  108. package/dist/public/assets/_CDqJPzG_.js +1 -0
  109. package/dist/public/assets/{_o8XCpW2Q.js → _CH4FVzly.js} +1 -1
  110. package/dist/public/assets/_CH4FVzly.js.br +0 -0
  111. package/dist/public/assets/_CHRtfQm8.js +1 -0
  112. package/dist/public/assets/_CHnN1OUE.js +1 -0
  113. package/dist/public/assets/_CKLCZ7qS.js +1 -0
  114. package/dist/public/assets/{_zvNnoRaL.js → _CMZsgNPc.js} +1 -1
  115. package/dist/public/assets/_CMZsgNPc.js.br +0 -0
  116. package/dist/public/assets/_CNbdL75e.js +1 -0
  117. package/dist/public/assets/_CQsxBQYp.js +1 -0
  118. package/dist/public/assets/{_YuiZZukx.js → _CSSUf_cF.js} +1 -1
  119. package/dist/public/assets/_CSSUf_cF.js.br +0 -0
  120. package/dist/public/assets/_CV0JELaI.js +1 -0
  121. package/dist/public/assets/_CVcEXbq2.js +1 -0
  122. package/dist/public/assets/_CY7yLV4X.js +1 -0
  123. package/dist/public/assets/{_DKkD3kK6.js → _CYtI3ZUO.js} +1 -1
  124. package/dist/public/assets/_CYtI3ZUO.js.br +0 -0
  125. package/dist/public/assets/_CZ0oEQzb.js +1 -0
  126. package/dist/public/assets/_CZeCHesq.js +1 -0
  127. package/dist/public/assets/_CZei_-4z.js +1 -0
  128. package/dist/public/assets/{_DFghbGGx.js → _CcWLzdOn.js} +1 -1
  129. package/dist/public/assets/_CcWLzdOn.js.br +0 -0
  130. package/dist/public/assets/{_BOc2yJeY.js → _Ccwh6_69.js} +8 -8
  131. package/dist/public/assets/_Ccwh6_69.js.br +0 -0
  132. package/dist/public/assets/{_CbULVNOV.js → _CdmLszaF.js} +1 -1
  133. package/dist/public/assets/_CdmLszaF.js.br +0 -0
  134. package/dist/public/assets/_CdvRIoSW.js +1 -0
  135. package/dist/public/assets/{_D6ED5XaS.js → _CeWEms2G.js} +1 -1
  136. package/dist/public/assets/{_D1sVJ4UV.js → _CkYsst7o.js} +1 -1
  137. package/dist/public/assets/_CkYsst7o.js.br +0 -0
  138. package/dist/public/assets/{_Dw0xtqIq.js → _ClTXG9so.js} +1 -1
  139. package/dist/public/assets/_ClUpRbMG.js +1 -0
  140. package/dist/public/assets/{_bI_6NeNS.js → _ClapXxZl.js} +1 -1
  141. package/dist/public/assets/_ClapXxZl.js.br +0 -0
  142. package/dist/public/assets/{_Ajmopnqf.js → _CoaJtMCC.js} +1 -1
  143. package/dist/public/assets/_CoaJtMCC.js.br +0 -0
  144. package/dist/public/assets/_Coqwh06x.js +1 -0
  145. package/dist/public/assets/{_xvkcQ3Ao.js → _CqCLnBE3.js} +1 -1
  146. package/dist/public/assets/_CqCLnBE3.js.br +0 -0
  147. package/dist/public/assets/{_BMAyDlN4.js → _Crf1JP7F.js} +1 -1
  148. package/dist/public/assets/_Crf1JP7F.js.br +0 -0
  149. package/dist/public/assets/{_BhC5jX70.js → _CruGUeWu.js} +1 -1
  150. package/dist/public/assets/_CruGUeWu.js.br +0 -0
  151. package/dist/public/assets/_CvBNrX9c.js +1 -0
  152. package/dist/public/assets/{_YQkOx7r-.js → _CvpfgyZE.js} +1 -1
  153. package/dist/public/assets/_CvpfgyZE.js.br +0 -0
  154. package/dist/public/assets/{_bMGBscNR.js → _CxgPcY1B.js} +1 -1
  155. package/dist/public/assets/_CxgPcY1B.js.br +0 -0
  156. package/dist/public/assets/{_CtBJmjtk.js → _D-oIq8BZ.js} +1 -1
  157. package/dist/public/assets/_D-oIq8BZ.js.br +0 -0
  158. package/dist/public/assets/_D0H5I5m4.js +1 -0
  159. package/dist/public/assets/{_YCyDgobZ.js → _D0HnI6ug.js} +1 -1
  160. package/dist/public/assets/_D0HnI6ug.js.br +0 -0
  161. package/dist/public/assets/_D3TaXLz8.js +1 -0
  162. package/dist/public/assets/_D3TqQSka.js +1 -0
  163. package/dist/public/assets/_D4ZY_O8p.js +1 -0
  164. package/dist/public/assets/{_lqfxMh-e.js → _D4icZZux.js} +1 -1
  165. package/dist/public/assets/_D4icZZux.js.br +0 -0
  166. package/dist/public/assets/{_4cBA3aLL.js → _D4tgqiIB.js} +1 -1
  167. package/dist/public/assets/_D4tgqiIB.js.br +0 -0
  168. package/dist/public/assets/{_X4pPPdHd.js → _D6OAuof8.js} +1 -1
  169. package/dist/public/assets/_D7IayTpp.js +1 -0
  170. package/dist/public/assets/{_DiDr51vc.js → _D7UV9Wir.js} +1 -1
  171. package/dist/public/assets/_D7UV9Wir.js.br +0 -0
  172. package/dist/public/assets/{_ZBkRztCR.js → _D7siXaWH.js} +1 -1
  173. package/dist/public/assets/_D7siXaWH.js.br +0 -0
  174. package/dist/public/assets/{_DPTpk-3g.js → _D8e-tVLG.js} +1 -1
  175. package/dist/public/assets/_D8e-tVLG.js.br +0 -0
  176. package/dist/public/assets/{_C_cTX6K5.js → _D9zKRLBR.js} +1 -1
  177. package/dist/public/assets/_D9zKRLBR.js.br +0 -0
  178. package/dist/public/assets/{_lyuJBboR.js → _DBcnZRAl.js} +1 -1
  179. package/dist/public/assets/_DBcnZRAl.js.br +0 -0
  180. package/dist/public/assets/{_CZBAPtUq.js → _DBv6A4ZA.js} +1 -1
  181. package/dist/public/assets/_DBv6A4ZA.js.br +0 -0
  182. package/dist/public/assets/{_X-h6bvK5.js → _DChdFXSz.js} +1 -1
  183. package/dist/public/assets/_DChdFXSz.js.br +0 -0
  184. package/dist/public/assets/{_CRj3MYVS.js → _DEOJwc9o.js} +1 -1
  185. package/dist/public/assets/_DEOJwc9o.js.br +0 -0
  186. package/dist/public/assets/_DEUO3A77.js +1 -0
  187. package/dist/public/assets/_DEto2yAG.js +1 -0
  188. package/dist/public/assets/_DF4cXNDT.js +1 -0
  189. package/dist/public/assets/{_Dx9kDs0y.js → _DHhfMQv0.js} +1 -1
  190. package/dist/public/assets/_DHhfMQv0.js.br +0 -0
  191. package/dist/public/assets/{_BgFIHM3O.js → _DJWtiudl.js} +1 -1
  192. package/dist/public/assets/_DJWtiudl.js.br +0 -0
  193. package/dist/public/assets/{_CD8Nrb8d.js → _DK7tFAuR.js} +1 -1
  194. package/dist/public/assets/_DK7tFAuR.js.br +0 -0
  195. package/dist/public/assets/_DLLxBxXt.js +1 -0
  196. package/dist/public/assets/_DLw2Ql6h.js +1 -0
  197. package/dist/public/assets/_DMAM82ur.js +1 -0
  198. package/dist/public/assets/_DMRQxpWh.js +1 -0
  199. package/dist/public/assets/{_CwE88QoM.js → _DN8cYyMA.js} +1 -1
  200. package/dist/public/assets/_DN8cYyMA.js.br +0 -0
  201. package/dist/public/assets/_DPXtZlgx.js +1 -0
  202. package/dist/public/assets/{_BO0nbCV_.js → _DRe6yj8o.js} +1 -1
  203. package/dist/public/assets/_DRe6yj8o.js.br +0 -0
  204. package/dist/public/assets/_DTRwgUDz.js +1 -0
  205. package/dist/public/assets/_DXKf95xT.js +1 -0
  206. package/dist/public/assets/{_KtOzSSXc.js → _DXTQvf2X.js} +1 -1
  207. package/dist/public/assets/_DYLeu8Yn.js +1 -0
  208. package/dist/public/assets/{_CoSTwSzR.js → _DYcJRv1v.js} +1 -1
  209. package/dist/public/assets/_DYcJRv1v.js.br +0 -0
  210. package/dist/public/assets/{_CbjsWXSs.js → _D_0P73tR.js} +1 -1
  211. package/dist/public/assets/_D_0P73tR.js.br +0 -0
  212. package/dist/public/assets/{_BdGZA-Tg.js → _Da4ArfnL.js} +1 -1
  213. package/dist/public/assets/_Da4ArfnL.js.br +0 -0
  214. package/dist/public/assets/_Da6uZcpe.js +1 -0
  215. package/dist/public/assets/_Dd0Ly8u1.js +1 -0
  216. package/dist/public/assets/_DdUtrYLB.js +1 -0
  217. package/dist/public/assets/_DeEl87FQ.js +1 -0
  218. package/dist/public/assets/{_DkjgfAMw.js → _DeSxIIXB.js} +1 -1
  219. package/dist/public/assets/_DeSxIIXB.js.br +0 -0
  220. package/dist/public/assets/_DewfgUtc.js +1 -0
  221. package/dist/public/assets/_DexEfCG6.js +1 -0
  222. package/dist/public/assets/{_6fjReu4B.js → _Df2TxuvS.js} +1 -1
  223. package/dist/public/assets/_Df2TxuvS.js.br +0 -0
  224. package/dist/public/assets/{_D5V24AEc.js → _DjOV2LK6.js} +2 -2
  225. package/dist/public/assets/_DjOV2LK6.js.br +0 -0
  226. package/dist/public/assets/{_1KW-EquU.js → _DkyXsbiQ.js} +2 -2
  227. package/dist/public/assets/_DkyXsbiQ.js.br +0 -0
  228. package/dist/public/assets/_DlOMVv-w.js +1 -0
  229. package/dist/public/assets/_DmFwT38J.js +1 -0
  230. package/dist/public/assets/{_CzA4qpHl.js → _DmpEhYLB.js} +1 -1
  231. package/dist/public/assets/_DmpEhYLB.js.br +0 -0
  232. package/dist/public/assets/{_CrTzNnuE.js → _Dq3-ZF2Z.js} +1 -1
  233. package/dist/public/assets/_Dq3-ZF2Z.js.br +0 -0
  234. package/dist/public/assets/_DqqEHIEx.js +1 -0
  235. package/dist/public/assets/{_ClfU_RBW.js → _Duitagee.js} +1 -1
  236. package/dist/public/assets/_Duitagee.js.br +0 -0
  237. package/dist/public/assets/_DvYVra8w.js +1 -0
  238. package/dist/public/assets/_DwEFyNc7.js +1 -0
  239. package/dist/public/assets/{_B55z7yQD.js → _Dwea1Mf0.js} +1 -1
  240. package/dist/public/assets/_Dwea1Mf0.js.br +0 -0
  241. package/dist/public/assets/{_n6qGwuUU.js → _F19-LHbi.js} +1 -1
  242. package/dist/public/assets/_F19-LHbi.js.br +0 -0
  243. package/dist/public/assets/_Fkix9A0t.js +1 -0
  244. package/dist/public/assets/{_Ds5Zoi7V.js → _I_2m9jez.js} +1 -1
  245. package/dist/public/assets/_I_2m9jez.js.br +0 -0
  246. package/dist/public/assets/{_BPs6R-h2.js → _JPzuLvxx.js} +1 -1
  247. package/dist/public/assets/_JPzuLvxx.js.br +0 -0
  248. package/dist/public/assets/_MEOVRTxh.js +1 -0
  249. package/dist/public/assets/{_BQ5zlTNT.js → _NCyU2X3g.js} +1 -1
  250. package/dist/public/assets/_NCyU2X3g.js.br +0 -0
  251. package/dist/public/assets/_OXZnsLN0.js +1 -0
  252. package/dist/public/assets/_Tjc2w7pG.js +1 -0
  253. package/dist/public/assets/_Un6ZS8VK.js +1 -0
  254. package/dist/public/assets/{_DYhReWPU.js → _VlEKRWlm.js} +1 -1
  255. package/dist/public/assets/_VlEKRWlm.js.br +0 -0
  256. package/dist/public/assets/{_KsUb02iK.js → _YShYV2y4.js} +1 -1
  257. package/dist/public/assets/_YShYV2y4.js.br +0 -0
  258. package/dist/public/assets/_ZKijEvNU.js +1 -0
  259. package/dist/public/assets/_ZWkymwZ8.js +1 -0
  260. package/dist/public/assets/_bnPm10fX.js +1 -0
  261. package/dist/public/assets/{_BTyZY2Im.js → _cH--Ry2T.js} +1 -1
  262. package/dist/public/assets/_cH--Ry2T.js.br +0 -0
  263. package/dist/public/assets/_dULwd-83.js +1 -0
  264. package/dist/public/assets/{_BR4NeSOQ.js → _fb-cSkNg.js} +1 -1
  265. package/dist/public/assets/_fb-cSkNg.js.br +0 -0
  266. package/dist/public/assets/{_DELJhV-e.js → _gjXKiPz2.js} +1 -1
  267. package/dist/public/assets/_gjXKiPz2.js.br +0 -0
  268. package/dist/public/assets/_hZISiIh0.js +1 -0
  269. package/dist/public/assets/_j0MbYrcw.js +1 -0
  270. package/dist/public/assets/{_D0zmE4QK.js → _mg_8sHU7.js} +1 -1
  271. package/dist/public/assets/_mg_8sHU7.js.br +0 -0
  272. package/dist/public/assets/{_DKv4MVsp.js → _nif0UYC1.js} +1 -1
  273. package/dist/public/assets/_nif0UYC1.js.br +0 -0
  274. package/dist/public/assets/{_BJD98CaA.js → _ocpKhGmH.js} +1 -1
  275. package/dist/public/assets/_ocpKhGmH.js.br +0 -0
  276. package/dist/public/assets/{_BwGwCRhb.js → _qthymfEm.js} +1 -1
  277. package/dist/public/assets/{_DhvdrpwZ.js → _rlSb3jYt.js} +2 -2
  278. package/dist/public/assets/_rlSb3jYt.js.br +0 -0
  279. package/dist/public/assets/{_BWgzNbJw.js → _thTd3DoV.js} +1 -1
  280. package/dist/public/assets/_thTd3DoV.js.br +0 -0
  281. package/dist/public/assets/_yTQokBA3.js +1 -0
  282. package/dist/public/assets/{_4b_QDRmX.js → _yvNxTzJ_.js} +1 -1
  283. package/dist/public/assets/_yvNxTzJ_.js.br +0 -0
  284. package/dist/public/assets/files-view-CWdlTJZL.js +2 -0
  285. package/dist/public/assets/manage-workspace-BvB-DIwQ.js +2 -0
  286. package/dist/public/assets/new-bAfr06Ym.js +1 -0
  287. package/dist/public/assets/new-workspace-BGNyC8BU.js +2 -0
  288. package/dist/public/assets/review-view-Cnv9wu31.js +2 -0
  289. package/dist/public/assets/settings-bAfr06Ym.js +1 -0
  290. package/dist/public/assets/settings-page-DpFc3exI.js +2 -0
  291. package/dist/public/assets/{styles-DeJ_EPgo.css → styles-DAX6ERBR.css} +1 -1
  292. package/dist/public/assets/styles-DAX6ERBR.css.br +0 -0
  293. package/dist/public/assets/w-bAfr06Ym.js +1 -0
  294. package/dist/public/assets/w._-B0qk5BkH.js +1 -0
  295. package/dist/public/assets/w._-B2U79M4Z.js +1 -0
  296. package/dist/public/assets/w._-bAfr06Ym.js +1 -0
  297. package/package.json +1 -1
  298. package/dist/_B4B_SliZ.js +0 -2
  299. package/dist/_D-u1Rg6e.js +0 -2
  300. package/dist/public/assets/_0xB6Qfvl.js.br +0 -0
  301. package/dist/public/assets/_1AWYVlIF.js +0 -1
  302. package/dist/public/assets/_1KW-EquU.js.br +0 -0
  303. package/dist/public/assets/_1UBL8Blo.js.br +0 -0
  304. package/dist/public/assets/_3jsnTS30.js.br +0 -0
  305. package/dist/public/assets/_4Chw3SUK.js.br +0 -0
  306. package/dist/public/assets/_4L5fewuf.js +0 -1
  307. package/dist/public/assets/_4b_QDRmX.js.br +0 -0
  308. package/dist/public/assets/_4cBA3aLL.js.br +0 -0
  309. package/dist/public/assets/_6YevTPvT.js +0 -1
  310. package/dist/public/assets/_6fjReu4B.js.br +0 -0
  311. package/dist/public/assets/_7Tqrc-x8.js +0 -1
  312. package/dist/public/assets/_8JGBzRnV.js +0 -1
  313. package/dist/public/assets/_Ajmopnqf.js.br +0 -0
  314. package/dist/public/assets/_B15DimJn.js +0 -1
  315. package/dist/public/assets/_B55z7yQD.js.br +0 -0
  316. package/dist/public/assets/_B8O3dzdM.js +0 -1
  317. package/dist/public/assets/_B8bliE6m.js +0 -1
  318. package/dist/public/assets/_B9t7aOe8.js +0 -1
  319. package/dist/public/assets/_BAAg38Z9.js +0 -1
  320. package/dist/public/assets/_BBLvmOFm.js +0 -1
  321. package/dist/public/assets/_BBXaiBi0.js +0 -1
  322. package/dist/public/assets/_BBeCeS1U.js +0 -1
  323. package/dist/public/assets/_BGCRyWaJ.js +0 -1
  324. package/dist/public/assets/_BJD98CaA.js.br +0 -0
  325. package/dist/public/assets/_BLiKHJwt.js.br +0 -0
  326. package/dist/public/assets/_BM1QuzcG.js +0 -1
  327. package/dist/public/assets/_BMAyDlN4.js.br +0 -0
  328. package/dist/public/assets/_BNoiBQZ1.js +0 -1
  329. package/dist/public/assets/_BO0nbCV_.js.br +0 -0
  330. package/dist/public/assets/_BOc2yJeY.js.br +0 -0
  331. package/dist/public/assets/_BPs6R-h2.js.br +0 -0
  332. package/dist/public/assets/_BQ5zlTNT.js.br +0 -0
  333. package/dist/public/assets/_BR4NeSOQ.js.br +0 -0
  334. package/dist/public/assets/_BTyZY2Im.js.br +0 -0
  335. package/dist/public/assets/_BUYU5TdH.js +0 -1
  336. package/dist/public/assets/_BWgzNbJw.js.br +0 -0
  337. package/dist/public/assets/_BXvF2be4.js +0 -1
  338. package/dist/public/assets/_BYGFME6e.js +0 -1
  339. package/dist/public/assets/_B_OBU5Xy.js.br +0 -0
  340. package/dist/public/assets/_Bam7zO0D.js +0 -1
  341. package/dist/public/assets/_BdGZA-Tg.js.br +0 -0
  342. package/dist/public/assets/_Be4wypU3.js +0 -1
  343. package/dist/public/assets/_BfgSGto2.js.br +0 -0
  344. package/dist/public/assets/_BgFIHM3O.js.br +0 -0
  345. package/dist/public/assets/_BhC5jX70.js.br +0 -0
  346. package/dist/public/assets/_Bj9PXi5i.js +0 -1
  347. package/dist/public/assets/_Bk0LSgL5.js +0 -1
  348. package/dist/public/assets/_BlAodYQI.js +0 -1
  349. package/dist/public/assets/_BsFs4ABN.js +0 -1
  350. package/dist/public/assets/_Bt1A_OH1.js +0 -1
  351. package/dist/public/assets/_BtXzICXK.js +0 -1
  352. package/dist/public/assets/_Bw_8p3NH.js +0 -1
  353. package/dist/public/assets/_BxhzQr-y.js.br +0 -0
  354. package/dist/public/assets/_C4uiVwFM.js.br +0 -0
  355. package/dist/public/assets/_C634TSjR.js +0 -1
  356. package/dist/public/assets/_C6szx-Xv.js.br +0 -0
  357. package/dist/public/assets/_C796ASSx.js.br +0 -0
  358. package/dist/public/assets/_C7lSMIyl.js +0 -1
  359. package/dist/public/assets/_CB4R3Lew.js +0 -1
  360. package/dist/public/assets/_CCAk1Yk7.js +0 -1
  361. package/dist/public/assets/_CD8Nrb8d.js.br +0 -0
  362. package/dist/public/assets/_CH2u3847.js +0 -1
  363. package/dist/public/assets/_CKVcq8YZ.js.br +0 -0
  364. package/dist/public/assets/_CNNhXpi9.js +0 -1
  365. package/dist/public/assets/_CNsY6BDJ.js.br +0 -0
  366. package/dist/public/assets/_CPmiqpUc.js +0 -1
  367. package/dist/public/assets/_CPyBbxga.js +0 -1
  368. package/dist/public/assets/_CR69ggQQ.js +0 -1
  369. package/dist/public/assets/_CRj3MYVS.js.br +0 -0
  370. package/dist/public/assets/_CRjryxoq.js +0 -1
  371. package/dist/public/assets/_CTRTMFdY.js +0 -1
  372. package/dist/public/assets/_CVlQVlcL.js +0 -1
  373. package/dist/public/assets/_CWtANOEx.js.br +0 -0
  374. package/dist/public/assets/_CWxDkun5.js.br +0 -0
  375. package/dist/public/assets/_CYibmyEC.js +0 -1
  376. package/dist/public/assets/_CZBAPtUq.js.br +0 -0
  377. package/dist/public/assets/_C_bdLAyM.js.br +0 -0
  378. package/dist/public/assets/_C_cTX6K5.js.br +0 -0
  379. package/dist/public/assets/_C_uiLJ_s.js +0 -1
  380. package/dist/public/assets/_CbULVNOV.js.br +0 -0
  381. package/dist/public/assets/_CbjsWXSs.js.br +0 -0
  382. package/dist/public/assets/_ChOBBMhO.js +0 -1
  383. package/dist/public/assets/_ChoyIZsA.js +0 -1
  384. package/dist/public/assets/_ClfU_RBW.js.br +0 -0
  385. package/dist/public/assets/_CljSwcLM.js +0 -1
  386. package/dist/public/assets/_CoSTwSzR.js.br +0 -0
  387. package/dist/public/assets/_CobQflXi.js +0 -1
  388. package/dist/public/assets/_CqT6w2tI.js +0 -1
  389. package/dist/public/assets/_Cqk8ypbB.js +0 -1
  390. package/dist/public/assets/_Cr8rdgii.js +0 -1
  391. package/dist/public/assets/_CrTzNnuE.js.br +0 -0
  392. package/dist/public/assets/_Cs4d3nAD.js +0 -1
  393. package/dist/public/assets/_CtBJmjtk.js.br +0 -0
  394. package/dist/public/assets/_CwE88QoM.js.br +0 -0
  395. package/dist/public/assets/_CxQ8r0TT.js.br +0 -0
  396. package/dist/public/assets/_CzA4qpHl.js.br +0 -0
  397. package/dist/public/assets/_D0aWP-Wd.js +0 -1
  398. package/dist/public/assets/_D0zmE4QK.js.br +0 -0
  399. package/dist/public/assets/_D1sVJ4UV.js.br +0 -0
  400. package/dist/public/assets/_D3AOk4P-.js.br +0 -0
  401. package/dist/public/assets/_D4XmHQ2R.js.br +0 -0
  402. package/dist/public/assets/_D5V24AEc.js.br +0 -0
  403. package/dist/public/assets/_D7uaThi9.js.br +0 -0
  404. package/dist/public/assets/_D85Ds4wQ.js +0 -1
  405. package/dist/public/assets/_D8GEKPIW.js.br +0 -0
  406. package/dist/public/assets/_D9o016tn.js.br +0 -0
  407. package/dist/public/assets/_DCY180mQ.js +0 -1
  408. package/dist/public/assets/_DCeYSMTF.js.br +0 -0
  409. package/dist/public/assets/_DELJhV-e.js.br +0 -0
  410. package/dist/public/assets/_DFev6DeB.js.br +0 -0
  411. package/dist/public/assets/_DFghbGGx.js.br +0 -0
  412. package/dist/public/assets/_DIVL5h9e.js +0 -1
  413. package/dist/public/assets/_DKkD3kK6.js.br +0 -0
  414. package/dist/public/assets/_DKv4MVsp.js.br +0 -0
  415. package/dist/public/assets/_DPTpk-3g.js.br +0 -0
  416. package/dist/public/assets/_DTWK6q1Z.js.br +0 -0
  417. package/dist/public/assets/_DWqzDIco.js +0 -1
  418. package/dist/public/assets/_DXoQPzDh.js +0 -1
  419. package/dist/public/assets/_DYhReWPU.js.br +0 -0
  420. package/dist/public/assets/_DebL6vHW.js.br +0 -0
  421. package/dist/public/assets/_Dek6jh0Q.js +0 -1
  422. package/dist/public/assets/_Dfjl0U2C.js +0 -1
  423. package/dist/public/assets/_Dhi-1okl.js +0 -1
  424. package/dist/public/assets/_DhvdrpwZ.js.br +0 -0
  425. package/dist/public/assets/_DhwiadTw.js +0 -1
  426. package/dist/public/assets/_Di61VfrK.js +0 -1
  427. package/dist/public/assets/_DiDr51vc.js.br +0 -0
  428. package/dist/public/assets/_DjhlvY8c.js.br +0 -0
  429. package/dist/public/assets/_DkjgfAMw.js.br +0 -0
  430. package/dist/public/assets/_DksSXpIC.js +0 -1
  431. package/dist/public/assets/_Dlp7DQeA.js +0 -1
  432. package/dist/public/assets/_DmC7G6x5.js.br +0 -0
  433. package/dist/public/assets/_DpA4edsu.js +0 -1
  434. package/dist/public/assets/_DqiuYjwJ.js +0 -1
  435. package/dist/public/assets/_Ds5Zoi7V.js.br +0 -0
  436. package/dist/public/assets/_Ds7XpQ2s.js.br +0 -0
  437. package/dist/public/assets/_Dsw3Gg6v.js.br +0 -0
  438. package/dist/public/assets/_DugZXnwt.js +0 -1
  439. package/dist/public/assets/_Dv6o5rqA.js +0 -1
  440. package/dist/public/assets/_Dx9kDs0y.js.br +0 -0
  441. package/dist/public/assets/_DxXKHoN2.js.br +0 -0
  442. package/dist/public/assets/_Dyr0tq3O.js +0 -1
  443. package/dist/public/assets/_KsUb02iK.js.br +0 -0
  444. package/dist/public/assets/_LC3rHeWo.js +0 -1
  445. package/dist/public/assets/_O9eylexG.js.br +0 -0
  446. package/dist/public/assets/_QPf8MR9W.js.br +0 -0
  447. package/dist/public/assets/_TiQn20cR.js +0 -1
  448. package/dist/public/assets/_WPa7Ehhz.js +0 -1
  449. package/dist/public/assets/_WrzU1MoL.js +0 -1
  450. package/dist/public/assets/_X-h6bvK5.js.br +0 -0
  451. package/dist/public/assets/_YCyDgobZ.js.br +0 -0
  452. package/dist/public/assets/_YQkOx7r-.js.br +0 -0
  453. package/dist/public/assets/_YuiZZukx.js.br +0 -0
  454. package/dist/public/assets/_ZBkRztCR.js.br +0 -0
  455. package/dist/public/assets/_ZSYtUtmc.js.br +0 -0
  456. package/dist/public/assets/__QucVmnz.js +0 -1
  457. package/dist/public/assets/_aQM6-16e.js.br +0 -0
  458. package/dist/public/assets/_bI_6NeNS.js.br +0 -0
  459. package/dist/public/assets/_bMGBscNR.js.br +0 -0
  460. package/dist/public/assets/_e7mzpty4.js +0 -1
  461. package/dist/public/assets/_hxS8j1oZ.js +0 -1
  462. package/dist/public/assets/_kq-erLpG.js +0 -1
  463. package/dist/public/assets/_lE-DkEAb.js +0 -1
  464. package/dist/public/assets/_lQXNw9LH.js.br +0 -0
  465. package/dist/public/assets/_lqfxMh-e.js.br +0 -0
  466. package/dist/public/assets/_lyuJBboR.js.br +0 -0
  467. package/dist/public/assets/_n6qGwuUU.js.br +0 -0
  468. package/dist/public/assets/_njdpMxcd.js.br +0 -0
  469. package/dist/public/assets/_o8XCpW2Q.js.br +0 -0
  470. package/dist/public/assets/_pbfHrItI.js +0 -1
  471. package/dist/public/assets/_pkvXtuuf.js +0 -1
  472. package/dist/public/assets/_rIFIsLnZ.js +0 -1
  473. package/dist/public/assets/_xvkcQ3Ao.js.br +0 -0
  474. package/dist/public/assets/_zvNnoRaL.js.br +0 -0
  475. package/dist/public/assets/files-view-CXALmd4H.js +0 -2
  476. package/dist/public/assets/manage-workspace-BLK6hyjQ.js +0 -2
  477. package/dist/public/assets/new-CI0cfox3.js +0 -1
  478. package/dist/public/assets/new-workspace-3Eg9OOn0.js +0 -2
  479. package/dist/public/assets/review-view-Dem0Sq2B.js +0 -2
  480. package/dist/public/assets/settings-CI0cfox3.js +0 -1
  481. package/dist/public/assets/settings-page-DJUotETi.js +0 -2
  482. package/dist/public/assets/styles-DeJ_EPgo.css.br +0 -0
  483. package/dist/public/assets/w-CI0cfox3.js +0 -1
  484. package/dist/public/assets/w._-BEne5Efg.js +0 -1
  485. package/dist/public/assets/w._-CI0cfox3.js +0 -1
  486. package/dist/public/assets/w._-QsrO2AIU.js +0 -1
@@ -758,6 +758,67 @@ var STEPS = [
758
758
  db.exec(`
759
759
  ALTER TABLE session_messages ADD COLUMN follows TEXT;
760
760
  ALTER TABLE session_messages ADD COLUMN held TEXT;
761
+ `);
762
+ }
763
+ },
764
+ {
765
+ version: 13,
766
+ name: "closes kept, and notices",
767
+ up(db) {
768
+ db.exec(`
769
+ ALTER TABLE closed_sessions ADD COLUMN how TEXT NOT NULL DEFAULT 'done';
770
+
771
+ CREATE TABLE session_messages_new (
772
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
773
+ to_session TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
774
+ from_session TEXT,
775
+ from_label TEXT,
776
+ kind TEXT NOT NULL CHECK (kind IN ('message', 'reply', 'closed', 'notice')),
777
+ body TEXT NOT NULL,
778
+ wants_reply INTEGER NOT NULL DEFAULT 0,
779
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
780
+ delivered_at TEXT,
781
+ group_id TEXT REFERENCES session_groups(id) ON DELETE SET NULL,
782
+ answers TEXT,
783
+ urgent INTEGER NOT NULL DEFAULT 0,
784
+ by_send INTEGER NOT NULL DEFAULT 0,
785
+ follows TEXT,
786
+ held TEXT
787
+ );
788
+ INSERT INTO session_messages_new (id, to_session, from_session, from_label, kind, body, wants_reply, created_at, delivered_at, group_id, answers, urgent, by_send, follows, held)
789
+ SELECT id, to_session, from_session, from_label, kind, body, wants_reply, created_at, delivered_at, group_id, answers, urgent, by_send, follows, held FROM session_messages;
790
+ DROP TABLE session_messages;
791
+ ALTER TABLE session_messages_new RENAME TO session_messages;
792
+ CREATE INDEX session_messages_to ON session_messages(to_session);
793
+ CREATE INDEX session_messages_from ON session_messages(from_session);
794
+ `);
795
+ }
796
+ },
797
+ {
798
+ version: 14,
799
+ name: "message log",
800
+ up(db) {
801
+ db.exec(`
802
+ CREATE TABLE message_log (
803
+ id INTEGER PRIMARY KEY,
804
+ workspace_id TEXT,
805
+ to_session TEXT NOT NULL,
806
+ to_label TEXT,
807
+ from_session TEXT,
808
+ from_label TEXT,
809
+ kind TEXT NOT NULL,
810
+ body TEXT NOT NULL,
811
+ wants_reply INTEGER NOT NULL DEFAULT 0,
812
+ urgent INTEGER NOT NULL DEFAULT 0,
813
+ created_at TEXT NOT NULL,
814
+ delivered_at TEXT,
815
+ delivered TEXT,
816
+ done_at TEXT,
817
+ outcome TEXT
818
+ );
819
+ CREATE INDEX message_log_to ON message_log(to_session);
820
+ CREATE INDEX message_log_from ON message_log(from_session);
821
+ CREATE INDEX message_log_workspace ON message_log(workspace_id, created_at);
761
822
  `);
762
823
  }
763
824
  }
@@ -9348,6 +9409,17 @@ function noteBackground(sessionId, work) {
9348
9409
  function onTurnEnd(fn) {
9349
9410
  turnEndListeners.add(fn);
9350
9411
  }
9412
+ /** Told of a turn that ended failing (rate limited, signed out), with
9413
+ * why (`onTurnFailed`). */
9414
+ var failedListeners = /* @__PURE__ */ new Set();
9415
+ /** A session's turn ended failing, as its hook said (`HookRead.failed`):
9416
+ * it sits at its prompt until someone carries it on. */
9417
+ function onTurnFailed(fn) {
9418
+ failedListeners.add(fn);
9419
+ }
9420
+ function noteTurnFailed(sessionId, why) {
9421
+ for (const fn of failedListeners) fn(sessionId, why);
9422
+ }
9351
9423
  function endTurn(sessionId) {
9352
9424
  const earlier = foldedMessages.get(sessionId) ?? [];
9353
9425
  foldedMessages.delete(sessionId);
@@ -9559,7 +9631,7 @@ function publishChange(sessionId) {
9559
9631
  const row = get("SELECT workspace_id FROM sessions WHERE id = ?", sessionId);
9560
9632
  if (row?.workspace_id) {
9561
9633
  const workspaceId = row.workspace_id;
9562
- import("./_B4B_SliZ.js").then((m) => m.notifySessionsChanged(workspaceId));
9634
+ import("./_CVNGN2QO.js").then((m) => m.notifySessionsChanged(workspaceId));
9563
9635
  return;
9564
9636
  }
9565
9637
  publish("sessions.changed");
@@ -10290,9 +10362,12 @@ function readHook$6(p, reported, _state) {
10290
10362
  if (event === "StopFailure") {
10291
10363
  const label = FAILURES[str$1(p.error)] ?? "The turn failed";
10292
10364
  const details = str$1(p.error_details);
10365
+ const summary = cleanSummary(details ? `${label}: ${details}` : label);
10293
10366
  return {
10294
10367
  reason: "attention",
10295
- summary: cleanSummary(details ? `${label}: ${details}` : label)
10368
+ summary,
10369
+ failed: str$1(p.agent_id) ? void 0 : summary,
10370
+ conversation: str$1(p.session_id) || void 0
10296
10371
  };
10297
10372
  }
10298
10373
  const read = readClaudeStyle(p, reported);
@@ -10308,8 +10383,8 @@ function readHook$6(p, reported, _state) {
10308
10383
  } else if (event === "Stop") {
10309
10384
  const running = backgroundWork(p);
10310
10385
  if (running) read.background = { running };
10311
- read.conversation = str$1(p.session_id) || void 0;
10312
10386
  }
10387
+ if (event === "Stop" || event === "UserPromptSubmit") read.conversation = str$1(p.session_id) || void 0;
10313
10388
  return read;
10314
10389
  }
10315
10390
  /** The kinds of `background_tasks` entry Claude wakes up for as they end
@@ -10390,6 +10465,7 @@ var claude = {
10390
10465
  resumeFlags: (id) => ["--resume", id],
10391
10466
  steerKeys: ["Enter"],
10392
10467
  submitsBehindPaste: true,
10468
+ quotesPastes: true,
10393
10469
  interruptKeys: ["Escape"],
10394
10470
  envPrefixes: ["CLAUDE", "AI_AGENT"],
10395
10471
  startupQuestions: [{
@@ -11742,6 +11818,10 @@ function promptAsArgv(id) {
11742
11818
  function submitsBehindPaste(id) {
11743
11819
  return agentFor(id)?.submitsBehindPaste ?? false;
11744
11820
  }
11821
+ /** A message's head is typed ahead of its paste (`quotesPastes`). */
11822
+ function quotesPastes(id) {
11823
+ return agentFor(id)?.quotesPastes ?? false;
11824
+ }
11745
11825
  /** Whether an instance's CLI, run with these arguments, is a one-shot
11746
11826
  * job rather than a session (`headless`). */
11747
11827
  function runsHeadless(id, args) {
@@ -17511,79 +17591,159 @@ function renameSession(id, title) {
17511
17591
  }
17512
17592
  /** Close a session, and with it every session it started and theirs
17513
17593
  * (`parent_id`), unless `keepChildren`: those then stand on their own.
17514
- * Returns the ids closed. */
17515
- async function killSession(id, keepChildren = false) {
17594
+ * Each that can be resumed is kept as it was (`keepClosed`): the session
17595
+ * itself as `how` says, the ones it started as closed with it, so a lead
17596
+ * the user closes, or one whose account ran out, does not take its
17597
+ * team's conversations with it. Returns the ids closed. */
17598
+ async function killSession(id, keepChildren = false, how = "closed") {
17516
17599
  const session = getSession(id);
17517
17600
  if (!session) return [];
17518
17601
  const family = keepChildren ? [id] : [id, ...descendantsOf(id)];
17519
- for (const member of family) await disposeSession(member);
17602
+ db.prepare(`DELETE FROM closed_sessions WHERE closed_at < strftime('%Y-%m-%dT%H:%M:%fZ', 'now', '${REOPEN_WITHIN}')`).run();
17603
+ for (const member of family) {
17604
+ keepClosed(member, member === id ? how : "closed");
17605
+ await disposeSession(member);
17606
+ }
17520
17607
  notifySessionsChanged(session.workspace_id);
17521
17608
  return family;
17522
17609
  }
17523
- /** How long a session closed for being done can be reopened: a lead's
17524
- * follow-ups come as the user reviews its result, the same day or so. */
17610
+ /** How long a closed session can be started again: a lead's follow-ups
17611
+ * come as the user reviews its result, the same day or so. */
17525
17612
  var REOPEN_WITHIN = "-7 days";
17526
17613
  /** A turn's end reported the conversation it ran in. */
17527
17614
  function noteConversation(id, conversation) {
17528
17615
  db.prepare("UPDATE sessions SET conversation = ? WHERE id = ? AND conversation IS NOT ?").run(conversation, id, conversation);
17529
17616
  }
17530
- /** A session work closed for being done, while a message may reopen it. */
17617
+ /** A closed session that can still be started again (`reopenSession`). */
17531
17618
  function closedSession(id) {
17532
17619
  return get(`SELECT * FROM closed_sessions WHERE id = ?
17533
17620
  AND closed_at >= strftime('%Y-%m-%dT%H:%M:%fZ', 'now', '${REOPEN_WITHIN}')`, id);
17534
17621
  }
17535
- /** Whether a message reopens the session on its conversation once work
17536
- * has closed it: its CLI can resume one, and said which it was in. */
17622
+ /** Whether a session can be started again on its conversation: its CLI
17623
+ * can resume one, and said which it was in. */
17537
17624
  function reopenable(s) {
17538
17625
  return !!s.conversation && canResume(s.agent);
17539
17626
  }
17627
+ /** Keep `id` as it is in closed_sessions, about to close. One closed for
17628
+ * being done is kept whatever it is, so a message to it can say why it
17629
+ * does not reopen; any other only if it can be started again. */
17630
+ function keepClosed(id, how) {
17631
+ const s = getSession(id);
17632
+ if (!s?.workspace_id || how === "closed" && !reopenable(s)) return;
17633
+ db.prepare(`INSERT OR REPLACE INTO closed_sessions (id, workspace_id, agent, title, parent_id, launch_dir, launch_mode, summary, conversation, created_at, how)
17634
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(s.id, s.workspace_id, s.agent, s.title, s.parent_id, s.launch_dir, s.launch_mode, s.summary, s.conversation, s.created_at, how);
17635
+ }
17540
17636
  /** Close a session work is done with (server/team), keeping what starts
17541
17637
  * it again on its own conversation (`reopenSession`): the lead that
17542
17638
  * started it may yet follow up, once the user has read its result. The
17543
17639
  * sessions it started go with it, as with any close. */
17544
- async function retireSession(id) {
17545
- const s = getSession(id);
17546
- if (!s) return [];
17547
- db.prepare(`DELETE FROM closed_sessions WHERE closed_at < strftime('%Y-%m-%dT%H:%M:%fZ', 'now', '${REOPEN_WITHIN}')`).run();
17548
- if (s.workspace_id) db.prepare(`INSERT OR REPLACE INTO closed_sessions (id, workspace_id, agent, title, parent_id, launch_dir, launch_mode, summary, conversation, created_at)
17549
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(s.id, s.workspace_id, s.agent, s.title, s.parent_id, s.launch_dir, s.launch_mode, s.summary, s.conversation, s.created_at);
17550
- return killSession(id);
17551
- }
17552
- /** Start a session work closed for being done again, for a message to
17553
- * it: its row as it was (under its parent, while that is here) and its
17554
- * CLI on the conversation it had (`resumeFlags`), ready for the message
17555
- * before this returns. Refuses, saying what to do instead, one that
17556
- * cannot be: its CLI cannot resume, work never learned its conversation,
17557
- * or the folder it ran in (a topic's worktree) is gone — a conversation
17558
- * is its folder's to Claude. */
17559
- async function reopenSession(id) {
17640
+ function retireSession(id) {
17641
+ return killSession(id, false, "done");
17642
+ }
17643
+ var START_AGAIN = `start a new session (\`work session new\`) and brief it; \`--keep\` keeps one open for follow-ups`;
17644
+ /** The instance a session starts again as: its own, or `agent`, another
17645
+ * instance of the same CLI (claude2 for claude: another account), whose
17646
+ * resume takes the same conversation where that is shared. */
17647
+ function resumeAs(id, current, agent) {
17648
+ if (!agent || agent === current) return current;
17649
+ if (!isKnownAgent(agent) || agentFamily(agent) !== agentFamily(current)) throw httpError(409, `${id} ran ${agentLabel(current)}: it resumes only on another instance of the same CLI (\`work agent\` lists them), not ${agent}`);
17650
+ return agent;
17651
+ }
17652
+ /** Start a closed session again on the conversation it had: its row as it
17653
+ * was, as `agent` if given (`resumeAs`), under the session that started
17654
+ * it while that is here, else under `adopt` (the session reopening it, of
17655
+ * the same workspace), and its CLI on that conversation (`resumeFlags`),
17656
+ * ready for a message before this returns. Refuses, saying what to do
17657
+ * instead, one that cannot be: its CLI cannot resume, work never learned
17658
+ * its conversation, or the folder it ran in (a topic's worktree) is gone
17659
+ * — a conversation is its folder's to Claude. */
17660
+ async function reopenSession(id, opts = {}) {
17560
17661
  const closed = closedSession(id);
17561
17662
  if (!closed) throw httpError(404, `no session ${id}`);
17562
- const instead = `start a new session (\`work session new\`) and brief it; \`--keep\` keeps one open for follow-ups`;
17563
- if (!reopenable(closed)) throw httpError(409, `${id} closed once it was done with, and ${canResume(closed.agent) ? "work never learned its conversation" : `${agentLabel(closed.agent)} cannot be reopened on its conversation`}: ${instead}`);
17663
+ if (!reopenable(closed)) throw httpError(409, `${id} closed once it was done with, and ${canResume(closed.agent) ? "work never learned its conversation" : `${agentLabel(closed.agent)} cannot be reopened on its conversation`}: ${START_AGAIN}`);
17664
+ const agent = resumeAs(id, closed.agent, opts.agent);
17564
17665
  const ws = get("SELECT path, status FROM workspaces WHERE id = ?", closed.workspace_id);
17565
17666
  if (!ws || ws.status !== "active") throw httpError(409, `${id}'s workspace is archived`);
17566
- if (closed.launch_dir && launchDir(closed, ws.path) === ws.path) throw httpError(409, `${id} ran in ${closed.launch_dir}, which is gone, and its conversation with it: ${instead}`);
17567
- const parent = closed.parent_id ? getSession(closed.parent_id) : void 0;
17667
+ if (closed.launch_dir && launchDir(closed, ws.path) === ws.path) throw httpError(409, `${id} ran in ${closed.launch_dir}, which is gone, and its conversation with it: ${START_AGAIN}`);
17668
+ const parent = [closed.parent_id, opts.adopt].map((p) => p && p !== id ? getSession(p) : void 0).find((p) => p?.workspace_id === closed.workspace_id);
17568
17669
  db.prepare(`INSERT INTO sessions (id, workspace_id, agent, title, created_at, parent_id, launch_dir, launch_mode, summary, conversation)
17569
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(closed.id, closed.workspace_id, closed.agent, closed.title, closed.created_at, parent?.workspace_id === closed.workspace_id ? parent.id : null, closed.launch_dir, closed.launch_mode, closed.summary, closed.conversation);
17670
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(closed.id, closed.workspace_id, agent, closed.title, closed.created_at, parent?.id ?? null, closed.launch_dir, closed.launch_mode, closed.summary, closed.conversation);
17570
17671
  const session = getSession(id);
17571
17672
  const env = cleanEnv();
17572
17673
  await ensureTmuxServer();
17573
17674
  clearAgentPhase(id);
17574
17675
  await launchDetached(session, ws.path, env, { resume: closed.conversation });
17575
- if (!await tmux([
17576
- "has-session",
17577
- "-t",
17578
- tmuxName(id)
17579
- ], env).then(() => true, () => false)) {
17580
- await killSession(id);
17581
- throw httpError(409, `${id}'s ${agentLabel(closed.agent)} could not reopen its conversation (${closed.conversation}): ${instead}`);
17676
+ if (!await paneAlive(id, env)) {
17677
+ await disposeSession(id);
17678
+ throw httpError(409, `${id}'s ${agentLabel(agent)} could not reopen its conversation (${closed.conversation})${agent === closed.agent ? "" : `: ${agent} may keep its conversations apart from ${closed.agent}'s`}. ${START_AGAIN.replace(/^./, (c) => c.toUpperCase())}`);
17582
17679
  }
17583
17680
  db.prepare("DELETE FROM closed_sessions WHERE id = ?").run(id);
17584
17681
  notifySessionsChanged(closed.workspace_id);
17585
17682
  return session;
17586
17683
  }
17684
+ /** Start a running session's CLI again on its own conversation, as
17685
+ * `agent` if given (`resumeAs`): one stuck at its prompt because its
17686
+ * account hit a limit goes on as another account's. Its row, what is
17687
+ * queued for it and what it owes stay (server/messages keeps them). */
17688
+ async function restartSession(id, agent) {
17689
+ const s = getSession(id);
17690
+ if (!s) throw httpError(404, `no session ${id}`);
17691
+ if (!reopenable(s)) throw httpError(409, `${id} cannot start again on its conversation: ${canResume(s.agent) ? "work has not learned it yet (it comes with the first prompt's hook)" : `${agentLabel(s.agent)} cannot resume one`}`);
17692
+ const next = resumeAs(id, s.agent, agent);
17693
+ const wsPath = workspacePath(s.workspace_id);
17694
+ if (!wsPath) throw httpError(409, `${id}'s workspace is gone`);
17695
+ if (s.launch_dir && launchDir(s, wsPath) === wsPath) throw httpError(409, `${id} ran in ${s.launch_dir}, which is gone, and its conversation with it: ${START_AGAIN}`);
17696
+ const env = cleanEnv();
17697
+ await tmux([
17698
+ "kill-session",
17699
+ "-t",
17700
+ tmuxName(id)
17701
+ ], env).catch(() => {});
17702
+ forgetPanes();
17703
+ clearTmuxStarted(id);
17704
+ clearAgentPhase(id);
17705
+ db.prepare("UPDATE sessions SET agent = ? WHERE id = ?").run(next, id);
17706
+ const session = getSession(id);
17707
+ await ensureTmuxServer();
17708
+ await launchDetached(session, wsPath, env, { resume: s.conversation });
17709
+ if (!await paneAlive(id, env)) {
17710
+ db.prepare("UPDATE sessions SET agent = ? WHERE id = ?").run(s.agent, id);
17711
+ notifySessionsChanged(s.workspace_id);
17712
+ throw httpError(409, `${id}'s ${agentLabel(next)} could not resume its conversation (${s.conversation})${next === s.agent ? "" : `: ${next} may keep its conversations apart from ${s.agent}'s`}, and its pane has closed: \`work session reopen ${id}\` tries again`);
17713
+ }
17714
+ notifySessionsChanged(s.workspace_id);
17715
+ return session;
17716
+ }
17717
+ /** What a session is, open or closed (`work session list <id>`, `log`):
17718
+ * undefined for one work does not know, or no longer keeps. */
17719
+ function sessionInfo(id) {
17720
+ const live = getSession(id);
17721
+ const closed = live ? void 0 : closedSession(id);
17722
+ const s = live ?? closed;
17723
+ if (!s) return;
17724
+ return {
17725
+ id: s.id,
17726
+ agent: s.agent,
17727
+ title: s.title,
17728
+ workspace: s.workspace_id,
17729
+ parent: s.parent_id,
17730
+ summary: s.summary,
17731
+ /** How and when it closed; null while open. */
17732
+ closed: closed ? {
17733
+ how: closed.how,
17734
+ at: closed.closed_at
17735
+ } : null,
17736
+ /** It can start again on its conversation (`work session reopen`). */
17737
+ reopenable: reopenable(s)
17738
+ };
17739
+ }
17740
+ function paneAlive(id, env) {
17741
+ return tmux([
17742
+ "has-session",
17743
+ "-t",
17744
+ tmuxName(id)
17745
+ ], env).then(() => true, () => false);
17746
+ }
17587
17747
  /** Every session `id` started, and theirs, nearest first. */
17588
17748
  function descendantsOf(id) {
17589
17749
  return all(`WITH RECURSIVE kids(id, depth) AS (
@@ -17679,7 +17839,7 @@ function notifySessionsChanged(workspaceId) {
17679
17839
  async function emitSessionsChanged(workspaceId) {
17680
17840
  try {
17681
17841
  const states = await sessionStates();
17682
- const { teamsOf } = await import("./_D-u1Rg6e.js");
17842
+ const { teamsOf } = await import("./_hjIYs3Gy.js");
17683
17843
  publish("sessions.changed", {
17684
17844
  workspaceId,
17685
17845
  sessions: listSessions(workspaceId).map((s) => ({
@@ -17712,7 +17872,7 @@ var sendTail = /* @__PURE__ */ new Map();
17712
17872
  /** `sendToSession` for a caller that waits only for the text to be in the
17713
17873
  * pane: `sent` settles once the keys that send it have followed, which
17714
17874
  * for most CLIs waits out the paste being drawn (`pressSubmit`). */
17715
- async function pasteToSession(id, raw, size, submit = ["Enter"]) {
17875
+ async function pasteToSession(id, raw, size, submit = ["Enter"], lead) {
17716
17876
  const last = sendTail.get(id);
17717
17877
  let free = () => {};
17718
17878
  const mine = new Promise((resolve) => free = resolve);
@@ -17723,14 +17883,15 @@ async function pasteToSession(id, raw, size, submit = ["Enter"]) {
17723
17883
  free();
17724
17884
  };
17725
17885
  try {
17726
- const { sent } = await pasteNow(id, raw, size, submit);
17886
+ const { sent } = await pasteNow(id, raw, size, submit, lead);
17727
17887
  return { sent: sent.finally(end) };
17728
17888
  } catch (err) {
17729
17889
  end();
17730
17890
  throw err;
17731
17891
  }
17732
17892
  }
17733
- async function pasteNow(id, raw, size, submit) {
17893
+ async function pasteNow(id, raw, size, submit, lead) {
17894
+ const typed = lead?.replace(PASTE_UNSAFE, "").replace(/\s*[\r\n]+\s*/g, " ").trim().replace(/;$/, "; ");
17734
17895
  const text = raw.replace(PASTE_UNSAFE, "");
17735
17896
  const session = getSession(id);
17736
17897
  if (!session) throw new Error("unknown session");
@@ -17747,8 +17908,9 @@ async function pasteNow(id, raw, size, submit) {
17747
17908
  await ensureTmuxServer();
17748
17909
  clearAgentPhase(id);
17749
17910
  if (promptAsArgv(session.agent)) {
17911
+ const prompt = typed ? `${typed}\n\n${text}` : text;
17750
17912
  const file = path.join(os.tmpdir(), `work-prompt-${id}-${Math.random().toString(36).slice(2, 10)}`);
17751
- fs.writeFileSync(file, text, {
17913
+ fs.writeFileSync(file, prompt, {
17752
17914
  mode: 384,
17753
17915
  flag: "wx"
17754
17916
  });
@@ -17756,7 +17918,7 @@ async function pasteNow(id, raw, size, submit) {
17756
17918
  await tmux(newSessionArgs(session, wsPath, "-d", {
17757
17919
  prompt: {
17758
17920
  file,
17759
- text
17921
+ text: prompt
17760
17922
  },
17761
17923
  size
17762
17924
  }), env);
@@ -17780,13 +17942,7 @@ async function pasteNow(id, raw, size, submit) {
17780
17942
  if (asking) throw httpError(409, `${asking}: answer it in the terminal, then send again`);
17781
17943
  }
17782
17944
  const buffer = `work-send-${Math.random().toString(36).slice(2, 8)}`;
17783
- await tmux([
17784
- "load-buffer",
17785
- "-b",
17786
- buffer,
17787
- "-"
17788
- ], env, { stdin: text });
17789
- const paste = [
17945
+ const pasted = [
17790
17946
  "paste-buffer",
17791
17947
  "-p",
17792
17948
  "-d",
@@ -17795,6 +17951,24 @@ async function pasteNow(id, raw, size, submit) {
17795
17951
  "-t",
17796
17952
  name
17797
17953
  ];
17954
+ const keys = typed ? [
17955
+ "send-keys",
17956
+ "-t",
17957
+ name,
17958
+ "-l",
17959
+ typed
17960
+ ] : [];
17961
+ if (text || !typed) await tmux([
17962
+ "load-buffer",
17963
+ "-b",
17964
+ buffer,
17965
+ "-"
17966
+ ], env, { stdin: text });
17967
+ const paste = !typed ? pasted : text ? [
17968
+ ...keys,
17969
+ ";",
17970
+ ...pasted
17971
+ ] : keys;
17798
17972
  const behind = submitsBehindPaste(session.agent) && submit.length ? 1 : 0;
17799
17973
  await tmux(behind ? [
17800
17974
  ...paste,
@@ -19379,13 +19553,19 @@ ${repoLines}
19379
19553
  every result since they last wrote, not just the newest, and what is
19380
19554
  still due. A message waits for the turn under way to end,
19381
19555
  which can take hours: a correction or a stop goes with \`--now\` (into
19382
- that turn, at its next step) or \`--interrupt\` (stops it first). \`work session fanout --agent <id>… --prompt "<task {}>" <item>…\`
19556
+ that turn, at its next step) or \`--interrupt\` (stops it first), as
19557
+ one with \`--no-reply\` does by itself; one already queued goes so with
19558
+ \`send <id> --now\` and no text, never sent twice. \`work session fanout --agent <id>… --prompt "<task {}>" <item>…\`
19383
19559
  starts a group, a few at a time, whose replies come back as one prompt
19384
19560
  (\`work session team\` shows how far they are). \`--topic <name>\` gives each a
19385
19561
  topic branch of its own; send paths, not pasted files. They close once
19386
19562
  answered and done with, as each reply says (\`--keep\`, or
19387
19563
  \`work session keep <id>\` later, keeps one), and a message to a closed
19388
- Claude or Codex one reopens it on its own conversation. For a quick
19564
+ Claude or Codex one reopens it on its own conversation; one closed
19565
+ otherwise (with its lead, by the user), or stuck on its account's limit,
19566
+ \`work session reopen <id> [--agent <another instance>]\` starts again
19567
+ on it, and \`work session log [<id>]\` shows what went to and from
19568
+ one and how each message went. For a quick
19389
19569
  sweep in your own CLI, its own subagents are cheaper. All of this is
19390
19570
  this workspace's only; an agent in another can be messaged when the user
19391
19571
  asks, and only while it runs (\`work workspaces\` lists them, \`work session list <workspace>\`
@@ -19403,4 +19583,4 @@ ${repoLines}
19403
19583
  `;
19404
19584
  }
19405
19585
  //#endregion
19406
- export { renameSession as $, normalizeAccent as $n, httpError as $r, hotBatchMinMs as $t, closedSession as A, notifyEventOn as An, preferredAgent as Ar, whileInstalling as At, killWorkspaceSessions as B, summaryOf as Bn, bornOut as Br, fileChanges as Bt, workspaceBranches as C, lastTypedAt as Cn, allPrefs as Cr, installKey as Ct, beginCreation as D, notePermissionMode as Dn, enabledAgents as Dr, serverById as Dt, agentCaller as E, noteInterrupt as En, disabledAgents as Er, removeServer as Et, ensureTmuxServer as F, setAgentPhase as Fn, doctor as Fr, logoutGithub as Ft, markTmuxStarted as G, agentFamily as Gn, agentLabel$1 as Gr, workspaceSections as Gt, listPanes as H, turnSettling as Hn, PROJECT_TOOLS as Hr, readFileAt as Ht, forgetPanes as I, setExpecting as In, ghKnownHosts as Ir, refreshGithub as It, notifySessionsChanged as J, agentMeta as Jn, toolById as Jr, diffStamp as Jt, newSessionArgs as K, agentFromCommand as Kn, catalogPin as Kr, setPoints as Kt, getSession as L, setScrapedPhase as Ln, miseInstalls as Lr, removeTool as Lt, creationOf as M, onPhaseChange as Mn, setPref as Mr, installAgent as Mt, descendantsOf as N, onTurnEnd as Nn, setSetting as Nr, installMise as Nt, cleanEnv as O, noteTyped as On, getSetting as Or, serverList as Ot, disposeSessions as P, sessionWatched as Pn, discoverAgents as Pr, installTool as Pt, pasteToSession as Q, manifest as Qn, checked as Qr, dismissPr as Qt, interruptSession as R, setSessionViewers as Rn, miseVersions as Rr, runStreaming as Rt, withProgressOp as S, interruptedSinceReport as Sn, agentChoices as Sr, forgetProbes as St, hookToken as T, noteBackground as Tn, deleteSetting as Tr, lspEnabled as Tt, listPanesWithin as U, turnSince as Un, TOOLS as Ur, reviewWaiting as Ut, launchDir as V, turnPhase as Vn, firewallProbe as Vr, readBlobAt as Vt, listSessions as W, agentBadge as Wn, agentById as Wr, workspaceDiff as Wt, ownWorkspaceOnly as X, getInstance as Xn, FRAME_ANCESTORS as Xr, markBranch as Xt, onSessionDispose as Y, ACCENT_RE as Yn, applyPrefChange as Yr, commentFolder as Yt, panePids as Z, iconSvg as Zn, FRAME_HEADERS as Zr, sectionFor as Zt, retryMaterialize as _, activityOf as _n, normalizeHost as _r, stopAllServers as _t, ensureUntrackedCache as a, all as ai, AGENTS as an, validSubscription as ar, tmuxName as at, sweepTrash as b, hookPhase as bn, PREF_MAX as br, allServers as bt, insertPendingWorkspace as c, workspacePath as ci, reportsWorking as cn, repoBranches as cr, portsByWorkspace as ct, progress as d, TMUX_SOCKET as di, credentialStamp as dn, DEFAULT_HOST as dr, lspDiagnostics as dt, readBody as ei, notePushActivity as en, setInstance as er, reopenSession as et, progressSince as f, git as fi, readCache as fn, addHost as fr, lspQuery as ft, resumePendingWorkspaces as g, withLock as gi, realInside as gn, isValidHost as gr, runningServers as gt, removeRepo as h, swr as hi, inside as hn, forgetToken as hr, lspWarm as ht, deleteWorkspace as i, subscriberCount as ii, noteActivity as in, sendPush as ir, sessionStates as it, createSession as j, onFinished as jn, setDisabledAgents as jr, authGithub as jt, clearTmuxStarted as k, noteUserAnswered as kn, isKnownAgent as kr, sharing as kt, listWorkspaces as l, ownsBranchOf as li, steerKeys as ln, repoCatalog as lr, workspaceProcs as lt, queueMaterialize as m, config as mi, cleanSummary as mn, ensureGitCredentials as mr, lspUses as mt, barePath as n, publishJson as ni, withoutDismissed as nn, pushPublicKey as nr, retireSession as nt, gcBares as o, db as oi, interruptKeys as on, headOid as or, tmuxWasStarted as ot, pruneLaneBranch as p, tmux as pi, writeCache as pn, configuredHosts as pr, lspQueryOf as pt, noteConversation as q, agentLabel as qn, parseAgentId as qr, startSnapSweep as qt, createWorkspace as r, subscribe as ri, workspacePrs as rn, saveSubscription as rr, sendToSession as rt, getWorkspace as s, get as si, readHookPayload as sn, pendingSsoOrgs as sr, killWorkspaceProc as st, addRepo as t, publish as ti, refreshPrsBatch as tn, deleteSubscription as tr, reopenable as tt, otherWorkspaceBranches as u, ensureAllCacheConfig as ui, blankRow as un, repoDefaultBranch as ur, killServers as ut, revParse as v, agentPhase as vn, removeHost as vr, stopServers as vt, ensureAllPushHooks as w, noteActivity$1 as wn, changePref as wr, installServer as wt, syncAgentsMd as x, hookReportedAt as xn, WORKSPACE_PREFS as xr, forgetCustomServer as xt, setWorkspaceStatus as y, clearAgentPhase as yn, unreachableRepos as yr, addCustomServer as yt, killSession as z, settleQuietWorking as zn, which as zr, updateTool as zt };
19586
+ export { renameSession as $, agentMeta as $n, toolById as $r, sectionFor as $t, closedSession as A, notePermissionMode as An, deleteSetting as Ar, serverList as At, killWorkspaceSessions as B, setAgentPhase as Bn, doctor as Br, runStreaming as Bt, workspaceBranches as C, hookPhase as Cn, removeHost as Cr, forgetCustomServer as Ct, beginCreation as D, noteActivity$1 as Dn, agentChoices as Dr, lspEnabled as Dt, agentCaller as E, lastTypedAt as En, WORKSPACE_PREFS as Er, installServer as Et, ensureTmuxServer as F, onFinished as Fn, preferredAgent as Fr, installMise as Ft, markTmuxStarted as G, summaryOf as Gn, bornOut as Gr, reviewWaiting as Gt, listPanes as H, setScrapedPhase as Hn, miseInstalls as Hr, fileChanges as Ht, forgetPanes as I, onPhaseChange as In, setDisabledAgents as Ir, installTool as It, notifySessionsChanged as J, turnSince as Jn, TOOLS as Jr, setPoints as Jt, newSessionArgs as K, turnPhase as Kn, firewallProbe as Kr, workspaceDiff as Kt, getSession as L, onTurnEnd as Ln, setPref as Lr, logoutGithub as Lt, creationOf as M, noteTyped as Mn, enabledAgents as Mr, whileInstalling as Mt, descendantsOf as N, noteUserAnswered as Nn, getSetting as Nr, authGithub as Nt, cleanEnv as O, noteBackground as On, allPrefs as Or, removeServer as Ot, disposeSessions as P, notifyEventOn as Pn, isKnownAgent as Pr, installAgent as Pt, pasteToSession as Q, agentLabel as Qn, parseAgentId as Qr, markBranch as Qt, interruptSession as R, onTurnFailed as Rn, setSetting as Rr, refreshGithub as Rt, withProgressOp as S, clearAgentPhase as Sn, normalizeHost as Sr, allServers as St, hookToken as T, interruptedSinceReport as Tn, PREF_MAX as Tr, installKey as Tt, listPanesWithin as U, setSessionViewers as Un, miseVersions as Ur, readBlobAt as Ut, launchDir as V, setExpecting as Vn, ghKnownHosts as Vr, updateTool as Vt, listSessions as W, settleQuietWorking as Wn, which as Wr, readFileAt as Wt, ownWorkspaceOnly as X, agentFamily as Xn, agentLabel$1 as Xr, diffStamp as Xt, onSessionDispose as Y, agentBadge as Yn, agentById as Yr, startSnapSweep as Yt, panePids as Z, agentFromCommand as Zn, catalogPin as Zr, commentFolder as Zt, retryMaterialize as _, git as _i, cleanSummary as _n, addHost as _r, lspWarm as _t, ensureUntrackedCache as a, readBody as ai, workspacePrs as an, setInstance as ar, sessionInfo as at, sweepTrash as b, swr as bi, activityOf as bn, forgetToken as br, stopServers as bt, insertPendingWorkspace as c, subscribe as ci, interruptKeys as cn, saveSubscription as cr, tmuxWasStarted as ct, progress as d, db as di, reportsWorking as dn, headOid as dr, workspaceProcs as dt, applyPrefChange as ei, dismissPr as en, ACCENT_RE as er, reopenSession as et, progressSince as f, get as fi, steerKeys as fn, pendingSsoOrgs as fr, killServers as ft, resumePendingWorkspaces as g, TMUX_SOCKET as gi, writeCache as gn, DEFAULT_HOST as gr, lspUses as gt, removeRepo as h, ensureAllCacheConfig as hi, readCache as hn, repoDefaultBranch as hr, lspQueryOf as ht, deleteWorkspace as i, httpError as ii, withoutDismissed as in, normalizeAccent as ir, sendToSession as it, createSession as j, noteTurnFailed as jn, disabledAgents as jr, sharing as jt, clearTmuxStarted as k, noteInterrupt as kn, changePref as kr, serverById as kt, listWorkspaces as l, subscriberCount as li, quotesPastes as ln, sendPush as lr, killWorkspaceProc as lt, queueMaterialize as m, ownsBranchOf as mi, credentialStamp as mn, repoCatalog as mr, lspQuery as mt, barePath as n, FRAME_HEADERS as ni, notePushActivity as nn, iconSvg as nr, restartSession as nt, gcBares as o, publish as oi, noteActivity as on, deleteSubscription as or, sessionStates as ot, pruneLaneBranch as p, workspacePath as pi, blankRow as pn, repoBranches as pr, lspDiagnostics as pt, noteConversation as q, turnSettling as qn, PROJECT_TOOLS as qr, workspaceSections as qt, createWorkspace as r, checked as ri, refreshPrsBatch as rn, manifest as rr, retireSession as rt, getWorkspace as s, publishJson as si, AGENTS as sn, pushPublicKey as sr, tmuxName as st, addRepo as t, FRAME_ANCESTORS as ti, hotBatchMinMs as tn, getInstance as tr, reopenable as tt, otherWorkspaceBranches as u, all as ui, readHookPayload as un, validSubscription as ur, portsByWorkspace as ut, revParse as v, tmux as vi, inside as vn, configuredHosts as vr, runningServers as vt, ensureAllPushHooks as w, hookReportedAt as wn, unreachableRepos as wr, forgetProbes as wt, syncAgentsMd as x, withLock as xi, agentPhase as xn, isValidHost as xr, addCustomServer as xt, setWorkspaceStatus as y, config as yi, realInside as yn, ensureGitCredentials as yr, stopAllServers as yt, killSession as z, sessionWatched as zn, discoverAgents as zr, removeTool as zt };
@@ -0,0 +1,2 @@
1
+ import { f as teamsOf } from "./_CZ4mgOdb.js";
2
+ export { teamsOf };