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