@selvajs/selva 4.4.0 → 4.5.0
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/{j-UbJSFZ.js → D_C_YIH8.js} +1 -1
- package/build/client/_app/immutable/chunks/D_C_YIH8.js.br +0 -0
- package/build/client/_app/immutable/chunks/D_C_YIH8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D-jj-Uww.js → DnURu9OT.js} +1 -1
- package/build/client/_app/immutable/chunks/DnURu9OT.js.br +0 -0
- package/build/client/_app/immutable/chunks/DnURu9OT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B-fj8b7K.js → DsuMOTav.js} +1 -1
- package/build/client/_app/immutable/chunks/DsuMOTav.js.br +0 -0
- package/build/client/_app/immutable/chunks/DsuMOTav.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CdGNQgyw.js → Dtx1M6QG.js} +1 -1
- package/build/client/_app/immutable/chunks/Dtx1M6QG.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dtx1M6QG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D7wuDTx2.js → DuHtWI31.js} +1 -1
- package/build/client/_app/immutable/chunks/DuHtWI31.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuHtWI31.js.gz +0 -0
- package/build/client/_app/immutable/chunks/U_alzAUv.js +3 -0
- package/build/client/_app/immutable/chunks/U_alzAUv.js.br +0 -0
- package/build/client/_app/immutable/chunks/U_alzAUv.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CsJrZk_i.js → app.DXOixdTQ.js} +2 -2
- package/build/client/_app/immutable/entry/app.DXOixdTQ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DXOixdTQ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.lHsRDqJ_.js +1 -0
- package/build/client/_app/immutable/entry/start.lHsRDqJ_.js.br +2 -0
- package/build/client/_app/immutable/entry/start.lHsRDqJ_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.wSjQD-9E.js → 1.Cgpx1yHy.js} +1 -1
- package/build/client/_app/immutable/nodes/1.Cgpx1yHy.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Cgpx1yHy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.cZPocN3B.js → 11.BIaqG9xz.js} +1 -1
- package/build/client/_app/immutable/nodes/11.BIaqG9xz.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BIaqG9xz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.CZxapN5I.js → 13.ByWkldPP.js} +1 -1
- package/build/client/_app/immutable/nodes/13.ByWkldPP.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.ByWkldPP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.ChDvrNjp.js → 14.87fRSA-Y.js} +1 -1
- package/build/client/_app/immutable/nodes/14.87fRSA-Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.87fRSA-Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.Cewxge5m.js → 16.DWG3CLUv.js} +1 -1
- package/build/client/_app/immutable/nodes/16.DWG3CLUv.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.DWG3CLUv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.NlvAvTSP.js → 17.CgiETa37.js} +1 -1
- package/build/client/_app/immutable/nodes/17.CgiETa37.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.CgiETa37.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.qNGlcD7l.js → 19.DO2ja5iW.js} +1 -1
- package/build/client/_app/immutable/nodes/19.DO2ja5iW.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.DO2ja5iW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.CgydK0lI.js → 2.DIAYMP4_.js} +1 -1
- package/build/client/_app/immutable/nodes/2.DIAYMP4_.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DIAYMP4_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.DYgQYcr-.js +5021 -0
- package/build/client/_app/immutable/nodes/20.DYgQYcr-.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.DYgQYcr-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.CdZLvQ68.js → 21.CTwryTPC.js} +1 -1
- package/build/client/_app/immutable/nodes/21.CTwryTPC.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.CTwryTPC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{23.CmSUvEas.js → 23.uUN6jlSq.js} +1 -1
- package/build/client/_app/immutable/nodes/23.uUN6jlSq.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.uUN6jlSq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.BLrWFvpH.js → 24.cDDvPQLh.js} +1 -1
- package/build/client/_app/immutable/nodes/24.cDDvPQLh.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.cDDvPQLh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.DF8_FNgX.js → 27.lHQ_8tDM.js} +1 -1
- package/build/client/_app/immutable/nodes/27.lHQ_8tDM.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.lHQ_8tDM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.u-nHYDMp.js → 28.DZO_WZjq.js} +1 -1
- package/build/client/_app/immutable/nodes/28.DZO_WZjq.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.DZO_WZjq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.zcWmCBtG.js → 29.BBkvtbbm.js} +1 -1
- package/build/client/_app/immutable/nodes/29.BBkvtbbm.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BBkvtbbm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.CGYG-fBC.js → 3.Clu5JbAY.js} +1 -1
- package/build/client/_app/immutable/nodes/3.Clu5JbAY.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.Clu5JbAY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.CFRFw3XM.js → 30.CunrYTKW.js} +1 -1
- package/build/client/_app/immutable/nodes/30.CunrYTKW.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.CunrYTKW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.BIDVFrKz.js → 5.CwEyn2eq.js} +1 -1
- package/build/client/_app/immutable/nodes/5.CwEyn2eq.js.br +1 -0
- package/build/client/_app/immutable/nodes/5.CwEyn2eq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.G8VTWVfQ.js → 6.Cybg-4zL.js} +1 -1
- package/build/client/_app/immutable/nodes/6.Cybg-4zL.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Cybg-4zL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.DaJ_YKCW.js → 7.U-nwvAMy.js} +1 -1
- package/build/client/_app/immutable/nodes/7.U-nwvAMy.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.U-nwvAMy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.c3ONIRmr.js → 8.Ds78IC3h.js} +1 -1
- package/build/client/_app/immutable/nodes/8.Ds78IC3h.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Ds78IC3h.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.BucDMSoZ.js → 9.B4Dh5-cJ.js} +1 -1
- package/build/client/_app/immutable/nodes/9.B4Dh5-cJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.B4Dh5-cJ.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/{0-DIp1vX-0.js → 0-DhT7yxre.js} +2 -2
- package/build/server/chunks/{0-DIp1vX-0.js.map → 0-DhT7yxre.js.map} +1 -1
- package/build/server/chunks/{1-2fHcSF9r.js → 1-B3qAsEuf.js} +2 -2
- package/build/server/chunks/{1-2fHcSF9r.js.map → 1-B3qAsEuf.js.map} +1 -1
- package/build/server/chunks/{10-D4slAhbl.js → 10-YMBFU3cy.js} +5 -5
- package/build/server/chunks/{10-D4slAhbl.js.map → 10-YMBFU3cy.js.map} +1 -1
- package/build/server/chunks/{11-BIn4AcHz.js → 11-DEH3nbKm.js} +6 -6
- package/build/server/chunks/{11-BIn4AcHz.js.map → 11-DEH3nbKm.js.map} +1 -1
- package/build/server/chunks/{12-BTFEd1df.js → 12-Bra8rAOu.js} +2 -2
- package/build/server/chunks/{12-BTFEd1df.js.map → 12-Bra8rAOu.js.map} +1 -1
- package/build/server/chunks/{13-DoxggNWI.js → 13-D_djeolg.js} +3 -3
- package/build/server/chunks/{13-DoxggNWI.js.map → 13-D_djeolg.js.map} +1 -1
- package/build/server/chunks/{14-dn1AxT2y.js → 14-B1A-3AIw.js} +3 -3
- package/build/server/chunks/{14-dn1AxT2y.js.map → 14-B1A-3AIw.js.map} +1 -1
- package/build/server/chunks/{15-CwlxfscS.js → 15-KF7YQWQR.js} +3 -3
- package/build/server/chunks/{15-CwlxfscS.js.map → 15-KF7YQWQR.js.map} +1 -1
- package/build/server/chunks/{16-CYmJwOTN.js → 16-27Ug2Gl4.js} +6 -6
- package/build/server/chunks/{16-CYmJwOTN.js.map → 16-27Ug2Gl4.js.map} +1 -1
- package/build/server/chunks/{17-2g3z6ge8.js → 17-B9EWzdfY.js} +2 -2
- package/build/server/chunks/{17-2g3z6ge8.js.map → 17-B9EWzdfY.js.map} +1 -1
- package/build/server/chunks/{18-DS1IDuFS.js → 18-Lwe4TEuf.js} +2 -2
- package/build/server/chunks/{18-DS1IDuFS.js.map → 18-Lwe4TEuf.js.map} +1 -1
- package/build/server/chunks/{19-D7P-oKm4.js → 19-DFpWVk9Q.js} +3 -3
- package/build/server/chunks/{19-D7P-oKm4.js.map → 19-DFpWVk9Q.js.map} +1 -1
- package/build/server/chunks/{2-x36H91MM.js → 2-psSdZh8h.js} +6 -6
- package/build/server/chunks/{2-x36H91MM.js.map → 2-psSdZh8h.js.map} +1 -1
- package/build/server/chunks/{20-Cb9g4A7Q.js → 20-B3RVyzHq.js} +9 -9
- package/build/server/chunks/{20-Cb9g4A7Q.js.map → 20-B3RVyzHq.js.map} +1 -1
- package/build/server/chunks/{21-CpI2moj3.js → 21-DjJlF-s8.js} +3 -3
- package/build/server/chunks/{21-CpI2moj3.js.map → 21-DjJlF-s8.js.map} +1 -1
- package/build/server/chunks/{23-cbMfA5sY.js → 23-Cv-iXsup.js} +6 -6
- package/build/server/chunks/{23-cbMfA5sY.js.map → 23-Cv-iXsup.js.map} +1 -1
- package/build/server/chunks/{24-CA3DPT0t.js → 24-C9N_eRrr.js} +4 -4
- package/build/server/chunks/{24-CA3DPT0t.js.map → 24-C9N_eRrr.js.map} +1 -1
- package/build/server/chunks/{25-DludrCpg.js → 25-DL8VLuLg.js} +2 -2
- package/build/server/chunks/{25-DludrCpg.js.map → 25-DL8VLuLg.js.map} +1 -1
- package/build/server/chunks/{27-BDtKZzPl.js → 27-HUwDEbMb.js} +4 -4
- package/build/server/chunks/{27-BDtKZzPl.js.map → 27-HUwDEbMb.js.map} +1 -1
- package/build/server/chunks/{28-Dvh0YyMK.js → 28-l4BuMkhA.js} +3 -3
- package/build/server/chunks/{28-Dvh0YyMK.js.map → 28-l4BuMkhA.js.map} +1 -1
- package/build/server/chunks/{29-OZbtFuyd.js → 29-DefkuWIf.js} +3 -3
- package/build/server/chunks/{29-OZbtFuyd.js.map → 29-DefkuWIf.js.map} +1 -1
- package/build/server/chunks/{3-BFx3bdEz.js → 3-FhxHeIS3.js} +2 -2
- package/build/server/chunks/{3-BFx3bdEz.js.map → 3-FhxHeIS3.js.map} +1 -1
- package/build/server/chunks/{30-BuoO_cIR.js → 30-BC7V7mS7.js} +3 -3
- package/build/server/chunks/{30-BuoO_cIR.js.map → 30-BC7V7mS7.js.map} +1 -1
- package/build/server/chunks/{31-Dzl1y1lc.js → 31-DJIq1bRM.js} +2 -2
- package/build/server/chunks/{31-Dzl1y1lc.js.map → 31-DJIq1bRM.js.map} +1 -1
- package/build/server/chunks/{32-DEYwWtss.js → 32-fvzIyQyk.js} +2 -2
- package/build/server/chunks/{32-DEYwWtss.js.map → 32-fvzIyQyk.js.map} +1 -1
- package/build/server/chunks/{5-BNfM-tOw.js → 5-BSabZ7B0.js} +2 -2
- package/build/server/chunks/{5-BNfM-tOw.js.map → 5-BSabZ7B0.js.map} +1 -1
- package/build/server/chunks/{6-CEx1JO4m.js → 6-BDAMjeLc.js} +3 -3
- package/build/server/chunks/{6-CEx1JO4m.js.map → 6-BDAMjeLc.js.map} +1 -1
- package/build/server/chunks/{7-Cz-fnTMA.js → 7-C5uuYI8Y.js} +2 -2
- package/build/server/chunks/{7-Cz-fnTMA.js.map → 7-C5uuYI8Y.js.map} +1 -1
- package/build/server/chunks/{8-CFNvkchb.js → 8-Yg3bHJY8.js} +3 -3
- package/build/server/chunks/{8-CFNvkchb.js.map → 8-Yg3bHJY8.js.map} +1 -1
- package/build/server/chunks/{9-DrF9Yg9r.js → 9-BOWShy6C.js} +4 -4
- package/build/server/chunks/{9-DrF9Yg9r.js.map → 9-BOWShy6C.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-wUV5pt7K.js → _page.svelte-BDLD6pXj.js} +182 -43
- package/build/server/chunks/_page.svelte-BDLD6pXj.js.map +1 -0
- package/build/server/chunks/{_server.ts-Mywogv28.js → _server.ts-13_Xvown.js} +5 -5
- package/build/server/chunks/{_server.ts-Mywogv28.js.map → _server.ts-13_Xvown.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8hNi-NM.js → _server.ts-6F3Ly0cY.js} +5 -5
- package/build/server/chunks/{_server.ts-C8hNi-NM.js.map → _server.ts-6F3Ly0cY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CmB_7_VV.js → _server.ts-AtxnIvMI.js} +5 -5
- package/build/server/chunks/{_server.ts-CmB_7_VV.js.map → _server.ts-AtxnIvMI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DgbeoluB.js → _server.ts-B9uegfmw.js} +5 -5
- package/build/server/chunks/{_server.ts-DgbeoluB.js.map → _server.ts-B9uegfmw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CvjBKoOG.js → _server.ts-BQetLy9N.js} +5 -5
- package/build/server/chunks/{_server.ts-CvjBKoOG.js.map → _server.ts-BQetLy9N.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vGCP86Du.js → _server.ts-BZH3tqYX.js} +48 -7
- package/build/server/chunks/_server.ts-BZH3tqYX.js.map +1 -0
- package/build/server/chunks/{_server.ts-CXvixtRW.js → _server.ts-Be15h83H.js} +5 -5
- package/build/server/chunks/{_server.ts-CXvixtRW.js.map → _server.ts-Be15h83H.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DOepVbAV.js → _server.ts-BgVWq0qd.js} +5 -5
- package/build/server/chunks/{_server.ts-DOepVbAV.js.map → _server.ts-BgVWq0qd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BnV_32U5.js → _server.ts-Bke_K04J.js} +5 -5
- package/build/server/chunks/{_server.ts-BnV_32U5.js.map → _server.ts-Bke_K04J.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNSHTRhw.js → _server.ts-BlVwuKrl.js} +5 -5
- package/build/server/chunks/{_server.ts-BNSHTRhw.js.map → _server.ts-BlVwuKrl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DCmcZ1Gb.js → _server.ts-BmjNVAmP.js} +5 -5
- package/build/server/chunks/{_server.ts-DCmcZ1Gb.js.map → _server.ts-BmjNVAmP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbcwlSqy.js → _server.ts-BwMyXo0z.js} +5 -5
- package/build/server/chunks/{_server.ts-DbcwlSqy.js.map → _server.ts-BwMyXo0z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-aJ-1nqR3.js → _server.ts-CF65FKS6.js} +5 -5
- package/build/server/chunks/{_server.ts-aJ-1nqR3.js.map → _server.ts-CF65FKS6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-A5TZCqa5.js → _server.ts-CMHRHdCD.js} +5 -5
- package/build/server/chunks/{_server.ts-A5TZCqa5.js.map → _server.ts-CMHRHdCD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pUwXCS2e.js → _server.ts-Ca_OJJFC.js} +5 -5
- package/build/server/chunks/{_server.ts-pUwXCS2e.js.map → _server.ts-Ca_OJJFC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-y7PjdP_H.js → _server.ts-Cc-srcRk.js} +3 -3
- package/build/server/chunks/{_server.ts-y7PjdP_H.js.map → _server.ts-Cc-srcRk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DgjIv5VO.js → _server.ts-Cg1WgIQn.js} +5 -5
- package/build/server/chunks/{_server.ts-DgjIv5VO.js.map → _server.ts-Cg1WgIQn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jICcnrLz.js → _server.ts-Cg6LtEov.js} +2 -2
- package/build/server/chunks/{_server.ts-jICcnrLz.js.map → _server.ts-Cg6LtEov.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFmfnLGv.js → _server.ts-CpsGzKQC.js} +5 -5
- package/build/server/chunks/{_server.ts-CFmfnLGv.js.map → _server.ts-CpsGzKQC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtwHDS7C.js → _server.ts-D2Qb9pui.js} +5 -5
- package/build/server/chunks/{_server.ts-CtwHDS7C.js.map → _server.ts-D2Qb9pui.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eAeNUEse.js → _server.ts-DEBzt_W2.js} +5 -5
- package/build/server/chunks/{_server.ts-eAeNUEse.js.map → _server.ts-DEBzt_W2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4BxZ2rC.js → _server.ts-DRlwVsIx.js} +5 -5
- package/build/server/chunks/{_server.ts-C4BxZ2rC.js.map → _server.ts-DRlwVsIx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4lve0n9.js → _server.ts-DVOhTvBf.js} +6 -6
- package/build/server/chunks/{_server.ts-C4lve0n9.js.map → _server.ts-DVOhTvBf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cu7fT_h2.js → _server.ts-DW-Oh4l9.js} +3 -3
- package/build/server/chunks/{_server.ts-Cu7fT_h2.js.map → _server.ts-DW-Oh4l9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CYnQlbaG.js → _server.ts-DamGRKop.js} +5 -5
- package/build/server/chunks/{_server.ts-CYnQlbaG.js.map → _server.ts-DamGRKop.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzoHhw3c.js → _server.ts-DethCmgs.js} +5 -5
- package/build/server/chunks/{_server.ts-DzoHhw3c.js.map → _server.ts-DethCmgs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-_nasPzxH.js → _server.ts-DlN3WSBT.js} +3 -3
- package/build/server/chunks/{_server.ts-_nasPzxH.js.map → _server.ts-DlN3WSBT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DQdxI18h.js → _server.ts-DvBucq0r.js} +5 -5
- package/build/server/chunks/{_server.ts-DQdxI18h.js.map → _server.ts-DvBucq0r.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BBenjXRj.js → _server.ts-Dz4bsmph.js} +5 -5
- package/build/server/chunks/{_server.ts-BBenjXRj.js.map → _server.ts-Dz4bsmph.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ctmv-46q.js → _server.ts-DzA4EZf_.js} +5 -5
- package/build/server/chunks/{_server.ts-Ctmv-46q.js.map → _server.ts-DzA4EZf_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BDVOe9oZ.js → _server.ts-L9PpKy16.js} +5 -5
- package/build/server/chunks/{_server.ts-BDVOe9oZ.js.map → _server.ts-L9PpKy16.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Drk8mhhT.js → _server.ts-Oi8Qzh0h.js} +5 -5
- package/build/server/chunks/{_server.ts-Drk8mhhT.js.map → _server.ts-Oi8Qzh0h.js.map} +1 -1
- package/build/server/chunks/{_server.ts-TGu9dCIM.js → _server.ts-PKbOblCf.js} +6 -6
- package/build/server/chunks/{_server.ts-TGu9dCIM.js.map → _server.ts-PKbOblCf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CoZrqfhl.js → _server.ts-XAkApigL.js} +5 -5
- package/build/server/chunks/{_server.ts-CoZrqfhl.js.map → _server.ts-XAkApigL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DaL0WEpS.js → _server.ts-bhjqtBoy.js} +5 -5
- package/build/server/chunks/{_server.ts-DaL0WEpS.js.map → _server.ts-bhjqtBoy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bel_bV82.js → _server.ts-cHSphefi.js} +5 -5
- package/build/server/chunks/{_server.ts-Bel_bV82.js.map → _server.ts-cHSphefi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dsn1xqkb.js → _server.ts-d6YTPmkY.js} +4 -4
- package/build/server/chunks/{_server.ts-Dsn1xqkb.js.map → _server.ts-d6YTPmkY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ck8MaVCN.js → _server.ts-kTCuqLDl.js} +5 -5
- package/build/server/chunks/{_server.ts-Ck8MaVCN.js.map → _server.ts-kTCuqLDl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVgSO8yh.js → _server.ts-kbr9HYg5.js} +5 -5
- package/build/server/chunks/{_server.ts-CVgSO8yh.js.map → _server.ts-kbr9HYg5.js.map} +1 -1
- package/build/server/chunks/{access.server-BueyYEoY.js → access.server-CAPd1-c2.js} +4 -4
- package/build/server/chunks/{access.server-BueyYEoY.js.map → access.server-CAPd1-c2.js.map} +1 -1
- package/build/server/chunks/{api-errors-BckwXK7Q.js → api-errors-BhVEeWTV.js} +3 -3
- package/build/server/chunks/{api-errors-BckwXK7Q.js.map → api-errors-BhVEeWTV.js.map} +1 -1
- package/build/server/chunks/{auth-bootstrap.server-BOTw9HkY.js → auth-bootstrap.server-DKc9-3PR.js} +2 -2
- package/build/server/chunks/{auth-bootstrap.server-BOTw9HkY.js.map → auth-bootstrap.server-DKc9-3PR.js.map} +1 -1
- package/build/server/chunks/{bootHealth.server-BwEi-Qp8.js → bootHealth.server-IPXOSqqQ.js} +2 -2
- package/build/server/chunks/{bootHealth.server-BwEi-Qp8.js.map → bootHealth.server-IPXOSqqQ.js.map} +1 -1
- package/build/server/chunks/{hooks.server-BHmZpgdz.js → hooks.server-BEbVZKxO.js} +4 -4
- package/build/server/chunks/{hooks.server-BHmZpgdz.js.map → hooks.server-BEbVZKxO.js.map} +1 -1
- package/build/server/chunks/{package-CGdqH7nx.js → package-MTlbeZ-4.js} +2 -2
- package/build/server/chunks/{package-CGdqH7nx.js.map → package-MTlbeZ-4.js.map} +1 -1
- package/build/server/chunks/{permissions.server-D1KUdeD1.js → permissions.server-zs4XAJCp.js} +2 -2
- package/build/server/chunks/{permissions.server-D1KUdeD1.js.map → permissions.server-zs4XAJCp.js.map} +1 -1
- package/build/server/chunks/{providers.server-BYk2ehLM.js → providers.server-C3fQ7ZdV.js} +78 -21
- package/build/server/chunks/providers.server-C3fQ7ZdV.js.map +1 -0
- package/build/server/chunks/{resolve.server-D79ZavTd.js → resolve.server-t1UmqtsG.js} +2 -2
- package/build/server/chunks/{resolve.server-D79ZavTd.js.map → resolve.server-t1UmqtsG.js.map} +1 -1
- package/build/server/chunks/{utils2-UQQTHTw-.js → utils2-BqfluBM6.js} +2 -2
- package/build/server/chunks/{utils2-UQQTHTw-.js.map → utils2-BqfluBM6.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +70 -70
- package/build/server/manifest.js.map +1 -1
- package/package.json +5 -5
- package/build/client/_app/immutable/chunks/B-fj8b7K.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-fj8b7K.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BU70HLVx.js +0 -3
- package/build/client/_app/immutable/chunks/BU70HLVx.js.br +0 -0
- package/build/client/_app/immutable/chunks/BU70HLVx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CdGNQgyw.js.br +0 -0
- package/build/client/_app/immutable/chunks/CdGNQgyw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D-jj-Uww.js.br +0 -0
- package/build/client/_app/immutable/chunks/D-jj-Uww.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D7wuDTx2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D7wuDTx2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/j-UbJSFZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/j-UbJSFZ.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CsJrZk_i.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CsJrZk_i.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.vCkjGHiU.js +0 -1
- package/build/client/_app/immutable/entry/start.vCkjGHiU.js.br +0 -2
- package/build/client/_app/immutable/entry/start.vCkjGHiU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.wSjQD-9E.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.wSjQD-9E.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.cZPocN3B.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.cZPocN3B.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.CZxapN5I.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.CZxapN5I.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.ChDvrNjp.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.ChDvrNjp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.Cewxge5m.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.Cewxge5m.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.NlvAvTSP.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.NlvAvTSP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.qNGlcD7l.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.qNGlcD7l.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CgydK0lI.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CgydK0lI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.CoGCSB-X.js +0 -5021
- package/build/client/_app/immutable/nodes/20.CoGCSB-X.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.CoGCSB-X.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.CdZLvQ68.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.CdZLvQ68.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.CmSUvEas.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.CmSUvEas.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.BLrWFvpH.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.BLrWFvpH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.DF8_FNgX.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.DF8_FNgX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.u-nHYDMp.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.u-nHYDMp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.zcWmCBtG.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.zcWmCBtG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CGYG-fBC.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CGYG-fBC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.CFRFw3XM.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.CFRFw3XM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BIDVFrKz.js.br +0 -2
- package/build/client/_app/immutable/nodes/5.BIDVFrKz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.G8VTWVfQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.G8VTWVfQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DaJ_YKCW.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DaJ_YKCW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.c3ONIRmr.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.c3ONIRmr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.BucDMSoZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BucDMSoZ.js.gz +0 -0
- package/build/server/chunks/_page.svelte-wUV5pt7K.js.map +0 -1
- package/build/server/chunks/_server.ts-vGCP86Du.js.map +0 -1
- package/build/server/chunks/providers.server-BYk2ehLM.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { error, json } from '@sveltejs/kit';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { M as MEMBER_ASSIGNABLE_PERMISSIONS, A as ALL_ORG_PERMISSIONS, e as OrgRoleSchema } from './context-BJnJL8ES.js';
|
|
4
|
-
import { k as getOrganizationProvider } from './providers.server-
|
|
5
|
-
import { y as requireManageOrgMembers } from './access.server-
|
|
6
|
-
import { t as throwZodError, h as handleApiError } from './api-errors-
|
|
4
|
+
import { k as getOrganizationProvider } from './providers.server-C3fQ7ZdV.js';
|
|
5
|
+
import { y as requireManageOrgMembers } from './access.server-CAPd1-c2.js';
|
|
6
|
+
import { t as throwZodError, h as handleApiError } from './api-errors-BhVEeWTV.js';
|
|
7
7
|
import './shared-server-C3WdcJCQ.js';
|
|
8
8
|
import 'node:url';
|
|
9
9
|
import 'node:path';
|
|
@@ -12,7 +12,7 @@ import 'node:crypto';
|
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import '@supabase/supabase-js';
|
|
14
14
|
import '@selvajs/compute/core';
|
|
15
|
-
import './utils2-
|
|
15
|
+
import './utils2-BqfluBM6.js';
|
|
16
16
|
|
|
17
17
|
const PERMISSIONS_SCHEMA = z.array(
|
|
18
18
|
z.enum(ALL_ORG_PERMISSIONS)
|
|
@@ -80,4 +80,4 @@ const PATCH = async ({ params, request, locals }) => {
|
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
export { PATCH };
|
|
83
|
-
//# sourceMappingURL=_server.ts-
|
|
83
|
+
//# sourceMappingURL=_server.ts-CpsGzKQC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CpsGzKQC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { A as ALL_ORG_PERMISSIONS, e as OrgRoleSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../../../chunks/context.js\";\nimport { k as getOrganizationProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { y as requireManageOrgMembers } from \"../../../../../../../chunks/access.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../../../chunks/api-errors.js\";\nconst PERMISSIONS_SCHEMA = z.array(\n z.enum(ALL_ORG_PERMISSIONS)\n);\nconst PatchSchema = z.object({\n role: OrgRoleSchema.optional(),\n permissions: PERMISSIONS_SCHEMA.optional()\n}).refine((b) => b.role !== void 0 || b.permissions !== void 0, {\n message: \"Provide at least one of role, permissions\"\n});\nconst PATCH = async ({ params, request, locals }) => {\n const { orgId, userId } = params;\n if (!orgId || !userId) throw error(400, \"Missing org ID or user ID\");\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n if (ctx.actingOrgId !== orgId) {\n throw error(403, \"Acting org does not match the target org.\");\n }\n const body = await request.json().catch(() => null);\n const parsed = PatchSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const patch = parsed.data;\n const orgs = getOrganizationProvider();\n const [actorMember, target] = await Promise.all([\n orgs.getOrgMember(ctx, orgId, ctx.userId),\n orgs.getOrgMember(ctx, orgId, userId)\n ]);\n if (!target) throw error(404, \"Member not found in this organization.\");\n if (!actorMember) throw error(403, \"You are not a member of this organization.\");\n if (patch.role !== void 0 && patch.role !== target.role) {\n if (actorMember.role !== \"owner\") {\n throw error(403, \"Only the org owner can change roles.\");\n }\n if (target.role === \"owner\" && patch.role !== \"owner\") {\n const page = await orgs.listOrgMembers(ctx, orgId, { limit: 200 });\n const otherOwners = page.items.filter(\n (m) => m.role === \"owner\" && m.userId !== target.userId && !m.deletedAt\n );\n if (otherOwners.length === 0) {\n throw error(\n 409,\n \"Cannot demote the sole owner of this organization. Promote another member to owner first.\"\n );\n }\n }\n await orgs.updateOrgMemberRole(ctx, orgId, userId, patch.role);\n }\n if (patch.permissions !== void 0) {\n const effectiveRole = patch.role ?? target.role;\n const valid = effectiveRole === \"member\" ? new Set(MEMBER_ASSIGNABLE_PERMISSIONS) : new Set(ALL_ORG_PERMISSIONS);\n const invalid = patch.permissions.filter((p) => !valid.has(p));\n if (invalid.length > 0) {\n throw error(\n 400,\n `Permissions [${invalid.join(\", \")}] cannot be assigned to a ${effectiveRole}.`\n );\n }\n try {\n await orgs.updateOrgMemberPermissions(ctx, orgId, userId, patch.permissions);\n } catch (err) {\n handleApiError(err, \"Failed to update permissions\");\n }\n }\n return json({ success: true });\n};\nexport {\n PATCH\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { error } from '@sveltejs/kit';
|
|
2
|
-
import { h as getDefinitionMeta, d as definitionPaths,
|
|
2
|
+
import { h as getDefinitionMeta, d as definitionPaths, p as getStorageProvider } from './providers.server-C3fQ7ZdV.js';
|
|
3
3
|
import { G as GuidSchema } from './context-BJnJL8ES.js';
|
|
4
|
-
import { s as requireCanViewProject } from './access.server-
|
|
4
|
+
import { s as requireCanViewProject } from './access.server-CAPd1-c2.js';
|
|
5
5
|
import './shared-server-C3WdcJCQ.js';
|
|
6
6
|
import 'node:url';
|
|
7
7
|
import 'node:path';
|
|
@@ -10,9 +10,9 @@ import 'node:crypto';
|
|
|
10
10
|
import 'node:fs/promises';
|
|
11
11
|
import '@supabase/supabase-js';
|
|
12
12
|
import 'zod';
|
|
13
|
-
import './api-errors-
|
|
13
|
+
import './api-errors-BhVEeWTV.js';
|
|
14
14
|
import '@selvajs/compute/core';
|
|
15
|
-
import './utils2-
|
|
15
|
+
import './utils2-BqfluBM6.js';
|
|
16
16
|
|
|
17
17
|
const ALLOWED_EXTENSIONS = {
|
|
18
18
|
".webp": "image/webp",
|
|
@@ -48,4 +48,4 @@ const GET = async ({ params, locals }) => {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
export { GET };
|
|
51
|
-
//# sourceMappingURL=_server.ts-
|
|
51
|
+
//# sourceMappingURL=_server.ts-D2Qb9pui.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-D2Qb9pui.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/files/_...path_/_server.ts.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { h as getDefinitionMeta, d as definitionPaths, p as getStorageProvider } from \"../../../../../chunks/providers.server.js\";\nimport { G as GuidSchema } from \"../../../../../chunks/context.js\";\nimport { s as requireCanViewProject } from \"../../../../../chunks/access.server.js\";\nconst ALLOWED_EXTENSIONS = {\n \".webp\": \"image/webp\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".png\": \"image/png\",\n \".gif\": \"image/gif\"\n};\nconst COVER_PATH_PATTERN = /^definitions\\/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\\/cover\\.([a-z]+)$/i;\nconst GET = async ({ params, locals }) => {\n const storagePath = params.path;\n if (!storagePath) throw error(400, \"Missing path\");\n const match = COVER_PATH_PATTERN.exec(storagePath);\n if (!match) throw error(404, \"File not found\");\n const [, guid, rawExt] = match;\n const ext = `.${rawExt.toLowerCase()}`;\n if (!ALLOWED_EXTENSIONS[ext]) throw error(404, \"File not found\");\n const guidParsed = GuidSchema.safeParse(guid);\n if (!guidParsed.success) throw error(404, \"File not found\");\n if (!locals.ctx) throw error(401, \"Unauthorized\");\n const record = await getDefinitionMeta().get(locals.ctx, guidParsed.data);\n if (!record) throw error(404, \"File not found\");\n await requireCanViewProject(locals, record.projectId);\n const canonicalPath = definitionPaths.image(guidParsed.data);\n const bytes = await getStorageProvider().get(canonicalPath);\n if (!bytes) throw error(404, \"File not found\");\n return new Response(Buffer.from(bytes), {\n headers: {\n \"Content-Type\": ALLOWED_EXTENSIONS[ext],\n \"Cache-Control\": \"private, max-age=3600\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,MAAM,EAAE;AACV,CAAC;AACD,MAAM,kBAAkB,GAAG,iGAAiG;AACvH,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI;AACjC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACpD,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACpD,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChD,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK;AAChC,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAClE,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;AAC/C,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAC7D,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;AACnD,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;AAC3E,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACjD,EAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACvD,EAAE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AAC9D,EAAE,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;AAC7D,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;AAChD,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1C,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC;AAC7C,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { json, error } from '@sveltejs/kit';
|
|
2
|
-
import { c as getComputeServerConfigStore } from './providers.server-
|
|
3
|
-
import { v as requireManageCompute } from './access.server-
|
|
2
|
+
import { c as getComputeServerConfigStore } from './providers.server-C3fQ7ZdV.js';
|
|
3
|
+
import { v as requireManageCompute } from './access.server-CAPd1-c2.js';
|
|
4
4
|
import './context-BJnJL8ES.js';
|
|
5
|
-
import { p as platformServers } from './utils2-
|
|
5
|
+
import { p as platformServers } from './utils2-BqfluBM6.js';
|
|
6
6
|
import './shared-server-C3WdcJCQ.js';
|
|
7
7
|
import 'node:url';
|
|
8
8
|
import 'node:path';
|
|
@@ -10,7 +10,7 @@ import 'node:fs';
|
|
|
10
10
|
import 'node:crypto';
|
|
11
11
|
import 'node:fs/promises';
|
|
12
12
|
import '@supabase/supabase-js';
|
|
13
|
-
import './api-errors-
|
|
13
|
+
import './api-errors-BhVEeWTV.js';
|
|
14
14
|
import '@selvajs/compute/core';
|
|
15
15
|
import 'zod';
|
|
16
16
|
|
|
@@ -83,4 +83,4 @@ const PUT = async ({ request, locals }) => {
|
|
|
83
83
|
};
|
|
84
84
|
|
|
85
85
|
export { GET, PUT };
|
|
86
|
-
//# sourceMappingURL=_server.ts-
|
|
86
|
+
//# sourceMappingURL=_server.ts-DEBzt_W2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DEBzt_W2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/compute/_server.ts.js"],"sourcesContent":["import { json, error } from \"@sveltejs/kit\";\nimport { c as getComputeServerConfigStore } from \"../../../../../chunks/providers.server.js\";\nimport { v as requireManageCompute } from \"../../../../../chunks/access.server.js\";\nimport \"../../../../../chunks/context.js\";\nimport { p as platformServers } from \"../../../../../chunks/utils2.js\";\nconst GET = async ({ locals }) => {\n requireManageCompute(locals);\n try {\n const config = await getComputeServerConfigStore().getConfig(locals.ctx);\n const servers = platformServers(config).map(\n ({ apiKey, ...rest }) => ({\n ...rest,\n hasApiKey: !!apiKey\n })\n );\n return json({\n servers,\n defaultServerId: config.defaultServerId\n });\n } catch (err) {\n console.error(\"[Compute GET] Failed:\", err);\n throw error(500, \"Failed to load compute config\");\n }\n};\nconst PUT = async ({ request, locals }) => {\n requireManageCompute(locals);\n const body = await request.json().catch(() => null);\n if (!body || typeof body !== \"object\") throw error(400, \"Invalid request body\");\n const incoming = body;\n if (!Array.isArray(incoming.servers)) throw error(400, \"servers must be an array\");\n for (const s of incoming.servers) {\n if (!s.id || typeof s.id !== \"string\") throw error(400, \"Each server needs an id\");\n if (!s.label || typeof s.label !== \"string\") throw error(400, \"Each server needs a label\");\n if (!s.serverUrl || typeof s.serverUrl !== \"string\")\n throw error(400, \"Each server needs a serverUrl\");\n try {\n new URL(s.serverUrl);\n } catch {\n throw error(400, `Invalid serverUrl: ${s.serverUrl}`);\n }\n if (s.sharedWith !== \"all\" && !Array.isArray(s.sharedWith)) {\n throw error(400, 'sharedWith must be \"all\" or an array of org ids');\n }\n if (Array.isArray(s.sharedWith) && s.sharedWith.some((x) => typeof x !== \"string\")) {\n throw error(400, \"sharedWith array must contain strings\");\n }\n if (s.apiKey !== void 0 && s.apiKey !== null && typeof s.apiKey !== \"string\")\n throw error(400, \"apiKey must be a string, null, or omitted\");\n }\n if (incoming.defaultServerId) {\n const found = incoming.servers.find((s) => s.id === incoming.defaultServerId);\n if (!found) throw error(400, \"defaultServerId must reference one of the submitted servers\");\n }\n try {\n const provider = getComputeServerConfigStore();\n const existing = await provider.getConfig(locals.ctx);\n const storedKeyById = new Map(platformServers(existing).map((s) => [s.id, s.apiKey]));\n const next = incoming.servers.map(\n ({ apiKey, sharedWith, ...rest }) => ({\n ...rest,\n scope: \"platform\",\n sharedWith: sharedWith === \"all\" ? \"all\" : [...sharedWith],\n apiKey: apiKey === null ? void 0 : apiKey ? apiKey : storedKeyById.get(rest.id)\n })\n );\n await provider.savePlatformServers(locals.ctx, next, incoming.defaultServerId);\n return new Response(null, { status: 204 });\n } catch (err) {\n console.error(\"[Compute PUT] Failed:\", err);\n throw error(500, \"Failed to save compute config\");\n }\n};\nexport {\n GET,\n PUT\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,14 @@ import { mkdir, writeFile, unlink } from 'node:fs/promises';
|
|
|
4
4
|
import { resolve, join } from 'node:path';
|
|
5
5
|
import { p as private_env } from './shared-server-C3WdcJCQ.js';
|
|
6
6
|
import './context-BJnJL8ES.js';
|
|
7
|
-
import { f as findServerById } from './utils2-
|
|
8
|
-
import {
|
|
9
|
-
import { z as requirePermission } from './access.server-
|
|
7
|
+
import { f as findServerById } from './utils2-BqfluBM6.js';
|
|
8
|
+
import { u as providers, L as LocalComputeServerStore, c as getComputeServerConfigStore } from './providers.server-C3fQ7ZdV.js';
|
|
9
|
+
import { z as requirePermission } from './access.server-CAPd1-c2.js';
|
|
10
10
|
import 'zod';
|
|
11
11
|
import 'node:url';
|
|
12
12
|
import 'node:fs';
|
|
13
13
|
import '@supabase/supabase-js';
|
|
14
|
-
import './api-errors-
|
|
14
|
+
import './api-errors-BhVEeWTV.js';
|
|
15
15
|
import '@selvajs/compute/core';
|
|
16
16
|
|
|
17
17
|
function atRestSecretsCheck(report) {
|
|
@@ -159,4 +159,4 @@ const GET = async ({ locals }) => {
|
|
|
159
159
|
};
|
|
160
160
|
|
|
161
161
|
export { GET };
|
|
162
|
-
//# sourceMappingURL=_server.ts-
|
|
162
|
+
//# sourceMappingURL=_server.ts-DRlwVsIx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-C4BxZ2rC.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":"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"}
|
|
1
|
+
{"version":3,"file":"_server.ts-DRlwVsIx.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 { u 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":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { error, json } from '@sveltejs/kit';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { a as getAuthProvider, k as getOrganizationProvider, l as getPermissionStore } from './providers.server-
|
|
4
|
-
import { w as requireManageInstanceUsers } from './access.server-
|
|
5
|
-
import { s as setUserPlatformPermissions } from './permissions.server-
|
|
6
|
-
import { t as throwZodError, h as handleApiError } from './api-errors-
|
|
3
|
+
import { a as getAuthProvider, k as getOrganizationProvider, l as getPermissionStore } from './providers.server-C3fQ7ZdV.js';
|
|
4
|
+
import { w as requireManageInstanceUsers } from './access.server-CAPd1-c2.js';
|
|
5
|
+
import { s as setUserPlatformPermissions } from './permissions.server-zs4XAJCp.js';
|
|
6
|
+
import { t as throwZodError, h as handleApiError } from './api-errors-BhVEeWTV.js';
|
|
7
7
|
import { S as SYSTEM_CONTEXT, j as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS, P as PlatformPermissionSchema, d as OrgPermissionSchema } from './context-BJnJL8ES.js';
|
|
8
8
|
import { f as flattenPermissions, s as splitFlatPermissions } from './permissions-compat.server-G174xsh6.js';
|
|
9
9
|
import './shared-server-C3WdcJCQ.js';
|
|
@@ -14,7 +14,7 @@ import 'node:crypto';
|
|
|
14
14
|
import 'node:fs/promises';
|
|
15
15
|
import '@supabase/supabase-js';
|
|
16
16
|
import '@selvajs/compute/core';
|
|
17
|
-
import './utils2-
|
|
17
|
+
import './utils2-BqfluBM6.js';
|
|
18
18
|
|
|
19
19
|
const FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);
|
|
20
20
|
const BaseUserBody = z.object({
|
|
@@ -105,4 +105,4 @@ const POST = async ({ request, locals }) => {
|
|
|
105
105
|
};
|
|
106
106
|
|
|
107
107
|
export { GET, POST };
|
|
108
|
-
//# sourceMappingURL=_server.ts-
|
|
108
|
+
//# sourceMappingURL=_server.ts-DVOhTvBf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DVOhTvBf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { a as getAuthProvider, k as getOrganizationProvider, l as getPermissionStore } from \"../../../../../chunks/providers.server.js\";\nimport { w as requireManageInstanceUsers } from \"../../../../../chunks/access.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../chunks/permissions.server.js\";\nimport { t as throwZodError, h as handleApiError } from \"../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, d as OrgPermissionSchema, S as SYSTEM_CONTEXT, j as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../chunks/context.js\";\nimport { f as flattenPermissions, s as splitFlatPermissions } from \"../../../../../chunks/permissions-compat.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst BaseUserBody = z.object({\n email: z.string().email(\"Valid email is required\"),\n permissions: z.array(FlatPermissionSchema)\n});\nconst PasswordUserBody = BaseUserBody.extend({\n password: z.string().min(8, \"Password must be at least 8 characters\").optional()\n});\nconst GET = async ({ locals }) => {\n requireManageInstanceUsers(locals);\n const page = await getAuthProvider().listUsers({ limit: 200 });\n if (page === null) {\n throw error(\n 501,\n \"User management is not supported by the current auth provider. Configure DATA_PATH (local provider) or check your provider wiring.\"\n );\n }\n const orgId = locals.ctx?.actingOrgId;\n const orgs = getOrganizationProvider();\n const userIds = page.items.map((u) => u.id);\n const platformByUser = await getPermissionStore().getForBatch(locals.ctx, userIds);\n const flattened = await Promise.all(\n page.items.map(async (u) => {\n let orgPerms = [];\n if (orgId) {\n const member = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, u.id);\n orgPerms = member?.permissions ?? [];\n }\n const platformPerms = platformByUser.get(u.id) ?? [];\n return {\n ...u,\n platformPermissions: platformPerms,\n permissions: flattenPermissions(\n platformPerms,\n orgPerms\n )\n };\n })\n );\n return json(flattened);\n};\nconst POST = async ({ request, locals }) => {\n requireManageInstanceUsers(locals);\n const auth = getAuthProvider();\n const body = await request.json().catch(() => null);\n const parsed = PasswordUserBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { email, password, permissions } = parsed.data;\n const { platform, org } = splitFlatPermissions(permissions);\n if (platform.length > 0 && !hasPermission(locals.ctx, \"instance_admin\")) {\n throw error(403, \"Only a platform admin can grant platform-scope permissions\");\n }\n try {\n let user;\n if (auth.passwordAuth) {\n if (!password) throw error(400, \"Password is required\");\n user = await auth.passwordAuth.createUserWithPassword(email, password);\n } else if (auth.createUser) {\n user = await auth.createUser(email);\n } else {\n throw error(\n 501,\n `User creation is not supported by ${auth.name}. Users are managed externally.`\n );\n }\n if (platform.length > 0) {\n await setUserPlatformPermissions(locals.ctx, user.id, platform);\n }\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: user.id,\n role: \"member\",\n permissions: org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? user.id,\n deletedAt: null\n });\n }\n return json(user, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create user\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { error, redirect } from '@sveltejs/kit';
|
|
2
|
-
import { a as getAuthProvider } from './providers.server-
|
|
3
|
-
import { b as bootstrapUserSession } from './auth-bootstrap.server-
|
|
2
|
+
import { a as getAuthProvider } from './providers.server-C3fQ7ZdV.js';
|
|
3
|
+
import { b as bootstrapUserSession } from './auth-bootstrap.server-DKc9-3PR.js';
|
|
4
4
|
import { h as setSessionCookie, f as setRefreshCookie, s as safeRedirectTarget } from './admin-auth.server-45kKyH82.js';
|
|
5
5
|
import './shared-server-C3WdcJCQ.js';
|
|
6
6
|
import 'node:url';
|
|
@@ -28,4 +28,4 @@ const GET = async ({ url, cookies }) => {
|
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export { GET };
|
|
31
|
-
//# sourceMappingURL=_server.ts-
|
|
31
|
+
//# sourceMappingURL=_server.ts-DW-Oh4l9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DW-Oh4l9.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/email/callback/_server.ts.js"],"sourcesContent":["import { error, redirect } from \"@sveltejs/kit\";\nimport { a as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { h as setSessionCookie, f as setRefreshCookie, s 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;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { error, json } from '@sveltejs/kit';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
|
-
import { n as getProjectProvider, i as getDefinitionService } from './providers.server-
|
|
4
|
-
import { r as requireCanCreateDefinition } from './access.server-
|
|
5
|
-
import { t as throwZodError, r as resolveServerForOrg, f as fetchSchemaFromCompute, h as handleApiError } from './api-errors-
|
|
3
|
+
import { n as getProjectProvider, i as getDefinitionService } from './providers.server-C3fQ7ZdV.js';
|
|
4
|
+
import { r as requireCanCreateDefinition } from './access.server-CAPd1-c2.js';
|
|
5
|
+
import { t as throwZodError, r as resolveServerForOrg, f as fetchSchemaFromCompute, h as handleApiError } from './api-errors-BhVEeWTV.js';
|
|
6
6
|
import { G as GH_EXTENSIONS } from './types-DxzJoaA4.js';
|
|
7
7
|
import { C as CreateDefinitionInputSchema } from './context-BJnJL8ES.js';
|
|
8
8
|
import { M as MAX_GH_FILE_SIZE, b as MAX_IMAGE_FILE_SIZE } from './computeLimits-DPO6NbLd.js';
|
|
@@ -14,7 +14,7 @@ import 'node:fs/promises';
|
|
|
14
14
|
import '@supabase/supabase-js';
|
|
15
15
|
import 'zod';
|
|
16
16
|
import '@selvajs/compute/core';
|
|
17
|
-
import './utils2-
|
|
17
|
+
import './utils2-BqfluBM6.js';
|
|
18
18
|
|
|
19
19
|
function parseTags(raw) {
|
|
20
20
|
if (typeof raw !== "string" || !raw.trim()) return void 0;
|
|
@@ -98,4 +98,4 @@ const POST = async ({ request, locals }) => {
|
|
|
98
98
|
};
|
|
99
99
|
|
|
100
100
|
export { POST };
|
|
101
|
-
//# sourceMappingURL=_server.ts-
|
|
101
|
+
//# sourceMappingURL=_server.ts-DamGRKop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DamGRKop.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { n as getProjectProvider, i as getDefinitionService } from \"../../../../chunks/providers.server.js\";\nimport { r as requireCanCreateDefinition } from \"../../../../chunks/access.server.js\";\nimport { t as throwZodError, r as resolveServerForOrg, f as fetchSchemaFromCompute, h as handleApiError } from \"../../../../chunks/api-errors.js\";\nimport { G as GH_EXTENSIONS } from \"../../../../chunks/types.js\";\nimport { C as CreateDefinitionInputSchema } from \"../../../../chunks/context.js\";\nimport { M as MAX_GH_FILE_SIZE, b as MAX_IMAGE_FILE_SIZE } from \"../../../../chunks/computeLimits.js\";\nfunction parseTags(raw) {\n if (typeof raw !== \"string\" || !raw.trim()) return void 0;\n const tags = raw.split(\",\").map((t) => t.trim()).filter(Boolean);\n return tags.length ? tags : void 0;\n}\nconst POST = async ({ request, locals }) => {\n const ctx = locals.ctx;\n const formData = await request.formData();\n const file = formData.get(\"file\");\n if (!(file instanceof File)) {\n throw error(400, \"A Grasshopper (.gh or .ghx) file is required\");\n }\n const ext = file.name.slice(file.name.lastIndexOf(\".\")).toLowerCase();\n if (!GH_EXTENSIONS.includes(ext)) {\n throw error(400, `File type not allowed. Allowed: ${GH_EXTENSIONS.join(\", \")}`);\n }\n if (file.size > MAX_GH_FILE_SIZE) {\n throw error(400, `File too large. Max size: ${MAX_GH_FILE_SIZE / (1024 * 1024)} MB`);\n }\n const imageFile = formData.get(\"image\");\n if (imageFile instanceof File && imageFile.size > MAX_IMAGE_FILE_SIZE) {\n throw error(400, `Image too large. Max size: ${MAX_IMAGE_FILE_SIZE / (1024 * 1024)} MB`);\n }\n let projectId = formData.get(\"projectId\");\n if (typeof projectId !== \"string\" || !projectId) {\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n const projectsPage = await getProjectProvider().listProjects(ctx, ctx.actingOrgId, {\n limit: 1\n });\n const defaultProject = projectsPage.items[0];\n if (!defaultProject) throw error(500, \"No project configured\");\n projectId = defaultProject.id;\n }\n const { project } = await requireCanCreateDefinition(locals, projectId);\n const parsed = CreateDefinitionInputSchema.safeParse({\n displayName: formData.get(\"displayName\"),\n description: formData.get(\"description\") || void 0,\n category: formData.get(\"category\") || void 0,\n coverImage: formData.get(\"coverImage\") || void 0,\n tags: parseTags(formData.get(\"tags\")),\n projectId,\n computeServerId: formData.get(\"computeServerId\") || void 0\n });\n if (!parsed.success) throwZodError(parsed.error);\n const fileExt = ext.slice(1);\n const guid = randomUUID();\n try {\n const fileData = new Uint8Array(await file.arrayBuffer());\n const server = await resolveServerForOrg(ctx, project.orgId, {\n definitionPin: parsed.data.computeServerId ?? null\n });\n const schema = await fetchSchemaFromCompute(fileData, server);\n const { record, version } = await getDefinitionService().create(\n ctx,\n {\n guid,\n projectId: parsed.data.projectId,\n ownerId: locals.user.id,\n fileExt,\n originalFilename: file.name,\n computeServerId: parsed.data.computeServerId,\n displayName: parsed.data.displayName.trim(),\n description: parsed.data.description,\n category: parsed.data.category,\n tags: parsed.data.tags,\n coverImage: parsed.data.coverImage\n },\n fileData,\n schema\n );\n let coverImage = record.coverImage;\n if (imageFile instanceof File && imageFile.size > 0) {\n const imageData = new Uint8Array(await imageFile.arrayBuffer());\n coverImage = await getDefinitionService().saveCoverImage(ctx, guid, imageData);\n }\n return json({ success: true, guid, version, coverImage });\n } catch (err) {\n handleApiError(err, \"Failed to create definition\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { error, json } from '@sveltejs/kit';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { n as getProjectProvider } from './providers.server-
|
|
4
|
-
import { u as requireInstanceAdmin } from './access.server-
|
|
5
|
-
import { h as handleApiError, t as throwZodError } from './api-errors-
|
|
3
|
+
import { n as getProjectProvider } from './providers.server-C3fQ7ZdV.js';
|
|
4
|
+
import { u as requireInstanceAdmin } from './access.server-CAPd1-c2.js';
|
|
5
|
+
import { h as handleApiError, t as throwZodError } from './api-errors-BhVEeWTV.js';
|
|
6
6
|
import { s as slugify } from './slug-BGuFQjqe.js';
|
|
7
7
|
import { S as SYSTEM_CONTEXT } from './context-BJnJL8ES.js';
|
|
8
8
|
import './shared-server-C3WdcJCQ.js';
|
|
@@ -13,7 +13,7 @@ import 'node:crypto';
|
|
|
13
13
|
import 'node:fs/promises';
|
|
14
14
|
import '@supabase/supabase-js';
|
|
15
15
|
import '@selvajs/compute/core';
|
|
16
|
-
import './utils2-
|
|
16
|
+
import './utils2-BqfluBM6.js';
|
|
17
17
|
|
|
18
18
|
const UpdatePlatformProjectBody = z.object({
|
|
19
19
|
name: z.string().min(1).max(128).trim(),
|
|
@@ -74,4 +74,4 @@ const DELETE = async ({ params, locals }) => {
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
export { DELETE, GET, PATCH };
|
|
77
|
-
//# sourceMappingURL=_server.ts-
|
|
77
|
+
//# sourceMappingURL=_server.ts-DethCmgs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DethCmgs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/projects/_id_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { n as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { u as requireInstanceAdmin } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../../../chunks/slug.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../chunks/context.js\";\nconst UpdatePlatformProjectBody = z.object({\n name: z.string().min(1).max(128).trim(),\n description: z.string().max(2e3).nullish()\n}).partial();\nasync function loadPlatformProjectOr404(id) {\n const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, id);\n if (!project || project.visibility !== \"platform\") {\n throw error(404, \"Platform project not found\");\n }\n return project;\n}\nconst GET = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n try {\n const project = await loadPlatformProjectOr404(id);\n return json(project);\n } catch (err) {\n handleApiError(err, \"Failed to load platform project\");\n }\n};\nconst PATCH = async ({ params, request, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const body = await request.json().catch(() => null);\n const parsed = UpdatePlatformProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await loadPlatformProjectOr404(id);\n const patch = {};\n if (parsed.data.name !== void 0) {\n patch.name = parsed.data.name;\n patch.slug = slugify(parsed.data.name);\n }\n if (parsed.data.description !== void 0) {\n patch.description = parsed.data.description ?? void 0;\n }\n await getProjectProvider().updateProject(SYSTEM_CONTEXT, id, patch);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to update platform project\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n try {\n await loadPlatformProjectOr404(id);\n await getProjectProvider().deleteProject(SYSTEM_CONTEXT, id);\n return json({ success: true });\n } catch (err) {\n handleApiError(err, \"Failed to delete platform project\");\n }\n};\nexport {\n DELETE,\n GET,\n PATCH\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { json } from '@sveltejs/kit';
|
|
2
2
|
import { randomUUID } from 'crypto';
|
|
3
3
|
import { createRequire } from 'module';
|
|
4
|
-
import { g as getBootHealth, i as isDegraded } from './bootHealth.server-
|
|
4
|
+
import { g as getBootHealth, i as isDegraded } from './bootHealth.server-IPXOSqqQ.js';
|
|
5
5
|
import './context-BJnJL8ES.js';
|
|
6
6
|
import 'zod';
|
|
7
|
-
import './providers.server-
|
|
7
|
+
import './providers.server-C3fQ7ZdV.js';
|
|
8
8
|
import './shared-server-C3WdcJCQ.js';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:path';
|
|
@@ -36,4 +36,4 @@ const GET = async () => {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export { GET };
|
|
39
|
-
//# sourceMappingURL=_server.ts-
|
|
39
|
+
//# sourceMappingURL=_server.ts-DlN3WSBT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DlN3WSBT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"crypto\";\nimport { createRequire } from \"module\";\nimport { g as getBootHealth, i as isDegraded } from \"../../../../chunks/bootHealth.server.js\";\nconst INSTANCE_ID = randomUUID();\nconst RUNTIME_VERSION = (() => {\n try {\n const require2 = createRequire(import.meta.url);\n return require2(\"@selvajs/selva/package.json\").version;\n } catch {\n return null;\n }\n})();\nconst GET = async () => {\n const boot = await getBootHealth();\n const degraded = isDegraded(boot);\n const body = {\n status: degraded ? \"degraded\" : \"ok\",\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n instanceId: INSTANCE_ID,\n version: RUNTIME_VERSION,\n boot\n };\n return json(body, { status: degraded ? 503 : 200 });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,MAAM,WAAW,GAAG,UAAU,EAAE;AAChC,MAAM,eAAe,GAAG,CAAC,MAAM;AAC/B,EAAE,IAAI;AACN,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACnD,IAAI,OAAO,QAAQ,CAAC,6BAA6B,CAAC,CAAC,OAAO;AAC1D,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI;AACf,EAAE;AACF,CAAC,GAAG;AACC,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;AACnC,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;AACxC,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACzD,IAAI,UAAU,EAAE,WAAW;AAC3B,IAAI,OAAO,EAAE,eAAe;AAC5B,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AACrD;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { error, json } from '@sveltejs/kit';
|
|
2
|
-
import { n as getProjectProvider } from './providers.server-
|
|
3
|
-
import { o as requireCanReclaim } from './access.server-
|
|
4
|
-
import { h as handleApiError } from './api-errors-
|
|
2
|
+
import { n as getProjectProvider } from './providers.server-C3fQ7ZdV.js';
|
|
3
|
+
import { o as requireCanReclaim } from './access.server-CAPd1-c2.js';
|
|
4
|
+
import { h as handleApiError } from './api-errors-BhVEeWTV.js';
|
|
5
5
|
import './shared-server-C3WdcJCQ.js';
|
|
6
6
|
import 'node:url';
|
|
7
7
|
import 'node:path';
|
|
@@ -12,7 +12,7 @@ import 'node:crypto';
|
|
|
12
12
|
import 'node:fs/promises';
|
|
13
13
|
import '@supabase/supabase-js';
|
|
14
14
|
import '@selvajs/compute/core';
|
|
15
|
-
import './utils2-
|
|
15
|
+
import './utils2-BqfluBM6.js';
|
|
16
16
|
|
|
17
17
|
const POST = async ({ params, locals }) => {
|
|
18
18
|
const { id } = params;
|
|
@@ -37,4 +37,4 @@ const POST = async ({ params, locals }) => {
|
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
export { POST };
|
|
40
|
-
//# sourceMappingURL=_server.ts-
|
|
40
|
+
//# sourceMappingURL=_server.ts-DvBucq0r.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DvBucq0r.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { n as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanReclaim } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n const { user, ctx } = await requireCanReclaim(locals, id);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: user.id,\n role: \"owner\",\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || user.id,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json({ success: true, member });\n } catch (err) {\n handleApiError(err, \"Failed to reclaim project\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3D,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,MAAM,EAAE,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;AACpC,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;AAC5D,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { r as resolveServerForOrg, C as ComputeServerUnconfiguredError } from './api-errors-
|
|
2
|
-
import { r as requireCanCreateDefinition } from './access.server-
|
|
1
|
+
import { r as resolveServerForOrg, C as ComputeServerUnconfiguredError } from './api-errors-BhVEeWTV.js';
|
|
2
|
+
import { r as requireCanCreateDefinition } from './access.server-CAPd1-c2.js';
|
|
3
3
|
import { error } from '@sveltejs/kit';
|
|
4
4
|
import { camelcaseKeys } from '@selvajs/compute/core';
|
|
5
5
|
import './context-BJnJL8ES.js';
|
|
6
6
|
import 'zod';
|
|
7
|
-
import './providers.server-
|
|
7
|
+
import './providers.server-C3fQ7ZdV.js';
|
|
8
8
|
import './shared-server-C3WdcJCQ.js';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:path';
|
|
@@ -12,7 +12,7 @@ import 'node:fs';
|
|
|
12
12
|
import 'node:crypto';
|
|
13
13
|
import 'node:fs/promises';
|
|
14
14
|
import '@supabase/supabase-js';
|
|
15
|
-
import './utils2-
|
|
15
|
+
import './utils2-BqfluBM6.js';
|
|
16
16
|
|
|
17
17
|
const POST = async ({ request, locals, url }) => {
|
|
18
18
|
const projectId = url.searchParams.get("projectId");
|
|
@@ -57,4 +57,4 @@ const POST = async ({ request, locals, url }) => {
|
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
export { POST };
|
|
60
|
-
//# sourceMappingURL=_server.ts-
|
|
60
|
+
//# sourceMappingURL=_server.ts-Dz4bsmph.js.map
|