@selvajs/selva 4.3.0 → 4.3.1
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/{D1FLuKx5.js → BGuW4NBA.js} +1 -1
- package/build/client/_app/immutable/chunks/BGuW4NBA.js.br +0 -0
- package/build/client/_app/immutable/chunks/BGuW4NBA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{XwEuxkth.js → BOu0_8hg.js} +1 -1
- package/build/client/_app/immutable/chunks/BOu0_8hg.js.br +0 -0
- package/build/client/_app/immutable/chunks/BOu0_8hg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{1O7Vyn3x.js → BRVNXmK7.js} +1 -1
- package/build/client/_app/immutable/chunks/BRVNXmK7.js.br +0 -0
- package/build/client/_app/immutable/chunks/BRVNXmK7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CpzrN_ad.js → Bsojhuor.js} +1 -1
- package/build/client/_app/immutable/chunks/Bsojhuor.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bsojhuor.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ClNtf5dE.js +3 -0
- package/build/client/_app/immutable/chunks/ClNtf5dE.js.br +0 -0
- package/build/client/_app/immutable/chunks/ClNtf5dE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D0jw87aj.js → Dus1Wc-_.js} +1 -1
- package/build/client/_app/immutable/chunks/Dus1Wc-_.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dus1Wc-_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{0owY5F6O.js → VoeDk8Ji.js} +1 -1
- package/build/client/_app/immutable/chunks/VoeDk8Ji.js.br +0 -0
- package/build/client/_app/immutable/chunks/VoeDk8Ji.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.BU1ZTica.js → app.BuFVNRIb.js} +2 -2
- package/build/client/_app/immutable/entry/app.BuFVNRIb.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BuFVNRIb.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BJkf9eCh.js +1 -0
- package/build/client/_app/immutable/entry/start.BJkf9eCh.js.br +2 -0
- package/build/client/_app/immutable/entry/start.BJkf9eCh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BGw1TtE-.js → 1.DTTqOpbo.js} +1 -1
- package/build/client/_app/immutable/nodes/1.DTTqOpbo.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DTTqOpbo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.DUHLFhc8.js → 11.Bd_TroBi.js} +1 -1
- package/build/client/_app/immutable/nodes/11.Bd_TroBi.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.Bd_TroBi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.DUetX8JN.js → 13.CZPWgSyX.js} +1 -1
- package/build/client/_app/immutable/nodes/13.CZPWgSyX.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.CZPWgSyX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.BMNgebxg.js → 14.ErUEed70.js} +1 -1
- package/build/client/_app/immutable/nodes/14.ErUEed70.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.ErUEed70.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.BK5X4N0B.js → 16.ZGqQw9u_.js} +1 -1
- package/build/client/_app/immutable/nodes/16.ZGqQw9u_.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.ZGqQw9u_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.DESUDRJ7.js → 17.BAfTvzjf.js} +1 -1
- package/build/client/_app/immutable/nodes/17.BAfTvzjf.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.BAfTvzjf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.BGOmShx1.js → 19.BA4Q7Ejv.js} +1 -1
- package/build/client/_app/immutable/nodes/19.BA4Q7Ejv.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.BA4Q7Ejv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.Bil4apV-.js → 2.qGoF_BJR.js} +1 -1
- package/build/client/_app/immutable/nodes/2.qGoF_BJR.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.qGoF_BJR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{20.BN9CyZsk.js → 20.B7pbJgV7.js} +1 -1
- package/build/client/_app/immutable/nodes/20.B7pbJgV7.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.B7pbJgV7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.DLY2CWfL.js → 21.CQUr9a-8.js} +1 -1
- package/build/client/_app/immutable/nodes/21.CQUr9a-8.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.CQUr9a-8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.B1irvd8d.js +16 -0
- package/build/client/_app/immutable/nodes/23.B1irvd8d.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.B1irvd8d.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.C9nhiSAI.js → 24.DaWQ1jI1.js} +1 -1
- package/build/client/_app/immutable/nodes/24.DaWQ1jI1.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.DaWQ1jI1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.DDMHOK1v.js → 27.BVltlINS.js} +1 -1
- package/build/client/_app/immutable/nodes/27.BVltlINS.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.BVltlINS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.BKxO5tXo.js → 28.CkAyrVXL.js} +1 -1
- package/build/client/_app/immutable/nodes/28.CkAyrVXL.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.CkAyrVXL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.BE9agX-A.js → 29.DuyPKFrU.js} +1 -1
- package/build/client/_app/immutable/nodes/29.DuyPKFrU.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.DuyPKFrU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.Cr_OcaHZ.js → 3.vtzWe8dr.js} +1 -1
- package/build/client/_app/immutable/nodes/3.vtzWe8dr.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.vtzWe8dr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.1oMiKsa_.js → 30.B8jrnlRp.js} +1 -1
- package/build/client/_app/immutable/nodes/30.B8jrnlRp.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.B8jrnlRp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.R3EURuYN.js → 5.Cung723A.js} +1 -1
- package/build/client/_app/immutable/nodes/5.Cung723A.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.Cung723A.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.XEBvU5zF.js → 6.ChV00aii.js} +1 -1
- package/build/client/_app/immutable/nodes/6.ChV00aii.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.ChV00aii.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.aBxKpwwY.js → 7.CoT_11A9.js} +1 -1
- package/build/client/_app/immutable/nodes/7.CoT_11A9.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CoT_11A9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.CEAXwPtw.js → 8.DVP4Zm3d.js} +1 -1
- package/build/client/_app/immutable/nodes/8.DVP4Zm3d.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DVP4Zm3d.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.DNoTcl-q.js → 9.Cw9Pz35A.js} +1 -1
- package/build/client/_app/immutable/nodes/9.Cw9Pz35A.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.Cw9Pz35A.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-CTiyXq5H.js → 1-C2I1bO4p.js} +2 -2
- package/build/server/chunks/{1-CTiyXq5H.js.map → 1-C2I1bO4p.js.map} +1 -1
- package/build/server/chunks/{11-BvWfYPvY.js → 11-CDngEJ0B.js} +2 -2
- package/build/server/chunks/{11-BvWfYPvY.js.map → 11-CDngEJ0B.js.map} +1 -1
- package/build/server/chunks/{13-UcumwEMR.js → 13-BPFyBgiN.js} +2 -2
- package/build/server/chunks/{13-UcumwEMR.js.map → 13-BPFyBgiN.js.map} +1 -1
- package/build/server/chunks/{14-DDGpNRmy.js → 14-Dc1K62Ey.js} +2 -2
- package/build/server/chunks/{14-DDGpNRmy.js.map → 14-Dc1K62Ey.js.map} +1 -1
- package/build/server/chunks/{15-CRsKpL17.js → 15-BNeKc8aQ.js} +2 -2
- package/build/server/chunks/{15-CRsKpL17.js.map → 15-BNeKc8aQ.js.map} +1 -1
- package/build/server/chunks/{16-Brrnhdb0.js → 16-C4rP4sq1.js} +2 -2
- package/build/server/chunks/{16-Brrnhdb0.js.map → 16-C4rP4sq1.js.map} +1 -1
- package/build/server/chunks/{17-nTtqXZFS.js → 17-ClRSe3-O.js} +2 -2
- package/build/server/chunks/{17-nTtqXZFS.js.map → 17-ClRSe3-O.js.map} +1 -1
- package/build/server/chunks/{19-C6JT4QWN.js → 19-DCCUt_I_.js} +2 -2
- package/build/server/chunks/{19-C6JT4QWN.js.map → 19-DCCUt_I_.js.map} +1 -1
- package/build/server/chunks/{2-Bzu1IIyQ.js → 2-CRTHDZDg.js} +2 -2
- package/build/server/chunks/{2-Bzu1IIyQ.js.map → 2-CRTHDZDg.js.map} +1 -1
- package/build/server/chunks/{20-BuEknXxb.js → 20-Bqn_Hog-.js} +2 -2
- package/build/server/chunks/{20-BuEknXxb.js.map → 20-Bqn_Hog-.js.map} +1 -1
- package/build/server/chunks/{21-C8VCOVHZ.js → 21-tHwvS2VE.js} +2 -2
- package/build/server/chunks/{21-C8VCOVHZ.js.map → 21-tHwvS2VE.js.map} +1 -1
- package/build/server/chunks/{23-B2o_ghvU.js → 23-CjlgEkW8.js} +2 -2
- package/build/server/chunks/{23-B2o_ghvU.js.map → 23-CjlgEkW8.js.map} +1 -1
- package/build/server/chunks/{24-Q1fbSR2o.js → 24-BLJ24n1x.js} +2 -2
- package/build/server/chunks/{24-Q1fbSR2o.js.map → 24-BLJ24n1x.js.map} +1 -1
- package/build/server/chunks/{27-5VeF0OHT.js → 27-7PPspJ4o.js} +2 -2
- package/build/server/chunks/{27-5VeF0OHT.js.map → 27-7PPspJ4o.js.map} +1 -1
- package/build/server/chunks/{28-GJ_nbLXN.js → 28-Cj4f8LeS.js} +2 -2
- package/build/server/chunks/{28-GJ_nbLXN.js.map → 28-Cj4f8LeS.js.map} +1 -1
- package/build/server/chunks/{29-lZH9mmI0.js → 29-B36SMjZF.js} +2 -2
- package/build/server/chunks/{29-lZH9mmI0.js.map → 29-B36SMjZF.js.map} +1 -1
- package/build/server/chunks/{3-BlqLiQTJ.js → 3-ByoVETsZ.js} +2 -2
- package/build/server/chunks/{3-BlqLiQTJ.js.map → 3-ByoVETsZ.js.map} +1 -1
- package/build/server/chunks/{30-CA_ezUGl.js → 30-BUZh-uxK.js} +2 -2
- package/build/server/chunks/{30-CA_ezUGl.js.map → 30-BUZh-uxK.js.map} +1 -1
- package/build/server/chunks/{5-0tLn4w9t.js → 5-BItOzJDH.js} +2 -2
- package/build/server/chunks/{5-0tLn4w9t.js.map → 5-BItOzJDH.js.map} +1 -1
- package/build/server/chunks/{6-Dk8-CNQc.js → 6-CA2Aephf.js} +2 -2
- package/build/server/chunks/{6-Dk8-CNQc.js.map → 6-CA2Aephf.js.map} +1 -1
- package/build/server/chunks/{7-g1mcBFfT.js → 7-uBm9NdYN.js} +2 -2
- package/build/server/chunks/{7-g1mcBFfT.js.map → 7-uBm9NdYN.js.map} +1 -1
- package/build/server/chunks/{8-BXyJwXPH.js → 8-K8AHqphy.js} +2 -2
- package/build/server/chunks/{8-BXyJwXPH.js.map → 8-K8AHqphy.js.map} +1 -1
- package/build/server/chunks/{9-B3S-g_A8.js → 9-mW8A2Lrz.js} +3 -3
- package/build/server/chunks/{9-B3S-g_A8.js.map → 9-mW8A2Lrz.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BMk_ClLw.js → _page.svelte-BqMtP8Q7.js} +5 -5
- package/build/server/chunks/{_page.svelte-BMk_ClLw.js.map → _page.svelte-BqMtP8Q7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CBAiDOcP.js → _server.ts-DWCKRNAG.js} +5 -2
- package/build/server/chunks/_server.ts-DWCKRNAG.js.map +1 -0
- package/build/server/chunks/_server.ts-Db9C0y4L.js +162 -0
- package/build/server/chunks/_server.ts-Db9C0y4L.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +26 -26
- package/build/server/manifest.js.map +1 -1
- package/package.json +4 -4
- package/build/client/_app/immutable/chunks/0owY5F6O.js.br +0 -0
- package/build/client/_app/immutable/chunks/0owY5F6O.js.gz +0 -0
- package/build/client/_app/immutable/chunks/1O7Vyn3x.js.br +0 -0
- package/build/client/_app/immutable/chunks/1O7Vyn3x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BjlANOwQ.js +0 -3
- package/build/client/_app/immutable/chunks/BjlANOwQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/BjlANOwQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CpzrN_ad.js.br +0 -0
- package/build/client/_app/immutable/chunks/CpzrN_ad.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D0jw87aj.js.br +0 -0
- package/build/client/_app/immutable/chunks/D0jw87aj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D1FLuKx5.js.br +0 -0
- package/build/client/_app/immutable/chunks/D1FLuKx5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/XwEuxkth.js.br +0 -0
- package/build/client/_app/immutable/chunks/XwEuxkth.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BU1ZTica.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BU1ZTica.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.C_5mwPOZ.js +0 -1
- package/build/client/_app/immutable/entry/start.C_5mwPOZ.js.br +0 -2
- package/build/client/_app/immutable/entry/start.C_5mwPOZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BGw1TtE-.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BGw1TtE-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DUHLFhc8.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DUHLFhc8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.DUetX8JN.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.DUetX8JN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.BMNgebxg.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.BMNgebxg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.BK5X4N0B.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.BK5X4N0B.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.DESUDRJ7.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.DESUDRJ7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.BGOmShx1.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.BGOmShx1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.Bil4apV-.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Bil4apV-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.BN9CyZsk.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.BN9CyZsk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.DLY2CWfL.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.DLY2CWfL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.DwnJEjle.js +0 -16
- package/build/client/_app/immutable/nodes/23.DwnJEjle.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.DwnJEjle.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.C9nhiSAI.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.C9nhiSAI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.DDMHOK1v.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.DDMHOK1v.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.BKxO5tXo.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.BKxO5tXo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.BE9agX-A.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BE9agX-A.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.Cr_OcaHZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.Cr_OcaHZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.1oMiKsa_.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.1oMiKsa_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.R3EURuYN.js.br +0 -1
- package/build/client/_app/immutable/nodes/5.R3EURuYN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.XEBvU5zF.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.XEBvU5zF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.aBxKpwwY.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.aBxKpwwY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CEAXwPtw.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CEAXwPtw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DNoTcl-q.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DNoTcl-q.js.gz +0 -0
- package/build/server/chunks/_server.ts-BvMDaAZY.js +0 -75
- package/build/server/chunks/_server.ts-BvMDaAZY.js.map +0 -1
- package/build/server/chunks/_server.ts-CBAiDOcP.js.map +0 -1
|
@@ -24,9 +24,9 @@ const index = 5;
|
|
|
24
24
|
let component_cache;
|
|
25
25
|
const component = async () => component_cache ??= (await import('./_layout.svelte-CHTfYN7Z.js')).default;
|
|
26
26
|
const server_id = "src/routes/projects/+layout.server.ts";
|
|
27
|
-
const imports = ["_app/immutable/nodes/5.
|
|
27
|
+
const imports = ["_app/immutable/nodes/5.Cung723A.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/DEk358l3.js","_app/immutable/chunks/DS1KfRtl.js","_app/immutable/chunks/9DES--UJ.js","_app/immutable/chunks/CvUP44VI.js","_app/immutable/chunks/BRVNXmK7.js","_app/immutable/chunks/BnZOgasr.js","_app/immutable/chunks/DCBLBrrW.js","_app/immutable/chunks/T-Nslbso.js","_app/immutable/chunks/Dus1Wc-_.js","_app/immutable/chunks/ClNtf5dE.js","_app/immutable/chunks/CsdWDH4Y.js","_app/immutable/chunks/6CzuHfQM.js","_app/immutable/chunks/CE_gxD9G.js","_app/immutable/chunks/BIIXkPqf.js","_app/immutable/chunks/VoeDk8Ji.js","_app/immutable/chunks/Buy2icyP.js","_app/immutable/chunks/DRNG0pfi.js","_app/immutable/chunks/CGKZc1Kf.js","_app/immutable/chunks/vyYztzrZ.js","_app/immutable/chunks/CeS0GhtF.js","_app/immutable/chunks/CzCTTv8Q.js","_app/immutable/chunks/D-3pI9hp.js","_app/immutable/chunks/BTm-dDt9.js","_app/immutable/chunks/xQ1SsCxk.js","_app/immutable/chunks/CYyqq9B1.js","_app/immutable/chunks/jO1WSR3P.js","_app/immutable/chunks/D1xkoVpc.js","_app/immutable/chunks/BM8Ok6pJ.js","_app/immutable/chunks/Diyh8RG-.js","_app/immutable/chunks/BihI7LuH.js","_app/immutable/chunks/De-Sjn1V.js"];
|
|
28
28
|
const stylesheets = [];
|
|
29
29
|
const fonts = [];
|
|
30
30
|
|
|
31
31
|
export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
|
|
32
|
-
//# sourceMappingURL=5-
|
|
32
|
+
//# sourceMappingURL=5-BItOzJDH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"5-
|
|
1
|
+
{"version":3,"file":"5-BItOzJDH.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/projects/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/5.js"],"sourcesContent":["import { redirect } from \"@sveltejs/kit\";\nimport { j as hasPermission } from \"../../../chunks/context.js\";\nconst load = async ({ locals }) => {\n if (!locals.user || !locals.ctx) redirect(303, \"/login?redirectTo=/projects\");\n const canManageDefinitions = hasPermission(locals.ctx, \"manage_definitions\");\n const canManageProjects = hasPermission(locals.ctx, \"manage_projects\");\n if (!canManageDefinitions && !canManageProjects) {\n redirect(303, \"/library\");\n }\n return {\n platformPermissions: locals.ctx.platformPermissions,\n orgPermissions: locals.ctx.orgPermissions\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/projects/_layout.server.ts.js';\n\nexport const index = 5;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/projects/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/projects/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/5.Cung723A.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/BRVNXmK7.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/Dus1Wc-_.js\",\"_app/immutable/chunks/ClNtf5dE.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/VoeDk8Ji.js\",\"_app/immutable/chunks/Buy2icyP.js\",\"_app/immutable/chunks/DRNG0pfi.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/CeS0GhtF.js\",\"_app/immutable/chunks/CzCTTv8Q.js\",\"_app/immutable/chunks/D-3pI9hp.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/xQ1SsCxk.js\",\"_app/immutable/chunks/CYyqq9B1.js\",\"_app/immutable/chunks/jO1WSR3P.js\",\"_app/immutable/chunks/D1xkoVpc.js\",\"_app/immutable/chunks/BM8Ok6pJ.js\",\"_app/immutable/chunks/Diyh8RG-.js\",\"_app/immutable/chunks/BihI7LuH.js\",\"_app/immutable/chunks/De-Sjn1V.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;AAEA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,6BAA6B,CAAC;AAC/E,EAAE,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC;AAC9E,EAAE,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC;AACxE,EAAE,IAAI,CAAC,oBAAoB,IAAI,CAAC,iBAAiB,EAAE;AACnD,IAAI,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;AAC7B,EAAE;AACF,EAAE,OAAO;AACT,IAAI,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB;AACvD,IAAI,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC;AAC/B,GAAG;AACH,CAAC;;;;;;;ACXW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAA6C,CAAC,EAAE;AAE3G,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;;;;"}
|
|
@@ -32,9 +32,9 @@ const index = 6;
|
|
|
32
32
|
let component_cache;
|
|
33
33
|
const component = async () => component_cache ??= (await import('./_layout.svelte-BR1971uC.js')).default;
|
|
34
34
|
const server_id = "src/routes/team/+layout.server.ts";
|
|
35
|
-
const imports = ["_app/immutable/nodes/6.
|
|
35
|
+
const imports = ["_app/immutable/nodes/6.ChV00aii.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/DEk358l3.js","_app/immutable/chunks/DCBLBrrW.js","_app/immutable/chunks/CvUP44VI.js","_app/immutable/chunks/T-Nslbso.js","_app/immutable/chunks/DS1KfRtl.js","_app/immutable/chunks/9DES--UJ.js","_app/immutable/chunks/BnZOgasr.js","_app/immutable/chunks/Bsojhuor.js","_app/immutable/chunks/ClNtf5dE.js","_app/immutable/chunks/CsdWDH4Y.js","_app/immutable/chunks/BRVNXmK7.js","_app/immutable/chunks/Dus1Wc-_.js","_app/immutable/chunks/6CzuHfQM.js","_app/immutable/chunks/CE_gxD9G.js","_app/immutable/chunks/BIIXkPqf.js","_app/immutable/chunks/VoeDk8Ji.js","_app/immutable/chunks/Buy2icyP.js","_app/immutable/chunks/DRNG0pfi.js","_app/immutable/chunks/CGKZc1Kf.js","_app/immutable/chunks/vyYztzrZ.js","_app/immutable/chunks/CeS0GhtF.js","_app/immutable/chunks/CzCTTv8Q.js","_app/immutable/chunks/D-3pI9hp.js","_app/immutable/chunks/BTm-dDt9.js","_app/immutable/chunks/xQ1SsCxk.js","_app/immutable/chunks/CYyqq9B1.js","_app/immutable/chunks/jO1WSR3P.js","_app/immutable/chunks/D1xkoVpc.js","_app/immutable/chunks/BM8Ok6pJ.js","_app/immutable/chunks/Diyh8RG-.js","_app/immutable/chunks/BihI7LuH.js","_app/immutable/chunks/De-Sjn1V.js","_app/immutable/chunks/BGuW4NBA.js","_app/immutable/chunks/BLZ195WY.js","_app/immutable/chunks/D_gPt7DB.js","_app/immutable/chunks/CumXBEVX.js","_app/immutable/chunks/DfbumCTS.js","_app/immutable/chunks/DeMiewtM.js"];
|
|
36
36
|
const stylesheets = [];
|
|
37
37
|
const fonts = [];
|
|
38
38
|
|
|
39
39
|
export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
|
|
40
|
-
//# sourceMappingURL=6-
|
|
40
|
+
//# sourceMappingURL=6-CA2Aephf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"6-
|
|
1
|
+
{"version":3,"file":"6-CA2Aephf.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/team/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["import { redirect } from \"@sveltejs/kit\";\nimport { k as getOrganizationProvider } from \"../../../chunks/providers.server.js\";\nconst load = async ({ locals }) => {\n if (!locals.ctx) redirect(303, \"/login\");\n const ctx = locals.ctx;\n const orgId = ctx.actingOrgId;\n if (!orgId) return { org: null };\n let org = null;\n try {\n org = await getOrganizationProvider().getOrg(ctx, orgId);\n } catch {\n }\n return { org };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/team/_layout.server.ts.js';\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/team/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/team/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/6.ChV00aii.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/Bsojhuor.js\",\"_app/immutable/chunks/ClNtf5dE.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/BRVNXmK7.js\",\"_app/immutable/chunks/Dus1Wc-_.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/VoeDk8Ji.js\",\"_app/immutable/chunks/Buy2icyP.js\",\"_app/immutable/chunks/DRNG0pfi.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/CeS0GhtF.js\",\"_app/immutable/chunks/CzCTTv8Q.js\",\"_app/immutable/chunks/D-3pI9hp.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/xQ1SsCxk.js\",\"_app/immutable/chunks/CYyqq9B1.js\",\"_app/immutable/chunks/jO1WSR3P.js\",\"_app/immutable/chunks/D1xkoVpc.js\",\"_app/immutable/chunks/BM8Ok6pJ.js\",\"_app/immutable/chunks/Diyh8RG-.js\",\"_app/immutable/chunks/BihI7LuH.js\",\"_app/immutable/chunks/De-Sjn1V.js\",\"_app/immutable/chunks/BGuW4NBA.js\",\"_app/immutable/chunks/BLZ195WY.js\",\"_app/immutable/chunks/D_gPt7DB.js\",\"_app/immutable/chunks/CumXBEVX.js\",\"_app/immutable/chunks/DfbumCTS.js\",\"_app/immutable/chunks/DeMiewtM.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;AAC1C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW;AAC/B,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;AAClC,EAAE,IAAI,GAAG,GAAG,IAAI;AAChB,EAAE,IAAI;AACN,IAAI,GAAG,GAAG,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;AAC5D,EAAE,CAAC,CAAC,MAAM;AACV,EAAE;AACF,EAAE,OAAO,EAAE,GAAG,EAAE;AAChB,CAAC;;;;;;;ACXW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAyC,CAAC,EAAE;AAEvG,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,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC56C,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -11,9 +11,9 @@ const index = 7;
|
|
|
11
11
|
let component_cache;
|
|
12
12
|
const component = async () => component_cache ??= (await import('./_page.svelte-HTC9yaHJ.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.CoT_11A9.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/DEk358l3.js","_app/immutable/chunks/T-Nslbso.js","_app/immutable/chunks/DS1KfRtl.js","_app/immutable/chunks/BnZOgasr.js","_app/immutable/chunks/CvUP44VI.js","_app/immutable/chunks/DfVTcmam.js","_app/immutable/chunks/Dus1Wc-_.js","_app/immutable/chunks/ClNtf5dE.js","_app/immutable/chunks/CsdWDH4Y.js","_app/immutable/chunks/BRVNXmK7.js","_app/immutable/chunks/9DES--UJ.js","_app/immutable/chunks/DCBLBrrW.js","_app/immutable/chunks/6CzuHfQM.js","_app/immutable/chunks/CE_gxD9G.js","_app/immutable/chunks/BIIXkPqf.js","_app/immutable/chunks/VoeDk8Ji.js","_app/immutable/chunks/Buy2icyP.js","_app/immutable/chunks/DRNG0pfi.js","_app/immutable/chunks/CGKZc1Kf.js","_app/immutable/chunks/vyYztzrZ.js","_app/immutable/chunks/CeS0GhtF.js","_app/immutable/chunks/CzCTTv8Q.js","_app/immutable/chunks/D-3pI9hp.js","_app/immutable/chunks/BTm-dDt9.js","_app/immutable/chunks/xQ1SsCxk.js","_app/immutable/chunks/CYyqq9B1.js","_app/immutable/chunks/jO1WSR3P.js","_app/immutable/chunks/D1xkoVpc.js","_app/immutable/chunks/BM8Ok6pJ.js","_app/immutable/chunks/Diyh8RG-.js","_app/immutable/chunks/BihI7LuH.js","_app/immutable/chunks/De-Sjn1V.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-uBm9NdYN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"7-
|
|
1
|
+
{"version":3,"file":"7-uBm9NdYN.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.CoT_11A9.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/Dus1Wc-_.js\",\"_app/immutable/chunks/ClNtf5dE.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/BRVNXmK7.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/VoeDk8Ji.js\",\"_app/immutable/chunks/Buy2icyP.js\",\"_app/immutable/chunks/DRNG0pfi.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/CeS0GhtF.js\",\"_app/immutable/chunks/CzCTTv8Q.js\",\"_app/immutable/chunks/D-3pI9hp.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/xQ1SsCxk.js\",\"_app/immutable/chunks/CYyqq9B1.js\",\"_app/immutable/chunks/jO1WSR3P.js\",\"_app/immutable/chunks/D1xkoVpc.js\",\"_app/immutable/chunks/BM8Ok6pJ.js\",\"_app/immutable/chunks/Diyh8RG-.js\",\"_app/immutable/chunks/BihI7LuH.js\",\"_app/immutable/chunks/De-Sjn1V.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,CAAC,mCAAmC;AACptC,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-CckrYvJ6.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.DVP4Zm3d.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/DEk358l3.js","_app/immutable/chunks/T-Nslbso.js","_app/immutable/chunks/DS1KfRtl.js","_app/immutable/chunks/BnZOgasr.js","_app/immutable/chunks/CvUP44VI.js","_app/immutable/chunks/DCBLBrrW.js","_app/immutable/chunks/DfVTcmam.js","_app/immutable/chunks/6CzuHfQM.js","_app/immutable/chunks/Dus1Wc-_.js","_app/immutable/chunks/ClNtf5dE.js","_app/immutable/chunks/CsdWDH4Y.js","_app/immutable/chunks/CGKZc1Kf.js","_app/immutable/chunks/BIIXkPqf.js","_app/immutable/chunks/vyYztzrZ.js","_app/immutable/chunks/9DES--UJ.js","_app/immutable/chunks/DYfK6Plb.js","_app/immutable/chunks/CE_gxD9G.js","_app/immutable/chunks/B6_AR4oL.js","_app/immutable/chunks/Uv0-HWHq.js","_app/immutable/chunks/BTm-dDt9.js","_app/immutable/chunks/CDmA5ezP.js","_app/immutable/chunks/C46MGZre.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-K8AHqphy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"8-BXyJwXPH.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 { j as getInviteStore, a as getAuthProvider, k as getOrganizationProvider, q as getUserProfileStore } from \"../../../chunks/providers.server.js\";\nimport { h 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.CEAXwPtw.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/D0jw87aj.js\",\"_app/immutable/chunks/BjlANOwQ.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/DYfK6Plb.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/B6_AR4oL.js\",\"_app/immutable/chunks/Uv0-HWHq.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/CDmA5ezP.js\",\"_app/immutable/chunks/C46MGZre.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"8-K8AHqphy.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 { j as getInviteStore, a as getAuthProvider, k as getOrganizationProvider, q as getUserProfileStore } from \"../../../chunks/providers.server.js\";\nimport { h 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.DVP4Zm3d.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/Dus1Wc-_.js\",\"_app/immutable/chunks/ClNtf5dE.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/CGKZc1Kf.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/vyYztzrZ.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/DYfK6Plb.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/B6_AR4oL.js\",\"_app/immutable/chunks/Uv0-HWHq.js\",\"_app/immutable/chunks/BTm-dDt9.js\",\"_app/immutable/chunks/CDmA5ezP.js\",\"_app/immutable/chunks/C46MGZre.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-BqMtP8Q7.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.Cw9Pz35A.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/DEk358l3.js","_app/immutable/chunks/T-Nslbso.js","_app/immutable/chunks/DS1KfRtl.js","_app/immutable/chunks/6CzuHfQM.js","_app/immutable/chunks/DCBLBrrW.js","_app/immutable/chunks/CvUP44VI.js","_app/immutable/chunks/DfVTcmam.js","_app/immutable/chunks/Dus1Wc-_.js","_app/immutable/chunks/ClNtf5dE.js","_app/immutable/chunks/CsdWDH4Y.js","_app/immutable/chunks/BGIAOk5X.js","_app/immutable/chunks/B1z9if9B.js","_app/immutable/chunks/9DES--UJ.js","_app/immutable/chunks/BIIXkPqf.js","_app/immutable/chunks/BX0gN9mF.js","_app/immutable/chunks/CE_gxD9G.js","_app/immutable/chunks/BiG82jCv.js","_app/immutable/chunks/BnZOgasr.js","_app/immutable/chunks/CnXIg_dO.js","_app/immutable/chunks/BihI7LuH.js","_app/immutable/chunks/C3WxOOC9.js","_app/immutable/chunks/DeMiewtM.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-mW8A2Lrz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"9-
|
|
1
|
+
{"version":3,"file":"9-mW8A2Lrz.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["import { a as getAuthProvider } from \"../../../chunks/providers.server.js\";\nimport { j 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.Cw9Pz35A.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/DEk358l3.js\",\"_app/immutable/chunks/T-Nslbso.js\",\"_app/immutable/chunks/DS1KfRtl.js\",\"_app/immutable/chunks/6CzuHfQM.js\",\"_app/immutable/chunks/DCBLBrrW.js\",\"_app/immutable/chunks/CvUP44VI.js\",\"_app/immutable/chunks/DfVTcmam.js\",\"_app/immutable/chunks/Dus1Wc-_.js\",\"_app/immutable/chunks/ClNtf5dE.js\",\"_app/immutable/chunks/CsdWDH4Y.js\",\"_app/immutable/chunks/BGIAOk5X.js\",\"_app/immutable/chunks/B1z9if9B.js\",\"_app/immutable/chunks/9DES--UJ.js\",\"_app/immutable/chunks/BIIXkPqf.js\",\"_app/immutable/chunks/BX0gN9mF.js\",\"_app/immutable/chunks/CE_gxD9G.js\",\"_app/immutable/chunks/BiG82jCv.js\",\"_app/immutable/chunks/BnZOgasr.js\",\"_app/immutable/chunks/CnXIg_dO.js\",\"_app/immutable/chunks/BihI7LuH.js\",\"_app/immutable/chunks/C3WxOOC9.js\",\"_app/immutable/chunks/DeMiewtM.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,CAAC,mCAAmC;AAC52B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -54,10 +54,10 @@ function _page($$renderer, $$props) {
|
|
|
54
54
|
const brandName = derived(() => page.data.branding.name);
|
|
55
55
|
let { data } = $$props;
|
|
56
56
|
const build = {
|
|
57
|
-
hash: "
|
|
58
|
-
fullHash: "
|
|
59
|
-
message: "Merge pull request #
|
|
60
|
-
date: "2026-06-03
|
|
57
|
+
hash: "ea981b2",
|
|
58
|
+
fullHash: "ea981b28845163b9dd4c1693bcce1361bc13c27a",
|
|
59
|
+
message: "Merge pull request #80 from VektorNode/changeset-release/main",
|
|
60
|
+
date: "2026-06-03 14:34:44 +0200"
|
|
61
61
|
};
|
|
62
62
|
const can = (p) => data.platformPermissions.includes("instance_admin") || data.platformPermissions.includes(p);
|
|
63
63
|
const tiles = derived(() => [
|
|
@@ -166,4 +166,4 @@ function _page($$renderer, $$props) {
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
export { _page as default };
|
|
169
|
-
//# sourceMappingURL=_page.svelte-
|
|
169
|
+
//# sourceMappingURL=_page.svelte-BqMtP8Q7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-BMk_ClLw.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.svelte.js"],"sourcesContent":["import { aj as spread_props, T as head, am as stringify, G as ensure_array_like, j as attr, I as escape_html, y 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/Icon2.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: \"c7c5ad9\",\n fullHash: \"c7c5ad9a7c63ecc59aea2ec08c5d5a2b18329ece\",\n message: \"Merge pull request #78 from VektorNode/changeset-release/main\",\n date: \"2026-06-03 13:16:33 +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
|
+
{"version":3,"file":"_page.svelte-BqMtP8Q7.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.svelte.js"],"sourcesContent":["import { aj as spread_props, T as head, am as stringify, G as ensure_array_like, j as attr, I as escape_html, y 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/Icon2.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: \"ea981b2\",\n fullHash: \"ea981b28845163b9dd4c1693bcce1361bc13c27a\",\n message: \"Merge pull request #80 from VektorNode/changeset-release/main\",\n date: \"2026-06-03 14:34:44 +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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"}
|
|
@@ -20,9 +20,12 @@ const POST = async ({ request, locals, url }) => {
|
|
|
20
20
|
throw error(400, "projectId query parameter is required");
|
|
21
21
|
}
|
|
22
22
|
const { project } = await requireCanCreateDefinition(locals, projectId);
|
|
23
|
+
const computeServerId = url.searchParams.get("computeServerId");
|
|
23
24
|
let server;
|
|
24
25
|
try {
|
|
25
|
-
server = await resolveServerForOrg(locals.ctx, project.orgId
|
|
26
|
+
server = await resolveServerForOrg(locals.ctx, project.orgId, {
|
|
27
|
+
definitionPin: computeServerId
|
|
28
|
+
});
|
|
26
29
|
} catch (err) {
|
|
27
30
|
if (err instanceof ComputeServerUnconfiguredError) throw error(503, err.message);
|
|
28
31
|
throw err;
|
|
@@ -54,4 +57,4 @@ const POST = async ({ request, locals, url }) => {
|
|
|
54
57
|
};
|
|
55
58
|
|
|
56
59
|
export { POST };
|
|
57
|
-
//# sourceMappingURL=_server.ts-
|
|
60
|
+
//# sourceMappingURL=_server.ts-DWCKRNAG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DWCKRNAG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/compute/schema/_server.ts.js"],"sourcesContent":["import { r as resolveServerForOrg, C as ComputeServerUnconfiguredError } from \"../../../../../chunks/api-errors.js\";\nimport { r as requireCanCreateDefinition } from \"../../../../../chunks/access.server.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { camelcaseKeys } from \"@selvajs/compute/core\";\nconst POST = async ({ request, locals, url }) => {\n const projectId = url.searchParams.get(\"projectId\");\n if (!projectId) {\n throw error(400, \"projectId query parameter is required\");\n }\n const { project } = await requireCanCreateDefinition(locals, projectId);\n const computeServerId = url.searchParams.get(\"computeServerId\");\n let server;\n try {\n server = await resolveServerForOrg(locals.ctx, project.orgId, {\n definitionPin: computeServerId\n });\n } catch (err) {\n if (err instanceof ComputeServerUnconfiguredError) throw error(503, err.message);\n throw err;\n }\n const formData = await request.formData();\n const schemaUrl = new URL(\"/grasshopper/schema\", server.serverUrl).toString();\n const headers = {};\n if (server.apiKey) {\n headers[\"RhinoComputeKey\"] = server.apiKey;\n }\n let response;\n try {\n response = await fetch(schemaUrl, { method: \"POST\", headers, body: formData });\n } catch {\n throw error(503, \"Compute server is unreachable\");\n }\n if (!response.ok) {\n throw error(response.status, \"Compute server error\");\n }\n const raw = await response.json();\n const results = camelcaseKeys(Array.isArray(raw) ? raw : [raw]);\n const schemas = results.flatMap((r) => r.schemas ?? []);\n if (schemas.length === 0) {\n throw error(422, \"No schemas found in definition\");\n }\n return new Response(JSON.stringify(schemas), {\n headers: { \"Content-Type\": \"application/json\" }\n });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,uCAAuC,CAAC;AAC7D,EAAE;AACF,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC;AACzE,EAAE,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACjE,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE;AAClE,MAAM,aAAa,EAAE;AACrB,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,8BAA8B,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AACpF,IAAI,MAAM,GAAG;AACb,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AAC3C,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;AAC/E,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;AACrB,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM;AAC9C,EAAE;AACF,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI;AACN,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAClF,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC;AACrD,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;AACxD,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;AACzD,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC;AACtD,EAAE;AACF,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/C,IAAI,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB;AACjD,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { mkdir, writeFile, unlink } from 'node:fs/promises';
|
|
4
|
+
import { resolve, join } from 'node:path';
|
|
5
|
+
import { p as private_env } from './shared-server-C3WdcJCQ.js';
|
|
6
|
+
import './context-DKDYb-He.js';
|
|
7
|
+
import { f as findServerById } from './utils2-BsnrDRob.js';
|
|
8
|
+
import { t as providers, L as LocalComputeServerStore, c as getComputeServerConfigStore } from './providers.server-wGknM6CR.js';
|
|
9
|
+
import { z as requirePermission } from './access.server-ByXvmWyF.js';
|
|
10
|
+
import 'zod';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:fs';
|
|
13
|
+
import '@supabase/supabase-js';
|
|
14
|
+
import './api-errors-C0SWfJj5.js';
|
|
15
|
+
import '@selvajs/compute/core';
|
|
16
|
+
|
|
17
|
+
function atRestSecretsCheck(report) {
|
|
18
|
+
const base = { id: "at-rest-secrets", label: "Compute server secrets" };
|
|
19
|
+
if (report === null) {
|
|
20
|
+
return {
|
|
21
|
+
...base,
|
|
22
|
+
status: "not_applicable",
|
|
23
|
+
summary: "The active data provider does not encrypt secrets at this layer — nothing to verify."
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (report.ok) {
|
|
27
|
+
return {
|
|
28
|
+
...base,
|
|
29
|
+
status: "ok",
|
|
30
|
+
summary: "All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY."
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const failed = report.failures.map((f) => `"${f.serverLabel}" (${f.reason}${f.cause ? `: ${f.cause}` : ""})`).join(", ");
|
|
34
|
+
const plaintext = report.plaintextFound;
|
|
35
|
+
return {
|
|
36
|
+
...base,
|
|
37
|
+
status: "degraded",
|
|
38
|
+
summary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,
|
|
39
|
+
remediation: plaintext ? "A key is stored in plaintext on disk — re-enter it via /admin/compute so it is encrypted." : "The stored ciphertext does not match the current SELVA_AT_REST_KEY (rotated key or restored backup). Re-enter the affected keys via /admin/compute, or restore the original SELVA_AT_REST_KEY, then run this check again."
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const COMPUTE_PING_TIMEOUT_MS = 8e3;
|
|
43
|
+
async function computeReachabilityCheck(locals) {
|
|
44
|
+
const base = { id: "compute-reachable", label: "Default compute server" };
|
|
45
|
+
let config;
|
|
46
|
+
try {
|
|
47
|
+
config = await getComputeServerConfigStore().getConfig(locals.ctx);
|
|
48
|
+
} catch (err) {
|
|
49
|
+
return {
|
|
50
|
+
...base,
|
|
51
|
+
status: "error",
|
|
52
|
+
summary: `Could not read compute config: ${err instanceof Error ? err.message : String(err)}`
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const server = config.defaultServerId ? findServerById(config, config.defaultServerId) : void 0;
|
|
56
|
+
if (!server) {
|
|
57
|
+
return {
|
|
58
|
+
...base,
|
|
59
|
+
status: "not_applicable",
|
|
60
|
+
summary: "No default compute server is configured — nothing to reach.",
|
|
61
|
+
remediation: "Add a server and set it as default in /admin/compute."
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const controller = new AbortController();
|
|
65
|
+
const timer = setTimeout(() => controller.abort(), COMPUTE_PING_TIMEOUT_MS);
|
|
66
|
+
try {
|
|
67
|
+
const headers = {};
|
|
68
|
+
if (server.apiKey) headers["RhinoComputeKey"] = server.apiKey;
|
|
69
|
+
const res = await fetch(new URL("/healthcheck", server.serverUrl).toString(), {
|
|
70
|
+
signal: controller.signal,
|
|
71
|
+
headers
|
|
72
|
+
});
|
|
73
|
+
if (res.ok) {
|
|
74
|
+
return { ...base, status: "ok", summary: `"${server.label}" answered /healthcheck (200).` };
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
...base,
|
|
78
|
+
status: "degraded",
|
|
79
|
+
summary: `"${server.label}" responded ${res.status} to /healthcheck.`,
|
|
80
|
+
remediation: res.status === 401 || res.status === 403 ? "Authentication rejected — verify the API key in /admin/compute." : "The server is reachable but unhealthy. Check the Rhino.Compute host."
|
|
81
|
+
};
|
|
82
|
+
} catch (err) {
|
|
83
|
+
const aborted = err instanceof Error && err.name === "AbortError";
|
|
84
|
+
return {
|
|
85
|
+
...base,
|
|
86
|
+
status: "degraded",
|
|
87
|
+
summary: aborted ? `"${server.label}" did not respond within ${COMPUTE_PING_TIMEOUT_MS / 1e3}s.` : `"${server.label}" is unreachable: ${err instanceof Error ? err.message : String(err)}.`,
|
|
88
|
+
remediation: `Confirm the Rhino.Compute host is running and ${server.serverUrl} is correct.`
|
|
89
|
+
};
|
|
90
|
+
} finally {
|
|
91
|
+
clearTimeout(timer);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async function dataPathWritableCheck() {
|
|
95
|
+
const base = { id: "data-path-writable", label: "Data path writable" };
|
|
96
|
+
if (!(providers.data.computeServer instanceof LocalComputeServerStore)) {
|
|
97
|
+
return {
|
|
98
|
+
...base,
|
|
99
|
+
status: "not_applicable",
|
|
100
|
+
summary: "The active data provider does not persist to a local DATA_PATH."
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const dataPath = private_env.DATA_PATH;
|
|
104
|
+
if (!dataPath) {
|
|
105
|
+
return {
|
|
106
|
+
...base,
|
|
107
|
+
status: "error",
|
|
108
|
+
summary: "DATA_PATH is unset but the local provider is active.",
|
|
109
|
+
remediation: "Set DATA_PATH in .env and restart."
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const absolute = resolve(dataPath);
|
|
113
|
+
const probe = join(absolute, `.health-probe-${randomUUID()}`);
|
|
114
|
+
try {
|
|
115
|
+
await mkdir(absolute, { recursive: true });
|
|
116
|
+
await writeFile(probe, "ok");
|
|
117
|
+
await unlink(probe);
|
|
118
|
+
return { ...base, status: "ok", summary: `DATA_PATH (${dataPath}) is writable.` };
|
|
119
|
+
} catch (err) {
|
|
120
|
+
return {
|
|
121
|
+
...base,
|
|
122
|
+
status: "degraded",
|
|
123
|
+
summary: `DATA_PATH (${dataPath}) is not writable: ${err instanceof Error ? err.message : String(err)}.`,
|
|
124
|
+
remediation: "Check free disk space and that the directory is owned by the user running the app (`df -h`, `ls -la`)."
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const GET = async ({ locals }) => {
|
|
129
|
+
requirePermission(locals, "instance_admin");
|
|
130
|
+
const checks = [];
|
|
131
|
+
const store = providers.data.computeServer;
|
|
132
|
+
if (store instanceof LocalComputeServerStore) {
|
|
133
|
+
try {
|
|
134
|
+
checks.push(atRestSecretsCheck(await store.verifySecrets()));
|
|
135
|
+
} catch (err) {
|
|
136
|
+
checks.push({
|
|
137
|
+
id: "at-rest-secrets",
|
|
138
|
+
label: "Compute server secrets",
|
|
139
|
+
status: "error",
|
|
140
|
+
summary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,
|
|
141
|
+
remediation: "Check server logs (`pm2 logs selva-compute`) for the underlying error."
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
} else {
|
|
145
|
+
checks.push(atRestSecretsCheck(null));
|
|
146
|
+
}
|
|
147
|
+
checks.push(...await Promise.all([computeReachabilityCheck(locals), dataPathWritableCheck()]));
|
|
148
|
+
const rank = {
|
|
149
|
+
ok: 0,
|
|
150
|
+
not_applicable: 0,
|
|
151
|
+
degraded: 2,
|
|
152
|
+
error: 3
|
|
153
|
+
};
|
|
154
|
+
const overall = checks.reduce(
|
|
155
|
+
(worst, c) => rank[c.status] > rank[worst] ? c.status : worst,
|
|
156
|
+
"ok"
|
|
157
|
+
);
|
|
158
|
+
return json({ overall, checkedAt: (/* @__PURE__ */ new Date()).toISOString(), checks });
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export { GET };
|
|
162
|
+
//# sourceMappingURL=_server.ts-Db9C0y4L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Db9C0y4L.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/system/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { mkdir, writeFile, unlink } from \"node:fs/promises\";\nimport { resolve, join } from \"node:path\";\nimport { p as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport \"../../../../../../chunks/context.js\";\nimport { f as findServerById } from \"../../../../../../chunks/utils2.js\";\nimport { t as providers, L as LocalComputeServerStore, c as getComputeServerConfigStore } from \"../../../../../../chunks/providers.server.js\";\nimport { z as requirePermission } from \"../../../../../../chunks/access.server.js\";\nfunction atRestSecretsCheck(report) {\n const base = { id: \"at-rest-secrets\", label: \"Compute server secrets\" };\n if (report === null) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider does not encrypt secrets at this layer — nothing to verify.\"\n };\n }\n if (report.ok) {\n return {\n ...base,\n status: \"ok\",\n summary: \"All stored compute server API keys decrypt under the current SELVA_AT_REST_KEY.\"\n };\n }\n const failed = report.failures.map((f) => `\"${f.serverLabel}\" (${f.reason}${f.cause ? `: ${f.cause}` : \"\"})`).join(\", \");\n const plaintext = report.plaintextFound;\n return {\n ...base,\n status: \"degraded\",\n summary: `${report.failures.length} compute server key(s) could not be loaded: ${failed}.`,\n remediation: plaintext ? \"A key is stored in plaintext on disk — re-enter it via /admin/compute so it is encrypted.\" : \"The stored ciphertext does not match the current SELVA_AT_REST_KEY (rotated key or restored backup). Re-enter the affected keys via /admin/compute, or restore the original SELVA_AT_REST_KEY, then run this check again.\"\n };\n}\nconst COMPUTE_PING_TIMEOUT_MS = 8e3;\nasync function computeReachabilityCheck(locals) {\n const base = { id: \"compute-reachable\", label: \"Default compute server\" };\n let config;\n try {\n config = await getComputeServerConfigStore().getConfig(locals.ctx);\n } catch (err) {\n return {\n ...base,\n status: \"error\",\n summary: `Could not read compute config: ${err instanceof Error ? err.message : String(err)}`\n };\n }\n const server = config.defaultServerId ? findServerById(config, config.defaultServerId) : void 0;\n if (!server) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"No default compute server is configured — nothing to reach.\",\n remediation: \"Add a server and set it as default in /admin/compute.\"\n };\n }\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), COMPUTE_PING_TIMEOUT_MS);\n try {\n const headers = {};\n if (server.apiKey) headers[\"RhinoComputeKey\"] = server.apiKey;\n const res = await fetch(new URL(\"/healthcheck\", server.serverUrl).toString(), {\n signal: controller.signal,\n headers\n });\n if (res.ok) {\n return { ...base, status: \"ok\", summary: `\"${server.label}\" answered /healthcheck (200).` };\n }\n return {\n ...base,\n status: \"degraded\",\n summary: `\"${server.label}\" responded ${res.status} to /healthcheck.`,\n remediation: res.status === 401 || res.status === 403 ? \"Authentication rejected — verify the API key in /admin/compute.\" : \"The server is reachable but unhealthy. Check the Rhino.Compute host.\"\n };\n } catch (err) {\n const aborted = err instanceof Error && err.name === \"AbortError\";\n return {\n ...base,\n status: \"degraded\",\n summary: aborted ? `\"${server.label}\" did not respond within ${COMPUTE_PING_TIMEOUT_MS / 1e3}s.` : `\"${server.label}\" is unreachable: ${err instanceof Error ? err.message : String(err)}.`,\n remediation: `Confirm the Rhino.Compute host is running and ${server.serverUrl} is correct.`\n };\n } finally {\n clearTimeout(timer);\n }\n}\nasync function dataPathWritableCheck() {\n const base = { id: \"data-path-writable\", label: \"Data path writable\" };\n if (!(providers.data.computeServer instanceof LocalComputeServerStore)) {\n return {\n ...base,\n status: \"not_applicable\",\n summary: \"The active data provider does not persist to a local DATA_PATH.\"\n };\n }\n const dataPath = private_env.DATA_PATH;\n if (!dataPath) {\n return {\n ...base,\n status: \"error\",\n summary: \"DATA_PATH is unset but the local provider is active.\",\n remediation: \"Set DATA_PATH in .env and restart.\"\n };\n }\n const absolute = resolve(dataPath);\n const probe = join(absolute, `.health-probe-${randomUUID()}`);\n try {\n await mkdir(absolute, { recursive: true });\n await writeFile(probe, \"ok\");\n await unlink(probe);\n return { ...base, status: \"ok\", summary: `DATA_PATH (${dataPath}) is writable.` };\n } catch (err) {\n return {\n ...base,\n status: \"degraded\",\n summary: `DATA_PATH (${dataPath}) is not writable: ${err instanceof Error ? err.message : String(err)}.`,\n remediation: \"Check free disk space and that the directory is owned by the user running the app (`df -h`, `ls -la`).\"\n };\n }\n}\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const checks = [];\n const store = providers.data.computeServer;\n if (store instanceof LocalComputeServerStore) {\n try {\n checks.push(atRestSecretsCheck(await store.verifySecrets()));\n } catch (err) {\n checks.push({\n id: \"at-rest-secrets\",\n label: \"Compute server secrets\",\n status: \"error\",\n summary: `Verification threw: ${err instanceof Error ? err.message : String(err)}`,\n remediation: \"Check server logs (`pm2 logs selva-compute`) for the underlying error.\"\n });\n }\n } else {\n checks.push(atRestSecretsCheck(null));\n }\n checks.push(...await Promise.all([computeReachabilityCheck(locals), dataPathWritableCheck()]));\n const rank = {\n ok: 0,\n not_applicable: 0,\n degraded: 2,\n error: 3\n };\n const overall = checks.reduce(\n (worst, c) => rank[c.status] > rank[worst] ? c.status : worst,\n \"ok\"\n );\n return json({ overall, checkedAt: (/* @__PURE__ */ new Date()).toISOString(), checks });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACpC,EAAE,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,wBAAwB,EAAE;AACzE,EAAE,IAAI,MAAM,KAAK,IAAI,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,gBAAgB;AAC9B,MAAM,OAAO,EAAE;AACf,KAAK;AACL,EAAE;AACF,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE;AACjB,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,OAAO,EAAE;AACf,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1H,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc;AACzC,EAAE,OAAO;AACT,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,UAAU;AACtB,IAAI,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,4CAA4C,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9F,IAAI,WAAW,EAAE,SAAS,GAAG,2FAA2F,GAAG;AAC3H,GAAG;AACH;AACA,MAAM,uBAAuB,GAAG,GAAG;AACnC,eAAe,wBAAwB,CAAC,MAAM,EAAE;AAChD,EAAE,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,wBAAwB,EAAE;AAC3E,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,MAAM,2BAA2B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AACtE,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,OAAO;AACrB,MAAM,OAAO,EAAE,CAAC,+BAA+B,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAClG,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM;AACjG,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,gBAAgB;AAC9B,MAAM,OAAO,EAAE,6DAA6D;AAC5E,MAAM,WAAW,EAAE;AACnB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AAC1C,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,uBAAuB,CAAC;AAC7E,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,GAAG,EAAE;AACtB,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM;AACjE,IAAI,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;AAClF,MAAM,MAAM,EAAE,UAAU,CAAC,MAAM;AAC/B,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE;AAChB,MAAM,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE;AACjG,IAAI;AACJ,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,UAAU;AACxB,MAAM,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC3E,MAAM,WAAW,EAAE,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,GAAG,iEAAiE,GAAG;AAClI,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;AACrE,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,UAAU;AACxB,MAAM,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,uBAAuB,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjM,MAAM,WAAW,EAAE,CAAC,8CAA8C,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY;AACjG,KAAK;AACL,EAAE,CAAC,SAAS;AACZ,IAAI,YAAY,CAAC,KAAK,CAAC;AACvB,EAAE;AACF;AACA,eAAe,qBAAqB,GAAG;AACvC,EAAE,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;AACxE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,YAAY,uBAAuB,CAAC,EAAE;AAC1E,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,gBAAgB;AAC9B,MAAM,OAAO,EAAE;AACf,KAAK;AACL,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS;AACxC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,OAAO;AACrB,MAAM,OAAO,EAAE,sDAAsD;AACrE,MAAM,WAAW,EAAE;AACnB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AAC/D,EAAE,IAAI;AACN,IAAI,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC9C,IAAI,MAAM,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;AAChC,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC;AACvB,IAAI,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE;AACrF,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,MAAM,EAAE,UAAU;AACxB,MAAM,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9G,MAAM,WAAW,EAAE;AACnB,KAAK;AACL,EAAE;AACF;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC7C,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa;AAC5C,EAAE,IAAI,KAAK,YAAY,uBAAuB,EAAE;AAChD,IAAI,IAAI;AACR,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;AAClE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,EAAE,EAAE,iBAAiB;AAC7B,QAAQ,KAAK,EAAE,wBAAwB;AACvC,QAAQ,MAAM,EAAE,OAAO;AACvB,QAAQ,OAAO,EAAE,CAAC,oBAAoB,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1F,QAAQ,WAAW,EAAE;AACrB,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACzC,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAChG,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,EAAE,EAAE,CAAC;AACT,IAAI,cAAc,EAAE,CAAC;AACrB,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,KAAK,EAAE;AACX,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;AAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK;AACjE,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC;AACzF;;;;"}
|
package/build/server/index.js
CHANGED
|
@@ -1171,7 +1171,7 @@ const options = {
|
|
|
1171
1171
|
<div class="error">
|
|
1172
1172
|
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
|
|
1173
1173
|
},
|
|
1174
|
-
version_hash: "
|
|
1174
|
+
version_hash: "d4t28t"
|
|
1175
1175
|
};
|
|
1176
1176
|
async function get_hooks() {
|
|
1177
1177
|
let handle;
|