@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.
- package/dist/{_DHaRHB4s.js → _BiUfgowG.js} +320 -52
- package/dist/{_BcuBHot2.js → _CtHjlhv3.js} +76 -76
- package/dist/_Cxk-BqG-.js +2 -0
- package/dist/{_B3z3x0nb.js → _DD5Sr1iE.js} +1 -1
- package/dist/_Dl08ohid.js +2 -0
- package/dist/index.mjs +955 -995
- package/dist/public/assets/{_BUh4HTF3.js → _0Myeo8Uj.js} +1 -1
- package/dist/public/assets/_0Myeo8Uj.js.br +0 -0
- package/dist/public/assets/_0NmIkljO.js +1 -0
- package/dist/public/assets/_63o02JQ6.js +1 -0
- package/dist/public/assets/{_CTbIErzd.js → _7IpiwjNz.js} +1 -1
- package/dist/public/assets/_7IpiwjNz.js.br +0 -0
- package/dist/public/assets/_8xpY8v_b.js +1 -0
- package/dist/public/assets/_9HYNxBog.js +1 -0
- package/dist/public/assets/_9bIT7oBM.js +1 -0
- package/dist/public/assets/{_BQuf46P2.js → _B-17-HlH.js} +1 -1
- package/dist/public/assets/_B-17-HlH.js.br +0 -0
- package/dist/public/assets/{_ptpihSzL.js → _B09sKtN3.js} +1 -1
- package/dist/public/assets/_B09sKtN3.js.br +0 -0
- package/dist/public/assets/{_CjT2-NNY.js → _B0TWNX_m.js} +1 -1
- package/dist/public/assets/_B0TWNX_m.js.br +0 -0
- package/dist/public/assets/_B0zlfTme.js +1 -0
- package/dist/public/assets/{_fZ9Nn0aY.js → _B2eL3QA7.js} +1 -1
- package/dist/public/assets/_B2eL3QA7.js.br +0 -0
- package/dist/public/assets/_B4VLgoGK.js +1 -0
- package/dist/public/assets/{_DB0x3S_V.js → _B56Jv7FE.js} +1 -1
- package/dist/public/assets/_B56Jv7FE.js.br +0 -0
- package/dist/public/assets/{_Dw2w_cI1.js → _B8ynqx7z.js} +1 -1
- package/dist/public/assets/_B8ynqx7z.js.br +0 -0
- package/dist/public/assets/{_R3Kvmve2.js → _BCERYg3X.js} +1 -1
- package/dist/public/assets/_BCERYg3X.js.br +0 -0
- package/dist/public/assets/_BEJUvFWT.js +1 -0
- package/dist/public/assets/{_Im1dFxR8.js → _BEhKBuAq.js} +1 -1
- package/dist/public/assets/_BEhKBuAq.js.br +0 -0
- package/dist/public/assets/_BFE44_oN.js +1 -0
- package/dist/public/assets/_BGK-raHb.js +1 -0
- package/dist/public/assets/{_Cif8YVIW.js → _BGRldmrY.js} +1 -1
- package/dist/public/assets/_BGRldmrY.js.br +0 -0
- package/dist/public/assets/{_CwBNy_7k.js → _BHOGoeW8.js} +1 -1
- package/dist/public/assets/_BHOGoeW8.js.br +0 -0
- package/dist/public/assets/_BHPo-nve.js +1 -0
- package/dist/public/assets/_BHpZMD2k.js +1 -0
- package/dist/public/assets/_BI3MatRT.js +1 -0
- package/dist/public/assets/{_tEBqbfOJ.js → _BI7rFNuU.js} +1 -1
- package/dist/public/assets/_BI7rFNuU.js.br +0 -0
- package/dist/public/assets/_BMHL5KAI.js +1 -0
- package/dist/public/assets/_BMLjhBBj.js +1 -0
- package/dist/public/assets/{_CreV-6z6.js → _BMOL7XZ9.js} +1 -1
- package/dist/public/assets/_BMOL7XZ9.js.br +0 -0
- package/dist/public/assets/{_BPoePslg.js → _BNRgoO8s.js} +1 -1
- package/dist/public/assets/_BNRgoO8s.js.br +0 -0
- package/dist/public/assets/_BP2aLBge.js +1 -0
- package/dist/public/assets/{_Ce6hwXny.js → _BP6OiJO6.js} +1 -1
- package/dist/public/assets/_BP6OiJO6.js.br +0 -0
- package/dist/public/assets/_BPq5DMr3.js +1 -0
- package/dist/public/assets/_BRSlgBnX.js +1 -0
- package/dist/public/assets/{_ii--A0F-.js → _BSCLFOaW.js} +1 -1
- package/dist/public/assets/_BSCLFOaW.js.br +0 -0
- package/dist/public/assets/{_suQAT3jW.js → _BTdN9bmZ.js} +1 -1
- package/dist/public/assets/_BTdN9bmZ.js.br +0 -0
- package/dist/public/assets/{_DxZFU6SY.js → _BXaYPfXh.js} +1 -1
- package/dist/public/assets/_BXaYPfXh.js.br +0 -0
- package/dist/public/assets/_BXjqv9Am.js +1 -0
- package/dist/public/assets/{_DucELdm1.js → _BXwye7zX.js} +1 -1
- package/dist/public/assets/_BXwye7zX.js.br +0 -0
- package/dist/public/assets/_B_0VxlSS.js +1 -0
- package/dist/public/assets/{_DWJFJSQt.js → _Bb6h3I6x.js} +1 -1
- package/dist/public/assets/_Bb6h3I6x.js.br +0 -0
- package/dist/public/assets/_Be2DyOsX.js +1 -0
- package/dist/public/assets/{_DI_3CxxT.js → _BfCN43mL.js} +1 -1
- package/dist/public/assets/{_C5KZ0ozw.js → _BfyVZAsK.js} +1 -1
- package/dist/public/assets/_BfyVZAsK.js.br +0 -0
- package/dist/public/assets/_Bjh5Ogac.js +1 -0
- package/dist/public/assets/{_D1ZTqBtg.js → _Bl-OUb9n.js} +1 -1
- package/dist/public/assets/_Bl-OUb9n.js.br +0 -0
- package/dist/public/assets/{_ixsF2ttz.js → _Bl_May1o.js} +1 -1
- package/dist/public/assets/_Bl_May1o.js.br +0 -0
- package/dist/public/assets/{_ShiWFlWr.js → _BmZW8DFT.js} +1 -1
- package/dist/public/assets/_BmZW8DFT.js.br +0 -0
- package/dist/public/assets/{_D93e76eJ.js → _BnIvobsE.js} +1 -1
- package/dist/public/assets/_BnIvobsE.js.br +0 -0
- package/dist/public/assets/{_D0n_5okc.js → _Br67j96X.js} +1 -1
- package/dist/public/assets/_Br67j96X.js.br +0 -0
- package/dist/public/assets/{_DmlL12SP.js → _BsH5S4MG.js} +1 -1
- package/dist/public/assets/_BsH5S4MG.js.br +0 -0
- package/dist/public/assets/_Bv2YBFFO.js +1 -0
- package/dist/public/assets/_BvJBcCbt.js +1 -0
- package/dist/public/assets/{_DglTnOtH.js → _BwdHymac.js} +1 -1
- package/dist/public/assets/_BwdHymac.js.br +0 -0
- package/dist/public/assets/{_BGXJVx0k.js → _By-HwNj0.js} +1 -1
- package/dist/public/assets/_By-HwNj0.js.br +0 -0
- package/dist/public/assets/_Bz2du8BV.js +1 -0
- package/dist/public/assets/_C02k7Xxj.js +1 -0
- package/dist/public/assets/_C06H0HS7.js +1 -0
- package/dist/public/assets/{_BvskbvTW.js → _C0f7w7QD.js} +1 -1
- package/dist/public/assets/_C0f7w7QD.js.br +0 -0
- package/dist/public/assets/_C3MzOXNc.js +1 -0
- package/dist/public/assets/{_Bx8oVkmQ.js → _C3RMUVGD.js} +1 -1
- package/dist/public/assets/_C3RMUVGD.js.br +0 -0
- package/dist/public/assets/{_DBqiCvB3.js → _C43aCJdI.js} +1 -1
- package/dist/public/assets/_C43aCJdI.js.br +0 -0
- package/dist/public/assets/_C53OAbNe.js +1 -0
- package/dist/public/assets/{_BXgfsaug.js → _C6KiwMqS.js} +1 -1
- package/dist/public/assets/_C6KiwMqS.js.br +0 -0
- package/dist/public/assets/{_DUQ4-DAq.js → _CAnAQcJZ.js} +1 -1
- package/dist/public/assets/_CAnAQcJZ.js.br +0 -0
- package/dist/public/assets/{_CS9qmTkt.js → _CBxCVwxq.js} +1 -1
- package/dist/public/assets/_CBxCVwxq.js.br +0 -0
- package/dist/public/assets/_CEjywtOG.js +1 -0
- package/dist/public/assets/_CHfNZ_fp.js +1 -0
- package/dist/public/assets/_CHqz6oM7.js +1 -0
- package/dist/public/assets/{_B5SjUyop.js → _CPDF5wIn.js} +1 -1
- package/dist/public/assets/_CPDF5wIn.js.br +0 -0
- package/dist/public/assets/{_9D7sZPkr.js → _CQ9pgb7l.js} +1 -1
- package/dist/public/assets/_CQ9pgb7l.js.br +0 -0
- package/dist/public/assets/{_0QJDM3NO.js → _CRoqIbrq.js} +1 -1
- package/dist/public/assets/_CRoqIbrq.js.br +0 -0
- package/dist/public/assets/_CT1EqmXW.js +1 -0
- package/dist/public/assets/_CUhAKWms.js +1 -0
- package/dist/public/assets/_CUw7HdT9.js +1 -0
- package/dist/public/assets/{_S9Qy4Cmi.js → _CV1S2o9l.js} +1 -1
- package/dist/public/assets/_CV1S2o9l.js.br +0 -0
- package/dist/public/assets/{_C15TsQVx.js → _CVW8OeSx.js} +1 -1
- package/dist/public/assets/_CVW8OeSx.js.br +0 -0
- package/dist/public/assets/_CVwxhNJr.js +1 -0
- package/dist/public/assets/{_YcOZiOZ4.js → _CZ8FgI22.js} +2 -2
- package/dist/public/assets/_CZ8FgI22.js.br +0 -0
- package/dist/public/assets/{_DVUACl-0.js → _C_N0AK3p.js} +1 -1
- package/dist/public/assets/_C_N0AK3p.js.br +0 -0
- package/dist/public/assets/_Cb7xWgF-.js +1 -0
- package/dist/public/assets/_CjSWLeRo.js +1 -0
- package/dist/public/assets/{_x7Lebeio.js → _CmiTy2wS.js} +1 -1
- package/dist/public/assets/_CmiTy2wS.js.br +0 -0
- package/dist/public/assets/{_DcKVJllO.js → _Co3Raudi.js} +1 -1
- package/dist/public/assets/_Co3Raudi.js.br +0 -0
- package/dist/public/assets/{_BHypHLzv.js → _CoBDRgY8.js} +1 -1
- package/dist/public/assets/_CoBDRgY8.js.br +0 -0
- package/dist/public/assets/{_KsdD4dsM.js → _CqKQ_0Kr.js} +1 -1
- package/dist/public/assets/_CqKQ_0Kr.js.br +0 -0
- package/dist/public/assets/_Crg_iz_m.js +1 -0
- package/dist/public/assets/{_BVXZCAXs.js → _CsLen0dp.js} +1 -1
- package/dist/public/assets/_CsLen0dp.js.br +0 -0
- package/dist/public/assets/_Cspj6G7S.js +1 -0
- package/dist/public/assets/_CuC7QOd3.js +1 -0
- package/dist/public/assets/_CwJmV9F8.js +1 -0
- package/dist/public/assets/_CwLNjVog.js +1 -0
- package/dist/public/assets/{_R7YbF1yw.js → _Cx3rc5tY.js} +1 -1
- package/dist/public/assets/_Cx3rc5tY.js.br +0 -0
- package/dist/public/assets/{_l71VhzhS.js → _Cz2bE77A.js} +1 -1
- package/dist/public/assets/_Cz2bE77A.js.br +0 -0
- package/dist/public/assets/_CzISmv6F.js +1 -0
- package/dist/public/assets/_D0Eknshf.js +1 -0
- package/dist/public/assets/_D0lUUikT.js +1 -0
- package/dist/public/assets/_D1Wl5Q6-.js +1 -0
- package/dist/public/assets/_D1YswJd4.js +1 -0
- package/dist/public/assets/{_TLB-Nq6Z.js → _D1r0Lrqh.js} +1 -1
- package/dist/public/assets/_D1r0Lrqh.js.br +0 -0
- package/dist/public/assets/_D7Z4DNn_.js +1 -0
- package/dist/public/assets/_DAd2Es3Y.js +1 -0
- package/dist/public/assets/{_D0PrCOmg.js → _DCMFcmmT.js} +1 -1
- package/dist/public/assets/_DCMFcmmT.js.br +0 -0
- package/dist/public/assets/{_CwAvlnWz.js → _DCYUTk_C.js} +1 -1
- package/dist/public/assets/_DCYUTk_C.js.br +0 -0
- package/dist/public/assets/{_Alp3-sd6.js → _DG0if15T.js} +1 -1
- package/dist/public/assets/{_LRjlRqrU.js → _DG0rrzn-.js} +5 -5
- package/dist/public/assets/_DG0rrzn-.js.br +0 -0
- package/dist/public/assets/{_CmcVar5g.js → _DGsolka6.js} +1 -1
- package/dist/public/assets/_DGsolka6.js.br +0 -0
- package/dist/public/assets/{_LniUny_a.js → _DI6AoFkw.js} +1 -1
- package/dist/public/assets/_DI6AoFkw.js.br +0 -0
- package/dist/public/assets/{_Cb-D3ERI.js → _DIveDyhy.js} +1 -1
- package/dist/public/assets/_DIveDyhy.js.br +0 -0
- package/dist/public/assets/{_BPHBcrYh.js → _DJgEg0FF.js} +1 -1
- package/dist/public/assets/_DJgEg0FF.js.br +0 -0
- package/dist/public/assets/{_-JtZtVz8.js → _DN894k7B.js} +1 -1
- package/dist/public/assets/_DN894k7B.js.br +0 -0
- package/dist/public/assets/{_DzSNrU-9.js → _DTXE6wNa.js} +1 -1
- package/dist/public/assets/_DTXE6wNa.js.br +0 -0
- package/dist/public/assets/_DTmGDy8n.js +1 -0
- package/dist/public/assets/_DTxu9HXe.js +1 -0
- package/dist/public/assets/{_5lt7STSU.js → _DU3w-UnP.js} +9 -9
- package/dist/public/assets/_DU3w-UnP.js.br +0 -0
- package/dist/public/assets/{_dSWMMogH.js → _DWXroltD.js} +1 -1
- package/dist/public/assets/_DWXroltD.js.br +0 -0
- package/dist/public/assets/{_HnLpRxna.js → _D_Il-78j.js} +2 -2
- package/dist/public/assets/_D_Il-78j.js.br +0 -0
- package/dist/public/assets/{_CDHWB_us.js → _D_lIN3zT.js} +1 -1
- package/dist/public/assets/_D_lIN3zT.js.br +0 -0
- package/dist/public/assets/_DbZm9pYk.js +1 -0
- package/dist/public/assets/_DbftQrmj.js +1 -0
- package/dist/public/assets/_DbyPSel0.js +1 -0
- package/dist/public/assets/_DcsXPQRb.js +1 -0
- package/dist/public/assets/{_CYHURCb7.js → _DfJyeaYq.js} +1 -1
- package/dist/public/assets/_DfJyeaYq.js.br +0 -0
- package/dist/public/assets/{_DPO20UhE.js → _DgYkVw0-.js} +1 -1
- package/dist/public/assets/_DgYkVw0-.js.br +0 -0
- package/dist/public/assets/{_D2zuXOi5.js → _Dg_ze524.js} +1 -1
- package/dist/public/assets/_Dg_ze524.js.br +0 -0
- package/dist/public/assets/_DhXKBWdu.js +1 -0
- package/dist/public/assets/{_Dx2nYKAs.js → _DhclWG-5.js} +1 -1
- package/dist/public/assets/_DhclWG-5.js.br +0 -0
- package/dist/public/assets/{_DW_3eCmy.js → _DhmFkrUZ.js} +1 -1
- package/dist/public/assets/_DhmFkrUZ.js.br +0 -0
- package/dist/public/assets/_DikbBesk.js +1 -0
- package/dist/public/assets/{_B7FCBIYG.js → _DjCx2sH5.js} +1 -1
- package/dist/public/assets/_DjCx2sH5.js.br +0 -0
- package/dist/public/assets/{_BikFQJva.js → _DjiQNpVu.js} +1 -1
- package/dist/public/assets/_Dn79zvcw.js +1 -0
- package/dist/public/assets/_DnQfbICI.js +1 -0
- package/dist/public/assets/_DpL_noRa.js +1 -0
- package/dist/public/assets/{_D3mGPwaD.js → _Dpr7O4Jg.js} +1 -1
- package/dist/public/assets/{_vy4Y1hd_.js → _DruX1vFh.js} +1 -1
- package/dist/public/assets/_DruX1vFh.js.br +0 -0
- package/dist/public/assets/{_BtWMgvvl.js → _DudVWlAb.js} +2 -2
- package/dist/public/assets/_DudVWlAb.js.br +0 -0
- package/dist/public/assets/{_CCl1txGr.js → _DyZszzJ-.js} +1 -1
- package/dist/public/assets/_O5J2RC0n.js +1 -0
- package/dist/public/assets/_OviqEULq.js +1 -0
- package/dist/public/assets/_P4JUdKfa.js +1 -0
- package/dist/public/assets/{_BJ0RWeiG.js → _QiRKPWXq.js} +1 -1
- package/dist/public/assets/_QiRKPWXq.js.br +0 -0
- package/dist/public/assets/_Qn82a-cP.js +1 -0
- package/dist/public/assets/{_B0sUN2tx.js → _QzPnqngf.js} +1 -1
- package/dist/public/assets/_QzPnqngf.js.br +0 -0
- package/dist/public/assets/{_6D14OK7z.js → _RPi2R4CB.js} +1 -1
- package/dist/public/assets/_RPi2R4CB.js.br +0 -0
- package/dist/public/assets/{_DsxZHqAt.js → _SV0JRq5F.js} +1 -1
- package/dist/public/assets/_SV0JRq5F.js.br +0 -0
- package/dist/public/assets/_Sqg-2kl7.js +1 -0
- package/dist/public/assets/{_t5-hsdI5.js → _THMdGshG.js} +1 -1
- package/dist/public/assets/_THMdGshG.js.br +0 -0
- package/dist/public/assets/_TZ4E4MiW.js +1 -0
- package/dist/public/assets/{_CSa_w7tA.js → _Ty4HPFLC.js} +4 -4
- package/dist/public/assets/_Ty4HPFLC.js.br +0 -0
- package/dist/public/assets/_UoqlF2QJ.js +1 -0
- package/dist/public/assets/{_CRew7lgJ.js → _V72aw8Ph.js} +1 -1
- package/dist/public/assets/_V72aw8Ph.js.br +0 -0
- package/dist/public/assets/{_CsnlIPmX.js → _VBSAkZWN.js} +1 -1
- package/dist/public/assets/_VBSAkZWN.js.br +0 -0
- package/dist/public/assets/{_Dnj7y5O6.js → _XKI3yZ8R.js} +1 -1
- package/dist/public/assets/_XKI3yZ8R.js.br +0 -0
- package/dist/public/assets/{_BlSH3TRK.js → _XrlQVB27.js} +1 -1
- package/dist/public/assets/_XrlQVB27.js.br +0 -0
- package/dist/public/assets/_ZynPbLxw.js +1 -0
- package/dist/public/assets/_bBFwbtws.js +12 -0
- package/dist/public/assets/_bBFwbtws.js.br +0 -0
- package/dist/public/assets/{_D4SspWzi.js → _bUcSEkB-.js} +1 -1
- package/dist/public/assets/_bUcSEkB-.js.br +0 -0
- package/dist/public/assets/{_CQuARfyY.js → _eQQeFwjH.js} +1 -1
- package/dist/public/assets/_eQQeFwjH.js.br +0 -0
- package/dist/public/assets/_f75Qo9Jp.js +1 -0
- package/dist/public/assets/_h5z6WMTs.js +1 -0
- package/dist/public/assets/{_C2IlBo8e.js → _h9KRktxS.js} +1 -1
- package/dist/public/assets/_h9KRktxS.js.br +0 -0
- package/dist/public/assets/_ilirX6UQ.js +1 -0
- package/dist/public/assets/{_BUbGYrKa.js → _irANLi1D.js} +1 -1
- package/dist/public/assets/_irANLi1D.js.br +0 -0
- package/dist/public/assets/{_CEgYI4gj.js → _lgMzzaLT.js} +1 -1
- package/dist/public/assets/_lgMzzaLT.js.br +0 -0
- package/dist/public/assets/_mND6Wrrx.js +1 -0
- package/dist/public/assets/{_Cx0sSSLJ.js → _oYLqOlc6.js} +1 -1
- package/dist/public/assets/_oYLqOlc6.js.br +0 -0
- package/dist/public/assets/_pM4RSo4u.js +1 -0
- package/dist/public/assets/{_D-4UJozU.js → _pOQtoQg6.js} +1 -1
- package/dist/public/assets/_pOQtoQg6.js.br +0 -0
- package/dist/public/assets/{_CvrDFzmP.js → _piTKAo6j.js} +1 -1
- package/dist/public/assets/_piTKAo6j.js.br +0 -0
- package/dist/public/assets/{_4ogr0vzb.js → _qauO_7V2.js} +1 -1
- package/dist/public/assets/_qauO_7V2.js.br +0 -0
- package/dist/public/assets/{_CPTaxuJG.js → _qfyF04Y2.js} +1 -1
- package/dist/public/assets/_qfyF04Y2.js.br +0 -0
- package/dist/public/assets/{_0vqLbImj.js → _qoyGF7CZ.js} +1 -1
- package/dist/public/assets/_qoyGF7CZ.js.br +0 -0
- package/dist/public/assets/_qu6C8XPM.js +1 -0
- package/dist/public/assets/_r2Yu5qIU.js +1 -0
- package/dist/public/assets/_v_jL1fpE.js +1 -0
- package/dist/public/assets/{_C3F6fdUB.js → _vfhwJV15.js} +1 -1
- package/dist/public/assets/{_C09HUxcS.js → _wieMw92m.js} +1 -1
- package/dist/public/assets/_wieMw92m.js.br +0 -0
- package/dist/public/assets/_wxGzaASD.js +1 -0
- package/dist/public/assets/_xDT3H4Eg.js +1 -0
- package/dist/public/assets/_zlOS_eFh.js +1 -0
- package/dist/public/assets/files-view-B9aNEw-5.js +2 -0
- package/dist/public/assets/manage-workspace-BvAxYrFw.js +2 -0
- package/dist/public/assets/new-Bit6MQ86.js +1 -0
- package/dist/public/assets/new-workspace-CZpqQdAK.js +2 -0
- package/dist/public/assets/review-view-DVPO32-d.js +2 -0
- package/dist/public/assets/settings-Bit6MQ86.js +1 -0
- package/dist/public/assets/settings-page-CntU0gnX.js +2 -0
- package/dist/public/assets/styles-5NoaixcQ.css +1 -0
- package/dist/public/assets/styles-5NoaixcQ.css.br +0 -0
- package/dist/public/assets/w-Bit6MQ86.js +1 -0
- package/dist/public/assets/w._-Bit6MQ86.js +1 -0
- package/dist/public/assets/w._-CIuw54JA.js +1 -0
- package/dist/public/assets/w._-DEr4qmCX.js +1 -0
- package/package.json +1 -1
- package/dist/_BawMVLA9.js +0 -2
- package/dist/_D3ixWlKr.js +0 -2
- package/dist/public/assets/_-JtZtVz8.js.br +0 -0
- package/dist/public/assets/_0QJDM3NO.js.br +0 -0
- package/dist/public/assets/_0vqLbImj.js.br +0 -0
- package/dist/public/assets/_2W-pgjXX.js +0 -1
- package/dist/public/assets/_4ogr0vzb.js.br +0 -0
- package/dist/public/assets/_5lt7STSU.js.br +0 -0
- package/dist/public/assets/_6D14OK7z.js.br +0 -0
- package/dist/public/assets/_9D7sZPkr.js.br +0 -0
- package/dist/public/assets/_B0CqgYFf.js +0 -1
- package/dist/public/assets/_B0sUN2tx.js.br +0 -0
- package/dist/public/assets/_B1KbLd5h.js +0 -1
- package/dist/public/assets/_B5SjUyop.js.br +0 -0
- package/dist/public/assets/_B7FCBIYG.js.br +0 -0
- package/dist/public/assets/_B9G7-El7.js +0 -1
- package/dist/public/assets/_BDNW7Ugd.js +0 -1
- package/dist/public/assets/_BGXJVx0k.js.br +0 -0
- package/dist/public/assets/_BHypHLzv.js.br +0 -0
- package/dist/public/assets/_BJ0RWeiG.js.br +0 -0
- package/dist/public/assets/_BLALkhiZ.js +0 -12
- package/dist/public/assets/_BLALkhiZ.js.br +0 -0
- package/dist/public/assets/_BMNhhqEV.js +0 -1
- package/dist/public/assets/_BPHBcrYh.js.br +0 -0
- package/dist/public/assets/_BPoePslg.js.br +0 -0
- package/dist/public/assets/_BQuf46P2.js.br +0 -0
- package/dist/public/assets/_BTydwZJh.js +0 -1
- package/dist/public/assets/_BUbGYrKa.js.br +0 -0
- package/dist/public/assets/_BUh4HTF3.js.br +0 -0
- package/dist/public/assets/_BVXZCAXs.js.br +0 -0
- package/dist/public/assets/_BWBW2sE5.js +0 -1
- package/dist/public/assets/_BXgfsaug.js.br +0 -0
- package/dist/public/assets/_BZycN9ye.js +0 -1
- package/dist/public/assets/_BaQeAF-B.js +0 -1
- package/dist/public/assets/_BhA6H8WQ.js +0 -1
- package/dist/public/assets/_Bk0YJ7b1.js +0 -1
- package/dist/public/assets/_BlSH3TRK.js.br +0 -0
- package/dist/public/assets/_BqSnw21E.js +0 -1
- package/dist/public/assets/_BtWMgvvl.js.br +0 -0
- package/dist/public/assets/_BvskbvTW.js.br +0 -0
- package/dist/public/assets/_Bx8oVkmQ.js.br +0 -0
- package/dist/public/assets/_BxPoJO_L.js +0 -1
- package/dist/public/assets/_C09HUxcS.js.br +0 -0
- package/dist/public/assets/_C14PL76N.js +0 -1
- package/dist/public/assets/_C15TsQVx.js.br +0 -0
- package/dist/public/assets/_C1bNeWUD.js +0 -1
- package/dist/public/assets/_C2IlBo8e.js.br +0 -0
- package/dist/public/assets/_C5KZ0ozw.js.br +0 -0
- package/dist/public/assets/_C94IJ4uX.js +0 -1
- package/dist/public/assets/_CCRiWfSo.js +0 -1
- package/dist/public/assets/_CDHWB_us.js.br +0 -0
- package/dist/public/assets/_CE-UlWde.js +0 -1
- package/dist/public/assets/_CEgYI4gj.js.br +0 -0
- package/dist/public/assets/_CI9y5SMD.js +0 -1
- package/dist/public/assets/_CLrYkY55.js +0 -1
- package/dist/public/assets/_CPTaxuJG.js.br +0 -0
- package/dist/public/assets/_CQKcBCsl.js +0 -1
- package/dist/public/assets/_CQuARfyY.js.br +0 -0
- package/dist/public/assets/_CRdqojLF.js +0 -1
- package/dist/public/assets/_CRew7lgJ.js.br +0 -0
- package/dist/public/assets/_CS11TygF.js +0 -1
- package/dist/public/assets/_CS9qmTkt.js.br +0 -0
- package/dist/public/assets/_CSSixb56.js +0 -1
- package/dist/public/assets/_CSa_w7tA.js.br +0 -0
- package/dist/public/assets/_CTbIErzd.js.br +0 -0
- package/dist/public/assets/_CXf2VxeD.js +0 -1
- package/dist/public/assets/_CYHURCb7.js.br +0 -0
- package/dist/public/assets/_C_vPuVhA.js +0 -1
- package/dist/public/assets/_Cajx7i0I.js +0 -1
- package/dist/public/assets/_Cb-D3ERI.js.br +0 -0
- package/dist/public/assets/_Cc8Hhqep.js +0 -1
- package/dist/public/assets/_Ce6hwXny.js.br +0 -0
- package/dist/public/assets/_CeSD_6xP.js +0 -1
- package/dist/public/assets/_CfFIePkk.js +0 -1
- package/dist/public/assets/_CfUhSwyu.js +0 -1
- package/dist/public/assets/_CfziTCiN.js +0 -1
- package/dist/public/assets/_Ci7l0V_h.js +0 -1
- package/dist/public/assets/_Cif8YVIW.js.br +0 -0
- package/dist/public/assets/_CjI_b19m.js +0 -1
- package/dist/public/assets/_CjT2-NNY.js.br +0 -0
- package/dist/public/assets/_Cjromvor.js +0 -1
- package/dist/public/assets/_CmcVar5g.js.br +0 -0
- package/dist/public/assets/_Cof8T6gT.js +0 -1
- package/dist/public/assets/_CreV-6z6.js.br +0 -0
- package/dist/public/assets/_CsKkccjn.js +0 -1
- package/dist/public/assets/_CsnlIPmX.js.br +0 -0
- package/dist/public/assets/_CsxBH5UX.js +0 -1
- package/dist/public/assets/_CvrDFzmP.js.br +0 -0
- package/dist/public/assets/_CwAvlnWz.js.br +0 -0
- package/dist/public/assets/_CwBNy_7k.js.br +0 -0
- package/dist/public/assets/_Cx0sSSLJ.js.br +0 -0
- package/dist/public/assets/_CxyaZiJz.js +0 -1
- package/dist/public/assets/_D-4UJozU.js.br +0 -0
- package/dist/public/assets/_D0PrCOmg.js.br +0 -0
- package/dist/public/assets/_D0n_5okc.js.br +0 -0
- package/dist/public/assets/_D1ZTqBtg.js.br +0 -0
- package/dist/public/assets/_D2m31-DG.js +0 -1
- package/dist/public/assets/_D2vTqjKk.js +0 -1
- package/dist/public/assets/_D2zuXOi5.js.br +0 -0
- package/dist/public/assets/_D4SspWzi.js.br +0 -0
- package/dist/public/assets/_D8BYyk4L.js +0 -1
- package/dist/public/assets/_D8c2vqae.js +0 -1
- package/dist/public/assets/_D93e76eJ.js.br +0 -0
- package/dist/public/assets/_DB0x3S_V.js.br +0 -0
- package/dist/public/assets/_DBqiCvB3.js.br +0 -0
- package/dist/public/assets/_DDPfcBYW.js +0 -1
- package/dist/public/assets/_DE7f6G-4.js +0 -1
- package/dist/public/assets/_DFc8nVyA.js +0 -1
- package/dist/public/assets/_DGNNG6hE.js +0 -1
- package/dist/public/assets/_DKaZoJEU.js +0 -1
- package/dist/public/assets/_DPCcVPqS.js +0 -1
- package/dist/public/assets/_DPO20UhE.js.br +0 -0
- package/dist/public/assets/_DQ9KMZkg.js +0 -1
- package/dist/public/assets/_DQfR4nGA.js +0 -1
- package/dist/public/assets/_DRl7_NsH.js +0 -1
- package/dist/public/assets/_DSjKT54G.js +0 -1
- package/dist/public/assets/_DUQ4-DAq.js.br +0 -0
- package/dist/public/assets/_DVUACl-0.js.br +0 -0
- package/dist/public/assets/_DVaVJl4U.js +0 -1
- package/dist/public/assets/_DWJFJSQt.js.br +0 -0
- package/dist/public/assets/_DW_3eCmy.js.br +0 -0
- package/dist/public/assets/_DWcr4WT2.js +0 -1
- package/dist/public/assets/_D_uqbH0s.js +0 -1
- package/dist/public/assets/_Db3LFxDp.js +0 -1
- package/dist/public/assets/_DcKVJllO.js.br +0 -0
- package/dist/public/assets/_De55CP4F.js +0 -1
- package/dist/public/assets/_DglTnOtH.js.br +0 -0
- package/dist/public/assets/_DhyrSLt_.js +0 -1
- package/dist/public/assets/_DishjoMc.js +0 -1
- package/dist/public/assets/_DlHs_b1x.js +0 -1
- package/dist/public/assets/_DmlL12SP.js.br +0 -0
- package/dist/public/assets/_Dnj7y5O6.js.br +0 -0
- package/dist/public/assets/_DqB9AEIR.js +0 -1
- package/dist/public/assets/_DqmZjpyA.js +0 -1
- package/dist/public/assets/_DrC0PHwd.js +0 -1
- package/dist/public/assets/_DrtDlCCB.js +0 -1
- package/dist/public/assets/_DsxZHqAt.js.br +0 -0
- package/dist/public/assets/_DucELdm1.js.br +0 -0
- package/dist/public/assets/_Dw2w_cI1.js.br +0 -0
- package/dist/public/assets/_Dx2nYKAs.js.br +0 -0
- package/dist/public/assets/_DxZFU6SY.js.br +0 -0
- package/dist/public/assets/_DyztCqYX.js +0 -1
- package/dist/public/assets/_Dz42MOZj.js +0 -1
- package/dist/public/assets/_DzSNrU-9.js.br +0 -0
- package/dist/public/assets/_HnLpRxna.js.br +0 -0
- package/dist/public/assets/_Im1dFxR8.js.br +0 -0
- package/dist/public/assets/_ImlHzwYY.js +0 -1
- package/dist/public/assets/_J-P8YHmV.js +0 -1
- package/dist/public/assets/_KsdD4dsM.js.br +0 -0
- package/dist/public/assets/_LRjlRqrU.js.br +0 -0
- package/dist/public/assets/_LTl-SYyD.js +0 -1
- package/dist/public/assets/_LniUny_a.js.br +0 -0
- package/dist/public/assets/_Oup4mCuX.js +0 -1
- package/dist/public/assets/_R3Kvmve2.js.br +0 -0
- package/dist/public/assets/_R7YbF1yw.js.br +0 -0
- package/dist/public/assets/_S9Qy4Cmi.js.br +0 -0
- package/dist/public/assets/_ShiWFlWr.js.br +0 -0
- package/dist/public/assets/_TLB-Nq6Z.js.br +0 -0
- package/dist/public/assets/_YcOZiOZ4.js.br +0 -0
- package/dist/public/assets/_YjSW_ahw.js +0 -1
- package/dist/public/assets/_c9iXcb5V.js +0 -1
- package/dist/public/assets/_dSWMMogH.js.br +0 -0
- package/dist/public/assets/_dp0lBRTw.js +0 -1
- package/dist/public/assets/_etOTb_Um.js +0 -1
- package/dist/public/assets/_fZ9Nn0aY.js.br +0 -0
- package/dist/public/assets/_h3o298tf.js +0 -1
- package/dist/public/assets/_iTnQEpuR.js +0 -1
- package/dist/public/assets/_ii--A0F-.js.br +0 -0
- package/dist/public/assets/_ixsF2ttz.js.br +0 -0
- package/dist/public/assets/_kQ2OAVME.js +0 -1
- package/dist/public/assets/_l71VhzhS.js.br +0 -0
- package/dist/public/assets/_ptpihSzL.js.br +0 -0
- package/dist/public/assets/_suQAT3jW.js.br +0 -0
- package/dist/public/assets/_t5-hsdI5.js.br +0 -0
- package/dist/public/assets/_tEBqbfOJ.js.br +0 -0
- package/dist/public/assets/_vy4Y1hd_.js.br +0 -0
- package/dist/public/assets/_x7Lebeio.js.br +0 -0
- package/dist/public/assets/_z3J861v3.js +0 -1
- package/dist/public/assets/files-view-DyuIyBwJ.js +0 -2
- package/dist/public/assets/manage-workspace-CtSdSPLU.js +0 -2
- package/dist/public/assets/new-ClUAGfpX.js +0 -1
- package/dist/public/assets/new-workspace-BLb55_cv.js +0 -2
- package/dist/public/assets/review-view-BhRXZEwU.js +0 -2
- package/dist/public/assets/settings-ClUAGfpX.js +0 -1
- package/dist/public/assets/settings-page-CTit2PgC.js +0 -2
- package/dist/public/assets/styles-C4hTgteh.css +0 -1
- package/dist/public/assets/styles-C4hTgteh.css.br +0 -0
- package/dist/public/assets/w-ClUAGfpX.js +0 -1
- package/dist/public/assets/w._-ClUAGfpX.js +0 -1
- package/dist/public/assets/w._-CtbjyBu3.js +0 -1
- 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("./
|
|
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
|
|
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
|
|
12318
|
-
return `${repo.worktree}\0${head}\0${out}\0${refs}\0${stats
|
|
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,
|
|
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
|
-
|
|
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(
|
|
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
|
|
14752
|
-
* it
|
|
14753
|
-
*
|
|
14754
|
-
*
|
|
14755
|
-
*
|
|
14756
|
-
*
|
|
14757
|
-
*
|
|
14758
|
-
*
|
|
14759
|
-
|
|
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
|
|
14763
|
-
|
|
14764
|
-
|
|
14765
|
-
|
|
14766
|
-
|
|
14767
|
-
|
|
14768
|
-
|
|
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
|
|
14771
|
-
if (
|
|
14772
|
-
|
|
15009
|
+
for (const n of lengths) {
|
|
15010
|
+
if (kept <= share) break;
|
|
15011
|
+
kept -= n;
|
|
14773
15012
|
cut = n;
|
|
14774
15013
|
}
|
|
14775
|
-
|
|
14776
|
-
|
|
14777
|
-
|
|
14778
|
-
|
|
14779
|
-
|
|
14780
|
-
|
|
14781
|
-
|
|
14782
|
-
|
|
14783
|
-
|
|
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("./
|
|
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 $,
|
|
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 };
|