@codori/server 0.0.7 → 0.0.9
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/client-dist/200.html +1 -1
- package/client-dist/404.html +1 -1
- package/client-dist/_nuxt/2EtD6e53.js +1 -0
- package/client-dist/_nuxt/2UxHyX5q.js +1 -0
- package/client-dist/_nuxt/4A_iFExJ.js +1 -0
- package/client-dist/_nuxt/5i3qLPDT.js +1 -0
- package/client-dist/_nuxt/85-TOEBH.js +1 -0
- package/client-dist/_nuxt/8RdFxsI0.js +1 -0
- package/client-dist/_nuxt/B19jyaWk.js +1 -0
- package/client-dist/_nuxt/B1dDrJ26.js +1 -0
- package/client-dist/_nuxt/B1yitclQ.js +1 -0
- package/client-dist/_nuxt/B3IuxhDN.js +30 -0
- package/client-dist/_nuxt/B6aJPvgy.js +1 -0
- package/client-dist/_nuxt/B7c-h3xW.js +1 -0
- package/client-dist/_nuxt/B826cP71.js +1 -0
- package/client-dist/_nuxt/BBf5iR-q.js +1 -0
- package/client-dist/_nuxt/BD6EkmMO.js +1 -0
- package/client-dist/_nuxt/BEAkd4s7.js +1 -0
- package/client-dist/_nuxt/BEDo0Tqx.js +1 -0
- package/client-dist/_nuxt/BERRCDM3.js +1 -0
- package/client-dist/_nuxt/BETggiCN.js +1 -0
- package/client-dist/_nuxt/BEwlwnbL.js +1 -0
- package/client-dist/_nuxt/BFfxhgS-.js +1 -0
- package/client-dist/_nuxt/BGHnOYBU.js +1 -0
- package/client-dist/_nuxt/BGJmEYvX.js +1 -0
- package/client-dist/_nuxt/BGVkM8nj.js +1 -0
- package/client-dist/_nuxt/{Cp-IABpG.js → BHNwtY8x.js} +1 -1
- package/client-dist/_nuxt/BHjcNrw3.js +3 -0
- package/client-dist/_nuxt/BIGW1oBm.js +1 -0
- package/client-dist/_nuxt/BJDFO7_C.js +1 -0
- package/client-dist/_nuxt/BKr8FBgw.js +1 -0
- package/client-dist/_nuxt/BLpjgPiz.js +1 -0
- package/client-dist/_nuxt/BLtJtn59.js +1 -0
- package/client-dist/_nuxt/BM1_JUlF.js +1 -0
- package/client-dist/_nuxt/BMWR74SV.js +1 -0
- package/client-dist/_nuxt/{DuhV8rPH.js → BNH9IwS9.js} +1 -1
- package/client-dist/_nuxt/{BRjoAfmA.js → BPcGC96v.js} +1 -1
- package/client-dist/_nuxt/BQ8w6xss.js +1 -0
- package/client-dist/_nuxt/{FeFRdv_D.js → BQZJ_s1W.js} +1 -1
- package/client-dist/_nuxt/BRHolxvo.js +1 -0
- package/client-dist/_nuxt/BRZ36xJF.js +1 -0
- package/client-dist/_nuxt/BTJTHyun.js +1 -0
- package/client-dist/_nuxt/BTifaqeh.js +1 -0
- package/client-dist/_nuxt/BV7otONQ.js +1 -0
- package/client-dist/_nuxt/BWAnTZ4I.js +1 -0
- package/client-dist/_nuxt/BWvSN4gD.js +1 -0
- package/client-dist/_nuxt/BXt_itPd.js +1 -0
- package/client-dist/_nuxt/BYunw83y.js +1 -0
- package/client-dist/_nuxt/BZvkOJ9d.js +1 -0
- package/client-dist/_nuxt/B_m7g4N7.js +1 -0
- package/client-dist/_nuxt/BcOcwvcX.js +1 -0
- package/client-dist/_nuxt/BcVCzyr7.js +1 -0
- package/client-dist/_nuxt/BdImnpbu.js +1 -0
- package/client-dist/_nuxt/BdnUsdx6.js +1 -0
- package/client-dist/_nuxt/BeH2EWoN.js +1 -0
- package/client-dist/_nuxt/BhOHFoWU.js +1 -0
- package/client-dist/_nuxt/Bhd25lTY.js +1 -0
- package/client-dist/_nuxt/BkioyH1T.js +1 -0
- package/client-dist/_nuxt/BmXAJ9_W.js +1 -0
- package/client-dist/_nuxt/Bmn6On1c.js +1 -0
- package/client-dist/_nuxt/BotfEHlw.js +1 -0
- package/client-dist/_nuxt/Bp3cYrEr.js +1 -0
- package/client-dist/_nuxt/Bp6g37R7.js +1 -0
- package/client-dist/_nuxt/BqTXFGrv.js +1 -0
- package/client-dist/_nuxt/BqYA7rlc.js +1 -0
- package/client-dist/_nuxt/BsS91CYL.js +1 -0
- package/client-dist/_nuxt/BspZqrRM.js +1 -0
- package/client-dist/_nuxt/BtCnVYZw.js +1 -0
- package/client-dist/_nuxt/BtOb2qkB.js +1 -0
- package/client-dist/_nuxt/BtfFQXW5.js +1 -0
- package/client-dist/_nuxt/BtqSS_iP.js +1 -0
- package/client-dist/_nuxt/BtshCNqv.js +1 -0
- package/client-dist/_nuxt/Bv_4Rxtq.js +1 -0
- package/client-dist/_nuxt/BvzEVeQv.js +1 -0
- package/client-dist/_nuxt/BxgE0vQu.js +1 -0
- package/client-dist/_nuxt/C-HG3fhB.js +1 -0
- package/client-dist/_nuxt/C-SQnVFl.js +1 -0
- package/client-dist/_nuxt/C0HS_06l.js +1 -0
- package/client-dist/_nuxt/C0hk2d4L.js +1 -0
- package/client-dist/_nuxt/C151Ov-r.js +1 -0
- package/client-dist/_nuxt/C2t-YnRu.js +1 -0
- package/client-dist/_nuxt/C3B-1QV4.js +1 -0
- package/client-dist/_nuxt/C4EeE6gA.js +1 -0
- package/client-dist/_nuxt/C4IJs8-o.js +1 -0
- package/client-dist/_nuxt/C5BYcBs_.js +1 -0
- package/client-dist/_nuxt/C5YyOfLZ.js +1 -0
- package/client-dist/_nuxt/C7zT0LnQ.js +1 -0
- package/client-dist/_nuxt/C8lEn-DE.js +1 -0
- package/client-dist/_nuxt/C98Dy4si.js +1 -0
- package/client-dist/_nuxt/C9XAeP06.js +1 -0
- package/client-dist/_nuxt/C9tS-k6U.js +1 -0
- package/client-dist/_nuxt/{BPQ3VLAy.js → CCfADO3_.js} +1 -1
- package/client-dist/_nuxt/CDVJQ6XC.js +1 -0
- package/client-dist/_nuxt/CDx5xZoG.js +1 -0
- package/client-dist/_nuxt/CEL-wOlO.js +1 -0
- package/client-dist/_nuxt/CEu0bR-o.js +1 -0
- package/client-dist/_nuxt/CF10PKvl.js +1 -0
- package/client-dist/_nuxt/CG8Ifv2g.js +1 -0
- package/client-dist/_nuxt/CHLpvVh8.js +1 -0
- package/client-dist/_nuxt/CHM0blh-.js +1 -0
- package/client-dist/_nuxt/CJ7c09CE.js +1 -0
- package/client-dist/_nuxt/CJc9bBzg.js +1 -0
- package/client-dist/_nuxt/CKIfxQSi.js +1 -0
- package/client-dist/_nuxt/CLZHJLG5.js +1 -0
- package/client-dist/_nuxt/CLxacb5B.js +1 -0
- package/client-dist/_nuxt/CO1LY3CK.js +1 -0
- package/client-dist/_nuxt/COcwbKMJ.js +1 -0
- package/client-dist/_nuxt/COkxafJQ.js +1 -0
- package/client-dist/_nuxt/CVNwiBlm.js +1 -0
- package/client-dist/_nuxt/{DnzrXTVv.js → CXtECtnM.js} +1 -1
- package/client-dist/_nuxt/CYFhzN0T.js +1 -0
- package/client-dist/_nuxt/CbFg5uaA.js +1 -0
- package/client-dist/_nuxt/CeAyd5Ju.js +1 -0
- package/client-dist/_nuxt/CeZK1NFH.js +1 -0
- package/client-dist/_nuxt/CenWIFCC.js +1 -0
- package/client-dist/_nuxt/Cg-RD9OK.js +1 -0
- package/client-dist/_nuxt/Cg85IBdX.js +1 -0
- package/client-dist/_nuxt/CgD98c94.js +1 -0
- package/client-dist/_nuxt/{BuV4AypJ.js → CgGOqHXS.js} +1 -1
- package/client-dist/_nuxt/ChMvpjG-.js +1 -0
- package/client-dist/_nuxt/Cj5Yp3dK.js +1 -0
- package/client-dist/_nuxt/CkByrt1z.js +1 -0
- package/client-dist/_nuxt/CklMAg4u.js +1 -0
- package/client-dist/_nuxt/Cmh6b_Ma.js +1 -0
- package/client-dist/_nuxt/CmkJ9NYb.js +1 -0
- package/client-dist/_nuxt/CnnmHF94.js +1 -0
- package/client-dist/_nuxt/CnsnAmq5.js +1 -0
- package/client-dist/_nuxt/Co6uUVPk.js +1 -0
- package/client-dist/_nuxt/CoDkCxhg.js +1 -0
- package/client-dist/_nuxt/CquLrc37.js +1 -0
- package/client-dist/_nuxt/CsfeWuGM.js +1 -0
- package/client-dist/_nuxt/CuPHTKiy.js +1 -0
- package/client-dist/_nuxt/CvW-MIKW.js +1 -0
- package/client-dist/_nuxt/Cvjx9yec.js +1 -0
- package/client-dist/_nuxt/CvlGdmse.js +602 -0
- package/client-dist/_nuxt/CwoSXNpI.js +1 -0
- package/client-dist/_nuxt/CxGSJlkm.js +1 -0
- package/client-dist/_nuxt/CxLEBnE3.js +1 -0
- package/client-dist/_nuxt/{Ca5zoVcr.js → CxScub5o.js} +1 -1
- package/client-dist/_nuxt/CylS5w8V.js +1 -0
- package/client-dist/_nuxt/Cz2AlsmD.js +1 -0
- package/client-dist/_nuxt/CzTSHFRz.js +1 -0
- package/client-dist/_nuxt/D0Qbv3qM.js +1 -0
- package/client-dist/_nuxt/D0YGMca9.js +1 -0
- package/client-dist/_nuxt/D17OF-Vu.js +1 -0
- package/client-dist/_nuxt/D1j8_8rp.js +1 -0
- package/client-dist/_nuxt/D3lLCCz7.js +1 -0
- package/client-dist/_nuxt/D5-asLiD.js +1 -0
- package/client-dist/_nuxt/D53aC0YG.js +1 -0
- package/client-dist/_nuxt/D5yZcIaO.js +1 -0
- package/client-dist/_nuxt/D6Hj04_K.js +1 -0
- package/client-dist/_nuxt/D6yXAlcE.js +1 -0
- package/client-dist/_nuxt/{COt5Ahok.js → D7BNtDUy.js} +1 -1
- package/client-dist/_nuxt/D7o27uSR.js +1 -0
- package/client-dist/_nuxt/D82EKSYY.js +1 -0
- package/client-dist/_nuxt/D82vCrfD.js +1 -0
- package/client-dist/_nuxt/D8_7TLub.js +1 -0
- package/client-dist/_nuxt/D8l8udqQ.js +1 -0
- package/client-dist/_nuxt/D93ZcfNL.js +1 -0
- package/client-dist/_nuxt/D97Zzqfu.js +1 -0
- package/client-dist/_nuxt/{wDzz0qaB.js → DB3RxkHZ.js} +1 -1
- package/client-dist/_nuxt/{CmqtzKLI.js → DCTGdhsc.js} +1 -1
- package/client-dist/_nuxt/DECJDjDi.js +1 -0
- package/client-dist/_nuxt/DFQXde-d.js +1 -0
- package/client-dist/_nuxt/DFXneXwc.js +1 -0
- package/client-dist/_nuxt/DGztddWO.js +1 -0
- package/client-dist/_nuxt/DHCkPAjA.js +1 -0
- package/client-dist/_nuxt/DKUu6ncq.js +1 -0
- package/client-dist/_nuxt/DM8c43g1.js +1 -0
- package/client-dist/_nuxt/DMzUqQB5.js +1 -0
- package/client-dist/_nuxt/DPOp833l.js +1 -0
- package/client-dist/_nuxt/{DEUVOdPa.js → DPfMkruS.js} +1 -1
- package/client-dist/_nuxt/DRJZaHtK.js +1 -0
- package/client-dist/_nuxt/DRg8JJMk.js +1 -0
- package/client-dist/_nuxt/DRjS3g17.js +1 -0
- package/client-dist/_nuxt/DRpBLN6w.js +1 -0
- package/client-dist/_nuxt/DUBMA5x8.js +1 -0
- package/client-dist/_nuxt/DV7GczEv.js +1 -0
- package/client-dist/_nuxt/DVDfYWF6.js +1 -0
- package/client-dist/_nuxt/DVFEvuxE.js +1 -0
- package/client-dist/_nuxt/DVxCFoDh.js +1 -0
- package/client-dist/_nuxt/DWrx1Km3.js +1 -0
- package/client-dist/_nuxt/DXmwc3jG.js +1 -0
- package/client-dist/_nuxt/DXvB9xmW.js +1 -0
- package/client-dist/_nuxt/DZf3V79B.js +1 -0
- package/client-dist/_nuxt/DZxFcAj9.js +1 -0
- package/client-dist/_nuxt/D_Q5rh1f.js +1 -0
- package/client-dist/_nuxt/Da5cRb03.js +1 -0
- package/client-dist/_nuxt/{Buea-lGh.js → DbVfSbck.js} +1 -1
- package/client-dist/_nuxt/DcaNXYhu.js +1 -0
- package/client-dist/_nuxt/Dd19v3D-.js +1 -0
- package/client-dist/_nuxt/Dd3ET9V0.js +1 -0
- package/client-dist/_nuxt/DdkO51Og.js +1 -0
- package/client-dist/_nuxt/Des-eS-w.js +1 -0
- package/client-dist/_nuxt/Df6bDoY_.js +1 -0
- package/client-dist/_nuxt/DjAJT7YJ.js +1 -0
- package/client-dist/_nuxt/DkFqJrB1.js +1 -0
- package/client-dist/_nuxt/DkwncUOv.js +1 -0
- package/client-dist/_nuxt/DlHI8Ai4.js +1 -0
- package/client-dist/_nuxt/Dpen1YoG.js +1 -0
- package/client-dist/_nuxt/Dph4kLrZ.js +1 -0
- package/client-dist/_nuxt/DsOJ9woJ.js +1 -0
- package/client-dist/_nuxt/Dspwwk_N.js +1 -0
- package/client-dist/_nuxt/Dx-B1_4e.js +1 -0
- package/client-dist/_nuxt/Dy0S7N0n.js +1 -0
- package/client-dist/_nuxt/DyxjwDmM.js +1 -0
- package/client-dist/_nuxt/DzZ8QcnK.js +1 -0
- package/client-dist/_nuxt/{CGmODCAh.js → HlchK-4a.js} +1 -1
- package/client-dist/_nuxt/I0fdEYPy.js +1 -0
- package/client-dist/_nuxt/IF9eRakj.js +1 -0
- package/client-dist/_nuxt/IJmkFJsg.js +1 -0
- package/client-dist/_nuxt/IeuSbFQv.js +1 -0
- package/client-dist/_nuxt/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
- package/client-dist/_nuxt/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
- package/client-dist/_nuxt/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Script-Regular.D5yQViql.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Size1-Regular.C195tn64.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
- package/client-dist/_nuxt/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
- package/client-dist/_nuxt/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
- package/client-dist/_nuxt/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
- package/client-dist/_nuxt/MzD3tlZU.js +1 -0
- package/client-dist/_nuxt/Ne1NyERo.js +1 -0
- package/client-dist/_nuxt/P80f7IUj.js +1 -0
- package/client-dist/_nuxt/Pmp26Uib.js +1 -0
- package/client-dist/_nuxt/QIJgUcNo.js +1 -0
- package/client-dist/_nuxt/{Yzrsuije.js → SHvotRv0.js} +1 -1
- package/client-dist/_nuxt/Slideover.J-Ge-Kkm.css +1 -0
- package/client-dist/_nuxt/ThreadPanel.BBA4dfRV.css +1 -0
- package/client-dist/_nuxt/VOosw3JB.js +1 -0
- package/client-dist/_nuxt/Ve4PFQV2.js +1 -0
- package/client-dist/_nuxt/ZzV7S5_G.js +1 -0
- package/client-dist/_nuxt/_H4v1dQx.js +1 -0
- package/client-dist/_nuxt/_threadId_.jwtdIqRr.css +1 -0
- package/client-dist/_nuxt/_ykCGR6B.js +1 -0
- package/client-dist/_nuxt/aElucho_.js +1 -0
- package/client-dist/_nuxt/aLnYSF2k.js +1 -0
- package/client-dist/_nuxt/bCR0ucgS.js +1 -0
- package/client-dist/_nuxt/bKUfYPeY.js +1 -0
- package/client-dist/_nuxt/builds/latest.json +1 -1
- package/client-dist/_nuxt/builds/meta/9952d0a7-885d-4613-a8d7-404d6a3a2546.json +1 -0
- package/client-dist/_nuxt/dwOrl1Do.js +1 -0
- package/client-dist/_nuxt/entry.LkR4lxBi.css +1 -0
- package/client-dist/_nuxt/eo99z4R2.js +1 -0
- package/client-dist/_nuxt/fuZLfV_i.js +1 -0
- package/client-dist/_nuxt/g9-lgVsj.js +1 -0
- package/client-dist/_nuxt/gcz8RCvz.js +1 -0
- package/client-dist/_nuxt/iSp4djLW.js +1 -0
- package/client-dist/_nuxt/k_qm7-4y.js +1 -0
- package/client-dist/_nuxt/lXgVvXCa.js +1 -0
- package/client-dist/_nuxt/mWjccvbQ.js +1 -0
- package/client-dist/_nuxt/n2N0HUVH.js +1 -0
- package/client-dist/_nuxt/oH_c3LbQ.js +1 -0
- package/client-dist/_nuxt/oRqv6y6X.js +1 -0
- package/client-dist/_nuxt/r7ogTLrr.js +1 -0
- package/client-dist/_nuxt/rGO070M0.js +1 -0
- package/client-dist/_nuxt/rZm6bMo-.js +1 -0
- package/client-dist/_nuxt/sYEfdq96.js +1 -0
- package/client-dist/_nuxt/u5AG7uiY.js +1 -0
- package/client-dist/_nuxt/uYugtg8r.js +1 -0
- package/client-dist/_nuxt/uvFwYBg_.js +1 -0
- package/client-dist/_nuxt/vGWfd6FD.js +1 -0
- package/client-dist/_nuxt/yv6CvBhz.js +1 -0
- package/client-dist/index.html +1 -1
- package/dist/git.d.ts +5 -0
- package/dist/git.js +45 -0
- package/dist/http-server.js +47 -0
- package/dist/local-file-viewer.d.ts +14 -0
- package/dist/local-file-viewer.js +56 -0
- package/package.json +1 -1
- package/client-dist/_nuxt/B_aAQ6Nr.js +0 -1
- package/client-dist/_nuxt/Be-Ripyl.js +0 -30
- package/client-dist/_nuxt/Bk7RrgsR.js +0 -1
- package/client-dist/_nuxt/CL5qMgFz.js +0 -1
- package/client-dist/_nuxt/CV1c1Dy6.js +0 -1
- package/client-dist/_nuxt/CkyjGvrk.js +0 -1
- package/client-dist/_nuxt/D22De_nZ.js +0 -3
- package/client-dist/_nuxt/DBQR3AJH.js +0 -1
- package/client-dist/_nuxt/NavigationMenu.DYbev1Hq.css +0 -1
- package/client-dist/_nuxt/_threadId_.BfTZeVnD.css +0 -1
- package/client-dist/_nuxt/builds/meta/78a17f74-935f-43eb-ac36-10bc5108d0f2.json +0 -1
- package/client-dist/_nuxt/entry.BFUss7SH.css +0 -1
- package/client-dist/_nuxt/hZbQM4Kn.js +0 -1
- package/client-dist/_nuxt/vB75A7qQ.js +0 -202
package/dist/http-server.js
CHANGED
|
@@ -11,6 +11,8 @@ import { lookup as lookupMimeType } from 'mime-types';
|
|
|
11
11
|
import WebSocket from 'ws';
|
|
12
12
|
import { isPathInsideDirectory, persistThreadAttachmentStream, readAttachmentMetadata, resolveProjectAttachmentsDir } from './attachment-store.js';
|
|
13
13
|
import { CodoriError } from './errors.js';
|
|
14
|
+
import { listGitBranches } from './git.js';
|
|
15
|
+
import { LocalFileViewError, readProjectLocalFile } from './local-file-viewer.js';
|
|
14
16
|
import { createRuntimeManager } from './process-manager.js';
|
|
15
17
|
import { createServiceUpdateController } from './service-update.js';
|
|
16
18
|
const isCodoriError = (error) => error instanceof CodoriError;
|
|
@@ -193,6 +195,12 @@ export const createHttpServer = async (manager, options = {}) => {
|
|
|
193
195
|
app.get('/api/projects/:projectId/status', async (request) => ({
|
|
194
196
|
project: await resolveValue(manager.getProjectStatus(getProjectIdFromRequest(request.params.projectId)))
|
|
195
197
|
}));
|
|
198
|
+
app.get('/api/projects/:projectId/git/branches', async (request) => {
|
|
199
|
+
const projectId = getProjectIdFromRequest(request.params.projectId);
|
|
200
|
+
const project = await resolveValue(manager.getProjectStatus(projectId));
|
|
201
|
+
await touchProjectActivity(manager, projectId);
|
|
202
|
+
return await listGitBranches(project.projectPath);
|
|
203
|
+
});
|
|
196
204
|
app.post('/api/projects/:projectId/start', async (request) => ({
|
|
197
205
|
project: await resolveValue(manager.startProject(getProjectIdFromRequest(request.params.projectId)))
|
|
198
206
|
}));
|
|
@@ -309,6 +317,45 @@ export const createHttpServer = async (manager, options = {}) => {
|
|
|
309
317
|
reply.header('content-disposition', `inline; filename="${basename(resolvedPath).replace(/"/g, '')}"`);
|
|
310
318
|
return await readFile(resolvedPath);
|
|
311
319
|
});
|
|
320
|
+
app.get('/api/projects/:projectId/local-file', async (request, reply) => {
|
|
321
|
+
const projectId = getProjectIdFromRequest(request.params.projectId);
|
|
322
|
+
const requestedPath = typeof request.query.path === 'string'
|
|
323
|
+
? request.query.path.trim()
|
|
324
|
+
: '';
|
|
325
|
+
if (!requestedPath) {
|
|
326
|
+
reply.status(400);
|
|
327
|
+
return {
|
|
328
|
+
error: {
|
|
329
|
+
code: 'INVALID_LOCAL_FILE',
|
|
330
|
+
message: 'Missing local file path.'
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
const project = await resolveValue(manager.getProjectStatus(projectId));
|
|
335
|
+
await touchProjectActivity(manager, projectId);
|
|
336
|
+
try {
|
|
337
|
+
const file = await readProjectLocalFile(project.projectPath, requestedPath);
|
|
338
|
+
reply.header('cache-control', 'no-store');
|
|
339
|
+
return { file };
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
if (error instanceof LocalFileViewError) {
|
|
343
|
+
const statusCode = error.code === 'FORBIDDEN'
|
|
344
|
+
? 403
|
|
345
|
+
: error.code === 'NOT_FOUND' || error.code === 'NOT_A_FILE'
|
|
346
|
+
? 404
|
|
347
|
+
: 415;
|
|
348
|
+
reply.status(statusCode);
|
|
349
|
+
return {
|
|
350
|
+
error: {
|
|
351
|
+
code: error.code,
|
|
352
|
+
message: error.message
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
throw error;
|
|
357
|
+
}
|
|
358
|
+
});
|
|
312
359
|
app.get('/api/projects/:projectId/rpc', { websocket: true }, async (clientSocket, request) => {
|
|
313
360
|
const projectId = getProjectIdFromRequest(request.params.projectId);
|
|
314
361
|
const pendingClientMessages = [];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const MAX_LOCAL_FILE_VIEW_BYTES: number;
|
|
2
|
+
export type LocalFileReadResult = {
|
|
3
|
+
path: string;
|
|
4
|
+
relativePath: string;
|
|
5
|
+
name: string;
|
|
6
|
+
size: number;
|
|
7
|
+
updatedAt: number;
|
|
8
|
+
text: string;
|
|
9
|
+
};
|
|
10
|
+
export declare class LocalFileViewError extends Error {
|
|
11
|
+
readonly code: 'FORBIDDEN' | 'NOT_FOUND' | 'NOT_A_FILE' | 'TOO_LARGE' | 'BINARY';
|
|
12
|
+
constructor(code: LocalFileViewError['code'], message: string);
|
|
13
|
+
}
|
|
14
|
+
export declare const readProjectLocalFile: (projectRoot: string, requestedPath: string) => Promise<LocalFileReadResult>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { basename, resolve } from 'node:path';
|
|
2
|
+
import { readFile, realpath, stat } from 'node:fs/promises';
|
|
3
|
+
import { isPathInsideDirectory } from './attachment-store.js';
|
|
4
|
+
export const MAX_LOCAL_FILE_VIEW_BYTES = 1024 * 1024;
|
|
5
|
+
export class LocalFileViewError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = 'LocalFileViewError';
|
|
10
|
+
this.code = code;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const hasBinaryContent = (buffer) => {
|
|
14
|
+
for (const byte of buffer) {
|
|
15
|
+
if (byte === 0) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
};
|
|
21
|
+
export const readProjectLocalFile = async (projectRoot, requestedPath) => {
|
|
22
|
+
const resolvedProjectRoot = await realpath(resolve(projectRoot));
|
|
23
|
+
const resolvedRequestPath = resolve(requestedPath);
|
|
24
|
+
let resolvedTargetPath;
|
|
25
|
+
try {
|
|
26
|
+
resolvedTargetPath = await realpath(resolvedRequestPath);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
throw new LocalFileViewError('NOT_FOUND', 'Local file not found.');
|
|
30
|
+
}
|
|
31
|
+
if (!isPathInsideDirectory(resolvedTargetPath, resolvedProjectRoot)) {
|
|
32
|
+
throw new LocalFileViewError('FORBIDDEN', 'Local file access is limited to the active project root.');
|
|
33
|
+
}
|
|
34
|
+
const fileStat = await stat(resolvedTargetPath).catch(() => null);
|
|
35
|
+
if (!fileStat) {
|
|
36
|
+
throw new LocalFileViewError('NOT_FOUND', 'Local file not found.');
|
|
37
|
+
}
|
|
38
|
+
if (!fileStat.isFile()) {
|
|
39
|
+
throw new LocalFileViewError('NOT_A_FILE', 'Only regular files can be previewed.');
|
|
40
|
+
}
|
|
41
|
+
if (fileStat.size > MAX_LOCAL_FILE_VIEW_BYTES) {
|
|
42
|
+
throw new LocalFileViewError('TOO_LARGE', `Local file preview is limited to ${Math.floor(MAX_LOCAL_FILE_VIEW_BYTES / 1024)} KB.`);
|
|
43
|
+
}
|
|
44
|
+
const buffer = await readFile(resolvedTargetPath);
|
|
45
|
+
if (hasBinaryContent(buffer)) {
|
|
46
|
+
throw new LocalFileViewError('BINARY', 'Binary files are not supported by the local file viewer.');
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
path: resolvedTargetPath,
|
|
50
|
+
relativePath: resolvedTargetPath.slice(resolvedProjectRoot.length).replace(/^[/\\]+/, ''),
|
|
51
|
+
name: basename(resolvedTargetPath),
|
|
52
|
+
size: fileStat.size,
|
|
53
|
+
updatedAt: fileStat.mtimeMs,
|
|
54
|
+
text: buffer.toString('utf8')
|
|
55
|
+
};
|
|
56
|
+
};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as Y,h as Z,j as le,o as l,d as u,a as f,z as n,b as y,l as e,k as M,w as x,t as A,m as S,Z as re,$ as ie,Y as Q,p as R,q as V,J as P,c as w,y as T,C as z,a6 as W,a0 as ne,n as de,a7 as K,D as ue,E as L,r as E,N,s as q,A as j,v as ce,x as pe,F as fe,a8 as ge,a9 as me,P as ve,B as be,e as he,aa as ye}from"./Be-Ripyl.js";import{u as X,a as xe,i as _e,t as ke,j as qe,_ as we}from"./CL5qMgFz.js";import{u as ee,a as Se,_ as $e,b as je,p as Ce}from"./hZbQM4Kn.js";import{_ as Pe,a as ze}from"./Bk7RrgsR.js";const Be=(s,a)=>{const t=[...s].sort((m,c)=>m.projectId.localeCompare(c.projectId));if(!a)return t;const o=t.findIndex(m=>m.projectId===a);if(o<0)return t;const[g]=t.splice(o,1);return g?[g,...t]:t},Ue={class:"flex min-h-0 flex-1 flex-col gap-3"},Ie={class:"flex items-center justify-between gap-2"},De={key:0,class:"text-xs font-medium uppercase tracking-[0.24em] text-muted"},Ae={key:0,class:"rounded-lg border border-dashed border-muted px-3 py-4 text-sm text-muted"},Te={key:0},Oe={key:1},Ne={class:"min-h-0 flex-1 overflow-y-auto"},Me={key:0,class:"min-w-0"},Re={class:"truncate font-medium text-highlighted"},Ve={class:"truncate text-[11px] text-muted"},He={key:0,class:"truncate text-[11px] text-error"},Fe={key:0,class:"flex items-center"},Ge=Y({__name:"ProjectSidebar",props:{collapsed:{type:Boolean}},setup(s){const a=s,t=Z(),{projects:o,loaded:g,loading:m,refreshProjects:c}=X(),_=S(()=>{const r=t.params.projectId;return Array.isArray(r)?r.join("/"):typeof r=="string"?r:null});le(()=>{g.value||c()});const i=S(()=>[Be(o.value,_.value).map(r=>({label:r.projectId,icon:"i-lucide-folder-git-2",to:ke(r.projectId),active:_.value===r.projectId,tooltip:{text:r.projectId},projectId:r.projectId,projectPath:r.projectPath,status:r.status,error:r.error}))]),d=r=>r,p=r=>_.value===r.projectId;return(r,U)=>{const C=M,k=xe,B=_e;return l(),u("div",Ue,[f("div",Ie,[a.collapsed?n("",!0):(l(),u("div",De," Projects ")),y(C,{icon:"i-lucide-refresh-cw",color:"neutral",variant:"ghost",size:"xs",loading:e(m),square:a.collapsed,onClick:e(c)},null,8,["loading","square","onClick"])]),!e(o).length&&!e(m)?(l(),u("div",Ae,[a.collapsed?(l(),u("span",Te,"0")):(l(),u("span",Oe,"No Git projects were discovered under the configured root."))])):n("",!0),f("div",Ne,[y(B,{items:i.value,orientation:"vertical",collapsed:a.collapsed,highlight:"",color:"primary",variant:"link",popover:!1,tooltip:a.collapsed,class:"w-full",ui:{root:"w-full",list:"gap-1",item:"w-full",link:a.collapsed?"w-full justify-center rounded-lg px-2 py-2":"w-full rounded-lg px-3 py-2.5 text-sm",linkLeadingIcon:a.collapsed?"size-4":"size-4 text-dimmed",linkLabel:"min-w-0 flex-1",linkTrailing:"ms-3 shrink-0"}},{"item-label":x(({item:h})=>[a.collapsed?n("",!0):(l(),u("div",Me,[f("div",Re,A(d(h).projectId),1),f("div",Ve,A(d(h).projectPath),1),d(h).error?(l(),u("div",He,A(d(h).error),1)):n("",!0)]))]),"item-trailing":x(({item:h})=>[a.collapsed?n("",!0):(l(),u("div",Fe,[y(k,{status:d(h).status,pulse:p(d(h))},null,8,["status","pulse"])]))]),_:1},8,["items","collapsed","tooltip","ui"])])])}}}),Ke=Object.assign(Ge,{__name:"ProjectSidebar"}),Le={base:"hidden lg:flex",variants:{side:{left:"",right:""}}},Ee={__name:"UDashboardSidebarCollapse",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},ui:{type:Object,required:!1},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(s){const a=s,t=re(ie(a,"icon","side","class")),{t:o}=Q(),g=R(),m=V("dashboardSidebarCollapse",a),{sidebarCollapsed:c,collapseSidebar:_}=ee({sidebarCollapsed:P(!1),collapseSidebar:()=>{}}),i=S(()=>z({extend:z(Le),...g.ui?.dashboardSidebarCollapse||{}}));return(d,p)=>(l(),w(M,T({...e(t),icon:a.icon||(e(c)?e(g).ui.icons.panelOpen:e(g).ui.icons.panelClose),"aria-label":e(c)?e(o)("dashboardSidebarCollapse.expand"):e(o)("dashboardSidebarCollapse.collapse"),...d.$attrs},{class:i.value({class:[e(m)?.base,a.class],side:a.side}),onClick:p[0]||(p[0]=r=>e(_)?.(!e(c)))}),null,16,["class"]))}},Je={slots:{root:"relative hidden lg:flex flex-col min-h-svh min-w-16 w-(--width) shrink-0",header:"h-(--ui-header-height) shrink-0 flex items-center gap-1.5 px-4",body:"flex flex-col gap-4 flex-1 overflow-y-auto px-4 py-2",footer:"shrink-0 flex items-center gap-1.5 px-4 py-2",toggle:"",handle:"",content:"lg:hidden",overlay:"lg:hidden"},variants:{menu:{true:{header:"sm:px-6",body:"sm:px-6",footer:"sm:px-6"}},side:{left:{root:"border-e border-default"},right:{root:""}},toggleSide:{left:{toggle:""},right:{toggle:"ms-auto"}}}};function J(s,a){const o=W().hook(s,a);ne(o)}const Ye=["data-collapsed","data-dragging"],Ze=Object.assign({inheritAttrs:!1},{__name:"UDashboardSidebar",props:ge({mode:{type:null,required:!1,default:"slideover"},menu:{type:null,required:!1},toggle:{type:[Boolean,Object],required:!1,default:!0},toggleSide:{type:String,required:!1,default:"left"},autoClose:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},id:{type:String,required:!1},side:{type:String,required:!1,default:"left"},minSize:{type:Number,required:!1,default:10},maxSize:{type:Number,required:!1,default:20},defaultSize:{type:Number,required:!1,default:15},resizable:{type:Boolean,required:!1,default:!1},collapsible:{type:Boolean,required:!1,default:!1},collapsedSize:{type:Number,required:!1,default:0}},{open:{type:Boolean,default:!1},openModifiers:{},collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:["update:open","update:collapsed"],setup(s){const a=s,t=de(),o=K(s,"open",{type:Boolean,default:!1}),g=K(s,"collapsed",{type:Boolean,default:!1}),m=Z(),{t:c}=Q(),_=R(),i=V("dashboardSidebar",a),d=ee({storageKey:"dashboard",unit:"%",sidebarOpen:P(!1),sidebarCollapsed:P(!1)}),p=`${d.storageKey}-sidebar-${a.id||ue()}`,{el:r,size:U,collapse:C,isCollapsed:k,isDragging:B,onMouseDown:h,onTouchStart:I,onDoubleClick:D}=Se(p,L(()=>({...d,...a})),{collapsed:g}),[$,H]=E(),[ae,F]=E();J("dashboard:sidebar:toggle",()=>{o.value=!o.value}),J("dashboard:sidebar:collapse",v=>{k.value=v}),N(o,()=>d.sidebarOpen.value=o.value,{immediate:!0}),N(k,()=>d.sidebarCollapsed.value=k.value,{immediate:!0}),N(()=>m.fullPath,()=>{a.autoClose&&(o.value=!1)});const b=S(()=>z({extend:z(Je),..._.ui?.dashboardSidebar||{}})({side:a.side})),te=S(()=>({slideover:qe,modal:ze,drawer:Pe})[a.mode]),se=L(()=>me(a.menu,{content:{onOpenAutoFocus:v=>v.preventDefault()}},a.mode==="modal"?{fullscreen:!0,transition:!1}:a.mode==="slideover"?{side:"left"}:{}));function oe(){o.value=!o.value}return(v,G)=>(l(),u(fe,null,[y(e($),null,{default:x(()=>[q(v.$slots,"toggle",{open:o.value,toggle:oe,ui:b.value},()=>[s.toggle?(l(),w($e,T({key:0},typeof s.toggle=="object"?s.toggle:{},{side:s.toggleSide,"data-slot":"toggle",class:b.value.toggle({class:e(i)?.toggle,toggleSide:s.toggleSide})}),null,16,["side","class"])):n("",!0)])]),_:3}),y(e(ae),null,{default:x(()=>[q(v.$slots,"resize-handle",{onMouseDown:e(h),onTouchStart:e(I),onDoubleClick:e(D),ui:b.value},()=>[s.resizable?(l(),w(je,{key:0,"aria-controls":p,"data-slot":"handle",class:j(b.value.handle({class:e(i)?.handle})),onMousedown:e(h),onTouchstart:e(I),onDblclick:e(D)},null,8,["class","onMousedown","onTouchstart","onDblclick"])):n("",!0)])]),_:3}),s.side==="right"?(l(),w(e(F),{key:0})):n("",!0),f("div",T({id:p,ref_key:"el",ref:r},v.$attrs,{"data-collapsed":e(k),"data-dragging":e(B),"data-slot":"root",class:b.value.root({class:[e(i)?.root,a.class]}),style:{"--width":`${e(U)||0}${e(d).unit}`}}),[t.header?(l(),u("div",{key:0,"data-slot":"header",class:j(b.value.header({class:e(i)?.header}))},[q(v.$slots,"header",{collapsed:e(k),collapse:e(C)})],2)):n("",!0),f("div",{"data-slot":"body",class:j(b.value.body({class:e(i)?.body}))},[q(v.$slots,"default",{collapsed:e(k),collapse:e(C)})],2),t.footer?(l(),u("div",{key:1,"data-slot":"footer",class:j(b.value.footer({class:e(i)?.footer}))},[q(v.$slots,"footer",{collapsed:e(k),collapse:e(C)})],2)):n("",!0)],16,Ye),s.side==="left"?(l(),w(e(F),{key:1})):n("",!0),y(e(te),T({open:o.value,"onUpdate:open":G[0]||(G[0]=O=>o.value=O),title:e(c)("dashboardSidebar.title"),description:e(c)("dashboardSidebar.description")},se.value,{ui:{overlay:b.value.overlay({class:e(i)?.overlay}),content:b.value.content({class:e(i)?.content})}}),{content:x(O=>[q(v.$slots,"content",ce(pe(O)),()=>[t.header||s.mode!=="drawer"?(l(),u("div",{key:0,"data-slot":"header",class:j(b.value.header({class:e(i)?.header,menu:!0}))},[s.mode!=="drawer"&&s.toggleSide==="left"?(l(),w(e(H),{key:0})):n("",!0),q(v.$slots,"header",{collapsed:!1,collapse:()=>{}}),s.mode!=="drawer"&&s.toggleSide==="right"?(l(),w(e(H),{key:1})):n("",!0)],2)):n("",!0),f("div",{"data-slot":"body",class:j(b.value.body({class:e(i)?.body,menu:!0}))},[q(v.$slots,"default",{collapsed:!1,collapse:()=>{}})],2),t.footer?(l(),u("div",{key:1,"data-slot":"footer",class:j(b.value.footer({class:e(i)?.footer,menu:!0}))},[q(v.$slots,"footer",{collapsed:!1,collapse:()=>{}})],2)):n("",!0)])]),_:3},16,["open","title","description","ui"])],64))}}),Qe={base:"fixed inset-0 flex overflow-hidden"},We={__name:"UDashboardGroup",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},storage:{type:String,required:!1,default:"cookie"},storageKey:{type:String,required:!1,default:"dashboard"},persistent:{type:Boolean,required:!1,default:!0},unit:{type:String,required:!1,default:"%"}},setup(s){const a=s,t=W(),o=R(),g=V("dashboardGroup",a),m=S(()=>z({extend:z(Qe),...o.ui?.dashboardGroup||{}})),c=P(!1),_=P(!1);return Ce({storage:a.storage,storageKey:a.storageKey,persistent:a.persistent,unit:a.unit,sidebarOpen:c,toggleSidebar:()=>{t.hooks.callHook("dashboard:sidebar:toggle")},sidebarCollapsed:_,collapseSidebar:i=>{t.hooks.callHook("dashboard:sidebar:collapse",i)},toggleSearch:()=>{t.hooks.callHook("dashboard:search:toggle")}}),(i,d)=>(l(),w(e(ve),{as:s.as,class:j(m.value({class:[e(g)?.base,a.class]}))},{default:x(()=>[q(i.$slots,"default")]),_:3},8,["as","class"]))}},Xe={class:"flex items-center gap-3 px-1"},ea={class:"flex size-9 items-center justify-center rounded-xl bg-primary/12 text-primary"},aa={key:0,class:"flex min-w-0 flex-1 items-start justify-between gap-3"},ta={key:1,class:"sr-only"},sa={class:"flex items-center justify-between gap-2"},oa={key:0,class:"truncate text-xs text-muted"},da=Y({__name:"default",setup(s){const a=P(!1),{serviceUpdate:t,serviceUpdatePending:o,triggerServiceUpdate:g}=X(),m=S(()=>t.value.enabled&&(t.value.updateAvailable||t.value.updating)),c=S(()=>t.value.updating?"Updating":"Update"),_=S(()=>!t.value.latestVersion||!t.value.installedVersion?t.value.updating?"Applying the latest server package update.":"Install the latest @codori/server package.":t.value.updating?`Updating @codori/server ${t.value.installedVersion} -> ${t.value.latestVersion}`:`Update @codori/server ${t.value.installedVersion} -> ${t.value.latestVersion}`),i=S(()=>a.value?{content:"w-[80vw] max-w-[80vw] sm:w-80 sm:max-w-80",body:"flex flex-col gap-4 flex-1 overflow-y-auto px-1 py-2",footer:"overflow-visible"}:{content:"w-[80vw] max-w-[80vw] sm:w-80 sm:max-w-80",footer:"overflow-visible"});return(d,p)=>{const r=be,U=M,C=we,k=Ke,B=Ee,h=Ze,I=ye,D=We;return l(),w(D,{class:"min-h-screen",storage:"local","storage-key":"codori-dashboard",persistent:!0,unit:"%"},{default:x(()=>[y(h,{id:"projects-sidebar",collapsed:a.value,"onUpdate:collapsed":p[0]||(p[0]=$=>a.value=$),side:"left",collapsible:"","collapsed-size":6,resizable:"","default-size":24,"min-size":20,"max-size":34,ui:i.value,class:"overflow-visible"},{header:x(({collapsed:$})=>[f("div",Xe,[f("div",ea,[y(r,{name:"i-lucide-terminal-square",class:"size-5"})]),$?$?(l(),u("div",ta,[...p[2]||(p[2]=[f("span",null," Codori ",-1),f("span",null," Codex project control ",-1)])])):n("",!0):(l(),u("div",aa,[p[1]||(p[1]=f("div",{class:"min-w-0"},[f("div",{class:"text-sm font-semibold"}," Codori "),f("div",{class:"text-xs text-muted"}," Codex project control ")],-1)),m.value?(l(),w(C,{key:0,text:_.value},{default:x(()=>[y(U,{color:"neutral",variant:"outline",size:"xs",loading:e(o)||e(t).updating,disabled:e(o)||e(t).updating,onClick:e(g)},{default:x(()=>[he(A(c.value),1)]),_:1},8,["loading","disabled","onClick"])]),_:1},8,["text"])):n("",!0)]))])]),default:x(({collapsed:$})=>[y(k,{collapsed:$},null,8,["collapsed"])]),footer:x(()=>[f("div",sa,[a.value?n("",!0):(l(),u("span",oa," Dashboard ")),y(B,{class:"relative z-20 -me-4 shrink-0"})])]),_:1},8,["collapsed","ui"]),y(I)]),_:1})}}});export{da as default};
|