@dylanpiercey/work 0.2.21 → 0.2.23
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 +20 -7
- package/dist/_3WL0MEoE.js +2 -0
- package/dist/{_D4MBRSvk.js → _BP10DXdw.js} +18 -3
- package/dist/_C-_VrC1a.js +2 -0
- package/dist/{_D2c8RJYx.js → _CH7XwofV.js} +52 -7
- package/dist/{_ChI2bucF.js → _DO9OMk3f.js} +113 -113
- package/dist/index.mjs +905 -862
- package/dist/public/assets/_-0Eyu-3q.js +1 -0
- package/dist/public/assets/{_7GQ1l7sx.js → _2e9Z9MM6.js} +1 -1
- package/dist/public/assets/_2e9Z9MM6.js.br +0 -0
- package/dist/public/assets/{_oz27bk8p.js → _3Xicw2WL.js} +1 -1
- package/dist/public/assets/_3Xicw2WL.js.br +0 -0
- package/dist/public/assets/_4Z1a8Ij3.js +1 -0
- package/dist/public/assets/_715dkwKP.js +1 -0
- package/dist/public/assets/_7UinoV0s.js +1 -0
- package/dist/public/assets/{_DuaHQLSY.js → _8KxeKAUB.js} +1 -1
- package/dist/public/assets/_8KxeKAUB.js.br +0 -0
- package/dist/public/assets/{_CLf29XSp.js → _9eeKAWaJ.js} +1 -1
- package/dist/public/assets/_9eeKAWaJ.js.br +0 -0
- package/dist/public/assets/{_DtP6T0Qs.js → _AljYgxJJ.js} +4 -4
- package/dist/public/assets/_AljYgxJJ.js.br +0 -0
- package/dist/public/assets/_B0YzxlGM.js +1 -0
- package/dist/public/assets/{_BUYhsvxh.js → _B2CZPWYS.js} +1 -1
- package/dist/public/assets/_B2CZPWYS.js.br +0 -0
- package/dist/public/assets/{_Bk8Ggq5-.js → _B2tEWD3x.js} +1 -1
- package/dist/public/assets/{_BYAIloss.js → _B2wUlooE.js} +1 -1
- package/dist/public/assets/_B2wUlooE.js.br +0 -0
- package/dist/public/assets/_B4vYQQiL.js +1 -0
- package/dist/public/assets/{_gNcK1gjL.js → _B6-21mR9.js} +1 -1
- package/dist/public/assets/_B6-21mR9.js.br +0 -0
- package/dist/public/assets/{_D1eeoDTu.js → _B6SXV8eS.js} +1 -1
- package/dist/public/assets/_B6SXV8eS.js.br +0 -0
- package/dist/public/assets/_B6xSkcwp.js +1 -0
- package/dist/public/assets/{_BIFenNek.js → _B9KgZxWX.js} +1 -1
- package/dist/public/assets/_B9KgZxWX.js.br +0 -0
- package/dist/public/assets/{_BBa2z28B.js → _B9MjzXTY.js} +1 -1
- package/dist/public/assets/_B9MjzXTY.js.br +0 -0
- package/dist/public/assets/_BB0g5CWg.js +1 -0
- package/dist/public/assets/{_UA84gjfG.js → _BCvEK_S1.js} +1 -1
- package/dist/public/assets/_BCvEK_S1.js.br +0 -0
- package/dist/public/assets/_BESMamQ6.js +1 -0
- package/dist/public/assets/{_CSJjeQ2T.js → _BFSq5FbK.js} +1 -1
- package/dist/public/assets/_BFSq5FbK.js.br +0 -0
- package/dist/public/assets/{_BlDj9LAX.js → _BFsTfp9U.js} +1 -1
- package/dist/public/assets/_BFsTfp9U.js.br +0 -0
- package/dist/public/assets/{_BYRLA-dW.js → _BIRD6m5-.js} +1 -1
- package/dist/public/assets/_BIZeVZTO.js +1 -0
- package/dist/public/assets/_BPuPxsHl.js +1 -0
- package/dist/public/assets/{_Ij8bPUyH.js → _BQ2SL93x.js} +1 -1
- package/dist/public/assets/_BQ2SL93x.js.br +0 -0
- package/dist/public/assets/{_BzuJUSrq.js → _BQyRorRi.js} +1 -1
- package/dist/public/assets/_BQyRorRi.js.br +0 -0
- package/dist/public/assets/{_c-qsSFlV.js → _BR5fHF6-.js} +1 -1
- package/dist/public/assets/_BR5fHF6-.js.br +0 -0
- package/dist/public/assets/_BRZObQCT.js +1 -0
- package/dist/public/assets/_BU4RZzlX.js +1 -0
- package/dist/public/assets/_BXEEw77q.js +1 -0
- package/dist/public/assets/{_waOVbKBy.js → _BbCDfA1Z.js} +1 -1
- package/dist/public/assets/_BbCDfA1Z.js.br +0 -0
- package/dist/public/assets/{_vkQNoNgo.js → _BbFuKbff.js} +1 -1
- package/dist/public/assets/_BbFuKbff.js.br +0 -0
- package/dist/public/assets/{_Cfupsedr.js → _BbUlANx2.js} +1 -1
- package/dist/public/assets/_BbUlANx2.js.br +0 -0
- package/dist/public/assets/_BbX2VvGt.js +1 -0
- package/dist/public/assets/_BbXyl_G3.js +1 -0
- package/dist/public/assets/{_Cjbj13jO.js → _Bbto-P-m.js} +1 -1
- package/dist/public/assets/_Bbto-P-m.js.br +0 -0
- package/dist/public/assets/_Bc6_LHIY.js +1 -0
- package/dist/public/assets/_BdAMfsPW.js +1 -0
- package/dist/public/assets/_Bi9IhXe3.js +1 -0
- package/dist/public/assets/{_mSdir26q.js → _BjM98kSo.js} +1 -1
- package/dist/public/assets/_BjM98kSo.js.br +0 -0
- package/dist/public/assets/{_D4_n-0mW.js → _Bl52zm1g.js} +1 -1
- package/dist/public/assets/_Bl52zm1g.js.br +0 -0
- package/dist/public/assets/_BlOiVpAm.js +1 -0
- package/dist/public/assets/_Bng8tnwC.js +1 -0
- package/dist/public/assets/_Bng8tnwC.js.br +0 -0
- package/dist/public/assets/_BoNSuwXQ.js +1 -0
- package/dist/public/assets/{_DRTmj9TH.js → _Boip9445.js} +1 -1
- package/dist/public/assets/_Boip9445.js.br +0 -0
- package/dist/public/assets/{_BFwKmI_N.js → _Bpi7G8sc.js} +1 -1
- package/dist/public/assets/_Bpi7G8sc.js.br +0 -0
- package/dist/public/assets/_BpkMBavy.js +1 -0
- package/dist/public/assets/{_BcsCv88i.js → _Bs_6UdYG.js} +1 -1
- package/dist/public/assets/_Bs_6UdYG.js.br +0 -0
- package/dist/public/assets/{_maOaIkt7.js → _Bst6aD9R.js} +1 -1
- package/dist/public/assets/_Bst6aD9R.js.br +0 -0
- package/dist/public/assets/_BvUeqEyu.js +1 -0
- package/dist/public/assets/_BwOPCIIj.js +1 -0
- package/dist/public/assets/{_CH9bw9am.js → _BwrVhAW8.js} +1 -1
- package/dist/public/assets/_BwrVhAW8.js.br +0 -0
- package/dist/public/assets/_BzCiOsBt.js +1 -0
- package/dist/public/assets/_C0Rfbdzu.js +1 -0
- package/dist/public/assets/_C0U717r8.js +1 -0
- package/dist/public/assets/_C0U717r8.js.br +0 -0
- package/dist/public/assets/_C0iup_zJ.js +1 -0
- package/dist/public/assets/_C1XYFppX.js +1 -0
- package/dist/public/assets/_C2AaihnJ.js +1 -0
- package/dist/public/assets/_C2AaihnJ.js.br +0 -0
- package/dist/public/assets/_C2PEJOz-.js +1 -0
- package/dist/public/assets/{_BIZTsyRb.js → _C5z7kaec.js} +1 -1
- package/dist/public/assets/_C5z7kaec.js.br +0 -0
- package/dist/public/assets/_C78kL-A4.js +1 -0
- package/dist/public/assets/_C78kL-A4.js.br +0 -0
- package/dist/public/assets/_C8HgfZ-G.js +1 -0
- package/dist/public/assets/{_DtTvqD6P.js → _C9lleT_X.js} +4 -4
- package/dist/public/assets/_C9lleT_X.js.br +0 -0
- package/dist/public/assets/_C9sI4T7z.js +1 -0
- package/dist/public/assets/{_CyL-kdgT.js → _CASUvUxu.js} +1 -1
- package/dist/public/assets/_CASUvUxu.js.br +0 -0
- package/dist/public/assets/_CDkn6R45.js +1 -0
- package/dist/public/assets/_CG4LMK_b.js +1 -0
- package/dist/public/assets/_CHDs386M.js +1 -0
- package/dist/public/assets/{_RFw6Nx5T.js → _CHJDi0SB.js} +1 -1
- package/dist/public/assets/_CHJDi0SB.js.br +0 -0
- package/dist/public/assets/{_CkFtsZjQ.js → _CH_I7YAr.js} +1 -1
- package/dist/public/assets/_CH_I7YAr.js.br +0 -0
- package/dist/public/assets/_CHkoAFw2.js +1 -0
- package/dist/public/assets/{_Ck7pAEbn.js → _CQ6D5ab8.js} +1 -1
- package/dist/public/assets/_CQ6D5ab8.js.br +0 -0
- package/dist/public/assets/_CRDPCoVa.js +1 -0
- package/dist/public/assets/_CRDPCoVa.js.br +0 -0
- package/dist/public/assets/{_BA03_q-y.js → _CUCvm9rx.js} +1 -1
- package/dist/public/assets/_CUCvm9rx.js.br +0 -0
- package/dist/public/assets/_C_0OUaMA.js +1 -0
- package/dist/public/assets/{_YUh2tPBd.js → _C_0j1O5C.js} +1 -1
- package/dist/public/assets/_C_0j1O5C.js.br +0 -0
- package/dist/public/assets/{_vrEdqivA.js → _C_3xJyRL.js} +1 -1
- package/dist/public/assets/_C_3xJyRL.js.br +0 -0
- package/dist/public/assets/_Ca-Ifnb6.js +1 -0
- package/dist/public/assets/{_CsGNOykB.js → _CbMfyunV.js} +1 -1
- package/dist/public/assets/_CbMfyunV.js.br +0 -0
- package/dist/public/assets/{_C640tDQf.js → _Cfa2NX5d.js} +1 -1
- package/dist/public/assets/_Cfa2NX5d.js.br +0 -0
- package/dist/public/assets/_ChTEX0cM.js +1 -0
- package/dist/public/assets/_CifJVXLk.js +1 -0
- package/dist/public/assets/_Cj4sa2SS.js +1 -0
- package/dist/public/assets/{_DiprQjpN.js → _CjsSLC0g.js} +1 -1
- package/dist/public/assets/_CjsSLC0g.js.br +0 -0
- package/dist/public/assets/_Ckxbq9SL.js +1 -0
- package/dist/public/assets/{_BgvqVgPM.js → _ClG_j4xr.js} +1 -1
- package/dist/public/assets/_ClG_j4xr.js.br +0 -0
- package/dist/public/assets/_Cltfu6Pv.js +1 -0
- package/dist/public/assets/{_BkfWuvuV.js → _CnH0rix1.js} +1 -1
- package/dist/public/assets/_CnH0rix1.js.br +0 -0
- package/dist/public/assets/{_CVZMUsZa.js → _CpDEZuGQ.js} +1 -1
- package/dist/public/assets/_CpDEZuGQ.js.br +0 -0
- package/dist/public/assets/{_DDzF_HKK.js → _CpvtxBVs.js} +1 -1
- package/dist/public/assets/_CpvtxBVs.js.br +0 -0
- package/dist/public/assets/_Cqs9Vly6.js +1 -0
- package/dist/public/assets/_Cu6Z-VK5.js +1 -0
- package/dist/public/assets/_CubPlYII.js +1 -0
- package/dist/public/assets/{_CxVvYDtS.js → _CucvPdsb.js} +1 -1
- package/dist/public/assets/_CucvPdsb.js.br +0 -0
- package/dist/public/assets/_CxKVsyCi.js +1 -0
- package/dist/public/assets/{_DwGQe611.js → _CxTYewqI.js} +1 -1
- package/dist/public/assets/_CxTYewqI.js.br +0 -0
- package/dist/public/assets/{_DErtgeIr.js → _CxUvIsRb.js} +1 -1
- package/dist/public/assets/_CxUvIsRb.js.br +0 -0
- package/dist/public/assets/{_lkg74XVz.js → _Cyr17plE.js} +1 -1
- package/dist/public/assets/_Cyr17plE.js.br +0 -0
- package/dist/public/assets/_CyyT8rkB.js +1 -0
- package/dist/public/assets/{_Bmbd0VHt.js → _CzpmgXcV.js} +1 -1
- package/dist/public/assets/_CzpmgXcV.js.br +0 -0
- package/dist/public/assets/{_DwywWG3y.js → _D1Jv_kr_.js} +1 -1
- package/dist/public/assets/_D1Jv_kr_.js.br +0 -0
- package/dist/public/assets/{_BizVDqf8.js → _D1ciZeGT.js} +1 -1
- package/dist/public/assets/{_BICa3xdD.js → _D3jDpdxv.js} +2 -2
- package/dist/public/assets/_D3jDpdxv.js.br +0 -0
- package/dist/public/assets/{_Bce4ghWU.js → _D5HJCWAS.js} +1 -1
- package/dist/public/assets/_D5HJCWAS.js.br +0 -0
- package/dist/public/assets/_D5SXqPAn.js +2 -0
- package/dist/public/assets/_D5SXqPAn.js.br +0 -0
- package/dist/public/assets/{_Cl4-TcfE.js → _D61TggXx.js} +1 -1
- package/dist/public/assets/_D61TggXx.js.br +0 -0
- package/dist/public/assets/{_C58IJd_X.js → _D7BmU9jX.js} +1 -1
- package/dist/public/assets/_D7BmU9jX.js.br +0 -0
- package/dist/public/assets/_DApV52fY.js +1 -0
- package/dist/public/assets/_DB2Kdr4y.js +1 -0
- package/dist/public/assets/{_puLINbut.js → _DCDb8Wln.js} +1 -1
- package/dist/public/assets/_DCDb8Wln.js.br +0 -0
- package/dist/public/assets/{_pWJ2zOe1.js → _DD2AFw8S.js} +6 -6
- package/dist/public/assets/_DD2AFw8S.js.br +0 -0
- package/dist/public/assets/{_DRLwtZUR.js → _DF0vyUVa.js} +1 -1
- package/dist/public/assets/_DF0vyUVa.js.br +0 -0
- package/dist/public/assets/_DFEkaMbr.js +1 -0
- package/dist/public/assets/{_DOdGN8S4.js → _DFkwgw5S.js} +1 -1
- package/dist/public/assets/_DFkwgw5S.js.br +0 -0
- package/dist/public/assets/_DFo67XgP.js +1 -0
- package/dist/public/assets/_DGsw4H2M.js +1 -0
- package/dist/public/assets/{_AG2JmsQz.js → _DI6LeGDm.js} +1 -1
- package/dist/public/assets/_DI6LeGDm.js.br +0 -0
- package/dist/public/assets/{_C5zDywEl.js → _DIsnChjr.js} +1 -1
- package/dist/public/assets/_DIsnChjr.js.br +0 -0
- package/dist/public/assets/_DJTRJj-h.js +1 -0
- package/dist/public/assets/_DKBbqYPL.js +1 -0
- package/dist/public/assets/_DPRhxOWF.js +1 -0
- package/dist/public/assets/_DQvLw2U5.js +1 -0
- package/dist/public/assets/_DRZeUvRm.js +1 -0
- package/dist/public/assets/{_C08Yvl87.js → _DSo3sJnf.js} +1 -1
- package/dist/public/assets/_DSo3sJnf.js.br +0 -0
- package/dist/public/assets/_DVOhKTgm.js +1 -0
- package/dist/public/assets/_DYeDTaIo.js +1 -0
- package/dist/public/assets/{_Bsq9keoe.js → _DcknyDC4.js} +1 -1
- package/dist/public/assets/_DcknyDC4.js.br +0 -0
- package/dist/public/assets/{_CaNdac_8.js → _DevBbWJs.js} +1 -1
- package/dist/public/assets/_DevBbWJs.js.br +0 -0
- package/dist/public/assets/{_DdYu7WPn.js → _DfIK4Mnj.js} +1 -1
- package/dist/public/assets/_DfIK4Mnj.js.br +0 -0
- package/dist/public/assets/{_xClsbTiz.js → _DgHcy7hI.js} +1 -1
- package/dist/public/assets/_DgHcy7hI.js.br +0 -0
- package/dist/public/assets/{_CDjIrVlP.js → _DhZ4Qt44.js} +1 -1
- package/dist/public/assets/_DhZ4Qt44.js.br +0 -0
- package/dist/public/assets/{_P3IdziH9.js → _DoZ-7Jy6.js} +1 -1
- package/dist/public/assets/_Dt-A7mwG.js +1 -0
- package/dist/public/assets/{_R03vQ_v0.js → _Du-DcOhk.js} +1 -1
- package/dist/public/assets/_Du-DcOhk.js.br +0 -0
- package/dist/public/assets/{_P_Cq2but.js → _DvbvghoV.js} +1 -1
- package/dist/public/assets/_DvbvghoV.js.br +0 -0
- package/dist/public/assets/{_Bg6bkAHS.js → _Dwyc6bRa.js} +66 -66
- package/dist/public/assets/_Dwyc6bRa.js.br +0 -0
- package/dist/public/assets/_DwzeKYSE.js +1 -0
- package/dist/public/assets/{_C_iT3nzY.js → _DxF4ucDw.js} +1 -1
- package/dist/public/assets/_DxF4ucDw.js.br +0 -0
- package/dist/public/assets/_DxMWHt7K.js +1 -0
- package/dist/public/assets/{_BFRiYaJJ.js → _DxiVjunP.js} +1 -1
- package/dist/public/assets/_DxiVjunP.js.br +0 -0
- package/dist/public/assets/_Dy50hbIb.js +1 -0
- package/dist/public/assets/{_yEwkwRQh.js → _Dzpo_Ud7.js} +1 -1
- package/dist/public/assets/_Dzpo_Ud7.js.br +0 -0
- package/dist/public/assets/_DzxpMadr.js +1 -0
- package/dist/public/assets/{_uifx05bO.js → _FGJgblgn.js} +1 -1
- package/dist/public/assets/_FGJgblgn.js.br +0 -0
- package/dist/public/assets/{_Bdmof7vZ.js → _NnffRoc6.js} +1 -1
- package/dist/public/assets/_NnffRoc6.js.br +0 -0
- package/dist/public/assets/{_CXb8mRib.js → _OHBl9NcR.js} +1 -1
- package/dist/public/assets/_OHBl9NcR.js.br +0 -0
- package/dist/public/assets/_RmHa6aJ2.js +1 -0
- package/dist/public/assets/{_DhVfuzvb.js → _TR6AqaBU.js} +1 -1
- package/dist/public/assets/_TWgaAWwG.js +1 -0
- package/dist/public/assets/_TqpL01Nl.js +1 -0
- package/dist/public/assets/_UAqAJRpT.js +1 -0
- package/dist/public/assets/_UepRpR4u.js +1 -0
- package/dist/public/assets/{_73_5-rCS.js → _VH_bqNB1.js} +1 -1
- package/dist/public/assets/_VH_bqNB1.js.br +0 -0
- package/dist/public/assets/{_zjCzqshZ.js → _WindxScJ.js} +1 -1
- package/dist/public/assets/_WindxScJ.js.br +0 -0
- package/dist/public/assets/{_vK3Svg3Y.js → _WtQ6J4Mo.js} +1 -1
- package/dist/public/assets/_WtQ6J4Mo.js.br +0 -0
- package/dist/public/assets/{_CDxca_Y6.js → _XXkAKgZ7.js} +1 -1
- package/dist/public/assets/_XXkAKgZ7.js.br +0 -0
- package/dist/public/assets/{_CerICoJl.js → _YLuZLTTM.js} +1 -1
- package/dist/public/assets/_YLuZLTTM.js.br +0 -0
- package/dist/public/assets/{_NdzBn2sR.js → _Yq5SUSlf.js} +1 -1
- package/dist/public/assets/_Yq5SUSlf.js.br +0 -0
- package/dist/public/assets/_aAUi4sbm.js +1 -0
- package/dist/public/assets/_bXi6o1js.js +1 -0
- package/dist/public/assets/{_BHNeaYnj.js → _dARagzCQ.js} +1 -1
- package/dist/public/assets/_dARagzCQ.js.br +0 -0
- package/dist/public/assets/{_Bvx-j57v.js → _evvxGavk.js} +1 -1
- package/dist/public/assets/_evvxGavk.js.br +0 -0
- package/dist/public/assets/_ha9E7ACr.js +1 -0
- package/dist/public/assets/_lIAaaspx.js +1 -0
- package/dist/public/assets/{_BkzIkssa.js → _mLe87zDJ.js} +1 -1
- package/dist/public/assets/_mLe87zDJ.js.br +0 -0
- package/dist/public/assets/_nXg6Xaig.js +1 -0
- package/dist/public/assets/_oVwo-CKH.js +1 -0
- package/dist/public/assets/_pZ5t2tqj.js +1 -0
- package/dist/public/assets/_sKA1PW7F.js +1 -0
- package/dist/public/assets/{_STdNaT6y.js → _tF0tJUsH.js} +1 -1
- package/dist/public/assets/_tF0tJUsH.js.br +0 -0
- package/dist/public/assets/_tqX_IDo4.js +1 -0
- package/dist/public/assets/{_C9iToy9b.js → _uG7etKp_.js} +1 -1
- package/dist/public/assets/_uG7etKp_.js.br +0 -0
- package/dist/public/assets/{_kVP48xNg.js → _vziCLlGc.js} +1 -1
- package/dist/public/assets/_vziCLlGc.js.br +0 -0
- package/dist/public/assets/_ynoVlcCc.js +1 -0
- package/dist/public/assets/_zAIcGT5y.js +1 -0
- package/dist/public/assets/{_5Ph1wNdv.js → _zYCyOTm7.js} +1 -1
- package/dist/public/assets/_zYCyOTm7.js.br +0 -0
- package/dist/public/assets/files-view-Da3r7fHJ.js +2 -0
- package/dist/public/assets/manage-workspace-Bqx4qDoW.js +2 -0
- package/dist/public/assets/new-CzQ2dQdR.js +1 -0
- package/dist/public/assets/new-workspace-D9c8THfn.js +2 -0
- package/dist/public/assets/review-view-QbHMuVZ-.js +2 -0
- package/dist/public/assets/settings-CzQ2dQdR.js +1 -0
- package/dist/public/assets/settings-page-Dg73kLsW.js +2 -0
- package/dist/public/assets/styles-DoulbyUN.css +1 -0
- package/dist/public/assets/styles-DoulbyUN.css.br +0 -0
- package/dist/public/assets/w-CzQ2dQdR.js +1 -0
- package/dist/public/assets/w._-CmEiXp7-.js +1 -0
- package/dist/public/assets/w._-CzQ2dQdR.js +1 -0
- package/dist/public/assets/w._-DGKNxZFB.js +1 -0
- package/package.json +1 -1
- package/dist/_CwRrg_5F.js +0 -2
- package/dist/_D_EchrLM.js +0 -2
- package/dist/public/assets/_0_tMiE7f.js +0 -1
- package/dist/public/assets/_5Ph1wNdv.js.br +0 -0
- package/dist/public/assets/_73_5-rCS.js.br +0 -0
- package/dist/public/assets/_7GQ1l7sx.js.br +0 -0
- package/dist/public/assets/_7k6uqsTc.js +0 -1
- package/dist/public/assets/_A-HJRoUO.js +0 -1
- package/dist/public/assets/_AG2JmsQz.js.br +0 -0
- package/dist/public/assets/_B-imOnRL.js +0 -1
- package/dist/public/assets/_B0RaDdiN.js +0 -1
- package/dist/public/assets/_B2I37jlY.js +0 -1
- package/dist/public/assets/_B2W_RvT4.js +0 -1
- package/dist/public/assets/_B3CzJbQp.js +0 -1
- package/dist/public/assets/_B8r95K43.js +0 -1
- package/dist/public/assets/_BA03_q-y.js.br +0 -0
- package/dist/public/assets/_BBa2z28B.js.br +0 -0
- package/dist/public/assets/_BByqToGp.js +0 -1
- package/dist/public/assets/_BDeHik-b.js +0 -1
- package/dist/public/assets/_BDeHik-b.js.br +0 -0
- package/dist/public/assets/_BFRiYaJJ.js.br +0 -0
- package/dist/public/assets/_BFwKmI_N.js.br +0 -0
- package/dist/public/assets/_BHNeaYnj.js.br +0 -0
- package/dist/public/assets/_BICa3xdD.js.br +0 -0
- package/dist/public/assets/_BIFenNek.js.br +0 -0
- package/dist/public/assets/_BIZTsyRb.js.br +0 -0
- package/dist/public/assets/_BIa9L_Jp.js +0 -1
- package/dist/public/assets/_BMzbHEFm.js +0 -1
- package/dist/public/assets/_BN97aa7P.js +0 -1
- package/dist/public/assets/_BN97aa7P.js.br +0 -0
- package/dist/public/assets/_BNwDgGuR.js +0 -1
- package/dist/public/assets/_BOUZTVjf.js +0 -1
- package/dist/public/assets/_BPz4j7rE.js +0 -1
- package/dist/public/assets/_BTIm72sB.js +0 -1
- package/dist/public/assets/_BUYhsvxh.js.br +0 -0
- package/dist/public/assets/_BXJTxGED.js +0 -1
- package/dist/public/assets/_BY0If-li.js +0 -1
- package/dist/public/assets/_BYAIloss.js.br +0 -0
- package/dist/public/assets/_Bce4ghWU.js.br +0 -0
- package/dist/public/assets/_BcsCv88i.js.br +0 -0
- package/dist/public/assets/_Bdmof7vZ.js.br +0 -0
- package/dist/public/assets/_BfZCi5tl.js +0 -1
- package/dist/public/assets/_Bg6bkAHS.js.br +0 -0
- package/dist/public/assets/_BgvqVgPM.js.br +0 -0
- package/dist/public/assets/_BkfWuvuV.js.br +0 -0
- package/dist/public/assets/_BkzIkssa.js.br +0 -0
- package/dist/public/assets/_BlDj9LAX.js.br +0 -0
- package/dist/public/assets/_BlMnx5Na.js +0 -1
- package/dist/public/assets/_Bmbd0VHt.js.br +0 -0
- package/dist/public/assets/_BmrjESDR.js +0 -1
- package/dist/public/assets/_Bo-ZmKi7.js +0 -1
- package/dist/public/assets/_BoQkVIQr.js +0 -1
- package/dist/public/assets/_BoRKAxyI.js +0 -1
- package/dist/public/assets/_BqIUSM2Y.js +0 -1
- package/dist/public/assets/_BrEXuoKx.js +0 -1
- package/dist/public/assets/_Bsq9keoe.js.br +0 -0
- package/dist/public/assets/_Bvx-j57v.js.br +0 -0
- package/dist/public/assets/_BzqqrLsh.js +0 -1
- package/dist/public/assets/_BzuJUSrq.js.br +0 -0
- package/dist/public/assets/_C08Yvl87.js.br +0 -0
- package/dist/public/assets/_C1JmLCpr.js +0 -1
- package/dist/public/assets/_C1JmLCpr.js.br +0 -0
- package/dist/public/assets/_C58IJd_X.js.br +0 -0
- package/dist/public/assets/_C5zDywEl.js.br +0 -0
- package/dist/public/assets/_C640tDQf.js.br +0 -0
- package/dist/public/assets/_C9iToy9b.js.br +0 -0
- package/dist/public/assets/_CDjIrVlP.js.br +0 -0
- package/dist/public/assets/_CDxca_Y6.js.br +0 -0
- package/dist/public/assets/_CEW7bDu1.js +0 -1
- package/dist/public/assets/_CH9bw9am.js.br +0 -0
- package/dist/public/assets/_CHHsqkCg.js +0 -1
- package/dist/public/assets/_CI27TAPs.js +0 -1
- package/dist/public/assets/_CK6szfVl.js +0 -1
- package/dist/public/assets/_CL0Zklna.js +0 -1
- package/dist/public/assets/_CLf29XSp.js.br +0 -0
- package/dist/public/assets/_CQ5mzxP3.js +0 -1
- package/dist/public/assets/_CSJjeQ2T.js.br +0 -0
- package/dist/public/assets/_CVZMUsZa.js.br +0 -0
- package/dist/public/assets/_CXTzKJ7b.js +0 -1
- package/dist/public/assets/_CXb8mRib.js.br +0 -0
- package/dist/public/assets/_CXg0iofG.js +0 -1
- package/dist/public/assets/_CYfTE2mK.js +0 -1
- package/dist/public/assets/_CYjOt5W9.js +0 -1
- package/dist/public/assets/_CZuGGG4i.js +0 -1
- package/dist/public/assets/_C_iT3nzY.js.br +0 -0
- package/dist/public/assets/_CaNdac_8.js.br +0 -0
- package/dist/public/assets/_CaiQP-gC.js +0 -1
- package/dist/public/assets/_Cdn3JBI2.js +0 -1
- package/dist/public/assets/_CdnnYSkh.js +0 -1
- package/dist/public/assets/_CerICoJl.js.br +0 -0
- package/dist/public/assets/_CfnM74sI.js +0 -1
- package/dist/public/assets/_Cfupsedr.js.br +0 -0
- package/dist/public/assets/_ChTIOm8i.js +0 -1
- package/dist/public/assets/_ChqCBy1f.js +0 -1
- package/dist/public/assets/_CiorUJIA.js +0 -1
- package/dist/public/assets/_Cjbj13jO.js.br +0 -0
- package/dist/public/assets/_Ck1wrcUI.js +0 -1
- package/dist/public/assets/_Ck7pAEbn.js.br +0 -0
- package/dist/public/assets/_CkFtsZjQ.js.br +0 -0
- package/dist/public/assets/_Cl4-TcfE.js.br +0 -0
- package/dist/public/assets/_CoqRYp5v.js +0 -1
- package/dist/public/assets/_CqpW3h-I.js +0 -1
- package/dist/public/assets/_CsGNOykB.js.br +0 -0
- package/dist/public/assets/_Ctnz7WWJ.js +0 -1
- package/dist/public/assets/_CxVvYDtS.js.br +0 -0
- package/dist/public/assets/_CxyIt6f7.js +0 -1
- package/dist/public/assets/_CyL-kdgT.js.br +0 -0
- package/dist/public/assets/_CzJ9InTW.js +0 -1
- package/dist/public/assets/_D1eeoDTu.js.br +0 -0
- package/dist/public/assets/_D4CDV27H.js +0 -1
- package/dist/public/assets/_D4_n-0mW.js.br +0 -0
- package/dist/public/assets/_D4cLcNV3.js +0 -1
- package/dist/public/assets/_DAyjzJQh.js +0 -1
- package/dist/public/assets/_DDzF_HKK.js.br +0 -0
- package/dist/public/assets/_DErtgeIr.js.br +0 -0
- package/dist/public/assets/_DFfExL2u.js +0 -1
- package/dist/public/assets/_DFrz22tm.js +0 -1
- package/dist/public/assets/_DHa_6Ojs.js +0 -1
- package/dist/public/assets/_DJOP49xX.js +0 -1
- package/dist/public/assets/_DK8uOd3E.js +0 -1
- package/dist/public/assets/_DOdGN8S4.js.br +0 -0
- package/dist/public/assets/_DRLwtZUR.js.br +0 -0
- package/dist/public/assets/_DRTmj9TH.js.br +0 -0
- package/dist/public/assets/_DSzLnpML.js +0 -1
- package/dist/public/assets/_DUKPsBJp.js +0 -1
- package/dist/public/assets/_DVYTGzTu.js +0 -2
- package/dist/public/assets/_DVYTGzTu.js.br +0 -0
- package/dist/public/assets/_DVmN6ae4.js +0 -1
- package/dist/public/assets/_DWA6owFW.js +0 -1
- package/dist/public/assets/_DdYu7WPn.js.br +0 -0
- package/dist/public/assets/_Df7MvCAw.js +0 -1
- package/dist/public/assets/_DgOj7Cbi.js +0 -1
- package/dist/public/assets/_DiprQjpN.js.br +0 -0
- package/dist/public/assets/_DnlLdQgB.js +0 -1
- package/dist/public/assets/_DsnvOSuz.js +0 -1
- package/dist/public/assets/_Dt3XHRda.js +0 -1
- package/dist/public/assets/_DtP6T0Qs.js.br +0 -0
- package/dist/public/assets/_DtTvqD6P.js.br +0 -0
- package/dist/public/assets/_DuaHQLSY.js.br +0 -0
- package/dist/public/assets/_DvUlBhvt.js +0 -1
- package/dist/public/assets/_DwGQe611.js.br +0 -0
- package/dist/public/assets/_DwywWG3y.js.br +0 -0
- package/dist/public/assets/_IVFMD_0n.js +0 -1
- package/dist/public/assets/_Ij8bPUyH.js.br +0 -0
- package/dist/public/assets/_J6lHekiE.js +0 -1
- package/dist/public/assets/_NdzBn2sR.js.br +0 -0
- package/dist/public/assets/_O_eRw3B2.js +0 -1
- package/dist/public/assets/_P_Cq2but.js.br +0 -0
- package/dist/public/assets/_Qz67tpvL.js +0 -1
- package/dist/public/assets/_R03vQ_v0.js.br +0 -0
- package/dist/public/assets/_RFw6Nx5T.js.br +0 -0
- package/dist/public/assets/_STdNaT6y.js.br +0 -0
- package/dist/public/assets/_UA84gjfG.js.br +0 -0
- package/dist/public/assets/_WkGa-CtY.js +0 -1
- package/dist/public/assets/_YUh2tPBd.js.br +0 -0
- package/dist/public/assets/_ZyOQxLKv.js +0 -1
- package/dist/public/assets/_ZyOQxLKv.js.br +0 -0
- package/dist/public/assets/_c-qsSFlV.js.br +0 -0
- package/dist/public/assets/_dokDnQxT.js +0 -1
- package/dist/public/assets/_evDhQu9i.js +0 -1
- package/dist/public/assets/_gJS63N3S.js +0 -1
- package/dist/public/assets/_gNcK1gjL.js.br +0 -0
- package/dist/public/assets/_iRrqodg_.js +0 -1
- package/dist/public/assets/_kVP48xNg.js.br +0 -0
- package/dist/public/assets/_kzqXqxfV.js +0 -1
- package/dist/public/assets/_lkg74XVz.js.br +0 -0
- package/dist/public/assets/_mSdir26q.js.br +0 -0
- package/dist/public/assets/_maOaIkt7.js.br +0 -0
- package/dist/public/assets/_oz27bk8p.js.br +0 -0
- package/dist/public/assets/_pWJ2zOe1.js.br +0 -0
- package/dist/public/assets/_puLINbut.js.br +0 -0
- package/dist/public/assets/_u10cI9v9.js +0 -1
- package/dist/public/assets/_u10cI9v9.js.br +0 -0
- package/dist/public/assets/_uifx05bO.js.br +0 -0
- package/dist/public/assets/_vK3Svg3Y.js.br +0 -0
- package/dist/public/assets/_vatAiflQ.js +0 -1
- package/dist/public/assets/_vkQNoNgo.js.br +0 -0
- package/dist/public/assets/_vrEdqivA.js.br +0 -0
- package/dist/public/assets/_waOVbKBy.js.br +0 -0
- package/dist/public/assets/_xClsbTiz.js.br +0 -0
- package/dist/public/assets/_yEwkwRQh.js.br +0 -0
- package/dist/public/assets/_zjCzqshZ.js.br +0 -0
- package/dist/public/assets/files-view-LgAHHBkN.js +0 -2
- package/dist/public/assets/manage-workspace-GIrOdQfT.js +0 -2
- package/dist/public/assets/new-BnJGtHxA.js +0 -1
- package/dist/public/assets/new-workspace-D0_Bjnwr.js +0 -2
- package/dist/public/assets/review-view-EK5wo6mn.js +0 -2
- package/dist/public/assets/settings-BnJGtHxA.js +0 -1
- package/dist/public/assets/settings-page-fQ5vUGWY.js +0 -2
- package/dist/public/assets/styles-DJePZwKA.css +0 -1
- package/dist/public/assets/styles-DJePZwKA.css.br +0 -0
- package/dist/public/assets/w-BnJGtHxA.js +0 -1
- package/dist/public/assets/w._-6UqjOxF-.js +0 -1
- package/dist/public/assets/w._-B3lMtxDs.js +0 -1
- package/dist/public/assets/w._-BnJGtHxA.js +0 -1
package/bin/cli/session.mjs
CHANGED
|
@@ -20,6 +20,13 @@ function sessionId(ctx) {
|
|
|
20
20
|
return id;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
/** The agent asking, for the routes that hold one to its own workspace:
|
|
24
|
+
* `?by=<WORK_SESSION_ID>`, nothing from a terminal outside work. */
|
|
25
|
+
function by(sep = "?") {
|
|
26
|
+
const me = process.env.WORK_SESSION_ID;
|
|
27
|
+
return me ? `${sep}by=${encodeURIComponent(me)}` : "";
|
|
28
|
+
}
|
|
29
|
+
|
|
23
30
|
/** How long `wait` waits by default: inside an agent's own tool limit
|
|
24
31
|
* (ten minutes for most), so it ends saying who is still working rather
|
|
25
32
|
* than being killed. */
|
|
@@ -207,7 +214,10 @@ work session send <id> "<text>"|- [--no-reply]
|
|
|
207
214
|
or a draft someone is typing. From an agent's session it wants a reply
|
|
208
215
|
unless --no-reply: the recipient's last message as that turn ends,
|
|
209
216
|
typed into this session as a prompt of its own. End your turn to wait
|
|
210
|
-
for it. A file's path says more than its text pasted in.
|
|
217
|
+
for it. A file's path says more than its text pasted in. An agent in
|
|
218
|
+
another workspace (\`work session list <workspace>\`) can be messaged
|
|
219
|
+
when the user asks, and only while it runs; everything else here an
|
|
220
|
+
agent does in its own workspace only.
|
|
211
221
|
work session wait [<id>|<group>...] [--any] [--timeout <seconds>]
|
|
212
222
|
Wait for the replies owed to this session (by those sessions or groups,
|
|
213
223
|
else by any), printing each as it comes; a reply printed here is not
|
|
@@ -270,7 +280,7 @@ work session kill --done
|
|
|
270
280
|
case "title": {
|
|
271
281
|
const id = sessionId(ctx);
|
|
272
282
|
const title = rest.join(" ");
|
|
273
|
-
await ctx.api.patch(`/api/sessions/${id}`, { title });
|
|
283
|
+
await ctx.api.patch(`/api/sessions/${id}${by()}`, { title });
|
|
274
284
|
return ctx.out({ id, title: title || null }, () =>
|
|
275
285
|
console.log(
|
|
276
286
|
title ? `named ${id} "${title}"` : `cleared ${id}'s name`,
|
|
@@ -364,7 +374,7 @@ work session kill --done
|
|
|
364
374
|
const total = new Set(agents).size * (items.length || count);
|
|
365
375
|
const topic = ctx.flag("--topic");
|
|
366
376
|
const at = topic ? await topicDirs(ctx, topic, total) : null;
|
|
367
|
-
const g = await ctx.api.post(`/api/sessions/${me}/groups`, {
|
|
377
|
+
const g = await ctx.api.post(`/api/sessions/${me}/groups${by()}`, {
|
|
368
378
|
title: ctx.flag("--title") ?? "",
|
|
369
379
|
prompt,
|
|
370
380
|
agents,
|
|
@@ -404,7 +414,7 @@ work session kill --done
|
|
|
404
414
|
case "skip": {
|
|
405
415
|
const [member] = rest;
|
|
406
416
|
if (!member) ctx.die(`usage: work session ${verb} <member>`);
|
|
407
|
-
await ctx.api.post(`/api/members/${member}/${verb}`);
|
|
417
|
+
await ctx.api.post(`/api/members/${member}/${verb}${by()}`);
|
|
408
418
|
return ctx.out(
|
|
409
419
|
{ member, [verb === "retry" ? "retried" : "skipped"]: true },
|
|
410
420
|
() =>
|
|
@@ -440,7 +450,10 @@ work session kill --done
|
|
|
440
450
|
const replies = [];
|
|
441
451
|
let owing = [];
|
|
442
452
|
for (;;) {
|
|
443
|
-
const r = await ctx.api.post(
|
|
453
|
+
const r = await ctx.api.post(
|
|
454
|
+
`/api/sessions/${me}/replies${by()}`,
|
|
455
|
+
body,
|
|
456
|
+
);
|
|
444
457
|
replies.push(...r.replies);
|
|
445
458
|
if (!ctx.json) r.replies.forEach(printReply);
|
|
446
459
|
owing = r.owing;
|
|
@@ -471,7 +484,7 @@ work session kill --done
|
|
|
471
484
|
if (ctx.has("--done")) {
|
|
472
485
|
const me = sessionId(ctx);
|
|
473
486
|
const { closed } = await ctx.api.post(
|
|
474
|
-
`/api/sessions/${me}/close-done`,
|
|
487
|
+
`/api/sessions/${me}/close-done${by()}`,
|
|
475
488
|
);
|
|
476
489
|
return ctx.out({ closed }, () =>
|
|
477
490
|
console.log(
|
|
@@ -502,7 +515,7 @@ work session kill --done
|
|
|
502
515
|
);
|
|
503
516
|
}
|
|
504
517
|
const r = await ctx.api.del(
|
|
505
|
-
`/api/sessions/${id}${keep ?
|
|
518
|
+
`/api/sessions/${id}${keep ? `?children=keep${by("&")}` : by()}`,
|
|
506
519
|
);
|
|
507
520
|
const closed = r?.closed ?? [id];
|
|
508
521
|
return ctx.out({ id, killed: true, closed }, () =>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as onTurnEnd, Ft as isKnownAgent, L as activityOf, N as cleanSummary, Pt as getSetting, Q as onPhaseChange, R as agentPhase, T as sendToSession, U as lastTypedAt, V as hookReportedAt, Z as onFinished, a as createSession, b as notifySessionsChanged, bn as db, ct as turnSettling, d as getSession, et as sessionWatched, f as killSession, ft as agentLabel, g as listPanesWithin, nt as setExpecting, ot as summaryOf, pn as httpError, st as turnPhase, w as renameSession, x as onSessionDispose, xn as get, yn as all } from "./_CH7XwofV.js";
|
|
2
2
|
//#region src/server/messages.ts
|
|
3
3
|
var team = {
|
|
4
4
|
memberGroup: () => null,
|
|
@@ -83,9 +83,17 @@ function replyBody(session, message) {
|
|
|
83
83
|
if (message.length <= MAX_REPLY) return message;
|
|
84
84
|
return `${message.slice(0, MAX_REPLY)}\n\n[cut at ${MAX_REPLY} characters: the rest is in its tab, ${tab}]`;
|
|
85
85
|
}
|
|
86
|
+
/** How a sender is named where its message lands: with its workspace,
|
|
87
|
+
* when that is another. */
|
|
88
|
+
function senderLabel(from, to) {
|
|
89
|
+
const target = getSession(to);
|
|
90
|
+
if (!from.workspace_id || from.workspace_id === target?.workspace_id) return labelOf(from);
|
|
91
|
+
const ws = get("SELECT name FROM workspaces WHERE id = ?", from.workspace_id);
|
|
92
|
+
return `${labelOf(from)} in workspace ${ws?.name ?? from.workspace_id}`;
|
|
93
|
+
}
|
|
86
94
|
function insert(to, from, kind, body, wantsReply = false, groupId = null) {
|
|
87
95
|
return Number(db.prepare(`INSERT INTO session_messages (to_session, from_session, from_label, kind, body, wants_reply, group_id)
|
|
88
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)`).run(to, from?.id ?? null, from ?
|
|
96
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`).run(to, from?.id ?? null, from ? senderLabel(from, to) : null, kind, body, wantsReply ? 1 : 0, groupId).lastInsertRowid);
|
|
89
97
|
}
|
|
90
98
|
function deleteIds(ids) {
|
|
91
99
|
if (!ids.length) return;
|
|
@@ -190,6 +198,9 @@ async function sendMessage(to, text, opts = {}) {
|
|
|
190
198
|
if (text.length > MAX_BODY) throw httpError(413, `a message is at most ${MAX_BODY} characters: write the rest to a file and send its path`);
|
|
191
199
|
const sender = opts.from ? getSession(opts.from) : void 0;
|
|
192
200
|
const from = sender && sender.agent !== "shell" ? sender : null;
|
|
201
|
+
if (!!from && from.workspace_id !== target.workspace_id) {
|
|
202
|
+
if (!(await listPanesWithin(2e3))?.some((p) => p.id === to)) throw httpError(409, `${to} is not running: a message to another workspace goes only to an agent running there`);
|
|
203
|
+
}
|
|
193
204
|
if (from && !opts.member) admit(from.id);
|
|
194
205
|
if (!from && target.parent_id) db.prepare("UPDATE sessions SET keep = 1 WHERE id = ?").run(to);
|
|
195
206
|
const wantsReply = !!from && opts.reply !== false;
|
|
@@ -413,6 +424,10 @@ function createGroup(owner, input) {
|
|
|
413
424
|
kickPool();
|
|
414
425
|
return groupView(groupOf(id));
|
|
415
426
|
}
|
|
427
|
+
/** The workspace a member's group runs in. */
|
|
428
|
+
function memberWorkspace(memberId) {
|
|
429
|
+
return get("SELECT g.workspace_id FROM group_members m JOIN session_groups g ON g.id = m.group_id WHERE m.id = ?", memberId)?.workspace_id;
|
|
430
|
+
}
|
|
416
431
|
/** Rerun a member that closed: a fresh session with the same prompt. Its
|
|
417
432
|
* lead's word that it closed is taken back, so the group waits for it. */
|
|
418
433
|
function retryMember(memberId) {
|
|
@@ -727,4 +742,4 @@ function startTeam() {
|
|
|
727
742
|
kickPool();
|
|
728
743
|
}
|
|
729
744
|
//#endregion
|
|
730
|
-
export { kickPool as a,
|
|
745
|
+
export { kickPool as a, skipMember as c, teamsOf as d, messageStates as f, takeReplies as g, startMessages as h, createGroup as i, startTeam as l, sessionGone as m, closeDone as n, memberWorkspace as o, sendMessage as p, closeFinished as r, retryMember as s, clearGroup as t, teamOf as u };
|
|
@@ -8624,7 +8624,7 @@ function publishChange(sessionId) {
|
|
|
8624
8624
|
const row = get("SELECT workspace_id FROM sessions WHERE id = ?", sessionId);
|
|
8625
8625
|
if (row?.workspace_id) {
|
|
8626
8626
|
const workspaceId = row.workspace_id;
|
|
8627
|
-
import("./
|
|
8627
|
+
import("./_C-_VrC1a.js").then((m) => m.notifySessionsChanged(workspaceId));
|
|
8628
8628
|
return;
|
|
8629
8629
|
}
|
|
8630
8630
|
publish("sessions.changed");
|
|
@@ -8807,11 +8807,23 @@ function maskEmail(email) {
|
|
|
8807
8807
|
* — "why is claude2 from yesterday?" deserves an answer next to the number. */
|
|
8808
8808
|
var FetchFailed = class extends Error {
|
|
8809
8809
|
reason;
|
|
8810
|
-
|
|
8810
|
+
/** The wait a 429 asked for (`retry-after`), when it named one. */
|
|
8811
|
+
retryAfterMs;
|
|
8812
|
+
constructor(reason, retryAfterMs) {
|
|
8811
8813
|
super(reason);
|
|
8812
8814
|
this.reason = reason;
|
|
8815
|
+
this.retryAfterMs = retryAfterMs;
|
|
8813
8816
|
}
|
|
8814
8817
|
};
|
|
8818
|
+
/** `retry-after` as a wait in ms: seconds, or an HTTP date; none for 0,
|
|
8819
|
+
* which some providers send meaning nothing. */
|
|
8820
|
+
function retryAfter(res) {
|
|
8821
|
+
const raw = res.headers.get("retry-after");
|
|
8822
|
+
if (!raw) return void 0;
|
|
8823
|
+
const secs = Number(raw);
|
|
8824
|
+
const ms = Number.isFinite(secs) ? secs * 1e3 : Date.parse(raw) - Date.now();
|
|
8825
|
+
return ms > 0 ? ms : void 0;
|
|
8826
|
+
}
|
|
8815
8827
|
function httpReason(status) {
|
|
8816
8828
|
if (status === 401 || status === 403) return "auth expired";
|
|
8817
8829
|
if (status === 429) return "rate limited or auth expired";
|
|
@@ -8835,7 +8847,7 @@ async function fetchJson(url, init = {}) {
|
|
|
8835
8847
|
const code = typeof cause?.code === "string" ? cause.code : "";
|
|
8836
8848
|
throw new FetchFailed(code ? `network unreachable (${code})` : "network unreachable");
|
|
8837
8849
|
}
|
|
8838
|
-
if (!res.ok) throw new FetchFailed(httpReason(res.status));
|
|
8850
|
+
if (!res.ok) throw new FetchFailed(httpReason(res.status), res.status === 429 ? retryAfter(res) : void 0);
|
|
8839
8851
|
try {
|
|
8840
8852
|
return await res.json();
|
|
8841
8853
|
} catch {
|
|
@@ -8863,17 +8875,27 @@ function writeCache(key, payload) {
|
|
|
8863
8875
|
}));
|
|
8864
8876
|
} catch {}
|
|
8865
8877
|
}
|
|
8878
|
+
/** A provider that answered 429: not asked again before `until`, the wait
|
|
8879
|
+
* doubling with each one in a row (a minute, two, four… half an hour at
|
|
8880
|
+
* most) or what its `retry-after` named. Asked on the minute regardless, an
|
|
8881
|
+
* endpoint at its limit answered every ask with another 429. */
|
|
8882
|
+
var BACKOFF_MS = 6e4;
|
|
8883
|
+
var BACKOFF_MAX_MS = 18e5;
|
|
8884
|
+
var backoff = /* @__PURE__ */ new Map();
|
|
8866
8885
|
/** Live fetch, falling back to the last good payload on disk.
|
|
8867
8886
|
*
|
|
8868
8887
|
* There is no "cache is fresh enough, skip the fetch" branch: the page's own
|
|
8869
8888
|
* 60s stale-while-revalidate (server/usage/index.ts) already decides how often
|
|
8870
8889
|
* this runs, and a second TTL underneath it only makes the numbers older than
|
|
8871
|
-
* the page claims. */
|
|
8890
|
+
* the page claims — save while a provider is backing us off. */
|
|
8872
8891
|
async function loadPayload(key, live) {
|
|
8873
8892
|
let reason;
|
|
8874
|
-
|
|
8893
|
+
const held = backoff.get(key);
|
|
8894
|
+
if (held && Date.now() < held.until) reason = held.reason;
|
|
8895
|
+
else try {
|
|
8875
8896
|
const data = await live();
|
|
8876
8897
|
if (data) {
|
|
8898
|
+
backoff.delete(key);
|
|
8877
8899
|
writeCache(key, data);
|
|
8878
8900
|
return {
|
|
8879
8901
|
payload: data,
|
|
@@ -8882,6 +8904,15 @@ async function loadPayload(key, live) {
|
|
|
8882
8904
|
}
|
|
8883
8905
|
} catch (err) {
|
|
8884
8906
|
reason = err instanceof FetchFailed ? err.reason : "fetch failed";
|
|
8907
|
+
if (err instanceof FetchFailed && reason.startsWith("rate limited")) {
|
|
8908
|
+
const n = (held?.n ?? 0) + 1;
|
|
8909
|
+
const wait = Math.max(err.retryAfterMs ?? 0, Math.min(BACKOFF_MAX_MS, BACKOFF_MS * 2 ** (n - 1)));
|
|
8910
|
+
backoff.set(key, {
|
|
8911
|
+
n,
|
|
8912
|
+
until: Date.now() + wait,
|
|
8913
|
+
reason
|
|
8914
|
+
});
|
|
8915
|
+
}
|
|
8885
8916
|
}
|
|
8886
8917
|
const disk = readCache(key);
|
|
8887
8918
|
if (disk) return {
|
|
@@ -10645,6 +10676,20 @@ function listSessions(workspaceId) {
|
|
|
10645
10676
|
function getSession(id) {
|
|
10646
10677
|
return get("SELECT * FROM sessions WHERE id = ?", id);
|
|
10647
10678
|
}
|
|
10679
|
+
/** The agent a request is made for (the `WORK_SESSION_ID` the CLI sends
|
|
10680
|
+
* as `by`, `parent` or `from`), when it is one: a shell's is the user's. */
|
|
10681
|
+
function agentCaller(id) {
|
|
10682
|
+
const s = id ? getSession(id) : void 0;
|
|
10683
|
+
return s && s.agent !== "shell" ? s : void 0;
|
|
10684
|
+
}
|
|
10685
|
+
/** An agent runs sessions only in its own workspace — starts them, fans
|
|
10686
|
+
* out, closes, skips, retries, renames, takes their replies; another
|
|
10687
|
+
* workspace's it may only message, while running (\`sendMessage\`). The
|
|
10688
|
+
* user (the app, their own shell) is held to none of it. */
|
|
10689
|
+
function ownWorkspaceOnly(caller, workspaceId, what) {
|
|
10690
|
+
const agent = agentCaller(caller);
|
|
10691
|
+
if (agent && workspaceId && agent.workspace_id !== workspaceId) throw httpError(403, `an agent ${what} only in its own workspace: to reach one in another (when the user asks), message an agent running there with \`work session send\``);
|
|
10692
|
+
}
|
|
10648
10693
|
/** `ifEmpty` is a first open's auto-create: two pages mounting one empty
|
|
10649
10694
|
* workspace at once (restored tabs, a phone and a desktop) both list no
|
|
10650
10695
|
* sessions before either POST lands. The check and the insert run in one
|
|
@@ -10775,7 +10820,7 @@ function notifySessionsChanged(workspaceId) {
|
|
|
10775
10820
|
async function emitSessionsChanged(workspaceId) {
|
|
10776
10821
|
try {
|
|
10777
10822
|
const states = await sessionStates();
|
|
10778
|
-
const { teamsOf } = await import("./
|
|
10823
|
+
const { teamsOf } = await import("./_3WL0MEoE.js");
|
|
10779
10824
|
publish("sessions.changed", {
|
|
10780
10825
|
workspaceId,
|
|
10781
10826
|
sessions: listSessions(workspaceId).map((s) => ({
|
|
@@ -11236,4 +11281,4 @@ function sleep(ms) {
|
|
|
11236
11281
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
11237
11282
|
}
|
|
11238
11283
|
//#endregion
|
|
11239
|
-
export {
|
|
11284
|
+
export { onTurnEnd as $, untrackedCacheAllowed as $t, readHookPayload as A, shared as An, deleteSetting as At, hookPhase as B, discoverAgents as Bt, panePids as C, TMUX_SOCKET as Cn, sendPush as Ct, tmuxName as D, run$2 as Dn, agentChoices as Dt, sessionStates as E, gitEnv as En, WORKSPACE_PREFS as Et, realInside as F, isKnownAgent as Ft, noteBackground as G, setupPath as Gt, interruptedSinceReport as H, ghKnownHosts as Ht, realInsideSync as I, preferredAgent as It, noteTyped as J, which as Jt, noteInterrupt as K, stableGh as Kt, activityOf as L, setDisabledAgents as Lt, blankRow as M, withLock as Mn, disabledAgents as Mt, cleanSummary as N, enabledAgents as Nt, tmuxWasStarted as O, tmux as On, allPrefs as Ot, inside as P, getSetting as Pt, onPhaseChange as Q, unsetCaches as Qt, agentPhase as R, setPref as Rt, ownWorkspaceOnly as S, workspacePath as Sn, saveSubscription as St, sendToSession as T, git as Tn, PREF_MAX as Tt, lastTypedAt as U, miseInstalls as Ut, hookReportedAt as V, doctor as Vt, noteActivity as W, miseVersions as Wt, notifyEventOn as X, unreachableText as Xt, noteUserAnswered as Y, hostReach as Yt, onFinished as Z, enableUntrackedCache as Zt, listSessions as _, subscribe as _n, manifest as _t, createSession as a, agentLabel$1 as an, settleQuietWorking as at, notifySessionsChanged as b, db as bn, deleteSubscription as bt, disposeSessions as c, toolById as cn, turnSettling as ct, getSession as d, FRAME_HEADERS as dn, agentFromCommand as dt, firewallProbe as en, sessionWatched as et, killSession as f, checked as fn, agentLabel as ft, listPanesWithin as g, publishJson as gn, iconSvg as gt, listPanes as h, publish as hn, getInstance as ht, clearTmuxStarted as i, agentById as in, setSessionViewers as it, reportsWorking as j, swr as jn, deleteWorkspacePrefs as jt, AGENTS as k, config as kn, changePref as kt, ensureTmuxServer as l, applyPrefChange as ln, agentBadge as lt, launchDir as m, readBody as mn, ACCENT_RE as mt, beginCreation as n, PROJECT_TOOLS as nn, setExpecting as nt, creationOf as o, catalogPin as on, summaryOf as ot, killWorkspaceSessions as p, httpError as pn, agentMeta as pt, notePermissionMode as q, tilde as qt, cleanEnv as r, TOOLS as rn, setScrapedPhase as rt, descendantsOf as s, parseAgentId as sn, turnPhase as st, agentCaller as t, DEFAULT_GITHUB_HOST as tn, setAgentPhase as tt, forgetPanes as u, FRAME_ANCESTORS as un, agentFamily as ut, markTmuxStarted as v, subscriberCount as vn, normalizeAccent as vt, renameSession as w, gh as wn, validSubscription as wt, onSessionDispose as x, get as xn, pushPublicKey as xt, newSessionArgs as y, all as yn, setInstance as yt, clearAgentPhase as z, setSetting as zt };
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
var glyphBadgeNum = "
|
|
1
|
+
var glyphBadgeNum = "_p _o";
|
|
2
2
|
var usageInk = {
|
|
3
|
-
ok: "
|
|
4
|
-
mid: "
|
|
5
|
-
warm: "
|
|
6
|
-
hot: "
|
|
3
|
+
ok: "_q",
|
|
4
|
+
mid: "_r",
|
|
5
|
+
warm: "_s",
|
|
6
|
+
hot: "_t"
|
|
7
7
|
};
|
|
8
8
|
var usageFill = {
|
|
9
|
-
ok: "
|
|
10
|
-
mid: "
|
|
11
|
-
warm: "
|
|
12
|
-
hot: "
|
|
9
|
+
ok: "_u",
|
|
10
|
+
mid: "_v",
|
|
11
|
+
warm: "_w",
|
|
12
|
+
hot: "_x"
|
|
13
13
|
};
|
|
14
14
|
var prTone = {
|
|
15
|
-
open: "
|
|
16
|
-
draft: "
|
|
17
|
-
merged: "
|
|
18
|
-
closed: "
|
|
15
|
+
open: "_y",
|
|
16
|
+
draft: "_z",
|
|
17
|
+
merged: "_A",
|
|
18
|
+
closed: "_B"
|
|
19
19
|
};
|
|
20
20
|
var phaseIcon = {
|
|
21
|
-
working: "
|
|
22
|
-
waiting: "
|
|
23
|
-
idle: "
|
|
24
|
-
off: "
|
|
21
|
+
working: "_O _N",
|
|
22
|
+
waiting: "_P _N",
|
|
23
|
+
idle: "_Q _N",
|
|
24
|
+
off: "_R _N"
|
|
25
25
|
};
|
|
26
|
-
var btnSm = "
|
|
27
|
-
var btnLg = "
|
|
26
|
+
var btnSm = "_Y _i";
|
|
27
|
+
var btnLg = "_Z _i";
|
|
28
28
|
var tone = {
|
|
29
|
-
accent: "
|
|
30
|
-
ok: "
|
|
31
|
-
warn: "
|
|
32
|
-
danger: "
|
|
33
|
-
merged: "
|
|
34
|
-
closed: "
|
|
29
|
+
accent: "_3",
|
|
30
|
+
ok: "_4",
|
|
31
|
+
warn: "_5",
|
|
32
|
+
danger: "_6",
|
|
33
|
+
merged: "_7",
|
|
34
|
+
closed: "_8"
|
|
35
35
|
};
|
|
36
|
-
var inputLg = "
|
|
37
|
-
var iconBtnXs = "
|
|
38
|
-
var iconBtnRow = "
|
|
39
|
-
var iconBtnLg = "
|
|
40
|
-
var chipBtn = "
|
|
41
|
-
var toastStack = "
|
|
36
|
+
var inputLg = "_bb _ba";
|
|
37
|
+
var iconBtnXs = "_bf _d";
|
|
38
|
+
var iconBtnRow = "_bg _d";
|
|
39
|
+
var iconBtnLg = "_bh _d";
|
|
40
|
+
var chipBtn = "_bi _d";
|
|
41
|
+
var toastStack = "_bF _bE";
|
|
42
42
|
var toastKind = {
|
|
43
|
-
error: "
|
|
44
|
-
warn: "
|
|
45
|
-
info: "
|
|
43
|
+
error: "_bJ",
|
|
44
|
+
warn: "_bK",
|
|
45
|
+
info: "_bL"
|
|
46
46
|
};
|
|
47
47
|
var toastTitle = {
|
|
48
|
-
error: "
|
|
49
|
-
warn: "
|
|
50
|
-
info: "
|
|
48
|
+
error: "_bM",
|
|
49
|
+
warn: "_bN",
|
|
50
|
+
info: "_bO"
|
|
51
51
|
};
|
|
52
|
-
var tocDot = "
|
|
52
|
+
var tocDot = "_b8 _L";
|
|
53
53
|
//#endregion
|
|
54
54
|
//#region src/styles/tokens.css.ts
|
|
55
55
|
var color = {
|
|
@@ -85,98 +85,98 @@ var iconSize = {
|
|
|
85
85
|
};
|
|
86
86
|
//#endregion
|
|
87
87
|
//#region src/tags/settings-agents.css.ts
|
|
88
|
-
var agentRow = "
|
|
89
|
-
var list$3 = "
|
|
90
|
-
var metaChip = "
|
|
91
|
-
var sectionCount = "
|
|
92
|
-
var usageNote = "
|
|
93
|
-
var pop$2 = "
|
|
94
|
-
var spinner = "
|
|
95
|
-
var toolLead = "
|
|
96
|
-
var name$4 = "
|
|
97
|
-
var desc$1 = "
|
|
88
|
+
var agentRow = "_hv _eM";
|
|
89
|
+
var list$3 = "_eQ _cT _eL _eO";
|
|
90
|
+
var metaChip = "_e4 __ _9";
|
|
91
|
+
var sectionCount = "_cQ _0 _1";
|
|
92
|
+
var usageNote = "_kt _9";
|
|
93
|
+
var pop$2 = "_gC _bn";
|
|
94
|
+
var spinner = "_gF _bd _T";
|
|
95
|
+
var toolLead = "_gT _eZ";
|
|
96
|
+
var name$4 = "_ik _eZ";
|
|
97
|
+
var desc$1 = "_il _e0";
|
|
98
98
|
//#endregion
|
|
99
99
|
//#region src/tags/lsp-add-dialog.css.ts
|
|
100
|
-
var addDlg = "
|
|
101
|
-
var key$1 = "
|
|
102
|
-
var addTile = "
|
|
103
|
-
var field$2 = "
|
|
104
|
-
var keyField = "
|
|
105
|
-
var labelField = "
|
|
106
|
-
var detailsToggle = "
|
|
107
|
-
var themeSeg = "
|
|
108
|
-
var checkList = "
|
|
100
|
+
var addDlg = "_ng _bV";
|
|
101
|
+
var key$1 = "_me _mc";
|
|
102
|
+
var addTile = "_mg _mc";
|
|
103
|
+
var field$2 = "_mr _ba";
|
|
104
|
+
var keyField = "_ms _mr _ba";
|
|
105
|
+
var labelField = "_mt _mr _ba";
|
|
106
|
+
var detailsToggle = "_eA _G";
|
|
107
|
+
var themeSeg = "_d6 _br";
|
|
108
|
+
var checkList = "_ft _cR";
|
|
109
109
|
//#endregion
|
|
110
110
|
//#region src/tags/prompt-dialog.css.ts
|
|
111
|
-
var promptDlg = "
|
|
112
|
-
var item$1 = "
|
|
113
|
-
var glance = "
|
|
111
|
+
var promptDlg = "_bZ _bV";
|
|
112
|
+
var item$1 = "_cK _d";
|
|
113
|
+
var glance = "_fC _d";
|
|
114
114
|
//#endregion
|
|
115
115
|
//#region src/tags/side-nav.css.ts
|
|
116
|
-
var iconBtn = "
|
|
117
|
-
var settingsDot = "
|
|
118
|
-
var notifyBtn = "
|
|
116
|
+
var iconBtn = "_dk _d";
|
|
117
|
+
var settingsDot = "_dl _bq";
|
|
118
|
+
var notifyBtn = "_dq _d";
|
|
119
119
|
//#endregion
|
|
120
120
|
//#region src/styles/session-pop.css.ts
|
|
121
|
-
var sessionPop = "
|
|
122
|
-
var sessionPopBtn = "
|
|
123
|
-
var wsBtn = "
|
|
124
|
-
var rowIcon = "
|
|
125
|
-
var prChip = "
|
|
121
|
+
var sessionPop = "_dQ _bn";
|
|
122
|
+
var sessionPopBtn = "_dR _V";
|
|
123
|
+
var wsBtn = "_g5 _V";
|
|
124
|
+
var rowIcon = "_g7 _bf _d";
|
|
125
|
+
var prChip = "_op _m _nX";
|
|
126
126
|
//#endregion
|
|
127
127
|
//#region src/tags/port-chip.css.ts
|
|
128
|
-
var port = "
|
|
128
|
+
var port = "_o6 _m _nX";
|
|
129
129
|
var depth = {
|
|
130
|
-
"1": "
|
|
131
|
-
"2": "
|
|
132
|
-
"3": "
|
|
130
|
+
"1": "_mY",
|
|
131
|
+
"2": "_mZ",
|
|
132
|
+
"3": "_m0"
|
|
133
133
|
};
|
|
134
|
-
var open = "
|
|
135
|
-
var action = "
|
|
136
|
-
var toggle = "
|
|
137
|
-
var fold = "
|
|
138
|
-
var item = "
|
|
134
|
+
var open = "_m6 _V";
|
|
135
|
+
var action = "_na _bi _d";
|
|
136
|
+
var toggle = "_f1 _G";
|
|
137
|
+
var fold = "_f2 _eN";
|
|
138
|
+
var item = "_la _V";
|
|
139
139
|
var statusOf = {
|
|
140
|
-
queued: "
|
|
141
|
-
starting: "
|
|
142
|
-
working: "
|
|
143
|
-
waiting: "
|
|
144
|
-
idle: "
|
|
145
|
-
done: "
|
|
146
|
-
closed: "
|
|
140
|
+
queued: "_nG",
|
|
141
|
+
starting: "_nH",
|
|
142
|
+
working: "_nI",
|
|
143
|
+
waiting: "_nJ",
|
|
144
|
+
idle: "_nK",
|
|
145
|
+
done: "_nL",
|
|
146
|
+
closed: "_nM"
|
|
147
147
|
};
|
|
148
|
-
var menu = "
|
|
149
|
-
var menuItem = "
|
|
150
|
-
var findBtn$1 = "
|
|
151
|
-
var tool = "_ip
|
|
152
|
-
var heldRefresh = "_ix
|
|
153
|
-
var pop$1 = "
|
|
154
|
-
var fileFilter = "
|
|
155
|
-
var findInput = "
|
|
156
|
-
var keybarIconBtn = "
|
|
157
|
-
var input = "
|
|
158
|
-
var group = "
|
|
159
|
-
var hint$1 = "
|
|
160
|
-
var sheetDir = "
|
|
161
|
-
var upBtn = "
|
|
162
|
-
var findBtn = "
|
|
163
|
-
var goBtn = "
|
|
164
|
-
var note = "
|
|
148
|
+
var menu = "_mL _dQ _bn";
|
|
149
|
+
var menuItem = "_mN _V";
|
|
150
|
+
var findBtn$1 = "_iF _ip _bg _d";
|
|
151
|
+
var tool = "_ip _bg _d";
|
|
152
|
+
var heldRefresh = "_ix _m";
|
|
153
|
+
var pop$1 = "_kN _dQ _bn";
|
|
154
|
+
var fileFilter = "_o5 _f";
|
|
155
|
+
var findInput = "_fI _f";
|
|
156
|
+
var keybarIconBtn = "_fR _bi _d";
|
|
157
|
+
var input = "_cv _f";
|
|
158
|
+
var group = "_cy _G";
|
|
159
|
+
var hint$1 = "_kZ _0 _D";
|
|
160
|
+
var sheetDir = "_og _bp";
|
|
161
|
+
var upBtn = "_jk _bg _d";
|
|
162
|
+
var findBtn = "_jo _ip _bg _d";
|
|
163
|
+
var goBtn = "_jp _ip _bg _d";
|
|
164
|
+
var note = "_mA _9";
|
|
165
165
|
//#endregion
|
|
166
166
|
//#region src/tags/manage-workspace.css.ts
|
|
167
|
-
var procCmd = "
|
|
168
|
-
var factCopy = "
|
|
169
|
-
var resultRow = "
|
|
170
|
-
var resultBranch = "
|
|
171
|
-
var urlAction = "
|
|
172
|
-
var curRow = "
|
|
167
|
+
var procCmd = "_gf _eZ";
|
|
168
|
+
var factCopy = "_gm _bi _d";
|
|
169
|
+
var resultRow = "_j0 _V";
|
|
170
|
+
var resultBranch = "_j1 _e4 __ _9 _bf _d";
|
|
171
|
+
var urlAction = "_j2 _e4 __ _9 _e5";
|
|
172
|
+
var curRow = "_fW _eT";
|
|
173
173
|
//#endregion
|
|
174
174
|
//#region src/tags/join-dialog.css.ts
|
|
175
|
-
var dlg = "
|
|
176
|
-
var hint = "
|
|
177
|
-
var kbtn = "
|
|
178
|
-
var repeat = "
|
|
179
|
-
var dpadUser = "
|
|
180
|
-
var dpadEsc = "
|
|
175
|
+
var dlg = "_ke _bV";
|
|
176
|
+
var hint = "_kf _9";
|
|
177
|
+
var kbtn = "_dc _bh _d";
|
|
178
|
+
var repeat = "_df _de";
|
|
179
|
+
var dpadUser = "_di _de";
|
|
180
|
+
var dpadEsc = "_dj _de";
|
|
181
181
|
//#endregion
|
|
182
182
|
export { field$2 as $, statusOf as A, prTone as At, wsBtn as B, fileFilter as C, chipBtn as Ct, findBtn$1 as D, iconBtnXs as Dt, tool as E, iconBtnRow 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, usageFill as Mt, toggle as N, usageInk as Nt, menu as O, inputLg as Ot, action as P, addTile as Q, prChip as R, keybarIconBtn as S, btnSm as St, heldRefresh as T, iconBtnLg as Tt, iconBtn as U, sessionPop as V, notifyBtn as W, themeSeg as X, checkList as Y, detailsToggle as Z, sheetDir as _, tocDot as _t, dlg as a, name$4 as at, input as b, toastTitle 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, sans as gt, goBtn as h, iconSize as ht, repeat as i, desc$1 as it, item as j, tone as jt, menuItem as k, phaseIcon as kt, resultRow as l, usageNote as lt, findBtn as m, color 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, toastKind as vt, pop$1 as w, glyphBadgeNum as wt, findInput as x, btnLg as xt, group as y, toastStack as yt, rowIcon as z };
|