@dylanpiercey/work 0.2.71 → 0.2.73

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 (487) hide show
  1. package/dist/{_DHaRHB4s.js → _BiUfgowG.js} +320 -52
  2. package/dist/{_BcuBHot2.js → _CtHjlhv3.js} +76 -76
  3. package/dist/_Cxk-BqG-.js +2 -0
  4. package/dist/{_B3z3x0nb.js → _DD5Sr1iE.js} +1 -1
  5. package/dist/_Dl08ohid.js +2 -0
  6. package/dist/index.mjs +955 -995
  7. package/dist/public/assets/{_BUh4HTF3.js → _0Myeo8Uj.js} +1 -1
  8. package/dist/public/assets/_0Myeo8Uj.js.br +0 -0
  9. package/dist/public/assets/_0NmIkljO.js +1 -0
  10. package/dist/public/assets/_63o02JQ6.js +1 -0
  11. package/dist/public/assets/{_CTbIErzd.js → _7IpiwjNz.js} +1 -1
  12. package/dist/public/assets/_7IpiwjNz.js.br +0 -0
  13. package/dist/public/assets/_8xpY8v_b.js +1 -0
  14. package/dist/public/assets/_9HYNxBog.js +1 -0
  15. package/dist/public/assets/_9bIT7oBM.js +1 -0
  16. package/dist/public/assets/{_BQuf46P2.js → _B-17-HlH.js} +1 -1
  17. package/dist/public/assets/_B-17-HlH.js.br +0 -0
  18. package/dist/public/assets/{_ptpihSzL.js → _B09sKtN3.js} +1 -1
  19. package/dist/public/assets/_B09sKtN3.js.br +0 -0
  20. package/dist/public/assets/{_CjT2-NNY.js → _B0TWNX_m.js} +1 -1
  21. package/dist/public/assets/_B0TWNX_m.js.br +0 -0
  22. package/dist/public/assets/_B0zlfTme.js +1 -0
  23. package/dist/public/assets/{_fZ9Nn0aY.js → _B2eL3QA7.js} +1 -1
  24. package/dist/public/assets/_B2eL3QA7.js.br +0 -0
  25. package/dist/public/assets/_B4VLgoGK.js +1 -0
  26. package/dist/public/assets/{_DB0x3S_V.js → _B56Jv7FE.js} +1 -1
  27. package/dist/public/assets/_B56Jv7FE.js.br +0 -0
  28. package/dist/public/assets/{_Dw2w_cI1.js → _B8ynqx7z.js} +1 -1
  29. package/dist/public/assets/_B8ynqx7z.js.br +0 -0
  30. package/dist/public/assets/{_R3Kvmve2.js → _BCERYg3X.js} +1 -1
  31. package/dist/public/assets/_BCERYg3X.js.br +0 -0
  32. package/dist/public/assets/_BEJUvFWT.js +1 -0
  33. package/dist/public/assets/{_Im1dFxR8.js → _BEhKBuAq.js} +1 -1
  34. package/dist/public/assets/_BEhKBuAq.js.br +0 -0
  35. package/dist/public/assets/_BFE44_oN.js +1 -0
  36. package/dist/public/assets/_BGK-raHb.js +1 -0
  37. package/dist/public/assets/{_Cif8YVIW.js → _BGRldmrY.js} +1 -1
  38. package/dist/public/assets/_BGRldmrY.js.br +0 -0
  39. package/dist/public/assets/{_CwBNy_7k.js → _BHOGoeW8.js} +1 -1
  40. package/dist/public/assets/_BHOGoeW8.js.br +0 -0
  41. package/dist/public/assets/_BHPo-nve.js +1 -0
  42. package/dist/public/assets/_BHpZMD2k.js +1 -0
  43. package/dist/public/assets/_BI3MatRT.js +1 -0
  44. package/dist/public/assets/{_tEBqbfOJ.js → _BI7rFNuU.js} +1 -1
  45. package/dist/public/assets/_BI7rFNuU.js.br +0 -0
  46. package/dist/public/assets/_BMHL5KAI.js +1 -0
  47. package/dist/public/assets/_BMLjhBBj.js +1 -0
  48. package/dist/public/assets/{_CreV-6z6.js → _BMOL7XZ9.js} +1 -1
  49. package/dist/public/assets/_BMOL7XZ9.js.br +0 -0
  50. package/dist/public/assets/{_BPoePslg.js → _BNRgoO8s.js} +1 -1
  51. package/dist/public/assets/_BNRgoO8s.js.br +0 -0
  52. package/dist/public/assets/_BP2aLBge.js +1 -0
  53. package/dist/public/assets/{_Ce6hwXny.js → _BP6OiJO6.js} +1 -1
  54. package/dist/public/assets/_BP6OiJO6.js.br +0 -0
  55. package/dist/public/assets/_BPq5DMr3.js +1 -0
  56. package/dist/public/assets/_BRSlgBnX.js +1 -0
  57. package/dist/public/assets/{_ii--A0F-.js → _BSCLFOaW.js} +1 -1
  58. package/dist/public/assets/_BSCLFOaW.js.br +0 -0
  59. package/dist/public/assets/{_suQAT3jW.js → _BTdN9bmZ.js} +1 -1
  60. package/dist/public/assets/_BTdN9bmZ.js.br +0 -0
  61. package/dist/public/assets/{_DxZFU6SY.js → _BXaYPfXh.js} +1 -1
  62. package/dist/public/assets/_BXaYPfXh.js.br +0 -0
  63. package/dist/public/assets/_BXjqv9Am.js +1 -0
  64. package/dist/public/assets/{_DucELdm1.js → _BXwye7zX.js} +1 -1
  65. package/dist/public/assets/_BXwye7zX.js.br +0 -0
  66. package/dist/public/assets/_B_0VxlSS.js +1 -0
  67. package/dist/public/assets/{_DWJFJSQt.js → _Bb6h3I6x.js} +1 -1
  68. package/dist/public/assets/_Bb6h3I6x.js.br +0 -0
  69. package/dist/public/assets/_Be2DyOsX.js +1 -0
  70. package/dist/public/assets/{_DI_3CxxT.js → _BfCN43mL.js} +1 -1
  71. package/dist/public/assets/{_C5KZ0ozw.js → _BfyVZAsK.js} +1 -1
  72. package/dist/public/assets/_BfyVZAsK.js.br +0 -0
  73. package/dist/public/assets/_Bjh5Ogac.js +1 -0
  74. package/dist/public/assets/{_D1ZTqBtg.js → _Bl-OUb9n.js} +1 -1
  75. package/dist/public/assets/_Bl-OUb9n.js.br +0 -0
  76. package/dist/public/assets/{_ixsF2ttz.js → _Bl_May1o.js} +1 -1
  77. package/dist/public/assets/_Bl_May1o.js.br +0 -0
  78. package/dist/public/assets/{_ShiWFlWr.js → _BmZW8DFT.js} +1 -1
  79. package/dist/public/assets/_BmZW8DFT.js.br +0 -0
  80. package/dist/public/assets/{_D93e76eJ.js → _BnIvobsE.js} +1 -1
  81. package/dist/public/assets/_BnIvobsE.js.br +0 -0
  82. package/dist/public/assets/{_D0n_5okc.js → _Br67j96X.js} +1 -1
  83. package/dist/public/assets/_Br67j96X.js.br +0 -0
  84. package/dist/public/assets/{_DmlL12SP.js → _BsH5S4MG.js} +1 -1
  85. package/dist/public/assets/_BsH5S4MG.js.br +0 -0
  86. package/dist/public/assets/_Bv2YBFFO.js +1 -0
  87. package/dist/public/assets/_BvJBcCbt.js +1 -0
  88. package/dist/public/assets/{_DglTnOtH.js → _BwdHymac.js} +1 -1
  89. package/dist/public/assets/_BwdHymac.js.br +0 -0
  90. package/dist/public/assets/{_BGXJVx0k.js → _By-HwNj0.js} +1 -1
  91. package/dist/public/assets/_By-HwNj0.js.br +0 -0
  92. package/dist/public/assets/_Bz2du8BV.js +1 -0
  93. package/dist/public/assets/_C02k7Xxj.js +1 -0
  94. package/dist/public/assets/_C06H0HS7.js +1 -0
  95. package/dist/public/assets/{_BvskbvTW.js → _C0f7w7QD.js} +1 -1
  96. package/dist/public/assets/_C0f7w7QD.js.br +0 -0
  97. package/dist/public/assets/_C3MzOXNc.js +1 -0
  98. package/dist/public/assets/{_Bx8oVkmQ.js → _C3RMUVGD.js} +1 -1
  99. package/dist/public/assets/_C3RMUVGD.js.br +0 -0
  100. package/dist/public/assets/{_DBqiCvB3.js → _C43aCJdI.js} +1 -1
  101. package/dist/public/assets/_C43aCJdI.js.br +0 -0
  102. package/dist/public/assets/_C53OAbNe.js +1 -0
  103. package/dist/public/assets/{_BXgfsaug.js → _C6KiwMqS.js} +1 -1
  104. package/dist/public/assets/_C6KiwMqS.js.br +0 -0
  105. package/dist/public/assets/{_DUQ4-DAq.js → _CAnAQcJZ.js} +1 -1
  106. package/dist/public/assets/_CAnAQcJZ.js.br +0 -0
  107. package/dist/public/assets/{_CS9qmTkt.js → _CBxCVwxq.js} +1 -1
  108. package/dist/public/assets/_CBxCVwxq.js.br +0 -0
  109. package/dist/public/assets/_CEjywtOG.js +1 -0
  110. package/dist/public/assets/_CHfNZ_fp.js +1 -0
  111. package/dist/public/assets/_CHqz6oM7.js +1 -0
  112. package/dist/public/assets/{_B5SjUyop.js → _CPDF5wIn.js} +1 -1
  113. package/dist/public/assets/_CPDF5wIn.js.br +0 -0
  114. package/dist/public/assets/{_9D7sZPkr.js → _CQ9pgb7l.js} +1 -1
  115. package/dist/public/assets/_CQ9pgb7l.js.br +0 -0
  116. package/dist/public/assets/{_0QJDM3NO.js → _CRoqIbrq.js} +1 -1
  117. package/dist/public/assets/_CRoqIbrq.js.br +0 -0
  118. package/dist/public/assets/_CT1EqmXW.js +1 -0
  119. package/dist/public/assets/_CUhAKWms.js +1 -0
  120. package/dist/public/assets/_CUw7HdT9.js +1 -0
  121. package/dist/public/assets/{_S9Qy4Cmi.js → _CV1S2o9l.js} +1 -1
  122. package/dist/public/assets/_CV1S2o9l.js.br +0 -0
  123. package/dist/public/assets/{_C15TsQVx.js → _CVW8OeSx.js} +1 -1
  124. package/dist/public/assets/_CVW8OeSx.js.br +0 -0
  125. package/dist/public/assets/_CVwxhNJr.js +1 -0
  126. package/dist/public/assets/{_YcOZiOZ4.js → _CZ8FgI22.js} +2 -2
  127. package/dist/public/assets/_CZ8FgI22.js.br +0 -0
  128. package/dist/public/assets/{_DVUACl-0.js → _C_N0AK3p.js} +1 -1
  129. package/dist/public/assets/_C_N0AK3p.js.br +0 -0
  130. package/dist/public/assets/_Cb7xWgF-.js +1 -0
  131. package/dist/public/assets/_CjSWLeRo.js +1 -0
  132. package/dist/public/assets/{_x7Lebeio.js → _CmiTy2wS.js} +1 -1
  133. package/dist/public/assets/_CmiTy2wS.js.br +0 -0
  134. package/dist/public/assets/{_DcKVJllO.js → _Co3Raudi.js} +1 -1
  135. package/dist/public/assets/_Co3Raudi.js.br +0 -0
  136. package/dist/public/assets/{_BHypHLzv.js → _CoBDRgY8.js} +1 -1
  137. package/dist/public/assets/_CoBDRgY8.js.br +0 -0
  138. package/dist/public/assets/{_KsdD4dsM.js → _CqKQ_0Kr.js} +1 -1
  139. package/dist/public/assets/_CqKQ_0Kr.js.br +0 -0
  140. package/dist/public/assets/_Crg_iz_m.js +1 -0
  141. package/dist/public/assets/{_BVXZCAXs.js → _CsLen0dp.js} +1 -1
  142. package/dist/public/assets/_CsLen0dp.js.br +0 -0
  143. package/dist/public/assets/_Cspj6G7S.js +1 -0
  144. package/dist/public/assets/_CuC7QOd3.js +1 -0
  145. package/dist/public/assets/_CwJmV9F8.js +1 -0
  146. package/dist/public/assets/_CwLNjVog.js +1 -0
  147. package/dist/public/assets/{_R7YbF1yw.js → _Cx3rc5tY.js} +1 -1
  148. package/dist/public/assets/_Cx3rc5tY.js.br +0 -0
  149. package/dist/public/assets/{_l71VhzhS.js → _Cz2bE77A.js} +1 -1
  150. package/dist/public/assets/_Cz2bE77A.js.br +0 -0
  151. package/dist/public/assets/_CzISmv6F.js +1 -0
  152. package/dist/public/assets/_D0Eknshf.js +1 -0
  153. package/dist/public/assets/_D0lUUikT.js +1 -0
  154. package/dist/public/assets/_D1Wl5Q6-.js +1 -0
  155. package/dist/public/assets/_D1YswJd4.js +1 -0
  156. package/dist/public/assets/{_TLB-Nq6Z.js → _D1r0Lrqh.js} +1 -1
  157. package/dist/public/assets/_D1r0Lrqh.js.br +0 -0
  158. package/dist/public/assets/_D7Z4DNn_.js +1 -0
  159. package/dist/public/assets/_DAd2Es3Y.js +1 -0
  160. package/dist/public/assets/{_D0PrCOmg.js → _DCMFcmmT.js} +1 -1
  161. package/dist/public/assets/_DCMFcmmT.js.br +0 -0
  162. package/dist/public/assets/{_CwAvlnWz.js → _DCYUTk_C.js} +1 -1
  163. package/dist/public/assets/_DCYUTk_C.js.br +0 -0
  164. package/dist/public/assets/{_Alp3-sd6.js → _DG0if15T.js} +1 -1
  165. package/dist/public/assets/{_LRjlRqrU.js → _DG0rrzn-.js} +5 -5
  166. package/dist/public/assets/_DG0rrzn-.js.br +0 -0
  167. package/dist/public/assets/{_CmcVar5g.js → _DGsolka6.js} +1 -1
  168. package/dist/public/assets/_DGsolka6.js.br +0 -0
  169. package/dist/public/assets/{_LniUny_a.js → _DI6AoFkw.js} +1 -1
  170. package/dist/public/assets/_DI6AoFkw.js.br +0 -0
  171. package/dist/public/assets/{_Cb-D3ERI.js → _DIveDyhy.js} +1 -1
  172. package/dist/public/assets/_DIveDyhy.js.br +0 -0
  173. package/dist/public/assets/{_BPHBcrYh.js → _DJgEg0FF.js} +1 -1
  174. package/dist/public/assets/_DJgEg0FF.js.br +0 -0
  175. package/dist/public/assets/{_-JtZtVz8.js → _DN894k7B.js} +1 -1
  176. package/dist/public/assets/_DN894k7B.js.br +0 -0
  177. package/dist/public/assets/{_DzSNrU-9.js → _DTXE6wNa.js} +1 -1
  178. package/dist/public/assets/_DTXE6wNa.js.br +0 -0
  179. package/dist/public/assets/_DTmGDy8n.js +1 -0
  180. package/dist/public/assets/_DTxu9HXe.js +1 -0
  181. package/dist/public/assets/{_5lt7STSU.js → _DU3w-UnP.js} +9 -9
  182. package/dist/public/assets/_DU3w-UnP.js.br +0 -0
  183. package/dist/public/assets/{_dSWMMogH.js → _DWXroltD.js} +1 -1
  184. package/dist/public/assets/_DWXroltD.js.br +0 -0
  185. package/dist/public/assets/{_HnLpRxna.js → _D_Il-78j.js} +2 -2
  186. package/dist/public/assets/_D_Il-78j.js.br +0 -0
  187. package/dist/public/assets/{_CDHWB_us.js → _D_lIN3zT.js} +1 -1
  188. package/dist/public/assets/_D_lIN3zT.js.br +0 -0
  189. package/dist/public/assets/_DbZm9pYk.js +1 -0
  190. package/dist/public/assets/_DbftQrmj.js +1 -0
  191. package/dist/public/assets/_DbyPSel0.js +1 -0
  192. package/dist/public/assets/_DcsXPQRb.js +1 -0
  193. package/dist/public/assets/{_CYHURCb7.js → _DfJyeaYq.js} +1 -1
  194. package/dist/public/assets/_DfJyeaYq.js.br +0 -0
  195. package/dist/public/assets/{_DPO20UhE.js → _DgYkVw0-.js} +1 -1
  196. package/dist/public/assets/_DgYkVw0-.js.br +0 -0
  197. package/dist/public/assets/{_D2zuXOi5.js → _Dg_ze524.js} +1 -1
  198. package/dist/public/assets/_Dg_ze524.js.br +0 -0
  199. package/dist/public/assets/_DhXKBWdu.js +1 -0
  200. package/dist/public/assets/{_Dx2nYKAs.js → _DhclWG-5.js} +1 -1
  201. package/dist/public/assets/_DhclWG-5.js.br +0 -0
  202. package/dist/public/assets/{_DW_3eCmy.js → _DhmFkrUZ.js} +1 -1
  203. package/dist/public/assets/_DhmFkrUZ.js.br +0 -0
  204. package/dist/public/assets/_DikbBesk.js +1 -0
  205. package/dist/public/assets/{_B7FCBIYG.js → _DjCx2sH5.js} +1 -1
  206. package/dist/public/assets/_DjCx2sH5.js.br +0 -0
  207. package/dist/public/assets/{_BikFQJva.js → _DjiQNpVu.js} +1 -1
  208. package/dist/public/assets/_Dn79zvcw.js +1 -0
  209. package/dist/public/assets/_DnQfbICI.js +1 -0
  210. package/dist/public/assets/_DpL_noRa.js +1 -0
  211. package/dist/public/assets/{_D3mGPwaD.js → _Dpr7O4Jg.js} +1 -1
  212. package/dist/public/assets/{_vy4Y1hd_.js → _DruX1vFh.js} +1 -1
  213. package/dist/public/assets/_DruX1vFh.js.br +0 -0
  214. package/dist/public/assets/{_BtWMgvvl.js → _DudVWlAb.js} +2 -2
  215. package/dist/public/assets/_DudVWlAb.js.br +0 -0
  216. package/dist/public/assets/{_CCl1txGr.js → _DyZszzJ-.js} +1 -1
  217. package/dist/public/assets/_O5J2RC0n.js +1 -0
  218. package/dist/public/assets/_OviqEULq.js +1 -0
  219. package/dist/public/assets/_P4JUdKfa.js +1 -0
  220. package/dist/public/assets/{_BJ0RWeiG.js → _QiRKPWXq.js} +1 -1
  221. package/dist/public/assets/_QiRKPWXq.js.br +0 -0
  222. package/dist/public/assets/_Qn82a-cP.js +1 -0
  223. package/dist/public/assets/{_B0sUN2tx.js → _QzPnqngf.js} +1 -1
  224. package/dist/public/assets/_QzPnqngf.js.br +0 -0
  225. package/dist/public/assets/{_6D14OK7z.js → _RPi2R4CB.js} +1 -1
  226. package/dist/public/assets/_RPi2R4CB.js.br +0 -0
  227. package/dist/public/assets/{_DsxZHqAt.js → _SV0JRq5F.js} +1 -1
  228. package/dist/public/assets/_SV0JRq5F.js.br +0 -0
  229. package/dist/public/assets/_Sqg-2kl7.js +1 -0
  230. package/dist/public/assets/{_t5-hsdI5.js → _THMdGshG.js} +1 -1
  231. package/dist/public/assets/_THMdGshG.js.br +0 -0
  232. package/dist/public/assets/_TZ4E4MiW.js +1 -0
  233. package/dist/public/assets/{_CSa_w7tA.js → _Ty4HPFLC.js} +4 -4
  234. package/dist/public/assets/_Ty4HPFLC.js.br +0 -0
  235. package/dist/public/assets/_UoqlF2QJ.js +1 -0
  236. package/dist/public/assets/{_CRew7lgJ.js → _V72aw8Ph.js} +1 -1
  237. package/dist/public/assets/_V72aw8Ph.js.br +0 -0
  238. package/dist/public/assets/{_CsnlIPmX.js → _VBSAkZWN.js} +1 -1
  239. package/dist/public/assets/_VBSAkZWN.js.br +0 -0
  240. package/dist/public/assets/{_Dnj7y5O6.js → _XKI3yZ8R.js} +1 -1
  241. package/dist/public/assets/_XKI3yZ8R.js.br +0 -0
  242. package/dist/public/assets/{_BlSH3TRK.js → _XrlQVB27.js} +1 -1
  243. package/dist/public/assets/_XrlQVB27.js.br +0 -0
  244. package/dist/public/assets/_ZynPbLxw.js +1 -0
  245. package/dist/public/assets/_bBFwbtws.js +12 -0
  246. package/dist/public/assets/_bBFwbtws.js.br +0 -0
  247. package/dist/public/assets/{_D4SspWzi.js → _bUcSEkB-.js} +1 -1
  248. package/dist/public/assets/_bUcSEkB-.js.br +0 -0
  249. package/dist/public/assets/{_CQuARfyY.js → _eQQeFwjH.js} +1 -1
  250. package/dist/public/assets/_eQQeFwjH.js.br +0 -0
  251. package/dist/public/assets/_f75Qo9Jp.js +1 -0
  252. package/dist/public/assets/_h5z6WMTs.js +1 -0
  253. package/dist/public/assets/{_C2IlBo8e.js → _h9KRktxS.js} +1 -1
  254. package/dist/public/assets/_h9KRktxS.js.br +0 -0
  255. package/dist/public/assets/_ilirX6UQ.js +1 -0
  256. package/dist/public/assets/{_BUbGYrKa.js → _irANLi1D.js} +1 -1
  257. package/dist/public/assets/_irANLi1D.js.br +0 -0
  258. package/dist/public/assets/{_CEgYI4gj.js → _lgMzzaLT.js} +1 -1
  259. package/dist/public/assets/_lgMzzaLT.js.br +0 -0
  260. package/dist/public/assets/_mND6Wrrx.js +1 -0
  261. package/dist/public/assets/{_Cx0sSSLJ.js → _oYLqOlc6.js} +1 -1
  262. package/dist/public/assets/_oYLqOlc6.js.br +0 -0
  263. package/dist/public/assets/_pM4RSo4u.js +1 -0
  264. package/dist/public/assets/{_D-4UJozU.js → _pOQtoQg6.js} +1 -1
  265. package/dist/public/assets/_pOQtoQg6.js.br +0 -0
  266. package/dist/public/assets/{_CvrDFzmP.js → _piTKAo6j.js} +1 -1
  267. package/dist/public/assets/_piTKAo6j.js.br +0 -0
  268. package/dist/public/assets/{_4ogr0vzb.js → _qauO_7V2.js} +1 -1
  269. package/dist/public/assets/_qauO_7V2.js.br +0 -0
  270. package/dist/public/assets/{_CPTaxuJG.js → _qfyF04Y2.js} +1 -1
  271. package/dist/public/assets/_qfyF04Y2.js.br +0 -0
  272. package/dist/public/assets/{_0vqLbImj.js → _qoyGF7CZ.js} +1 -1
  273. package/dist/public/assets/_qoyGF7CZ.js.br +0 -0
  274. package/dist/public/assets/_qu6C8XPM.js +1 -0
  275. package/dist/public/assets/_r2Yu5qIU.js +1 -0
  276. package/dist/public/assets/_v_jL1fpE.js +1 -0
  277. package/dist/public/assets/{_C3F6fdUB.js → _vfhwJV15.js} +1 -1
  278. package/dist/public/assets/{_C09HUxcS.js → _wieMw92m.js} +1 -1
  279. package/dist/public/assets/_wieMw92m.js.br +0 -0
  280. package/dist/public/assets/_wxGzaASD.js +1 -0
  281. package/dist/public/assets/_xDT3H4Eg.js +1 -0
  282. package/dist/public/assets/_zlOS_eFh.js +1 -0
  283. package/dist/public/assets/files-view-B9aNEw-5.js +2 -0
  284. package/dist/public/assets/manage-workspace-BvAxYrFw.js +2 -0
  285. package/dist/public/assets/new-Bit6MQ86.js +1 -0
  286. package/dist/public/assets/new-workspace-CZpqQdAK.js +2 -0
  287. package/dist/public/assets/review-view-DVPO32-d.js +2 -0
  288. package/dist/public/assets/settings-Bit6MQ86.js +1 -0
  289. package/dist/public/assets/settings-page-CntU0gnX.js +2 -0
  290. package/dist/public/assets/styles-5NoaixcQ.css +1 -0
  291. package/dist/public/assets/styles-5NoaixcQ.css.br +0 -0
  292. package/dist/public/assets/w-Bit6MQ86.js +1 -0
  293. package/dist/public/assets/w._-Bit6MQ86.js +1 -0
  294. package/dist/public/assets/w._-CIuw54JA.js +1 -0
  295. package/dist/public/assets/w._-DEr4qmCX.js +1 -0
  296. package/package.json +1 -1
  297. package/dist/_BawMVLA9.js +0 -2
  298. package/dist/_D3ixWlKr.js +0 -2
  299. package/dist/public/assets/_-JtZtVz8.js.br +0 -0
  300. package/dist/public/assets/_0QJDM3NO.js.br +0 -0
  301. package/dist/public/assets/_0vqLbImj.js.br +0 -0
  302. package/dist/public/assets/_2W-pgjXX.js +0 -1
  303. package/dist/public/assets/_4ogr0vzb.js.br +0 -0
  304. package/dist/public/assets/_5lt7STSU.js.br +0 -0
  305. package/dist/public/assets/_6D14OK7z.js.br +0 -0
  306. package/dist/public/assets/_9D7sZPkr.js.br +0 -0
  307. package/dist/public/assets/_B0CqgYFf.js +0 -1
  308. package/dist/public/assets/_B0sUN2tx.js.br +0 -0
  309. package/dist/public/assets/_B1KbLd5h.js +0 -1
  310. package/dist/public/assets/_B5SjUyop.js.br +0 -0
  311. package/dist/public/assets/_B7FCBIYG.js.br +0 -0
  312. package/dist/public/assets/_B9G7-El7.js +0 -1
  313. package/dist/public/assets/_BDNW7Ugd.js +0 -1
  314. package/dist/public/assets/_BGXJVx0k.js.br +0 -0
  315. package/dist/public/assets/_BHypHLzv.js.br +0 -0
  316. package/dist/public/assets/_BJ0RWeiG.js.br +0 -0
  317. package/dist/public/assets/_BLALkhiZ.js +0 -12
  318. package/dist/public/assets/_BLALkhiZ.js.br +0 -0
  319. package/dist/public/assets/_BMNhhqEV.js +0 -1
  320. package/dist/public/assets/_BPHBcrYh.js.br +0 -0
  321. package/dist/public/assets/_BPoePslg.js.br +0 -0
  322. package/dist/public/assets/_BQuf46P2.js.br +0 -0
  323. package/dist/public/assets/_BTydwZJh.js +0 -1
  324. package/dist/public/assets/_BUbGYrKa.js.br +0 -0
  325. package/dist/public/assets/_BUh4HTF3.js.br +0 -0
  326. package/dist/public/assets/_BVXZCAXs.js.br +0 -0
  327. package/dist/public/assets/_BWBW2sE5.js +0 -1
  328. package/dist/public/assets/_BXgfsaug.js.br +0 -0
  329. package/dist/public/assets/_BZycN9ye.js +0 -1
  330. package/dist/public/assets/_BaQeAF-B.js +0 -1
  331. package/dist/public/assets/_BhA6H8WQ.js +0 -1
  332. package/dist/public/assets/_Bk0YJ7b1.js +0 -1
  333. package/dist/public/assets/_BlSH3TRK.js.br +0 -0
  334. package/dist/public/assets/_BqSnw21E.js +0 -1
  335. package/dist/public/assets/_BtWMgvvl.js.br +0 -0
  336. package/dist/public/assets/_BvskbvTW.js.br +0 -0
  337. package/dist/public/assets/_Bx8oVkmQ.js.br +0 -0
  338. package/dist/public/assets/_BxPoJO_L.js +0 -1
  339. package/dist/public/assets/_C09HUxcS.js.br +0 -0
  340. package/dist/public/assets/_C14PL76N.js +0 -1
  341. package/dist/public/assets/_C15TsQVx.js.br +0 -0
  342. package/dist/public/assets/_C1bNeWUD.js +0 -1
  343. package/dist/public/assets/_C2IlBo8e.js.br +0 -0
  344. package/dist/public/assets/_C5KZ0ozw.js.br +0 -0
  345. package/dist/public/assets/_C94IJ4uX.js +0 -1
  346. package/dist/public/assets/_CCRiWfSo.js +0 -1
  347. package/dist/public/assets/_CDHWB_us.js.br +0 -0
  348. package/dist/public/assets/_CE-UlWde.js +0 -1
  349. package/dist/public/assets/_CEgYI4gj.js.br +0 -0
  350. package/dist/public/assets/_CI9y5SMD.js +0 -1
  351. package/dist/public/assets/_CLrYkY55.js +0 -1
  352. package/dist/public/assets/_CPTaxuJG.js.br +0 -0
  353. package/dist/public/assets/_CQKcBCsl.js +0 -1
  354. package/dist/public/assets/_CQuARfyY.js.br +0 -0
  355. package/dist/public/assets/_CRdqojLF.js +0 -1
  356. package/dist/public/assets/_CRew7lgJ.js.br +0 -0
  357. package/dist/public/assets/_CS11TygF.js +0 -1
  358. package/dist/public/assets/_CS9qmTkt.js.br +0 -0
  359. package/dist/public/assets/_CSSixb56.js +0 -1
  360. package/dist/public/assets/_CSa_w7tA.js.br +0 -0
  361. package/dist/public/assets/_CTbIErzd.js.br +0 -0
  362. package/dist/public/assets/_CXf2VxeD.js +0 -1
  363. package/dist/public/assets/_CYHURCb7.js.br +0 -0
  364. package/dist/public/assets/_C_vPuVhA.js +0 -1
  365. package/dist/public/assets/_Cajx7i0I.js +0 -1
  366. package/dist/public/assets/_Cb-D3ERI.js.br +0 -0
  367. package/dist/public/assets/_Cc8Hhqep.js +0 -1
  368. package/dist/public/assets/_Ce6hwXny.js.br +0 -0
  369. package/dist/public/assets/_CeSD_6xP.js +0 -1
  370. package/dist/public/assets/_CfFIePkk.js +0 -1
  371. package/dist/public/assets/_CfUhSwyu.js +0 -1
  372. package/dist/public/assets/_CfziTCiN.js +0 -1
  373. package/dist/public/assets/_Ci7l0V_h.js +0 -1
  374. package/dist/public/assets/_Cif8YVIW.js.br +0 -0
  375. package/dist/public/assets/_CjI_b19m.js +0 -1
  376. package/dist/public/assets/_CjT2-NNY.js.br +0 -0
  377. package/dist/public/assets/_Cjromvor.js +0 -1
  378. package/dist/public/assets/_CmcVar5g.js.br +0 -0
  379. package/dist/public/assets/_Cof8T6gT.js +0 -1
  380. package/dist/public/assets/_CreV-6z6.js.br +0 -0
  381. package/dist/public/assets/_CsKkccjn.js +0 -1
  382. package/dist/public/assets/_CsnlIPmX.js.br +0 -0
  383. package/dist/public/assets/_CsxBH5UX.js +0 -1
  384. package/dist/public/assets/_CvrDFzmP.js.br +0 -0
  385. package/dist/public/assets/_CwAvlnWz.js.br +0 -0
  386. package/dist/public/assets/_CwBNy_7k.js.br +0 -0
  387. package/dist/public/assets/_Cx0sSSLJ.js.br +0 -0
  388. package/dist/public/assets/_CxyaZiJz.js +0 -1
  389. package/dist/public/assets/_D-4UJozU.js.br +0 -0
  390. package/dist/public/assets/_D0PrCOmg.js.br +0 -0
  391. package/dist/public/assets/_D0n_5okc.js.br +0 -0
  392. package/dist/public/assets/_D1ZTqBtg.js.br +0 -0
  393. package/dist/public/assets/_D2m31-DG.js +0 -1
  394. package/dist/public/assets/_D2vTqjKk.js +0 -1
  395. package/dist/public/assets/_D2zuXOi5.js.br +0 -0
  396. package/dist/public/assets/_D4SspWzi.js.br +0 -0
  397. package/dist/public/assets/_D8BYyk4L.js +0 -1
  398. package/dist/public/assets/_D8c2vqae.js +0 -1
  399. package/dist/public/assets/_D93e76eJ.js.br +0 -0
  400. package/dist/public/assets/_DB0x3S_V.js.br +0 -0
  401. package/dist/public/assets/_DBqiCvB3.js.br +0 -0
  402. package/dist/public/assets/_DDPfcBYW.js +0 -1
  403. package/dist/public/assets/_DE7f6G-4.js +0 -1
  404. package/dist/public/assets/_DFc8nVyA.js +0 -1
  405. package/dist/public/assets/_DGNNG6hE.js +0 -1
  406. package/dist/public/assets/_DKaZoJEU.js +0 -1
  407. package/dist/public/assets/_DPCcVPqS.js +0 -1
  408. package/dist/public/assets/_DPO20UhE.js.br +0 -0
  409. package/dist/public/assets/_DQ9KMZkg.js +0 -1
  410. package/dist/public/assets/_DQfR4nGA.js +0 -1
  411. package/dist/public/assets/_DRl7_NsH.js +0 -1
  412. package/dist/public/assets/_DSjKT54G.js +0 -1
  413. package/dist/public/assets/_DUQ4-DAq.js.br +0 -0
  414. package/dist/public/assets/_DVUACl-0.js.br +0 -0
  415. package/dist/public/assets/_DVaVJl4U.js +0 -1
  416. package/dist/public/assets/_DWJFJSQt.js.br +0 -0
  417. package/dist/public/assets/_DW_3eCmy.js.br +0 -0
  418. package/dist/public/assets/_DWcr4WT2.js +0 -1
  419. package/dist/public/assets/_D_uqbH0s.js +0 -1
  420. package/dist/public/assets/_Db3LFxDp.js +0 -1
  421. package/dist/public/assets/_DcKVJllO.js.br +0 -0
  422. package/dist/public/assets/_De55CP4F.js +0 -1
  423. package/dist/public/assets/_DglTnOtH.js.br +0 -0
  424. package/dist/public/assets/_DhyrSLt_.js +0 -1
  425. package/dist/public/assets/_DishjoMc.js +0 -1
  426. package/dist/public/assets/_DlHs_b1x.js +0 -1
  427. package/dist/public/assets/_DmlL12SP.js.br +0 -0
  428. package/dist/public/assets/_Dnj7y5O6.js.br +0 -0
  429. package/dist/public/assets/_DqB9AEIR.js +0 -1
  430. package/dist/public/assets/_DqmZjpyA.js +0 -1
  431. package/dist/public/assets/_DrC0PHwd.js +0 -1
  432. package/dist/public/assets/_DrtDlCCB.js +0 -1
  433. package/dist/public/assets/_DsxZHqAt.js.br +0 -0
  434. package/dist/public/assets/_DucELdm1.js.br +0 -0
  435. package/dist/public/assets/_Dw2w_cI1.js.br +0 -0
  436. package/dist/public/assets/_Dx2nYKAs.js.br +0 -0
  437. package/dist/public/assets/_DxZFU6SY.js.br +0 -0
  438. package/dist/public/assets/_DyztCqYX.js +0 -1
  439. package/dist/public/assets/_Dz42MOZj.js +0 -1
  440. package/dist/public/assets/_DzSNrU-9.js.br +0 -0
  441. package/dist/public/assets/_HnLpRxna.js.br +0 -0
  442. package/dist/public/assets/_Im1dFxR8.js.br +0 -0
  443. package/dist/public/assets/_ImlHzwYY.js +0 -1
  444. package/dist/public/assets/_J-P8YHmV.js +0 -1
  445. package/dist/public/assets/_KsdD4dsM.js.br +0 -0
  446. package/dist/public/assets/_LRjlRqrU.js.br +0 -0
  447. package/dist/public/assets/_LTl-SYyD.js +0 -1
  448. package/dist/public/assets/_LniUny_a.js.br +0 -0
  449. package/dist/public/assets/_Oup4mCuX.js +0 -1
  450. package/dist/public/assets/_R3Kvmve2.js.br +0 -0
  451. package/dist/public/assets/_R7YbF1yw.js.br +0 -0
  452. package/dist/public/assets/_S9Qy4Cmi.js.br +0 -0
  453. package/dist/public/assets/_ShiWFlWr.js.br +0 -0
  454. package/dist/public/assets/_TLB-Nq6Z.js.br +0 -0
  455. package/dist/public/assets/_YcOZiOZ4.js.br +0 -0
  456. package/dist/public/assets/_YjSW_ahw.js +0 -1
  457. package/dist/public/assets/_c9iXcb5V.js +0 -1
  458. package/dist/public/assets/_dSWMMogH.js.br +0 -0
  459. package/dist/public/assets/_dp0lBRTw.js +0 -1
  460. package/dist/public/assets/_etOTb_Um.js +0 -1
  461. package/dist/public/assets/_fZ9Nn0aY.js.br +0 -0
  462. package/dist/public/assets/_h3o298tf.js +0 -1
  463. package/dist/public/assets/_iTnQEpuR.js +0 -1
  464. package/dist/public/assets/_ii--A0F-.js.br +0 -0
  465. package/dist/public/assets/_ixsF2ttz.js.br +0 -0
  466. package/dist/public/assets/_kQ2OAVME.js +0 -1
  467. package/dist/public/assets/_l71VhzhS.js.br +0 -0
  468. package/dist/public/assets/_ptpihSzL.js.br +0 -0
  469. package/dist/public/assets/_suQAT3jW.js.br +0 -0
  470. package/dist/public/assets/_t5-hsdI5.js.br +0 -0
  471. package/dist/public/assets/_tEBqbfOJ.js.br +0 -0
  472. package/dist/public/assets/_vy4Y1hd_.js.br +0 -0
  473. package/dist/public/assets/_x7Lebeio.js.br +0 -0
  474. package/dist/public/assets/_z3J861v3.js +0 -1
  475. package/dist/public/assets/files-view-DyuIyBwJ.js +0 -2
  476. package/dist/public/assets/manage-workspace-CtSdSPLU.js +0 -2
  477. package/dist/public/assets/new-ClUAGfpX.js +0 -1
  478. package/dist/public/assets/new-workspace-BLb55_cv.js +0 -2
  479. package/dist/public/assets/review-view-BhRXZEwU.js +0 -2
  480. package/dist/public/assets/settings-ClUAGfpX.js +0 -1
  481. package/dist/public/assets/settings-page-CTit2PgC.js +0 -2
  482. package/dist/public/assets/styles-C4hTgteh.css +0 -1
  483. package/dist/public/assets/styles-C4hTgteh.css.br +0 -0
  484. package/dist/public/assets/w-ClUAGfpX.js +0 -1
  485. package/dist/public/assets/w._-ClUAGfpX.js +0 -1
  486. package/dist/public/assets/w._-CtbjyBu3.js +0 -1
  487. package/dist/public/assets/w._-D5ZiKvyZ.js +0 -1
