@selvajs/selva 2.0.3 → 2.0.5
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/build/client/_app/immutable/chunks/{CCx3W8-n.js → 8myBnrfv.js} +1 -1
- package/build/client/_app/immutable/chunks/8myBnrfv.js.br +0 -0
- package/build/client/_app/immutable/chunks/8myBnrfv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DDJVj3K_.js → C9Df2wr-.js} +1 -1
- package/build/client/_app/immutable/chunks/C9Df2wr-.js.br +0 -0
- package/build/client/_app/immutable/chunks/C9Df2wr-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{mn4wqSK3.js → CCTfakkg.js} +1 -1
- package/build/client/_app/immutable/chunks/CCTfakkg.js.br +0 -0
- package/build/client/_app/immutable/chunks/CCTfakkg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cjmuoo3l.js +3 -0
- package/build/client/_app/immutable/chunks/Cjmuoo3l.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cjmuoo3l.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BV1oWdGD.js → HqubiwPT.js} +1 -1
- package/build/client/_app/immutable/chunks/HqubiwPT.js.br +0 -0
- package/build/client/_app/immutable/chunks/HqubiwPT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DPB6Jpno.js → ZDz-erzJ.js} +1 -1
- package/build/client/_app/immutable/chunks/ZDz-erzJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/ZDz-erzJ.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.BRKh5QNI.js → app.DOiJtGnv.js} +2 -2
- package/build/client/_app/immutable/entry/app.DOiJtGnv.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DOiJtGnv.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CwKgsgQm.js +1 -0
- package/build/client/_app/immutable/entry/start.CwKgsgQm.js.br +2 -0
- package/build/client/_app/immutable/entry/start.CwKgsgQm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CTs6oCZo.js → 1.CB19XB2Z.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CB19XB2Z.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CB19XB2Z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.DemYOq3i.js → 11.BdtoQ6p5.js} +1 -1
- package/build/client/_app/immutable/nodes/11.BdtoQ6p5.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BdtoQ6p5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.DpdyenfK.js → 13.BLgYtEYY.js} +1 -1
- package/build/client/_app/immutable/nodes/13.BLgYtEYY.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BLgYtEYY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.CwVi2ClP.js → 14.auNxIpQB.js} +1 -1
- package/build/client/_app/immutable/nodes/14.auNxIpQB.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.auNxIpQB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.CSbm8o3N.js +16 -0
- package/build/client/_app/immutable/nodes/15.CSbm8o3N.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.CSbm8o3N.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.DzXblhpf.js → 16.em-BNpeg.js} +1 -1
- package/build/client/_app/immutable/nodes/16.em-BNpeg.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.em-BNpeg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.cWP9UUvo.js → 17.C8MorHII.js} +1 -1
- package/build/client/_app/immutable/nodes/17.C8MorHII.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.C8MorHII.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.C2JJyvh1.js → 19.Bf79hNm5.js} +1 -1
- package/build/client/_app/immutable/nodes/19.Bf79hNm5.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.Bf79hNm5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.CEtR_jy5.js → 2.Bte-WLZU.js} +1 -1
- package/build/client/_app/immutable/nodes/2.Bte-WLZU.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Bte-WLZU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{20.CpAqrbNF.js → 20.0Wf8xdvp.js} +1 -1
- package/build/client/_app/immutable/nodes/20.0Wf8xdvp.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.0Wf8xdvp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.BW8K2thc.js → 21.DErA5ELN.js} +1 -1
- package/build/client/_app/immutable/nodes/21.DErA5ELN.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.DErA5ELN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{23.BnfqaaSO.js → 23.aVoICofj.js} +1 -1
- package/build/client/_app/immutable/nodes/23.aVoICofj.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.aVoICofj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.XyeC_rUv.js → 24.DcnmldPU.js} +1 -1
- package/build/client/_app/immutable/nodes/24.DcnmldPU.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.DcnmldPU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.CEXct3Wc.js → 27.CZoD3f91.js} +1 -1
- package/build/client/_app/immutable/nodes/27.CZoD3f91.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.CZoD3f91.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.B9Yr7s3f.js → 28.DXfLNi5w.js} +1 -1
- package/build/client/_app/immutable/nodes/28.DXfLNi5w.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.DXfLNi5w.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.9THa6mgW.js → 29.xl38p7cD.js} +1 -1
- package/build/client/_app/immutable/nodes/29.xl38p7cD.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.xl38p7cD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.B8tp0KuP.js → 3.eHE0TU-f.js} +1 -1
- package/build/client/_app/immutable/nodes/3.eHE0TU-f.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.eHE0TU-f.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.B0_ohaRg.js → 30.DixHE6VC.js} +1 -1
- package/build/client/_app/immutable/nodes/30.DixHE6VC.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.DixHE6VC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.CEvQHcz8.js → 5.C-lFn9ZK.js} +1 -1
- package/build/client/_app/immutable/nodes/5.C-lFn9ZK.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.C-lFn9ZK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.MiARQsow.js → 6.7jqfKCxL.js} +1 -1
- package/build/client/_app/immutable/nodes/6.7jqfKCxL.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.7jqfKCxL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.4E9V6GcT.js → 7.DWr1p4-1.js} +1 -1
- package/build/client/_app/immutable/nodes/7.DWr1p4-1.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DWr1p4-1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.D8g6Vds-.js → 8.DIC6myVo.js} +1 -1
- package/build/client/_app/immutable/nodes/8.DIC6myVo.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DIC6myVo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CH8wtRZj.js +1 -0
- package/build/client/_app/immutable/nodes/9.CH8wtRZj.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CH8wtRZj.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{1-tkiRaJm3.js → 1-pCNOQOX8.js} +2 -2
- package/build/server/chunks/{1-tkiRaJm3.js.map → 1-pCNOQOX8.js.map} +1 -1
- package/build/server/chunks/{11-CwBAHKO1.js → 11-DWmN6QIS.js} +2 -2
- package/build/server/chunks/{11-CwBAHKO1.js.map → 11-DWmN6QIS.js.map} +1 -1
- package/build/server/chunks/{13-CEgpkJsl.js → 13-Cat6mRkx.js} +2 -2
- package/build/server/chunks/{13-CEgpkJsl.js.map → 13-Cat6mRkx.js.map} +1 -1
- package/build/server/chunks/{14-CuLH3sOJ.js → 14-scZuavT6.js} +2 -2
- package/build/server/chunks/{14-CuLH3sOJ.js.map → 14-scZuavT6.js.map} +1 -1
- package/build/server/chunks/{15-DHGAmNDS.js → 15-2YIH6ctn.js} +3 -3
- package/build/server/chunks/{15-DHGAmNDS.js.map → 15-2YIH6ctn.js.map} +1 -1
- package/build/server/chunks/{16-BqSmZ0au.js → 16-De_RHseD.js} +2 -2
- package/build/server/chunks/{16-BqSmZ0au.js.map → 16-De_RHseD.js.map} +1 -1
- package/build/server/chunks/{17-BwPRBUof.js → 17-BU3Tb5wM.js} +2 -2
- package/build/server/chunks/{17-BwPRBUof.js.map → 17-BU3Tb5wM.js.map} +1 -1
- package/build/server/chunks/{19-3FI-gBIF.js → 19-Dh6RxcX1.js} +2 -2
- package/build/server/chunks/{19-3FI-gBIF.js.map → 19-Dh6RxcX1.js.map} +1 -1
- package/build/server/chunks/{2-BktREpTN.js → 2-CaBZozt7.js} +2 -2
- package/build/server/chunks/{2-BktREpTN.js.map → 2-CaBZozt7.js.map} +1 -1
- package/build/server/chunks/{20-D8O4C_84.js → 20-CUVJ6IbF.js} +2 -2
- package/build/server/chunks/{20-D8O4C_84.js.map → 20-CUVJ6IbF.js.map} +1 -1
- package/build/server/chunks/{21-COO7ITK8.js → 21-77YTgo2i.js} +2 -2
- package/build/server/chunks/{21-COO7ITK8.js.map → 21-77YTgo2i.js.map} +1 -1
- package/build/server/chunks/{23-ckQZBIac.js → 23-CjwhbMS9.js} +2 -2
- package/build/server/chunks/{23-ckQZBIac.js.map → 23-CjwhbMS9.js.map} +1 -1
- package/build/server/chunks/{24-Byj6-QiB.js → 24-DI7jm2i-.js} +2 -2
- package/build/server/chunks/{24-Byj6-QiB.js.map → 24-DI7jm2i-.js.map} +1 -1
- package/build/server/chunks/{27-C6KaTD0c.js → 27-TUvc-iBk.js} +2 -2
- package/build/server/chunks/{27-C6KaTD0c.js.map → 27-TUvc-iBk.js.map} +1 -1
- package/build/server/chunks/{28-BM0TT8tW.js → 28-CmfGiKQe.js} +2 -2
- package/build/server/chunks/{28-BM0TT8tW.js.map → 28-CmfGiKQe.js.map} +1 -1
- package/build/server/chunks/{29-8EsvqAjE.js → 29-RlP1JDVA.js} +2 -2
- package/build/server/chunks/{29-8EsvqAjE.js.map → 29-RlP1JDVA.js.map} +1 -1
- package/build/server/chunks/{3-CGZK9ryR.js → 3-oWNPQvJp.js} +2 -2
- package/build/server/chunks/{3-CGZK9ryR.js.map → 3-oWNPQvJp.js.map} +1 -1
- package/build/server/chunks/{30-CtB6i9os.js → 30-neQZvi7p.js} +2 -2
- package/build/server/chunks/{30-CtB6i9os.js.map → 30-neQZvi7p.js.map} +1 -1
- package/build/server/chunks/{5-BGu6jqGh.js → 5-aupVJ5C1.js} +2 -2
- package/build/server/chunks/{5-BGu6jqGh.js.map → 5-aupVJ5C1.js.map} +1 -1
- package/build/server/chunks/{6-CrVzle0G.js → 6-B1x5Omn5.js} +2 -2
- package/build/server/chunks/{6-CrVzle0G.js.map → 6-B1x5Omn5.js.map} +1 -1
- package/build/server/chunks/{7-CyQgvlZo.js → 7-AJDohZ_j.js} +2 -2
- package/build/server/chunks/{7-CyQgvlZo.js.map → 7-AJDohZ_j.js.map} +1 -1
- package/build/server/chunks/{8-DQerDMPb.js → 8-KPs6FmA_.js} +2 -2
- package/build/server/chunks/{8-DQerDMPb.js.map → 8-KPs6FmA_.js.map} +1 -1
- package/build/server/chunks/{9-g58PTujZ.js → 9-CGRTAZiP.js} +3 -3
- package/build/server/chunks/{9-g58PTujZ.js.map → 9-CGRTAZiP.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DS9orYLw.js → _page.svelte-ErdesCSB.js} +20 -5
- package/build/server/chunks/_page.svelte-ErdesCSB.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DG_7CM7u.js → _page.svelte-cjTi5BVx.js} +5 -5
- package/build/server/chunks/_page.svelte-cjTi5BVx.js.map +1 -0
- package/build/server/chunks/{_server.ts-D71yVIcY.js → _server.ts-AF3sjnPA.js} +54 -9
- package/build/server/chunks/_server.ts-AF3sjnPA.js.map +1 -0
- package/build/server/chunks/{_server.ts-CM4aZGc-.js → _server.ts-C_s5gcH-.js} +3 -2
- package/build/server/chunks/{_server.ts-CM4aZGc-.js.map → _server.ts-C_s5gcH-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BgsmlYb6.js → _server.ts-DChqazjy.js} +3 -2
- package/build/server/chunks/{_server.ts-BgsmlYb6.js.map → _server.ts-DChqazjy.js.map} +1 -1
- package/build/server/chunks/auth-bootstrap.server-dy8_QSAP.js +97 -0
- package/build/server/chunks/auth-bootstrap.server-dy8_QSAP.js.map +1 -0
- package/build/server/chunks/{hooks.server-aaRldGQ_.js → hooks.server-D5z2JKsD.js} +3 -2
- package/build/server/chunks/{hooks.server-aaRldGQ_.js.map → hooks.server-D5z2JKsD.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +27 -27
- package/build/server/manifest.js.map +1 -1
- package/package.json +5 -5
- package/build/client/_app/immutable/chunks/BV1oWdGD.js.br +0 -0
- package/build/client/_app/immutable/chunks/BV1oWdGD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CCx3W8-n.js.br +0 -0
- package/build/client/_app/immutable/chunks/CCx3W8-n.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CISf22d1.js +0 -3
- package/build/client/_app/immutable/chunks/CISf22d1.js.br +0 -0
- package/build/client/_app/immutable/chunks/CISf22d1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDJVj3K_.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDJVj3K_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPB6Jpno.js.br +0 -0
- package/build/client/_app/immutable/chunks/DPB6Jpno.js.gz +0 -0
- package/build/client/_app/immutable/chunks/mn4wqSK3.js.br +0 -0
- package/build/client/_app/immutable/chunks/mn4wqSK3.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BRKh5QNI.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BRKh5QNI.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DzTy4Sar.js +0 -1
- package/build/client/_app/immutable/entry/start.DzTy4Sar.js.br +0 -2
- package/build/client/_app/immutable/entry/start.DzTy4Sar.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CTs6oCZo.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CTs6oCZo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DemYOq3i.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DemYOq3i.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.DpdyenfK.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.DpdyenfK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.CwVi2ClP.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.CwVi2ClP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js +0 -13
- package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.DzXblhpf.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.DzXblhpf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.cWP9UUvo.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.cWP9UUvo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.C2JJyvh1.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.C2JJyvh1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CEtR_jy5.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CEtR_jy5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.CpAqrbNF.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.CpAqrbNF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.BW8K2thc.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.BW8K2thc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.BnfqaaSO.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.BnfqaaSO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.XyeC_rUv.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.XyeC_rUv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.CEXct3Wc.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.CEXct3Wc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.B9Yr7s3f.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.B9Yr7s3f.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.9THa6mgW.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.9THa6mgW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B8tp0KuP.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B8tp0KuP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.B0_ohaRg.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.B0_ohaRg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CEvQHcz8.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CEvQHcz8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.MiARQsow.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.MiARQsow.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.4E9V6GcT.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.4E9V6GcT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.D8g6Vds-.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.D8g6Vds-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CaxIeYLY.js +0 -1
- package/build/client/_app/immutable/nodes/9.CaxIeYLY.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CaxIeYLY.js.gz +0 -0
- package/build/server/chunks/_page.svelte-DG_7CM7u.js.map +0 -1
- package/build/server/chunks/_page.svelte-DS9orYLw.js.map +0 -1
- package/build/server/chunks/_server.ts-D71yVIcY.js.map +0 -1
- package/build/server/chunks/auth-bootstrap.server-oox9p1sN.js +0 -45
- package/build/server/chunks/auth-bootstrap.server-oox9p1sN.js.map +0 -1
|
@@ -11,9 +11,9 @@ const index = 7;
|
|
|
11
11
|
let component_cache;
|
|
12
12
|
const component = async () => component_cache ??= (await import('./_page.svelte-wsvtYRRE.js')).default;
|
|
13
13
|
const server_id = "src/routes/+page.server.ts";
|
|
14
|
-
const imports = ["_app/immutable/nodes/7.
|
|
14
|
+
const imports = ["_app/immutable/nodes/7.DWr1p4-1.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/ooPBmYPj.js","_app/immutable/chunks/BMGykAfL.js","_app/immutable/chunks/_OLpdTiI.js","_app/immutable/chunks/C8ko2SLk.js","_app/immutable/chunks/Gxlzmh6y.js","_app/immutable/chunks/BM4_iXSA.js","_app/immutable/chunks/CCTfakkg.js","_app/immutable/chunks/Cjmuoo3l.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/8myBnrfv.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/ZDz-erzJ.js","_app/immutable/chunks/2_FEXmq1.js","_app/immutable/chunks/D_wr-JLf.js","_app/immutable/chunks/azBeeLR0.js","_app/immutable/chunks/BoR6OKl6.js","_app/immutable/chunks/CpGv0MSX.js","_app/immutable/chunks/Bb9xebuT.js","_app/immutable/chunks/CRRzXoPz.js","_app/immutable/chunks/gMllmzma.js","_app/immutable/chunks/CZ1oTCKP.js","_app/immutable/chunks/CEnIp_6Y.js","_app/immutable/chunks/D99uXqZb.js","_app/immutable/chunks/BU9URCkw.js","_app/immutable/chunks/hRoV10UM.js","_app/immutable/chunks/E3yOQTT0.js","_app/immutable/chunks/BxCHY0iG.js","_app/immutable/chunks/CkW8YtSm.js"];
|
|
15
15
|
const stylesheets = [];
|
|
16
16
|
const fonts = [];
|
|
17
17
|
|
|
18
18
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
19
|
-
//# sourceMappingURL=7-
|
|
19
|
+
//# sourceMappingURL=7-AJDohZ_j.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"7-
|
|
1
|
+
{"version":3,"file":"7-AJDohZ_j.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["const load = async () => {\n return {};\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/_page.server.ts.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/7.DWr1p4-1.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/CCTfakkg.js\",\"_app/immutable/chunks/Cjmuoo3l.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/8myBnrfv.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/ZDz-erzJ.js\",\"_app/immutable/chunks/2_FEXmq1.js\",\"_app/immutable/chunks/D_wr-JLf.js\",\"_app/immutable/chunks/azBeeLR0.js\",\"_app/immutable/chunks/BoR6OKl6.js\",\"_app/immutable/chunks/CpGv0MSX.js\",\"_app/immutable/chunks/Bb9xebuT.js\",\"_app/immutable/chunks/CRRzXoPz.js\",\"_app/immutable/chunks/gMllmzma.js\",\"_app/immutable/chunks/CZ1oTCKP.js\",\"_app/immutable/chunks/CEnIp_6Y.js\",\"_app/immutable/chunks/D99uXqZb.js\",\"_app/immutable/chunks/BU9URCkw.js\",\"_app/immutable/chunks/hRoV10UM.js\",\"_app/immutable/chunks/E3yOQTT0.js\",\"_app/immutable/chunks/BxCHY0iG.js\",\"_app/immutable/chunks/CkW8YtSm.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,YAAY;AACzB,EAAE,OAAO,EAAE;AACX,CAAC;;;;;;;ACAW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAEhG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChrC,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -122,9 +122,9 @@ const index = 8;
|
|
|
122
122
|
let component_cache;
|
|
123
123
|
const component = async () => component_cache ??= (await import('./_page.svelte-DQeDu6UN.js')).default;
|
|
124
124
|
const server_id = "src/routes/accept-invite/+page.server.ts";
|
|
125
|
-
const imports = ["_app/immutable/nodes/8.
|
|
125
|
+
const imports = ["_app/immutable/nodes/8.DIC6myVo.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/ooPBmYPj.js","_app/immutable/chunks/BMGykAfL.js","_app/immutable/chunks/_OLpdTiI.js","_app/immutable/chunks/C8ko2SLk.js","_app/immutable/chunks/Gxlzmh6y.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/BM4_iXSA.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/CCTfakkg.js","_app/immutable/chunks/Cjmuoo3l.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/azBeeLR0.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/BoR6OKl6.js","_app/immutable/chunks/D99uXqZb.js","_app/immutable/chunks/BW4xleRz.js","_app/immutable/chunks/B8uG8z2c.js","_app/immutable/chunks/CRRzXoPz.js","_app/immutable/chunks/jFKgkeON.js","_app/immutable/chunks/DEBBEmC0.js"];
|
|
126
126
|
const stylesheets = [];
|
|
127
127
|
const fonts = [];
|
|
128
128
|
|
|
129
129
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
130
|
-
//# sourceMappingURL=8-
|
|
130
|
+
//# sourceMappingURL=8-KPs6FmA_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"8-DQerDMPb.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/accept-invite/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["import { fail, redirect } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../../../chunks/context.js\";\nimport { n as getInviteStore, e as getAuthProvider, a as getOrganizationProvider, d as getUserProfileStore } from \"../../../chunks/providers.server.js\";\nimport { s as setSessionCookie } from \"../../../chunks/admin-auth.server.js\";\nimport { h as hashToken } from \"../../../chunks/token.server2.js\";\nconst load = async ({ url }) => {\n const token = url.searchParams.get(\"token\")?.trim();\n if (!token) {\n return { ok: false, reason: \"This invite link is missing a token.\" };\n }\n const invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n if (!invite) {\n return { ok: false, reason: \"This invite link is invalid or has expired.\" };\n }\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, invite.orgId);\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n return {\n ok: true,\n email: invite.email,\n orgName: org?.name ?? \"the organization\",\n token,\n mode\n };\n};\nconst actions = {\n default: async ({ request, cookies }) => {\n const data = await request.formData();\n const token = data.get(\"token\")?.trim() ?? \"\";\n const password = data.get(\"password\");\n const confirm = data.get(\"confirm\");\n const displayName = data.get(\"displayName\")?.trim() || void 0;\n if (!token) {\n return fail(400, { error: \"Missing invite token.\" });\n }\n let invite;\n try {\n invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n } catch {\n return fail(500, { error: \"Could not validate the invite. Please try again.\" });\n }\n if (!invite) {\n return fail(410, { error: \"This invite link is invalid or has expired.\" });\n }\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n if (mode === \"password\") {\n if (!password || password.length < 8) {\n return fail(400, { error: \"Password must be at least 8 characters.\" });\n }\n if (password !== confirm) {\n return fail(400, { error: \"Passwords do not match.\" });\n }\n }\n let user;\n try {\n if (mode === \"password\" && auth.passwordAuth) {\n user = await auth.passwordAuth.createUserWithPassword(invite.email, password);\n } else if (mode === \"proxy\" && auth.createUser) {\n user = await auth.createUser(invite.email);\n } else {\n return fail(501, { error: \"This provider does not support invite-based signup.\" });\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : \"Could not create your account.\";\n return fail(400, { error: msg });\n }\n try {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId: invite.orgId,\n userId: user.id,\n role: invite.orgRole,\n permissions: invite.orgPermissions,\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: invite.invitedBy,\n deletedAt: null\n });\n await getInviteStore().markAccepted(SYSTEM_CONTEXT, invite.id, user.id);\n } catch (err) {\n console.error(\"[accept-invite] post-signup wiring failed\", err);\n return fail(500, {\n error: \"Your account was created, but we could not finish joining the organization. Please contact your admin.\"\n });\n }\n if (displayName) {\n try {\n await getUserProfileStore().updateProfile(SYSTEM_CONTEXT, user.id, { displayName });\n } catch {\n }\n }\n if (mode === \"password\" && auth.passwordAuth) {\n const loginResult = await auth.passwordAuth.verifyLogin(invite.email, password);\n if (loginResult.kind !== \"success\") {\n return fail(500, {\n error: \"Your account was created but login failed. Please sign in manually.\"\n });\n }\n setSessionCookie(cookies, loginResult.sessionToken);\n }\n redirect(303, \"/admin\");\n }\n};\nexport {\n actions,\n load\n};\n","import * as server from '../entries/pages/accept-invite/_page.server.ts.js';\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/accept-invite/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/accept-invite/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/8.D8g6Vds-.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/mn4wqSK3.js\",\"_app/immutable/chunks/CISf22d1.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/azBeeLR0.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/BoR6OKl6.js\",\"_app/immutable/chunks/D99uXqZb.js\",\"_app/immutable/chunks/BW4xleRz.js\",\"_app/immutable/chunks/B8uG8z2c.js\",\"_app/immutable/chunks/CRRzXoPz.js\",\"_app/immutable/chunks/jFKgkeON.js\",\"_app/immutable/chunks/DEBBEmC0.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"8-KPs6FmA_.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/accept-invite/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["import { fail, redirect } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../../../chunks/context.js\";\nimport { n as getInviteStore, e as getAuthProvider, a as getOrganizationProvider, d as getUserProfileStore } from \"../../../chunks/providers.server.js\";\nimport { s as setSessionCookie } from \"../../../chunks/admin-auth.server.js\";\nimport { h as hashToken } from \"../../../chunks/token.server2.js\";\nconst load = async ({ url }) => {\n const token = url.searchParams.get(\"token\")?.trim();\n if (!token) {\n return { ok: false, reason: \"This invite link is missing a token.\" };\n }\n const invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n if (!invite) {\n return { ok: false, reason: \"This invite link is invalid or has expired.\" };\n }\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, invite.orgId);\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n return {\n ok: true,\n email: invite.email,\n orgName: org?.name ?? \"the organization\",\n token,\n mode\n };\n};\nconst actions = {\n default: async ({ request, cookies }) => {\n const data = await request.formData();\n const token = data.get(\"token\")?.trim() ?? \"\";\n const password = data.get(\"password\");\n const confirm = data.get(\"confirm\");\n const displayName = data.get(\"displayName\")?.trim() || void 0;\n if (!token) {\n return fail(400, { error: \"Missing invite token.\" });\n }\n let invite;\n try {\n invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n } catch {\n return fail(500, { error: \"Could not validate the invite. Please try again.\" });\n }\n if (!invite) {\n return fail(410, { error: \"This invite link is invalid or has expired.\" });\n }\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n if (mode === \"password\") {\n if (!password || password.length < 8) {\n return fail(400, { error: \"Password must be at least 8 characters.\" });\n }\n if (password !== confirm) {\n return fail(400, { error: \"Passwords do not match.\" });\n }\n }\n let user;\n try {\n if (mode === \"password\" && auth.passwordAuth) {\n user = await auth.passwordAuth.createUserWithPassword(invite.email, password);\n } else if (mode === \"proxy\" && auth.createUser) {\n user = await auth.createUser(invite.email);\n } else {\n return fail(501, { error: \"This provider does not support invite-based signup.\" });\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : \"Could not create your account.\";\n return fail(400, { error: msg });\n }\n try {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId: invite.orgId,\n userId: user.id,\n role: invite.orgRole,\n permissions: invite.orgPermissions,\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: invite.invitedBy,\n deletedAt: null\n });\n await getInviteStore().markAccepted(SYSTEM_CONTEXT, invite.id, user.id);\n } catch (err) {\n console.error(\"[accept-invite] post-signup wiring failed\", err);\n return fail(500, {\n error: \"Your account was created, but we could not finish joining the organization. Please contact your admin.\"\n });\n }\n if (displayName) {\n try {\n await getUserProfileStore().updateProfile(SYSTEM_CONTEXT, user.id, { displayName });\n } catch {\n }\n }\n if (mode === \"password\" && auth.passwordAuth) {\n const loginResult = await auth.passwordAuth.verifyLogin(invite.email, password);\n if (loginResult.kind !== \"success\") {\n return fail(500, {\n error: \"Your account was created but login failed. Please sign in manually.\"\n });\n }\n setSessionCookie(cookies, loginResult.sessionToken);\n }\n redirect(303, \"/admin\");\n }\n};\nexport {\n actions,\n load\n};\n","import * as server from '../entries/pages/accept-invite/_page.server.ts.js';\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/accept-invite/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/accept-invite/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/8.DIC6myVo.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/CCTfakkg.js\",\"_app/immutable/chunks/Cjmuoo3l.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/azBeeLR0.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/BoR6OKl6.js\",\"_app/immutable/chunks/D99uXqZb.js\",\"_app/immutable/chunks/BW4xleRz.js\",\"_app/immutable/chunks/B8uG8z2c.js\",\"_app/immutable/chunks/CRRzXoPz.js\",\"_app/immutable/chunks/jFKgkeON.js\",\"_app/immutable/chunks/DEBBEmC0.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
|
|
@@ -36,11 +36,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
36
36
|
|
|
37
37
|
const index = 9;
|
|
38
38
|
let component_cache;
|
|
39
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
39
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-cjTi5BVx.js')).default;
|
|
40
40
|
const server_id = "src/routes/admin/+page.server.ts";
|
|
41
|
-
const imports = ["_app/immutable/nodes/9.
|
|
41
|
+
const imports = ["_app/immutable/nodes/9.CH8wtRZj.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/ooPBmYPj.js","_app/immutable/chunks/BMGykAfL.js","_app/immutable/chunks/_OLpdTiI.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/Gxlzmh6y.js","_app/immutable/chunks/BM4_iXSA.js","_app/immutable/chunks/CCTfakkg.js","_app/immutable/chunks/Cjmuoo3l.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/B_Lmgh7q.js","_app/immutable/chunks/wamM80bu.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/P4Np3c9O.js","_app/immutable/chunks/BZmrLQwT.js","_app/immutable/chunks/C8ko2SLk.js","_app/immutable/chunks/uINs3xv3.js","_app/immutable/chunks/BxCHY0iG.js","_app/immutable/chunks/BNzEBMy8.js","_app/immutable/chunks/DRDjLZb3.js"];
|
|
42
42
|
const stylesheets = [];
|
|
43
43
|
const fonts = [];
|
|
44
44
|
|
|
45
45
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
46
|
-
//# sourceMappingURL=9-
|
|
46
|
+
//# sourceMappingURL=9-CGRTAZiP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"9-
|
|
1
|
+
{"version":3,"file":"9-CGRTAZiP.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["import { e as getAuthProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) throw err;\n console.error(\"Failed to load admin dashboard:\", err);\n return { stats: { users: null }, platformPermissions };\n }\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/admin/_page.server.ts.js';\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/admin/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/admin/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/9.CH8wtRZj.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/CCTfakkg.js\",\"_app/immutable/chunks/Cjmuoo3l.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/B_Lmgh7q.js\",\"_app/immutable/chunks/wamM80bu.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/P4Np3c9O.js\",\"_app/immutable/chunks/BZmrLQwT.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/uINs3xv3.js\",\"_app/immutable/chunks/BxCHY0iG.js\",\"_app/immutable/chunks/BNzEBMy8.js\",\"_app/immutable/chunks/DRDjLZb3.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,KAAK;AACnF,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvE,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACvD,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,MAAM,GAAG;AACpE,IAAI,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACzD,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,CAAC;;;;;;;AClBW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AAEtG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACx0B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -304,17 +304,30 @@ function _page($$renderer, $$props) {
|
|
|
304
304
|
return null;
|
|
305
305
|
}
|
|
306
306
|
}
|
|
307
|
+
async function fetchUpdateLog() {
|
|
308
|
+
try {
|
|
309
|
+
const res = await fetch("/admin/api/system/update", { cache: "no-store" });
|
|
310
|
+
if (!res.ok) return null;
|
|
311
|
+
return await res.text();
|
|
312
|
+
} catch {
|
|
313
|
+
return null;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
307
316
|
async function waitForAppRestart(previousCommit) {
|
|
308
317
|
updateLogs += "\nWaiting for app to come back online…\n";
|
|
309
318
|
await new Promise((r) => setTimeout(r, 2e3));
|
|
310
319
|
const maxAttempts = 45;
|
|
311
320
|
let consecutiveOk = 0;
|
|
312
321
|
for (let i = 0; i < maxAttempts; i++) {
|
|
313
|
-
const health = await fetchHealth();
|
|
322
|
+
const [health, log] = await Promise.all([fetchHealth(), fetchUpdateLog()]);
|
|
323
|
+
if (log && log.trim().length > 0) {
|
|
324
|
+
updateLogs = log;
|
|
325
|
+
}
|
|
314
326
|
if (health) {
|
|
315
327
|
if (previousCommit && health.commit) {
|
|
316
328
|
if (health.commit !== previousCommit) {
|
|
317
|
-
updateLogs +=
|
|
329
|
+
updateLogs += `
|
|
330
|
+
✓ App is back online on new commit ${health.commit.slice(0, 7)}
|
|
318
331
|
`;
|
|
319
332
|
updateExitCode = 0;
|
|
320
333
|
updateRunning = false;
|
|
@@ -325,7 +338,7 @@ function _page($$renderer, $$props) {
|
|
|
325
338
|
} else {
|
|
326
339
|
consecutiveOk += 1;
|
|
327
340
|
if (consecutiveOk >= 2) {
|
|
328
|
-
updateLogs += "✓ App is back online!\n";
|
|
341
|
+
updateLogs += "\n✓ App is back online!\n";
|
|
329
342
|
updateExitCode = 0;
|
|
330
343
|
updateRunning = false;
|
|
331
344
|
updateRestarting = false;
|
|
@@ -337,7 +350,9 @@ function _page($$renderer, $$props) {
|
|
|
337
350
|
}
|
|
338
351
|
await new Promise((r) => setTimeout(r, 2e3));
|
|
339
352
|
}
|
|
340
|
-
|
|
353
|
+
const finalLog = await fetchUpdateLog();
|
|
354
|
+
if (finalLog && finalLog.trim().length > 0) updateLogs = finalLog;
|
|
355
|
+
updateLogs += "\n⚠ App did not come back within 90s — check PM2 logs.\n";
|
|
341
356
|
updateExitCode = -2;
|
|
342
357
|
updateRunning = false;
|
|
343
358
|
updateRestarting = false;
|
|
@@ -517,4 +532,4 @@ function _page($$renderer, $$props) {
|
|
|
517
532
|
}
|
|
518
533
|
|
|
519
534
|
export { _page as default };
|
|
520
|
-
//# sourceMappingURL=_page.svelte-
|
|
535
|
+
//# sourceMappingURL=_page.svelte-ErdesCSB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-ErdesCSB.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/system/_page.svelte.js"],"sourcesContent":["import { ac as spread_props, ad as escape_html, a6 as attr_class, ae as stringify, a5 as head, a8 as ensure_array_like } from \"../../../../chunks/renderer.js\";\nimport { C as Card, a as Card_content } from \"../../../../chunks/card-content.js\";\nimport { C as Card_header, a as Card_title } from \"../../../../chunks/card-title.js\";\nimport { C as Card_description } from \"../../../../chunks/card-description.js\";\nimport { B as Button } from \"../../../../chunks/button.js\";\nimport { I as Icon } from \"../../../../chunks/utils3.js\";\nimport { R as Root, A as Alert_dialog_content, a as Alert_dialog_header, b as Alert_dialog_title, c as Alert_dialog_description, d as Alert_dialog_footer, e as Alert_dialog_cancel, f as Alert_dialog_action } from \"../../../../chunks/index3.js\";\nimport { S as SectionHeader } from \"../../../../chunks/SectionHeader.js\";\nfunction Refresh_cw($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n { \"d\": \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" }\n ],\n [\"path\", { \"d\": \"M21 3v5h-5\" }],\n [\n \"path\",\n { \"d\": \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" }\n ],\n [\"path\", { \"d\": \"M8 16H3v5\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"refresh-cw\" }, props, { iconNode }]));\n}\nfunction UpdateSection($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n isRunning = false,\n isRestarting = false,\n logs = \"\",\n exitCode = null,\n onRun\n } = $$props;\n let showRunConfirm = false;\n function buttonLabel() {\n if (isRestarting) return \"Restarting & verifying…\";\n if (isRunning) return \"Running…\";\n return \"Run Update\";\n }\n function statusMessage() {\n if (exitCode === null) return null;\n if (exitCode === 0) return { text: \"✓ Update completed successfully\", tone: \"success\" };\n if (exitCode === -2) return {\n text: \"⚠ App did not respond within 90s after restart — check PM2 logs\",\n tone: \"destructive\"\n };\n return {\n text: `Update failed (exit code ${exitCode})`,\n tone: \"destructive\"\n };\n }\n function handleRunClick() {\n showRunConfirm = true;\n }\n function confirmRun() {\n showRunConfirm = false;\n onRun?.();\n }\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Application Update`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_description) {\n $$renderer4.push(\"<!--[-->\");\n Card_description($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Run the update script to pull latest changes and restart`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n class: \"space-y-4\",\n children: ($$renderer4) => {\n Button($$renderer4, {\n onclick: handleRunClick,\n disabled: isRunning,\n variant: \"destructive\",\n children: ($$renderer5) => {\n if (isRestarting) {\n $$renderer5.push(\"<!--[0-->\");\n Refresh_cw($$renderer5, { class: \"mr-2 h-4 w-4 animate-spin\" });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> ${escape_html(buttonLabel())}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n if (isRestarting && exitCode === null) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"border-border bg-muted/50 text-muted-foreground flex items-center gap-2 rounded-md border px-3 py-2 text-sm\">`);\n Refresh_cw($$renderer4, { class: \"h-4 w-4 animate-spin\" });\n $$renderer4.push(`<!----> <span>PM2 is restarting the app — waiting for the new process to come online…</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (logs) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"space-y-2\"><h4 class=\"text-sm font-medium\">Update Logs</h4> <pre class=\"bg-muted text-foreground max-h-96 overflow-auto rounded-md p-4 font-mono text-xs\">${escape_html(logs)}</pre> `);\n if (statusMessage()) {\n $$renderer4.push(\"<!--[0-->\");\n const msg = statusMessage();\n $$renderer4.push(`<p${attr_class(`text-sm font-medium ${stringify(msg.tone === \"success\" ? \"text-success\" : msg.tone === \"destructive\" ? \"text-destructive\" : \"text-muted-foreground\")}`)}>${escape_html(msg.text)}</p>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` `);\n if (Root) {\n $$renderer2.push(\"<!--[-->\");\n Root($$renderer2, {\n open: showRunConfirm,\n onOpenChange: (o) => showRunConfirm = o,\n children: ($$renderer3) => {\n if (Alert_dialog_content) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog_content($$renderer3, {\n children: ($$renderer4) => {\n if (Alert_dialog_header) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_header($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_title) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_title($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Run Update?`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_description) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_description($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->This will pull the latest changes and restart the application. The service will be\n\t\t\t\ttemporarily unavailable.`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Alert_dialog_footer) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_footer($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_cancel) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_cancel($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_action) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_action($$renderer5, {\n onclick: confirmRun,\n disabled: isRunning,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(isRestarting ? \"Restarting…\" : \"Continue\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const flagDescriptions = {\n ALLOW_CROSS_ORG_PUBLIC: \"When on, projects can be made visible to every authenticated user on the instance, not just their own org.\",\n ALLOW_ORG_COMPUTE_OVERRIDE: \"When on, individual orgs can configure their own Rhino.Compute server instead of the instance pool.\",\n ALLOW_ORG_CREATION: 'When on, signed-in users see a \"Create organization\" action. Off by default in self-hosted instances.',\n ENABLE_SHARING: \"When on, editors can mint per-definition share links that grant anonymous external access. When off, the mint/list/revoke routes return 404 and any previously-minted tokens stop resolving.\"\n };\n let updateRunning = false;\n let updateLogs = \"\";\n let updateExitCode = null;\n let updateRestarting = false;\n async function fetchHealth() {\n try {\n const res = await fetch(\"/api/health\", { cache: \"no-store\" });\n if (!res.ok) return null;\n return await res.json();\n } catch {\n return null;\n }\n }\n async function fetchUpdateLog() {\n try {\n const res = await fetch(\"/admin/api/system/update\", { cache: \"no-store\" });\n if (!res.ok) return null;\n return await res.text();\n } catch {\n return null;\n }\n }\n async function waitForAppRestart(previousCommit) {\n updateLogs += \"\\nWaiting for app to come back online…\\n\";\n await new Promise((r) => setTimeout(r, 2e3));\n const maxAttempts = 45;\n let consecutiveOk = 0;\n for (let i = 0; i < maxAttempts; i++) {\n const [health, log] = await Promise.all([fetchHealth(), fetchUpdateLog()]);\n if (log && log.trim().length > 0) {\n updateLogs = log;\n }\n if (health) {\n if (previousCommit && health.commit) {\n if (health.commit !== previousCommit) {\n updateLogs += `\n✓ App is back online on new commit ${health.commit.slice(0, 7)}\n`;\n updateExitCode = 0;\n updateRunning = false;\n updateRestarting = false;\n return;\n }\n consecutiveOk = 0;\n } else {\n consecutiveOk += 1;\n if (consecutiveOk >= 2) {\n updateLogs += \"\\n✓ App is back online!\\n\";\n updateExitCode = 0;\n updateRunning = false;\n updateRestarting = false;\n return;\n }\n }\n } else {\n consecutiveOk = 0;\n }\n await new Promise((r) => setTimeout(r, 2e3));\n }\n const finalLog = await fetchUpdateLog();\n if (finalLog && finalLog.trim().length > 0) updateLogs = finalLog;\n updateLogs += \"\\n⚠ App did not come back within 90s — check PM2 logs.\\n\";\n updateExitCode = -2;\n updateRunning = false;\n updateRestarting = false;\n }\n async function runUpdate() {\n updateRunning = true;\n updateRestarting = false;\n updateLogs = \"\";\n updateExitCode = null;\n const preHealth = await fetchHealth();\n const previousCommit = preHealth?.commit ?? null;\n try {\n const response = await fetch(\"/admin/api/system/update\", { method: \"POST\" });\n if (!response.ok) {\n updateLogs = \"Failed to start update process\";\n updateExitCode = response.status;\n updateRunning = false;\n return;\n }\n const reader = response.body?.getReader();\n const decoder = new TextDecoder();\n if (!reader) {\n updateLogs = \"Failed to read response\";\n updateExitCode = -1;\n updateRunning = false;\n return;\n }\n let buffer = \"\";\n let sawRestarting = false;\n let sawExit = false;\n let streamExitCode = null;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n const parts = buffer.split(\"\\n\\n\");\n buffer = parts.pop();\n for (const part of parts) {\n if (!part.startsWith(\"data: \")) continue;\n try {\n const event = JSON.parse(part.slice(6));\n if (event.type === \"log\") {\n updateLogs += event.data + \"\\n\";\n } else if (event.type === \"restarting\") {\n updateLogs += event.data + \"\\n\";\n updateRestarting = true;\n sawRestarting = true;\n } else if (event.type === \"exit\") {\n sawExit = true;\n streamExitCode = event.code;\n }\n } catch {\n }\n }\n }\n if (sawRestarting) {\n await waitForAppRestart(previousCommit);\n } else if (sawExit && streamExitCode === 0) {\n updateExitCode = 0;\n updateRunning = false;\n } else if (sawExit) {\n updateExitCode = streamExitCode ?? -1;\n updateRunning = false;\n } else {\n await waitForAppRestart(previousCommit);\n }\n } catch (err) {\n if (updateRestarting) {\n await waitForAppRestart(previousCommit);\n } else {\n updateLogs += \"\\nError: \" + (err instanceof Error ? err.message : \"Unknown error\");\n updateExitCode = -1;\n updateRunning = false;\n }\n }\n }\n head(\"1uq49ma\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Admin · System</title>`);\n });\n });\n $$renderer2.push(`<div class=\"space-y-6\">`);\n SectionHeader($$renderer2, {\n eyebrow: \"Admin\",\n title: \"System settings\",\n description: \"Instance-wide configuration, platform flags, and the update runner. To change platform flags, edit SELVA_FLAG_* in your .env and restart the app.\"\n });\n $$renderer2.push(`<!----> `);\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"text-sm font-medium\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Platform flags`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_description) {\n $$renderer4.push(\"<!--[-->\");\n Card_description($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Resolved state of the env-driven flags that control instance behavior. To change a flag,\n\t\t\t\tedit your environment configuration and restart the app.`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array = ensure_array_like(Object.entries(data.flags));\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let [name, value] = each_array[$$index];\n $$renderer4.push(`<div class=\"flex items-start justify-between gap-4 px-4 py-3\"><div class=\"min-w-0 flex-1\"><code class=\"text-foreground font-mono text-xs\">${escape_html(name)}</code> <p class=\"text-muted-foreground mt-1 text-xs\">${escape_html(flagDescriptions[name])}</p></div> <span${attr_class(`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${value ? \"border-success/40 bg-success/10 text-success\" : \"border-border text-muted-foreground\"}`)}>${escape_html(value ? \"On\" : \"Off\")}</span></div>`);\n }\n $$renderer4.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` `);\n if (data.canManageUpdates) {\n $$renderer2.push(\"<!--[0-->\");\n UpdateSection($$renderer2, {\n isRunning: updateRunning,\n isRestarting: updateRestarting,\n logs: updateLogs,\n exitCode: updateExitCode,\n onRun: runUpdate\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAQA,SAAS,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE;AACzC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/C,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM,EAAE,GAAG,EAAE,oDAAoD;AACjE,KAAK;AACL,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACnC,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM,EAAE,GAAG,EAAE,qDAAqD;AAClE,KAAK;AACL,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;AACjC,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC/E;AACA,SAAS,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE;AAC5C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI;AACR,MAAM,SAAS,GAAG,KAAK;AACvB,MAAM,YAAY,GAAG,KAAK;AAC1B,MAAM,IAAI,GAAG,EAAE;AACf,MAAM,QAAQ,GAAG,IAAI;AACrB,MAAM;AACN,KAAK,GAAG,OAAO;AACf,IAAI,IAAI,cAAc,GAAG,KAAK;AAC9B,IAAI,SAAS,WAAW,GAAG;AAC3B,MAAM,IAAI,YAAY,EAAE,OAAO,yBAAyB;AACxD,MAAM,IAAI,SAAS,EAAE,OAAO,UAAU;AACtC,MAAM,OAAO,YAAY;AACzB,IAAI;AACJ,IAAI,SAAS,aAAa,GAAG;AAC7B,MAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,OAAO,IAAI;AACxC,MAAM,IAAI,QAAQ,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,SAAS,EAAE;AAC7F,MAAM,IAAI,QAAQ,KAAK,EAAE,EAAE,OAAO;AAClC,QAAQ,IAAI,EAAE,iEAAiE;AAC/E,QAAQ,IAAI,EAAE;AACd,OAAO;AACP,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrD,QAAQ,IAAI,EAAE;AACd,OAAO;AACP,IAAI;AACJ,IAAI,SAAS,cAAc,GAAG;AAC9B,MAAM,cAAc,GAAG,IAAI;AAC3B,IAAI;AACJ,IAAI,SAAS,UAAU,GAAG;AAC1B,MAAM,cAAc,GAAG,KAAK;AAC5B,MAAM,KAAK,IAAI;AACf,IAAI;AACJ,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,IAAI,WAAW,EAAE;AAC3B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,WAAW,CAAC,WAAW,EAAE;AACrC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,IAAI,UAAU,EAAE;AAChC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,UAAU,CAAC,WAAW,EAAE;AAC1C,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC;AACnE,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,gBAAgB,EAAE;AACtC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,gBAAgB,CAAC,WAAW,EAAE;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,+DAA+D,CAAC,CAAC;AACzG,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,YAAY,CAAC,WAAW,EAAE;AACtC,cAAc,KAAK,EAAE,WAAW;AAChC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,MAAM,CAAC,WAAW,EAAE;AACpC,kBAAkB,OAAO,EAAE,cAAc;AACzC,kBAAkB,QAAQ,EAAE,SAAS;AACrC,kBAAkB,OAAO,EAAE,aAAa;AACxC,kBAAkB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC7C,oBAAoB,IAAI,YAAY,EAAE;AACtC,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;AACrF,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9E,kBAAkB,CAAC;AACnB,kBAAkB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC1C,iBAAiB,CAAC;AAClB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,gBAAgB,IAAI,YAAY,IAAI,QAAQ,KAAK,IAAI,EAAE;AACvD,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,yHAAyH,CAAC,CAAC;AAC/J,kBAAkB,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;AAC5E,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,kGAAkG,CAAC,CAAC;AACxI,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC7C,gBAAgB,IAAI,IAAI,EAAE;AAC1B,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,sKAAsK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACvO,kBAAkB,IAAI,aAAa,EAAE,EAAE;AACvC,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,MAAM,GAAG,GAAG,aAAa,EAAE;AAC/C,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,GAAG,cAAc,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,GAAG,kBAAkB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7O,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAClD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACpD,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,IAAI,EAAE,cAAc;AAC5B,QAAQ,YAAY,EAAE,CAAC,CAAC,KAAK,cAAc,GAAG,CAAC;AAC/C,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,IAAI,oBAAoB,EAAE;AACpC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,oBAAoB,CAAC,WAAW,EAAE;AAC9C,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,IAAI,mBAAmB,EAAE;AACzC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,mBAAmB,CAAC,WAAW,EAAE;AACnD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,IAAI,kBAAkB,EAAE;AAC9C,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,kBAAkB,CAAC,WAAW,EAAE;AACxD,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAClE,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,sBAAsB,IAAI,wBAAwB,EAAE;AACpD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,wBAAwB,CAAC,WAAW,EAAE;AAC9D,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC;AAC9C,4BAA4B,CAAC,CAAC;AAC9B,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,mBAAmB,EAAE;AACzC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,mBAAmB,CAAC,WAAW,EAAE;AACnD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,IAAI,mBAAmB,EAAE;AAC/C,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,mBAAmB,CAAC,WAAW,EAAE;AACzD,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC7D,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,sBAAsB,IAAI,mBAAmB,EAAE;AAC/C,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,wBAAwB,mBAAmB,CAAC,WAAW,EAAE;AACzD,0BAA0B,OAAO,EAAE,UAAU;AAC7C,0BAA0B,QAAQ,EAAE,SAAS;AAC7C,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAChH,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpD,sBAAsB;AACtB,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC1B,IAAI,MAAM,gBAAgB,GAAG;AAC7B,MAAM,sBAAsB,EAAE,4GAA4G;AAC1I,MAAM,0BAA0B,EAAE,qGAAqG;AACvI,MAAM,kBAAkB,EAAE,uGAAuG;AACjI,MAAM,cAAc,EAAE;AACtB,KAAK;AACL,IAAI,IAAI,aAAa,GAAG,KAAK;AAC7B,IAAI,IAAI,UAAU,GAAG,EAAE;AACvB,IAAI,IAAI,cAAc,GAAG,IAAI;AAC7B,IAAI,IAAI,gBAAgB,GAAG,KAAK;AAChC,IAAI,eAAe,WAAW,GAAG;AACjC,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrE,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI;AAChC,QAAQ,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE;AAC/B,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,OAAO,IAAI;AACnB,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,cAAc,GAAG;AACpC,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAClF,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI;AAChC,QAAQ,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE;AAC/B,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,OAAO,IAAI;AACnB,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,iBAAiB,CAAC,cAAc,EAAE;AACrD,MAAM,UAAU,IAAI,0CAA0C;AAC9D,MAAM,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,EAAE;AAC5B,MAAM,IAAI,aAAa,GAAG,CAAC;AAC3B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;AAC5C,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;AAClF,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,UAAU,UAAU,GAAG,GAAG;AAC1B,QAAQ;AACR,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE;AAC/C,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE;AAClD,cAAc,UAAU,IAAI;AAC5B,mCAAmC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AACD,cAAc,cAAc,GAAG,CAAC;AAChC,cAAc,aAAa,GAAG,KAAK;AACnC,cAAc,gBAAgB,GAAG,KAAK;AACtC,cAAc;AACd,YAAY;AACZ,YAAY,aAAa,GAAG,CAAC;AAC7B,UAAU,CAAC,MAAM;AACjB,YAAY,aAAa,IAAI,CAAC;AAC9B,YAAY,IAAI,aAAa,IAAI,CAAC,EAAE;AACpC,cAAc,UAAU,IAAI,2BAA2B;AACvD,cAAc,cAAc,GAAG,CAAC;AAChC,cAAc,aAAa,GAAG,KAAK;AACnC,cAAc,gBAAgB,GAAG,KAAK;AACtC,cAAc;AACd,YAAY;AACZ,UAAU;AACV,QAAQ,CAAC,MAAM;AACf,UAAU,aAAa,GAAG,CAAC;AAC3B,QAAQ;AACR,QAAQ,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE;AAC7C,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ;AACvE,MAAM,UAAU,IAAI,0DAA0D;AAC9E,MAAM,cAAc,GAAG,EAAE;AACzB,MAAM,aAAa,GAAG,KAAK;AAC3B,MAAM,gBAAgB,GAAG,KAAK;AAC9B,IAAI;AACJ,IAAI,eAAe,SAAS,GAAG;AAC/B,MAAM,aAAa,GAAG,IAAI;AAC1B,MAAM,gBAAgB,GAAG,KAAK;AAC9B,MAAM,UAAU,GAAG,EAAE;AACrB,MAAM,cAAc,GAAG,IAAI;AAC3B,MAAM,MAAM,SAAS,GAAG,MAAM,WAAW,EAAE;AAC3C,MAAM,MAAM,cAAc,GAAG,SAAS,EAAE,MAAM,IAAI,IAAI;AACtD,MAAM,IAAI;AACV,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpF,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAC1B,UAAU,UAAU,GAAG,gCAAgC;AACvD,UAAU,cAAc,GAAG,QAAQ,CAAC,MAAM;AAC1C,UAAU,aAAa,GAAG,KAAK;AAC/B,UAAU;AACV,QAAQ;AACR,QAAQ,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE;AACjD,QAAQ,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,UAAU,UAAU,GAAG,yBAAyB;AAChD,UAAU,cAAc,GAAG,CAAC,CAAC;AAC7B,UAAU,aAAa,GAAG,KAAK;AAC/B,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,MAAM,GAAG,EAAE;AACvB,QAAQ,IAAI,aAAa,GAAG,KAAK;AACjC,QAAQ,IAAI,OAAO,GAAG,KAAK;AAC3B,QAAQ,IAAI,cAAc,GAAG,IAAI;AACjC,QAAQ,OAAO,IAAI,EAAE;AACrB,UAAU,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AACrD,UAAU,IAAI,IAAI,EAAE;AACpB,UAAU,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3D,UAAU,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAC5C,UAAU,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;AAC9B,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACpC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC5C,YAAY,IAAI;AAChB,cAAc,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrD,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;AACxC,gBAAgB,UAAU,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;AAC/C,cAAc,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACtD,gBAAgB,UAAU,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;AAC/C,gBAAgB,gBAAgB,GAAG,IAAI;AACvC,gBAAgB,aAAa,GAAG,IAAI;AACpC,cAAc,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AAChD,gBAAgB,OAAO,GAAG,IAAI;AAC9B,gBAAgB,cAAc,GAAG,KAAK,CAAC,IAAI;AAC3C,cAAc;AACd,YAAY,CAAC,CAAC,MAAM;AACpB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,MAAM,iBAAiB,CAAC,cAAc,CAAC;AACjD,QAAQ,CAAC,MAAM,IAAI,OAAO,IAAI,cAAc,KAAK,CAAC,EAAE;AACpD,UAAU,cAAc,GAAG,CAAC;AAC5B,UAAU,aAAa,GAAG,KAAK;AAC/B,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE;AAC5B,UAAU,cAAc,GAAG,cAAc,IAAI,CAAC,CAAC;AAC/C,UAAU,aAAa,GAAG,KAAK;AAC/B,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,iBAAiB,CAAC,cAAc,CAAC;AACjD,QAAQ;AACR,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,UAAU,MAAM,iBAAiB,CAAC,cAAc,CAAC;AACjD,QAAQ,CAAC,MAAM;AACf,UAAU,UAAU,IAAI,WAAW,IAAI,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC;AAC5F,UAAU,cAAc,GAAG,EAAE;AAC7B,UAAU,aAAa,GAAG,KAAK;AAC/B,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AAClD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AACzC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,6BAA6B,CAAC,CAAC;AACzD,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAC/C,IAAI,aAAa,CAAC,WAAW,EAAE;AAC/B,MAAM,OAAO,EAAE,OAAO;AACtB,MAAM,KAAK,EAAE,iBAAiB;AAC9B,MAAM,WAAW,EAAE;AACnB,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,IAAI,WAAW,EAAE;AAC3B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,WAAW,CAAC,WAAW,EAAE;AACrC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,IAAI,UAAU,EAAE;AAChC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,UAAU,CAAC,WAAW,EAAE;AAC1C,oBAAoB,KAAK,EAAE,qBAAqB;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAC/D,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,gBAAgB,EAAE;AACtC,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,kBAAkB,gBAAgB,CAAC,WAAW,EAAE;AAChD,oBAAoB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/C,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC;AACxC,4DAA4D,CAAC,CAAC;AAC9D,oBAAoB,CAAC;AACrB,oBAAoB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC5C,mBAAmB,CAAC;AACpB,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB,CAAC,MAAM;AACvB,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,kBAAkB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,gBAAgB;AAChB,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAY,YAAY,CAAC,WAAW,EAAE;AACtC,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,gDAAgD,CAAC,CAAC;AACpF,gBAAgB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChF,gBAAgB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACnG,kBAAkB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;AACzD,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,0IAA0I,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,8EAA8E,EAAE,KAAK,GAAG,8CAA8C,GAAG,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;AACliB,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAClD,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,aAAa,CAAC,WAAW,EAAE;AACjC,QAAQ,SAAS,EAAE,aAAa;AAChC,QAAQ,YAAY,EAAE,gBAAgB;AACtC,QAAQ,IAAI,EAAE,UAAU;AACxB,QAAQ,QAAQ,EAAE,cAAc;AAChC,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -53,10 +53,10 @@ function _page($$renderer, $$props) {
|
|
|
53
53
|
const brandName = derived(() => page.data.branding.name);
|
|
54
54
|
let { data } = $$props;
|
|
55
55
|
const build = {
|
|
56
|
-
hash: "
|
|
57
|
-
fullHash: "
|
|
58
|
-
message: "
|
|
59
|
-
date: "2026-05-15
|
|
56
|
+
hash: "d71e7c2",
|
|
57
|
+
fullHash: "d71e7c271c7beaeb9102a0f62adb0393e0175ef1",
|
|
58
|
+
message: "chore: bump package versions to 2.0.4 and update changelogs",
|
|
59
|
+
date: "2026-05-15 12:42:20 +0200"
|
|
60
60
|
};
|
|
61
61
|
const can = (p) => data.platformPermissions.includes("instance_admin") || data.platformPermissions.includes(p);
|
|
62
62
|
const tiles = derived(() => [
|
|
@@ -165,4 +165,4 @@ function _page($$renderer, $$props) {
|
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
export { _page as default };
|
|
168
|
-
//# sourceMappingURL=_page.svelte-
|
|
168
|
+
//# sourceMappingURL=_page.svelte-cjTi5BVx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-cjTi5BVx.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.svelte.js"],"sourcesContent":["import { ac as spread_props, a5 as head, ae as stringify, a8 as ensure_array_like, a4 as attr, ad as escape_html, a2 as derived } from \"../../../chunks/renderer.js\";\nimport { p as page } from \"../../../chunks/index.js\";\nimport { S as StatCard } from \"../../../chunks/StatCard.js\";\nimport { S as SectionHeader } from \"../../../chunks/SectionHeader.js\";\nimport { C as Card, a as Card_content } from \"../../../chunks/card-content.js\";\nimport { C as Card_header, a as Card_title } from \"../../../chunks/card-title.js\";\nimport { I as Icon } from \"../../../chunks/utils3.js\";\nimport { U as Users } from \"../../../chunks/users.js\";\nimport { B as Building_2 } from \"../../../chunks/building-2.js\";\nimport { S as Server } from \"../../../chunks/server.js\";\nfunction Git_commit_horizontal($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"3\" }],\n [\"line\", { \"x1\": \"3\", \"x2\": \"9\", \"y1\": \"12\", \"y2\": \"12\" }],\n [\"line\", { \"x1\": \"15\", \"x2\": \"21\", \"y1\": \"12\", \"y2\": \"12\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"git-commit-horizontal\" }, props, { iconNode }]));\n}\nfunction Layout_dashboard($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"9\", \"x\": \"3\", \"y\": \"3\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"5\", \"x\": \"14\", \"y\": \"3\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"9\", \"x\": \"14\", \"y\": \"12\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"5\", \"x\": \"3\", \"y\": \"16\", \"rx\": \"1\" }\n ]\n ];\n Icon($$renderer, spread_props([{ name: \"layout-dashboard\" }, props, { iconNode }]));\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const brandName = derived(() => page.data.branding.name);\n let { data } = $$props;\n const build = {\n hash: \"d71e7c2\",\n fullHash: \"d71e7c271c7beaeb9102a0f62adb0393e0175ef1\",\n message: \"chore: bump package versions to 2.0.4 and update changelogs\",\n date: \"2026-05-15 12:42:20 +0200\"\n };\n const can = (p) => data.platformPermissions.includes(\"instance_admin\") || data.platformPermissions.includes(p);\n const tiles = derived(() => [\n {\n href: \"/admin/users\",\n icon: Users,\n value: data.stats.users ?? \"—\",\n label: data.stats.users === null ? \"User store unavailable\" : `User${data.stats.users === 1 ? \"\" : \"s\"}`,\n show: can(\"manage_instance_users\")\n },\n {\n href: \"/admin/organizations\",\n icon: Building_2,\n value: \"Organizations\",\n label: \"All orgs on this instance\",\n show: can(\"instance_admin\")\n },\n {\n href: \"/admin/compute\",\n icon: Server,\n value: \"Compute\",\n label: \"Servers, status & config\",\n show: can(\"manage_compute\")\n },\n {\n href: \"/projects\",\n icon: Layout_dashboard,\n value: \"Content\",\n label: \"Definitions & projects\",\n show: can(\"instance_admin\")\n }\n ].filter((t) => t.show));\n head(\"1jef3w8\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Admin · General</title>`);\n });\n });\n $$renderer2.push(`<div class=\"space-y-6\">`);\n SectionHeader($$renderer2, {\n eyebrow: \"Admin\",\n title: \"General\",\n description: `At-a-glance health of this ${stringify(brandName())} instance — users, compute, and content.`\n });\n $$renderer2.push(`<!----> <div class=\"grid gap-3 sm:grid-cols-2 lg:grid-cols-3\"><!--[-->`);\n const each_array = ensure_array_like(tiles());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let tile = each_array[$$index];\n StatCard($$renderer2, spread_props([tile]));\n }\n $$renderer2.push(`<!--]--></div> `);\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"flex items-center gap-2 text-sm font-medium\",\n children: ($$renderer5) => {\n Git_commit_horizontal($$renderer5, { class: \"text-muted-foreground h-4 w-4\" });\n $$renderer5.push(`<!----> Web app build`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"flex flex-wrap items-baseline gap-x-3 gap-y-1\"><code class=\"text-foreground font-mono text-xs\"${attr(\"title\", build.fullHash)}>${escape_html(build.hash)}</code> <span class=\"text-muted-foreground text-xs\">${escape_html(build.message)}</span> <span class=\"text-muted-foreground text-xs\">${escape_html(build.date)}</span></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(`</div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'child_process';
|
|
2
2
|
import { join } from 'path';
|
|
3
|
-
import {
|
|
3
|
+
import { readFileSync, existsSync } from 'fs';
|
|
4
4
|
import { b as private_env } from './shared-server-DaWdgxVh.js';
|
|
5
5
|
import { b as requirePermission } from './access.server-DVG3xnR_.js';
|
|
6
6
|
import '@sveltejs/kit';
|
|
@@ -15,6 +15,7 @@ import 'node:fs/promises';
|
|
|
15
15
|
import '@supabase/supabase-js';
|
|
16
16
|
import './api-errors-DGHmIOGJ.js';
|
|
17
17
|
|
|
18
|
+
const UPDATE_LOG_PATH = "/tmp/selva-update.log";
|
|
18
19
|
function stripAnsi(str) {
|
|
19
20
|
return str.replace(/\x1B\[[0-9;]*[mGKHF]/g, "");
|
|
20
21
|
}
|
|
@@ -31,6 +32,17 @@ function readRuntimeVersion(dir) {
|
|
|
31
32
|
function shellQuote(s) {
|
|
32
33
|
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
33
34
|
}
|
|
35
|
+
function wrapWithTee(innerCommand, prelude = []) {
|
|
36
|
+
const echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join("\n");
|
|
37
|
+
return `
|
|
38
|
+
LOGFILE=${shellQuote(UPDATE_LOG_PATH)}
|
|
39
|
+
mkdir -p "$(dirname "$LOGFILE")"
|
|
40
|
+
: > "$LOGFILE"
|
|
41
|
+
exec > >(tee -a "$LOGFILE") 2>&1
|
|
42
|
+
${echoes}
|
|
43
|
+
${innerCommand}
|
|
44
|
+
`;
|
|
45
|
+
}
|
|
34
46
|
function buildNpmUpdateScript(npmArgs, versionBefore) {
|
|
35
47
|
const npmCommand = ["npm", ...npmArgs].map(shellQuote).join(" ");
|
|
36
48
|
const before = shellQuote(versionBefore ?? "");
|
|
@@ -38,6 +50,24 @@ function buildNpmUpdateScript(npmArgs, versionBefore) {
|
|
|
38
50
|
set -o pipefail
|
|
39
51
|
BEFORE=${before}
|
|
40
52
|
|
|
53
|
+
# PM2's in-memory daemon and the installed CLI can drift apart after a
|
|
54
|
+
# global pm2 upgrade — the daemon keeps running whatever version started it,
|
|
55
|
+
# while the CLI on disk moves forward. When they diverge, PM2 prints
|
|
56
|
+
# "In-memory PM2 is out-of-date" and process commands talk to a stale
|
|
57
|
+
# daemon, manifesting as restarts that stop the old process but never bring
|
|
58
|
+
# the new one online. \`pm2 update\` dumps processes, kills the daemon,
|
|
59
|
+
# respawns it on the current CLI version, and restores the processes.
|
|
60
|
+
# Resync proactively so the stop/start below talks to a coherent daemon.
|
|
61
|
+
echo "[STEP] Checking PM2 daemon/CLI version sync"
|
|
62
|
+
if pm2 ping 2>&1 | grep -q "out-of-date" || pm2 list 2>&1 | grep -q "out-of-date"; then
|
|
63
|
+
echo "[STEP] PM2 daemon is out-of-date — running 'pm2 update' to resync before touching the app"
|
|
64
|
+
if ! pm2 update; then
|
|
65
|
+
echo "[FATAL] pm2 update failed — aborting before stopping the running app"
|
|
66
|
+
exit 1
|
|
67
|
+
fi
|
|
68
|
+
echo "[INFO] PM2 daemon resynced"
|
|
69
|
+
fi
|
|
70
|
+
|
|
41
71
|
# IMPORTANT: stop the running process BEFORE npm update overwrites build/.
|
|
42
72
|
# SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on
|
|
43
73
|
# every request. If we let npm rewrite build/ while the old process is still
|
|
@@ -181,13 +211,14 @@ const POST = async ({ locals }) => {
|
|
|
181
211
|
controller.enqueue(encoder.encode(message));
|
|
182
212
|
}
|
|
183
213
|
try {
|
|
184
|
-
sendEvent("log", { data: `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})` });
|
|
185
214
|
const versionBefore = plan.mode === "npm" ? readRuntimeVersion(plan.cwd) : void 0;
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
const
|
|
215
|
+
const prelude = [
|
|
216
|
+
`[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})`,
|
|
217
|
+
...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []
|
|
218
|
+
];
|
|
219
|
+
const innerCommand = plan.mode === "git" ? `exec ${shellQuote(plan.cmd)} ${plan.args.map(shellQuote).join(" ")}` : buildNpmUpdateScript(plan.args, versionBefore);
|
|
220
|
+
const cmd = "bash";
|
|
221
|
+
const args = ["-c", wrapWithTee(innerCommand, prelude)];
|
|
191
222
|
const child = spawn(cmd, args, {
|
|
192
223
|
cwd: plan.cwd,
|
|
193
224
|
env: {
|
|
@@ -261,6 +292,20 @@ const POST = async ({ locals }) => {
|
|
|
261
292
|
}
|
|
262
293
|
});
|
|
263
294
|
};
|
|
295
|
+
const GET = async ({ locals }) => {
|
|
296
|
+
requirePermission(locals, "instance_admin");
|
|
297
|
+
let body = "";
|
|
298
|
+
try {
|
|
299
|
+
body = readFileSync(UPDATE_LOG_PATH, "utf8");
|
|
300
|
+
} catch {
|
|
301
|
+
}
|
|
302
|
+
return new Response(body, {
|
|
303
|
+
headers: {
|
|
304
|
+
"Content-Type": "text/plain; charset=utf-8",
|
|
305
|
+
"Cache-Control": "no-store"
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
};
|
|
264
309
|
|
|
265
|
-
export { POST };
|
|
266
|
-
//# sourceMappingURL=_server.ts-
|
|
310
|
+
export { GET, POST };
|
|
311
|
+
//# sourceMappingURL=_server.ts-AF3sjnPA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-AF3sjnPA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/system/update/_server.ts.js"],"sourcesContent":["import { spawn } from \"child_process\";\nimport { join } from \"path\";\nimport { readFileSync, existsSync } from \"fs\";\nimport { b as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport { b as requirePermission } from \"../../../../../../chunks/access.server.js\";\nconst UPDATE_LOG_PATH = \"/tmp/selva-update.log\";\nfunction stripAnsi(str) {\n return str.replace(/\\x1B\\[[0-9;]*[mGKHF]/g, \"\");\n}\nfunction readRuntimeVersion(dir) {\n try {\n const pkg = JSON.parse(\n readFileSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"), \"utf8\")\n );\n return typeof pkg.version === \"string\" ? pkg.version : void 0;\n } catch {\n return void 0;\n }\n}\nfunction shellQuote(s) {\n return `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\nfunction wrapWithTee(innerCommand, prelude = []) {\n const echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join(\"\\n\");\n return `\nLOGFILE=${shellQuote(UPDATE_LOG_PATH)}\nmkdir -p \"$(dirname \"$LOGFILE\")\"\n: > \"$LOGFILE\"\nexec > >(tee -a \"$LOGFILE\") 2>&1\n${echoes}\n${innerCommand}\n`;\n}\nfunction buildNpmUpdateScript(npmArgs, versionBefore) {\n const npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n const before = shellQuote(versionBefore ?? \"\");\n return `\nset -o pipefail\nBEFORE=${before}\n\n# PM2's in-memory daemon and the installed CLI can drift apart after a\n# global pm2 upgrade — the daemon keeps running whatever version started it,\n# while the CLI on disk moves forward. When they diverge, PM2 prints\n# \"In-memory PM2 is out-of-date\" and process commands talk to a stale\n# daemon, manifesting as restarts that stop the old process but never bring\n# the new one online. \\`pm2 update\\` dumps processes, kills the daemon,\n# respawns it on the current CLI version, and restores the processes.\n# Resync proactively so the stop/start below talks to a coherent daemon.\necho \"[STEP] Checking PM2 daemon/CLI version sync\"\nif pm2 ping 2>&1 | grep -q \"out-of-date\" || pm2 list 2>&1 | grep -q \"out-of-date\"; then\n echo \"[STEP] PM2 daemon is out-of-date — running 'pm2 update' to resync before touching the app\"\n if ! pm2 update; then\n echo \"[FATAL] pm2 update failed — aborting before stopping the running app\"\n exit 1\n fi\n echo \"[INFO] PM2 daemon resynced\"\nfi\n\n# IMPORTANT: stop the running process BEFORE npm update overwrites build/.\n# SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on\n# every request. If we let npm rewrite build/ while the old process is still\n# serving traffic, in-flight requests hit ERR_MODULE_NOT_FOUND for chunks\n# whose hash just changed under their feet. Stopping first is a brief\n# downtime window (~1-2s longer than restart-in-place) for a much smaller\n# blast radius.\necho \"[STEP] Stopping selva-compute (graceful drain via kill_timeout in ecosystem.config.cjs)\"\nif ! pm2 stop selva-compute; then\n echo \"[WARN] pm2 stop failed — selva-compute may not be running yet. Continuing.\"\nfi\n\necho \"[STEP] Updating @selvajs/* packages\"\nif ! ${npmCommand}; then\n echo \"[FATAL] npm update failed — restarting old build to recover\"\n pm2 start selva-compute --update-env >/dev/null 2>&1 || true\n exit 1\nfi\n\nAFTER=$(node -e \"try{console.log(require('./node_modules/@selvajs/selva/package.json').version)}catch(e){}\" 2>/dev/null)\necho \"[INFO] New @selvajs/selva: \\${AFTER:-unknown}\"\n\nif [ -n \"$BEFORE\" ] && [ \"$BEFORE\" = \"$AFTER\" ]; then\n echo \"[WARN] No version change ($BEFORE). Your npm cache may be stale.\"\n echo \"[WARN] Recover with:\"\n echo \"[WARN] npm cache clean --force\"\n echo \"[WARN] rm -rf node_modules package-lock.json\"\n echo \"[WARN] npm install --prefer-online\"\nfi\n\necho \"[STEP] Starting selva-compute with new build\"\nif ! pm2 start selva-compute --update-env; then\n echo \"[FATAL] pm2 start failed — investigate with \\\\\\`pm2 logs selva-compute\\\\\\`\"\n exit 2\nfi\n\necho \"[STEP] Health-probing the new process\"\nHEALTHY=0\nfor i in $(seq 1 15); do\n sleep 2\n CODE=$(curl -sS -o /tmp/selva-health.$$ -w \"%{http_code}\" --max-time 5 http://localhost:3000/api/health 2>/dev/null || echo \"000\")\n if [ \"$CODE\" = \"200\" ]; then\n HEALTHY=1\n echo \"[INFO] Health probe passed after \\${i} attempt(s)\"\n rm -f /tmp/selva-health.$$\n break\n fi\n echo \"[INFO] Probe attempt $i/15: HTTP $CODE — retrying\"\ndone\n\nif [ \"$HEALTHY\" = \"1\" ]; then\n echo \"[DONE] Update complete\"\n exit 0\nfi\n\necho \"[FATAL] New process failed health check after 30s\"\nif [ -f /tmp/selva-health.$$ ]; then\n echo \"[FATAL] Last response body:\"\n cat /tmp/selva-health.$$\n rm -f /tmp/selva-health.$$\nfi\n\nif [ -z \"$BEFORE\" ]; then\n echo \"[FATAL] No prior version recorded — cannot roll back automatically.\"\n echo \"[FATAL] Manually install the version you want: npm install @selvajs/selva@<version>\"\n exit 3\nfi\n\necho \"[STEP] Rolling back @selvajs/selva to $BEFORE\"\npm2 stop selva-compute >/dev/null 2>&1 || true\nif ! npm install --save \"@selvajs/selva@$BEFORE\"; then\n echo \"[FATAL] Rollback npm install failed — manual intervention required.\"\n pm2 start selva-compute --update-env >/dev/null 2>&1 || true\n exit 4\nfi\n\npm2 start selva-compute --update-env || true\nsleep 3\nROLLBACK_CODE=$(curl -sS -o /dev/null -w \"%{http_code}\" --max-time 5 http://localhost:3000/api/health 2>/dev/null || echo \"000\")\nif [ \"$ROLLBACK_CODE\" = \"200\" ]; then\n echo \"[DONE] Rolled back to $BEFORE — previous version is online\"\n exit 5\nfi\n\necho \"[FATAL] Rollback restart also failed health check (HTTP $ROLLBACK_CODE)\"\necho \"[FATAL] Manual recovery required. Check: pm2 logs selva-compute\"\nexit 6\n`;\n}\nfunction detectUpdatePlan() {\n if (private_env.INSTALL_DIR && existsSync(join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: private_env.INSTALL_DIR,\n cmd: \"bash\",\n args: [join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\")]\n };\n }\n let dir = process.cwd();\n for (let i = 0; i < 6; i++) {\n if (existsSync(join(dir, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: dir,\n cmd: \"bash\",\n args: [join(dir, \"scripts\", \"update.sh\")]\n };\n }\n if (existsSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"))) {\n return {\n mode: \"npm\",\n cwd: dir,\n cmd: \"npm\",\n args: [\"update\", \"--save\", \"--prefer-online\", \"@selvajs/cli\", \"@selvajs/selva\"]\n };\n }\n const parent = join(dir, \"..\");\n if (parent === dir) break;\n dir = parent;\n }\n return null;\n}\nconst POST = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const plan = detectUpdatePlan();\n if (!plan) {\n return new Response(\n JSON.stringify({\n error: \"Couldn't determine how to update this deployment. Expected either scripts/update.sh (monorepo) or node_modules/@selvajs/selva (CLI scaffold) in the cwd or a parent.\"\n }),\n { status: 500, headers: { \"Content-Type\": \"application/json\" } }\n );\n }\n const stream = new ReadableStream({\n start(controller) {\n const encoder = new TextEncoder();\n function sendEvent(type, data) {\n const message = `data: ${JSON.stringify({ type, ...data })}\n\n`;\n controller.enqueue(encoder.encode(message));\n }\n try {\n const versionBefore = plan.mode === \"npm\" ? readRuntimeVersion(plan.cwd) : void 0;\n const prelude = [\n `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})`,\n ...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []\n ];\n const innerCommand = plan.mode === \"git\" ? `exec ${shellQuote(plan.cmd)} ${plan.args.map(shellQuote).join(\" \")}` : buildNpmUpdateScript(plan.args, versionBefore);\n const cmd = \"bash\";\n const args = [\"-c\", wrapWithTee(innerCommand, prelude)];\n const child = spawn(cmd, args, {\n cwd: plan.cwd,\n env: {\n PATH: process.env.PATH,\n HOME: process.env.HOME,\n INSTALL_DIR: plan.cwd\n },\n detached: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"]\n });\n child.unref();\n const timeout = setTimeout(\n () => {\n try {\n if (child.pid) process.kill(-child.pid, \"SIGTERM\");\n } catch {\n }\n sendEvent(\"log\", { data: \"[FATAL] Update timed out after 15 minutes\" });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n },\n 15 * 60 * 1e3\n );\n let restarting = false;\n child.stdout.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n if (!restarting && (clean.includes(\"Applying action stopProcessId\") || clean.includes(\"Applying action restartProcessId\"))) {\n restarting = true;\n sendEvent(\"restarting\", { data: clean });\n } else {\n sendEvent(\"log\", { data: clean });\n }\n }\n }\n });\n child.stderr.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n sendEvent(\"log\", { data: `[ERROR] ${clean}` });\n }\n }\n });\n child.on(\"close\", (code) => {\n clearTimeout(timeout);\n sendEvent(\"exit\", { code: code ?? -1 });\n controller.close();\n });\n child.on(\"error\", (err) => {\n clearTimeout(timeout);\n sendEvent(\"log\", { data: `[FATAL] ${err.message}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n });\n } catch (err) {\n sendEvent(\"log\", { data: `[FATAL] Failed to spawn process: ${err}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n }\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n};\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n let body = \"\";\n try {\n body = readFileSync(UPDATE_LOG_PATH, \"utf8\");\n } catch {\n }\n return new Response(body, {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n \"Cache-Control\": \"no-store\"\n }\n });\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,MAAM,eAAe,GAAG,uBAAuB;AAC/C,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;AACjD;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK;AAC1B,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM;AACzF,KAAK;AACL,IAAI,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACjE,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,MAAM;AACjB,EAAE;AACF;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC;AACA,SAAS,WAAW,CAAC,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE;AACjD,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7E,EAAE,OAAO;AACT,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC;AACrC;AACA;AACA;AACA,EAAE,MAAM;AACR,EAAE,YAAY;AACd,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE;AACtD,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AAChD,EAAE,OAAO;AACT;AACA,OAAO,EAAE,MAAM;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,EAAE,UAAU,CAAC;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI,WAAW,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;AACpG,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,GAAG,EAAE,WAAW,CAAC,WAAW;AAClC,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC;AAClE,KAAK;AACL,EAAE;AACF,EAAE,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;AACzB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9B,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;AACvD,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC;AAChD,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE;AACpF,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,GAAG,EAAE,KAAK;AAClB,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB;AACtF,OAAO;AACP,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AAClC,IAAI,IAAI,MAAM,KAAK,GAAG,EAAE;AACxB,IAAI,GAAG,GAAG,MAAM;AAChB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,IAAI,GAAG,gBAAgB,EAAE;AACjC,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,IAAI,QAAQ;AACvB,MAAM,IAAI,CAAC,SAAS,CAAC;AACrB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACpE,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;AACpC,IAAI,KAAK,CAAC,UAAU,EAAE;AACtB,MAAM,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AACvC,MAAM,SAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE;AACrC,QAAQ,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;;AAElE,CAAC;AACD,QAAQ,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnD,MAAM;AACN,MAAM,IAAI;AACV,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACzF,QAAQ,MAAM,OAAO,GAAG;AACxB,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,UAAU,GAAG,aAAa,GAAG,CAAC,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;AACnF,SAAS;AACT,QAAQ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;AACzK,QAAQ,MAAM,GAAG,GAAG,MAAM;AAC1B,QAAQ,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC/D,QAAQ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;AACvC,UAAU,GAAG,EAAE,IAAI,CAAC,GAAG;AACvB,UAAU,GAAG,EAAE;AACf,YAAY,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;AAClC,YAAY,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;AAClC,YAAY,WAAW,EAAE,IAAI,CAAC;AAC9B,WAAW;AACX,UAAU,QAAQ,EAAE,IAAI;AACxB,UAAU,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;AAC1C,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,KAAK,EAAE;AACrB,QAAQ,MAAM,OAAO,GAAG,UAAU;AAClC,UAAU,MAAM;AAChB,YAAY,IAAI;AAChB,cAAc,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;AAChE,YAAY,CAAC,CAAC,MAAM;AACpB,YAAY;AACZ,YAAY,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;AACnF,YAAY,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3C,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,UAAU,CAAC;AACX,UAAU,EAAE,GAAG,EAAE,GAAG;AACpB,SAAS;AACT,QAAQ,IAAI,UAAU,GAAG,KAAK;AAC9B,QAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK;AAC1C,UAAU,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;AACnD,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACpC,YAAY,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AAChD,YAAY,IAAI,KAAK,EAAE;AACvB,cAAc,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,EAAE;AAC1I,gBAAgB,UAAU,GAAG,IAAI;AACjC,gBAAgB,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACxD,cAAc,CAAC,MAAM;AACrB,gBAAgB,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACjD,cAAc;AACd,YAAY;AACZ,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,QAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK;AAC1C,UAAU,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;AACnD,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACpC,YAAY,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AAChD,YAAY,IAAI,KAAK,EAAE;AACvB,cAAc,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AAC5D,YAAY;AACZ,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,QAAQ,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK;AACpC,UAAU,YAAY,CAAC,OAAO,CAAC;AAC/B,UAAU,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;AACjD,UAAU,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ,CAAC,CAAC;AACV,QAAQ,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AACnC,UAAU,YAAY,CAAC,OAAO,CAAC;AAC/B,UAAU,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;AAC9D,UAAU,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AACzC,UAAU,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC7E,QAAQ,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACvC,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,MAAM;AACN,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;AAC9B,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,mBAAmB;AACzC,MAAM,eAAe,EAAE,UAAU;AACjC,MAAM,UAAU,EAAE;AAClB;AACA,GAAG,CAAC;AACJ;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC7C,EAAE,IAAI,IAAI,GAAG,EAAE;AACf,EAAE,IAAI;AACN,IAAI,IAAI,GAAG,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAChD,EAAE,CAAC,CAAC,MAAM;AACV,EAAE;AACF,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC5B,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,2BAA2B;AACjD,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { error, redirect } from '@sveltejs/kit';
|
|
2
2
|
import { g as getAuthProvider } from './providers.server-Duyx-08B.js';
|
|
3
|
-
import { b as bootstrapUserSession } from './auth-bootstrap.server-
|
|
3
|
+
import { b as bootstrapUserSession } from './auth-bootstrap.server-dy8_QSAP.js';
|
|
4
4
|
import { s as setSessionCookie, a as setRefreshCookie, d as safeRedirectTarget } from './admin-auth.server-CdTfBMI5.js';
|
|
5
5
|
import './shared-server-DaWdgxVh.js';
|
|
6
6
|
import 'node:url';
|
|
@@ -11,6 +11,7 @@ import 'zod';
|
|
|
11
11
|
import 'node:crypto';
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import '@supabase/supabase-js';
|
|
14
|
+
import './slug-BGuFQjqe.js';
|
|
14
15
|
|
|
15
16
|
const GET = async ({ url, cookies }) => {
|
|
16
17
|
const code = url.searchParams.get("code");
|
|
@@ -29,4 +30,4 @@ const GET = async ({ url, cookies }) => {
|
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
export { GET };
|
|
32
|
-
//# sourceMappingURL=_server.ts-
|
|
33
|
+
//# sourceMappingURL=_server.ts-C_s5gcH-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-C_s5gcH-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/supabase/callback/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { e as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { s as setSessionCookie, a as setRefreshCookie, b as safeRedirectTarget } from \"../../../../../chunks/admin-auth.server.js\";\nconst GET = async ({ url, cookies }) => {\n const code = url.searchParams.get(\"code\");\n if (!code) throw error(400, \"Missing authorization code\");\n const oauth = getAuthProvider().oauth;\n if (!oauth) {\n throw error(501, \"OAuth is not supported by the configured auth provider.\");\n }\n const result = await oauth.exchangeOAuthCode(code);\n if (!result) throw error(401, \"OAuth exchange failed\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n setRefreshCookie(cookies, result.refreshToken);\n const dest = safeRedirectTarget(url.searchParams.get(\"redirectTo\"), \"/library\");\n redirect(303, dest);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACxC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC3C,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAC3D,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,KAAK;AACvC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yDAAyD,CAAC;AAC/E,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACpD,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC;AACxD,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;AACjF,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { error, redirect } from '@sveltejs/kit';
|
|
2
2
|
import { g as getAuthProvider } from './providers.server-Duyx-08B.js';
|
|
3
|
-
import { b as bootstrapUserSession } from './auth-bootstrap.server-
|
|
3
|
+
import { b as bootstrapUserSession } from './auth-bootstrap.server-dy8_QSAP.js';
|
|
4
4
|
import { s as setSessionCookie, a as setRefreshCookie, d as safeRedirectTarget } from './admin-auth.server-CdTfBMI5.js';
|
|
5
5
|
import './shared-server-DaWdgxVh.js';
|
|
6
6
|
import 'node:url';
|
|
@@ -11,6 +11,7 @@ import 'zod';
|
|
|
11
11
|
import 'node:crypto';
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import '@supabase/supabase-js';
|
|
14
|
+
import './slug-BGuFQjqe.js';
|
|
14
15
|
|
|
15
16
|
const GET = async ({ url, cookies }) => {
|
|
16
17
|
const emailLink = getAuthProvider().emailLink;
|
|
@@ -27,4 +28,4 @@ const GET = async ({ url, cookies }) => {
|
|
|
27
28
|
};
|
|
28
29
|
|
|
29
30
|
export { GET };
|
|
30
|
-
//# sourceMappingURL=_server.ts-
|
|
31
|
+
//# sourceMappingURL=_server.ts-DChqazjy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DChqazjy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/email/callback/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { e as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { s as setSessionCookie, a as setRefreshCookie, b as safeRedirectTarget } from \"../../../../../chunks/admin-auth.server.js\";\nconst GET = async ({ url, cookies }) => {\n const emailLink = getAuthProvider().emailLink;\n if (!emailLink) {\n throw error(501, \"Email sign-in is not supported by this provider.\");\n }\n const result = await emailLink.verifyMagicLink(url.toString());\n if (!result) throw error(401, \"This sign-in link is invalid or has expired.\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n if (result.refreshToken) setRefreshCookie(cookies, result.refreshToken);\n const dest = safeRedirectTarget(url.searchParams.get(\"redirectTo\"), \"/library\");\n redirect(303, dest);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACxC,EAAE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,SAAS;AAC/C,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAChE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,8CAA8C,CAAC;AAC/E,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AACzE,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;AACjF,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB;;;;"}
|