@dylanpiercey/work 0.2.53 → 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/bin/work.mjs +2 -32
- package/dist/{_tAkj84_m.js → _CKxRXoHK.js} +75 -75
- package/dist/_CVNGN2QO.js +2 -0
- package/dist/{_CWO9RtPZ.js → _CZ4mgOdb.js} +203 -44
- package/dist/{_ByxSq8zO.js → _Cb_JPQ7K.js} +371 -59
- package/dist/_hjIYs3Gy.js +2 -0
- package/dist/index.mjs +1352 -1200
- package/dist/public/assets/{_BWhs553r.js → _0YT2d3LY.js} +1 -1
- package/dist/public/assets/_0YT2d3LY.js.br +0 -0
- package/dist/public/assets/{_DVbq8rez.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/{_DjIcKKrW.js → _AIdFuyL9.js} +1 -1
- package/dist/public/assets/_AIdFuyL9.js.br +0 -0
- package/dist/public/assets/{_D_qMHeyF.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/{_UM6RqjfN.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/{_CT3v6Oze.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/{_DFjGajU7.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/{_Cn8rkyXq.js → _BFAY4fG9.js} +1 -1
- package/dist/public/assets/_BFAY4fG9.js.br +0 -0
- package/dist/public/assets/{_CeSQyrMz.js → _BGn8HXYq.js} +1 -1
- package/dist/public/assets/_BGn8HXYq.js.br +0 -0
- package/dist/public/assets/{_CfPha1FH.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/{_CnWm9a_o.js → _BOQ3PwKZ.js} +1 -1
- package/dist/public/assets/_BOQ3PwKZ.js.br +0 -0
- package/dist/public/assets/{_dZl98lyu.js → _BOXau4gS.js} +1 -1
- package/dist/public/assets/_BOXau4gS.js.br +0 -0
- package/dist/public/assets/{_Dho8D73M.js → _BPbX8cFz.js} +1 -1
- package/dist/public/assets/_BPbX8cFz.js.br +0 -0
- package/dist/public/assets/{_YIEXDh5T.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/{_Er1jCr0y.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/{_SNGXdx8T.js → _BZmB54mR.js} +1 -1
- package/dist/public/assets/_BZmB54mR.js.br +0 -0
- package/dist/public/assets/{_DVuEGjB6.js → _B_WzjbZc.js} +1 -1
- package/dist/public/assets/_B_WzjbZc.js.br +0 -0
- package/dist/public/assets/{_DahEvrx7.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/{_CZyU6zlW.js → _BcWvsmRe.js} +4 -4
- package/dist/public/assets/_BcWvsmRe.js.br +0 -0
- package/dist/public/assets/{_D4yHrw0x.js → _BeA1nKaN.js} +1 -1
- package/dist/public/assets/_BeA1nKaN.js.br +0 -0
- package/dist/public/assets/{_Z8XAsbav.js → _BeZ7pjQV.js} +1 -1
- package/dist/public/assets/_BeZ7pjQV.js.br +0 -0
- package/dist/public/assets/{_CoVyqWOC.js → _BgV7K2cf.js} +1 -1
- package/dist/public/assets/_BgV7K2cf.js.br +0 -0
- package/dist/public/assets/{_B23iifIa.js → _BgtzrIGU.js} +1 -1
- package/dist/public/assets/_BgtzrIGU.js.br +0 -0
- package/dist/public/assets/{_CCuLPWZW.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/{_53vvCtB9.js → _BjTM0FyT.js} +1 -1
- package/dist/public/assets/_BjTM0FyT.js.br +0 -0
- package/dist/public/assets/{_DWn9Bk4p.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/{_BJxnfQcd.js → _BmaXli3m.js} +1 -1
- package/dist/public/assets/_BmaXli3m.js.br +0 -0
- package/dist/public/assets/{_Dtj0n4Ea.js → _BmwvMhWC.js} +1 -1
- package/dist/public/assets/_BmwvMhWC.js.br +0 -0
- package/dist/public/assets/{_I-rWUgTm.js → _Bo0K9EaI.js} +1 -1
- package/dist/public/assets/_Bo0K9EaI.js.br +0 -0
- package/dist/public/assets/{_BZDlyKDT.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/{_BqPqaeUo.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/{_dhxtcjZT.js → _BtCTUxzJ.js} +1 -1
- package/dist/public/assets/_BtCTUxzJ.js.br +0 -0
- package/dist/public/assets/{_DdpvFyoD.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/{_B7RTaeWh.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/{_DgFgoB4_.js → _C3CvDqAU.js} +1 -1
- package/dist/public/assets/_C3CvDqAU.js.br +0 -0
- package/dist/public/assets/{_BndAJZwW.js → _C3JqzX6h.js} +1 -1
- package/dist/public/assets/_C3JqzX6h.js.br +0 -0
- package/dist/public/assets/{_3IZOU36R.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/{_ahnzi6Vi.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/{_I1G0J8iR.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/{_ezrIBxd5.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/{_BqZMlemw.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/{_Bu5hgjmu.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/{_Dzml7-SO.js → _CcWLzdOn.js} +1 -1
- package/dist/public/assets/_CcWLzdOn.js.br +0 -0
- package/dist/public/assets/{_Bsdn_9V_.js → _Ccwh6_69.js} +9 -9
- package/dist/public/assets/_Ccwh6_69.js.br +0 -0
- package/dist/public/assets/{_D-7MOklF.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/{_CeKaED0O.js → _CeWEms2G.js} +1 -1
- package/dist/public/assets/{_Cyqw1SYV.js → _CkYsst7o.js} +1 -1
- package/dist/public/assets/_CkYsst7o.js.br +0 -0
- package/dist/public/assets/{_bgVS_jjB.js → _ClTXG9so.js} +1 -1
- package/dist/public/assets/_ClUpRbMG.js +1 -0
- package/dist/public/assets/{_CJBfnXPc.js → _ClapXxZl.js} +1 -1
- package/dist/public/assets/_ClapXxZl.js.br +0 -0
- package/dist/public/assets/{_B704FqW-.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/{_BAcvIhfz.js → _CqCLnBE3.js} +1 -1
- package/dist/public/assets/_CqCLnBE3.js.br +0 -0
- package/dist/public/assets/{_C_hw80DQ.js → _Crf1JP7F.js} +1 -1
- package/dist/public/assets/_Crf1JP7F.js.br +0 -0
- package/dist/public/assets/{_CuKCWxtd.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/{_CnkmJKZH.js → _CvpfgyZE.js} +1 -1
- package/dist/public/assets/_CvpfgyZE.js.br +0 -0
- package/dist/public/assets/{_Do-dGY2X.js → _CxgPcY1B.js} +1 -1
- package/dist/public/assets/_CxgPcY1B.js.br +0 -0
- package/dist/public/assets/{_CB811mfH.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/{_z-BjZNm3.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/{_DJmXTsXM.js → _D4icZZux.js} +1 -1
- package/dist/public/assets/_D4icZZux.js.br +0 -0
- package/dist/public/assets/{_CqJdpoBK.js → _D4tgqiIB.js} +1 -1
- package/dist/public/assets/_D4tgqiIB.js.br +0 -0
- package/dist/public/assets/{_Idah-Wno.js → _D6OAuof8.js} +1 -1
- package/dist/public/assets/_D7IayTpp.js +1 -0
- package/dist/public/assets/{_CiCC4SAB.js → _D7UV9Wir.js} +1 -1
- package/dist/public/assets/_D7UV9Wir.js.br +0 -0
- package/dist/public/assets/{_D3dAzn-U.js → _D7siXaWH.js} +1 -1
- package/dist/public/assets/_D7siXaWH.js.br +0 -0
- package/dist/public/assets/{_DrTiWDUU.js → _D8e-tVLG.js} +1 -1
- package/dist/public/assets/_D8e-tVLG.js.br +0 -0
- package/dist/public/assets/{_Bxgu50JS.js → _D9zKRLBR.js} +1 -1
- package/dist/public/assets/_D9zKRLBR.js.br +0 -0
- package/dist/public/assets/{_DvgVDKmX.js → _DBcnZRAl.js} +1 -1
- package/dist/public/assets/_DBcnZRAl.js.br +0 -0
- package/dist/public/assets/{_C6vrNkj_.js → _DBv6A4ZA.js} +1 -1
- package/dist/public/assets/_DBv6A4ZA.js.br +0 -0
- package/dist/public/assets/{_BuQ2ay9z.js → _DChdFXSz.js} +1 -1
- package/dist/public/assets/_DChdFXSz.js.br +0 -0
- package/dist/public/assets/{_DPDpLf-R.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/{_DChbhtm7.js → _DHhfMQv0.js} +1 -1
- package/dist/public/assets/_DHhfMQv0.js.br +0 -0
- package/dist/public/assets/{_DtiK3IDe.js → _DJWtiudl.js} +1 -1
- package/dist/public/assets/_DJWtiudl.js.br +0 -0
- package/dist/public/assets/{_NCVKEfbF.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/{_BwsgtEeq.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/{_mcdXVs94.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/{_CpqmQUsa.js → _DXTQvf2X.js} +1 -1
- package/dist/public/assets/_DYLeu8Yn.js +1 -0
- package/dist/public/assets/{_ByDMN1SH.js → _DYcJRv1v.js} +1 -1
- package/dist/public/assets/_DYcJRv1v.js.br +0 -0
- package/dist/public/assets/{_BHTNZeRn.js → _D_0P73tR.js} +1 -1
- package/dist/public/assets/_D_0P73tR.js.br +0 -0
- package/dist/public/assets/{_Cu-SfhdL.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/{_BIt6tvPi.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/{_BChbCwWm.js → _Df2TxuvS.js} +1 -1
- package/dist/public/assets/_Df2TxuvS.js.br +0 -0
- package/dist/public/assets/{_Luj-nE2Q.js → _DjOV2LK6.js} +2 -2
- package/dist/public/assets/_DjOV2LK6.js.br +0 -0
- package/dist/public/assets/{_BH15mqpr.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/{_B9QxmB8p.js → _DmpEhYLB.js} +1 -1
- package/dist/public/assets/_DmpEhYLB.js.br +0 -0
- package/dist/public/assets/{_DWYNR6FP.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/{_B-VYcrqc.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/{_B5w-PFzL.js → _Dwea1Mf0.js} +1 -1
- package/dist/public/assets/_Dwea1Mf0.js.br +0 -0
- package/dist/public/assets/{_BKuPpEpl.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/{_BBDxD-rC.js → _I_2m9jez.js} +1 -1
- package/dist/public/assets/_I_2m9jez.js.br +0 -0
- package/dist/public/assets/{_D3zgkNcZ.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/{_C-iQnfOW.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/{_-tIChhHp.js → _VlEKRWlm.js} +1 -1
- package/dist/public/assets/_VlEKRWlm.js.br +0 -0
- package/dist/public/assets/{_Bm-EJ483.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/{_C3E0m_xC.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/{_EFF0RahO.js → _fb-cSkNg.js} +1 -1
- package/dist/public/assets/_fb-cSkNg.js.br +0 -0
- package/dist/public/assets/{_Bltf0lwj.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/{_Bj18Vxoa.js → _mg_8sHU7.js} +1 -1
- package/dist/public/assets/_mg_8sHU7.js.br +0 -0
- package/dist/public/assets/{_BE3izGMt.js → _nif0UYC1.js} +1 -1
- package/dist/public/assets/_nif0UYC1.js.br +0 -0
- package/dist/public/assets/{_wRxJgfi3.js → _ocpKhGmH.js} +1 -1
- package/dist/public/assets/_ocpKhGmH.js.br +0 -0
- package/dist/public/assets/{_CYyCK3gr.js → _qthymfEm.js} +1 -1
- package/dist/public/assets/{__1CwTtq-.js → _rlSb3jYt.js} +2 -2
- package/dist/public/assets/_rlSb3jYt.js.br +0 -0
- package/dist/public/assets/{_C0yBoXDm.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/{_CzDl06G7.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-rsoFYnOm.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/lib/setup/doctor.mjs +19 -2
- package/lib/setup/shims.mjs +62 -0
- package/package.json +1 -1
- package/dist/_DMIGXpem.js +0 -2
- package/dist/_Dbtwc-4J.js +0 -2
- package/dist/public/assets/_-tIChhHp.js.br +0 -0
- package/dist/public/assets/_3IZOU36R.js.br +0 -0
- package/dist/public/assets/_3LigOO1r.js +0 -1
- package/dist/public/assets/_53vvCtB9.js.br +0 -0
- package/dist/public/assets/_8F1hZg30.js +0 -1
- package/dist/public/assets/_8GJ-PBB-.js +0 -1
- package/dist/public/assets/_AF2pgiJE.js +0 -1
- package/dist/public/assets/_B-VYcrqc.js.br +0 -0
- package/dist/public/assets/_B-wjov_Z.js +0 -1
- package/dist/public/assets/_B23iifIa.js.br +0 -0
- package/dist/public/assets/_B2gvN5eE.js +0 -1
- package/dist/public/assets/_B31SsJ2H.js +0 -1
- package/dist/public/assets/_B3ioypfU.js +0 -1
- package/dist/public/assets/_B3zvGVOr.js +0 -1
- package/dist/public/assets/_B4KBgFQJ.js +0 -1
- package/dist/public/assets/_B4UPSzSe.js +0 -1
- package/dist/public/assets/_B5w-PFzL.js.br +0 -0
- package/dist/public/assets/_B704FqW-.js.br +0 -0
- package/dist/public/assets/_B7RTaeWh.js.br +0 -0
- package/dist/public/assets/_B8WsOiDp.js +0 -1
- package/dist/public/assets/_B9QxmB8p.js.br +0 -0
- package/dist/public/assets/_B9l6-SS5.js +0 -1
- package/dist/public/assets/_BAcvIhfz.js.br +0 -0
- package/dist/public/assets/_BBDxD-rC.js.br +0 -0
- package/dist/public/assets/_BChbCwWm.js.br +0 -0
- package/dist/public/assets/_BDnmZTGe.js +0 -1
- package/dist/public/assets/_BE3izGMt.js.br +0 -0
- package/dist/public/assets/_BH15mqpr.js.br +0 -0
- package/dist/public/assets/_BHTNZeRn.js.br +0 -0
- package/dist/public/assets/_BIt6tvPi.js.br +0 -0
- package/dist/public/assets/_BJxnfQcd.js.br +0 -0
- package/dist/public/assets/_BKuPpEpl.js.br +0 -0
- package/dist/public/assets/_BN3pboD3.js +0 -1
- package/dist/public/assets/_BQ9vuNgN.js +0 -1
- package/dist/public/assets/_BWhs553r.js.br +0 -0
- package/dist/public/assets/_BY2Fd-ai.js +0 -1
- package/dist/public/assets/_BZ5WB2jH.js +0 -1
- package/dist/public/assets/_BZDlyKDT.js.br +0 -0
- package/dist/public/assets/_B_6D3GJa.js +0 -1
- package/dist/public/assets/_BdZ9i3Bd.js +0 -1
- package/dist/public/assets/_Bffx--rk.js +0 -1
- package/dist/public/assets/_BiA2OZOl.js +0 -1
- package/dist/public/assets/_Bj18Vxoa.js.br +0 -0
- package/dist/public/assets/_BjrAjvOn.js +0 -1
- package/dist/public/assets/_BkQCadEV.js +0 -1
- package/dist/public/assets/_Bltf0lwj.js.br +0 -0
- package/dist/public/assets/_Bm-EJ483.js.br +0 -0
- package/dist/public/assets/_BndAJZwW.js.br +0 -0
- package/dist/public/assets/_Bq2kj2t3.js +0 -1
- package/dist/public/assets/_BqPqaeUo.js.br +0 -0
- package/dist/public/assets/_BqZMlemw.js.br +0 -0
- package/dist/public/assets/_Bsdn_9V_.js.br +0 -0
- package/dist/public/assets/_Bu5hgjmu.js.br +0 -0
- package/dist/public/assets/_BuGkNNaL.js +0 -1
- package/dist/public/assets/_BuQ2ay9z.js.br +0 -0
- package/dist/public/assets/_BwsgtEeq.js.br +0 -0
- package/dist/public/assets/_Bxgu50JS.js.br +0 -0
- package/dist/public/assets/_ByANtHYy.js +0 -1
- package/dist/public/assets/_ByDMN1SH.js.br +0 -0
- package/dist/public/assets/_BzRks6mQ.js +0 -1
- package/dist/public/assets/_Bzd4BveK.js +0 -1
- package/dist/public/assets/_C-iQnfOW.js.br +0 -0
- package/dist/public/assets/_C0yBoXDm.js.br +0 -0
- package/dist/public/assets/_C2zk28wV.js +0 -1
- package/dist/public/assets/_C3E0m_xC.js.br +0 -0
- package/dist/public/assets/_C6vrNkj_.js.br +0 -0
- package/dist/public/assets/_C9C-3hXG.js +0 -1
- package/dist/public/assets/_CB811mfH.js.br +0 -0
- package/dist/public/assets/_CCuLPWZW.js.br +0 -0
- package/dist/public/assets/_CGSqFdZV.js +0 -1
- package/dist/public/assets/_CGbnwvi6.js +0 -1
- package/dist/public/assets/_CJBfnXPc.js.br +0 -0
- package/dist/public/assets/_CKFNF1bt.js +0 -1
- package/dist/public/assets/_CL7o_nRC.js +0 -1
- package/dist/public/assets/_CO7GkttO.js +0 -1
- package/dist/public/assets/_CSqMt_yB.js +0 -1
- package/dist/public/assets/_CT3v6Oze.js.br +0 -0
- package/dist/public/assets/_CV1g9tqF.js +0 -1
- package/dist/public/assets/_CYMRiGMt.js +0 -1
- package/dist/public/assets/_CZLvdLqX.js +0 -1
- package/dist/public/assets/_CZyU6zlW.js.br +0 -0
- package/dist/public/assets/_C_hw80DQ.js.br +0 -0
- package/dist/public/assets/_CeSQyrMz.js.br +0 -0
- package/dist/public/assets/_CfPha1FH.js.br +0 -0
- package/dist/public/assets/_CfpvYRrS.js +0 -1
- package/dist/public/assets/_Che6-ZVy.js +0 -1
- package/dist/public/assets/_CiCC4SAB.js.br +0 -0
- package/dist/public/assets/_Cn8rkyXq.js.br +0 -0
- package/dist/public/assets/_CnWm9a_o.js.br +0 -0
- package/dist/public/assets/_Cnb9K9XY.js +0 -1
- package/dist/public/assets/_CnkmJKZH.js.br +0 -0
- package/dist/public/assets/_CoVyqWOC.js.br +0 -0
- package/dist/public/assets/_CqJdpoBK.js.br +0 -0
- package/dist/public/assets/_Cu-SfhdL.js.br +0 -0
- package/dist/public/assets/_CuKCWxtd.js.br +0 -0
- package/dist/public/assets/_CvbIq7kc.js +0 -1
- package/dist/public/assets/_CxPGS3y4.js +0 -1
- package/dist/public/assets/_Cyqw1SYV.js.br +0 -0
- package/dist/public/assets/_CyyVMlPp.js +0 -1
- package/dist/public/assets/_CzDUXeLr.js +0 -1
- package/dist/public/assets/_CzDl06G7.js.br +0 -0
- package/dist/public/assets/_D-7MOklF.js.br +0 -0
- package/dist/public/assets/_D-MrkdQv.js +0 -1
- package/dist/public/assets/_D3dAzn-U.js.br +0 -0
- package/dist/public/assets/_D3zgkNcZ.js.br +0 -0
- package/dist/public/assets/_D4yHrw0x.js.br +0 -0
- package/dist/public/assets/_DAGoF4RD.js +0 -1
- package/dist/public/assets/_DBUH1PtY.js +0 -1
- package/dist/public/assets/_DChbhtm7.js.br +0 -0
- package/dist/public/assets/_DDDEt2Cn.js +0 -1
- package/dist/public/assets/_DEVUMpy9.js +0 -1
- package/dist/public/assets/_DI2YhTfn.js +0 -1
- package/dist/public/assets/_DJmXTsXM.js.br +0 -0
- package/dist/public/assets/_DLNSQLre.js +0 -1
- package/dist/public/assets/_DPDpLf-R.js.br +0 -0
- package/dist/public/assets/_DVbq8rez.js.br +0 -0
- package/dist/public/assets/_DVuEGjB6.js.br +0 -0
- package/dist/public/assets/_DWYNR6FP.js.br +0 -0
- package/dist/public/assets/_DWn9Bk4p.js.br +0 -0
- package/dist/public/assets/_D_qMHeyF.js.br +0 -0
- package/dist/public/assets/_D_vDaILt.js +0 -1
- package/dist/public/assets/_DahEvrx7.js.br +0 -0
- package/dist/public/assets/_DdpvFyoD.js.br +0 -0
- package/dist/public/assets/_DgFgoB4_.js.br +0 -0
- package/dist/public/assets/_Dho8D73M.js.br +0 -0
- package/dist/public/assets/_DiUYcYna.js +0 -1
- package/dist/public/assets/_DjIcKKrW.js.br +0 -0
- package/dist/public/assets/_DkZVAXow.js +0 -1
- package/dist/public/assets/_Do-dGY2X.js.br +0 -0
- package/dist/public/assets/_DrTiWDUU.js.br +0 -0
- package/dist/public/assets/_DtBP9JxD.js +0 -1
- package/dist/public/assets/_DtiK3IDe.js.br +0 -0
- package/dist/public/assets/_Dtj0n4Ea.js.br +0 -0
- package/dist/public/assets/_Dv4QXsaq.js +0 -1
- package/dist/public/assets/_DvgVDKmX.js.br +0 -0
- package/dist/public/assets/_DxArLWxr.js +0 -1
- package/dist/public/assets/_DzasBNTs.js +0 -1
- package/dist/public/assets/_Dzml7-SO.js.br +0 -0
- package/dist/public/assets/_EFF0RahO.js.br +0 -0
- package/dist/public/assets/_Er1jCr0y.js.br +0 -0
- package/dist/public/assets/_I-rWUgTm.js.br +0 -0
- package/dist/public/assets/_I1G0J8iR.js.br +0 -0
- package/dist/public/assets/_Luj-nE2Q.js.br +0 -0
- package/dist/public/assets/_MTzS-gYR.js +0 -1
- package/dist/public/assets/_NCVKEfbF.js.br +0 -0
- package/dist/public/assets/_Nt06UfoF.js +0 -1
- package/dist/public/assets/_SNGXdx8T.js.br +0 -0
- package/dist/public/assets/_U-ItOyuk.js +0 -1
- package/dist/public/assets/_UM6RqjfN.js.br +0 -0
- package/dist/public/assets/_XM_G2_E8.js +0 -1
- package/dist/public/assets/_YIEXDh5T.js.br +0 -0
- package/dist/public/assets/_Z8XAsbav.js.br +0 -0
- package/dist/public/assets/__1CwTtq-.js.br +0 -0
- package/dist/public/assets/__UZfk21C.js +0 -1
- package/dist/public/assets/_ahnzi6Vi.js.br +0 -0
- package/dist/public/assets/_b8vSuisY.js +0 -1
- package/dist/public/assets/_cAFV8cvO.js +0 -1
- package/dist/public/assets/_dZl98lyu.js.br +0 -0
- package/dist/public/assets/_dbwi0e20.js +0 -1
- package/dist/public/assets/_dfb9VWND.js +0 -1
- package/dist/public/assets/_dhxtcjZT.js.br +0 -0
- package/dist/public/assets/_ezrIBxd5.js.br +0 -0
- package/dist/public/assets/_l6WNhzBy.js +0 -1
- package/dist/public/assets/_mcdXVs94.js.br +0 -0
- package/dist/public/assets/_r3IeTPfk.js +0 -1
- package/dist/public/assets/_sctMXY82.js +0 -1
- package/dist/public/assets/_ukc-Ezd5.js +0 -1
- package/dist/public/assets/_wRxJgfi3.js.br +0 -0
- package/dist/public/assets/_wk1rSbkR.js +0 -1
- package/dist/public/assets/_xAWxeLFd.js +0 -1
- package/dist/public/assets/_xOecD2Ye.js +0 -1
- package/dist/public/assets/_xqGqu7PK.js +0 -1
- package/dist/public/assets/_z-BjZNm3.js.br +0 -0
- package/dist/public/assets/_z2ZJ8cb5.js +0 -1
- package/dist/public/assets/_zCVRc38b.js +0 -1
- package/dist/public/assets/files-view-DvsrAin-.js +0 -2
- package/dist/public/assets/manage-workspace-DpiGdfaH.js +0 -2
- package/dist/public/assets/new-B9cFSdMl.js +0 -1
- package/dist/public/assets/new-workspace-DOoDlvjo.js +0 -2
- package/dist/public/assets/review-view-C4Iv_eUU.js +0 -2
- package/dist/public/assets/settings-B9cFSdMl.js +0 -1
- package/dist/public/assets/settings-page-CIKTh5Y6.js +0 -2
- package/dist/public/assets/styles-rsoFYnOm.css.br +0 -0
- package/dist/public/assets/w-B9cFSdMl.js +0 -1
- package/dist/public/assets/w._-B9cFSdMl.js +0 -1
- package/dist/public/assets/w._-BSzTwkWw.js +0 -1
- package/dist/public/assets/w._-BWgHxva-.js +0 -1
package/bin/cli/session.mjs
CHANGED
|
@@ -111,12 +111,16 @@ function sentText(id, r, asked) {
|
|
|
111
111
|
"A reply it sends before then answers what it is on now: each reply names the message of yours it answers.",
|
|
112
112
|
);
|
|
113
113
|
const reopened = r.reopened ? `reopened ${id} on its conversation; ` : "";
|
|
114
|
+
const what = r.promoted
|
|
115
|
+
? `your ${r.promoted === 1 ? "queued message" : `${r.promoted} queued messages`}`
|
|
116
|
+
: "";
|
|
114
117
|
const stopped = r.interrupted ? `stopped ${id}'s turn; ` : "";
|
|
115
118
|
if (r.midTurn)
|
|
116
119
|
lines.push(
|
|
117
|
-
`${stopped}typed into ${id}'s turn under way: it gets
|
|
120
|
+
`${stopped}typed ${what || "this"} into ${id}'s turn under way: it gets ${r.promoted > 1 ? "them" : "it"} at its next step, after the tool call it is on`,
|
|
118
121
|
);
|
|
119
|
-
else if (r.delivered)
|
|
122
|
+
else if (r.delivered)
|
|
123
|
+
lines.push(`${reopened}${stopped}sent ${what ? `${what} ` : ""}to ${id}`);
|
|
120
124
|
else {
|
|
121
125
|
const wait = [
|
|
122
126
|
r.queued,
|
|
@@ -126,12 +130,12 @@ function sentText(id, r, asked) {
|
|
|
126
130
|
const sooner = !r.queued.startsWith("it is working")
|
|
127
131
|
? ""
|
|
128
132
|
: r.steers && !asked.now
|
|
129
|
-
? ` To reach it sooner: \`work session send ${id} --now
|
|
133
|
+
? ` To reach it sooner: \`work session send ${id} --now\` with no text sends what you queued into the turn, at its next step (--interrupt stops the turn first); never send it again.`
|
|
130
134
|
: !r.steers && r.interrupts && !asked.interrupt
|
|
131
|
-
? ` Its CLI takes no message mid-turn: --interrupt stops the turn to send
|
|
135
|
+
? ` Its CLI takes no message mid-turn: \`work session send ${id} --interrupt\` with no text stops the turn to send what you queued now.`
|
|
132
136
|
: "";
|
|
133
137
|
lines.push(
|
|
134
|
-
`${reopened}${stopped}queued for ${id} (${wait.join("; ")}): typed in once it is at its prompt${asked.now && r.steers ? ", or into its turn once nothing stands in the way" : ""}.${sooner}`,
|
|
138
|
+
`${reopened}${stopped}${what ? `${what} ${r.promoted === 1 ? "stays" : "stay"} ` : ""}queued for ${id} (${wait.join("; ")}): typed in once it is at its prompt${asked.now && r.steers ? ", or into its turn once nothing stands in the way" : ""}.${sooner}`,
|
|
135
139
|
);
|
|
136
140
|
}
|
|
137
141
|
return lines.join("\n");
|
|
@@ -193,6 +197,47 @@ const STATUS_MARK = {
|
|
|
193
197
|
closed: "✕",
|
|
194
198
|
};
|
|
195
199
|
|
|
200
|
+
/** A moment as the log shows it: the time today, else the date too. */
|
|
201
|
+
function clockOf(at) {
|
|
202
|
+
const d = new Date(at);
|
|
203
|
+
const time = d.toLocaleTimeString("en-GB", {
|
|
204
|
+
hour: "2-digit",
|
|
205
|
+
minute: "2-digit",
|
|
206
|
+
});
|
|
207
|
+
return d.toDateString() === new Date().toDateString()
|
|
208
|
+
? time
|
|
209
|
+
: `${d.toLocaleDateString("en-CA")} ${time}`;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/** One message of `work session log`: who to whom, what, how it went,
|
|
213
|
+
* then its text (its first line, unless `full`). */
|
|
214
|
+
function printLogged(m, full) {
|
|
215
|
+
const kind =
|
|
216
|
+
m.kind === "message"
|
|
217
|
+
? m.wants_reply
|
|
218
|
+
? "message, wants a reply"
|
|
219
|
+
: "message"
|
|
220
|
+
: m.kind;
|
|
221
|
+
const went = [
|
|
222
|
+
m.urgent && "to go now",
|
|
223
|
+
m.delivered_at
|
|
224
|
+
? `${m.delivered === "into its turn" ? "typed into its turn" : m.delivered === "at its prompt" ? "typed in at its prompt" : m.delivered} ${clockOf(m.delivered_at)}`
|
|
225
|
+
: !m.done_at && "queued",
|
|
226
|
+
m.done_at
|
|
227
|
+
? m.outcome === "delivered"
|
|
228
|
+
? null
|
|
229
|
+
: `${m.outcome} ${clockOf(m.done_at)}`
|
|
230
|
+
: m.delivered_at && m.wants_reply && "reply owed",
|
|
231
|
+
].filter(Boolean);
|
|
232
|
+
console.log(
|
|
233
|
+
`${clockOf(m.created_at)} ${m.from_session ?? "user"} → ${m.to_session} ${kind}${went.length ? ` (${went.join("; ")})` : ""}`,
|
|
234
|
+
);
|
|
235
|
+
const text = full
|
|
236
|
+
? m.body
|
|
237
|
+
: (m.body.split("\n").find((l) => l.trim()) ?? "").slice(0, 160);
|
|
238
|
+
for (const line of text.split("\n")) console.log(` ${line}`);
|
|
239
|
+
}
|
|
240
|
+
|
|
196
241
|
/** One group of `work session team`: its head, then a line a member. */
|
|
197
242
|
function printGroup(ctx, g) {
|
|
198
243
|
const c = g.counts;
|
|
@@ -218,13 +263,22 @@ export const commands = [
|
|
|
218
263
|
{
|
|
219
264
|
name: "session",
|
|
220
265
|
summary:
|
|
221
|
-
"this session and the workspace's others: new, fanout, send, wait, hold, keep, team, kill",
|
|
266
|
+
"this session and the workspace's others: new, fanout, send, wait, hold, keep, reopen, log, team, kill",
|
|
222
267
|
help: `work session [--json]
|
|
223
268
|
This session (WORK_SESSION_ID): its id, agent, name, state, and the
|
|
224
269
|
workspace it is in (id, name, path) — what a link names (/w/<id>/…).
|
|
225
|
-
work session list [
|
|
270
|
+
work session list [<workspace>|<session>] [--json]
|
|
226
271
|
The workspace's sessions, this one marked, with how long each has been
|
|
227
|
-
in the turn under way and how many messages are queued for it.
|
|
272
|
+
in the turn under way and how many messages are queued for it. Given a
|
|
273
|
+
session's id: that one and those it started, or, closed, how and when,
|
|
274
|
+
and whether \`work session reopen\` can start it again.
|
|
275
|
+
work session log [<id>] [--all] [--full] [--limit <n>] [--json]
|
|
276
|
+
What went to and from a session (this one unless <id>; --all: between
|
|
277
|
+
every session of the workspace), the last week, oldest first: each
|
|
278
|
+
message, reply and notice, when it was sent, how it went in (at its
|
|
279
|
+
prompt, into its turn, taken by wait) and how it left the queue
|
|
280
|
+
(answered, closed before a reply…) or that it is still queued or owed.
|
|
281
|
+
The first line of each unless --full.
|
|
228
282
|
work session title "<name>" [--session <id>]
|
|
229
283
|
Name a session in the session list (empty clears it).
|
|
230
284
|
work session new [--agent <id>] [--title "<name>"] [--prompt "<text>"|-] [--no-reply] [--keep] [--topic <name> [--repo <repo>…] [--install]] [--workspace <id|name>] [--force]
|
|
@@ -280,7 +334,10 @@ work session send <id> "<text>"|- [--no-reply] [--now|--interrupt]
|
|
|
280
334
|
step (after the tool call it is on), and that turn's end answers it;
|
|
281
335
|
--interrupt stops the turn first, for one the next step is too late
|
|
282
336
|
for or whose CLI takes nothing mid-turn (Grok). What is queued for it
|
|
283
|
-
goes in with it
|
|
337
|
+
goes in with it, and --now or --interrupt with no text sends what you
|
|
338
|
+
queued so, rather than a second copy. One with --no-reply goes into the
|
|
339
|
+
turn under way at its next step by itself: nothing waits on its answer,
|
|
340
|
+
and the turn may need it before it ends. The last line printed says whether it went in, and
|
|
284
341
|
if not, how long the turn it waits out has run. A session closed for being
|
|
285
342
|
done is reopened on its own conversation first, where its CLI can
|
|
286
343
|
resume one (Claude, Codex); otherwise the send says to start a new one.
|
|
@@ -288,6 +345,15 @@ work session send <id> "<text>"|- [--no-reply] [--now|--interrupt]
|
|
|
288
345
|
another workspace (\`work session list <workspace>\`) can be messaged
|
|
289
346
|
when the user asks, and only while it runs; everything else here an
|
|
290
347
|
agent does in its own workspace only.
|
|
348
|
+
work session reopen <id> [--agent <id>]
|
|
349
|
+
Start a session again on its own conversation, where its CLI can resume
|
|
350
|
+
one (Claude, Codex): one closed — by its lead's close, the user's, or
|
|
351
|
+
for being done — back under the session that started it, or under this
|
|
352
|
+
one when that is gone; or one running, whose CLI is restarted. --agent
|
|
353
|
+
starts it as another instance of the same CLI (claude2 for claude):
|
|
354
|
+
one stuck because its account hit a limit goes on as another account's,
|
|
355
|
+
where the two share their conversations. What is queued for it and what
|
|
356
|
+
it owes you stay: send it a message to carry it on.
|
|
291
357
|
work session wait [<id>|<group>...] [--any] [--timeout <seconds>]
|
|
292
358
|
Wait for the replies owed to this session (by those sessions or groups,
|
|
293
359
|
else by any), printing each as it comes; a reply printed here is not
|
|
@@ -307,7 +373,8 @@ work session keep <id>
|
|
|
307
373
|
work session kill <id> [--keep-children] --yes
|
|
308
374
|
Close a session and the process in it, and the sessions it started
|
|
309
375
|
with theirs, unless --keep-children (they then stand on their own).
|
|
310
|
-
Whoever waits on a reply from one is told.
|
|
376
|
+
Whoever waits on a reply from one is told. Each that can resume its
|
|
377
|
+
conversation can be started again for a week: \`work session reopen\`.
|
|
311
378
|
work session kill --done
|
|
312
379
|
Close now the sessions this one started that are done with (answered,
|
|
313
380
|
idle, not the user's): fan-out results stay in \`work session team\`,
|
|
@@ -324,6 +391,7 @@ work session kill --done
|
|
|
324
391
|
"--repo",
|
|
325
392
|
"--count",
|
|
326
393
|
"--parallel",
|
|
394
|
+
"--limit",
|
|
327
395
|
]);
|
|
328
396
|
switch (verb) {
|
|
329
397
|
case undefined: {
|
|
@@ -351,11 +419,61 @@ work session kill --done
|
|
|
351
419
|
});
|
|
352
420
|
}
|
|
353
421
|
case "list": {
|
|
354
|
-
const
|
|
355
|
-
|
|
422
|
+
const [arg] = rest;
|
|
423
|
+
// A session's id names that one; anything else a workspace.
|
|
424
|
+
const workspaces = arg ? await ctx.api.get("/api/workspaces") : [];
|
|
425
|
+
const isWs = workspaces.some((w) => w.id === arg || w.name === arg);
|
|
426
|
+
const one =
|
|
427
|
+
arg && !isWs
|
|
428
|
+
? await ctx.api.get(
|
|
429
|
+
`/api/sessions/${encodeURIComponent(arg)}?missing=null`,
|
|
430
|
+
)
|
|
431
|
+
: null;
|
|
432
|
+
if (arg && !isWs && !one)
|
|
433
|
+
ctx.die(
|
|
434
|
+
`no workspace or session named ${arg} (see: work workspaces, work session list)`,
|
|
435
|
+
);
|
|
436
|
+
if (one?.closed)
|
|
437
|
+
return ctx.out(one, (s) =>
|
|
438
|
+
console.log(
|
|
439
|
+
`${ctx.pad(s.id, 9)} ${ctx.pad(s.agent, 10)} closed ${s.title || ""} (${s.closed.how === "done" ? "closed for being done" : "closed"} ${clockOf(s.closed.at)}; ${!s.reopenable ? "its conversation went with it" : s.closed.how === "done" ? "a message reopens it on its conversation" : `\`work session reopen ${s.id}\` starts it again on its conversation`})`,
|
|
440
|
+
),
|
|
441
|
+
);
|
|
442
|
+
const { ws } = await ctx.resolveWorkspace(one ? one.workspace : arg);
|
|
443
|
+
const all = await sessionsOf(ctx, ws.id);
|
|
444
|
+
// One session: it and those it started, under it.
|
|
445
|
+
const under = one ? [one.id] : null;
|
|
446
|
+
if (under)
|
|
447
|
+
for (const s of all)
|
|
448
|
+
if (s.parent && under.includes(s.parent) && !under.includes(s.id))
|
|
449
|
+
under.push(s.id);
|
|
450
|
+
const list = under ? all.filter((s) => under.includes(s.id)) : all;
|
|
451
|
+
const top = list[0]?.depth ?? 0;
|
|
356
452
|
return ctx.out(list, (l) => {
|
|
357
453
|
if (!l.length) return console.log("no sessions");
|
|
358
|
-
for (const s of l)
|
|
454
|
+
for (const s of l)
|
|
455
|
+
console.log(sessionLine(ctx, { ...s, depth: s.depth - top }));
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
case "log": {
|
|
459
|
+
const id = rest[0] ?? (ctx.has("--all") ? null : sessionId(ctx));
|
|
460
|
+
const limit = ctx.flag("--limit");
|
|
461
|
+
const q = `?limit=${encodeURIComponent(limit ?? 50)}${by("&")}`;
|
|
462
|
+
const r = id
|
|
463
|
+
? await ctx.api.get(
|
|
464
|
+
`/api/sessions/${encodeURIComponent(id)}/log${q}`,
|
|
465
|
+
)
|
|
466
|
+
: await ctx.api.get(
|
|
467
|
+
`/api/workspaces/${(await ctx.resolveWorkspace(ctx.flag("--workspace"))).ws.id}/messages${q}`,
|
|
468
|
+
);
|
|
469
|
+
return ctx.out(r, (r) => {
|
|
470
|
+
if (!r.messages.length)
|
|
471
|
+
return console.log(
|
|
472
|
+
id
|
|
473
|
+
? `nothing went to or from ${id} in the last week`
|
|
474
|
+
: "nothing went between this workspace's sessions in the last week",
|
|
475
|
+
);
|
|
476
|
+
for (const m of r.messages) printLogged(m, ctx.has("--full"));
|
|
359
477
|
});
|
|
360
478
|
}
|
|
361
479
|
case "title": {
|
|
@@ -509,15 +627,16 @@ work session kill --done
|
|
|
509
627
|
case "send": {
|
|
510
628
|
const [id, ...words] = rest;
|
|
511
629
|
const text = await textOf(words.join(" "));
|
|
512
|
-
if (!id || !text)
|
|
513
|
-
ctx.die(
|
|
514
|
-
'usage: work session send <id> "<text>"|- [--no-reply] [--now|--interrupt]',
|
|
515
|
-
);
|
|
516
|
-
const me = process.env.WORK_SESSION_ID;
|
|
517
630
|
const asked = {
|
|
518
631
|
now: ctx.has("--now"),
|
|
519
632
|
interrupt: ctx.has("--interrupt"),
|
|
520
633
|
};
|
|
634
|
+
// No text, to go now: what this session queued for it goes.
|
|
635
|
+
if (!id || (!text && !asked.now && !asked.interrupt))
|
|
636
|
+
ctx.die(
|
|
637
|
+
'usage: work session send <id> "<text>"|- [--no-reply] [--now|--interrupt]',
|
|
638
|
+
);
|
|
639
|
+
const me = process.env.WORK_SESSION_ID;
|
|
521
640
|
const r = await ctx.api.post(`/api/sessions/${id}/messages`, {
|
|
522
641
|
text,
|
|
523
642
|
...(me ? { from: me } : {}),
|
|
@@ -583,6 +702,22 @@ work session kill --done
|
|
|
583
702
|
),
|
|
584
703
|
);
|
|
585
704
|
}
|
|
705
|
+
case "reopen": {
|
|
706
|
+
const [id] = rest;
|
|
707
|
+
if (!id) ctx.die("usage: work session reopen <id> [--agent <id>]");
|
|
708
|
+
const agent = ctx.flag("--agent");
|
|
709
|
+
const r = await ctx.api.post(`/api/sessions/${id}/reopen${by()}`, {
|
|
710
|
+
...(agent ? { agent } : {}),
|
|
711
|
+
});
|
|
712
|
+
return ctx.out(r, (r) => {
|
|
713
|
+
console.log(
|
|
714
|
+
`${r.restarted ? "restarted" : "reopened"} ${r.id} on its conversation as ${r.agent}${r.parent ? `, under ${r.parent}` : ""}`,
|
|
715
|
+
);
|
|
716
|
+
console.log(
|
|
717
|
+
`It is at its prompt: \`work session send ${r.id} "…"\` carries it on.`,
|
|
718
|
+
);
|
|
719
|
+
});
|
|
720
|
+
}
|
|
586
721
|
case "keep": {
|
|
587
722
|
const [id] = rest;
|
|
588
723
|
if (!id) ctx.die("usage: work session keep <id>");
|
package/bin/work.mjs
CHANGED
|
@@ -82,6 +82,7 @@ import {
|
|
|
82
82
|
import { installTool, repairGhHelpers } from "../lib/setup/install.mjs";
|
|
83
83
|
import { bridgeCommands, bridgeIfNeeded } from "../lib/setup/bridge.mjs";
|
|
84
84
|
import { dialHost, listenStream } from "../lib/setup/listen.mjs";
|
|
85
|
+
import { versionManagers } from "../lib/setup/shims.mjs";
|
|
85
86
|
import { commentMarkdown } from "../lib/review/markdown.mjs";
|
|
86
87
|
import { formatInvite, parseInvite } from "../lib/share/manifest.mjs";
|
|
87
88
|
import { duration, pctText } from "../lib/usage/format.mjs";
|
|
@@ -1160,37 +1161,6 @@ function installAt(file) {
|
|
|
1160
1161
|
return null;
|
|
1161
1162
|
}
|
|
1162
1163
|
|
|
1163
|
-
/** Version managers whose shims stand in for `work`. A shim is the
|
|
1164
|
-
* manager's own binary (mise links every shim to itself) or a script that
|
|
1165
|
-
* hands off to it, so neither its path nor its target is the install: the
|
|
1166
|
-
* manager's `which` names that. A global uninstalled from one of its
|
|
1167
|
-
* nodes leaves the shim until a reshim. */
|
|
1168
|
-
function versionManagers() {
|
|
1169
|
-
return [
|
|
1170
|
-
{
|
|
1171
|
-
id: "mise",
|
|
1172
|
-
shim: (file, real) => path.basename(real) === "mise",
|
|
1173
|
-
which: (real) => [real, ["which", "work"]],
|
|
1174
|
-
installs: /\/mise\/installs\/node\//,
|
|
1175
|
-
reshim: "mise reshim",
|
|
1176
|
-
},
|
|
1177
|
-
{
|
|
1178
|
-
id: "asdf",
|
|
1179
|
-
shim: (file) => /\/\.asdf\/shims$/.test(path.dirname(file)),
|
|
1180
|
-
which: () => ["asdf", ["which", "work"]],
|
|
1181
|
-
installs: /\/\.asdf\/installs\/nodejs\//,
|
|
1182
|
-
reshim: "asdf reshim nodejs",
|
|
1183
|
-
},
|
|
1184
|
-
{
|
|
1185
|
-
id: "nodenv",
|
|
1186
|
-
shim: (file) => /\/\.nodenv\/shims$/.test(path.dirname(file)),
|
|
1187
|
-
which: () => ["nodenv", ["which", "work"]],
|
|
1188
|
-
installs: /\/\.nodenv\/versions\//,
|
|
1189
|
-
reshim: "nodenv rehash",
|
|
1190
|
-
},
|
|
1191
|
-
];
|
|
1192
|
-
}
|
|
1193
|
-
|
|
1194
1164
|
/** The install a `work` on PATH runs: an npm global's bin links into the
|
|
1195
1165
|
* package, a shim's is the one its manager names, and anything else is
|
|
1196
1166
|
* asked its version. */
|
|
@@ -1205,7 +1175,7 @@ function workOnPath(file) {
|
|
|
1205
1175
|
const real = realpathOr(file);
|
|
1206
1176
|
const manager = versionManagers().find((m) => m.shim(file, real));
|
|
1207
1177
|
if (manager) {
|
|
1208
|
-
const [bin, argv] = manager.which(real);
|
|
1178
|
+
const [bin, argv] = manager.which(real, "work");
|
|
1209
1179
|
const out = spawnSync(bin, argv, { encoding: "utf8", timeout: 5000 });
|
|
1210
1180
|
const target = out.status === 0 && out.stdout.trim();
|
|
1211
1181
|
const w = target && installAt(target);
|
|
@@ -83,101 +83,101 @@ var toastTitle = {
|
|
|
83
83
|
warn: "_w",
|
|
84
84
|
info: "_x"
|
|
85
85
|
};
|
|
86
|
-
var tocDot = "
|
|
86
|
+
var tocDot = "_de _ba";
|
|
87
87
|
//#endregion
|
|
88
88
|
//#region src/tags/settings-agents.css.ts
|
|
89
|
-
var agentRow = "
|
|
90
|
-
var list$3 = "
|
|
91
|
-
var metaChip = "
|
|
89
|
+
var agentRow = "_fH _dG";
|
|
90
|
+
var list$3 = "_dK _dw _dF _dI";
|
|
91
|
+
var metaChip = "_dY _bz _by";
|
|
92
92
|
var sectionCount = "_dt _bp _bq";
|
|
93
|
-
var usageNote = "
|
|
94
|
-
var pop$2 = "
|
|
95
|
-
var spinner = "
|
|
96
|
-
var toolLead = "
|
|
97
|
-
var name$4 = "
|
|
98
|
-
var desc$1 = "
|
|
93
|
+
var usageNote = "_kq _by";
|
|
94
|
+
var pop$2 = "_gL _bN";
|
|
95
|
+
var spinner = "_gO _bD _bi";
|
|
96
|
+
var toolLead = "_gq _dT";
|
|
97
|
+
var name$4 = "_gA _dT";
|
|
98
|
+
var desc$1 = "_gB _dU";
|
|
99
99
|
//#endregion
|
|
100
100
|
//#region src/tags/lsp-add-dialog.css.ts
|
|
101
|
-
var addDlg = "
|
|
102
|
-
var key$1 = "
|
|
103
|
-
var addTile = "
|
|
104
|
-
var field$2 = "
|
|
105
|
-
var keyField = "
|
|
106
|
-
var labelField = "
|
|
107
|
-
var detailsToggle = "
|
|
108
|
-
var themeSeg = "
|
|
109
|
-
var checkList = "
|
|
101
|
+
var addDlg = "_kZ _b4";
|
|
102
|
+
var key$1 = "_lO _lM";
|
|
103
|
+
var addTile = "_lQ _lM";
|
|
104
|
+
var field$2 = "_l1 _bA";
|
|
105
|
+
var keyField = "_l2 _l1 _bA";
|
|
106
|
+
var labelField = "_l3 _l1 _bA";
|
|
107
|
+
var detailsToggle = "_fs _6";
|
|
108
|
+
var themeSeg = "_eY _bR";
|
|
109
|
+
var checkList = "_h4 _du";
|
|
110
110
|
//#endregion
|
|
111
111
|
//#region src/tags/prompt-dialog.css.ts
|
|
112
|
-
var promptDlg = "
|
|
113
|
-
var item$1 = "
|
|
114
|
-
var glance = "
|
|
112
|
+
var promptDlg = "_b8 _b4";
|
|
113
|
+
var item$1 = "_b0 _D";
|
|
114
|
+
var glance = "_ee _D";
|
|
115
115
|
//#endregion
|
|
116
116
|
//#region src/tags/side-nav.css.ts
|
|
117
|
-
var iconBtn = "
|
|
118
|
-
var settingsDot = "
|
|
119
|
-
var notifyBtn = "
|
|
117
|
+
var iconBtn = "_b9 _D";
|
|
118
|
+
var settingsDot = "_b_ _bQ";
|
|
119
|
+
var notifyBtn = "_ce _D";
|
|
120
120
|
//#endregion
|
|
121
121
|
//#region src/styles/session-pop.css.ts
|
|
122
|
-
var sessionPop = "
|
|
123
|
-
var sessionPopBtn = "
|
|
124
|
-
var wsBtn = "
|
|
125
|
-
var rowIcon = "
|
|
126
|
-
var prChip = "
|
|
122
|
+
var sessionPop = "_cg _bN";
|
|
123
|
+
var sessionPopBtn = "_ch _bk";
|
|
124
|
+
var wsBtn = "_fT _bk";
|
|
125
|
+
var rowIcon = "_fV _bF _D";
|
|
126
|
+
var prChip = "_mP _M _mJ";
|
|
127
127
|
//#endregion
|
|
128
128
|
//#region src/tags/port-chip.css.ts
|
|
129
|
-
var port = "
|
|
129
|
+
var port = "_og _M _mJ";
|
|
130
130
|
var depth = {
|
|
131
|
-
"1": "
|
|
132
|
-
"2": "
|
|
133
|
-
"3": "
|
|
131
|
+
"1": "_k8",
|
|
132
|
+
"2": "_k9",
|
|
133
|
+
"3": "_k_"
|
|
134
134
|
};
|
|
135
|
-
var open = "
|
|
136
|
-
var action = "
|
|
137
|
-
var toggle = "
|
|
138
|
-
var fold = "
|
|
135
|
+
var open = "_lf _bk";
|
|
136
|
+
var action = "_lk _bI _D";
|
|
137
|
+
var toggle = "_d3 _6";
|
|
138
|
+
var fold = "_d4 _dH";
|
|
139
139
|
var statusOf = {
|
|
140
|
-
queued: "
|
|
141
|
-
starting: "
|
|
142
|
-
working: "
|
|
143
|
-
waiting: "
|
|
144
|
-
idle: "
|
|
145
|
-
done: "
|
|
146
|
-
closed: "
|
|
140
|
+
queued: "_ms",
|
|
141
|
+
starting: "_mt",
|
|
142
|
+
working: "_mu",
|
|
143
|
+
waiting: "_mv",
|
|
144
|
+
idle: "_mw",
|
|
145
|
+
done: "_mx",
|
|
146
|
+
closed: "_my"
|
|
147
147
|
};
|
|
148
|
-
var item = "
|
|
149
|
-
var menu = "
|
|
150
|
-
var menuItem = "
|
|
151
|
-
var findBtn$1 = "
|
|
152
|
-
var tool = "
|
|
153
|
-
var heldRefresh = "
|
|
154
|
-
var pop$1 = "
|
|
155
|
-
var fileFilter = "
|
|
156
|
-
var findInput = "
|
|
157
|
-
var keybarIconBtn = "
|
|
158
|
-
var input = "
|
|
159
|
-
var group = "
|
|
160
|
-
var hint$1 = "
|
|
161
|
-
var sheetDir = "
|
|
162
|
-
var upBtn = "
|
|
163
|
-
var findBtn = "
|
|
164
|
-
var goBtn = "
|
|
165
|
-
var note = "
|
|
148
|
+
var item = "_kg _bk";
|
|
149
|
+
var menu = "_nD _cg _bN";
|
|
150
|
+
var menuItem = "_nF _bk";
|
|
151
|
+
var findBtn$1 = "_ir _ic _bG _D";
|
|
152
|
+
var tool = "_ic _bG _D";
|
|
153
|
+
var heldRefresh = "_ik _M";
|
|
154
|
+
var pop$1 = "_m7 _cg _bN";
|
|
155
|
+
var fileFilter = "_oV _F";
|
|
156
|
+
var findInput = "_eD _F";
|
|
157
|
+
var keybarIconBtn = "_eM _bI _D";
|
|
158
|
+
var input = "_cv _F";
|
|
159
|
+
var group = "_cy _6";
|
|
160
|
+
var hint$1 = "_of _bp _3";
|
|
161
|
+
var sheetDir = "_n7 _bP";
|
|
162
|
+
var upBtn = "_jm _bG _D";
|
|
163
|
+
var findBtn = "_jq _ic _bG _D";
|
|
164
|
+
var goBtn = "_jr _ic _bG _D";
|
|
165
|
+
var note = "_ns _by";
|
|
166
166
|
//#endregion
|
|
167
167
|
//#region src/tags/manage-workspace.css.ts
|
|
168
|
-
var procCmd = "
|
|
169
|
-
var factCopy = "
|
|
170
|
-
var resultRow = "
|
|
171
|
-
var resultBranch = "
|
|
172
|
-
var urlAction = "
|
|
173
|
-
var curRow = "
|
|
168
|
+
var procCmd = "_f7 _dT";
|
|
169
|
+
var factCopy = "_gd _bI _D";
|
|
170
|
+
var resultRow = "_kK _bk";
|
|
171
|
+
var resultBranch = "_kL _dY _bz _by _bF _D";
|
|
172
|
+
var urlAction = "_kM _dY _bz _by _dZ";
|
|
173
|
+
var curRow = "_gX _dN";
|
|
174
174
|
//#endregion
|
|
175
175
|
//#region src/tags/join-dialog.css.ts
|
|
176
|
-
var dlg = "
|
|
177
|
-
var hint = "
|
|
178
|
-
var kbtn = "
|
|
179
|
-
var repeat = "
|
|
180
|
-
var dpadUser = "
|
|
181
|
-
var dpadEsc = "
|
|
176
|
+
var dlg = "_lq _b4";
|
|
177
|
+
var hint = "_lr _by";
|
|
178
|
+
var kbtn = "_cQ _bH _D";
|
|
179
|
+
var repeat = "_cT _cS";
|
|
180
|
+
var dpadUser = "_cW _cS";
|
|
181
|
+
var dpadEsc = "_cX _cS";
|
|
182
182
|
//#endregion
|
|
183
183
|
export { field$2 as $, item as A, usageInk as At, wsBtn as B, fileFilter as C, iconBtnRow as Ct, findBtn$1 as D, prTone as Dt, tool as E, phaseIcon as Et, depth as F, settingsDot as G, sessionPopBtn as H, open as I, promptDlg as J, glance as K, port as L, fold as M, iconSize as Mt, toggle as N, mobile as Nt, menu as O, tone as Ot, action as P, sans as Pt, addTile as Q, prChip as R, keybarIconBtn as S, iconBtnLg as St, heldRefresh as T, inputLg as Tt, iconBtn as U, sessionPop as V, notifyBtn as W, themeSeg as X, checkList as Y, detailsToggle as Z, sheetDir as _, toastTitle as _t, dlg as a, name$4 as at, input as b, chipBtn as bt, resultBranch as c, spinner as ct, factCopy as d, list$3 as dt, key$1 as et, procCmd as f, metaChip as ft, upBtn as g, toastStack as gt, goBtn as h, toastKind as ht, repeat as i, desc$1 as it, statusOf as j, color as jt, menuItem as k, usageFill as kt, resultRow as l, usageNote as lt, findBtn as m, tocDot as mt, dpadUser as n, labelField as nt, hint as o, toolLead as ot, note as p, agentRow as pt, item$1 as q, kbtn as r, addDlg as rt, curRow as s, pop$2 as st, dpadEsc as t, keyField as tt, urlAction as u, sectionCount as ut, hint$1 as v, btnLg as vt, pop$1 as w, iconBtnXs as wt, findInput as x, glyphBadgeNum as xt, group as y, btnSm as yt, rowIcon as z };
|