@@ -9674,7 +9674,7 @@ function publishChange(sessionId) {
9674
9674
  const row = get("SELECT workspace_id FROM sessions WHERE id = ?", sessionId);
9675
9675
  if (row?.workspace_id) {
9676
9676
  const workspaceId = row.workspace_id;
9677
- import("./_BawMVLA9.js").then((m) => m.notifySessionsChanged(workspaceId));
9677
+ import("./_Dl08ohid.js").then((m) => m.notifySessionsChanged(workspaceId));
9678
9678
  return;
9679
9679
  }
9680
9680
  publish("sessions.changed");
@@ -11910,7 +11910,8 @@ onPhaseChange(() => {
11910
11910
  });
11911
11911
  /** Whether files under `dir` may have changed since `since` (ms): an agent
11912
11912
  * of its workspace working now, or anything noted there since. A directory
11913
- * outside every workspace may have, always. */
11913
+ * outside every workspace may have, always. Per workspace, not per folder,
11914
+ * by choice: an agent writes wherever it `cd`s, which nothing here sees. */
11914
11915
  function activeSince(dir, since) {
11915
11916
  const id = workspaceAt(dir);
11916
11917
  if (!id) return true;
@@ -11937,7 +11938,14 @@ function workspaceAt(dir) {
11937
11938
  * each its own process. Kept by size, the least recently used going
11938
11939
  * first; a failure is never kept (the object may simply not be here
11939
11940
  * yet). */
11940
- var MAX_BYTES = 134217728;
11941
+ var MiB = 1048576;
11942
+ /** A thirty-second of the machine's memory, between 128 MiB and 1 GiB. A
11943
+ * load asks for every section's files in turn, so one workspace whose
11944
+ * patches outgrow the cap pushed each out before the next load came back
11945
+ * for it: a fixed 128 MiB held none of a workspace of ~240 MiB, and every
11946
+ * load took the whole diff again (ten seconds). The text is mostly what
11947
+ * the kept diffs hold anyway. */
11948
+ var MAX_BYTES = Math.min(1024 * MiB, Math.max(128 * MiB, Math.floor(os.totalmem() / 32)));
11941
11949
  var kept = /* @__PURE__ */ new Map();
11942
11950
  var total = 0;
11943
11951
  var SHA = /^[0-9a-f]{40,64}$/;
@@ -12275,6 +12283,92 @@ function sectionFor(list, id) {
12275
12283
  return list.find((r) => r.worktree === repo && (r.pr?.headRefName ?? r.headRef) === `${r.branch}-${topic}`)?.id ?? null;
12276
12284
  }
12277
12285
  //#endregion
12286
+ //#region src/client/fuzzy.ts
12287
+ /** Rank an "org/name" repo against a query, weighting the name over the
12288
+ * org. Higher is better; -1 means no match (including an empty query —
12289
+ * rankRepos owns the empty-query short-circuit). */
12290
+ function repoScore(query, fullName) {
12291
+ if (!query) return -1;
12292
+ const q = query.toLowerCase();
12293
+ const lower = fullName.toLowerCase();
12294
+ const slash = lower.lastIndexOf("/");
12295
+ const name = lower.slice(slash + 1);
12296
+ const orgBonus = lower.slice(0, Math.max(0, slash)).includes(q) ? 5 : 0;
12297
+ if (name === q) return 1e3 + orgBonus;
12298
+ if (name.startsWith(q)) return 800 + orgBonus;
12299
+ if (name.includes(q)) return 600 + orgBonus;
12300
+ if (fuzzy(q, name)) return 400 + orgBonus;
12301
+ if (lower.includes(q)) return 300;
12302
+ if (fuzzy(q, lower)) return 100;
12303
+ return -1;
12304
+ }
12305
+ /** Typeahead ranking policy for repo pickers: skip archived and excluded
12306
+ * repos, order by score (ties: shorter name, then alphabetical), top 8.
12307
+ * An empty query returns no results. */
12308
+ function rankRepos(query, repos, exclude) {
12309
+ if (!query) return [];
12310
+ return repos.map((repo) => ({
12311
+ repo,
12312
+ score: repoScore(query, repo.nameWithOwner)
12313
+ })).filter(({ repo, score }) => !repo.isArchived && score >= 0 && !exclude(repo.nameWithOwner)).sort((a, b) => b.score - a.score || a.repo.nameWithOwner.length - b.repo.nameWithOwner.length || a.repo.nameWithOwner.localeCompare(b.repo.nameWithOwner)).slice(0, 8).map(({ repo }) => repo);
12314
+ }
12315
+ /** Subsequence match: every query char appears in order in `text`. */
12316
+ function fuzzy(query, text) {
12317
+ if (!query) return true;
12318
+ let i = 0;
12319
+ const lower = text.toLowerCase();
12320
+ for (const ch of query.toLowerCase()) {
12321
+ i = lower.indexOf(ch, i);
12322
+ if (i === -1) return false;
12323
+ i++;
12324
+ }
12325
+ return true;
12326
+ }
12327
+ //#endregion
12328
+ //#region src/client/file-filter.ts
12329
+ /** Filter language for the review file list: space-separated terms.
12330
+ * Terms with glob characters match as globs (`*` within a segment, `**`
12331
+ * across segments, `?` one char, unanchored); plain terms keep the fuzzy
12332
+ * subsequence match; a `!` prefix excludes, and a plain excluded term
12333
+ * matches as text (case-insensitive): letters scattered in order are a
12334
+ * fair way to find a file, but would rule out most of a tree (`!test`
12335
+ * would hide `terminal-settings.ts`). A file must pass every include term and
12336
+ * no exclude term. */
12337
+ function makeFileFilter(query) {
12338
+ const includes = [];
12339
+ const excludes = [];
12340
+ for (const raw of query.trim().split(/\s+/).filter(Boolean)) {
12341
+ const negated = raw.startsWith("!");
12342
+ const term = negated ? raw.slice(1) : raw;
12343
+ if (!term) continue;
12344
+ (negated ? excludes : includes).push(termMatcher(term, negated ? contains : fuzzy));
12345
+ }
12346
+ return (path) => !excludes.some((m) => m(path)) && includes.every((m) => m(path));
12347
+ }
12348
+ function contains(term, path) {
12349
+ return path.toLowerCase().includes(term.toLowerCase());
12350
+ }
12351
+ function termMatcher(term, plain) {
12352
+ if (!/[*?]/.test(term)) return (path) => plain(term, path);
12353
+ let source = "";
12354
+ for (let i = 0; i < term.length; i++) {
12355
+ const ch = term[i];
12356
+ if (ch === "*") {
12357
+ if (term[i + 1] === "*") {
12358
+ source += ".*";
12359
+ i++;
12360
+ } else source += "[^/]*";
12361
+ } else if (ch === "?") source += "[^/]";
12362
+ else source += ch.replace(/[.+^${}()|[\]\\]/, "\\$&");
12363
+ }
12364
+ try {
12365
+ const re = new RegExp(source, "i");
12366
+ return (path) => re.test(path);
12367
+ } catch {
12368
+ return (path) => plain(term, path);
12369
+ }
12370
+ }
12371
+ //#endregion
12278
12372
  //#region src/server/diff-stamp.ts
12279
12373
  /** A cheap fingerprint of what a workspace's diff is taken from: each
12280
12374
  * repo's HEAD and branch state, the paths `git status` lists, and each of
@@ -12288,7 +12382,8 @@ function sectionFor(list, id) {
12288
12382
  * agent's `git fetch`, in the shared cache, and a commit on a lane in its
12289
12383
  * own worktree. PR heads are the status watcher's. The diff route answers
12290
12384
  * an unchanged stamp with the diff it last took (`workspaceDiff`). */
12291
- async function diffStamp(ws) {
12385
+ async function diffStamp(ws, only) {
12386
+ if (only) return sectionStamp(ws, only);
12292
12387
  const parts = await Promise.all(ws.repos.map(async (repo) => {
12293
12388
  const dir = path.join(ws.path, repo.worktree);
12294
12389
  let out;
@@ -12314,13 +12409,36 @@ async function diffStamp(ws) {
12314
12409
  } catch {
12315
12410
  return `${repo.worktree}\0-`;
12316
12411
  }
12317
- const stats = await Promise.all(changedPaths(out).map((p) => fs$1.lstat(path.join(dir, p)).then((st) => `${st.size}:${st.mtimeMs}`, () => "-")));
12318
- return `${repo.worktree}\0${head}\0${out}\0${refs}\0${stats.join(",")}`;
12412
+ const stats = await statsOf(dir, out);
12413
+ return `${repo.worktree}\0${head}\0${out}\0${refs}\0${stats}`;
12319
12414
  }));
12320
12415
  const hash = createHash("sha1");
12321
12416
  for (const part of parts) hash.update(part).update("\n");
12322
12417
  return hash.digest("base64url");
12323
12418
  }
12419
+ /** One section's stamp (`SectionScope`): its own refs, and the status of
12420
+ * the checkout or worktree its edits are read from. A review showing one
12421
+ * topic stamped the whole workspace, so another topic's agent at work
12422
+ * held it back behind a Refresh for a change it would not show. */
12423
+ async function sectionStamp(ws, only) {
12424
+ const dir = path.join(ws.path, only.worktree);
12425
+ const [refs, head, out] = await Promise.all([
12426
+ git([
12427
+ "for-each-ref",
12428
+ "--format=%(refname) %(objectname)",
12429
+ ...only.refs
12430
+ ], dir).catch(() => ""),
12431
+ headOid(dir).then((h) => only.checkout ? `${h.branch} ${h.oid}` : h.branch, () => ""),
12432
+ only.edits ? statusOf(only.edits).catch(() => "") : ""
12433
+ ]);
12434
+ const stats = only.edits ? await statsOf(only.edits, out) : "";
12435
+ return createHash("sha1").update(`${only.id}\0${head}\0${refs}\0${out}\0${stats}`).digest("base64url");
12436
+ }
12437
+ /** The size and mtime of each path `git status` listed: a file already
12438
+ * modified stays "M" however often it is edited again. */
12439
+ async function statsOf(dir, status) {
12440
+ return (await Promise.all(changedPaths(status).map((p) => fs$1.lstat(path.join(dir, p)).then((st) => `${st.size}:${st.mtimeMs}`, () => "-")))).join(",");
12441
+ }
12324
12442
  /** Each checkout's last `git status`, and when it was begun. The status
12325
12443
  * is most of a stamp's cost (a large repo's untracked files walked, every
12326
12444
  * few seconds while a review is on screen), and it can only have moved if
@@ -13316,9 +13434,44 @@ async function treeContainedInUncached(dir, base, head, baseTree) {
13316
13434
  * the new stamp over the old diff and never reloads it. */
13317
13435
  var diffInFlight = /* @__PURE__ */ new Map();
13318
13436
  function workspaceDiff(ws, stamp, opts = {}) {
13319
- const { sinceReview, ...listed } = opts;
13437
+ const { sinceReview, only, ...listed } = opts;
13320
13438
  const since = !!sinceReview && !opts.rev && opts.scope !== "dirty";
13321
- return listedDiff(ws, stamp, listed).then((sections) => withReview(ws, sections, since));
13439
+ return listedDiff(ws, stamp, {
13440
+ ...listed,
13441
+ only: only?.id
13442
+ }).then((sections) => withReview(ws, sections, since));
13443
+ }
13444
+ /** The section `pick` names, as one to show alone (`SectionScope`); null
13445
+ * where it names none the strip would list (client branch-state
13446
+ * `inStrip`), which the review then shows with every other. Read from the
13447
+ * one repo's section listing (`repoSectionList`, kept by its refs), so a
13448
+ * stamp asked every few seconds costs no more than its own repo's. */
13449
+ async function sectionScope(ws, pick) {
13450
+ const worktree = pick.split(/[@#]/)[0];
13451
+ const repo = ws.repos.find((r) => r.worktree === worktree);
13452
+ if (!repo) return null;
13453
+ const { dir, list } = await repoSectionList(ws, repo, otherWorkspaceBranches(ws.id));
13454
+ const id = sectionFor(list, pick);
13455
+ const s = id ? list.find((x) => x.id === id) : void 0;
13456
+ if (!id || !s) return null;
13457
+ const head = s.pr?.headRefName ?? s.headRef ?? s.branch;
13458
+ const checkout = head === s.branch;
13459
+ const edits = checkout ? dir : (await laneWorktrees(dir)).get(head);
13460
+ if (!s.pr && s.contained && !(edits && await editsOf(edits))) return null;
13461
+ const own = [head, s.parent].filter((b) => !!b);
13462
+ const bases = [
13463
+ s.pr?.baseRefName,
13464
+ repo.base_branch,
13465
+ repo.default_branch
13466
+ ];
13467
+ const refs = [...own.flatMap((b) => [`refs/heads/${b}`, `refs/remotes/origin/${b}`]), ...bases.flatMap((b) => b ? [`refs/remotes/origin/${b}`] : [])];
13468
+ return {
13469
+ id,
13470
+ worktree,
13471
+ refs: [...new Set(refs)],
13472
+ checkout,
13473
+ ...edits && { edits }
13474
+ };
13322
13475
  }
13323
13476
  function listedDiff(ws, stamp, opts) {
13324
13477
  const { refresh, ...asked } = opts;
@@ -13336,7 +13489,7 @@ function listedDiff(ws, stamp, opts) {
13336
13489
  if (running) return running;
13337
13490
  const last = diffKept.get(which);
13338
13491
  if (last && !refresh && last.stamp === stamp && Date.now() - last.at < DIFF_KEEP_MS) return last.sections;
13339
- const run = computeWorkspaceDiff(ws, opts).finally(() => {
13492
+ const run = (opts.only ? scopedDiff(ws, opts, opts.only) : computeWorkspaceDiff(ws, opts)).finally(() => {
13340
13493
  diffInFlight.delete(key);
13341
13494
  });
13342
13495
  diffInFlight.set(key, run);
@@ -13352,6 +13505,35 @@ function listedDiff(ws, stamp, opts) {
13352
13505
  });
13353
13506
  return run;
13354
13507
  }
13508
+ /** One section's diff (`only`), with every other section the review
13509
+ * names listed beside it without its files (`workspaceSections`, the
13510
+ * listing Files' strip reads), so the strip and its picks stay whole. A
13511
+ * workspace of eighty topics took ten seconds and sent ninety megabytes
13512
+ * for a review showing one of them. */
13513
+ async function scopedDiff(ws, opts, only) {
13514
+ const [own, listing] = await Promise.all([computeWorkspaceDiff(ws, opts), workspaceSections(ws)]);
13515
+ const got = own.find((s) => s.id === only);
13516
+ if (!got) return computeWorkspaceDiff(ws, {
13517
+ ...opts,
13518
+ only: void 0
13519
+ });
13520
+ const out = listing.map((s) => {
13521
+ if (s.id === only) {
13522
+ const { nextToLand, ...rest } = got;
13523
+ return {
13524
+ ...rest,
13525
+ ...s.nextToLand && { nextToLand: true }
13526
+ };
13527
+ }
13528
+ return {
13529
+ ...s,
13530
+ topic: topicOf(s, ws.branch),
13531
+ omitted: true
13532
+ };
13533
+ });
13534
+ if (!listing.some((s) => s.id === only)) out.push(got);
13535
+ return out;
13536
+ }
13355
13537
  /** How long a workspace's last diff answers for an unchanged stamp, and
13356
13538
  * how many are kept (a workspace's scopes and one-commit views). */
13357
13539
  var DIFF_KEEP_MS = 6e4;
@@ -13379,9 +13561,9 @@ function withReview(ws, sections, since) {
13379
13561
  const reviewed = {
13380
13562
  ...s,
13381
13563
  reviewed: point.at,
13382
- ...point.snap === s.snap && { upToDate: true }
13564
+ ...s.snap && point.snap === s.snap && { upToDate: true }
13383
13565
  };
13384
- return since ? sinceReviewed(ws, reviewed, point.snap) : reviewed;
13566
+ return since && !s.omitted ? sinceReviewed(ws, reviewed, point.snap) : reviewed;
13385
13567
  }));
13386
13568
  kept.clear();
13387
13569
  kept.set(key, run);
@@ -13501,10 +13683,11 @@ async function replayed(dir, snap, against) {
13501
13683
  });
13502
13684
  }
13503
13685
  async function computeWorkspaceDiff(ws, opts = {}) {
13504
- const { baseRef, scope = "committed", pr: focus, refresh = false, rev } = opts;
13686
+ const { baseRef, scope = "committed", pr: focus, refresh = false, rev, only } = opts;
13505
13687
  if (refresh) for (const repo of ws.repos) lastFetch.delete(repo.full_name);
13506
13688
  const foreign = otherWorkspaceBranches(ws.id);
13507
- return (await Promise.all(ws.repos.map(async (repo) => {
13689
+ const repos = only ? ws.repos.filter((r) => r.worktree === only.split(/[@#]/)[0]) : ws.repos;
13690
+ return (await Promise.all(repos.map(async (repo) => {
13508
13691
  const dir = path.join(ws.path, repo.worktree);
13509
13692
  const [{ oid: localHead, branch }, prs] = await Promise.all([headOid(dir), workspacePrs(repo.full_name, ws.branch, foreign, refresh, ws.imported_at)]);
13510
13693
  const merged = mergedTips(prs);
@@ -13530,19 +13713,24 @@ async function computeWorkspaceDiff(ws, opts = {}) {
13530
13713
  ], ws.id, refresh);
13531
13714
  const tips = refresh ? await familyBranches(dir, ws, foreign) : found;
13532
13715
  const [places, trees] = await Promise.all([stackParents(dir, ws, repo, tips, open), laneWorktrees(dir)]);
13716
+ const wanted = (id) => !only || id === only;
13717
+ const prId = (p) => `${repo.worktree}#${p.number}`;
13533
13718
  const jobs = tips.names.flatMap((name) => {
13534
13719
  const prs = open.filter((p) => p.headRefName === name);
13535
- if (prs.length) return prs.map((p) => () => pr(p));
13720
+ if (prs.length) return prs.filter((p) => wanted(prId(p))).map((p) => () => pr(p));
13721
+ const id = sectionId(repo.worktree, name, ws.branch);
13722
+ if (!wanted(id)) return [];
13536
13723
  const parent = places.get(name)?.parent;
13537
- if (name === branch) return [() => local(sectionId(repo.worktree, name, ws.branch), parent)];
13724
+ if (name === branch) return [() => local(id, parent)];
13538
13725
  return [() => branchDiff(dir, ws, repo, name, branch, foreign, scope, rev, parent, trees.get(name), merged)];
13539
13726
  });
13540
- for (const p of open) if (!tips.names.includes(p.headRefName)) jobs.push(() => pr(p));
13727
+ for (const p of open) if (!tips.names.includes(p.headRefName) && wanted(prId(p))) jobs.push(() => pr(p));
13541
13728
  list = placeInStacks((await Promise.all(jobs.map((job) => job()))).filter((s) => !!s), tips.names, places, ws.branch, repo.base_branch);
13542
13729
  await markEdits(list, trees, dir, () => editsLanded(ws.id));
13543
13730
  } else if (open.length) list = await Promise.all(open.map(pr));
13544
13731
  else if (focus) list = [];
13545
13732
  else list = [await local()];
13733
+ if (only) list = list.filter((s) => s.id === only);
13546
13734
  for (const s of list) s.topic = topicOf(s, ws.branch);
13547
13735
  if (family.length) await Promise.all(list.map((s) => markPushed(dir, s)));
13548
13736
  return list;
@@ -14748,47 +14936,127 @@ async function readBlobAt(dir, rev, filePath) {
14748
14936
  proc.on("close", (code) => resolve(over || code !== 0 ? null : Buffer.concat(chunks)));
14749
14937
  });
14750
14938
  }
14751
- /** `sections` as a response under `budget` characters of patch text: past
14752
- * it, the largest patches are left out (`deferred`, a hash of each to know
14753
- * it by) until the rest fit. A workspace of many topics over a large repo
14754
- * sent tens of megabytes, which a phone's tab could not hold: iOS killed
14755
- * it, reloaded it into the same request, and gave up. Small files stay
14756
- * whole, so most of a review reads as it did; the page fetches a large
14757
- * one as it comes on screen. The same sections at the same budget come
14758
- * back as the same object, for the route's hash. */
14759
- function withinBudget(sections, budget) {
14939
+ /** `sections` as a response under `budget` characters of patch text.
14940
+ * Past it each topic gets an even share — what a small topic leaves
14941
+ * unused going to the larger ones — and a topic over its share leaves
14942
+ * out its largest patches (`deferred`, a hash of each to know it by) until
14943
+ * the rest fit. A workspace of many topics over a large repo sent tens of
14944
+ * megabytes, which a phone's tab could not hold: iOS killed it, reloaded
14945
+ * it into the same request, and gave up. One cut across the whole review
14946
+ * let a few topics that regenerate thousands of snapshots push every file
14947
+ * over a kilobyte out of every other topic, a topic of 23 files included;
14948
+ * shared out, a small topic reads whole however large its neighbours are.
14949
+ * A file the page's file filter hides (`filter`, its `repo/path` as the
14950
+ * page matches it) comes without its patch whatever its size, and counts
14951
+ * against no share: `!fixtures` over a topic regenerating twenty
14952
+ * thousand snapshots kept 0.9 of its 31 MB. Listed still, it keeps the
14953
+ * filter's counts, and a filter changed after the load shows it at once
14954
+ * and fetches it as it comes on screen, with no reload. The page fetches
14955
+ * a left-out file by its hash (`deferredPatch`, kept here for `wsId`).
14956
+ * The same sections at the same budget and filter come back as the same
14957
+ * object, for the route's hash. */
14958
+ function withinBudget(sections, budget, wsId, filter = "") {
14760
14959
  let byBudget = budgeted.get(sections);
14761
14960
  if (!byBudget) budgeted.set(sections, byBudget = /* @__PURE__ */ new Map());
14762
- const kept = byBudget.get(budget);
14763
- if (kept) return kept;
14764
- const sizes = sections.flatMap((s) => s.files.flatMap((f) => f.patch ? [f.patch.length] : []));
14765
- let total = sizes.reduce((a, n) => a + n, 0);
14766
- let out = sections;
14767
- if (total > budget) {
14768
- sizes.sort((a, b) => b - a);
14961
+ const key = `${budget}\0${filter}`;
14962
+ let kept = byBudget.get(key);
14963
+ if (!kept) {
14964
+ kept = cutToBudget(sections, budget, filter);
14965
+ byBudget.set(key, kept);
14966
+ }
14967
+ if (kept.deferred.size) holdDeferred(wsId, kept.deferred);
14968
+ return kept.out;
14969
+ }
14970
+ var budgeted = /* @__PURE__ */ new WeakMap();
14971
+ function cutToBudget(sections, budget, filter) {
14972
+ const deferred = /* @__PURE__ */ new Map();
14973
+ const keyOf = (s) => s.topic ?? s.id;
14974
+ const match = filter.trim() ? makeFileFilter(filter) : null;
14975
+ const hidden = (s, f) => !!f.patch && !!match && !match(`${s.worktree}/${f.path}`);
14976
+ const totals = /* @__PURE__ */ new Map();
14977
+ let total = 0;
14978
+ let anyHidden = false;
14979
+ for (const s of sections) for (const f of s.files) {
14980
+ if (hidden(s, f)) {
14981
+ anyHidden = true;
14982
+ continue;
14983
+ }
14984
+ const n = f.patch?.length ?? 0;
14985
+ totals.set(keyOf(s), (totals.get(keyOf(s)) ?? 0) + n);
14986
+ total += n;
14987
+ }
14988
+ if (total <= budget && !anyHidden) return {
14989
+ out: sections,
14990
+ deferred
14991
+ };
14992
+ const sizes = [...totals.values()].sort((a, b) => a - b);
14993
+ let left = budget;
14994
+ let share = 0;
14995
+ for (let i = 0; i < sizes.length; i++) {
14996
+ const even = left / (sizes.length - i);
14997
+ if (sizes[i] > even) {
14998
+ share = even;
14999
+ break;
15000
+ }
15001
+ left -= sizes[i];
15002
+ }
15003
+ const cuts = /* @__PURE__ */ new Map();
15004
+ for (const [topic, size] of total > budget ? totals : /* @__PURE__ */ new Map()) {
15005
+ if (size <= share) continue;
15006
+ const lengths = sections.filter((s) => keyOf(s) === topic).flatMap((s) => s.files.flatMap((f) => f.patch && !hidden(s, f) ? [f.patch.length] : [])).sort((a, b) => b - a);
15007
+ let kept = size;
14769
15008
  let cut = Infinity;
14770
- for (const n of sizes) {
14771
- if (total <= budget) break;
14772
- total -= n;
15009
+ for (const n of lengths) {
15010
+ if (kept <= share) break;
15011
+ kept -= n;
14773
15012
  cut = n;
14774
15013
  }
14775
- out = sections.map((s) => ({
14776
- ...s,
14777
- files: s.files.map((f) => {
14778
- if (!f.patch || f.patch.length < cut) return f;
14779
- const { patch, ...rest } = f;
14780
- return {
14781
- ...rest,
14782
- deferred: true,
14783
- patchHash: createHash("sha1").update(patch).digest("base64url")
14784
- };
14785
- })
14786
- }));
15014
+ cuts.set(topic, cut);
15015
+ }
15016
+ return {
15017
+ out: sections.map((s) => {
15018
+ const cut = cuts.get(keyOf(s)) ?? Infinity;
15019
+ if (cut === Infinity && !s.files.some((f) => hidden(s, f))) return s;
15020
+ return {
15021
+ ...s,
15022
+ files: s.files.map((f) => {
15023
+ const filtered = hidden(s, f);
15024
+ if (!f.patch || !filtered && f.patch.length < cut) return f;
15025
+ const { patch, ...rest } = f;
15026
+ const patchHash = createHash("sha1").update(patch).digest("base64url");
15027
+ deferred.set(patchHash, patch);
15028
+ return {
15029
+ ...rest,
15030
+ deferred: true,
15031
+ patchHash,
15032
+ ...filtered && { filtered: true }
15033
+ };
15034
+ })
15035
+ };
15036
+ }),
15037
+ deferred
15038
+ };
15039
+ }
15040
+ /** Each workspace's last few responses' left-out patches, newest first
15041
+ * (New and Diff, a phone's budget and a desktop's): a page asking for one
15042
+ * as it comes on screen is answered from here by its hash, with no stamp
15043
+ * taken and no diff looked up — a diff kept past its minute was taken
15044
+ * again whole for one file, ten seconds on a workspace of many topics.
15045
+ * The text is the kept diffs' own, not a copy. */
15046
+ var deferredHeld = /* @__PURE__ */ new Map();
15047
+ var DEFERRED_HELD = 4;
15048
+ function holdDeferred(wsId, patches) {
15049
+ const list = (deferredHeld.get(wsId) ?? []).filter((m) => m !== patches);
15050
+ list.unshift(patches);
15051
+ deferredHeld.set(wsId, list.slice(0, DEFERRED_HELD));
15052
+ }
15053
+ /** A patch a response to `wsId` left out, by its hash (`withinBudget`). */
15054
+ function deferredPatch(wsId, hash) {
15055
+ for (const patches of deferredHeld.get(wsId) ?? []) {
15056
+ const patch = patches.get(hash);
15057
+ if (patch !== void 0) return patch;
14787
15058
  }
14788
- byBudget.set(budget, out);
14789
- return out;
14790
15059
  }
14791
- var budgeted = /* @__PURE__ */ new WeakMap();
14792
15060
  /** One file's patch in `sections`, for a page that was sent it deferred. */
14793
15061
  function patchIn(sections, section, file) {
14794
15062
  return sections.find((s) => s.id === section)?.files.find((f) => f.path === file)?.patch;
@@ -18198,7 +18466,7 @@ function notifySessionsChanged(workspaceId) {
18198
18466
  async function emitSessionsChanged(workspaceId) {
18199
18467
  try {
18200
18468
  const states = await sessionStates();
18201
- const { teamsOf } = await import("./_D3ixWlKr.js");
18469
+ const { teamsOf } = await import("./_Cxk-BqG-.js");
18202
18470
  publish("sessions.changed", {
18203
18471
  workspaceId,
18204
18472
  sessions: listSessions(workspaceId).map((s) => ({
@@ -20230,4 +20498,4 @@ ${repoLines}
20230
20498
  `;
20231
20499
  }
20232
20500
  //#endregion
20233
- export { ownWorkspaceOnly as $, setScrapedPhase as $n, miseInstalls as $r, readFileAt as $t, clearTmuxStarted as A, tmux as Ai, realInside as An, ensureGitCredentials as Ar, allServers as At, interruptSession as B, noteInterrupt as Bn, changePref as Br, whileInstalling as Bt, workspaceBranches as C, get as Ci, steerKeys as Cn, pendingSsoOrgs as Cr, lspQueryOf as Ct, agentCaller as D, SCRATCH_TMUX as Di, writeCache as Dn, DEFAULT_HOST as Dr, stopAllServers as Dt, hookToken as E, ensureAllCacheConfig as Ei, readCache as En, repoDefaultBranch as Er, runningServers as Et, descendantsOf as F, hookReportedAt as Fn, unreachableRepos as Fr, lspEnabled as Ft, listPanesWithin as G, notifyEventOn as Gn, isKnownAgent as Gr, logoutGithub as Gt, killWorkspaceSessions as H, noteTurnFailed as Hn, disabledAgents as Hr, installAgent as Ht, disposeSessions as I, interruptedSinceReport as In, PREF_MAX as Ir, removeServer as It, moveSession as J, onTurnEnd as Jn, setPref as Jr, runStreaming as Jt, listSessions as K, onFinished as Kn, preferredAgent as Kr, refreshGithub as Kt, ensureTmuxServer as L, lastTypedAt as Ln, WORKSPACE_PREFS as Lr, serverById as Lt, closedTeam as M, swr as Mi, agentPhase as Mn, isValidHost as Mr, forgetProbes as Mt, createSession as N, withLock as Ni, clearAgentPhase as Nn, normalizeHost as Nr, installKey as Nt, beginCreation as O, TMUX_SOCKET as Oi, cleanSummary as On, addHost as Or, stopServers as Ot, creationOf as P, hookPhase as Pn, removeHost as Pr, installServer as Pt, onSessionDispose as Q, setExpecting as Qn, ghKnownHosts as Qr, readBlobAt as Qt, forgetPanes as R, noteActivity$1 as Rn, agentChoices as Rr, serverList as Rt, withProgressOp as S, db as Si, reportsWorking as Sn, headOid as Sr, lspQuery as St, ensureAllPushHooks as T, ownsBranchOf as Ti, credentialStamp as Tn, repoCatalog as Tr, lspWarm as Tt, launchDir as U, noteTyped as Un, enabledAgents as Ur, installMise as Ut, killSession as V, notePermissionMode as Vn, deleteSetting as Vr, authGithub as Vt, listPanes as W, noteUserAnswered as Wn, getSetting as Wr, installTool as Wt, noteConversation as X, sessionWatched as Xn, discoverAgents as Xr, fileChanges as Xt, newSessionArgs as Y, onTurnFailed as Yn, setSetting as Yr, updateTool as Yt, notifySessionsChanged as Z, setAgentPhase as Zn, doctor as Zr, patchIn as Zt, retryMaterialize as _, publish as _i, noteActivity as _n, deleteSubscription as _r, killWorkspaceProc as _t, ensureUntrackedCache as a, TOOLS as ai, startSnapSweep as an, turnSince as ar, reopenSession as at, sweepTrash as b, subscriberCount as bi, quotesPastes as bn, sendPush as br, killServers as bt, insertPendingWorkspace as c, catalogPin as ci, markBranch as cn, agentFromCommand as cr, restartPlan as ct, progress as d, applyPrefChange as di, hotBatchMinMs as dn, ACCENT_RE as dr, sendToSession as dt, miseVersions as ei, reviewWaiting as en, setSessionViewers as er, paneJobs as et, progressSince as f, FRAME_ANCESTORS as fi, notePushActivity as fn, getInstance as fr, sessionInfo as ft, resumePendingWorkspaces as g, readBody as gi, workspacePrs as gn, setInstance as gr, tmuxWasStarted as gt, removeRepo as h, httpError as hi, withoutDismissed as hn, normalizeAccent as hr, tmuxName as ht, deleteWorkspace as i, PROJECT_TOOLS as ii, setPoints as in, turnSettling as ir, renameSession as it, closedSession as j, config as ji, activityOf as jn, forgetToken as jr, forgetCustomServer as jt, cleanEnv as k, git as ki, inside as kn, configuredHosts as kr, addCustomServer as kt, listWorkspaces as l, parseAgentId as li, sectionFor as ln, agentLabel as lr, restartSession as lt, queueMaterialize as m, checked as mi, refreshPrsBatch as mn, manifest as mr, setSwitch as mt, barePath as n, bornOut as ni, workspaceDiff as nn, summaryOf as nr, pasteToSession as nt, gcBares as o, agentById as oi, diffStamp as on, agentBadge as or, reopenable as ot, pruneLaneBranch as p, FRAME_HEADERS as pi, prsForHeads as pn, iconSvg as pr, sessionStates as pt, markTmuxStarted as q, onPhaseChange as qn, setDisabledAgents as qr, removeTool as qt, createWorkspace as r, firewallProbe as ri, workspaceSections as rn, turnPhase as rr, pendingSwitches as rt, getWorkspace as s, agentLabel$1 as si, commentFolder as sn, agentFamily as sr, restartOf as st, addRepo as t, which as ti, withinBudget as tn, settleQuietWorking as tr, panePids as tt, otherWorkspaceBranches as u, toolById as ui, dismissPr as un, agentMeta as ur, retireSession as ut, revParse as v, publishJson as vi, AGENTS as vn, pushPublicKey as vr, portsByWorkspace as vt, startTmpSweep as w, workspacePath as wi, blankRow as wn, repoBranches as wr, lspUses as wt, syncAgentsMd as x, all as xi, readHookPayload as xn, validSubscription as xr, lspDiagnostics as xt, setWorkspaceStatus as y, subscribe as yi, interruptKeys as yn, saveSubscription as yr, workspaceProcs as yt, getSession as z, noteBackground as zn, allPrefs as zr, sharing as zt };
20501
+ export { ownWorkspaceOnly as $, onTurnEnd as $n, setPref as $r, readBlobAt as $t, clearTmuxStarted as A, ownsBranchOf as Ai, credentialStamp as An, repoCatalog as Ar, allServers as At, interruptSession as B, hookReportedAt as Bn, unreachableRepos as Br, whileInstalling as Bt, workspaceBranches as C, publishJson as Ci, AGENTS as Cn, pushPublicKey as Cr, lspQueryOf as Ct, agentCaller as D, db as Di, reportsWorking as Dn, headOid as Dr, stopAllServers as Dt, hookToken as E, all as Ei, readHookPayload as En, validSubscription as Er, runningServers as Et, descendantsOf as F, tmux as Fi, realInside as Fn, ensureGitCredentials as Fr, lspEnabled as Ft, listPanesWithin as G, noteInterrupt as Gn, changePref as Gr, logoutGithub as Gt, killWorkspaceSessions as H, lastTypedAt as Hn, WORKSPACE_PREFS as Hr, installAgent as Ht, disposeSessions as I, config as Ii, activityOf as In, forgetToken as Ir, removeServer as It, moveSession as J, noteTyped as Jn, enabledAgents as Jr, runStreaming as Jt, listSessions as K, notePermissionMode as Kn, deleteSetting as Kr, refreshGithub as Kt, ensureTmuxServer as L, swr as Li, agentPhase as Ln, isValidHost as Lr, serverById as Lt, closedTeam as M, SCRATCH_TMUX as Mi, writeCache as Mn, DEFAULT_HOST as Mr, forgetProbes as Mt, createSession as N, TMUX_SOCKET as Ni, cleanSummary as Nn, addHost as Nr, installKey as Nt, beginCreation as O, get as Oi, steerKeys as On, pendingSsoOrgs as Or, stopServers as Ot, creationOf as P, git as Pi, inside as Pn, configuredHosts as Pr, installServer as Pt, onSessionDispose as Q, onPhaseChange as Qn, setDisabledAgents as Qr, patchIn as Qt, forgetPanes as R, withLock as Ri, clearAgentPhase as Rn, normalizeHost as Rr, serverList as Rt, withProgressOp as S, publish as Si, noteActivity as Sn, deleteSubscription as Sr, lspQuery as St, ensureAllPushHooks as T, subscriberCount as Ti, quotesPastes as Tn, sendPush as Tr, lspWarm as Tt, launchDir as U, noteActivity$1 as Un, agentChoices as Ur, installMise as Ut, killSession as V, interruptedSinceReport as Vn, PREF_MAX as Vr, authGithub as Vt, listPanes as W, noteBackground as Wn, allPrefs as Wr, installTool as Wt, noteConversation as X, notifyEventOn as Xn, isKnownAgent as Xr, deferredPatch as Xt, newSessionArgs as Y, noteUserAnswered as Yn, getSetting as Yr, updateTool as Yt, notifySessionsChanged as Z, onFinished as Zn, preferredAgent as Zr, fileChanges as Zt, retryMaterialize as _, FRAME_ANCESTORS as _i, notePushActivity as _n, getInstance as _r, killWorkspaceProc as _t, ensureUntrackedCache as a, miseVersions as ai, workspaceSections as an, setSessionViewers as ar, reopenSession as at, sweepTrash as b, httpError as bi, withoutDismissed as bn, normalizeAccent as br, killServers as bt, insertPendingWorkspace as c, firewallProbe as ci, diffStamp as cn, turnPhase as cr, restartPlan as ct, progress as d, agentById as di, rankRepos as dn, agentBadge as dr, sendToSession as dt, setSetting as ei, readFileAt as en, onTurnFailed as er, paneJobs as et, progressSince as f, agentLabel$1 as fi, commentFolder as fn, agentFamily as fr, sessionInfo as ft, resumePendingWorkspaces as g, applyPrefChange as gi, hotBatchMinMs as gn, ACCENT_RE as gr, tmuxWasStarted as gt, removeRepo as h, toolById as hi, dismissPr as hn, agentMeta as hr, tmuxName as ht, deleteWorkspace as i, miseInstalls as ii, workspaceDiff as in, setScrapedPhase as ir, renameSession as it, closedSession as j, ensureAllCacheConfig as ji, readCache as jn, repoDefaultBranch as jr, forgetCustomServer as jt, cleanEnv as k, workspacePath as ki, blankRow as kn, repoBranches as kr, addCustomServer as kt, listWorkspaces as l, PROJECT_TOOLS as li, makeFileFilter as ln, turnSettling as lr, restartSession as lt, queueMaterialize as m, parseAgentId as mi, sectionFor as mn, agentLabel as mr, setSwitch as mt, barePath as n, doctor as ni, sectionScope as nn, setAgentPhase as nr, pasteToSession as nt, gcBares as o, which as oi, setPoints as on, settleQuietWorking as or, reopenable as ot, pruneLaneBranch as p, catalogPin as pi, markBranch as pn, agentFromCommand as pr, sessionStates as pt, markTmuxStarted as q, noteTurnFailed as qn, disabledAgents as qr, removeTool as qt, createWorkspace as r, ghKnownHosts as ri, withinBudget as rn, setExpecting as rr, pendingSwitches as rt, getWorkspace as s, bornOut as si, startSnapSweep as sn, summaryOf as sr, restartOf as st, addRepo as t, discoverAgents as ti, reviewWaiting as tn, sessionWatched as tr, panePids as tt, otherWorkspaceBranches as u, TOOLS as ui, fuzzy as un, turnSince as ur, retireSession as ut, revParse as v, FRAME_HEADERS as vi, prsForHeads as vn, iconSvg as vr, portsByWorkspace as vt, startTmpSweep as w, subscribe as wi, interruptKeys as wn, saveSubscription as wr, lspUses as wt, syncAgentsMd as x, readBody as xi, workspacePrs as xn, setInstance as xr, lspDiagnostics as xt, setWorkspaceStatus as y, checked as yi, refreshPrsBatch as yn, manifest as yr, workspaceProcs as yt, getSession as z, hookPhase as zn, removeHost as zr, sharing as zt };