@selvajs/selva 4.6.0-beta.2 → 4.6.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/assets/0.Cj1PUDYF.css +1 -0
- package/build/client/_app/immutable/assets/0.Cj1PUDYF.css.br +0 -0
- package/build/client/_app/immutable/assets/0.Cj1PUDYF.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{Dj6REzZ0.js → B3863r4K.js} +1 -1
- package/build/client/_app/immutable/chunks/B3863r4K.js.br +0 -0
- package/build/client/_app/immutable/chunks/B3863r4K.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{o-qHmMxg.js → B7HUdsZm.js} +1 -1
- package/build/client/_app/immutable/chunks/B7HUdsZm.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7HUdsZm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{KecTfFG2.js → ByprRtK5.js} +1 -1
- package/build/client/_app/immutable/chunks/ByprRtK5.js.br +0 -0
- package/build/client/_app/immutable/chunks/ByprRtK5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Cd8uUagh.js → Cf84tWpN.js} +1 -1
- package/build/client/_app/immutable/chunks/Cf84tWpN.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cf84tWpN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D-RnPGVi.js → CoQ9fTF5.js} +1 -1
- package/build/client/_app/immutable/chunks/CoQ9fTF5.js.br +0 -0
- package/build/client/_app/immutable/chunks/CoQ9fTF5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DE1IAae-.js → CpLycSEC.js} +4 -4
- package/build/client/_app/immutable/chunks/CpLycSEC.js.br +0 -0
- package/build/client/_app/immutable/chunks/CpLycSEC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BNlGWnEa.js → DYVN_iHa.js} +2 -2
- package/build/client/_app/immutable/chunks/DYVN_iHa.js.br +0 -0
- package/build/client/_app/immutable/chunks/DYVN_iHa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Dh9wssNG.js → Dc6oAxlV.js} +1 -1
- package/build/client/_app/immutable/chunks/Dc6oAxlV.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dc6oAxlV.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.C2qtLXu2.js +2 -0
- package/build/client/_app/immutable/entry/app.C2qtLXu2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.C2qtLXu2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.8SkoDI6l.js +1 -0
- package/build/client/_app/immutable/entry/start.8SkoDI6l.js.br +2 -0
- package/build/client/_app/immutable/entry/start.8SkoDI6l.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.h5RSNGbs.js → 1.BZeDeTb6.js} +1 -1
- package/build/client/_app/immutable/nodes/1.BZeDeTb6.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BZeDeTb6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.BrUohDzR.js → 11.RXCFeYZu.js} +1 -1
- package/build/client/_app/immutable/nodes/11.RXCFeYZu.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.RXCFeYZu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.RPUAXFD4.js → 13.wdYbd877.js} +1 -1
- package/build/client/_app/immutable/nodes/13.wdYbd877.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.wdYbd877.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.DD25MrcN.js → 14.DD7XD9GU.js} +1 -1
- package/build/client/_app/immutable/nodes/14.DD7XD9GU.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.DD7XD9GU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{15.2borWKNj.js → 15.DY0SZIUd.js} +13 -13
- package/build/client/_app/immutable/nodes/15.DY0SZIUd.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.DY0SZIUd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.AnMZqiO6.js → 16.C1v8VywM.js} +1 -1
- package/build/client/_app/immutable/nodes/16.C1v8VywM.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.C1v8VywM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.MCt65051.js → 17.o9x0mNbV.js} +1 -1
- package/build/client/_app/immutable/nodes/17.o9x0mNbV.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.o9x0mNbV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.6aT-fTMy.js → 19.CUaj7-cs.js} +1 -1
- package/build/client/_app/immutable/nodes/19.CUaj7-cs.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.CUaj7-cs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.DTLt5gvF.js → 2.Byp7Cy5O.js} +1 -1
- package/build/client/_app/immutable/nodes/2.Byp7Cy5O.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Byp7Cy5O.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{20.CpXK8jYA.js → 20.BBJjjtVo.js} +64 -64
- package/build/client/_app/immutable/nodes/20.BBJjjtVo.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.BBJjjtVo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.hMALoCev.js → 21.H0xJhKOR.js} +1 -1
- package/build/client/_app/immutable/nodes/21.H0xJhKOR.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.H0xJhKOR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.CzZJ1Z4F.js +16 -0
- package/build/client/_app/immutable/nodes/23.CzZJ1Z4F.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.CzZJ1Z4F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.D4e0bX6T.js → 24.BdClZySL.js} +1 -1
- package/build/client/_app/immutable/nodes/24.BdClZySL.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.BdClZySL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.CBtqq6qp.js → 27.Sx8VQZPb.js} +1 -1
- package/build/client/_app/immutable/nodes/27.Sx8VQZPb.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.Sx8VQZPb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.2dbj6GEG.js → 28.DM3lB66C.js} +1 -1
- package/build/client/_app/immutable/nodes/28.DM3lB66C.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.DM3lB66C.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.Cni5D37m.js → 29.DMxRfN-X.js} +1 -1
- package/build/client/_app/immutable/nodes/29.DMxRfN-X.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.DMxRfN-X.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.CfZ37YEr.js → 3.Ch9SZOx0.js} +1 -1
- package/build/client/_app/immutable/nodes/3.Ch9SZOx0.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.Ch9SZOx0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.B5u2_6d1.js → 30.B4uslO3W.js} +1 -1
- package/build/client/_app/immutable/nodes/30.B4uslO3W.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.B4uslO3W.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.Co5caC3o.js → 5.sJES-uLE.js} +1 -1
- package/build/client/_app/immutable/nodes/5.sJES-uLE.js.br +1 -0
- package/build/client/_app/immutable/nodes/5.sJES-uLE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.PNCZDQUQ.js → 6.Dnp2ke2O.js} +1 -1
- package/build/client/_app/immutable/nodes/6.Dnp2ke2O.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Dnp2ke2O.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.B-MS6ohL.js → 7.D0_g6ne3.js} +1 -1
- package/build/client/_app/immutable/nodes/7.D0_g6ne3.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.D0_g6ne3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.BuLcFKAl.js → 8.Ba7__1HU.js} +1 -1
- package/build/client/_app/immutable/nodes/8.Ba7__1HU.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Ba7__1HU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.BqTmDQ0D.js +1 -0
- package/build/client/_app/immutable/nodes/9.BqTmDQ0D.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BqTmDQ0D.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/handler.js +4 -4
- package/build/index.js +4 -4
- package/build/server/chunks/chunks/{AppHeader.js-DPS1L7af.js → AppHeader.js-D1BAf8Eq.js} +2 -2
- package/build/server/chunks/chunks/{AppHeader.js-DPS1L7af.js.map → AppHeader.js-D1BAf8Eq.js.map} +1 -1
- package/build/server/chunks/chunks/{UserChip.js-BD3_PDH3.js → UserChip.js-DIRuYUCH.js} +2 -2
- package/build/server/chunks/chunks/{UserChip.js-BD3_PDH3.js.map → UserChip.js-DIRuYUCH.js.map} +1 -1
- package/build/server/chunks/chunks/{access.server.js-7luP5O4P.js → access.server.js-x_KrjYJP.js} +16 -6
- package/build/server/chunks/chunks/access.server.js-x_KrjYJP.js.map +1 -0
- package/build/server/chunks/chunks/{api-errors.js-DjgsTHzx.js → api-errors.js-B1VX-zf8.js} +4 -4
- package/build/server/chunks/chunks/{api-errors.js-DjgsTHzx.js.map → api-errors.js-B1VX-zf8.js.map} +1 -1
- package/build/server/chunks/chunks/{auth-bootstrap.server.js-Bg-Qy-YX.js → auth-bootstrap.server.js-C3M4bN44.js} +3 -3
- package/build/server/chunks/chunks/{auth-bootstrap.server.js-Bg-Qy-YX.js.map → auth-bootstrap.server.js-C3M4bN44.js.map} +1 -1
- package/build/server/chunks/chunks/{bootHealth.server.js-C24EAEVt.js → bootHealth.server.js-o9cAZ837.js} +3 -3
- package/build/server/chunks/chunks/{bootHealth.server.js-C24EAEVt.js.map → bootHealth.server.js-o9cAZ837.js.map} +1 -1
- package/build/server/chunks/chunks/{context.js-CYsGbpHa.js → context.js-D8E0GFTw.js} +57 -2
- package/build/server/chunks/chunks/context.js-D8E0GFTw.js.map +1 -0
- package/build/server/chunks/chunks/{index4.js-CMkITbZa.js → index3.js-CMkITbZa.js} +1 -1
- package/build/server/chunks/chunks/{index4.js-CMkITbZa.js.map → index3.js-CMkITbZa.js.map} +1 -1
- package/build/server/chunks/chunks/{index3.js-DBDmmwF4.js → index4.js-DBDmmwF4.js} +1 -1
- package/build/server/chunks/chunks/{index3.js-DBDmmwF4.js.map → index4.js-DBDmmwF4.js.map} +1 -1
- package/build/server/chunks/chunks/{internal.js-Xh6As0I_.js → internal.js-DFETyO32.js} +3 -3
- package/build/server/chunks/chunks/{internal.js-Xh6As0I_.js.map → internal.js-DFETyO32.js.map} +1 -1
- package/build/server/chunks/chunks/{package.js-CRz9GLaw.js → package.js-CGBcIxLn.js} +2 -2
- package/build/server/chunks/chunks/package.js-CGBcIxLn.js.map +1 -0
- package/build/server/chunks/chunks/{permissions-compat.server.js-BRYePqvR.js → permissions-compat.server.js-BfoBZYSH.js} +2 -2
- package/build/server/chunks/chunks/{permissions-compat.server.js-BRYePqvR.js.map → permissions-compat.server.js-BfoBZYSH.js.map} +1 -1
- package/build/server/chunks/chunks/{permissions.server.js-D61RQTaQ.js → permissions.server.js-B1Spnvnp.js} +2 -2
- package/build/server/chunks/chunks/{permissions.server.js-D61RQTaQ.js.map → permissions.server.js-B1Spnvnp.js.map} +1 -1
- package/build/server/chunks/chunks/{providers.server.js-CvFPEaVE.js → providers.server.js-Sbk117pY.js} +99 -12
- package/build/server/chunks/chunks/providers.server.js-Sbk117pY.js.map +1 -0
- package/build/server/chunks/chunks/{resolve.server.js-C-Ts05L6.js → resolve.server.js-oRLjLsp2.js} +3 -3
- package/build/server/chunks/chunks/{resolve.server.js-C-Ts05L6.js.map → resolve.server.js-oRLjLsp2.js.map} +1 -1
- package/build/server/chunks/chunks/{types2.js-DdHhYSMF.js → types.js-DdHhYSMF.js} +1 -1
- package/build/server/chunks/chunks/types.js-DdHhYSMF.js.map +1 -0
- package/build/server/chunks/chunks/{utils4.js-CzzZn2eq.js → utils4.js-DvnSECfA.js} +2 -2
- package/build/server/chunks/chunks/{utils4.js-CzzZn2eq.js.map → utils4.js-DvnSECfA.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-BgLRpUtK.js → _server.ts.js-At2WPXTO.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-BgLRpUtK.js.map → _server.ts.js-At2WPXTO.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-D5dm9VRE.js → _server.ts.js-C7IxEmV_.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-D5dm9VRE.js.map → _server.ts.js-C7IxEmV_.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-DH93ywqu.js → _server.ts.js-C3wKOPU7.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-DH93ywqu.js.map → _server.ts.js-C3wKOPU7.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-34QzYRnZ.js → _server.ts.js-DPXSSURv.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-34QzYRnZ.js.map → _server.ts.js-DPXSSURv.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C3h2a4jh.js +78 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C3h2a4jh.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-DUYn5akM.js → _server.ts.js-CWC6GVdY.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-DUYn5akM.js.map → _server.ts.js-CWC6GVdY.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-CSz_2jk0.js → _server.ts.js-CS5ErY1M.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-CSz_2jk0.js.map → _server.ts.js-CS5ErY1M.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-LYhsZcY-.js → _server.ts.js-DU_gLDs6.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-LYhsZcY-.js.map → _server.ts.js-DU_gLDs6.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-C4K7fnEv.js → _server.ts.js-DMxdDGgQ.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-C4K7fnEv.js.map → _server.ts.js-DMxdDGgQ.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-CUPY6YtC.js → _server.ts.js-DvyK27Fl.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-CUPY6YtC.js.map → _server.ts.js-DvyK27Fl.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-DRad-P2w.js → _server.ts.js-CWBVKNdf.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-DRad-P2w.js.map → _server.ts.js-CWBVKNdf.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-B8GIFRxz.js → _server.ts.js-Bm7Ktrs8.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-B8GIFRxz.js.map → _server.ts.js-Bm7Ktrs8.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-D0CEHD1q.js → _server.ts.js-Bo9FJ97l.js} +8 -8
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-D0CEHD1q.js.map → _server.ts.js-Bo9FJ97l.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CcyFddp3.js → _server.ts.js-DIwBwpnn.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CcyFddp3.js.map → _server.ts.js-DIwBwpnn.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-CH64KfJa.js → _server.ts.js-C1svi-Ld.js} +8 -8
- package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-CH64KfJa.js.map → _server.ts.js-C1svi-Ld.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/compute/{_server.ts.js-PDUSGtWL.js → _server.ts.js-D_9YzrC7.js} +12 -11
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-D_9YzrC7.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-CRdaMbr5.js → _server.ts.js-CS7DNpIB.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-CRdaMbr5.js.map → _server.ts.js-CS7DNpIB.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js-CcVYY8qB.js → _server.ts.js-C1bI6fx_.js} +6 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-C1bI6fx_.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-Dty9JTwS.js → _server.ts.js-DG0bgqAW.js} +6 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-DG0bgqAW.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-B5Ff8JLF.js → _server.ts.js-vURofqUH.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-B5Ff8JLF.js.map → _server.ts.js-vURofqUH.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BsxirCwS.js → _server.ts.js-tDF_TKqq.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BsxirCwS.js.map → _server.ts.js-tDF_TKqq.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-DTHTIL25.js → _server.ts.js-BKFS4e1E.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-DTHTIL25.js.map → _server.ts.js-BKFS4e1E.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-BSk-XMi6.js → _server.ts.js-BTVUUKaO.js} +7 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-BTVUUKaO.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DHaix4jV.js → _server.ts.js-BPTGDGrE.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DHaix4jV.js.map → _server.ts.js-BPTGDGrE.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-DgsqUpvy.js → _server.ts.js-DmpMY-tz.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-DgsqUpvy.js.map → _server.ts.js-DmpMY-tz.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-CSlXv8pl.js → _server.ts.js-CgDtxILD.js} +6 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-CgDtxILD.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-JYCUGi0C.js +66 -0
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-JYCUGi0C.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js---TaqOG4.js → _server.ts.js-CcG69a2b.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js---TaqOG4.js.map → _server.ts.js-CcG69a2b.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-D8PLQyfl.js → _server.ts.js-CpTViiM7.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-D8PLQyfl.js.map → _server.ts.js-CpTViiM7.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-bw5-SMCA.js → _server.ts.js-DveWNfQf.js} +7 -7
- package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-bw5-SMCA.js.map → _server.ts.js-DveWNfQf.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-xb3Bmd1T.js → _server.ts.js-DvBZkOHM.js} +5 -5
- package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-xb3Bmd1T.js.map → _server.ts.js-DvBZkOHM.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-Md2vW_JR.js → _server.ts.js-jFG7Wq0K.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-Md2vW_JR.js.map → _server.ts.js-jFG7Wq0K.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BnDxcUMX.js → _server.ts.js-B2ycg2AE.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BnDxcUMX.js.map → _server.ts.js-B2ycg2AE.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-BDBuktWA.js → _server.ts.js-CNP_RE3t.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-BDBuktWA.js.map → _server.ts.js-CNP_RE3t.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-C6jztoDj.js → _server.ts.js-Bn5xwjry.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-C6jztoDj.js.map → _server.ts.js-Bn5xwjry.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-bnRRtqNM.js → _server.ts.js-BM6OdR6F.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-bnRRtqNM.js.map → _server.ts.js-BM6OdR6F.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-CwPJVSlh.js → _server.ts.js-kZpX0JUe.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-CwPJVSlh.js.map → _server.ts.js-kZpX0JUe.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-DFtwR98t.js → _server.ts.js-B-9USbyM.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-DFtwR98t.js.map → _server.ts.js-B-9USbyM.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-RrX9l-Lx.js → _server.ts.js-BBxTiBOV.js} +6 -6
- package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-RrX9l-Lx.js.map → _server.ts.js-BBxTiBOV.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-BD35FhKQ.js → _server.ts.js-C2ENZLn1.js} +6 -6
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-BD35FhKQ.js.map → _server.ts.js-C2ENZLn1.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-4f91Kqiq.js → _server.ts.js-DQkl2H6i.js} +5 -5
- package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-4f91Kqiq.js.map → _server.ts.js-DQkl2H6i.js.map} +1 -1
- package/build/server/chunks/entries/{hooks.server.js-COXVYevB.js → hooks.server.js-CEJghe6K.js} +14 -8
- package/build/server/chunks/entries/hooks.server.js-CEJghe6K.js.map +1 -0
- package/build/server/chunks/entries/pages/{_layout.server.ts.js-GUqRaAWY.js → _layout.server.ts.js-BJt_Hh-8.js} +2 -2
- package/build/server/chunks/entries/pages/{_layout.server.ts.js-GUqRaAWY.js.map → _layout.server.ts.js-BJt_Hh-8.js.map} +1 -1
- package/build/server/chunks/entries/pages/{_page.svelte.js-DGriO6RK.js → _page.svelte.js-DYHX2cXS.js} +4 -4
- package/build/server/chunks/entries/pages/{_page.svelte.js-DGriO6RK.js.map → _page.svelte.js-DYHX2cXS.js.map} +1 -1
- package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-fXauaTHa.js → _page.server.ts.js-p0Ur2D2z.js} +3 -3
- package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-fXauaTHa.js.map → _page.server.ts.js-p0Ur2D2z.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-C0CrUKMc.js → _layout.server.ts.js-CwHlKomC.js} +3 -3
- package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-C0CrUKMc.js.map → _layout.server.ts.js-CwHlKomC.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_layout.svelte.js-m5w7AtPm.js → _layout.svelte.js-BQTc-1yu.js} +4 -4
- package/build/server/chunks/entries/pages/admin/{_layout.svelte.js-m5w7AtPm.js.map → _layout.svelte.js-BQTc-1yu.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-C8t8e0PN.js +46 -0
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-C8t8e0PN.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-pR3aIlUh.js +343 -0
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-pR3aIlUh.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-CmQyI84L.js → _page.server.ts.js-B2E4712L.js} +4 -4
- package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-CmQyI84L.js.map → _page.server.ts.js-B2E4712L.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/audit/{_page.svelte.js-DKnhcr0i.js → _page.svelte.js-Qrf4BkvU.js} +2 -2
- package/build/server/chunks/entries/pages/admin/audit/{_page.svelte.js-DKnhcr0i.js.map → _page.svelte.js-Qrf4BkvU.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-DbdS__5V.js → _page.server.ts.js-X7vOXVx_.js} +5 -5
- package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-DbdS__5V.js.map → _page.server.ts.js-X7vOXVx_.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-B5gIXJYU.js → _page.server.ts.js-C9ThvUZW.js} +3 -3
- package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-B5gIXJYU.js.map → _page.server.ts.js-C9ThvUZW.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.server.ts.js-DZo022zC.js → _page.server.ts.js-CbYQUdsT.js} +3 -3
- package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.server.ts.js-DZo022zC.js.map → _page.server.ts.js-CbYQUdsT.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-DMCzmhaO.js → _page.server.ts.js-Bwzbc5U7.js} +3 -3
- package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-DMCzmhaO.js.map → _page.server.ts.js-Bwzbc5U7.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DLtoSAtZ.js → _page.server.ts.js-CVJE8A-M.js} +5 -5
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DLtoSAtZ.js.map → _page.server.ts.js-CVJE8A-M.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/system/{_page.svelte.js-D40qz7h1.js → _page.svelte.js-DCVW0G-O.js} +11 -9
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DCVW0G-O.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-CoesHwNn.js → _page.server.ts.js-5CoqZYu7.js} +5 -5
- package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-CoesHwNn.js.map → _page.server.ts.js-5CoqZYu7.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-B8lliTJb.js → _page.svelte.js-C4nuIM5S.js} +2 -2
- package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-B8lliTJb.js.map → _page.svelte.js-C4nuIM5S.js.map} +1 -1
- package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-CytdSW2U.js → _page.server.ts.js-CJVxmsjJ.js} +2 -2
- package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-CytdSW2U.js.map → _page.server.ts.js-CJVxmsjJ.js.map} +1 -1
- package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-Bg8aqgge.js → _page.server.ts.js-CdsnDM7L.js} +32 -13
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-CdsnDM7L.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-64m55aas.js → _page.svelte.js-BKgJcySA.js} +25 -8
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BKgJcySA.js.map +1 -0
- package/build/server/chunks/entries/pages/library/{_page.server.ts.js-D4HeAIm2.js → _page.server.ts.js-CGuuDwN6.js} +3 -3
- package/build/server/chunks/entries/pages/library/{_page.server.ts.js-D4HeAIm2.js.map → _page.server.ts.js-CGuuDwN6.js.map} +1 -1
- package/build/server/chunks/entries/pages/library/{_page.svelte.js-DCyL3B8c.js → _page.svelte.js-5i6dSCN0.js} +4 -4
- package/build/server/chunks/entries/pages/library/{_page.svelte.js-DCyL3B8c.js.map → _page.svelte.js-5i6dSCN0.js.map} +1 -1
- package/build/server/chunks/entries/pages/login/{_page.server.ts.js-F5J46dSA.js → _page.server.ts.js-DKowuYxD.js} +2 -2
- package/build/server/chunks/entries/pages/login/{_page.server.ts.js-F5J46dSA.js.map → _page.server.ts.js-DKowuYxD.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-DKAa-WX1.js → _layout.server.ts.js-CNMJpFAK.js} +2 -2
- package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-DKAa-WX1.js.map → _layout.server.ts.js-CNMJpFAK.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_layout.svelte.js-CnS5vZg7.js → _layout.svelte.js-BhualuOA.js} +4 -4
- package/build/server/chunks/entries/pages/projects/{_layout.svelte.js-CnS5vZg7.js.map → _layout.svelte.js-BhualuOA.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BjETS8O4.js → _page.server.ts.js-DUSltMia.js} +5 -5
- package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BjETS8O4.js.map → _page.server.ts.js-DUSltMia.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_page.svelte.js-CAqDXDn_.js → _page.svelte.js-BJ2zx31e.js} +20 -36
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-BJ2zx31e.js.map +1 -0
- package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-CB9mBWz8.js → _page.server.ts.js-Bi43FW5A.js} +4 -4
- package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-CB9mBWz8.js.map → _page.server.ts.js-Bi43FW5A.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-BS38iHNQ.js → _layout.server.ts.js-kTT4BcsF.js} +2 -2
- package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-BS38iHNQ.js.map → _layout.server.ts.js-kTT4BcsF.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/{_layout.svelte.js-DsH0R5CP.js → _layout.svelte.js-fvMFVC5K.js} +4 -4
- package/build/server/chunks/entries/pages/team/{_layout.svelte.js-DsH0R5CP.js.map → _layout.svelte.js-fvMFVC5K.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DaPu8CKH.js → _page.server.ts.js-BM0HjGiv.js} +2 -2
- package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DaPu8CKH.js.map → _page.server.ts.js-BM0HjGiv.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-Dzz9klWW.js → _page.server.ts.js-DSVbfXjJ.js} +4 -4
- package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-Dzz9klWW.js.map → _page.server.ts.js-DSVbfXjJ.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-BXhljlWE.js → _page.server.ts.js-B8od5Y-v.js} +3 -3
- package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-BXhljlWE.js.map → _page.server.ts.js-B8od5Y-v.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-Dy7GTJgI.js → _page.svelte.js-DwmoagP7.js} +2 -2
- package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-Dy7GTJgI.js.map → _page.svelte.js-DwmoagP7.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-AfkRGQXS.js → _page.server.ts.js-BU18iBCr.js} +3 -3
- package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-AfkRGQXS.js.map → _page.server.ts.js-BU18iBCr.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js--s1Cxd4d.js → _page.server.ts.js-DQR8CiW5.js} +3 -3
- package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js--s1Cxd4d.js.map → _page.server.ts.js-DQR8CiW5.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-D8NAShTy.js → _page.server.ts.js-Ds2Ncl_k.js} +3 -3
- package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-D8NAShTy.js.map → _page.server.ts.js-Ds2Ncl_k.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-CcFjlszF.js → _page.server.ts.js-BPApcgSj.js} +2 -2
- package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-CcFjlszF.js.map → _page.server.ts.js-BPApcgSj.js.map} +1 -1
- package/build/server/chunks/{handler-eGoBEmyE.js → handler-CCM1mFE_.js} +3 -3
- package/build/server/chunks/{handler-eGoBEmyE.js.map → handler-CCM1mFE_.js.map} +1 -1
- package/build/server/chunks/{index.js-CQyjqGjX.js → index.js-BijxEH4l.js} +2 -2
- package/build/server/chunks/{index.js-CQyjqGjX.js.map → index.js-BijxEH4l.js.map} +1 -1
- package/build/server/chunks/{manifest.js-CxNOAaGX.js → manifest.js-DGqOiurT.js} +79 -72
- package/build/server/chunks/manifest.js-DGqOiurT.js.map +1 -0
- package/build/server/chunks/nodes/{0.js-PcSktsRm.js → 0.js-CSowTy6s.js} +6 -6
- package/build/server/chunks/nodes/{0.js-PcSktsRm.js.map → 0.js-CSowTy6s.js.map} +1 -1
- package/build/server/chunks/nodes/{1.js-ChXxsPw8.js → 1.js-JkhEKVKD.js} +2 -2
- package/build/server/chunks/nodes/{1.js-ChXxsPw8.js.map → 1.js-JkhEKVKD.js.map} +1 -1
- package/build/server/chunks/nodes/{10.js-lAWyY09k.js → 10.js-H0usRAOJ.js} +8 -8
- package/build/server/chunks/nodes/{10.js-lAWyY09k.js.map → 10.js-H0usRAOJ.js.map} +1 -1
- package/build/server/chunks/nodes/{11.js-wBUVvXW0.js → 11.js-zU1ghV-s.js} +8 -8
- package/build/server/chunks/nodes/{11.js-wBUVvXW0.js.map → 11.js-zU1ghV-s.js.map} +1 -1
- package/build/server/chunks/nodes/{12.js-DKvWtkL1.js → 12.js-Hi7yiemE.js} +4 -4
- package/build/server/chunks/nodes/{12.js-DKvWtkL1.js.map → 12.js-Hi7yiemE.js.map} +1 -1
- package/build/server/chunks/nodes/{13.js-MWWbkVdz.js → 13.js-BecfMvrP.js} +5 -5
- package/build/server/chunks/nodes/{13.js-MWWbkVdz.js.map → 13.js-BecfMvrP.js.map} +1 -1
- package/build/server/chunks/nodes/{14.js-DQIXjqDn.js → 14.js-C_XeyRH1.js} +5 -5
- package/build/server/chunks/nodes/{14.js-DQIXjqDn.js.map → 14.js-C_XeyRH1.js.map} +1 -1
- package/build/server/chunks/nodes/{15.js-tr_0nQ1v.js → 15.js-Xfq1Hlsv.js} +10 -10
- package/build/server/chunks/nodes/{15.js-tr_0nQ1v.js.map → 15.js-Xfq1Hlsv.js.map} +1 -1
- package/build/server/chunks/nodes/{16.js--K69LBee.js → 16.js-DNAhQw2R.js} +10 -10
- package/build/server/chunks/nodes/{16.js--K69LBee.js.map → 16.js-DNAhQw2R.js.map} +1 -1
- package/build/server/chunks/nodes/{17.js-3ynjiEFj.js → 17.js-zS4c5CqT.js} +2 -2
- package/build/server/chunks/nodes/{17.js-3ynjiEFj.js.map → 17.js-zS4c5CqT.js.map} +1 -1
- package/build/server/chunks/nodes/{18.js-D85x42Pd.js → 18.js-DGcj7w2M.js} +4 -4
- package/build/server/chunks/nodes/{18.js-D85x42Pd.js.map → 18.js-DGcj7w2M.js.map} +1 -1
- package/build/server/chunks/nodes/{19.js-Cd61FaK8.js → 19.js-CCl0PnaY.js} +6 -6
- package/build/server/chunks/nodes/{19.js-Cd61FaK8.js.map → 19.js-CCl0PnaY.js.map} +1 -1
- package/build/server/chunks/nodes/{2.js-Chf3iuzZ.js → 2.js-DDmfVBSG.js} +9 -9
- package/build/server/chunks/nodes/{2.js-Chf3iuzZ.js.map → 2.js-DDmfVBSG.js.map} +1 -1
- package/build/server/chunks/nodes/{20.js-Dk1BWuh0.js → 20.js-DRI5Uoa0.js} +10 -10
- package/build/server/chunks/nodes/{20.js-Dk1BWuh0.js.map → 20.js-DRI5Uoa0.js.map} +1 -1
- package/build/server/chunks/nodes/{21.js-BYpV6WJ_.js → 21.js-HQMDLLY8.js} +5 -5
- package/build/server/chunks/nodes/{21.js-BYpV6WJ_.js.map → 21.js-HQMDLLY8.js.map} +1 -1
- package/build/server/chunks/nodes/{23.js-CXSDFivZ.js → 23.js-CUtU6P7T.js} +9 -9
- package/build/server/chunks/nodes/{23.js-CXSDFivZ.js.map → 23.js-CUtU6P7T.js.map} +1 -1
- package/build/server/chunks/nodes/{24.js-Bli5zZo9.js → 24.js-DEB1MpJO.js} +6 -6
- package/build/server/chunks/nodes/{24.js-Bli5zZo9.js.map → 24.js-DEB1MpJO.js.map} +1 -1
- package/build/server/chunks/nodes/{25.js-D7N3t-6a.js → 25.js-Dz_tw4Pc.js} +4 -4
- package/build/server/chunks/nodes/{25.js-D7N3t-6a.js.map → 25.js-Dz_tw4Pc.js.map} +1 -1
- package/build/server/chunks/nodes/{27.js-4swICaaU.js → 27.js-BFJkH0a-.js} +6 -6
- package/build/server/chunks/nodes/{27.js-4swICaaU.js.map → 27.js-BFJkH0a-.js.map} +1 -1
- package/build/server/chunks/nodes/{28.js-DDulqtuY.js → 28.js-Dmzn1oyt.js} +6 -6
- package/build/server/chunks/nodes/{28.js-DDulqtuY.js.map → 28.js-Dmzn1oyt.js.map} +1 -1
- package/build/server/chunks/nodes/{29.js-Dwc6d9G9.js → 29.js-CYk1T9YK.js} +5 -5
- package/build/server/chunks/nodes/{29.js-Dwc6d9G9.js.map → 29.js-CYk1T9YK.js.map} +1 -1
- package/build/server/chunks/nodes/{3.js-huEbI-kz.js → 3.js-CQMjn48j.js} +2 -2
- package/build/server/chunks/nodes/{3.js-huEbI-kz.js.map → 3.js-CQMjn48j.js.map} +1 -1
- package/build/server/chunks/nodes/{30.js-BakSwhvf.js → 30.js-IFuEWY3z.js} +5 -5
- package/build/server/chunks/nodes/{30.js-BakSwhvf.js.map → 30.js-IFuEWY3z.js.map} +1 -1
- package/build/server/chunks/nodes/{31.js-2-KePkFt.js → 31.js-C6TEDhTN.js} +4 -4
- package/build/server/chunks/nodes/{31.js-2-KePkFt.js.map → 31.js-C6TEDhTN.js.map} +1 -1
- package/build/server/chunks/nodes/{32.js-GzMFQ-NT.js → 32.js-B2ywocPi.js} +4 -4
- package/build/server/chunks/nodes/{32.js-GzMFQ-NT.js.map → 32.js-B2ywocPi.js.map} +1 -1
- package/build/server/chunks/nodes/{5.js-DoQQZ_BT.js → 5.js-tGFha7PK.js} +5 -5
- package/build/server/chunks/nodes/{5.js-DoQQZ_BT.js.map → 5.js-tGFha7PK.js.map} +1 -1
- package/build/server/chunks/nodes/{6.js-BIFmdlrm.js → 6.js-rduNGbyy.js} +6 -6
- package/build/server/chunks/nodes/{6.js-BIFmdlrm.js.map → 6.js-rduNGbyy.js.map} +1 -1
- package/build/server/chunks/nodes/{7.js-BRw0-0zy.js → 7.js-C5KuvcoZ.js} +3 -3
- package/build/server/chunks/nodes/{7.js-BRw0-0zy.js.map → 7.js-C5KuvcoZ.js.map} +1 -1
- package/build/server/chunks/nodes/{8.js-BnwlKqWj.js → 8.js-LI48HZY1.js} +5 -5
- package/build/server/chunks/nodes/{8.js-BnwlKqWj.js.map → 8.js-LI48HZY1.js.map} +1 -1
- package/build/server/chunks/nodes/9.js-ocRRXGJE.js +23 -0
- package/build/server/chunks/nodes/9.js-ocRRXGJE.js.map +1 -0
- package/package.json +5 -5
- package/build/client/_app/immutable/assets/0.Df7_lxfV.css +0 -1
- package/build/client/_app/immutable/assets/0.Df7_lxfV.css.br +0 -0
- package/build/client/_app/immutable/assets/0.Df7_lxfV.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BNlGWnEa.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNlGWnEa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cd8uUagh.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cd8uUagh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D-RnPGVi.js.br +0 -0
- package/build/client/_app/immutable/chunks/D-RnPGVi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DE1IAae-.js.br +0 -0
- package/build/client/_app/immutable/chunks/DE1IAae-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dh9wssNG.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dh9wssNG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dj6REzZ0.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dj6REzZ0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/KecTfFG2.js.br +0 -0
- package/build/client/_app/immutable/chunks/KecTfFG2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/o-qHmMxg.js.br +0 -0
- package/build/client/_app/immutable/chunks/o-qHmMxg.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BeT-AHPr.js +0 -2
- package/build/client/_app/immutable/entry/app.BeT-AHPr.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BeT-AHPr.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CrvouL8l.js +0 -1
- package/build/client/_app/immutable/entry/start.CrvouL8l.js.br +0 -2
- package/build/client/_app/immutable/entry/start.CrvouL8l.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.h5RSNGbs.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.h5RSNGbs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BrUohDzR.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BrUohDzR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.RPUAXFD4.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.RPUAXFD4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.DD25MrcN.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.DD25MrcN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.2borWKNj.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.2borWKNj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.AnMZqiO6.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.AnMZqiO6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.MCt65051.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.MCt65051.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.6aT-fTMy.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.6aT-fTMy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DTLt5gvF.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DTLt5gvF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.CpXK8jYA.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.CpXK8jYA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.hMALoCev.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.hMALoCev.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.BHMRNMwo.js +0 -16
- package/build/client/_app/immutable/nodes/23.BHMRNMwo.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.BHMRNMwo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.D4e0bX6T.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.D4e0bX6T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.CBtqq6qp.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.CBtqq6qp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.2dbj6GEG.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.2dbj6GEG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.Cni5D37m.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.Cni5D37m.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CfZ37YEr.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CfZ37YEr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.B5u2_6d1.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.B5u2_6d1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.Co5caC3o.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.Co5caC3o.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.PNCZDQUQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.PNCZDQUQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.B-MS6ohL.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.B-MS6ohL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.BuLcFKAl.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BuLcFKAl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.KKtWtrqc.js +0 -1
- package/build/client/_app/immutable/nodes/9.KKtWtrqc.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.KKtWtrqc.js.gz +0 -0
- package/build/server/chunks/chunks/access.server.js-7luP5O4P.js.map +0 -1
- package/build/server/chunks/chunks/context.js-CYsGbpHa.js.map +0 -1
- package/build/server/chunks/chunks/package.js-CRz9GLaw.js.map +0 -1
- package/build/server/chunks/chunks/providers.server.js-CvFPEaVE.js.map +0 -1
- package/build/server/chunks/chunks/types.js-DxzJoaA4.js +0 -11
- package/build/server/chunks/chunks/types.js-DxzJoaA4.js.map +0 -1
- package/build/server/chunks/chunks/types2.js-DdHhYSMF.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-PDUSGtWL.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-CcVYY8qB.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-Dty9JTwS.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-BSk-XMi6.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-CSlXv8pl.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BNV_mEcx.js +0 -51
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BNV_mEcx.js.map +0 -1
- package/build/server/chunks/entries/hooks.server.js-COXVYevB.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-Ch_K9Eqm.js +0 -32
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-Ch_K9Eqm.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-Cazj7gb_.js +0 -173
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-Cazj7gb_.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-D40qz7h1.js.map +0 -1
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-Bg8aqgge.js.map +0 -1
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-64m55aas.js.map +0 -1
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-CAqDXDn_.js.map +0 -1
- package/build/server/chunks/manifest.js-CxNOAaGX.js.map +0 -1
- package/build/server/chunks/nodes/9.js-BfWwYBB0.js +0 -23
- package/build/server/chunks/nodes/9.js-BfWwYBB0.js.map +0 -1
- /package/build/client/_app/immutable/nodes/{0.DbHFFbkB.js → 0.CpKGgbSx.js} +0 -0
- /package/build/client/_app/immutable/nodes/{0.DbHFFbkB.js.br → 0.CpKGgbSx.js.br} +0 -0
- /package/build/client/_app/immutable/nodes/{0.DbHFFbkB.js.gz → 0.CpKGgbSx.js.gz} +0 -0
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const GH_EXTENSIONS = [".gh", ".ghx"];
|
|
2
|
-
const COVER_IMAGE_CONTENT_TYPES = {
|
|
3
|
-
".jpg": "image/jpeg",
|
|
4
|
-
".jpeg": "image/jpeg",
|
|
5
|
-
".png": "image/png",
|
|
6
|
-
".webp": "image/webp",
|
|
7
|
-
".gif": "image/gif"
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export { COVER_IMAGE_CONTENT_TYPES as C, GH_EXTENSIONS as G };
|
|
11
|
-
//# sourceMappingURL=types.js-DxzJoaA4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js-DxzJoaA4.js","sources":["../../../../.svelte-kit/output/server/chunks/types.js"],"sourcesContent":["const GH_EXTENSIONS = [\".gh\", \".ghx\"];\nconst COVER_IMAGE_CONTENT_TYPES = {\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".png\": \"image/png\",\n \".webp\": \"image/webp\",\n \".gif\": \"image/gif\"\n};\nexport {\n COVER_IMAGE_CONTENT_TYPES as C,\n GH_EXTENSIONS as G\n};\n"],"names":[],"mappings":"AAAK,MAAC,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM;AAC/B,MAAC,yBAAyB,GAAG;AAClC,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,MAAM,EAAE;AACV;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types2.js-DdHhYSMF.js","sources":["../../../../.svelte-kit/output/server/chunks/types2.js"],"sourcesContent":["const DEFAULT_SHARE_LINK_MAX_SOLVES = 1e3;\nexport {\n DEFAULT_SHARE_LINK_MAX_SOLVES as D\n};\n"],"names":[],"mappings":"AAAK,MAAC,6BAA6B,GAAG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-PDUSGtWL.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/compute/_server.ts.js"],"sourcesContent":["import { a as apiError, A as ApiErrorCode, r as resolveServerForOrg, f as fetchSchemaFromCompute, C as ComputeServerUnconfiguredError } from \"../../../../chunks/api-errors.js\";\nimport { processInput, enableDebugLogging, TreeBuilder, GrasshopperClient } from \"@selvajs/compute\";\nimport { b as private_env } from \"../../../../chunks/shared-server.js\";\nimport { isHttpError } from \"@sveltejs/kit\";\nimport { lookup } from \"node:dns/promises\";\nimport { isIP } from \"node:net\";\nimport { e as RATE_LIMIT_WINDOW_MS, d as RATE_LIMIT_MAX_REQUESTS, f as MAX_SOLVE_DURATION_MS, C as COMPUTE_RESPONSE_MAX_BYTES, D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, g as COMPUTE_CACHE_ERRORED_SOLVES, h as COMPUTE_SERVER_CACHESOLVE, i as COMPUTE_REUSE_DEFINITION_CACHE, b as COMPUTE_REQUEST_MAX_BYTES } from \"../../../../chunks/computeLimits.js\";\nimport { r as requireMaxBodySize } from \"../../../../chunks/admin-auth.server.js\";\nimport { q as getStorageProvider, r as getSolveMetricSink, p as providers } from \"../../../../chunks/providers.server.js\";\nimport { h as requireCanEditDefinition, i as requireCanSolve } from \"../../../../chunks/access.server.js\";\nimport { t as tryResolveShareToken } from \"../../../../chunks/resolve.server.js\";\nfunction isBlockedIp(ip) {\n let addr = ip.toLowerCase();\n const mappedDotted = /^::ffff:(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})$/.exec(addr);\n if (mappedDotted) {\n addr = mappedDotted[1];\n } else {\n const mappedHex = /^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/.exec(addr);\n if (mappedHex) {\n const hi = parseInt(mappedHex[1], 16);\n const lo = parseInt(mappedHex[2], 16);\n addr = [hi >> 8 & 255, hi & 255, lo >> 8 & 255, lo & 255].join(\".\");\n }\n }\n if (isIP(addr) === 4) {\n const octets = addr.split(\".\").map(Number);\n if (octets.length !== 4 || octets.some((o) => o > 255)) return true;\n const [a, b] = octets;\n if (a === 0) return true;\n if (a === 127) return true;\n if (a === 10) return true;\n if (a === 192 && b === 168) return true;\n if (a === 172 && b >= 16 && b <= 31) return true;\n if (a === 169 && b === 254) return true;\n return false;\n }\n if (addr === \"::1\" || addr === \"::\") return true;\n if (/^(fc|fd)[0-9a-f]{0,2}:/.test(addr)) return true;\n if (/^fe[89ab][0-9a-f]:/.test(addr)) return true;\n return false;\n}\nfunction canonicalizeNumericIpv4(host) {\n if (isIP(host) === 4) return host;\n const rawParts = host.split(\".\");\n if (rawParts.length === 0 || rawParts.length > 4) return null;\n const parseUInt = (s) => {\n if (s === \"\") return null;\n let n;\n if (/^0x[0-9a-f]+$/i.test(s)) n = parseInt(s, 16);\n else if (/^0[0-7]+$/.test(s)) n = parseInt(s, 8);\n else if (/^[0-9]+$/.test(s)) n = parseInt(s, 10);\n else return null;\n return Number.isFinite(n) ? n : null;\n };\n const nums = rawParts.map(parseUInt);\n if (nums.some((n) => n === null)) return null;\n const parts = nums;\n let value;\n switch (parts.length) {\n case 1:\n value = parts[0];\n break;\n case 2:\n if (parts[0] > 255 || parts[1] > 16777215) return null;\n value = parts[0] << 24 | parts[1];\n break;\n case 3:\n if (parts[0] > 255 || parts[1] > 255 || parts[2] > 65535) return null;\n value = parts[0] << 24 | parts[1] << 16 | parts[2];\n break;\n default:\n if (parts.some((p) => p > 255)) return null;\n value = parts[0] << 24 | parts[1] << 16 | parts[2] << 8 | parts[3];\n }\n value = value >>> 0;\n if (value > 4294967295) return null;\n return [value >>> 24 & 255, value >>> 16 & 255, value >>> 8 & 255, value & 255].join(\n \".\"\n );\n}\nfunction isSafeRemoteDefinitionUrl(raw) {\n let parsed;\n try {\n parsed = new URL(raw);\n } catch {\n return false;\n }\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") return false;\n let host = parsed.hostname.toLowerCase();\n if (!host) return false;\n if (host === \"localhost\" || host.endsWith(\".localhost\")) return false;\n const isBracketed = host.startsWith(\"[\") && host.endsWith(\"]\");\n if (isBracketed) host = host.slice(1, -1);\n if (isIP(host) === 6) return !isBlockedIp(host);\n const canonical = canonicalizeNumericIpv4(host);\n if (canonical) return !isBlockedIp(canonical);\n return true;\n}\nasync function assertSafeRemoteDefinitionUrl(raw) {\n if (!isSafeRemoteDefinitionUrl(raw)) {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n const host = new URL(raw).hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\");\n if (isIP(host) !== 0 || canonicalizeNumericIpv4(host)) return raw;\n let resolved;\n try {\n resolved = await lookup(host, { all: true });\n } catch {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n if (resolved.length === 0 || resolved.some((r) => isBlockedIp(r.address))) {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n return raw;\n}\nconst WINDOW_MS = RATE_LIMIT_WINDOW_MS;\nconst MAX_PER_WINDOW = RATE_LIMIT_MAX_REQUESTS;\nconst buckets = /* @__PURE__ */ new Map();\nfunction checkComputeRateLimit(key) {\n const now = Date.now();\n const entry = buckets.get(key);\n if (!entry || now > entry.resetAt) {\n buckets.set(key, { count: 1, resetAt: now + WINDOW_MS });\n return { allowed: true };\n }\n if (entry.count >= MAX_PER_WINDOW) {\n return { allowed: false, retryAfter: Math.ceil((entry.resetAt - now) / 1e3) };\n }\n entry.count += 1;\n return { allowed: true };\n}\nfunction transformInputParameter(input, value) {\n const raw = {\n id: input.id,\n name: input.nickname,\n nickname: input.nickname || null,\n description: input.description || \"\",\n paramType: input.paramType,\n treeAccess: input.inputStructure === \"tree\",\n minimum: input.minimum ?? null,\n maximum: input.maximum ?? null,\n atLeast: 1,\n atMost: 1,\n stepSize: input.stepSize,\n // The user's selection wins; otherwise the schema default.\n default: value ?? input.default\n };\n return processInput(raw);\n}\nconst COMPUTE_DEBUG = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG ?? \"\").toLowerCase()\n);\nconst COMPUTE_DEBUG_VERBOSE = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG_VERBOSE ?? \"\").toLowerCase()\n);\nif (COMPUTE_DEBUG_VERBOSE) enableDebugLogging();\nfunction formatBytes(bytes) {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;\n}\nconst definitionCache = /* @__PURE__ */ new Map();\nconst MAX_CACHED_CLIENTS = 16;\nconst clientCache = /* @__PURE__ */ new Map();\nfunction clientCacheKey(serverConfig) {\n return `${serverConfig.serverUrl}\\0${serverConfig.apiKey ?? \"\"}`;\n}\nasync function getClient(serverConfig) {\n const key = clientCacheKey(serverConfig);\n const existing = clientCache.get(key);\n if (existing) {\n clientCache.delete(key);\n clientCache.set(key, existing);\n return existing;\n }\n const client = await GrasshopperClient.create({\n serverUrl: serverConfig.serverUrl,\n apiKey: serverConfig.apiKey,\n // Lib-level debug is the verbose one (full payload logs); keep it on the\n // verbose flag so the concise cache logs can run without the noise.\n debug: COMPUTE_DEBUG_VERBOSE,\n // Ask Rhino.Compute to cache solve results and return them on identical\n // repeats (same definition + inputs), skipping the solve. Forwarded to both\n // the pointer and full-upload solve paths via applyOptionalComputeSettings.\n cachesolve: COMPUTE_SERVER_CACHESOLVE,\n // Opt-in: also cache solves that reported GH errors (errors-by-design\n // definitions still produce correct geometry). See COMPUTE_CACHE_ERRORED_SOLVES.\n cacheerroredsolves: COMPUTE_CACHE_ERRORED_SOLVES,\n // DEBUG (SELVA_FLAG_COMPUTE_DEBUG): the server's per-request timing breakdown,\n // which exposes the two SERVER-side caches at once:\n // • Definition cache (pointer reuse): `decode` = deserialize + LOAD\n // DEFINITION. A repeat solve loads the definition from the server's cache,\n // so `decode` drops to ~0; a full (re)upload shows a larger `decode`.\n // • Solve cache (cachesolve): when the server returns a CACHED RESULT it\n // skips the solve, so `solve` drops to ~0 while decode/encode still run.\n // We flag each below so the contrast is obvious in the logs.\n onServerTiming: COMPUTE_DEBUG ? (t) => {\n const decode = t.decode ?? 0;\n const solve = t.solve ?? 0;\n const encode = t.encode ?? 0;\n const defCache = decode <= 1 ? \"HIT (definition reused, no re-upload/parse)\" : \"miss (full parse)\";\n const solveCache = COMPUTE_SERVER_CACHESOLVE && solve <= 1 ? \"HIT (cached result, solve skipped)\" : COMPUTE_SERVER_CACHESOLVE ? \"miss (solved fresh)\" : \"off\";\n console.log(\n `[Compute/rhino-cache] decode=${decode}ms solve=${solve}ms encode=${encode}ms | definition-cache: ${defCache} | solve-cache (cachesolve): ${solveCache}`\n );\n } : void 0\n });\n const scheduler = client.createScheduler({\n mode: \"queue\",\n timeoutMs: MAX_SOLVE_DURATION_MS,\n cache: { maxEntries: 20, ttlMs: 5 * 6e4 },\n // Solve large definitions by server cache-key (pointer) instead of re-uploading\n // the full binary every solve. On a stale-pointer miss the client (@selvajs/compute\n // >= 2.4.0) transparently re-uploads; the miss is detected via the server's\n // `code: \"definition_not_cached\"` (VektorNode fork). Env-gated so a deployment on\n // an unknown compute server can disable it — see COMPUTE_REUSE_DEFINITION_CACHE.\n reuseServerDefinitionCache: COMPUTE_REUSE_DEFINITION_CACHE,\n // DEBUG (SELVA_FLAG_COMPUTE_DEBUG): observe the Selva in-process response\n // cache. `fromCache === true` means this solve was served from Selva's own\n // cache — Rhino.Compute was never called (you'll see NO [Compute/timing]\n // line for it). `false` means it went to the compute server.\n onSettle: COMPUTE_DEBUG ? (_ctx, result) => {\n if (result.status === \"success\") {\n console.log(\n `[Compute/selva-cache] ${result.fromCache ? \"HIT — served from Selva (no compute call)\" : \"miss — went to Rhino.Compute\"} (${Math.round(result.durationMs)}ms)`\n );\n if (!result.fromCache) {\n console.log(\n result.definitionReuploaded === true ? \"[Compute/def-cache] miss — definition RE-UPLOADED (pointer was cold/stale)\" : result.definitionReuploaded === false ? \"[Compute/def-cache] HIT — definition reused from server cache (no upload)\" : \"[Compute/def-cache] n/a — reuse disabled or non-reusable definition\"\n );\n }\n if (!result.fromCache) {\n const errs = result.response?.errors;\n const errCount = Array.isArray(errs) ? errs.length : 0;\n if (errCount > 0) {\n console.log(\n `[Compute/rhino-cache] ${errCount} GH error(s); not cacheable until fixed. First: ${JSON.stringify(errs[0])}`\n );\n }\n }\n }\n } : void 0\n });\n const entry = { client, scheduler };\n if (clientCache.size >= MAX_CACHED_CLIENTS) {\n const oldestKey = clientCache.keys().next().value;\n if (oldestKey !== void 0) {\n clientCache.get(oldestKey)?.scheduler.dispose();\n clientCache.delete(oldestKey);\n }\n }\n clientCache.set(key, entry);\n return entry;\n}\nasync function readBodyWithCap(response, maxBytes, controller) {\n if (!response.body) {\n const buffer = await response.arrayBuffer();\n if (buffer.byteLength > maxBytes) throw new Error(\"Remote definition exceeds size limit\");\n return new Uint8Array(buffer);\n }\n const reader = response.body.getReader();\n const chunks = [];\n let total = 0;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n total += value.byteLength;\n if (total > maxBytes) {\n controller.abort();\n throw new Error(\"Remote definition exceeds size limit\");\n }\n chunks.push(value);\n }\n const out = new Uint8Array(total);\n let offset = 0;\n for (const chunk of chunks) {\n out.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return out;\n}\nasync function loadRemoteDefinition(url) {\n await assertSafeRemoteDefinitionUrl(url);\n const now = Date.now();\n const cached = definitionCache.get(url);\n if (cached && now - cached.fetchedAt < DEFINITION_CACHE_TTL_MS) {\n return cached.data;\n }\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), REMOTE_DEFINITION_FETCH_TIMEOUT_MS);\n let data;\n try {\n const response = await fetch(url, {\n signal: controller.signal,\n redirect: \"error\"\n });\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n const declared = Number(response.headers.get(\"content-length\"));\n if (Number.isFinite(declared) && declared > REMOTE_DEFINITION_MAX_BYTES) {\n throw new Error(\"Remote definition exceeds size limit\");\n }\n data = await readBodyWithCap(response, REMOTE_DEFINITION_MAX_BYTES, controller);\n } finally {\n clearTimeout(timeout);\n }\n definitionCache.set(url, { data, fetchedAt: now });\n if (definitionCache.size > 50) {\n const entries = Array.from(definitionCache.entries());\n entries.sort((a, b) => a[1].fetchedAt - b[1].fetchedAt);\n for (let i = 0; i < 10; i++) {\n definitionCache.delete(entries[i][0]);\n }\n }\n return data;\n}\nconst POST = async ({ request, locals, url }) => {\n const storage = getStorageProvider();\n requireMaxBodySize(request, COMPUTE_REQUEST_MAX_BYTES);\n try {\n const body = await request.json();\n const { inputs, values } = body;\n const definitionUrl = body.definitionUrl;\n const channel = body.channel ?? \"live\";\n if (!inputs || !values || !definitionUrl) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"Missing required fields: inputs, values, or definitionUrl\"\n );\n }\n if (channel !== \"live\" && channel !== \"draft\") {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Invalid channel: ${channel}. Must be 'live' or 'draft'.`\n );\n }\n let definitionSource;\n let localVersionForBackfill = null;\n let solveOrgId = null;\n let definitionPin = null;\n let metricDefinitionId = null;\n let metricVersionId = null;\n const isLocal = definitionUrl.startsWith(\"local:\");\n const guid = isLocal ? definitionUrl.substring(6) : null;\n const sharedAccess = isLocal && guid ? await tryResolveShareToken(request, url, guid, channel, { requireSolve: true }) : null;\n if (!sharedAccess && (!locals.ctx || !locals.user)) {\n apiError(401, ApiErrorCode.UNAUTHORIZED, \"Unauthorized\");\n }\n const solveCtx = sharedAccess?.ctx ?? locals.ctx;\n const recordMetric = (failureKind, extra = {}) => {\n void getSolveMetricSink().record(solveCtx, {\n definitionUrl,\n definitionId: metricDefinitionId,\n versionId: metricVersionId,\n channel,\n orgId: solveOrgId,\n durationMs: extra.durationMs ?? 0,\n ok: failureKind === \"ok\",\n failureKind,\n errorCount: extra.errorCount ?? 0,\n warningCount: extra.warningCount ?? 0\n });\n };\n const rateLimitKey = sharedAccess ? `share:${sharedAccess.link.id}` : `user:${locals.user.id}`;\n const rateLimit = checkComputeRateLimit(rateLimitKey);\n if (!rateLimit.allowed) {\n recordMetric(\"rate_limited\");\n const retryAfter = rateLimit.retryAfter ?? 1;\n return new Response(\n JSON.stringify({\n message: `Too many compute requests. Retry in ${retryAfter}s.`,\n retryAfter\n }),\n {\n status: 429,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Retry-After\": String(retryAfter)\n }\n }\n );\n }\n if (isLocal && guid) {\n let record;\n try {\n record = await providers.data.definitions.get(solveCtx, guid);\n } catch (err) {\n console.error(`Failed to load local definition: ${guid}`, err);\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n }\n if (!record) apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n const project = await providers.data.projects.getProject(solveCtx, record.projectId);\n solveOrgId = project?.orgId ?? null;\n definitionPin = record.computeServerId ?? null;\n if (!sharedAccess) {\n if (channel === \"draft\") {\n await requireCanEditDefinition(locals, record.projectId, guid);\n } else {\n await requireCanSolve(locals, record.projectId);\n }\n }\n const versionId = channel === \"live\" ? record.liveVersionId : record.draftVersionId;\n if (!versionId) {\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' has no ${channel} version yet`);\n }\n const version = await providers.data.definitions.getVersion(solveCtx, versionId);\n if (!version || version.definitionId !== guid) {\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' ${channel} version is missing`);\n }\n localVersionForBackfill = { id: version.id, hasSchema: version.schema !== void 0 };\n metricDefinitionId = guid;\n metricVersionId = version.id;\n try {\n const bytes = await storage.get(version.fileKey);\n if (!bytes) throw new Error(`Version blob missing: ${version.fileKey}`);\n definitionSource = bytes;\n } catch (err) {\n console.error(`Failed to load local definition blob: ${guid}`, err);\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n }\n } else {\n try {\n definitionSource = await loadRemoteDefinition(definitionUrl);\n } catch (err) {\n console.error(`Failed to fetch definition from ${definitionUrl}:`, err);\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Failed to load definition: ${err instanceof Error ? err.message : String(err)}`\n );\n }\n }\n const inputTree = TreeBuilder.fromInputParams(\n inputs.filter((input) => input.paramType).map((input) => transformInputParameter(input, values[input.id]))\n );\n if (sharedAccess) {\n const next = await providers.data.shareLinks.tryIncrementSolveCount(\n solveCtx,\n sharedAccess.link.id\n );\n if (next === null) {\n recordMetric(\"share_cap\");\n apiError(429, ApiErrorCode.INTERNAL, \"Share link solve cap reached.\");\n }\n }\n const serverConfig = await resolveServerForOrg(solveCtx, solveOrgId, { definitionPin });\n if (localVersionForBackfill && !localVersionForBackfill.hasSchema) {\n const versionId = localVersionForBackfill.id;\n try {\n const schema = await fetchSchemaFromCompute(definitionSource, serverConfig);\n await providers.data.definitions.setVersionSchema(solveCtx, versionId, schema);\n } catch (err) {\n console.warn(`[API/Compute] Schema backfill failed for version ${versionId}:`, err);\n }\n }\n const { scheduler } = await getClient(serverConfig);\n let solvedDefinition;\n const solveStart = performance.now();\n try {\n solvedDefinition = await scheduler.solve(definitionSource, inputTree, {\n signal: request.signal\n });\n recordMetric(\"ok\", {\n durationMs: performance.now() - solveStart,\n errorCount: solvedDefinition.errors?.length ?? 0,\n warningCount: solvedDefinition.warnings?.length ?? 0\n });\n if (metricDefinitionId) {\n providers.data.definitions.incrementSolveCount(solveCtx, metricDefinitionId).catch(\n (err) => console.warn(\n `[API/Compute] solveCount increment failed for ${metricDefinitionId}:`,\n err\n )\n );\n }\n } catch (err) {\n const isAbort = err instanceof Error && err.name === \"AbortError\";\n const timedOut = isAbort && !request.signal.aborted;\n recordMetric(timedOut ? \"timeout\" : isAbort ? \"client_abort\" : \"compute_error\", {\n durationMs: performance.now() - solveStart\n });\n if (isAbort) {\n if (request.signal.aborted) {\n apiError(499, ApiErrorCode.INTERNAL, \"Client closed request\");\n }\n apiError(\n 504,\n ApiErrorCode.INTERNAL,\n `Solve exceeded the ${Math.round(MAX_SOLVE_DURATION_MS / 1e3)}s deadline.`\n );\n }\n throw err;\n }\n let serialized;\n try {\n serialized = JSON.stringify(solvedDefinition);\n } catch (err) {\n if (err instanceof RangeError) {\n recordMetric(\"too_large\");\n apiError(\n 413,\n ApiErrorCode.INTERNAL,\n \"Solve result is too large to return. This usually means a file output exceeds the supported size.\"\n );\n }\n throw err;\n }\n if (serialized.length > COMPUTE_RESPONSE_MAX_BYTES) {\n recordMetric(\"too_large\");\n apiError(\n 413,\n ApiErrorCode.INTERNAL,\n \"Solve result is too large to return. This usually means a file output exceeds the supported size.\"\n );\n }\n if (COMPUTE_DEBUG) {\n console.log(`[Compute/size] solve result = ${formatBytes(serialized.length)}`);\n }\n return new Response(serialized, {\n headers: { \"Content-Type\": \"application/json\" }\n });\n } catch (err) {\n if (isHttpError(err)) throw err;\n if (err instanceof ComputeServerUnconfiguredError) {\n apiError(503, ApiErrorCode.COMPUTE_UNAVAILABLE, err.message);\n }\n const message = err instanceof Error ? err.message : \"Unknown error\";\n console.error(\"[API/Compute] Error:\", message);\n if (err instanceof TypeError && message === \"fetch failed\") {\n apiError(503, ApiErrorCode.COMPUTE_UNAVAILABLE, \"Compute server is unreachable\");\n }\n apiError(500, ApiErrorCode.INTERNAL, message);\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
|
package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-CcVYY8qB.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-CcVYY8qB.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/definitions/_guid_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { s as getDefinitionService, j as getProjectProvider } from \"../../../../../chunks/providers.server.js\";\nimport { k as requireEditableDefinition } from \"../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, r as resolveServerForOrg, f as fetchSchemaFromCompute, t as throwZodError, A as ApiErrorCode } from \"../../../../../chunks/api-errors.js\";\nimport { G as GH_EXTENSIONS } from \"../../../../../chunks/types.js\";\nimport { G as GuidSchema, d as UpdateMetadataInputSchema } from \"../../../../../chunks/context.js\";\nimport { c as MAX_GH_FILE_SIZE } from \"../../../../../chunks/computeLimits.js\";\nconst POST = async ({ params, request, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const formData = await request.formData();\n const file = formData.get(\"file\");\n if (!(file instanceof File))\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"A Grasshopper (.gh or .ghx) file is required\");\n const changeNoteRaw = formData.get(\"changeNote\");\n const changeNote = typeof changeNoteRaw === \"string\" ? changeNoteRaw.slice(0, 1e3) : void 0;\n const ext = file.name.slice(file.name.lastIndexOf(\".\")).toLowerCase();\n if (!GH_EXTENSIONS.includes(ext)) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `File type not allowed. Allowed: ${GH_EXTENSIONS.join(\", \")}`\n );\n }\n if (file.size > MAX_GH_FILE_SIZE) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `File too large. Max size: ${MAX_GH_FILE_SIZE / (1024 * 1024)} MB`\n );\n }\n const { ctx, record } = await requireEditableDefinition(locals, guidParsed.data);\n const fileExt = ext.slice(1);\n try {\n const data = new Uint8Array(await file.arrayBuffer());\n const project = await getProjectProvider().getProject(ctx, record.projectId);\n const server = await resolveServerForOrg(ctx, project?.orgId ?? null, {\n definitionPin: record.computeServerId ?? null\n });\n const schema = await fetchSchemaFromCompute(data, server);\n const version = await getDefinitionService().uploadVersion(\n ctx,\n guidParsed.data,\n data,\n fileExt,\n file.name,\n schema,\n changeNote\n );\n return json({ version }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to upload definition version\");\n }\n};\nconst DELETE = async ({ params, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n await getDefinitionService().delete(ctx, guidParsed.data);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to delete definition\");\n }\n};\nconst PUT = async ({ params, request, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n const body = await request.json().catch(() => null);\n const parsed = UpdateMetadataInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n try {\n await getDefinitionService().updateMeta(ctx, guidParsed.data, parsed.data);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to update definition\");\n }\n};\nexport {\n DELETE,\n POST,\n PUT\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-Dty9JTwS.js","sources":["../../../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js"],"sourcesContent":["import { a as apiError, A as ApiErrorCode } from \"../../../../../../../chunks/api-errors.js\";\nimport { n as getDefinitionMeta, q as getStorageProvider, t as definitionPaths } from \"../../../../../../../chunks/providers.server.js\";\nimport { l as requireCanViewProject } from \"../../../../../../../chunks/access.server.js\";\nimport { C as COVER_IMAGE_CONTENT_TYPES } from \"../../../../../../../chunks/types.js\";\nimport { G as GuidSchema } from \"../../../../../../../chunks/context.js\";\nimport \"../../../../../../../chunks/computeLimits.js\";\nconst GET = async ({ params, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid GUID\");\n const guid = guidParsed.data;\n const ctx = locals.ctx;\n const record = await getDefinitionMeta().get(ctx, guid);\n if (!record?.coverImage) apiError(404, ApiErrorCode.NOT_FOUND, \"Image not found\");\n await requireCanViewProject(locals, record.projectId);\n const storedFilename = record.coverImage.split(\"/\").pop() ?? \"cover.webp\";\n const ext = storedFilename.substring(storedFilename.lastIndexOf(\".\")).toLowerCase();\n const contentType = COVER_IMAGE_CONTENT_TYPES[ext] ?? \"image/webp\";\n const bytes = await getStorageProvider().get(definitionPaths.image(guid));\n if (!bytes) apiError(404, ApiErrorCode.NOT_FOUND, \"Image not found\");\n return new Response(Buffer.from(bytes), {\n headers: {\n \"Content-Type\": contentType,\n \"Cache-Control\": \"public, max-age=3600\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAMK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACtD,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC;AACxF,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI;AAC9B,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AACzD,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC;AACnF,EAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACvD,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY;AAC3E,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;AACrF,EAAE,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,YAAY;AACpE,EAAE,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3E,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC;AACtE,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1C,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,WAAW;AACjC,MAAM,eAAe,EAAE;AACvB;AACA,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-BSk-XMi6.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { p as providers, f as flag } from \"../../../../../../chunks/providers.server.js\";\nimport { k as requireEditableDefinition } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema, f as CreateShareLinkInputSchema } from \"../../../../../../chunks/context.js\";\nimport { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from \"../../../../../../chunks/types2.js\";\nimport { m as mintRawToken, h as hashToken } from \"../../../../../../chunks/token2.server.js\";\nfunction assertSharingEnabled() {\n if (!flag(\"ENABLE_SHARING\")) {\n apiError(\n 404,\n ApiErrorCode.NOT_FOUND,\n \"Share links are disabled on this instance (ENABLE_SHARING).\"\n );\n }\n}\nfunction strip(link) {\n const { tokenHash: _omit, ...rest } = link;\n return { ...rest, hasToken: true };\n}\nconst GET = async ({ params, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n const page = await providers.data.shareLinks.listByDefinition(ctx, guidParsed.data, {\n limit: 200\n });\n return json({\n links: page.items.map(strip),\n nextCursor: page.nextCursor\n });\n } catch (err) {\n handleApiError(err, \"Failed to list share links\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n const body = await request.json().catch(() => ({}));\n const parsed = CreateShareLinkInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const raw = mintRawToken();\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const link = {\n id: randomUUID(),\n definitionId: guidParsed.data,\n channel: parsed.data.channel,\n tokenHash: hashToken(raw),\n name: parsed.data.name,\n createdBy: locals.user.id,\n createdAt: now,\n expiresAt: parsed.data.expiresAt ?? null,\n revokedAt: null,\n allowSolve: parsed.data.allowSolve,\n // Default applied only when the field is absent. `null` is a deliberate\n // \"uncap\" choice and is preserved.\n maxSolves: parsed.data.maxSolves === void 0 ? DEFAULT_SHARE_LINK_MAX_SOLVES : parsed.data.maxSolves,\n solveCount: 0\n };\n try {\n await providers.data.shareLinks.create(ctx, link);\n return json({ link: strip(link), token: raw }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create share link\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-CSlXv8pl.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/definitions/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { j as getProjectProvider, s as getDefinitionService } from \"../../../../chunks/providers.server.js\";\nimport { j as requireCanCreateDefinition } from \"../../../../chunks/access.server.js\";\nimport { a as apiError, t as throwZodError, r as resolveServerForOrg, f as fetchSchemaFromCompute, h as handleApiError, A as ApiErrorCode } from \"../../../../chunks/api-errors.js\";\nimport { G as GH_EXTENSIONS } from \"../../../../chunks/types.js\";\nimport { c as CreateDefinitionInputSchema } from \"../../../../chunks/context.js\";\nimport { c as MAX_GH_FILE_SIZE, M 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 apiError(400, ApiErrorCode.VALIDATION_FAILED, \"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 apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `File type not allowed. Allowed: ${GH_EXTENSIONS.join(\", \")}`\n );\n }\n if (file.size > MAX_GH_FILE_SIZE) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `File too large. Max size: ${MAX_GH_FILE_SIZE / (1024 * 1024)} MB`\n );\n }\n const imageFile = formData.get(\"image\");\n if (imageFile instanceof File && imageFile.size > MAX_IMAGE_FILE_SIZE) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Image too large. Max size: ${MAX_IMAGE_FILE_SIZE / (1024 * 1024)} MB`\n );\n }\n let projectId = formData.get(\"projectId\");\n if (typeof projectId !== \"string\" || !projectId) {\n if (!ctx.actingOrgId) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"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) apiError(500, ApiErrorCode.INTERNAL, \"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({ guid, version, coverImage }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create definition\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { a as apiError, A as ApiErrorCode } from '../../../../../chunks/api-errors.js-DjgsTHzx.js';
|
|
2
|
-
import { k as getDefinitionMeta, u as definitionPaths, q as getStorageProvider } from '../../../../../chunks/providers.server.js-CvFPEaVE.js';
|
|
3
|
-
import { G as GuidSchema } from '../../../../../chunks/context.js-CYsGbpHa.js';
|
|
4
|
-
import { l as requireCanViewProject } from '../../../../../chunks/access.server.js-7luP5O4P.js';
|
|
5
|
-
import '@sveltejs/kit';
|
|
6
|
-
import '@selvajs/compute/core';
|
|
7
|
-
import '../../../../../chunks/utils4.js-CzzZn2eq.js';
|
|
8
|
-
import '../../../../../chunks/shared-server.js-DaWdgxVh.js';
|
|
9
|
-
import 'node:url';
|
|
10
|
-
import 'node:path';
|
|
11
|
-
import 'node:fs';
|
|
12
|
-
import 'node:crypto';
|
|
13
|
-
import 'node:fs/promises';
|
|
14
|
-
import '@supabase/supabase-js';
|
|
15
|
-
import 'zod';
|
|
16
|
-
|
|
17
|
-
const ALLOWED_EXTENSIONS = {
|
|
18
|
-
".webp": "image/webp",
|
|
19
|
-
".jpg": "image/jpeg",
|
|
20
|
-
".jpeg": "image/jpeg",
|
|
21
|
-
".png": "image/png",
|
|
22
|
-
".gif": "image/gif"
|
|
23
|
-
};
|
|
24
|
-
const 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;
|
|
25
|
-
const GET = async ({ params, locals }) => {
|
|
26
|
-
const storagePath = params.path;
|
|
27
|
-
if (!storagePath) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Missing path");
|
|
28
|
-
const match = COVER_PATH_PATTERN.exec(storagePath);
|
|
29
|
-
if (!match) apiError(404, ApiErrorCode.NOT_FOUND, "File not found");
|
|
30
|
-
const [, guid, rawExt] = match;
|
|
31
|
-
const ext = `.${rawExt.toLowerCase()}`;
|
|
32
|
-
if (!ALLOWED_EXTENSIONS[ext]) apiError(404, ApiErrorCode.NOT_FOUND, "File not found");
|
|
33
|
-
const guidParsed = GuidSchema.safeParse(guid);
|
|
34
|
-
if (!guidParsed.success) apiError(404, ApiErrorCode.NOT_FOUND, "File not found");
|
|
35
|
-
if (!locals.ctx) apiError(401, ApiErrorCode.UNAUTHORIZED, "Unauthorized");
|
|
36
|
-
const record = await getDefinitionMeta().get(locals.ctx, guidParsed.data);
|
|
37
|
-
if (!record) apiError(404, ApiErrorCode.NOT_FOUND, "File not found");
|
|
38
|
-
await requireCanViewProject(locals, record.projectId);
|
|
39
|
-
const canonicalPath = definitionPaths.image(guidParsed.data);
|
|
40
|
-
const bytes = await getStorageProvider().get(canonicalPath);
|
|
41
|
-
if (!bytes) apiError(404, ApiErrorCode.NOT_FOUND, "File not found");
|
|
42
|
-
return new Response(Buffer.from(bytes), {
|
|
43
|
-
headers: {
|
|
44
|
-
"Content-Type": ALLOWED_EXTENSIONS[ext],
|
|
45
|
-
"Cache-Control": "private, max-age=3600"
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export { GET };
|
|
51
|
-
//# sourceMappingURL=_server.ts.js-BNV_mEcx.js.map
|
package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BNV_mEcx.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-BNV_mEcx.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/files/_...path_/_server.ts.js"],"sourcesContent":["import { a as apiError, A as ApiErrorCode } from \"../../../../../chunks/api-errors.js\";\nimport { n as getDefinitionMeta, t as definitionPaths, q as getStorageProvider } from \"../../../../../chunks/providers.server.js\";\nimport { G as GuidSchema } from \"../../../../../chunks/context.js\";\nimport { l 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) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing path\");\n const match = COVER_PATH_PATTERN.exec(storagePath);\n if (!match) apiError(404, ApiErrorCode.NOT_FOUND, \"File not found\");\n const [, guid, rawExt] = match;\n const ext = `.${rawExt.toLowerCase()}`;\n if (!ALLOWED_EXTENSIONS[ext]) apiError(404, ApiErrorCode.NOT_FOUND, \"File not found\");\n const guidParsed = GuidSchema.safeParse(guid);\n if (!guidParsed.success) apiError(404, ApiErrorCode.NOT_FOUND, \"File not found\");\n if (!locals.ctx) apiError(401, ApiErrorCode.UNAUTHORIZED, \"Unauthorized\");\n const record = await getDefinitionMeta().get(locals.ctx, guidParsed.data);\n if (!record) apiError(404, ApiErrorCode.NOT_FOUND, \"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) apiError(404, ApiErrorCode.NOT_FOUND, \"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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC;AACjF,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACpD,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC;AACrE,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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC;AACvF,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;AAC/C,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC;AAClF,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC;AAC3E,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;AAC3E,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC;AACtE,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,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC;AACrE,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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.server.js-COXVYevB.js","sources":["../../../../.svelte-kit/output/server/entries/hooks.server.js"],"sourcesContent":["import { redirect, isHttpError } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../chunks/context.js\";\nimport { p as providers } from \"../chunks/providers.server.js\";\nimport { g as getBootHealth } from \"../chunks/bootHealth.server.js\";\nimport { w as wireHeaderAuthBootstrap, b as bootstrapUserSession } from \"../chunks/auth-bootstrap.server.js\";\nimport { g as getRefreshToken, s as setSessionCookie, a as setRefreshCookie, c as clearRefreshCookie } from \"../chunks/admin-auth.server.js\";\nfunction emptyProfile(userId) {\n return { userId, starredDefinitions: [], recentRuns: [] };\n}\nlet headerAuthBootstrapWired = false;\nlet bootHealthKicked = false;\nlet proxyAuthLoginMissWarned = false;\nlet firstRunResolved = false;\nasync function isFirstRun() {\n if (firstRunResolved) return false;\n const usersPage = await providers.auth.listUsers({ limit: 1 });\n if (usersPage === null) {\n firstRunResolved = true;\n return false;\n }\n if (usersPage.items.length === 0) return true;\n firstRunResolved = true;\n return false;\n}\nasync function buildContext(user, sessionToken) {\n let actingOrgId;\n let orgPermissions = [];\n const platformPermissions = await providers.data.permissions.getFor(SYSTEM_CONTEXT, user.id);\n const membership = await providers.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id);\n if (membership) {\n actingOrgId = membership.org.id;\n orgPermissions = membership.member.permissions;\n }\n if (!actingOrgId && platformPermissions.includes(\"instance_admin\")) {\n const firstOrgPage = await providers.data.orgs.listOrgs(SYSTEM_CONTEXT, { limit: 1 });\n const firstOrg = firstOrgPage.items[0];\n if (firstOrg) actingOrgId = firstOrg.id;\n }\n return {\n userId: user.id,\n actingOrgId,\n platformPermissions,\n orgPermissions,\n adapterContext: sessionToken ? { sessionToken } : void 0\n };\n}\nconst PUBLIC_PAGE_ROUTES = /* @__PURE__ */ new Set([\n \"/\",\n // landing — guests see it; authed users get redirected by +page.server.ts\n \"/login\",\n \"/setup\",\n \"/accept-invite\"\n]);\nconst PUBLIC_PATH_PREFIXES = [\"/auth/\", \"/logout\"];\nconst PUBLIC_API_ROUTES = /* @__PURE__ */ new Set([\"/api/health\"]);\nconst STATIC_ASSET_PREFIXES = [\"/_app/\", \"/favicon/\"];\nconst STATIC_ASSET_PATHS = /* @__PURE__ */ new Set([\"/favicon.svg\", \"/robots.txt\"]);\nfunction isStaticAsset(pathname) {\n if (STATIC_ASSET_PATHS.has(pathname)) return true;\n return STATIC_ASSET_PREFIXES.some((p) => pathname.startsWith(p));\n}\nfunction isPublicRoute(pathname) {\n if (PUBLIC_PAGE_ROUTES.has(pathname)) return true;\n if (PUBLIC_API_ROUTES.has(pathname)) return true;\n return PUBLIC_PATH_PREFIXES.some((p) => pathname.startsWith(p));\n}\nconst handle = async ({ event, resolve }) => {\n event.locals.providers = providers;\n if (!headerAuthBootstrapWired) {\n wireHeaderAuthBootstrap();\n headerAuthBootstrapWired = true;\n }\n if (!bootHealthKicked) {\n bootHealthKicked = true;\n void getBootHealth();\n }\n const { pathname } = event.url;\n if (isStaticAsset(pathname)) {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n if (pathname === \"/api/health\") {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n const publicRoute = isPublicRoute(pathname);\n const isJsonApiRoute = pathname.startsWith(\"/api/\") || pathname.startsWith(\"/admin/api/\");\n if (!publicRoute) {\n if (await isFirstRun()) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(JSON.stringify({ message: \"Setup required\", code: \"SETUP_REQUIRED\" }), {\n status: 503,\n headers: { \"Content-Type\": \"application/json\" }\n }),\n pathname\n );\n }\n redirect(303, \"/setup\");\n }\n }\n const needsAuth = !publicRoute;\n if (needsAuth) {\n let token = event.cookies.get(\"admin_session\") ?? \"\";\n let user = await providers.auth.verifyToken(token);\n if (!user) {\n const refreshToken = getRefreshToken(event.cookies);\n const oauth = providers.auth.oauth;\n if (refreshToken && oauth) {\n const refreshed = await oauth.refreshSession(refreshToken);\n if (refreshed) {\n setSessionCookie(event.cookies, refreshed.sessionToken);\n setRefreshCookie(event.cookies, refreshed.refreshToken);\n token = refreshed.sessionToken;\n user = await providers.auth.verifyToken(token);\n } else {\n clearRefreshCookie(event.cookies);\n }\n }\n }\n if (!user && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (user) await bootstrapUserSession(user);\n }\n if (!user) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(JSON.stringify({ message: \"Unauthorized\", code: \"UNAUTHORIZED\" }), {\n status: 401,\n headers: { \"Content-Type\": \"application/json\" }\n }),\n pathname\n );\n }\n redirect(303, `/login?redirectTo=${encodeURIComponent(pathname)}`);\n }\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n } else {\n const isPublicPage = PUBLIC_PAGE_ROUTES.has(pathname);\n const token = isPublicPage ? event.cookies.get(\"admin_session\") ?? \"\" : \"\";\n let user = token ? await providers.auth.verifyToken(token) : null;\n if (!user && isPublicPage && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (!user && pathname === \"/login\" && !proxyAuthLoginMissWarned) {\n proxyAuthLoginMissWarned = true;\n const proxyAuth = providers.auth.proxyAuth;\n const noHeaders = proxyAuth.hasNoIdentityHeaders(event.request.headers);\n const configured = proxyAuth.configuredHeaderNames.join(\", \");\n if (noHeaders) {\n console.warn(\n `[HeaderAuth] /login was hit and NONE of the configured identity headers (${configured}) arrived on the request. The forward-auth proxy is not reaching this process, or it is not forwarding the configured headers. See the @selvajs/header-auth-provider README \"Verification\" section.`\n );\n } else {\n console.warn(\n `[HeaderAuth] /login was hit but the UPN header was missing or the user is not allowlisted. Configured headers: ${configured}. Some headers arrived but identification still failed — check that the UPN header is populated and that the user has been added to header-allowlist.json.`\n );\n }\n }\n }\n if (user) {\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n }\n }\n return applySecurityHeaders(await resolve(event), pathname);\n};\nfunction applySecurityHeaders(response, pathname) {\n response.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n response.headers.set(\"Referrer-Policy\", \"strict-origin-when-cross-origin\");\n response.headers.set(\n \"Permissions-Policy\",\n \"accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()\"\n );\n if (process.env.NODE_ENV === \"production\") {\n response.headers.set(\"Strict-Transport-Security\", \"max-age=31536000; includeSubDomains\");\n }\n if (pathname.startsWith(\"/_app/\")) {\n response.headers.set(\"Cache-Control\", \"public, max-age=31536000, immutable\");\n } else if (pathname.startsWith(\"/favicon/\") || pathname === \"/favicon.svg\" || pathname === \"/robots.txt\") {\n response.headers.set(\"Cache-Control\", \"public, max-age=604800\");\n }\n return response;\n}\nconst handleError = ({\n error,\n status,\n event\n}) => {\n if (isHttpError(error)) {\n const body = error.body;\n return { message: body.message, code: body.code, fields: body.fields };\n }\n if (status === 404) {\n return { message: \"Page not found.\", code: \"NOT_FOUND\" };\n }\n const rendered = error instanceof Error ? error.stack ?? error.message : (() => {\n try {\n return JSON.stringify(error);\n } catch {\n return String(error);\n }\n })();\n const cause = error instanceof Error && error.cause ? `\n caused by: ${error.cause}` : \"\";\n console.error(\n `[Unhandled error] ${event.request.method} ${event.url.pathname}\n ${rendered}${cause}`\n );\n return { message: \"An unexpected error occurred.\", code: \"INTERNAL\" };\n};\nexport {\n handle,\n handleError,\n isPublicRoute,\n isStaticAsset\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { g as getAuthProvider } from '../../../chunks/providers.server.js-CvFPEaVE.js';
|
|
2
|
-
import { h as hasPermission } from '../../../chunks/context.js-CYsGbpHa.js';
|
|
3
|
-
import { p as pkg } from '../../../chunks/package.js-CRz9GLaw.js';
|
|
4
|
-
|
|
5
|
-
const load = async ({ locals }) => {
|
|
6
|
-
const ctx = locals.ctx;
|
|
7
|
-
const canSeeUserStats = ctx ? hasPermission(ctx, "manage_instance_users") : false;
|
|
8
|
-
const platformPermissions = ctx?.platformPermissions ?? [];
|
|
9
|
-
if (!canSeeUserStats) {
|
|
10
|
-
return { stats: { users: null }, platformPermissions, version: pkg.version };
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
const usersPage = await getAuthProvider().listUsers({ limit: 200 });
|
|
14
|
-
return {
|
|
15
|
-
stats: { users: usersPage?.items.length ?? null },
|
|
16
|
-
platformPermissions,
|
|
17
|
-
version: pkg.version
|
|
18
|
-
};
|
|
19
|
-
} catch (err) {
|
|
20
|
-
if (err && typeof err === "object" && "status" in err) throw err;
|
|
21
|
-
console.error("Failed to load admin dashboard:", err);
|
|
22
|
-
return { stats: { users: null }, platformPermissions, version: pkg.version };
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
27
|
-
__proto__: null,
|
|
28
|
-
load: load
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
export { _page_server_ts as _ };
|
|
32
|
-
//# sourceMappingURL=_page.server.ts.js-Ch_K9Eqm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_page.server.ts.js-Ch_K9Eqm.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/admin/_page.server.ts.js"],"sourcesContent":["import { g as getAuthProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nimport { p as pkg } from \"../../../chunks/package.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, version: pkg.version };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions,\n version: pkg.version\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, version: pkg.version };\n }\n};\nexport {\n load\n};\n"],"names":[],"mappings":";;;;AAGA,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,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;AAChF,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,mBAAmB;AACzB,MAAM,OAAO,EAAE,GAAG,CAAC;AACnB,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,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;AAChF,EAAE;AACF,CAAC;;;;;;;;;"}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { a6 as head, a9 as stringify, aa as ensure_array_like, a7 as spread_props, R as derived, ag as escape_html } from '../../../chunks/renderer.js-CtAppMtw.js';
|
|
2
|
-
import { p as page } from '../../../chunks/index2.js-H5fG4YhB.js';
|
|
3
|
-
import { S as StatCard } from '../../../chunks/StatCard.js-CJ6mPxvK.js';
|
|
4
|
-
import { S as SectionHeader } from '../../../chunks/SectionHeader.js-n2KShN5j.js';
|
|
5
|
-
import { C as Card, a as Card_content } from '../../../chunks/card-content.js-BBwC7O_l.js';
|
|
6
|
-
import { C as Card_header, a as Card_title } from '../../../chunks/card-title.js-DBoMbeGR.js';
|
|
7
|
-
import { I as Icon } from '../../../chunks/utils3.js-DnU5kMfK.js';
|
|
8
|
-
import { U as Users } from '../../../chunks/users.js-UnXuN2He.js';
|
|
9
|
-
import { B as Building_2 } from '../../../chunks/building-2.js-ChOoxKg1.js';
|
|
10
|
-
import { S as Server } from '../../../chunks/server.js-CpwP8aJK.js';
|
|
11
|
-
import '../../../chunks/render-context.js-CK-yhMaE.js';
|
|
12
|
-
import 'clsx';
|
|
13
|
-
import '../../../chunks/state.svelte.js-BzN3ufd1.js';
|
|
14
|
-
import '../../../chunks/exports.js-BZBK1HC9.js';
|
|
15
|
-
import '@sveltejs/kit/internal/server';
|
|
16
|
-
import '../../../chunks/root.js-BKNoOlLU.js';
|
|
17
|
-
import '../../../chunks/events.js-CzuTO9ni.js';
|
|
18
|
-
import '../../../chunks/client.js-bTgrO0bQ.js';
|
|
19
|
-
import '@sveltejs/kit/internal';
|
|
20
|
-
import '../../../chunks/utils2.js-DGYJFmnf.js';
|
|
21
|
-
import '../../../chunks/index.js-CC8M6P-h.js';
|
|
22
|
-
import '../../../chunks/arrow-right.js-LJU5kIk7.js';
|
|
23
|
-
import 'tailwind-merge';
|
|
24
|
-
|
|
25
|
-
function Layout_dashboard($$renderer, $$props) {
|
|
26
|
-
let { $$slots, $$events, ...props } = $$props;
|
|
27
|
-
const iconNode = [
|
|
28
|
-
[
|
|
29
|
-
"rect",
|
|
30
|
-
{ "width": "7", "height": "9", "x": "3", "y": "3", "rx": "1" }
|
|
31
|
-
],
|
|
32
|
-
[
|
|
33
|
-
"rect",
|
|
34
|
-
{ "width": "7", "height": "5", "x": "14", "y": "3", "rx": "1" }
|
|
35
|
-
],
|
|
36
|
-
[
|
|
37
|
-
"rect",
|
|
38
|
-
{ "width": "7", "height": "9", "x": "14", "y": "12", "rx": "1" }
|
|
39
|
-
],
|
|
40
|
-
[
|
|
41
|
-
"rect",
|
|
42
|
-
{ "width": "7", "height": "5", "x": "3", "y": "16", "rx": "1" }
|
|
43
|
-
]
|
|
44
|
-
];
|
|
45
|
-
Icon($$renderer, spread_props([{ name: "layout-dashboard" }, props, { iconNode }]));
|
|
46
|
-
}
|
|
47
|
-
function Package($$renderer, $$props) {
|
|
48
|
-
let { $$slots, $$events, ...props } = $$props;
|
|
49
|
-
const iconNode = [
|
|
50
|
-
[
|
|
51
|
-
"path",
|
|
52
|
-
{
|
|
53
|
-
"d": "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
["path", { "d": "M12 22V12" }],
|
|
57
|
-
["polyline", { "points": "3.29 7 12 12 20.71 7" }],
|
|
58
|
-
["path", { "d": "m7.5 4.27 9 5.15" }]
|
|
59
|
-
];
|
|
60
|
-
Icon($$renderer, spread_props([{ name: "package" }, props, { iconNode }]));
|
|
61
|
-
}
|
|
62
|
-
function _page($$renderer, $$props) {
|
|
63
|
-
$$renderer.component(($$renderer2) => {
|
|
64
|
-
const brandName = derived(() => page.data.branding.name);
|
|
65
|
-
let { data } = $$props;
|
|
66
|
-
const can = (p) => data.platformPermissions.includes("instance_admin") || data.platformPermissions.includes(p);
|
|
67
|
-
const tiles = derived(() => [
|
|
68
|
-
{
|
|
69
|
-
href: "/admin/users",
|
|
70
|
-
icon: Users,
|
|
71
|
-
value: data.stats.users ?? "—",
|
|
72
|
-
label: data.stats.users === null ? "User store unavailable" : `User${data.stats.users === 1 ? "" : "s"}`,
|
|
73
|
-
show: can("manage_instance_users")
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
href: "/admin/organizations",
|
|
77
|
-
icon: Building_2,
|
|
78
|
-
value: "Organizations",
|
|
79
|
-
label: "All orgs on this instance",
|
|
80
|
-
show: can("instance_admin")
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
href: "/admin/compute",
|
|
84
|
-
icon: Server,
|
|
85
|
-
value: "Compute",
|
|
86
|
-
label: "Servers, status & config",
|
|
87
|
-
show: can("manage_compute")
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
href: "/projects",
|
|
91
|
-
icon: Layout_dashboard,
|
|
92
|
-
value: "Content",
|
|
93
|
-
label: "Definitions & projects",
|
|
94
|
-
show: can("instance_admin")
|
|
95
|
-
}
|
|
96
|
-
].filter((t) => t.show));
|
|
97
|
-
head("1jef3w8", $$renderer2, ($$renderer3) => {
|
|
98
|
-
$$renderer3.title(($$renderer4) => {
|
|
99
|
-
$$renderer4.push(`<title>Admin · General</title>`);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
$$renderer2.push(`<div class="space-y-6">`);
|
|
103
|
-
SectionHeader($$renderer2, {
|
|
104
|
-
eyebrow: "Admin",
|
|
105
|
-
title: "General",
|
|
106
|
-
description: `At-a-glance health of this ${stringify(brandName())} instance — users, compute, and content.`
|
|
107
|
-
});
|
|
108
|
-
$$renderer2.push(`<!----> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"><!--[-->`);
|
|
109
|
-
const each_array = ensure_array_like(tiles());
|
|
110
|
-
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
111
|
-
let tile = each_array[$$index];
|
|
112
|
-
StatCard($$renderer2, spread_props([tile]));
|
|
113
|
-
}
|
|
114
|
-
$$renderer2.push(`<!--]--></div> `);
|
|
115
|
-
if (Card) {
|
|
116
|
-
$$renderer2.push("<!--[-->");
|
|
117
|
-
Card($$renderer2, {
|
|
118
|
-
children: ($$renderer3) => {
|
|
119
|
-
if (Card_header) {
|
|
120
|
-
$$renderer3.push("<!--[-->");
|
|
121
|
-
Card_header($$renderer3, {
|
|
122
|
-
children: ($$renderer4) => {
|
|
123
|
-
if (Card_title) {
|
|
124
|
-
$$renderer4.push("<!--[-->");
|
|
125
|
-
Card_title($$renderer4, {
|
|
126
|
-
class: "flex items-center gap-2 text-sm font-medium",
|
|
127
|
-
children: ($$renderer5) => {
|
|
128
|
-
Package($$renderer5, { class: "text-muted-foreground h-4 w-4" });
|
|
129
|
-
$$renderer5.push(`<!----> Installed version`);
|
|
130
|
-
},
|
|
131
|
-
$$slots: { default: true }
|
|
132
|
-
});
|
|
133
|
-
$$renderer4.push("<!--]-->");
|
|
134
|
-
} else {
|
|
135
|
-
$$renderer4.push("<!--[!-->");
|
|
136
|
-
$$renderer4.push("<!--]-->");
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
$$slots: { default: true }
|
|
140
|
-
});
|
|
141
|
-
$$renderer3.push("<!--]-->");
|
|
142
|
-
} else {
|
|
143
|
-
$$renderer3.push("<!--[!-->");
|
|
144
|
-
$$renderer3.push("<!--]-->");
|
|
145
|
-
}
|
|
146
|
-
$$renderer3.push(` `);
|
|
147
|
-
if (Card_content) {
|
|
148
|
-
$$renderer3.push("<!--[-->");
|
|
149
|
-
Card_content($$renderer3, {
|
|
150
|
-
children: ($$renderer4) => {
|
|
151
|
-
$$renderer4.push(`<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs">v${escape_html(data.version)}</span></div>`);
|
|
152
|
-
},
|
|
153
|
-
$$slots: { default: true }
|
|
154
|
-
});
|
|
155
|
-
$$renderer3.push("<!--]-->");
|
|
156
|
-
} else {
|
|
157
|
-
$$renderer3.push("<!--[!-->");
|
|
158
|
-
$$renderer3.push("<!--]-->");
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
$$slots: { default: true }
|
|
162
|
-
});
|
|
163
|
-
$$renderer2.push("<!--]-->");
|
|
164
|
-
} else {
|
|
165
|
-
$$renderer2.push("<!--[!-->");
|
|
166
|
-
$$renderer2.push("<!--]-->");
|
|
167
|
-
}
|
|
168
|
-
$$renderer2.push(`</div>`);
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export { _page as default };
|
|
173
|
-
//# sourceMappingURL=_page.svelte.js-Cazj7gb_.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte.js-Cazj7gb_.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/admin/_page.svelte.js"],"sourcesContent":["import { j as spread_props, h as head, l as stringify, e as ensure_array_like, k as escape_html, d as derived } from \"../../../chunks/renderer.js\";\nimport { p as page } from \"../../../chunks/index2.js\";\nimport { S as StatCard } from \"../../../chunks/StatCard.js\";\nimport { S as SectionHeader } from \"../../../chunks/SectionHeader.js\";\nimport { C as Card, a as Card_content } from \"../../../chunks/card-content.js\";\nimport { C as Card_header, a as Card_title } from \"../../../chunks/card-title.js\";\nimport { I as Icon } from \"../../../chunks/utils3.js\";\nimport { U as Users } from \"../../../chunks/users.js\";\nimport { B as Building_2 } from \"../../../chunks/building-2.js\";\nimport { S as Server } from \"../../../chunks/server.js\";\nfunction 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 Package($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z\"\n }\n ],\n [\"path\", { \"d\": \"M12 22V12\" }],\n [\"polyline\", { \"points\": \"3.29 7 12 12 20.71 7\" }],\n [\"path\", { \"d\": \"m7.5 4.27 9 5.15\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"package\" }, 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 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 Package($$renderer5, { class: \"text-muted-foreground h-4 w-4\" });\n $$renderer5.push(`<!----> Installed version`);\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\">@selvajs/selva</code> <span class=\"text-muted-foreground text-xs\">v${escape_html(data.version)}</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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"}
|