@selvajs/selva 4.8.0 → 4.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/_app/immutable/chunks/BL10Up5F.js +3 -0
- package/build/client/_app/immutable/chunks/BL10Up5F.js.br +0 -0
- package/build/client/_app/immutable/chunks/BL10Up5F.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BM_fE9b_2.js +1 -0
- package/build/client/_app/immutable/chunks/BM_fE9b_2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BM_fE9b_2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_Ic9tyC.js +1 -0
- package/build/client/_app/immutable/chunks/B_Ic9tyC.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_Ic9tyC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BnLKBtkg.js +2 -0
- package/build/client/_app/immutable/chunks/BnLKBtkg.js.br +0 -0
- package/build/client/_app/immutable/chunks/BnLKBtkg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C9Qx-PLA2.js +1 -0
- package/build/client/_app/immutable/chunks/C9Qx-PLA2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C9Qx-PLA2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CMX7mw6H2.js +1 -0
- package/build/client/_app/immutable/chunks/CMX7mw6H2.js.br +2 -0
- package/build/client/_app/immutable/chunks/CMX7mw6H2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CxzgSrIW.js +1 -0
- package/build/client/_app/immutable/chunks/CxzgSrIW.js.br +0 -0
- package/build/client/_app/immutable/chunks/CxzgSrIW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/uIFqYJM5.js +1 -0
- package/build/client/_app/immutable/chunks/uIFqYJM5.js.br +0 -0
- package/build/client/_app/immutable/chunks/uIFqYJM5.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BUpLH-DW.js +2 -0
- package/build/client/_app/immutable/entry/app.BUpLH-DW.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BUpLH-DW.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.6GgCs433.js +1 -0
- package/build/client/_app/immutable/entry/start.6GgCs433.js.br +1 -0
- package/build/client/_app/immutable/entry/start.6GgCs433.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CKGVXxg5.js +1 -0
- package/build/client/_app/immutable/nodes/1.CKGVXxg5.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CKGVXxg5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BL0D8OHs.js +3 -0
- package/build/client/_app/immutable/nodes/11.BL0D8OHs.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BL0D8OHs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.BGB6620d.js +2 -0
- package/build/client/_app/immutable/nodes/13.BGB6620d.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BGB6620d.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.CD4EJEs6.js +2 -0
- package/build/client/_app/immutable/nodes/14.CD4EJEs6.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.CD4EJEs6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.ChpyZKAp.js +26 -0
- package/build/client/_app/immutable/nodes/15.ChpyZKAp.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.ChpyZKAp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.BZ-zpUV6.js +6 -0
- package/build/client/_app/immutable/nodes/16.BZ-zpUV6.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.BZ-zpUV6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.BJUMirXd.js +2 -0
- package/build/client/_app/immutable/nodes/17.BJUMirXd.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.BJUMirXd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.DtQB3nKq.js +7 -0
- package/build/client/_app/immutable/nodes/19.DtQB3nKq.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.DtQB3nKq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DCswSm0G.js +1 -0
- package/build/client/_app/immutable/nodes/2.DCswSm0G.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DCswSm0G.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.C9lBjCpj.js +2 -0
- package/build/client/_app/immutable/nodes/20.C9lBjCpj.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.C9lBjCpj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.eqz8Wusz.js +5495 -0
- package/build/client/_app/immutable/nodes/21.eqz8Wusz.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.eqz8Wusz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/22.DpWMS_fm.js +6 -0
- package/build/client/_app/immutable/nodes/22.DpWMS_fm.js.br +0 -0
- package/build/client/_app/immutable/nodes/22.DpWMS_fm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.Di6h13mH.js +16 -0
- package/build/client/_app/immutable/nodes/24.Di6h13mH.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.Di6h13mH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/25.CQ00aGsk.js +6 -0
- package/build/client/_app/immutable/nodes/25.CQ00aGsk.js.br +0 -0
- package/build/client/_app/immutable/nodes/25.CQ00aGsk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.CyDthG9d.js +4 -0
- package/build/client/_app/immutable/nodes/28.CyDthG9d.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.CyDthG9d.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.BLJmVi5C.js +4 -0
- package/build/client/_app/immutable/nodes/29.BLJmVi5C.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BLJmVi5C.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.9QlnqXGx.js +1 -0
- package/build/client/_app/immutable/nodes/3.9QlnqXGx.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.9QlnqXGx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.CR1ABmHy.js +2 -0
- package/build/client/_app/immutable/nodes/30.CR1ABmHy.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.CR1ABmHy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/31.48A1SOod.js +2 -0
- package/build/client/_app/immutable/nodes/31.48A1SOod.js.br +0 -0
- package/build/client/_app/immutable/nodes/31.48A1SOod.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.B_w9CrPf.js +1 -0
- package/build/client/_app/immutable/nodes/5.B_w9CrPf.js.br +2 -0
- package/build/client/_app/immutable/nodes/5.B_w9CrPf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Cralqz4M.js +1 -0
- package/build/client/_app/immutable/nodes/6.Cralqz4M.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Cralqz4M.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.V-zhVTSW.js +1 -0
- package/build/client/_app/immutable/nodes/7.V-zhVTSW.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.V-zhVTSW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.aBrl8q3S.js +2 -0
- package/build/client/_app/immutable/nodes/8.aBrl8q3S.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.aBrl8q3S.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.BtzkuV9Y.js +1 -0
- package/build/client/_app/immutable/nodes/9.BtzkuV9Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BtzkuV9Y.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-CQTccUfs.js +281 -0
- package/build/server/chunks/chunks/AppHeader.js-CQTccUfs.js.map +1 -0
- package/build/server/chunks/chunks/SideNav.js-Hm0UnWsp.js +67 -0
- package/build/server/chunks/chunks/SideNav.js-Hm0UnWsp.js.map +1 -0
- package/build/server/chunks/chunks/UserChip.js-YaYwH7ie.js +1162 -0
- package/build/server/chunks/chunks/UserChip.js-YaYwH7ie.js.map +1 -0
- package/build/server/chunks/chunks/access.server.js-C6gDIb-c.js +459 -0
- package/build/server/chunks/chunks/access.server.js-C6gDIb-c.js.map +1 -0
- package/build/server/chunks/chunks/access2.server.js-D-nfNY1U.js +22 -0
- package/build/server/chunks/chunks/access2.server.js-D-nfNY1U.js.map +1 -0
- package/build/server/chunks/chunks/admin-config.js-c54REGei.js +3 -0
- package/build/server/chunks/chunks/admin-config.js-c54REGei.js.map +1 -0
- package/build/server/chunks/chunks/api-errors.js-BUVbivwy.js +139 -0
- package/build/server/chunks/chunks/api-errors.js-BUVbivwy.js.map +1 -0
- package/build/server/chunks/chunks/auth-bootstrap.server.js-DtQ_5hFU.js +152 -0
- package/build/server/chunks/chunks/auth-bootstrap.server.js-DtQ_5hFU.js.map +1 -0
- package/build/server/chunks/chunks/auth.server.js-f59WkAh8.js +2 -0
- package/build/server/chunks/chunks/auth.server.js-f59WkAh8.js.map +1 -0
- package/build/server/chunks/chunks/bootHealth.server.js-BbEMyT53.js +89 -0
- package/build/server/chunks/chunks/bootHealth.server.js-BbEMyT53.js.map +1 -0
- package/build/server/chunks/chunks/client.js-DxUBomyW.js +59 -0
- package/build/server/chunks/chunks/client.js-DxUBomyW.js.map +1 -0
- package/build/server/chunks/chunks/computeLimits.js-BvTv6qAx.js +44 -0
- package/build/server/chunks/chunks/computeLimits.js-BvTv6qAx.js.map +1 -0
- package/build/server/chunks/chunks/engine.server.js-BJfNYd9p.js +569 -0
- package/build/server/chunks/chunks/engine.server.js-BJfNYd9p.js.map +1 -0
- package/build/server/chunks/chunks/forms.js-VJbnfZ3f.js +2 -0
- package/build/server/chunks/chunks/forms.js-VJbnfZ3f.js.map +1 -0
- package/build/server/chunks/chunks/internal.js-CD7xpYXS.js.map +1 -1
- package/build/server/chunks/chunks/internal2.js-DcyJ01LA.js +224 -0
- package/build/server/chunks/chunks/internal2.js-DcyJ01LA.js.map +1 -0
- package/build/server/chunks/chunks/navigation.js-VJbnfZ3f.js +2 -0
- package/build/server/chunks/chunks/navigation.js-VJbnfZ3f.js.map +1 -0
- package/build/server/chunks/chunks/org-members.server.js-DaIrHne3.js +35 -0
- package/build/server/chunks/chunks/org-members.server.js-DaIrHne3.js.map +1 -0
- package/build/server/chunks/chunks/package.js-B8P_gc71.js +78 -0
- package/build/server/chunks/chunks/package.js-B8P_gc71.js.map +1 -0
- package/build/server/chunks/chunks/paths.js-CD_lRipr.js +19 -0
- package/build/server/chunks/chunks/paths.js-CD_lRipr.js.map +1 -0
- package/build/server/chunks/chunks/permissions.server.js-Bu0SNuw7.js +15 -0
- package/build/server/chunks/chunks/permissions.server.js-Bu0SNuw7.js.map +1 -0
- package/build/server/chunks/chunks/providers.server.js-v-TYZFyt.js +6137 -0
- package/build/server/chunks/chunks/providers.server.js-v-TYZFyt.js.map +1 -0
- package/build/server/chunks/chunks/resolve.server.js-CPqTZ31S.js +62 -0
- package/build/server/chunks/chunks/resolve.server.js-CPqTZ31S.js.map +1 -0
- package/build/server/chunks/chunks/route.js-PnwlkIz_.js +166 -0
- package/build/server/chunks/chunks/route.js-PnwlkIz_.js.map +1 -0
- package/build/server/chunks/chunks/schema.js-BeFDxIuz.js +1783 -0
- package/build/server/chunks/chunks/schema.js-BeFDxIuz.js.map +1 -0
- package/build/server/chunks/chunks/selfUpdate.server.js-vivDaiyu.js +149 -0
- package/build/server/chunks/chunks/selfUpdate.server.js-vivDaiyu.js.map +1 -0
- package/build/server/chunks/chunks/serverConfigWrite.js-BrfifT2y.js +80 -0
- package/build/server/chunks/chunks/serverConfigWrite.js-BrfifT2y.js.map +1 -0
- package/build/server/chunks/chunks/solve.server.js-DgzyagxZ.js +300 -0
- package/build/server/chunks/chunks/solve.server.js-DgzyagxZ.js.map +1 -0
- package/build/server/chunks/chunks/state.js-BPHoG9oF.js +76 -0
- package/build/server/chunks/chunks/state.js-BPHoG9oF.js.map +1 -0
- package/build/server/chunks/chunks/stores.js-6aOb4-EC.js +35 -0
- package/build/server/chunks/chunks/stores.js-6aOb4-EC.js.map +1 -0
- package/build/server/chunks/chunks/utils2.js-C-XHDwgu.js +56 -0
- package/build/server/chunks/chunks/utils2.js-C-XHDwgu.js.map +1 -0
- package/build/server/chunks/chunks/visibility.server.js-CmcZoY4n.js +107 -0
- package/build/server/chunks/chunks/visibility.server.js-CmcZoY4n.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-C1Pvjlt9.js +84 -0
- package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-C1Pvjlt9.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-BfBVrbei.js +54 -0
- package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-BfBVrbei.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CF_gGYrb.js +80 -0
- package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CF_gGYrb.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-JqumOQHs.js +51 -0
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-JqumOQHs.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-C9xpl7lt.js +72 -0
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-C9xpl7lt.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-D3Jmy5C6.js +75 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-D3Jmy5C6.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-CPIUKCzv.js +34 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-CPIUKCzv.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-Kl-aOl9j.js +72 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-Kl-aOl9j.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-DqpeCJO4.js +103 -0
- package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-DqpeCJO4.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-DcEXp4xV.js +194 -0
- package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-DcEXp4xV.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-C9xzM17v.js +90 -0
- package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-C9xzM17v.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-D_-mhIQb.js +564 -0
- package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-D_-mhIQb.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-BSC76CAT.js +76 -0
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-BSC76CAT.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-CaVpBuBQ.js +46 -0
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-CaVpBuBQ.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-BJE3gKju.js +87 -0
- package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-BJE3gKju.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-ChOyF2kf.js +60 -0
- package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-ChOyF2kf.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-eDEmxXyr.js +89 -0
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-eDEmxXyr.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-CYMO1cHZ.js +57 -0
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-CYMO1cHZ.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-CFYHCy0S.js +60 -0
- package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-CFYHCy0S.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BTpn8IpL.js +83 -0
- package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BTpn8IpL.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-CUe8YZCc.js +61 -0
- package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-CUe8YZCc.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-EG7LZXqu.js +63 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-EG7LZXqu.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-CNCcfcuy.js +37 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-CNCcfcuy.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-CUpO1gVq.js +33 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-CUpO1gVq.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-BWpaBjgH.js +39 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-BWpaBjgH.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-BGhYyrqf.js +39 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-BGhYyrqf.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-C-iUSnp1.js +81 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-C-iUSnp1.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-q9DwlOjR.js +0 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-q9DwlOjR.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-CabpXWRd.js +54 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-CabpXWRd.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-bMyPZPmz.js +48 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-bMyPZPmz.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-CYkYoA6m.js +40 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-CYkYoA6m.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-Dsvb3Sl-.js +113 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-Dsvb3Sl-.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-BPISNsBR.js +39 -0
- package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-BPISNsBR.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-l7NlwI44.js +36 -0
- package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-l7NlwI44.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-CyyUelje.js +30 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-CyyUelje.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-DkGevyA9.js +74 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-DkGevyA9.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-DIRLfaTE.js +101 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-DIRLfaTE.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-Begm_uHp.js +46 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-Begm_uHp.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-C9vUBp62.js +62 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-C9vUBp62.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-6oAdKzMg.js +33 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-6oAdKzMg.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-ZOX5o9KB.js +90 -0
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-ZOX5o9KB.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-C113eSFX.js +84 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-C113eSFX.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-DzexdlJZ.js +51 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-DzexdlJZ.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-BAEl_8uD.js +51 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-BAEl_8uD.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-svuTrSwq.js +44 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-svuTrSwq.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DdJGUE5Y.js +83 -0
- package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DdJGUE5Y.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Dysdcwi1.js +45 -0
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Dysdcwi1.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-_vOS1wci.js +49 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-_vOS1wci.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-DGWVaWpQ.js +52 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-DGWVaWpQ.js.map +1 -0
- package/build/server/chunks/entries/hooks.server.js-_E6MbI_c.js +314 -0
- package/build/server/chunks/entries/hooks.server.js-_E6MbI_c.js.map +1 -0
- package/build/server/chunks/entries/pages/_error.svelte.js-DEhtcChG.js +36 -0
- package/build/server/chunks/entries/pages/_error.svelte.js-DEhtcChG.js.map +1 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-Dp07XNA0.js +34 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-Dp07XNA0.js.map +1 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-DNEtQUHE.js +77 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-DNEtQUHE.js.map +1 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DwIHKeN8.js +110 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DwIHKeN8.js.map +1 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CyCGGsyT.js +149 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CyCGGsyT.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_error.svelte.js-BGqojMrr.js +37 -0
- package/build/server/chunks/entries/pages/admin/_error.svelte.js-BGqojMrr.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CRTzbc7x.js +31 -0
- package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CRTzbc7x.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_layout.svelte.js-DhEScsDH.js +122 -0
- package/build/server/chunks/entries/pages/admin/_layout.svelte.js-DhEScsDH.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-BROrkAZP.js +75 -0
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-BROrkAZP.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-BekgcB0l.js +360 -0
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-BekgcB0l.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-89kv1_nW.js +245 -0
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-89kv1_nW.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-DkG91TlC.js +74 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-DkG91TlC.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-CR-Ld9Ug.js +673 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-CR-Ld9Ug.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DceOoHGQ.js +35 -0
- package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DceOoHGQ.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-jGdNUGnF.js +86 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-jGdNUGnF.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-QUNOLvhC.js +617 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-QUNOLvhC.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-DdS0D3QU.js +42 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-DdS0D3QU.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-D80ndEut.js +283 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-D80ndEut.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BOp5kgXX.js +86 -0
- package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BOp5kgXX.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-BjQ5dmgK.js +1477 -0
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-BjQ5dmgK.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-BIPYeSVT.js +70 -0
- package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-BIPYeSVT.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-CZZxedF5.js +683 -0
- package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-CZZxedF5.js.map +1 -0
- package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-CFMiA9J8.js +63 -0
- package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-CFMiA9J8.js.map +1 -0
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DjzgfGXo.js +62 -0
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DjzgfGXo.js.map +1 -0
- package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-DFbT8kHI.js +527 -0
- package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-DFbT8kHI.js.map +1 -0
- package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-CtFyOfZ1.js +90 -0
- package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-CtFyOfZ1.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-OnvaEYF6.js +118 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-OnvaEYF6.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DCL8o58s.js +12881 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DCL8o58s.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_page.server.ts.js-DnIUpNS9.js +48 -0
- package/build/server/chunks/entries/pages/library/_page.server.ts.js-DnIUpNS9.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_page.svelte.js-_vfDar8o.js +322 -0
- package/build/server/chunks/entries/pages/library/_page.svelte.js-_vfDar8o.js.map +1 -0
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-vzmoQCxM.js +80 -0
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-vzmoQCxM.js.map +1 -0
- package/build/server/chunks/entries/pages/login/_page.svelte.js-BFIxgGvy.js +257 -0
- package/build/server/chunks/entries/pages/login/_page.svelte.js-BFIxgGvy.js.map +1 -0
- package/build/server/chunks/entries/pages/projects/_layout.svelte.js-BsMR3_eR.js +50 -0
- package/build/server/chunks/entries/pages/projects/_layout.svelte.js-BsMR3_eR.js.map +1 -0
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CIf4sejr.js +92 -0
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CIf4sejr.js.map +1 -0
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-MA4UiLLV.js +3744 -0
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-MA4UiLLV.js.map +1 -0
- package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DtBehII7.js +114 -0
- package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DtBehII7.js.map +1 -0
- package/build/server/chunks/entries/pages/setup/_page.svelte.js-DFQQzIjx.js +322 -0
- package/build/server/chunks/entries/pages/setup/_page.svelte.js-DFQQzIjx.js.map +1 -0
- package/build/server/chunks/entries/pages/team/_layout.server.ts.js-BWBPWQVM.js +28 -0
- package/build/server/chunks/entries/pages/team/_layout.server.ts.js-BWBPWQVM.js.map +1 -0
- package/build/server/chunks/entries/pages/team/_layout.svelte.js-DCQ9zyGE.js +163 -0
- package/build/server/chunks/entries/pages/team/_layout.svelte.js-DCQ9zyGE.js.map +1 -0
- package/build/server/chunks/entries/pages/team/_page.server.ts.js-DISUWmex.js +35 -0
- package/build/server/chunks/entries/pages/team/_page.server.ts.js-DISUWmex.js.map +1 -0
- package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-5JtGAl-H.js +42 -0
- package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-5JtGAl-H.js.map +1 -0
- package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-_vgiG37I.js +594 -0
- package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-_vgiG37I.js.map +1 -0
- package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-kxDzRw93.js +58 -0
- package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-kxDzRw93.js.map +1 -0
- package/build/server/chunks/entries/pages/team/members/_page.svelte.js--om0iNPO.js +540 -0
- package/build/server/chunks/entries/pages/team/members/_page.svelte.js--om0iNPO.js.map +1 -0
- package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CfW0yM5E.js +42 -0
- package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CfW0yM5E.js.map +1 -0
- package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-B6CunpGp.js +437 -0
- package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-B6CunpGp.js.map +1 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-0rQeRhCJ.js +50 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-0rQeRhCJ.js.map +1 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-CjUQIxJm.js +263 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-CjUQIxJm.js.map +1 -0
- package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Bd7KjrWs.js +32 -0
- package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Bd7KjrWs.js.map +1 -0
- package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Q45uZGW_.js +16 -0
- package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Q45uZGW_.js.map +1 -0
- package/build/server/chunks/handler-CoSA8thX.js +1206 -0
- package/build/server/chunks/handler-CoSA8thX.js.map +1 -0
- package/build/server/chunks/index.js-BqJMcjqI.js +3757 -0
- package/build/server/chunks/index.js-BqJMcjqI.js.map +1 -0
- package/build/server/chunks/manifest.js-CE5qqcI_.js +605 -0
- package/build/server/chunks/manifest.js-CE5qqcI_.js.map +1 -0
- package/build/server/chunks/nodes/0.js-CYJoUIei.js +25 -0
- package/build/server/chunks/nodes/0.js-CYJoUIei.js.map +1 -0
- package/build/server/chunks/nodes/1.js-D2VLaCem.js +9 -0
- package/build/server/chunks/nodes/1.js-D2VLaCem.js.map +1 -0
- package/build/server/chunks/nodes/10.js-Dvgn_jvH.js +29 -0
- package/build/server/chunks/nodes/10.js-Dvgn_jvH.js.map +1 -0
- package/build/server/chunks/nodes/11.js-CbbbTqSK.js +35 -0
- package/build/server/chunks/nodes/11.js-CbbbTqSK.js.map +1 -0
- package/build/server/chunks/nodes/12.js-Bn7DPopH.js +26 -0
- package/build/server/chunks/nodes/12.js-Bn7DPopH.js.map +1 -0
- package/build/server/chunks/nodes/13.js-5OBA3Kme.js +26 -0
- package/build/server/chunks/nodes/13.js-5OBA3Kme.js.map +1 -0
- package/build/server/chunks/nodes/14.js-Qlw_8PAX.js +26 -0
- package/build/server/chunks/nodes/14.js-Qlw_8PAX.js.map +1 -0
- package/build/server/chunks/nodes/15.js-DaoqcVFW.js +36 -0
- package/build/server/chunks/nodes/15.js-DaoqcVFW.js.map +1 -0
- package/build/server/chunks/nodes/16.js-CdmV1UbW.js +31 -0
- package/build/server/chunks/nodes/16.js-CdmV1UbW.js.map +1 -0
- package/build/server/chunks/nodes/17.js-CZ9jBSa2.js +9 -0
- package/build/server/chunks/nodes/17.js-CZ9jBSa2.js.map +1 -0
- package/build/server/chunks/nodes/18.js-D_-kjHJF.js +30 -0
- package/build/server/chunks/nodes/18.js-D_-kjHJF.js.map +1 -0
- package/build/server/chunks/nodes/19.js-CX2GlGsw.js +29 -0
- package/build/server/chunks/nodes/19.js-CX2GlGsw.js.map +1 -0
- package/build/server/chunks/nodes/2.js-l4ZioSXs.js +29 -0
- package/build/server/chunks/nodes/2.js-l4ZioSXs.js.map +1 -0
- package/build/server/chunks/nodes/20.js-DB-FeTDs.js +30 -0
- package/build/server/chunks/nodes/20.js-DB-FeTDs.js.map +1 -0
- package/build/server/chunks/nodes/21.js-2DTUfQUm.js +38 -0
- package/build/server/chunks/nodes/21.js-2DTUfQUm.js.map +1 -0
- package/build/server/chunks/nodes/22.js-DRC_Ay0A.js +30 -0
- package/build/server/chunks/nodes/22.js-DRC_Ay0A.js.map +1 -0
- package/build/server/chunks/nodes/24.js-DET-LrOj.js +29 -0
- package/build/server/chunks/nodes/24.js-DET-LrOj.js.map +1 -0
- package/build/server/chunks/nodes/25.js-Bk_aGxzo.js +30 -0
- package/build/server/chunks/nodes/25.js-Bk_aGxzo.js.map +1 -0
- package/build/server/chunks/nodes/26.js-DVINNLZf.js +26 -0
- package/build/server/chunks/nodes/26.js-DVINNLZf.js.map +1 -0
- package/build/server/chunks/nodes/28.js-Dlli8CtK.js +27 -0
- package/build/server/chunks/nodes/28.js-Dlli8CtK.js.map +1 -0
- package/build/server/chunks/nodes/29.js-set3QuoL.js +26 -0
- package/build/server/chunks/nodes/29.js-set3QuoL.js.map +1 -0
- package/build/server/chunks/nodes/3.js-DKKuVApp.js +9 -0
- package/build/server/chunks/nodes/3.js-DKKuVApp.js.map +1 -0
- package/build/server/chunks/nodes/30.js-Bas3kB3S.js +26 -0
- package/build/server/chunks/nodes/30.js-Bas3kB3S.js.map +1 -0
- package/build/server/chunks/nodes/31.js-LTjM9UYE.js +26 -0
- package/build/server/chunks/nodes/31.js-LTjM9UYE.js.map +1 -0
- package/build/server/chunks/nodes/32.js-DmCfd9qv.js +26 -0
- package/build/server/chunks/nodes/32.js-DmCfd9qv.js.map +1 -0
- package/build/server/chunks/nodes/33.js-D5HyMH65.js +26 -0
- package/build/server/chunks/nodes/33.js-D5HyMH65.js.map +1 -0
- package/build/server/chunks/nodes/5.js-DBnqyXT6.js +15 -0
- package/build/server/chunks/nodes/5.js-DBnqyXT6.js.map +1 -0
- package/build/server/chunks/nodes/6.js-B-jXlYZe.js +26 -0
- package/build/server/chunks/nodes/6.js-B-jXlYZe.js.map +1 -0
- package/build/server/chunks/nodes/7.js-B8uqopEM.js +12 -0
- package/build/server/chunks/nodes/7.js-B8uqopEM.js.map +1 -0
- package/build/server/chunks/nodes/8.js-BLHuhP3i.js +31 -0
- package/build/server/chunks/nodes/8.js-BLHuhP3i.js.map +1 -0
- package/build/server/chunks/nodes/9.js-cg4mHZXe.js +26 -0
- package/build/server/chunks/nodes/9.js-cg4mHZXe.js.map +1 -0
- package/package.json +3 -3
- package/build/client/_app/immutable/chunks/3tkRwrJ52.js +0 -1
- package/build/client/_app/immutable/chunks/3tkRwrJ52.js.br +0 -0
- package/build/client/_app/immutable/chunks/3tkRwrJ52.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B7JNNC8z2.js +0 -1
- package/build/client/_app/immutable/chunks/B7JNNC8z2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7JNNC8z2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B89Z4IcG.js +0 -3
- package/build/client/_app/immutable/chunks/B89Z4IcG.js.br +0 -0
- package/build/client/_app/immutable/chunks/B89Z4IcG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BPKJrgth2.js +0 -1
- package/build/client/_app/immutable/chunks/BPKJrgth2.js.br +0 -2
- package/build/client/_app/immutable/chunks/BPKJrgth2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BSOEltYl.js +0 -1
- package/build/client/_app/immutable/chunks/BSOEltYl.js.br +0 -0
- package/build/client/_app/immutable/chunks/BSOEltYl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXxUey52.js +0 -1
- package/build/client/_app/immutable/chunks/CXxUey52.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXxUey52.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cp_nJDhZ.js +0 -1
- package/build/client/_app/immutable/chunks/Cp_nJDhZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cp_nJDhZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CtNkwgYI.js +0 -2
- package/build/client/_app/immutable/chunks/CtNkwgYI.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtNkwgYI.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CJzCKocU.js +0 -2
- package/build/client/_app/immutable/entry/app.CJzCKocU.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CJzCKocU.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CyrMWhtd.js +0 -1
- package/build/client/_app/immutable/entry/start.CyrMWhtd.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CyrMWhtd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Cyj7yBIi.js +0 -1
- package/build/client/_app/immutable/nodes/1.Cyj7yBIi.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Cyj7yBIi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BIR1YJ--.js +0 -3
- package/build/client/_app/immutable/nodes/11.BIR1YJ--.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BIR1YJ--.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.N1Ynyxcp.js +0 -2
- package/build/client/_app/immutable/nodes/13.N1Ynyxcp.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.N1Ynyxcp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.DU6YhOCE.js +0 -2
- package/build/client/_app/immutable/nodes/14.DU6YhOCE.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.DU6YhOCE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.Cz7D52Vp.js +0 -26
- package/build/client/_app/immutable/nodes/15.Cz7D52Vp.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.Cz7D52Vp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.CfQiA2zS.js +0 -6
- package/build/client/_app/immutable/nodes/16.CfQiA2zS.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.CfQiA2zS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.CZwN61b3.js +0 -2
- package/build/client/_app/immutable/nodes/17.CZwN61b3.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.CZwN61b3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.CDfiTAZ1.js +0 -7
- package/build/client/_app/immutable/nodes/19.CDfiTAZ1.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.CDfiTAZ1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BpK9LqEm.js +0 -1
- package/build/client/_app/immutable/nodes/2.BpK9LqEm.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BpK9LqEm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.BioLc-e0.js +0 -2
- package/build/client/_app/immutable/nodes/20.BioLc-e0.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.BioLc-e0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.CEOBKk-i.js +0 -5495
- package/build/client/_app/immutable/nodes/21.CEOBKk-i.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.CEOBKk-i.js.gz +0 -0
- package/build/client/_app/immutable/nodes/22.Bx_vY1jV.js +0 -6
- package/build/client/_app/immutable/nodes/22.Bx_vY1jV.js.br +0 -0
- package/build/client/_app/immutable/nodes/22.Bx_vY1jV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.DZGkwtV9.js +0 -16
- package/build/client/_app/immutable/nodes/24.DZGkwtV9.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.DZGkwtV9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/25.CZKzg4GO.js +0 -6
- package/build/client/_app/immutable/nodes/25.CZKzg4GO.js.br +0 -0
- package/build/client/_app/immutable/nodes/25.CZKzg4GO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.BuCUwYHk.js +0 -4
- package/build/client/_app/immutable/nodes/28.BuCUwYHk.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.BuCUwYHk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.DkJ_50bM.js +0 -4
- package/build/client/_app/immutable/nodes/29.DkJ_50bM.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.DkJ_50bM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.4qfstvub.js +0 -1
- package/build/client/_app/immutable/nodes/3.4qfstvub.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.4qfstvub.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.BTlYYhJS.js +0 -2
- package/build/client/_app/immutable/nodes/30.BTlYYhJS.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.BTlYYhJS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/31.DZ7E0bGB.js +0 -2
- package/build/client/_app/immutable/nodes/31.DZ7E0bGB.js.br +0 -0
- package/build/client/_app/immutable/nodes/31.DZ7E0bGB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DKKcKxGj.js +0 -1
- package/build/client/_app/immutable/nodes/5.DKKcKxGj.js.br +0 -1
- package/build/client/_app/immutable/nodes/5.DKKcKxGj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Dre1kFx6.js +0 -1
- package/build/client/_app/immutable/nodes/6.Dre1kFx6.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Dre1kFx6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CSgxu4w1.js +0 -1
- package/build/client/_app/immutable/nodes/7.CSgxu4w1.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CSgxu4w1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.D4r9Kn88.js +0 -2
- package/build/client/_app/immutable/nodes/8.D4r9Kn88.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.D4r9Kn88.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DzR-U0jZ.js +0 -1
- package/build/client/_app/immutable/nodes/9.DzR-U0jZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DzR-U0jZ.js.gz +0 -0
- package/build/server/chunks/chunks/AppHeader.js-PBVQjISh.js +0 -281
- package/build/server/chunks/chunks/AppHeader.js-PBVQjISh.js.map +0 -1
- package/build/server/chunks/chunks/SideNav.js-CcRtomnP.js +0 -67
- package/build/server/chunks/chunks/SideNav.js-CcRtomnP.js.map +0 -1
- package/build/server/chunks/chunks/UserChip.js-R6iuIfmI.js +0 -1162
- package/build/server/chunks/chunks/UserChip.js-R6iuIfmI.js.map +0 -1
- package/build/server/chunks/chunks/access.server.js-BIqHLNTG.js +0 -459
- package/build/server/chunks/chunks/access.server.js-BIqHLNTG.js.map +0 -1
- package/build/server/chunks/chunks/access2.server.js-DKoqwYbV.js +0 -22
- package/build/server/chunks/chunks/access2.server.js-DKoqwYbV.js.map +0 -1
- package/build/server/chunks/chunks/admin-config.js-ZOZ_4Sxt.js +0 -3
- package/build/server/chunks/chunks/admin-config.js-ZOZ_4Sxt.js.map +0 -1
- package/build/server/chunks/chunks/api-errors.js-lGrRv5Z5.js +0 -139
- package/build/server/chunks/chunks/api-errors.js-lGrRv5Z5.js.map +0 -1
- package/build/server/chunks/chunks/auth-bootstrap.server.js-BQuPhqXI.js +0 -152
- package/build/server/chunks/chunks/auth-bootstrap.server.js-BQuPhqXI.js.map +0 -1
- package/build/server/chunks/chunks/auth.server.js-hBh71kl8.js +0 -2
- package/build/server/chunks/chunks/auth.server.js-hBh71kl8.js.map +0 -1
- package/build/server/chunks/chunks/bootHealth.server.js-CQDTWIeG.js +0 -89
- package/build/server/chunks/chunks/bootHealth.server.js-CQDTWIeG.js.map +0 -1
- package/build/server/chunks/chunks/client.js-D7Ozo_ue.js +0 -59
- package/build/server/chunks/chunks/client.js-D7Ozo_ue.js.map +0 -1
- package/build/server/chunks/chunks/computeLimits.js-CjyfrWgI.js +0 -44
- package/build/server/chunks/chunks/computeLimits.js-CjyfrWgI.js.map +0 -1
- package/build/server/chunks/chunks/engine.server.js-DwKS379_.js +0 -569
- package/build/server/chunks/chunks/engine.server.js-DwKS379_.js.map +0 -1
- package/build/server/chunks/chunks/forms.js-CwY1eWR9.js +0 -2
- package/build/server/chunks/chunks/forms.js-CwY1eWR9.js.map +0 -1
- package/build/server/chunks/chunks/internal2.js-ZqYvyFbB.js +0 -224
- package/build/server/chunks/chunks/internal2.js-ZqYvyFbB.js.map +0 -1
- package/build/server/chunks/chunks/navigation.js-CwY1eWR9.js +0 -2
- package/build/server/chunks/chunks/navigation.js-CwY1eWR9.js.map +0 -1
- package/build/server/chunks/chunks/org-members.server.js-Zs5Zg-iO.js +0 -35
- package/build/server/chunks/chunks/org-members.server.js-Zs5Zg-iO.js.map +0 -1
- package/build/server/chunks/chunks/package.js-CNwVr7o6.js +0 -78
- package/build/server/chunks/chunks/package.js-CNwVr7o6.js.map +0 -1
- package/build/server/chunks/chunks/paths.js-Cvn_YdTk.js +0 -19
- package/build/server/chunks/chunks/paths.js-Cvn_YdTk.js.map +0 -1
- package/build/server/chunks/chunks/permissions.server.js-gy9Leepk.js +0 -15
- package/build/server/chunks/chunks/permissions.server.js-gy9Leepk.js.map +0 -1
- package/build/server/chunks/chunks/providers.server.js-CzELnNVS.js +0 -6087
- package/build/server/chunks/chunks/providers.server.js-CzELnNVS.js.map +0 -1
- package/build/server/chunks/chunks/resolve.server.js-Cjq6xWw3.js +0 -62
- package/build/server/chunks/chunks/resolve.server.js-Cjq6xWw3.js.map +0 -1
- package/build/server/chunks/chunks/route.js-DO7Xfn78.js +0 -166
- package/build/server/chunks/chunks/route.js-DO7Xfn78.js.map +0 -1
- package/build/server/chunks/chunks/schema.js-CUwAGh_h.js +0 -1758
- package/build/server/chunks/chunks/schema.js-CUwAGh_h.js.map +0 -1
- package/build/server/chunks/chunks/selfUpdate.server.js-BtsrSeY2.js +0 -149
- package/build/server/chunks/chunks/selfUpdate.server.js-BtsrSeY2.js.map +0 -1
- package/build/server/chunks/chunks/serverConfigWrite.js-8IFKC2tO.js +0 -80
- package/build/server/chunks/chunks/serverConfigWrite.js-8IFKC2tO.js.map +0 -1
- package/build/server/chunks/chunks/solve.server.js-Dt-r2KOk.js +0 -300
- package/build/server/chunks/chunks/solve.server.js-Dt-r2KOk.js.map +0 -1
- package/build/server/chunks/chunks/state.js-Dn49hjcL.js +0 -76
- package/build/server/chunks/chunks/state.js-Dn49hjcL.js.map +0 -1
- package/build/server/chunks/chunks/stores.js-BYUxI6vh.js +0 -35
- package/build/server/chunks/chunks/stores.js-BYUxI6vh.js.map +0 -1
- package/build/server/chunks/chunks/utils2.js-DsxvyW9R.js +0 -56
- package/build/server/chunks/chunks/utils2.js-DsxvyW9R.js.map +0 -1
- package/build/server/chunks/chunks/visibility.server.js-CrrA9vNX.js +0 -107
- package/build/server/chunks/chunks/visibility.server.js-CrrA9vNX.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-UlGDNOLf.js +0 -84
- package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-UlGDNOLf.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-Bax0NcHg.js +0 -54
- package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-Bax0NcHg.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CqiAdi_L.js +0 -80
- package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CqiAdi_L.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-CPZY-lgU.js +0 -51
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-CPZY-lgU.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-DlS7j13Z.js +0 -72
- package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-DlS7j13Z.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-Ozx432d-.js +0 -75
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-Ozx432d-.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-CC-BOBX6.js +0 -34
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-CC-BOBX6.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-BVKz7YxH.js +0 -72
- package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-BVKz7YxH.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-CL75fPB-.js +0 -103
- package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-CL75fPB-.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-BfJeOVUi.js +0 -194
- package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-BfJeOVUi.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-JSz3FP4Q.js +0 -90
- package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-JSz3FP4Q.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-z4lzIm4M.js +0 -494
- package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-z4lzIm4M.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-BtVBlCMI.js +0 -76
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-BtVBlCMI.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-hn8i_Rr8.js +0 -46
- package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-hn8i_Rr8.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-gKsv-3Vs.js +0 -87
- package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-gKsv-3Vs.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DNCMEU94.js +0 -60
- package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-DNCMEU94.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-QWkYEfR7.js +0 -89
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-QWkYEfR7.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-CzEqghZb.js +0 -57
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-CzEqghZb.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Db_rjAKv.js +0 -60
- package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Db_rjAKv.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BNOFaLAz.js +0 -83
- package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BNOFaLAz.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-iesinxnx.js +0 -55
- package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-iesinxnx.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-Jh629e0z.js +0 -63
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-Jh629e0z.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-aFEhcUqZ.js +0 -37
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-aFEhcUqZ.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-Jz2UiXs8.js +0 -33
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-Jz2UiXs8.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-C-lQ9Hl6.js +0 -39
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-C-lQ9Hl6.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-BJs64l0S.js +0 -39
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-BJs64l0S.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-DZUoQtzf.js +0 -81
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-DZUoQtzf.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-CKU9yJft.js +0 -0
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-CKU9yJft.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-BfjHfefE.js +0 -54
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-BfjHfefE.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CaHwUIH9.js +0 -48
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CaHwUIH9.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-BJtDvXuV.js +0 -40
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-BJtDvXuV.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-Cz8-djZT.js +0 -113
- package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-Cz8-djZT.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-CdHCYyXm.js +0 -39
- package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-CdHCYyXm.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-CEFj-R6W.js +0 -36
- package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-CEFj-R6W.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-CtIedZTn.js +0 -30
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-CtIedZTn.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-CA2Vcptb.js +0 -74
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-CA2Vcptb.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-Dd40kBK-.js +0 -101
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-Dd40kBK-.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BOvJCbd6.js +0 -46
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-BOvJCbd6.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CuVOF0RI.js +0 -62
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CuVOF0RI.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-Dh0cyF55.js +0 -33
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-Dh0cyF55.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-hviBVpmY.js +0 -90
- package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-hviBVpmY.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BS1SDjkj.js +0 -84
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-BS1SDjkj.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-CaqQX6rs.js +0 -51
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-CaqQX6rs.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-Ca2upxO7.js +0 -51
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-Ca2upxO7.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-WtMyL5bb.js +0 -44
- package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-WtMyL5bb.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DXG9q3Ix.js +0 -83
- package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-DXG9q3Ix.js.map +0 -1
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-DsgTCBOv.js +0 -45
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-DsgTCBOv.js.map +0 -1
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-D-yo48ig.js +0 -49
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-D-yo48ig.js.map +0 -1
- package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-DR-BHNkD.js +0 -52
- package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-DR-BHNkD.js.map +0 -1
- package/build/server/chunks/entries/hooks.server.js-D9jPD6U6.js +0 -314
- package/build/server/chunks/entries/hooks.server.js-D9jPD6U6.js.map +0 -1
- package/build/server/chunks/entries/pages/_error.svelte.js-CcEXLTGe.js +0 -36
- package/build/server/chunks/entries/pages/_error.svelte.js-CcEXLTGe.js.map +0 -1
- package/build/server/chunks/entries/pages/_layout.server.ts.js-PdSOzWlA.js +0 -34
- package/build/server/chunks/entries/pages/_layout.server.ts.js-PdSOzWlA.js.map +0 -1
- package/build/server/chunks/entries/pages/_page.svelte.js-yukoMSQ5.js +0 -77
- package/build/server/chunks/entries/pages/_page.svelte.js-yukoMSQ5.js.map +0 -1
- package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-Bi2qFFs3.js +0 -110
- package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-Bi2qFFs3.js.map +0 -1
- package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CVblClg6.js +0 -149
- package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CVblClg6.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/_error.svelte.js-CZruLQ3X.js +0 -37
- package/build/server/chunks/entries/pages/admin/_error.svelte.js-CZruLQ3X.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BVwZSvlT.js +0 -31
- package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BVwZSvlT.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/_layout.svelte.js-DhIk9mqo.js +0 -122
- package/build/server/chunks/entries/pages/admin/_layout.svelte.js-DhIk9mqo.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CfbWMs6E.js +0 -75
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CfbWMs6E.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-CW7jAuXZ.js +0 -360
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-CW7jAuXZ.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-skUM7hwl.js +0 -245
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-skUM7hwl.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-7UkHHcGq.js +0 -74
- package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-7UkHHcGq.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-Dyv3AH1H.js +0 -673
- package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-Dyv3AH1H.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-C2SF5IxL.js +0 -35
- package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-C2SF5IxL.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-CZWOatqo.js +0 -86
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-CZWOatqo.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CLZRG84U.js +0 -617
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-CLZRG84U.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BWMIrkEl.js +0 -42
- package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BWMIrkEl.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-DQhpZiC5.js +0 -283
- package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-DQhpZiC5.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-CEQAQWBr.js +0 -86
- package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-CEQAQWBr.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-BRdZZ2BZ.js +0 -1477
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-BRdZZ2BZ.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-UFisfOHB.js +0 -70
- package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-UFisfOHB.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-D6zajTTy.js +0 -683
- package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-D6zajTTy.js.map +0 -1
- package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-BGksk8u3.js +0 -63
- package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-BGksk8u3.js.map +0 -1
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-pJ1SY8Q-.js +0 -62
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-pJ1SY8Q-.js.map +0 -1
- package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-BjenuS3W.js +0 -527
- package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-BjenuS3W.js.map +0 -1
- package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-B-bOvPn4.js +0 -90
- package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-B-bOvPn4.js.map +0 -1
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-Agbw_aKj.js +0 -118
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-Agbw_aKj.js.map +0 -1
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-B2EvYnh8.js +0 -12881
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-B2EvYnh8.js.map +0 -1
- package/build/server/chunks/entries/pages/library/_page.server.ts.js-D-CYvvZA.js +0 -48
- package/build/server/chunks/entries/pages/library/_page.server.ts.js-D-CYvvZA.js.map +0 -1
- package/build/server/chunks/entries/pages/library/_page.svelte.js-cMRXPcS8.js +0 -322
- package/build/server/chunks/entries/pages/library/_page.svelte.js-cMRXPcS8.js.map +0 -1
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-DsvG2c6W.js +0 -80
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-DsvG2c6W.js.map +0 -1
- package/build/server/chunks/entries/pages/login/_page.svelte.js-BcOk2r9k.js +0 -257
- package/build/server/chunks/entries/pages/login/_page.svelte.js-BcOk2r9k.js.map +0 -1
- package/build/server/chunks/entries/pages/projects/_layout.svelte.js-Ccgq0W13.js +0 -50
- package/build/server/chunks/entries/pages/projects/_layout.svelte.js-Ccgq0W13.js.map +0 -1
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-FZ1YJUlN.js +0 -92
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-FZ1YJUlN.js.map +0 -1
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-lEWwRKUn.js +0 -3742
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-lEWwRKUn.js.map +0 -1
- package/build/server/chunks/entries/pages/setup/_page.server.ts.js-LpVVa0Wf.js +0 -114
- package/build/server/chunks/entries/pages/setup/_page.server.ts.js-LpVVa0Wf.js.map +0 -1
- package/build/server/chunks/entries/pages/setup/_page.svelte.js-DVkEhidY.js +0 -322
- package/build/server/chunks/entries/pages/setup/_page.svelte.js-DVkEhidY.js.map +0 -1
- package/build/server/chunks/entries/pages/team/_layout.server.ts.js-CDB0g9ce.js +0 -28
- package/build/server/chunks/entries/pages/team/_layout.server.ts.js-CDB0g9ce.js.map +0 -1
- package/build/server/chunks/entries/pages/team/_layout.svelte.js-gUtXDxz7.js +0 -163
- package/build/server/chunks/entries/pages/team/_layout.svelte.js-gUtXDxz7.js.map +0 -1
- package/build/server/chunks/entries/pages/team/_page.server.ts.js-DRnbTz4I.js +0 -35
- package/build/server/chunks/entries/pages/team/_page.server.ts.js-DRnbTz4I.js.map +0 -1
- package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-C1P8ISLj.js +0 -42
- package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-C1P8ISLj.js.map +0 -1
- package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-BodMogk0.js +0 -594
- package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-BodMogk0.js.map +0 -1
- package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B34cranJ.js +0 -58
- package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B34cranJ.js.map +0 -1
- package/build/server/chunks/entries/pages/team/members/_page.svelte.js-DJbqC59F.js +0 -540
- package/build/server/chunks/entries/pages/team/members/_page.svelte.js-DJbqC59F.js.map +0 -1
- package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-C4VBUsS4.js +0 -42
- package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-C4VBUsS4.js.map +0 -1
- package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-4ZR6R1_G.js +0 -437
- package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-4ZR6R1_G.js.map +0 -1
- package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-r39AGYwQ.js +0 -50
- package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-r39AGYwQ.js.map +0 -1
- package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-ntnD-Weh.js +0 -263
- package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-ntnD-Weh.js.map +0 -1
- package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Cdaz39h0.js +0 -32
- package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Cdaz39h0.js.map +0 -1
- package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-aPI_LAnF.js +0 -16
- package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-aPI_LAnF.js.map +0 -1
- package/build/server/chunks/handler-kbTHjCpk.js +0 -1206
- package/build/server/chunks/handler-kbTHjCpk.js.map +0 -1
- package/build/server/chunks/index.js-C4Cv5-dt.js +0 -3757
- package/build/server/chunks/index.js-C4Cv5-dt.js.map +0 -1
- package/build/server/chunks/manifest.js-1QUlfMe3.js +0 -605
- package/build/server/chunks/manifest.js-1QUlfMe3.js.map +0 -1
- package/build/server/chunks/nodes/0.js-dxDhrjZo.js +0 -25
- package/build/server/chunks/nodes/0.js-dxDhrjZo.js.map +0 -1
- package/build/server/chunks/nodes/1.js-BoJ1oIDT.js +0 -9
- package/build/server/chunks/nodes/1.js-BoJ1oIDT.js.map +0 -1
- package/build/server/chunks/nodes/10.js-JosvHMNE.js +0 -29
- package/build/server/chunks/nodes/10.js-JosvHMNE.js.map +0 -1
- package/build/server/chunks/nodes/11.js-DjYOqtiK.js +0 -35
- package/build/server/chunks/nodes/11.js-DjYOqtiK.js.map +0 -1
- package/build/server/chunks/nodes/12.js-BxY9Yxld.js +0 -26
- package/build/server/chunks/nodes/12.js-BxY9Yxld.js.map +0 -1
- package/build/server/chunks/nodes/13.js-BMzoQ3I_.js +0 -26
- package/build/server/chunks/nodes/13.js-BMzoQ3I_.js.map +0 -1
- package/build/server/chunks/nodes/14.js-W18H-6tz.js +0 -26
- package/build/server/chunks/nodes/14.js-W18H-6tz.js.map +0 -1
- package/build/server/chunks/nodes/15.js-CDq8j73I.js +0 -36
- package/build/server/chunks/nodes/15.js-CDq8j73I.js.map +0 -1
- package/build/server/chunks/nodes/16.js-BIAmrH2B.js +0 -31
- package/build/server/chunks/nodes/16.js-BIAmrH2B.js.map +0 -1
- package/build/server/chunks/nodes/17.js-aV14P117.js +0 -9
- package/build/server/chunks/nodes/17.js-aV14P117.js.map +0 -1
- package/build/server/chunks/nodes/18.js-Bwuvo7N3.js +0 -30
- package/build/server/chunks/nodes/18.js-Bwuvo7N3.js.map +0 -1
- package/build/server/chunks/nodes/19.js-Dah1NCaT.js +0 -29
- package/build/server/chunks/nodes/19.js-Dah1NCaT.js.map +0 -1
- package/build/server/chunks/nodes/2.js-CRvLHPZN.js +0 -29
- package/build/server/chunks/nodes/2.js-CRvLHPZN.js.map +0 -1
- package/build/server/chunks/nodes/20.js-jjA_r5wN.js +0 -30
- package/build/server/chunks/nodes/20.js-jjA_r5wN.js.map +0 -1
- package/build/server/chunks/nodes/21.js-Bmcz9pou.js +0 -38
- package/build/server/chunks/nodes/21.js-Bmcz9pou.js.map +0 -1
- package/build/server/chunks/nodes/22.js-qe_oX2Zb.js +0 -30
- package/build/server/chunks/nodes/22.js-qe_oX2Zb.js.map +0 -1
- package/build/server/chunks/nodes/24.js-Dtbbahz1.js +0 -29
- package/build/server/chunks/nodes/24.js-Dtbbahz1.js.map +0 -1
- package/build/server/chunks/nodes/25.js-C3UH2znM.js +0 -30
- package/build/server/chunks/nodes/25.js-C3UH2znM.js.map +0 -1
- package/build/server/chunks/nodes/26.js-KkzBg6gV.js +0 -26
- package/build/server/chunks/nodes/26.js-KkzBg6gV.js.map +0 -1
- package/build/server/chunks/nodes/28.js-C1U6M_iI.js +0 -27
- package/build/server/chunks/nodes/28.js-C1U6M_iI.js.map +0 -1
- package/build/server/chunks/nodes/29.js-Bjcl-iAP.js +0 -26
- package/build/server/chunks/nodes/29.js-Bjcl-iAP.js.map +0 -1
- package/build/server/chunks/nodes/3.js-fUPPQvdr.js +0 -9
- package/build/server/chunks/nodes/3.js-fUPPQvdr.js.map +0 -1
- package/build/server/chunks/nodes/30.js-2aHbJ9yA.js +0 -26
- package/build/server/chunks/nodes/30.js-2aHbJ9yA.js.map +0 -1
- package/build/server/chunks/nodes/31.js-BY_vDdBk.js +0 -26
- package/build/server/chunks/nodes/31.js-BY_vDdBk.js.map +0 -1
- package/build/server/chunks/nodes/32.js-B3stPGo6.js +0 -26
- package/build/server/chunks/nodes/32.js-B3stPGo6.js.map +0 -1
- package/build/server/chunks/nodes/33.js-BgQ6WYhs.js +0 -26
- package/build/server/chunks/nodes/33.js-BgQ6WYhs.js.map +0 -1
- package/build/server/chunks/nodes/5.js-ADjQMHZk.js +0 -15
- package/build/server/chunks/nodes/5.js-ADjQMHZk.js.map +0 -1
- package/build/server/chunks/nodes/6.js-DhQBKwc9.js +0 -26
- package/build/server/chunks/nodes/6.js-DhQBKwc9.js.map +0 -1
- package/build/server/chunks/nodes/7.js-CNjSHQGV.js +0 -12
- package/build/server/chunks/nodes/7.js-CNjSHQGV.js.map +0 -1
- package/build/server/chunks/nodes/8.js-Dlc1pDlR.js +0 -31
- package/build/server/chunks/nodes/8.js-Dlc1pDlR.js.map +0 -1
- package/build/server/chunks/nodes/9.js-Do95ILPz.js +0 -26
- package/build/server/chunks/nodes/9.js-Do95ILPz.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.server.js-v-TYZFyt.js","sources":["../../../../.svelte-kit/output/server/chunks/providers.server.js"],"sourcesContent":["import { t as private_env } from \"./shared-server.js\";\nimport { E as ALL_PLATFORM_PERMISSIONS, i as transcodeImageIfNeeded, n as hasPermission, r as classifyAssetPath, t as SYSTEM_CONTEXT, v as DEFAULT_ORG_PERMISSIONS } from \"./src.js\";\nimport { r as NoopLogger, t as readBool } from \"./limits.js\";\nimport { d as Qe, t as UI_SCHEMA_VERSION, u as Je } from \"./schema.js\";\nimport * as crypto from \"node:crypto\";\nimport { createCipheriv, createDecipheriv, createHash, createHmac, randomBytes, randomUUID, timingSafeEqual } from \"node:crypto\";\nimport { pathToFileURL } from \"node:url\";\nimport * as path from \"node:path\";\nimport { resolve } from \"node:path\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport { createClient } from \"@supabase/supabase-js\";\n//#region ../platform/src/organizations/paths.ts\n/**\n* Blocks path traversal, separators, and empty segments. Called by every\n* helper below so a malicious `id` can't escape the `orgs/` prefix.\n*/\nfunction assertSafeKey$1(value, label) {\n\tif (!value || !/^[A-Za-z0-9._-]+$/.test(value) || value === \".\" || value === \"..\") throw new Error(`Unsafe ${label}: ${JSON.stringify(value)}`);\n}\n/**\n* Every branding asset is stored as `.webp` (uploads go through the shared\n* transcoder), so the path per kind is fixed and a re-upload overwrites in\n* place via `IStorageProvider.put`'s upsert.\n*\n* Branding lives under `orgs/{id}/branding/` because it's a *public* asset\n* class — anyone, including logged-out viewers, may read a company logo.\n* That segment distinguishes it from `orgs/{id}/private/` (members-only).\n* `classifyAssetPath` / `ASSET_CLASSES` decide public-vs-private from these\n* prefixes.\n*/\nvar orgPaths = {\n\tasset: (id, kind) => {\n\t\tassertSafeKey$1(id, \"orgId\");\n\t\tassertSafeKey$1(kind, \"assetKind\");\n\t\treturn `orgs/${id}/branding/${kind}.webp`;\n\t},\n\t/** Members-only blob; `name` includes the extension. */\n\tprivateAsset: (id, name) => {\n\t\tassertSafeKey$1(id, \"orgId\");\n\t\tassertSafeKey$1(name, \"assetName\");\n\t\treturn `orgs/${id}/private/${name}`;\n\t},\n\tprefix: (id) => {\n\t\tassertSafeKey$1(id, \"orgId\");\n\t\treturn `orgs/${id}/`;\n\t}\n};\n//#endregion\n//#region ../platform/src/definitions/paths.ts\n/**\n* Path-segment safety check. Blocks traversal, separators, NUL, and empty\n* segments. Allowed alphabet `[A-Za-z0-9._-]+` covers GUIDs and sanitized\n* refs. Called by every helper so a malicious `guid` can't escape the\n* `definitions/` prefix.\n*/\nfunction assertSafeKey(value, label) {\n\tif (!value || !/^[A-Za-z0-9._-]+$/.test(value) || value === \".\" || value === \"..\") throw new Error(`Unsafe ${label}: ${JSON.stringify(value)}`);\n}\nvar definitionPaths = {\n\tversion: (guid, versionNumber, ext) => {\n\t\tassertSafeKey(guid, \"guid\");\n\t\tif (!Number.isInteger(versionNumber) || versionNumber < 1) throw new Error(`Unsafe versionNumber: ${versionNumber}`);\n\t\treturn `definitions/${guid}/versions/v${versionNumber}.${ext}`;\n\t},\n\timage: (guid) => {\n\t\tassertSafeKey(guid, \"guid\");\n\t\treturn `definitions/${guid}/cover.webp`;\n\t},\n\tprefix: (guid) => {\n\t\tassertSafeKey(guid, \"guid\");\n\t\treturn `definitions/${guid}/`;\n\t}\n};\n//#endregion\n//#region ../platform/src/storage/cacheBust.ts\n/**\n* Appends a cache-busting token to a stored-asset URL.\n*\n* `IStorageProvider.put` upserts, so a re-upload keeps the same storage path\n* and public URL — a browser/CDN caching the old bytes under that URL keeps\n* serving them past the TTL, which reads as \"the replace didn't work.\"\n* Appending a token that only changes with the content gives each version a\n* distinct URL, forcing a refetch, while unchanged assets stay cached.\n*\n* Generic over asset kind — pass whatever tracks the blob's version (content\n* hash, `updatedAt`, a counter). The serving route ignores the query string\n* (SvelteKit's `[...path]` param never includes it), so this needs no route\n* support.\n*\n* Empty/whitespace tokens return the URL unchanged, so a missing token\n* degrades to \"no cache-bust\" rather than `?v=`.\n*/\nfunction withCacheBust(url, token) {\n\tif (token === void 0 || token === null) return url;\n\tconst value = String(token).trim();\n\tif (value === \"\") return url;\n\treturn `${url}${url.includes(\"?\") ? \"&\" : \"?\"}v=${encodeURIComponent(value)}`;\n}\n//#endregion\n//#region ../platform/src/data/interface.ts\n/**\n* Written to `solve_metrics.actor_id` when a user is erased, so capacity/billing\n* aggregates survive without identifying the person. Distinct from `'system'`,\n* which marks solves never attributed to a user (share-link / server flows).\n*/\nvar ERASED_ACTOR_ID = \"deleted\";\n//#endregion\n//#region ../platform/src/computeServer/types.ts\nfunction isPlatformServer(s) {\n\treturn s.scope === \"platform\";\n}\nfunction isOrgServer(s) {\n\treturn s.scope === \"org\";\n}\n//#endregion\n//#region ../platform/src/events/interface.ts\n/**\n* `ctx.userId === ''` is the `SYSTEM_CONTEXT` convention for a server-internal\n* caller (bootstrap, janitors, migrations), which resolves to `'system'` here.\n*/\nfunction actorFrom(ctx) {\n\treturn ctx.userId || \"system\";\n}\n/** Discards every event. Used when `SelvaConfig.events` is omitted. */\nvar NoopEventSink = class {\n\tasync emit(_event) {}\n};\n//#endregion\n//#region ../platform/src/metrics/interface.ts\n/** Default `ISolveMetricSink` — discards every metric. Used when `SelvaConfig.solveMetrics` is omitted. */\nvar NoopSolveMetricSink = class {\n\tasync record(_ctx, _metric) {}\n};\n//#endregion\n//#region ../platform/src/errors/interface.ts\n/**\n* Default `IErrorReporter` — discards every report. Used when no error-tracking\n* backend is configured (e.g. `SENTRY_DSN` unset), so call sites can report\n* unconditionally. Swap in a real reporter to ship errors off-box.\n*/\nvar NoopErrorReporter = class {\n\tcapture(_error, _context) {}\n};\n//#endregion\n//#region ../platform/src/utils/audit.ts\n/**\n* Audit-field stamping helpers. Every mutable entity carries `createdAt` /\n* `createdBy` / `updatedAt` / `updatedBy` / `deletedAt`.\n*\n* `createdAt` / `createdBy` are stamped by the consumer when constructing\n* the record. `updatedAt` / `updatedBy` and `deletedAt` are stamped by\n* stores on every mutation.\n*\n* `fallbackActor` is used when `ctx.userId` is empty (system contexts) —\n* pass the record's prior `updatedBy` (or `ownerId` / `createdBy` if unset).\n*/\nvar nowIso = () => (/* @__PURE__ */ new Date()).toISOString();\nfunction auditUpdate(ctx, fallbackActor) {\n\treturn {\n\t\tupdatedAt: nowIso(),\n\t\tupdatedBy: ctx.userId || fallbackActor || \"\"\n\t};\n}\nfunction auditSoftDelete(ctx, fallbackActor) {\n\tconst now = nowIso();\n\treturn {\n\t\tdeletedAt: now,\n\t\tupdatedAt: now,\n\t\tupdatedBy: ctx.userId || fallbackActor || \"\"\n\t};\n}\n//#endregion\n//#region ../platform/src/errors.ts\n/**\n* Thrown by providers to signal an expected failure the API layer forwards with\n* a specific status. Unknown errors should propagate as plain `Error` and become 500s.\n*/\nvar ProviderError = class extends Error {\n\tstatusCode;\n\tconstructor(message, statusCode = 400) {\n\t\tsuper(message);\n\t\tthis.name = \"ProviderError\";\n\t\tthis.statusCode = statusCode;\n\t}\n};\n//#endregion\n//#region ../platform/src/config.ts\nfunction isFlagEnabled(config, flag) {\n\treturn Boolean(config.flags?.[flag]);\n}\n//#endregion\n//#region ../server/src/definitions/definition-service.ts\n/**\n* Orchestrates writes spanning IDataProvider + IStorageProvider. Application\n* orchestration, not platform contract — hence not in @selvajs/platform.\n*\n* Methods that write both metadata and blobs order the two so a mid-flight\n* failure leaves a state the API can still serve; those reasons sit inline at\n* each write. `publish` and `updateMeta` flip pointers/metadata only and touch\n* storage not at all.\n*/\nvar DefinitionService = class {\n\tdata;\n\tstorage;\n\tconstructor(data, storage) {\n\t\tthis.data = data;\n\t\tthis.storage = storage;\n\t}\n\tasync create(ctx, input, file, schema) {\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tconst actor = ctx.userId || input.ownerId;\n\t\tconst record = {\n\t\t\tguid: input.guid,\n\t\t\tprojectId: input.projectId,\n\t\t\townerId: input.ownerId,\n\t\t\tcreatedBy: actor,\n\t\t\tupdatedBy: actor,\n\t\t\tdisplayName: input.displayName,\n\t\t\tdescription: input.description,\n\t\t\tcategory: input.category,\n\t\t\ttags: input.tags,\n\t\t\tcoverImage: input.coverImage,\n\t\t\tcomputeServerId: input.computeServerId,\n\t\t\tstatus: \"pending\",\n\t\t\tsolveCount: 0,\n\t\t\tnextVersionNumber: 2,\n\t\t\tliveVersionId: null,\n\t\t\tdraftVersionId: null,\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now,\n\t\t\tdeletedAt: null\n\t\t};\n\t\tawait this.data.definitions.create(ctx, record);\n\t\tconst versionId = randomUUID();\n\t\tconst fileKey = definitionPaths.version(input.guid, 1, input.fileExt);\n\t\tawait this.storage.put(fileKey, file, \"application/octet-stream\");\n\t\tconst version = {\n\t\t\tid: versionId,\n\t\t\tdefinitionId: input.guid,\n\t\t\tversionNumber: 1,\n\t\t\tfileExt: input.fileExt,\n\t\t\tfileKey,\n\t\t\toriginalFilename: input.originalFilename,\n\t\t\tuploadedBy: actor,\n\t\t\tuploadedAt: now,\n\t\t\tschema,\n\t\t\tschemaExtractedAt: now\n\t\t};\n\t\tawait this.data.definitions.createVersion(ctx, version);\n\t\tawait this.data.definitions.attachInitialVersion(ctx, input.guid, versionId);\n\t\treturn {\n\t\t\trecord: {\n\t\t\t\t...record,\n\t\t\t\tstatus: \"draft\",\n\t\t\t\tliveVersionId: versionId,\n\t\t\t\tdraftVersionId: versionId\n\t\t\t},\n\t\t\tversion\n\t\t};\n\t}\n\t/**\n\t* Advances the draft pointer only — `live` is unchanged. Use `publish` to\n\t* promote.\n\t*/\n\tasync uploadVersion(ctx, guid, file, ext, originalName, schema, changeNote) {\n\t\tconst existing = await this.data.definitions.get(ctx, guid);\n\t\tif (!existing) throw new ProviderError(`Definition not found: ${guid}`, 404);\n\t\tconst next = await this.data.definitions.reserveNextVersionNumber(ctx, guid);\n\t\tconst versionId = randomUUID();\n\t\tconst fileKey = definitionPaths.version(guid, next, ext);\n\t\tawait this.storage.put(fileKey, file, \"application/octet-stream\");\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tconst version = {\n\t\t\tid: versionId,\n\t\t\tdefinitionId: guid,\n\t\t\tversionNumber: next,\n\t\t\tfileExt: ext,\n\t\t\tfileKey,\n\t\t\toriginalFilename: originalName,\n\t\t\tuploadedBy: ctx.userId || existing.ownerId,\n\t\t\tuploadedAt: now,\n\t\t\tchangeNote: changeNote?.trim() || void 0,\n\t\t\tschema,\n\t\t\tschemaExtractedAt: now\n\t\t};\n\t\tawait this.data.definitions.createVersion(ctx, version);\n\t\tawait this.data.definitions.setDraftVersion(ctx, guid, versionId);\n\t\treturn version;\n\t}\n\t/**\n\t* Moves the live channel to `versionId`, or to the current draft if omitted.\n\t* Any version id is accepted, so this rolls backward as well as forward.\n\t*/\n\tasync publish(ctx, guid, versionId) {\n\t\tconst existing = await this.data.definitions.get(ctx, guid);\n\t\tif (!existing) throw new ProviderError(`Definition not found: ${guid}`, 404);\n\t\tconst target = versionId ?? existing.draftVersionId;\n\t\tif (!target) throw new ProviderError(\"No version to publish\", 400);\n\t\tconst version = await this.data.definitions.getVersion(ctx, target);\n\t\tif (!version || version.definitionId !== guid) throw new ProviderError(`Version '${target}' not found for this definition`, 404);\n\t\tawait this.data.definitions.setLiveVersion(ctx, guid, target);\n\t\tif (existing.status === \"draft\" || existing.status === \"pending\") await this.data.definitions.update(ctx, guid, { status: \"published\" });\n\t\treturn version;\n\t}\n\tasync deleteVersion(ctx, guid, versionId) {\n\t\tconst version = await this.data.definitions.getVersion(ctx, versionId);\n\t\tif (!version || version.definitionId !== guid) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tawait this.data.definitions.deleteVersion(ctx, versionId);\n\t\tawait this.storage.delete(version.fileKey);\n\t}\n\tasync updateMeta(ctx, guid, patch) {\n\t\tawait this.data.definitions.update(ctx, guid, patch);\n\t}\n\tasync saveCoverImage(ctx, guid, imageData) {\n\t\tconst path = definitionPaths.image(guid);\n\t\tawait this.storage.put(path, imageData, \"image/webp\");\n\t\tconst url = this.storage.getPublicUrl(path);\n\t\tawait this.data.definitions.update(ctx, guid, { coverImage: url });\n\t\treturn url;\n\t}\n\tasync delete(ctx, guid) {\n\t\tawait this.data.definitions.delete(ctx, guid);\n\t\tawait this.storage.deletePrefix(definitionPaths.prefix(guid));\n\t}\n};\n//#endregion\n//#region ../server/src/definitions/schema-extraction.ts\n/** Thin re-export of @selvajs/compute's unwrap, typed to `UISchema`. */\nfunction readSchemaResults(raw) {\n\treturn Je(raw);\n}\n/** Thrown when compute is reachable but the definition yields no usable schema. */\nvar SchemaExtractionError = class extends Error {\n\tkind;\n\tconstructor(kind, message) {\n\t\tsuper(message);\n\t\tthis.kind = kind;\n\t\tthis.name = \"SchemaExtractionError\";\n\t}\n};\n/**\n* Rejects a schema whose keys are not camelCase by the time it reaches a consumer.\n*\n* Compute serializes the plugin's `UISchema` POCO, whose camelCase names live in\n* `[JsonProperty]` attributes. `Selva.gha` ILRepack-merges Newtonsoft, so those\n* attributes have type `Selva!Newtonsoft.Json.JsonPropertyAttribute`; a compute\n* server serializing with its OWN Newtonsoft does not recognize them, reads no\n* attributes, and falls back to raw CLR member names — `Inputs`, `Layout`.\n* Nothing throws on the wire: every consumer just reads `schema.inputs` as\n* undefined and renders a definition with no inputs.\n*\n* `postSchemaFormData` repairs that casing via `normalizeUISchemaCasing`, so a\n* schema fresh off the wire never trips this. It stays because schemas are also\n* PERSISTED: a row cached before the normalizer existed still holds PascalCase,\n* and it reaches consumers without passing through `postSchemaFormData` again.\n* A schema with no `inputs` in any casing lands here too. It is a backstop, not\n* the primary defense — which is why it names the missing key rather than telling\n* the operator to go update their compute server.\n*\n* Checked structurally rather than by plugin version, because the casing depends\n* on which assembly serialized the schema, not on any version number.\n*/\nfunction assertCamelCaseSchema(schema) {\n\tconst raw = schema;\n\tif (Array.isArray(raw.inputs)) return;\n\tconst pascalKeys = [\n\t\t\"Inputs\",\n\t\t\"Outputs\",\n\t\t\"Layout\",\n\t\t\"SchemaVersion\"\n\t].filter((k) => k in raw);\n\tif (pascalKeys.length > 0) throw new SchemaExtractionError(\"malformed\", `Schema keys are PascalCase (found ${pascalKeys.join(\", \")}), so every property name is wrong and the definition would render with no inputs. Compute serialized it with its own Newtonsoft instead of the one merged into Selva.gha. Fresh responses are normalized, so this is most likely a schema cached before that fix — re-save the definition version to re-extract it.`);\n\tthrow new SchemaExtractionError(\"malformed\", `Compute returned a schema with no 'inputs' array (got keys: ${Object.keys(raw).slice(0, 12).join(\", \")}).`);\n}\nfunction parseSemver(version) {\n\tconst m = /^(\\d+)\\.(\\d+)\\.(\\d+)$/.exec(version);\n\treturn m ? [\n\t\tNumber(m[1]),\n\t\tNumber(m[2]),\n\t\tNumber(m[3])\n\t] : null;\n}\n/**\n* Rejects a schema from a NEWER plugin than this app was built against — its\n* shape may contain constructs the renderer doesn't know. Older (or missing)\n* versions pass: the compute-side C# migrator always emits its own current\n* version, and an older shape only lacks optional additions.\n*/\nfunction assertSupportedSchemaVersion(schema) {\n\tconst version = schema.schemaVersion;\n\tif (!version) return;\n\tconst extracted = parseSemver(version);\n\tconst supported = parseSemver(UI_SCHEMA_VERSION);\n\tif (!extracted || !supported) return;\n\tif (extracted[0] > supported[0] || extracted[0] === supported[0] && (extracted[1] > supported[1] || extracted[1] === supported[1] && extracted[2] > supported[2])) throw new SchemaExtractionError(\"unsupported\", `This definition was authored with a newer Selva plugin (schema format ${version}); this server supports schema format ≤ ${UI_SCHEMA_VERSION}. Update the server, or re-save the definition with a matching plugin version.`);\n}\n/**\n* POSTs a multipart form to Rhino Compute's `/grasshopper/schema` endpoint (no\n* solve required). Throws 'unreachable' on a network failure or non-2xx. The\n* per-file `error` Compute reports on its 200-with-no-schemas case is left to\n* the caller — single-file and multi-file callers want different messages.\n*/\nasync function postSchemaFormData(formData, server) {\n\tconst schemaUrl = new URL(\"/grasshopper/schema\", server.serverUrl).toString();\n\tconst headers = {};\n\tif (server.apiKey) headers[\"RhinoComputeKey\"] = server.apiKey;\n\tlet response;\n\ttry {\n\t\tresponse = await fetch(schemaUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: formData\n\t\t});\n\t} catch (err) {\n\t\tthrow new SchemaExtractionError(\"unreachable\", `Compute server is unreachable: ${err instanceof Error ? err.message : String(err)}`);\n\t}\n\tif (!response.ok) throw new SchemaExtractionError(\"unreachable\", `Schema endpoint returned ${response.status}: ${response.statusText}`);\n\treturn readSchemaResults(await response.json()).map((result) => ({\n\t\t...result,\n\t\tschemas: result.schemas?.map((schema) => Qe(schema))\n\t}));\n}\n/**\n* Throws `SchemaExtractionError` so callers can map to the right HTTP status:\n* 503 unreachable / 422 invalid or unsupported.\n*/\nasync function fetchSchemaFromCompute(definitionBytes, server) {\n\tconst formData = new FormData();\n\tconst blob = new Blob([new Uint8Array(definitionBytes)], { type: \"application/octet-stream\" });\n\tformData.append(\"file\", blob, \"definition.gh\");\n\tconst results = await postSchemaFormData(formData, server);\n\tconst schemas = results.flatMap((r) => r.schemas ?? []);\n\tif (schemas.length === 0) {\n\t\tconst diagnosis = results.map((r) => r.error).filter(Boolean);\n\t\tif (diagnosis.length > 0) throw new SchemaExtractionError(\"invalid\", diagnosis.join(\"\\n\"));\n\t\tthrow new SchemaExtractionError(\"invalid\", \"No schemas found in definition.\\n\\nIn Grasshopper, verify a Context Bake component with the output name \\\"Schema\\\" is present and wired to the solver.\");\n\t}\n\tassertSupportedSchemaVersion(schemas[0]);\n\tassertCamelCaseSchema(schemas[0]);\n\treturn schemas[0];\n}\n//#endregion\n//#region ../server/src/definitions/load-for-render.ts\nvar DefinitionLoadError = class extends Error {\n\tkind;\n\tcause;\n\tconstructor(kind, message, cause) {\n\t\tsuper(message);\n\t\tthis.kind = kind;\n\t\tthis.cause = cause;\n\t\tthis.name = \"DefinitionLoadError\";\n\t}\n};\n/**\n* The returned loader resolves the `channel` pointer (live/draft) by default.\n* `explicitVersionId` renders an arbitrary historical version instead — the\n* caller MUST gate that behind edit permission, as with the draft channel.\n*/\nfunction createDefinitionLoader(deps) {\n\tconst { storage, definitions, projects, resolveServer, getClient, fetchSchema = fetchSchemaFromCompute, computeDebug = false, onWarn, logger = new NoopLogger() } = deps;\n\treturn async function loadDefinitionForRender(ctx, record, channel, explicitVersionId, options) {\n\t\tconst versionId = explicitVersionId ?? (channel === \"draft\" ? record.draftVersionId : record.liveVersionId);\n\t\tif (!versionId) throw new DefinitionLoadError(\"data\", `Definition '${record.guid}' has no ${channel} version`);\n\t\tconst version = await definitions.getVersion(ctx, versionId);\n\t\tif (!version) throw new DefinitionLoadError(\"data\", `version missing for '${record.guid}'`);\n\t\tif (version.definitionId !== record.guid) throw new DefinitionLoadError(\"data\", `version does not belong to '${record.guid}'`);\n\t\tconst definitionSource = await storage.get(version.fileKey);\n\t\tif (!definitionSource) throw new DefinitionLoadError(\"data\", `Definition file for '${record.guid}' not found on disk`);\n\t\tconst project = await projects.getProject(ctx, record.projectId);\n\t\tlet computeServer;\n\t\ttry {\n\t\t\tcomputeServer = await resolveServer(ctx, project?.orgId ?? null, { definitionPin: record.computeServerId ?? null });\n\t\t} catch (err) {\n\t\t\tthrow new DefinitionLoadError(\"missing-config\", \"No compute server configured for this definition\", err);\n\t\t}\n\t\tif (options?.skipComputeDefaults) {\n\t\t\tconst cachedSchema = version.schema;\n\t\t\tif (cachedSchema && isUsableCachedSchema(cachedSchema)) return {\n\t\t\t\tversion,\n\t\t\t\tdefinitionSource,\n\t\t\t\tcomputeServer,\n\t\t\t\tschema: cachedSchema\n\t\t\t};\n\t\t}\n\t\tlet client;\n\t\ttry {\n\t\t\tclient = (await getClient(computeServer, { definitionGuid: record.guid })).client;\n\t\t} catch (err) {\n\t\t\tthrow new DefinitionLoadError(\"connect\", `Failed to connect to Rhino Compute server: ${err instanceof Error ? err.message : String(err)}`, err);\n\t\t}\n\t\ttry {\n\t\t\tconst cachedSchema = version.schema;\n\t\t\tconst freshCache = cachedSchema && isUsableCachedSchema(cachedSchema) ? cachedSchema : null;\n\t\t\tconst [definition, fetchedSchema] = await Promise.all([client.getIO(definitionSource), freshCache ? Promise.resolve(freshCache) : fetchSchema(definitionSource, computeServer)]);\n\t\t\tif (!freshCache && fetchedSchema.schemaVersion === \"2.14.0\") definitions.setVersionSchema(ctx, version.id, fetchedSchema).catch((err) => {\n\t\t\t\tif (onWarn) {\n\t\t\t\t\tonWarn(`[loadForRender] schema cache refresh failed for version ${version.id}: ${err instanceof Error ? err.message : String(err)}`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.warn(\"Schema cache refresh failed\", {\n\t\t\t\t\tcomponent: \"loadForRender\",\n\t\t\t\t\tversionId: version.id,\n\t\t\t\t\terr: err instanceof Error ? err.stack ?? err.message : String(err)\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!definition) throw new Error(`Failed to get definition IO — server returned undefined`);\n\t\t\tconst ioParseErrors = definition.parseErrors ?? [];\n\t\t\tconst ioLoadErrors = definition.loadErrors ?? [];\n\t\t\tif (definition.inputs.length === 0 || ioParseErrors.length > 0 || ioLoadErrors.length > 0) {\n\t\t\t\tconst health = {\n\t\t\t\t\tinputCount: definition.inputs.length,\n\t\t\t\t\toutputCount: definition.outputs?.length,\n\t\t\t\t\tparseErrors: ioParseErrors,\n\t\t\t\t\tloadErrors: ioLoadErrors,\n\t\t\t\t\tloadWarnings: definition.loadWarnings\n\t\t\t\t};\n\t\t\t\tif (onWarn) onWarn(`[loadForRender] IO health for '${record.guid}':`, JSON.stringify(health));\n\t\t\t\telse logger.warn(\"Definition IO looks unhealthy\", {\n\t\t\t\t\tcomponent: \"loadForRender\",\n\t\t\t\t\tdefinitionGuid: record.guid,\n\t\t\t\t\t...health\n\t\t\t\t});\n\t\t\t\tif (computeDebug) {\n\t\t\t\t\tconst rawIO = await client.getRawIO(definitionSource).catch((e) => ({ error: String(e) }));\n\t\t\t\t\tconst rendered = JSON.stringify(rawIO).slice(0, 3e3);\n\t\t\t\t\tif (onWarn) onWarn(\"[loadForRender] raw /io:\", rendered);\n\t\t\t\t\telse logger.debug(\"Raw /io wire shape\", {\n\t\t\t\t\t\tcomponent: \"loadForRender\",\n\t\t\t\t\t\tdefinitionGuid: record.guid,\n\t\t\t\t\t\trawIO: rendered\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tdefinitionSource,\n\t\t\t\tcomputeServer,\n\t\t\t\tschema: mergeComputeDefaults(fetchedSchema, definition.inputs)\n\t\t\t};\n\t\t} catch (err) {\n\t\t\tif (err instanceof DefinitionLoadError) throw err;\n\t\t\tthrow new DefinitionLoadError(\"schema\", err instanceof Error ? err.message : String(err), err);\n\t\t}\n\t};\n}\n/**\n* A cached schema is usable only if it is BOTH the current format version and\n* structurally sound. The version check alone is not enough: a compute server\n* that serialized the schema with the wrong Newtonsoft emits PascalCase keys, so\n* `schemaVersion` reads as undefined while `SchemaVersion` holds the value —\n* and a row cached during that window would otherwise be served forever, long\n* after the server was fixed. See `assertCamelCaseSchema`.\n*/\nfunction isUsableCachedSchema(schema) {\n\treturn schema.schemaVersion === \"2.14.0\" && Array.isArray(schema.inputs);\n}\nfunction mergeComputeDefaults(schema, computeInputs) {\n\tif (!Array.isArray(schema.inputs)) throw new DefinitionLoadError(\"schema\", `Schema has no 'inputs' array (keys: ${Object.keys(schema).slice(0, 12).join(\", \")}). A PascalCase shape here means compute serialized it with the wrong Newtonsoft — see assertCamelCaseSchema.`);\n\tconst byParamId = new Map(computeInputs.map((input) => [input.id, input]));\n\treturn {\n\t\t...schema,\n\t\tinputs: schema.inputs.map((schemaInput) => {\n\t\t\tconst computeInput = byParamId.get(schemaInput.id);\n\t\t\tif (computeInput?.paramType === \"Color\" && computeInput.default !== void 0) {\n\t\t\t\tconst toHex = (value) => value.toString(16).padStart(2, \"0\");\n\t\t\t\tconst parts = String(computeInput.default).split(\",\").map((s) => parseInt(s.trim(), 10));\n\t\t\t\tif (parts.length === 3) computeInput.default = `#${toHex(parts[0])}${toHex(parts[1])}${toHex(parts[2])}`;\n\t\t\t\telse if (parts.length === 4) computeInput.default = `#${toHex(parts[1])}${toHex(parts[2])}${toHex(parts[3])}`;\n\t\t\t}\n\t\t\tif (computeInput && computeInput.default !== void 0) return {\n\t\t\t\t...schemaInput,\n\t\t\t\tdefault: computeInput.default\n\t\t\t};\n\t\t\treturn schemaInput;\n\t\t})\n\t};\n}\n//#endregion\n//#region ../server/src/providers/create-selva-providers.ts\nvar FLAG_KEYS = [\n\t\"ALLOW_CROSS_ORG_PUBLIC\",\n\t\"ALLOW_ORG_COMPUTE_OVERRIDE\",\n\t\"ALLOW_ORG_CREATION\",\n\t\"ENABLE_PLATFORM_PROJECTS\",\n\t\"ENABLE_SHARING\"\n];\nfunction pick(env, envVar, slot, fallback) {\n\tconst choice = (env[envVar] ?? fallback).toLowerCase();\n\tconst factory = slot[choice];\n\tif (!factory) throw new Error(`Unknown ${envVar}=\"${choice}\". Expected: ${Object.keys(slot).join(\" | \")}.`);\n\treturn factory(env);\n}\nfunction pickTenancy(env) {\n\tconst choice = (env.SELVA_TENANCY ?? \"single\").toLowerCase();\n\tif (choice !== \"single\" && choice !== \"multi\") throw new Error(`Unknown SELVA_TENANCY=\"${choice}\". Expected: single | multi.`);\n\treturn choice;\n}\n/**\n* Supabase's data provider carries a `solveMetrics` sink built from its own\n* client bundle — reuse it so timings persist without a second client. Backends\n* with no metrics table return undefined, and `solveMetricSink()` falls back to\n* `NoopSolveMetricSink`.\n*/\nfunction pickSolveMetrics(data) {\n\tconst candidate = data.solveMetrics;\n\tif (candidate && typeof candidate.record === \"function\") return candidate;\n}\nfunction buildDefaultFactory(options) {\n\tconst { registry, defaults } = options;\n\treturn (env) => {\n\t\tconst data = pick(env, \"SELVA_DATA_PROVIDER\", registry.data, defaults?.data ?? \"local\");\n\t\treturn {\n\t\t\ttenancy: pickTenancy(env),\n\t\t\tflags: Object.fromEntries(FLAG_KEYS.map((key) => [key, readBool(env, `SELVA_FLAG_${key}`, false)])),\n\t\t\tbranding: {\n\t\t\t\tname: env.SELVA_BRAND_NAME,\n\t\t\t\tcopyrightName: env.SELVA_BRAND_COPYRIGHT_NAME,\n\t\t\t\ttagline: env.SELVA_BRAND_TAGLINE,\n\t\t\t\tdescription: env.SELVA_BRAND_DESCRIPTION\n\t\t\t},\n\t\t\tauth: pick(env, \"SELVA_AUTH_PROVIDER\", registry.auth, defaults?.auth ?? \"local\"),\n\t\t\tdata,\n\t\t\tstorage: pick(env, \"SELVA_STORAGE_PROVIDER\", registry.storage, defaults?.storage ?? \"local\"),\n\t\t\tsolveMetrics: pickSolveMetrics(data)\n\t\t};\n\t};\n}\nasync function loadConfigSource(options) {\n\tif (!options.configPath) return buildDefaultFactory(options);\n\tconst abs = resolve(process.cwd(), options.configPath);\n\tif (!existsSync(abs)) throw new Error(`Config override path ${options.configPath} resolved to ${abs} which does not exist.`);\n\treturn (await import(\n\t\t/* @vite-ignore */\n\t\tpathToFileURL(abs).href\n)).default;\n}\n/**\n* Loading the config source (default factory, or the `configPath` module) is\n* cheap and secret-free. The factory is deliberately NOT invoked here: that\n* runs the registry's `fromEnv` factories, which validate required secrets, so\n* calling it at import time would make merely building the app require a full\n* runtime env. Providers are instantiated on the first `resolve()`.\n*/\nasync function createSelvaProviders(env, options) {\n\tconst raw = await loadConfigSource(options);\n\tconst logger = options.logger ?? new NoopLogger();\n\tlet config;\n\tlet solveMetricSink;\n\tfunction resolve() {\n\t\tif (config) return config;\n\t\tconfig = typeof raw === \"function\" ? raw(env) : raw;\n\t\tconst wiring = {\n\t\t\tcomponent: \"selva\",\n\t\t\tauth: config.auth.name,\n\t\t\tdata: config.data.constructor.name,\n\t\t\tstorage: config.storage.constructor.name,\n\t\t\ttenancy: config.tenancy ?? \"single\",\n\t\t\t...options.configPath ? { configPath: options.configPath } : {}\n\t\t};\n\t\tif (options.onBoot) options.onBoot(`[selva] providers wired: auth=${wiring.auth} data=${wiring.data} storage=${wiring.storage} tenancy=${wiring.tenancy}` + (options.configPath ? ` config=${options.configPath}` : \"\"));\n\t\telse logger.info(\"Providers wired\", wiring);\n\t\treturn config;\n\t}\n\treturn {\n\t\tresolve,\n\t\ttenancy: () => resolve().tenancy ?? \"single\",\n\t\tbranding: () => {\n\t\t\tconst brand = resolve().branding ?? {};\n\t\t\tconst name = brand.name?.trim() || \"Selva\";\n\t\t\treturn {\n\t\t\t\tname,\n\t\t\t\tcopyrightName: brand.copyrightName?.trim() || name,\n\t\t\t\ttagline: brand.tagline?.trim() || \"Turn Grasshopper definitions into tools anyone can use.\",\n\t\t\t\tdescription: brand.description?.trim() || `Build and deploy interactive web applications powered by Grasshopper definitions with ${name}.`\n\t\t\t};\n\t\t},\n\t\tflag: (name) => isFlagEnabled(resolve(), name),\n\t\tsolveMetricSink: () => {\n\t\t\tif (!solveMetricSink) solveMetricSink = resolve().solveMetrics ?? new NoopSolveMetricSink();\n\t\t\treturn solveMetricSink;\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/local/src/auth/hmac.ts\nvar DEFAULT_MAX_AGE_MS = 288e5;\n/**\n* Token format: base64url(userId + ':' + expiry) + '.' + hmac(payload)\n*\n* The userId is embedded so verifyToken can look up the live user record\n* (and therefore always reflect the current permissions, not stale ones\n* baked into the token at login time).\n*/\nfunction signHmacToken(secret, userId, maxAgeMs = DEFAULT_MAX_AGE_MS) {\n\tconst expiry = Date.now() + maxAgeMs;\n\tconst payload = Buffer.from(`${userId}:${expiry}`).toString(\"base64url\");\n\treturn `${payload}.${createHmac(\"sha256\", secret).update(payload).digest(\"base64url\")}`;\n}\n/**\n* Verify an HMAC token. Returns the userId if valid and unexpired, or\n* { valid: false } if the signature is wrong or the token has expired.\n*/\nfunction verifyHmacToken(token, secret) {\n\tconst dot = token.lastIndexOf(\".\");\n\tif (dot === -1) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\tconst payload = token.slice(0, dot);\n\tconst sig = token.slice(dot + 1);\n\tconst expectedSig = createHmac(\"sha256\", secret).update(payload).digest(\"base64url\");\n\tconst a = Buffer.from(sig);\n\tconst b = Buffer.from(expectedSig);\n\tif (a.length !== b.length || !timingSafeEqual(a, b)) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\tconst decoded = Buffer.from(payload, \"base64url\").toString();\n\tconst colon = decoded.lastIndexOf(\":\");\n\tif (colon === -1) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\tconst userId = decoded.slice(0, colon);\n\tconst expiry = parseInt(decoded.slice(colon + 1), 10);\n\tif (!Number.isFinite(expiry) || Date.now() >= expiry) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\treturn {\n\t\tuserId,\n\t\tvalid: true\n\t};\n}\n//#endregion\n//#region ../providers/local/src/data/fsJson.ts\n/** Returns `fallback` if the file doesn't exist. Other errors propagate. */\nasync function readJsonFile(filePath, fallback) {\n\ttry {\n\t\tconst raw = await fs.readFile(filePath, \"utf-8\");\n\t\treturn JSON.parse(raw);\n\t} catch (err) {\n\t\tif (err.code === \"ENOENT\") return fallback;\n\t\tthrow err;\n\t}\n}\n/**\n* Writes to a sibling temp file, then renames into place, so a crash mid-write\n* can't corrupt the target. The temp name is random per call — a fixed `.tmp`\n* name broke concurrent writers: the first rename moved the shared temp away,\n* and every other writer then failed with ENOENT renaming a file that no\n* longer existed. With a random name each writer renames its own file; last\n* rename wins, same as the last-write-wins the read-modify-write callers\n* already have.\n*/\nasync function writeJsonFile(filePath, data) {\n\tawait fs.mkdir(path.dirname(filePath), { recursive: true });\n\tconst tmp = `${filePath}.${randomUUID()}.tmp`;\n\ttry {\n\t\tawait fs.writeFile(tmp, JSON.stringify(data, null, \"\t\"), \"utf-8\");\n\t\tawait fs.rename(tmp, filePath);\n\t} catch (err) {\n\t\tawait fs.rm(tmp, { force: true }).catch(() => {});\n\t\tthrow err;\n\t}\n}\n//#endregion\n//#region ../providers/local/src/auth/users.ts\n/** Debounce window for lastLoginAt writes — skip if prior stamp is newer than this. */\nvar LAST_LOGIN_DEBOUNCE_MS$1 = 6e4;\nvar PBKDF2_ITERATIONS = 1e5;\nvar PBKDF2_KEYLEN = 32;\nvar PBKDF2_DIGEST = \"sha256\";\nasync function hashPassword(password) {\n\tconst salt = crypto.randomBytes(16).toString(\"base64url\");\n\treturn `pbkdf2:${PBKDF2_DIGEST}:${PBKDF2_ITERATIONS}:${salt}:${(await new Promise((resolve, reject) => crypto.pbkdf2(password, salt, PBKDF2_ITERATIONS, PBKDF2_KEYLEN, PBKDF2_DIGEST, (err, key) => err ? reject(err) : resolve(key)))).toString(\"base64url\")}`;\n}\nasync function verifyPasswordHash(password, storedHash) {\n\tconst parts = storedHash.split(\":\");\n\tif (parts.length !== 5 || parts[0] !== \"pbkdf2\") return false;\n\tconst [, digest, iterStr, salt, expectedHashB64] = parts;\n\tconst iterations = parseInt(iterStr, 10);\n\tif (!Number.isFinite(iterations) || iterations <= 0) return false;\n\tconst expected = Buffer.from(expectedHashB64, \"base64url\");\n\tconst actual = await new Promise((resolve, reject) => crypto.pbkdf2(password, salt, iterations, PBKDF2_KEYLEN, digest, (err, key) => err ? reject(err) : resolve(key)));\n\tif (actual.length !== expected.length) return false;\n\treturn crypto.timingSafeEqual(actual, expected);\n}\nvar empty$7 = () => ({ users: [] });\nfunction createLocalAuthUserStore(usersFilePath) {\n\tlet cache = null;\n\tlet loading = null;\n\tasync function load() {\n\t\tif (cache) return cache;\n\t\tloading ??= readJsonFile(usersFilePath, empty$7()).then((data) => {\n\t\t\tcache = data;\n\t\t\tloading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn loading;\n\t}\n\tasync function persist(file) {\n\t\tcache = file;\n\t\tawait writeJsonFile(usersFilePath, file);\n\t}\n\treturn {\n\t\tasync findByEmail(email) {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.find((u) => u.email.toLowerCase() === email.toLowerCase()) ?? null;\n\t\t},\n\t\tasync findById(id) {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.find((u) => u.id === id) ?? null;\n\t\t},\n\t\tasync listUsers() {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.map(({ passwordHash: _ph, ...rest }) => rest);\n\t\t},\n\t\tasync createUser(email, password) {\n\t\t\tconst file = await load();\n\t\t\tif (file.users.some((u) => u.email.toLowerCase() === email.toLowerCase())) throw new ProviderError(`User with email \"${email}\" already exists`, 409);\n\t\t\tconst user = {\n\t\t\t\tid: randomUUID(),\n\t\t\t\temail,\n\t\t\t\tpasswordHash: password !== null ? await hashPassword(password) : null,\n\t\t\t\tcreatedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t\t\t};\n\t\t\tfile.users.push(user);\n\t\t\tawait persist(file);\n\t\t\treturn user;\n\t\t},\n\t\tasync setDisabled(id, disabled) {\n\t\t\tconst file = await load();\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tuser.disabled = disabled;\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync touchLastLogin(id) {\n\t\t\tconst file = await load();\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) return;\n\t\t\tconst now = Date.now();\n\t\t\tif (user.lastLoginAt) {\n\t\t\t\tconst prev = Date.parse(user.lastLoginAt);\n\t\t\t\tif (Number.isFinite(prev) && now - prev < LAST_LOGIN_DEBOUNCE_MS$1) return;\n\t\t\t}\n\t\t\tuser.lastLoginAt = new Date(now).toISOString();\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync deleteUser(id) {\n\t\t\tconst file = await load();\n\t\t\tconst before = file.users.length;\n\t\t\tfile.users = file.users.filter((u) => u.id !== id);\n\t\t\tif (file.users.length === before) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tawait persist(file);\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/local/src/data/pagination.ts\n/**\n* In-memory pagination for filesystem-backed adapters.\n* Cursor is an offset encoded as a string. Good enough for single-node local use.\n*/\nfunction paginate(items, opts) {\n\tconst limit = Math.min(Math.max(1, opts?.limit ?? 50), 200);\n\tconst offset = Math.max(0, opts?.cursor ? parseInt(opts.cursor, 10) || 0 : 0);\n\tconst slice = items.slice(offset, offset + limit);\n\tconst nextOffset = offset + slice.length;\n\treturn {\n\t\titems: slice,\n\t\tnextCursor: nextOffset < items.length ? String(nextOffset) : void 0\n\t};\n}\n/**\n* Sort a list in place per ListOptions. Mutates the input.\n* Pass `keyFn` to customize how the comparison value is derived (e.g. nested\n* fields, case-folded strings).\n*/\nfunction applyOrder(items, opts, keyFn = (item, field) => item[field]) {\n\tconst field = opts?.orderBy ?? \"createdAt\";\n\tconst mul = (opts?.orderDir ?? \"desc\") === \"asc\" ? 1 : -1;\n\titems.sort((a, b) => {\n\t\tconst av = keyFn(a, field) ?? \"\";\n\t\tconst bv = keyFn(b, field) ?? \"\";\n\t\tif (av < bv) return -1 * mul;\n\t\tif (av > bv) return 1 * mul;\n\t\treturn 0;\n\t});\n\treturn items;\n}\n//#endregion\n//#region ../providers/local/src/auth/LocalAuthProvider.ts\nvar SESSION_MAX_AGE_MS = 288e5;\nvar MIN_HMAC_SECRET_LENGTH = 32;\nfunction toAuthUser$1(u) {\n\treturn {\n\t\tid: u.id,\n\t\temail: u.email,\n\t\tcreatedAt: u.createdAt,\n\t\tlastLoginAt: u.lastLoginAt,\n\t\tdisabled: u.disabled\n\t};\n}\nvar LocalPasswordAuth = class {\n\tusers;\n\tmintToken;\n\tconstructor(users, mintToken) {\n\t\tthis.users = users;\n\t\tthis.mintToken = mintToken;\n\t}\n\tasync verifyLogin(email, password) {\n\t\tif (!this.users) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\tconst user = await this.users.findByEmail(email);\n\t\tif (!user) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\tif (user.disabled) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"disabled\"\n\t\t};\n\t\tif (!user.passwordHash || !await verifyPasswordHash(password, user.passwordHash)) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\tawait this.users.touchLastLogin(user.id).catch(() => {});\n\t\tconst auth = toAuthUser$1(user);\n\t\treturn {\n\t\t\tkind: \"success\",\n\t\t\tuser: auth,\n\t\t\tsessionToken: this.mintToken(auth)\n\t\t};\n\t}\n\tasync createUserWithPassword(email, password) {\n\t\tif (!this.users) throw new ProviderError(\"createUserWithPassword requires a users.json backend (DATA_PATH)\", 500);\n\t\treturn toAuthUser$1(await this.users.createUser(email, password));\n\t}\n\tasync registerUser(email, password) {\n\t\tif (!this.users) return null;\n\t\treturn toAuthUser$1(await this.users.createUser(email, password));\n\t}\n};\nvar LocalAuthProvider = class LocalAuthProvider {\n\thmacSecret;\n\tusers;\n\tname = \"Local\";\n\tpasswordAuth;\n\tconstructor(config) {\n\t\tthis.hmacSecret = config.hmacSecret;\n\t\tif (config.usersFilePath) this.users = createLocalAuthUserStore(config.usersFilePath);\n\t\tthis.passwordAuth = new LocalPasswordAuth(this.users, (user) => signHmacToken(this.hmacSecret, user.id, SESSION_MAX_AGE_MS));\n\t}\n\t/**\n\t* The underlying identity store, or undefined in stateless (no-DATA_PATH)\n\t* mode. Exposed so callers needing direct seed/read access (tests, advanced\n\t* wiring) share this provider's store — and its cache — instead of\n\t* constructing a second store on the same file, which would diverge from it.\n\t*/\n\tget userStore() {\n\t\treturn this.users;\n\t}\n\tstatic fromEnv(env) {\n\t\tconst hmacSecret = env.SELVA_HMAC_KEY;\n\t\tif (!hmacSecret) throw new Error(\"Missing required env var: SELVA_HMAC_KEY\");\n\t\tif (hmacSecret.length < MIN_HMAC_SECRET_LENGTH) throw new Error(`SELVA_HMAC_KEY must be at least ${MIN_HMAC_SECRET_LENGTH} characters (got ${hmacSecret.length}). Generate one with: openssl rand -base64 32`);\n\t\treturn new LocalAuthProvider({\n\t\t\thmacSecret,\n\t\t\tusersFilePath: env.DATA_PATH ? path.join(env.DATA_PATH, \"auth-users.json\") : void 0\n\t\t});\n\t}\n\t/**\n\t* Runs on every authenticated request, so it stays read-only: one cached\n\t* `findById`, no writes. `lastLoginAt` is stamped at login time in\n\t* `verifyLogin`, not here — the only consumers treat it as a\n\t* has-ever-signed-in flag (invited vs. active in admin/team lists), not a\n\t* per-request activity clock, so a write on every request would cost a\n\t* full file read+parse just to usually decide not to write.\n\t*/\n\tasync verifyToken(token) {\n\t\tconst { valid, userId } = verifyHmacToken(token, this.hmacSecret);\n\t\tif (!valid) return null;\n\t\tif (!this.users) return null;\n\t\tconst u = await this.users.findById(userId);\n\t\tif (!u || u.disabled) return null;\n\t\treturn toAuthUser$1(u);\n\t}\n\tasync touchLastLogin(id) {\n\t\tif (!this.users) return;\n\t\tawait this.users.touchLastLogin(id);\n\t}\n\tasync getUser(id) {\n\t\tif (!this.users) return null;\n\t\tconst u = await this.users.findById(id);\n\t\treturn u ? toAuthUser$1(u) : null;\n\t}\n\tasync listUsers(opts) {\n\t\tif (!this.users) return null;\n\t\treturn paginate((await this.users.listUsers()).map(toAuthUser$1), opts);\n\t}\n\tasync deleteUser(id) {\n\t\tif (!this.users) return \"not_supported\";\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.deleteUser(id);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync disableUser(id) {\n\t\tif (!this.users) return \"not_supported\";\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.setDisabled(id, true);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalInviteStore.ts\nvar empty$6 = () => ({ invites: [] });\n/**\n* No per-call scoping by ctx.userId — the route layer gates admin actions.\n* `getByTokenHash` is the sole unauthenticated read; it hides expired and\n* already-accepted invites so a reused link surfaces a clean error.\n*/\nvar LocalInviteStore = class LocalInviteStore {\n\tevents;\n\tfilePath;\n\tstatic fromEnv(env, events = new NoopEventSink()) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalInviteStore(env.DATA_PATH, events);\n\t}\n\tconstructor(dataPath, events = new NoopEventSink()) {\n\t\tthis.events = events;\n\t\tthis.filePath = path.join(dataPath, \"invites.json\");\n\t}\n\tasync load() {\n\t\treturn readJsonFile(this.filePath, empty$6());\n\t}\n\tasync save(file) {\n\t\tawait writeJsonFile(this.filePath, file);\n\t}\n\tasync create(ctx, invite) {\n\t\tconst file = await this.load();\n\t\tfile.invites.push(invite);\n\t\tawait this.save(file);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.created\",\n\t\t\tinviteId: invite.id,\n\t\t\torgId: invite.orgId,\n\t\t\temail: invite.email,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync getByTokenHash(_ctx, tokenHash) {\n\t\tconst { invites } = await this.load();\n\t\tconst invite = invites.find((i) => i.tokenHash === tokenHash);\n\t\tif (!invite) return null;\n\t\tif (invite.acceptedAt) return null;\n\t\tif (Date.parse(invite.expiresAt) <= Date.now()) return null;\n\t\treturn invite;\n\t}\n\tasync listByOrg(_ctx, orgId, opts) {\n\t\tconst { invites } = await this.load();\n\t\treturn paginate(applyOrder(invites.filter((i) => i.orgId === orgId), opts), opts);\n\t}\n\tasync markAccepted(ctx, id, userId) {\n\t\tconst file = await this.load();\n\t\tconst invite = file.invites.find((i) => i.id === id);\n\t\tif (!invite || invite.acceptedAt) return;\n\t\tinvite.acceptedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tinvite.acceptedByUserId = userId;\n\t\tawait this.save(file);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.accepted\",\n\t\t\tinviteId: invite.id,\n\t\t\torgId: invite.orgId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst file = await this.load();\n\t\tconst target = file.invites.find((i) => i.id === id && !i.acceptedAt);\n\t\tif (!target) return;\n\t\tfile.invites = file.invites.filter((i) => i.id !== id || i.acceptedAt);\n\t\tawait this.save(file);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.revoked\",\n\t\t\tinviteId: id,\n\t\t\torgId: target.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByOrg(_ctx, orgId) {\n\t\tconst file = await this.load();\n\t\tconst before = file.invites.length;\n\t\tfile.invites = file.invites.filter((i) => i.orgId !== orgId);\n\t\tif (file.invites.length === before) return;\n\t\tawait this.save(file);\n\t}\n};\n//#endregion\n//#region ../platform/src/computeServer/secrets.ts\nvar ALGO = \"aes-256-gcm\";\nvar IV_BYTES = 12;\nvar PREFIX = \"enc:v1:\";\n/**\n* AES-256-GCM envelope for at-rest secrets (e.g. compute API keys).\n*\n* Wire format: `enc:v1:<base64(iv|tag|ciphertext)>`. The version prefix lets\n* a future migration to a new algorithm tell old and new envelopes apart.\n*\n* Defends against backup leaks, accidental file/DB sharing, and read-only\n* storage access — not against an attacker who also has the master key\n* (`SELVA_AT_REST_KEY` env var, process memory). This is encryption at rest,\n* not a secret manager.\n*\n* Pure `node:crypto`, no fs or DB coupling, so the local and Supabase\n* compute-server stores share this one implementation.\n*/\nfunction isEncryptedSecret(value) {\n\treturn value.startsWith(PREFIX);\n}\nfunction encryptSecret(plaintext, key) {\n\tif (key.length !== 32) throw new Error(`Secret key must be 32 bytes; got ${key.length}`);\n\tif (isEncryptedSecret(plaintext)) throw new Error(\"Refusing to encrypt a value that is already encrypted\");\n\tconst iv = randomBytes(IV_BYTES);\n\tconst cipher = createCipheriv(ALGO, key, iv);\n\tconst ciphertext = Buffer.concat([cipher.update(plaintext, \"utf8\"), cipher.final()]);\n\tconst tag = cipher.getAuthTag();\n\treturn PREFIX + Buffer.concat([\n\t\tiv,\n\t\ttag,\n\t\tciphertext\n\t]).toString(\"base64\");\n}\nfunction decryptSecret(envelope, key) {\n\tif (key.length !== 32) throw new Error(`Secret key must be 32 bytes; got ${key.length}`);\n\tif (!isEncryptedSecret(envelope)) throw new Error(\"Value is not an encrypted secret envelope\");\n\tconst buf = Buffer.from(envelope.slice(7), \"base64\");\n\tconst iv = buf.subarray(0, IV_BYTES);\n\tconst tag = buf.subarray(IV_BYTES, 28);\n\tconst ciphertext = buf.subarray(28);\n\tconst decipher = createDecipheriv(ALGO, key, iv);\n\tdecipher.setAuthTag(tag);\n\treturn Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString(\"utf8\");\n}\n/**\n* Decodes a `SELVA_AT_REST_KEY` env var into a 32-byte buffer (64-char hex or\n* base64, with or without padding). Throws on anything else so a\n* misconfigured key fails loudly at boot instead of silently producing\n* ciphertext nothing can decrypt.\n*/\nfunction decodeSecretKey(raw) {\n\tif (/^[0-9a-fA-F]{64}$/.test(raw)) return Buffer.from(raw, \"hex\");\n\tconst buf = Buffer.from(raw, \"base64\");\n\tif (buf.length === 32) return buf;\n\tthrow new Error(\"SELVA_AT_REST_KEY must be 32 bytes encoded as 64-char hex or base64. Generate one with: node -e \\\"console.log(require('crypto').randomBytes(32).toString('hex'))\\\"\");\n}\n//#endregion\n//#region ../providers/local/src/data/LocalComputeServerStore.ts\nvar empty$5 = () => ({\n\tservers: [],\n\torgDefaults: {}\n});\n/**\n* Reads/writes compute.config.json, re-read on every call so edits take\n* effect without a restart. Mutation methods are scope-targeted\n* (`savePlatformServers`, `saveOrgServers`, `setOrgDefault`) — each leaves\n* rows in the other scopes untouched.\n*/\nvar LocalComputeServerStore = class LocalComputeServerStore {\n\tconfigFilePath;\n\tsecretKey;\n\tstatic fromEnv(env, logger) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\tif (!env.SELVA_AT_REST_KEY) throw new Error(\"Missing required env var: SELVA_AT_REST_KEY (32-byte hex or base64). Generate one with: node -e \\\"console.log(require('crypto').randomBytes(32).toString('hex'))\\\"\");\n\t\treturn new LocalComputeServerStore(path.join(env.DATA_PATH, \"compute.config.json\"), decodeSecretKey(env.SELVA_AT_REST_KEY), logger);\n\t}\n\tlogger;\n\tconstructor(configFilePath, secretKey, logger) {\n\t\tthis.configFilePath = configFilePath;\n\t\tthis.secretKey = secretKey;\n\t\tthis.logger = logger ?? new NoopLogger();\n\t}\n\tasync readAll() {\n\t\tconst raw = await readJsonFile(this.configFilePath, empty$5());\n\t\treturn {\n\t\t\tservers: raw.servers ?? [],\n\t\t\tdefaultServerId: raw.defaultServerId,\n\t\t\torgDefaults: raw.orgDefaults ?? {}\n\t\t};\n\t}\n\t/**\n\t* Tolerant per-row decrypt: a row that fails to authenticate under the\n\t* current `SELVA_AT_REST_KEY` comes back with `apiKey: undefined` and a\n\t* logged warning, rather than failing the whole read — the page keeps\n\t* rendering, and a solve against that server fails later when\n\t* Rhino.Compute rejects the missing key. `verifySecrets()` is the strict\n\t* counterpart for boot time.\n\t*\n\t* Plaintext-on-disk still hard-fails: the store never writes plaintext\n\t* (every write goes through `encryptApiKeys`), so seeing it means someone\n\t* hand-edited the file with a real secret exposed — surface that loudly.\n\t*/\n\tdecryptApiKeys(servers) {\n\t\treturn servers.map((s) => {\n\t\t\tif (!s.apiKey) return s;\n\t\t\tif (!isEncryptedSecret(s.apiKey)) throw new Error(`compute.config.json contains an unencrypted apiKey for server \"${s.label}\" (${s.id}). Re-enter the key via /admin/compute so it is stored encrypted.`);\n\t\t\ttry {\n\t\t\t\treturn {\n\t\t\t\t\t...s,\n\t\t\t\t\tapiKey: decryptSecret(s.apiKey, this.secretKey)\n\t\t\t\t};\n\t\t\t} catch (cause) {\n\t\t\t\tthis.logger.warn(\"Could not decrypt apiKey: the stored ciphertext does not match the current SELVA_AT_REST_KEY. This server is returned without an apiKey and solves against it will fail. Re-enter the key via /admin/compute, or restore the original SELVA_AT_REST_KEY.\", {\n\t\t\t\t\tcomponent: \"selva\",\n\t\t\t\t\tserverLabel: s.label,\n\t\t\t\t\tserverId: s.id,\n\t\t\t\t\terr: cause instanceof Error ? cause.stack ?? cause.message : String(cause)\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\t...s,\n\t\t\t\t\tapiKey: void 0\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Boot-time integrity check: attempts to decrypt every server's `apiKey`\n\t* and returns a report instead of throwing — the caller decides what to do\n\t* (refuse boot, log and degrade, etc). Call from `hooks.server.ts` so a key\n\t* mismatch fails loudly at deploy time, not as a blank page when a user\n\t* first hits a route that loads compute config.\n\t*/\n\tasync verifySecrets() {\n\t\tconst all = await this.readAll();\n\t\tconst failures = [];\n\t\tlet plaintextFound = false;\n\t\tfor (const s of all.servers) {\n\t\t\tif (!s.apiKey) continue;\n\t\t\tif (!isEncryptedSecret(s.apiKey)) {\n\t\t\t\tplaintextFound = true;\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: s.id,\n\t\t\t\t\tserverLabel: s.label,\n\t\t\t\t\treason: \"plaintext_on_disk\"\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tdecryptSecret(s.apiKey, this.secretKey);\n\t\t\t} catch (cause) {\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: s.id,\n\t\t\t\t\tserverLabel: s.label,\n\t\t\t\t\treason: \"key_mismatch\",\n\t\t\t\t\tcause: cause instanceof Error ? cause.message : String(cause)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tok: failures.length === 0,\n\t\t\tfailures,\n\t\t\tplaintextFound\n\t\t};\n\t}\n\tencryptApiKeys(servers) {\n\t\treturn servers.map((s) => {\n\t\t\tif (!s.apiKey) return s;\n\t\t\tif (isEncryptedSecret(s.apiKey)) return s;\n\t\t\treturn {\n\t\t\t\t...s,\n\t\t\t\tapiKey: encryptSecret(s.apiKey, this.secretKey)\n\t\t\t};\n\t\t});\n\t}\n\tasync getConfig(_ctx, opts = {}) {\n\t\tconst all = await this.readAll();\n\t\treturn {\n\t\t\tservers: (opts.includeApiKeys ? this.decryptApiKeys(all.servers) : all.servers.map((s) => ({\n\t\t\t\t...s,\n\t\t\t\tapiKey: void 0\n\t\t\t}))).map((s, i) => ({\n\t\t\t\t...s,\n\t\t\t\thasApiKey: !!all.servers[i].apiKey\n\t\t\t})),\n\t\t\tdefaultServerId: all.defaultServerId,\n\t\t\torgDefaults: all.orgDefaults\n\t\t};\n\t}\n\t/**\n\t* One server's decrypted key. The local store reads the whole file anyway, so\n\t* this exists for interface parity with Supabase (where it saves a table scan\n\t* plus N decrypts) — and it still avoids decrypting the other servers' keys.\n\t*/\n\tasync getServerApiKey(_ctx, serverId) {\n\t\tconst server = (await this.readAll()).servers.find((s) => s.id === serverId);\n\t\tif (!server?.apiKey) return void 0;\n\t\treturn this.decryptApiKeys([server])[0].apiKey;\n\t}\n\tasync savePlatformServers(_ctx, servers, defaultServerId) {\n\t\tconst all = await this.readAll();\n\t\tconst orgRows = all.servers.filter(isOrgServer);\n\t\tconst platformRows = this.encryptApiKeys(servers.filter(isPlatformServer));\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\tservers: [...platformRows, ...orgRows],\n\t\t\tdefaultServerId,\n\t\t\torgDefaults: all.orgDefaults\n\t\t});\n\t}\n\tasync saveOrgServers(_ctx, orgId, servers, defaultServerId) {\n\t\tconst all = await this.readAll();\n\t\tconst platformRows = all.servers.filter(isPlatformServer);\n\t\tconst otherOrgRows = all.servers.filter((s) => isOrgServer(s) && s.ownerOrgId !== orgId);\n\t\tconst thisOrgRows = this.encryptApiKeys(servers.filter((_s) => true).map((s) => isOrgServer(s) ? {\n\t\t\t...s,\n\t\t\townerOrgId: orgId\n\t\t} : {\n\t\t\t...s,\n\t\t\tscope: \"org\",\n\t\t\townerOrgId: orgId\n\t\t}));\n\t\tconst orgDefaults = { ...all.orgDefaults ?? {} };\n\t\tif (defaultServerId === null) delete orgDefaults[orgId];\n\t\telse if (typeof defaultServerId === \"string\") orgDefaults[orgId] = defaultServerId;\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\tservers: [\n\t\t\t\t...platformRows,\n\t\t\t\t...otherOrgRows,\n\t\t\t\t...thisOrgRows\n\t\t\t],\n\t\t\tdefaultServerId: all.defaultServerId,\n\t\t\torgDefaults\n\t\t});\n\t}\n\tasync setOrgDefault(_ctx, orgId, serverId) {\n\t\tconst all = await this.readAll();\n\t\tconst orgDefaults = { ...all.orgDefaults ?? {} };\n\t\tif (serverId === null) delete orgDefaults[orgId];\n\t\telse orgDefaults[orgId] = serverId;\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\t...all,\n\t\t\torgDefaults\n\t\t});\n\t}\n\tasync deleteByOrg(_ctx, orgId) {\n\t\tconst all = await this.readAll();\n\t\tconst cleaned = all.servers.filter((s) => !(isOrgServer(s) && s.ownerOrgId === orgId)).map((s) => {\n\t\t\tif (!isPlatformServer(s)) return s;\n\t\t\tif (s.sharedWith === \"all\") return s;\n\t\t\tif (!s.sharedWith.includes(orgId)) return s;\n\t\t\treturn {\n\t\t\t\t...s,\n\t\t\t\tsharedWith: s.sharedWith.filter((id) => id !== orgId)\n\t\t\t};\n\t\t});\n\t\tconst orgDefaults = { ...all.orgDefaults ?? {} };\n\t\tconst hadDefault = orgId in orgDefaults;\n\t\tdelete orgDefaults[orgId];\n\t\tif (!(cleaned.length !== all.servers.length || hadDefault || cleaned.some((c, i) => c !== all.servers[i]))) return;\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\tservers: cleaned,\n\t\t\tdefaultServerId: all.defaultServerId,\n\t\t\torgDefaults\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalPlatformProjectGrantStore.ts\nvar empty$4 = () => ({ grants: [] });\nvar LocalPlatformProjectGrantStore = class LocalPlatformProjectGrantStore {\n\tfilePath;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalPlatformProjectGrantStore(path.join(env.DATA_PATH, \"platform-project-grants.json\"));\n\t}\n\tconstructor(filePath) {\n\t\tthis.filePath = filePath;\n\t}\n\tasync read() {\n\t\treturn readJsonFile(this.filePath, empty$4());\n\t}\n\tasync write(data) {\n\t\tawait writeJsonFile(this.filePath, data);\n\t}\n\tasync listByProject(_ctx, projectId) {\n\t\tconst { grants } = await this.read();\n\t\treturn grants.filter((g) => g.projectId === projectId);\n\t}\n\tasync listByProjects(_ctx, projectIds) {\n\t\tconst { grants } = await this.read();\n\t\tconst result = new Map(projectIds.map((id) => [id, []]));\n\t\tfor (const g of grants) result.get(g.projectId)?.push(g);\n\t\treturn result;\n\t}\n\tasync create(_ctx, grant) {\n\t\tconst data = await this.read();\n\t\tif (data.grants.some((g) => g.id === grant.id)) throw new ProviderError(`Grant '${grant.id}' already exists`, 409);\n\t\tif (data.grants.find((g) => g.projectId === grant.projectId && g.granteeType === grant.granteeType && g.granteeId === grant.granteeId)) throw new ProviderError(`A grant for this ${grant.granteeType} already exists on this project`, 409);\n\t\tdata.grants.push(grant);\n\t\tawait this.write(data);\n\t}\n\tasync delete(_ctx, id) {\n\t\tconst data = await this.read();\n\t\tconst idx = data.grants.findIndex((g) => g.id === id);\n\t\tif (idx === -1) throw new ProviderError(`Grant '${id}' not found`, 404);\n\t\tdata.grants.splice(idx, 1);\n\t\tawait this.write(data);\n\t}\n\tasync deleteByProject(_ctx, projectId) {\n\t\tconst data = await this.read();\n\t\tconst before = data.grants.length;\n\t\tdata.grants = data.grants.filter((g) => g.projectId !== projectId);\n\t\tif (data.grants.length !== before) await this.write(data);\n\t}\n\tasync deleteByGranteeOrg(_ctx, orgId) {\n\t\tconst data = await this.read();\n\t\tconst before = data.grants.length;\n\t\tdata.grants = data.grants.filter((g) => !(g.granteeType === \"org\" && g.granteeId === orgId));\n\t\tif (data.grants.length !== before) await this.write(data);\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalOrgStore.ts\n/** Data-access-layer filter: row is live (not soft-deleted). */\nfunction isLive$1(row) {\n\treturn row.deletedAt == null;\n}\n/**\n* Shared by LocalOrgStore and LocalProjectStore — one instance so all\n* reads/writes go through one cache and one atomic write path.\n*\n* Concurrent first-callers share a single in-flight read promise, so they\n* end up with the same cached object reference; `writeJsonFile`'s\n* temp+rename keeps the on-disk view atomic.\n*/\nvar LocalOrgStoreLoader = class {\n\tstorePath;\n\tstore = null;\n\tloading = null;\n\tconstructor(dataPath) {\n\t\tthis.storePath = path.join(dataPath, \"local-org.json\");\n\t}\n\tasync get() {\n\t\tif (this.store) return this.store;\n\t\tthis.loading ??= readJsonFile(this.storePath, {\n\t\t\torgs: [],\n\t\t\tprojects: [],\n\t\t\torgMembers: [],\n\t\t\tprojectMembers: []\n\t\t}).then((data) => {\n\t\t\tthis.store = data;\n\t\t\tthis.loading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn this.loading;\n\t}\n\tasync write(store) {\n\t\tthis.store = store;\n\t\tawait writeJsonFile(this.storePath, store);\n\t}\n};\nvar LocalOrgStore = class LocalOrgStore {\n\tloader;\n\tevents;\n\tinvites;\n\tcomputeServer;\n\tgrants;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalOrgStore({\n\t\t\tloader: new LocalOrgStoreLoader(env.DATA_PATH),\n\t\t\tinvites: LocalInviteStore.fromEnv(env),\n\t\t\tcomputeServer: LocalComputeServerStore.fromEnv(env),\n\t\t\tgrants: LocalPlatformProjectGrantStore.fromEnv(env)\n\t\t});\n\t}\n\tconstructor(opts) {\n\t\tthis.loader = opts.loader;\n\t\tthis.invites = opts.invites;\n\t\tthis.computeServer = opts.computeServer;\n\t\tthis.grants = opts.grants;\n\t\tthis.events = opts.events ?? new NoopEventSink();\n\t}\n\tasync listOrgs(_ctx, opts) {\n\t\tconst { orgs } = await this.loader.get();\n\t\treturn paginate(applyOrder(orgs.filter(isLive$1), opts), opts);\n\t}\n\tasync getOrg(_ctx, id) {\n\t\tconst { orgs } = await this.loader.get();\n\t\tconst o = orgs.find((o) => o.id === id);\n\t\treturn o && isLive$1(o) ? o : null;\n\t}\n\tasync getOrgBySlug(_ctx, slug) {\n\t\tconst { orgs } = await this.loader.get();\n\t\tconst o = orgs.find((o) => o.slug === slug);\n\t\treturn o && isLive$1(o) ? o : null;\n\t}\n\tasync createOrg(ctx, org) {\n\t\tconst store = await this.loader.get();\n\t\tif (store.orgs.some((o) => o.id === org.id && isLive$1(o))) throw new ProviderError(`Org '${org.id}' already exists`, 409);\n\t\tif (store.orgs.some((o) => o.slug === org.slug && isLive$1(o))) throw new ProviderError(`Org slug '${org.slug}' already in use`, 409);\n\t\tstore.orgs.push({\n\t\t\t...org,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tstore.orgMembers.push({\n\t\t\torgId: org.id,\n\t\t\tuserId: org.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tpermissions: [...DEFAULT_ORG_PERMISSIONS.owner],\n\t\t\tjoinedAt: now,\n\t\t\t...auditUpdate(ctx, org.ownerId),\n\t\t\tdeletedAt: null\n\t\t});\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.created\",\n\t\t\torgId: org.id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrg(ctx, id, patch) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.orgs.findIndex((o) => o.id === id && isLive$1(o));\n\t\tif (idx === -1) throw new ProviderError(`Org '${id}' not found`, 404);\n\t\tif (patch.slug && patch.slug !== store.orgs[idx].slug) {\n\t\t\tif (store.orgs.some((o) => o.id !== id && o.slug === patch.slug && isLive$1(o))) throw new ProviderError(`Org slug '${patch.slug}' already in use`, 409);\n\t\t}\n\t\tstore.orgs[idx] = {\n\t\t\t...store.orgs[idx],\n\t\t\t...patch,\n\t\t\t...auditUpdate(ctx, store.orgs[idx].updatedBy ?? store.orgs[idx].ownerId)\n\t\t};\n\t\tawait this.loader.write(store);\n\t}\n\tasync deleteOrg(ctx, id) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.orgs.findIndex((o) => o.id === id && isLive$1(o));\n\t\tif (idx === -1) throw new ProviderError(`Org '${id}' not found`, 404);\n\t\tconst stamp = auditSoftDelete(ctx, store.orgs[idx].updatedBy ?? store.orgs[idx].ownerId);\n\t\tstore.orgs[idx] = {\n\t\t\t...store.orgs[idx],\n\t\t\t...stamp\n\t\t};\n\t\tstore.orgMembers = store.orgMembers.map((m) => m.orgId === id && isLive$1(m) ? {\n\t\t\t...m,\n\t\t\t...stamp\n\t\t} : m);\n\t\tconst orgProjectIds = new Set(store.projects.filter((p) => p.orgId === id && isLive$1(p)).map((p) => p.id));\n\t\tstore.projects = store.projects.map((p) => p.orgId === id && isLive$1(p) ? {\n\t\t\t...p,\n\t\t\t...stamp\n\t\t} : p);\n\t\tstore.projectMembers = store.projectMembers.map((m) => orgProjectIds.has(m.projectId) && isLive$1(m) ? {\n\t\t\t...m,\n\t\t\t...stamp\n\t\t} : m);\n\t\tawait this.loader.write(store);\n\t\tawait this.invites.deleteByOrg(ctx, id);\n\t\tawait this.computeServer.deleteByOrg(ctx, id);\n\t\tfor (const projectId of orgProjectIds) await this.grants.deleteByProject(ctx, projectId);\n\t\tawait this.grants.deleteByGranteeOrg(ctx, id);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.deleted\",\n\t\t\torgId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listOrgMembers(_ctx, orgId, opts) {\n\t\tconst { orgMembers } = await this.loader.get();\n\t\treturn paginate(orgMembers.filter((m) => m.orgId === orgId && isLive$1(m)), opts);\n\t}\n\tasync getOrgMember(_ctx, orgId, userId) {\n\t\tconst { orgMembers } = await this.loader.get();\n\t\tconst m = orgMembers.find((m) => m.orgId === orgId && m.userId === userId);\n\t\treturn m && isLive$1(m) ? m : null;\n\t}\n\tasync getOrgMembersFor(_ctx, orgIds, userId) {\n\t\tconst { orgMembers } = await this.loader.get();\n\t\tconst byOrgId = new Map(orgMembers.filter((m) => m.userId === userId && isLive$1(m)).map((m) => [m.orgId, m]));\n\t\treturn new Map(orgIds.map((id) => [id, byOrgId.get(id) ?? null]));\n\t}\n\tasync findUserMembership(_ctx, userId) {\n\t\tconst store = await this.loader.get();\n\t\tconst member = store.orgMembers.find((m) => m.userId === userId && isLive$1(m));\n\t\tif (!member) return null;\n\t\tconst org = store.orgs.find((o) => o.id === member.orgId);\n\t\tif (!org || !isLive$1(org)) return null;\n\t\treturn {\n\t\t\torg,\n\t\t\tmember\n\t\t};\n\t}\n\tasync addOrgMember(ctx, member) {\n\t\tconst store = await this.loader.get();\n\t\tconst existing = store.orgMembers.find((m) => m.orgId === member.orgId && m.userId === member.userId);\n\t\tif (existing) Object.assign(existing, member, {\n\t\t\t...auditUpdate(ctx, member.userId),\n\t\t\tdeletedAt: null\n\t\t});\n\t\telse store.orgMembers.push({\n\t\t\t...member,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.added\",\n\t\t\torgId: member.orgId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberRole(ctx, orgId, userId, role) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.orgMembers.find((m) => m.orgId === orgId && m.userId === userId && isLive$1(m));\n\t\tif (!m) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tm.role = role;\n\t\tm.permissions = [...DEFAULT_ORG_PERMISSIONS[role]];\n\t\tObject.assign(m, auditUpdate(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.role_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberPermissions(ctx, orgId, userId, permissions) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.orgMembers.find((m) => m.orgId === orgId && m.userId === userId && isLive$1(m));\n\t\tif (!m) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tm.permissions = [...permissions];\n\t\tObject.assign(m, auditUpdate(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.permissions_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tpermissions: [...permissions],\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeOrgMember(ctx, orgId, userId) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.orgMembers.find((m) => m.orgId === orgId && m.userId === userId && isLive$1(m));\n\t\tif (!m) return;\n\t\tconst stamp = auditSoftDelete(ctx, m.updatedBy);\n\t\tObject.assign(m, stamp);\n\t\tconst projectIdsInOrg = new Set(store.projects.filter((p) => p.orgId === orgId).map((p) => p.id));\n\t\tstore.projectMembers = store.projectMembers.map((pm) => pm.userId === userId && projectIdsInOrg.has(pm.projectId) && isLive$1(pm) ? {\n\t\t\t...pm,\n\t\t\t...stamp\n\t\t} : pm);\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.removed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalProjectStore.ts\n/** Data-access-layer filter — never let a soft-deleted row surface to callers. */\nfunction isLive(row) {\n\treturn row.deletedAt == null;\n}\nvar LocalProjectStore = class {\n\tloader;\n\tevents;\n\tgrants;\n\tdefinitions;\n\tconstructor(opts) {\n\t\tthis.loader = opts.loader;\n\t\tthis.grants = opts.grants;\n\t\tthis.events = opts.events ?? new NoopEventSink();\n\t}\n\t/**\n\t* Wires the definition store for the `deleteProject` cascade. A setter, not\n\t* a constructor param, because the composition root builds this store\n\t* before the definition store (whose `setProjectProvider` depends on this\n\t* one). Unwired, deleted projects keep leaking their definitions into the\n\t* library/public listings.\n\t*/\n\tsetDefinitionProvider(definitions) {\n\t\tthis.definitions = definitions;\n\t}\n\tasync listProjects(_ctx, orgId, opts) {\n\t\tconst { projects } = await this.loader.get();\n\t\treturn paginate(applyOrder(projects.filter((p) => p.orgId === orgId && isLive(p)), opts), opts);\n\t}\n\tasync getProject(_ctx, id) {\n\t\tconst { projects } = await this.loader.get();\n\t\tconst p = projects.find((p) => p.id === id);\n\t\treturn p && isLive(p) ? p : null;\n\t}\n\tasync getProjectBySlug(_ctx, orgId, slug) {\n\t\tconst { projects } = await this.loader.get();\n\t\tconst p = projects.find((p) => p.orgId === orgId && p.slug === slug);\n\t\treturn p && isLive(p) ? p : null;\n\t}\n\tasync createProject(ctx, project) {\n\t\tconst store = await this.loader.get();\n\t\tif (!store.orgs.some((o) => o.id === project.orgId && isLive(o))) throw new ProviderError(`Org '${project.orgId}' not found`, 404);\n\t\tif (store.projects.some((p) => p.id === project.id && isLive(p))) throw new ProviderError(`Project '${project.id}' already exists`, 409);\n\t\tconst nameKey = project.name.toLowerCase();\n\t\tif (store.projects.some((p) => p.orgId === project.orgId && isLive(p) && p.name.toLowerCase() === nameKey)) throw new ProviderError(\"projects_org_name_unique: project name already in use\", 409);\n\t\tif (store.projects.some((p) => p.orgId === project.orgId && isLive(p) && p.slug === project.slug)) throw new ProviderError(\"projects_org_id_slug_key: project slug already in use\", 409);\n\t\tstore.projects.push({\n\t\t\t...project,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tstore.projectMembers.push({\n\t\t\tprojectId: project.id,\n\t\t\tuserId: project.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tjoinedAt: project.createdAt,\n\t\t\tupdatedAt: project.createdAt,\n\t\t\tupdatedBy: project.ownerId,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProject(ctx, id, patch) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.projects.findIndex((p) => p.id === id && isLive(p));\n\t\tif (idx === -1) throw new ProviderError(`Project '${id}' not found`, 404);\n\t\tconst current = store.projects[idx];\n\t\tif (patch.name && patch.name.toLowerCase() !== current.name.toLowerCase()) {\n\t\t\tconst nameKey = patch.name.toLowerCase();\n\t\t\tif (store.projects.some((p) => p.orgId === current.orgId && p.id !== id && isLive(p) && p.name.toLowerCase() === nameKey)) throw new ProviderError(\"projects_org_name_unique: project name already in use\", 409);\n\t\t}\n\t\tif (patch.slug && patch.slug !== current.slug) {\n\t\t\tif (store.projects.some((p) => p.orgId === current.orgId && p.slug === patch.slug && p.id !== id && isLive(p))) throw new ProviderError(\"projects_org_id_slug_key: project slug already in use\", 409);\n\t\t}\n\t\tstore.projects[idx] = {\n\t\t\t...current,\n\t\t\t...patch,\n\t\t\t...auditUpdate(ctx, current.updatedBy ?? current.ownerId)\n\t\t};\n\t\tawait this.loader.write(store);\n\t}\n\tasync deleteProject(ctx, id) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.projects.findIndex((p) => p.id === id && isLive(p));\n\t\tif (idx === -1) throw new ProviderError(`Project '${id}' not found`, 404);\n\t\tconst stamp = auditSoftDelete(ctx, store.projects[idx].updatedBy ?? store.projects[idx].ownerId);\n\t\tstore.projects[idx] = {\n\t\t\t...store.projects[idx],\n\t\t\t...stamp\n\t\t};\n\t\tstore.projectMembers = store.projectMembers.map((m) => m.projectId === id && isLive(m) ? {\n\t\t\t...m,\n\t\t\t...stamp\n\t\t} : m);\n\t\tawait this.loader.write(store);\n\t\tawait this.definitions?.deleteByProject(ctx, id);\n\t\tawait this.grants.deleteByProject(ctx, id);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.deleted\",\n\t\t\tprojectId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync reactivateProject(ctx, orgId, slug) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.projects.findIndex((p) => p.orgId === orgId && p.slug === slug && !isLive(p));\n\t\tif (idx === -1) return null;\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tstore.projects[idx] = {\n\t\t\t...store.projects[idx],\n\t\t\tdeletedAt: null,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tconst ownerId = store.projects[idx].ownerId;\n\t\tconst pmIdx = store.projectMembers.findIndex((m) => m.projectId === store.projects[idx].id && m.userId === ownerId && !isLive(m));\n\t\tif (pmIdx !== -1) store.projectMembers[pmIdx] = {\n\t\t\t...store.projectMembers[pmIdx],\n\t\t\tdeletedAt: null,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tawait this.loader.write(store);\n\t\tconst project = { ...store.projects[idx] };\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t\treturn project;\n\t}\n\tasync listProjectMembers(_ctx, projectId, opts) {\n\t\tconst { projectMembers } = await this.loader.get();\n\t\treturn paginate(projectMembers.filter((m) => m.projectId === projectId && isLive(m)), opts);\n\t}\n\tasync getProjectMember(_ctx, projectId, userId) {\n\t\tconst { projectMembers } = await this.loader.get();\n\t\tconst m = projectMembers.find((m) => m.projectId === projectId && m.userId === userId);\n\t\treturn m && isLive(m) ? m : null;\n\t}\n\tasync getProjectMembersFor(_ctx, projectIds, userId) {\n\t\tconst { projectMembers } = await this.loader.get();\n\t\tconst byProjectId = new Map(projectMembers.filter((m) => m.userId === userId && isLive(m)).map((m) => [m.projectId, m]));\n\t\treturn new Map(projectIds.map((id) => [id, byProjectId.get(id) ?? null]));\n\t}\n\tasync addProjectMember(ctx, member) {\n\t\tconst store = await this.loader.get();\n\t\tconst existing = store.projectMembers.find((m) => m.projectId === member.projectId && m.userId === member.userId);\n\t\tif (existing) Object.assign(existing, member, {\n\t\t\t...auditUpdate(ctx, member.userId),\n\t\t\tdeletedAt: null\n\t\t});\n\t\telse {\n\t\t\tconst stamp = auditUpdate(ctx, member.userId);\n\t\t\tstore.projectMembers.push({\n\t\t\t\t...member,\n\t\t\t\tupdatedAt: member.updatedAt ?? stamp.updatedAt,\n\t\t\t\tupdatedBy: member.updatedBy ?? stamp.updatedBy,\n\t\t\t\tdeletedAt: null\n\t\t\t});\n\t\t}\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.added\",\n\t\t\tprojectId: member.projectId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProjectMemberRole(ctx, projectId, userId, role) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.projectMembers.find((m) => m.projectId === projectId && m.userId === userId && isLive(m));\n\t\tif (!m) throw new ProviderError(`Project member '${userId}' not found`, 404);\n\t\tm.role = role;\n\t\tObject.assign(m, auditUpdate(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.role_changed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeProjectMember(ctx, projectId, userId) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.projectMembers.find((m) => m.projectId === projectId && m.userId === userId && isLive(m));\n\t\tif (!m) return;\n\t\tObject.assign(m, auditSoftDelete(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.removed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalDefinitionStore.ts\nvar empty$3 = () => ({\n\tdefinitions: {},\n\tdefinitionVersions: {}\n});\nvar LocalDefinitionStore = class LocalDefinitionStore {\n\tconfigPath;\n\tevents;\n\tprojectProvider;\n\tcache = null;\n\tloading = null;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalDefinitionStore(env.DATA_PATH);\n\t}\n\tconstructor(definitionsPath, projectProvider, events = new NoopEventSink()) {\n\t\tthis.configPath = path.join(definitionsPath, \"definitions-config.json\");\n\t\tthis.projectProvider = projectProvider;\n\t\tthis.events = events;\n\t}\n\tsetProjectProvider(projectProvider) {\n\t\tthis.projectProvider = projectProvider;\n\t}\n\tasync readConfig() {\n\t\tif (this.cache) return this.cache;\n\t\tthis.loading ??= readJsonFile(this.configPath, empty$3()).then((data) => {\n\t\t\tthis.cache = data;\n\t\t\tthis.loading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn this.loading;\n\t}\n\tlive(record) {\n\t\treturn Boolean(record && record.deletedAt == null);\n\t}\n\tasync writeConfig(config) {\n\t\tthis.cache = config;\n\t\tawait writeJsonFile(this.configPath, config);\n\t}\n\tsortedRecords(records, opts) {\n\t\tconst defaulted = {\n\t\t\t...opts,\n\t\t\torderBy: opts?.orderBy ?? \"name\",\n\t\t\torderDir: opts?.orderDir ?? \"asc\"\n\t\t};\n\t\treturn applyOrder([...records], defaulted, (r, field) => {\n\t\t\tif (field === \"name\") return r.displayName.toLowerCase();\n\t\t\tif (field === \"solveCount\") return r.solveCount ?? 0;\n\t\t\treturn r[field];\n\t\t});\n\t}\n\tvisibleRecords(records, opts) {\n\t\tlet filtered = records.filter((r) => r?.displayName && this.live(r));\n\t\tif (opts?.projectIds) {\n\t\t\tconst allowedProjects = new Set(opts.projectIds);\n\t\t\tfiltered = filtered.filter((r) => allowedProjects.has(r.projectId));\n\t\t}\n\t\tif (opts?.statuses?.length) {\n\t\t\tconst allowed = new Set(opts.statuses);\n\t\t\treturn filtered.filter((r) => allowed.has(r.status));\n\t\t}\n\t\treturn filtered.filter((r) => {\n\t\t\tif (r.status === \"pending\" && !opts?.includePending) return false;\n\t\t\tif (r.status === \"archived\" && !opts?.includeArchived) return false;\n\t\t\treturn true;\n\t\t});\n\t}\n\tasync list(_ctx, opts) {\n\t\tconst config = await this.readConfig();\n\t\tconst records = this.visibleRecords(Object.values(config.definitions), opts);\n\t\treturn paginate(this.sortedRecords(records, opts), opts);\n\t}\n\tasync listByProject(_ctx, projectId, opts) {\n\t\tconst config = await this.readConfig();\n\t\tconst records = this.visibleRecords(Object.values(config.definitions).filter((r) => r?.projectId === projectId), opts);\n\t\treturn paginate(this.sortedRecords(records, opts), opts);\n\t}\n\tasync listPublic(ctx, opts) {\n\t\tif (!this.projectProvider) return this.list(ctx, opts);\n\t\tconst config = await this.readConfig();\n\t\tconst records = Object.values(config.definitions).filter((r) => Boolean(r?.displayName && this.live(r)));\n\t\tconst projectIds = Array.from(new Set(records.map((r) => r.projectId)));\n\t\tconst projects = await Promise.all(projectIds.map((id) => this.projectProvider.getProject(ctx, id)));\n\t\tconst publicProjectIds = new Set(projects.filter((p) => p !== null && p.visibility === \"public\" && (!opts?.orgId || p.orgId === opts.orgId)).map((p) => p.id));\n\t\tconst publicRecords = this.visibleRecords(records.filter((r) => publicProjectIds.has(r.projectId)), opts);\n\t\treturn paginate(this.sortedRecords(publicRecords, opts), opts);\n\t}\n\tasync get(_ctx, guid) {\n\t\tconst r = (await this.readConfig()).definitions[guid];\n\t\treturn this.live(r) ? r : null;\n\t}\n\tasync create(ctx, record) {\n\t\tconst config = await this.readConfig();\n\t\tconst actor = ctx.userId || record.ownerId;\n\t\tconfig.definitions[record.guid] = {\n\t\t\t...record,\n\t\t\tcreatedBy: record.createdBy || actor,\n\t\t\tupdatedBy: record.updatedBy || actor,\n\t\t\tliveVersionId: record.liveVersionId ?? null,\n\t\t\tdraftVersionId: record.draftVersionId ?? null,\n\t\t\tdeletedAt: null\n\t\t};\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.created\",\n\t\t\tdefinitionId: record.guid,\n\t\t\tprojectId: record.projectId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync update(ctx, guid, patch) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t\tconst clearable = (v) => v === null ? void 0 : v;\n\t\tconfig.definitions[guid] = {\n\t\t\t...existing,\n\t\t\t...patch.displayName !== void 0 && { displayName: patch.displayName },\n\t\t\t...patch.description !== void 0 && { description: clearable(patch.description) },\n\t\t\t...patch.category !== void 0 && { category: clearable(patch.category) },\n\t\t\t...patch.tags !== void 0 && { tags: clearable(patch.tags) },\n\t\t\t...patch.coverImage !== void 0 && { coverImage: clearable(patch.coverImage) },\n\t\t\t...patch.projectId !== void 0 && { projectId: patch.projectId },\n\t\t\t...patch.computeServerId !== void 0 && { computeServerId: clearable(patch.computeServerId) },\n\t\t\t...patch.solveCacheLimit !== void 0 && { solveCacheLimit: clearable(patch.solveCacheLimit) },\n\t\t\t...patch.status !== void 0 && { status: patch.status },\n\t\t\t...patch.ownerId !== void 0 && { ownerId: patch.ownerId },\n\t\t\t...auditUpdate(ctx, existing.updatedBy ?? existing.ownerId)\n\t\t};\n\t\tawait this.writeConfig(config);\n\t}\n\tasync delete(ctx, guid) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) return;\n\t\tObject.assign(existing, auditSoftDelete(ctx, existing.updatedBy ?? existing.ownerId));\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByProject(ctx, projectId) {\n\t\tconst config = await this.readConfig();\n\t\tconst affected = [];\n\t\tfor (const record of Object.values(config.definitions)) if (record.projectId === projectId && this.live(record)) {\n\t\t\tObject.assign(record, auditSoftDelete(ctx, record.updatedBy ?? record.ownerId));\n\t\t\taffected.push(record);\n\t\t}\n\t\tif (affected.length === 0) return;\n\t\tawait this.writeConfig(config);\n\t\tfor (const record of affected) await this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: record.guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync incrementSolveCount(_ctx, guid) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) return;\n\t\texisting.solveCount = (existing.solveCount ?? 0) + 1;\n\t\texisting.updatedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeConfig(config);\n\t}\n\tasync reserveNextVersionNumber(_ctx, guid) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t\tconst current = existing.nextVersionNumber ?? this.highestVersionNumber(config, guid) + 1;\n\t\texisting.nextVersionNumber = current + 1;\n\t\texisting.updatedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeConfig(config);\n\t\treturn current;\n\t}\n\t/**\n\t* Highest `versionNumber` currently on disk for a definition (0 if none). Only\n\t* used as the seed when a legacy record predates `nextVersionNumber`; new\n\t* records carry the counter and never take this path.\n\t*/\n\thighestVersionNumber(config, definitionId) {\n\t\tlet max = 0;\n\t\tfor (const v of Object.values(config.definitionVersions)) if (v.definitionId === definitionId && v.versionNumber > max) max = v.versionNumber;\n\t\treturn max;\n\t}\n\tasync createVersion(ctx, version) {\n\t\tconst config = await this.readConfig();\n\t\tconst parent = config.definitions[version.definitionId];\n\t\tif (!this.live(parent)) throw new ProviderError(`Definition '${version.definitionId}' not found`, 404);\n\t\tif (config.definitionVersions[version.id]) throw new ProviderError(`Version '${version.id}' already exists`, 409);\n\t\tconfig.definitionVersions[version.id] = { ...version };\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.created\",\n\t\t\tversionId: version.id,\n\t\t\tdefinitionId: version.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listVersions(_ctx, definitionId, opts) {\n\t\tconst config = await this.readConfig();\n\t\tconst parent = config.definitions[definitionId];\n\t\tif (!this.live(parent)) return paginate([], opts);\n\t\treturn paginate(Object.values(config.definitionVersions).filter((v) => v.definitionId === definitionId).sort((a, b) => b.versionNumber - a.versionNumber).map(({ schema: _schema, ...rest }) => rest), opts);\n\t}\n\tasync getVersion(_ctx, versionId) {\n\t\treturn (await this.readConfig()).definitionVersions[versionId] ?? null;\n\t}\n\tasync setVersionSchema(_ctx, versionId, schema) {\n\t\tconst config = await this.readConfig();\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version) return;\n\t\tversion.schema = schema;\n\t\tversion.schemaExtractedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeConfig(config);\n\t}\n\tasync deleteVersion(ctx, versionId) {\n\t\tconst config = await this.readConfig();\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version) return;\n\t\tconst parent = config.definitions[version.definitionId];\n\t\tif (parent && (parent.liveVersionId === versionId || parent.draftVersionId === versionId)) throw new ProviderError(`Version '${versionId}' is referenced by liveVersionId or draftVersionId`, 409);\n\t\tdelete config.definitionVersions[versionId];\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.deleted\",\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync setLiveVersion(ctx, definitionId, versionId) {\n\t\tawait this.repoint(\"live\", ctx, definitionId, versionId);\n\t}\n\tasync setDraftVersion(ctx, definitionId, versionId) {\n\t\tawait this.repoint(\"draft\", ctx, definitionId, versionId);\n\t}\n\tasync attachInitialVersion(ctx, definitionId, versionId) {\n\t\tconst config = await this.readConfig();\n\t\tconst record = config.definitions[definitionId];\n\t\tif (!this.live(record)) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version || version.definitionId !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\trecord.liveVersionId = versionId;\n\t\trecord.draftVersionId = versionId;\n\t\trecord.status = \"draft\";\n\t\tObject.assign(record, auditUpdate(ctx, record.updatedBy ?? record.ownerId));\n\t\tawait this.writeConfig(config);\n\t}\n\tasync repoint(channel, ctx, definitionId, versionId) {\n\t\tconst config = await this.readConfig();\n\t\tconst record = config.definitions[definitionId];\n\t\tif (!this.live(record)) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version || version.definitionId !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tif (channel === \"live\") record.liveVersionId = versionId;\n\t\telse record.draftVersionId = versionId;\n\t\tObject.assign(record, auditUpdate(ctx, record.updatedBy ?? record.ownerId));\n\t\tawait this.writeConfig(config);\n\t\tif (channel === \"live\") await this.events.emit({\n\t\t\ttype: \"definition.published\",\n\t\t\tdefinitionId,\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalShareLinkStore.ts\nvar empty$2 = () => ({ links: {} });\n/**\n* `tryIncrementSolveCount` is race-sensitive: this store does a plain\n* read-modify-write, fine at single-node scale. Postgres adapters use a true\n* atomic UPDATE instead.\n*/\nvar LocalShareLinkStore = class LocalShareLinkStore {\n\tdefinitionProvider;\n\tevents;\n\tconfigFilePath;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalShareLinkStore({ filePath: path.join(env.DATA_PATH, \"share-links.json\") });\n\t}\n\tconstructor(opts) {\n\t\tthis.configFilePath = opts.filePath;\n\t\tthis.events = opts.events ?? new NoopEventSink();\n\t}\n\t/**\n\t* Wires the definition store so token resolution can check the parent\n\t* definition's `deletedAt`, mirroring the JOIN Supabase does. Optional: if\n\t* unset, this falls back to the local-only revoke check, and the selva\n\t* app's route layer does the parent lookup as a safety net either way.\n\t*/\n\tsetDefinitionProvider(definitions) {\n\t\tthis.definitionProvider = definitions;\n\t}\n\tasync readAll() {\n\t\treturn readJsonFile(this.configFilePath, empty$2());\n\t}\n\tasync writeAll(data) {\n\t\tawait writeJsonFile(this.configFilePath, data);\n\t}\n\tisLive(l) {\n\t\tif (!l || l.revokedAt != null) return false;\n\t\treturn l.expiresAt == null || Date.parse(l.expiresAt) > Date.now();\n\t}\n\tasync create(ctx, link) {\n\t\tconst all = await this.readAll();\n\t\tif (all.links[link.id]) throw new ProviderError(`Share link '${link.id}' already exists`, 409);\n\t\tall.links[link.id] = {\n\t\t\t...link,\n\t\t\trevokedAt: null\n\t\t};\n\t\tawait this.writeAll(all);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.minted\",\n\t\t\tlinkId: link.id,\n\t\t\tdefinitionId: link.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listByDefinition(_ctx, definitionId, opts) {\n\t\tconst all = await this.readAll();\n\t\treturn paginate(Object.values(all.links).filter((l) => l.definitionId === definitionId && this.isLive(l)).sort((a, b) => b.createdAt.localeCompare(a.createdAt)), opts);\n\t}\n\tasync getById(_ctx, id) {\n\t\treturn (await this.readAll()).links[id] ?? null;\n\t}\n\tasync getByTokenHash(_ctx, tokenHash) {\n\t\tconst all = await this.readAll();\n\t\tconst found = Object.values(all.links).find((l) => l.tokenHash === tokenHash);\n\t\tif (!this.isLive(found)) return null;\n\t\tif (this.definitionProvider) {\n\t\t\tif (!await this.definitionProvider.get(SYSTEM_CONTEXT, found.definitionId)) return null;\n\t\t}\n\t\treturn found;\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst all = await this.readAll();\n\t\tconst l = all.links[id];\n\t\tif (!l || !this.isLive(l)) return;\n\t\tl.revokedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeAll(all);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.revoked\",\n\t\t\tlinkId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync tryIncrementSolveCount(_ctx, id) {\n\t\tconst all = await this.readAll();\n\t\tconst l = all.links[id];\n\t\tif (!l || !this.isLive(l)) return null;\n\t\tif (l.maxSolves != null && l.solveCount >= l.maxSolves) return null;\n\t\tl.solveCount += 1;\n\t\tawait this.writeAll(all);\n\t\treturn l.solveCount;\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/userData.ts\nvar MAX_RECENT_RUNS$1 = 20;\nvar empty$1 = () => ({ users: [] });\nfunction emptyRow(userId) {\n\treturn {\n\t\tuserId,\n\t\tplatformPermissions: [],\n\t\tstarredDefinitions: [],\n\t\trecentRuns: []\n\t};\n}\nfunction createLocalUserDataStore(filePath) {\n\tlet cache = null;\n\tlet loading = null;\n\tasync function load() {\n\t\tif (cache) return cache;\n\t\tloading ??= readJsonFile(filePath, empty$1()).then((data) => {\n\t\t\tcache = data;\n\t\t\tloading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn loading;\n\t}\n\tasync function persist(file) {\n\t\tcache = file;\n\t\tawait writeJsonFile(filePath, file);\n\t}\n\tasync function findOrThrow(userId) {\n\t\tconst file = await load();\n\t\tconst row = file.users.find((u) => u.userId === userId);\n\t\tif (!row) throw new ProviderError(`User-data row \"${userId}\" not found`, 404);\n\t\treturn {\n\t\t\tfile,\n\t\t\trow\n\t\t};\n\t}\n\treturn {\n\t\tasync ensure(userId) {\n\t\t\tconst file = await load();\n\t\t\tif (file.users.some((u) => u.userId === userId)) return;\n\t\t\tfile.users.push(emptyRow(userId));\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync findById(userId) {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.find((u) => u.userId === userId) ?? null;\n\t\t},\n\t\tasync listAll() {\n\t\t\tconst { users } = await load();\n\t\t\treturn users;\n\t\t},\n\t\tasync updatePermissions(userId, permissions) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\trow.platformPermissions = permissions;\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync updateDisplayName(userId, displayName) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\tif (displayName === void 0) delete row.displayName;\n\t\t\telse row.displayName = displayName;\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync starDefinition(userId, definitionId) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\tif (!row.starredDefinitions.includes(definitionId)) {\n\t\t\t\trow.starredDefinitions.push(definitionId);\n\t\t\t\tawait persist(file);\n\t\t\t}\n\t\t},\n\t\tasync unstarDefinition(userId, definitionId) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\trow.starredDefinitions = row.starredDefinitions.filter((d) => d !== definitionId);\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync recordRun(userId, run) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\trow.recentRuns = [run, ...row.recentRuns.filter((r) => r.definitionId !== run.definitionId)].slice(0, MAX_RECENT_RUNS$1);\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync deleteUser(userId) {\n\t\t\tconst file = await load();\n\t\t\tconst before = file.users.length;\n\t\t\tfile.users = file.users.filter((u) => u.userId !== userId);\n\t\t\tif (file.users.length === before) throw new ProviderError(`User-data row \"${userId}\" not found`, 404);\n\t\t\tawait persist(file);\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/local/src/userProfile/LocalUserProfileProvider.ts\nfunction toProfile(u) {\n\treturn {\n\t\tuserId: u.userId,\n\t\tdisplayName: u.displayName,\n\t\tstarredDefinitions: u.starredDefinitions ?? [],\n\t\trecentRuns: u.recentRuns ?? []\n\t};\n}\n/**\n* Filesystem-backed user-profile store. Reads and writes `user-data.json`,\n* shared with `LocalPlatformPermissionStore`. Keys exclusively by user ID;\n* identity (email, password hash) lives separately on the auth provider.\n* `IDataProvider.ensureUser` (called from `hooks.server.ts`) seeds an empty\n* row for every authed user.\n*/\nvar LocalUserProfileProvider = class LocalUserProfileProvider {\n\tdata;\n\t/**\n\t* Accepts a file path (constructs its own store — for `fromEnv` and\n\t* standalone conformance tests) or a shared `LocalUserDataStore`.\n\t* `LocalDataProvider` injects one store shared with the permission store\n\t* and the data provider so all three see the same load-once write-through\n\t* cache over `user-data.json` (§3a) — separate stores on the same file\n\t* would diverge.\n\t*/\n\tconstructor(userData) {\n\t\tthis.data = typeof userData === \"string\" ? createLocalUserDataStore(userData) : userData;\n\t}\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalUserProfileProvider(path.join(env.DATA_PATH, \"user-data.json\"));\n\t}\n\tasync getProfile(ctx, userId) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\tconst u = await this.data.findById(userId);\n\t\treturn u ? toProfile(u) : null;\n\t}\n\tasync getProfiles(_ctx, userIds) {\n\t\tconst all = await this.data.listAll();\n\t\tconst wanted = new Set(userIds);\n\t\treturn all.filter((u) => wanted.has(u.userId)).map(toProfile);\n\t}\n\tasync updateProfile(ctx, userId, patch) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tif (patch.displayName !== void 0) await this.data.updateDisplayName(userId, patch.displayName);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync starDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tawait this.data.starDefinition(userId, definitionId);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync unstarDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tawait this.data.unstarDefinition(userId, definitionId);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync recordRun(ctx, userId, run) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tawait this.data.recordRun(userId, run);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n};\n/** Scoped to the user themselves; `instance_admin` and `system: true` callers bypass. */\nfunction assertCanAccess$1(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot access another user’s profile\", 403);\n}\n//#endregion\n//#region ../providers/local/src/permissions/LocalPlatformPermissionStore.ts\n/**\n* Filesystem-backed platform-permission store. Reads/writes the\n* `platformPermissions` field on `user-data.json`, owned by\n* `LocalDataProvider` and separate from `auth-users.json` (owned by\n* `LocalAuthProvider`) — the data layer only ever keys by user ID, never by\n* how identity is stored, so it pairs with any auth provider.\n*\n* Rows are seeded by `IDataProvider.ensureUser` (called per authed request\n* from `hooks.server.ts`); before that call `set` returns `not_found`.\n*\n* `set` enforces the §2 sole-`instance_admin` invariant (refuses to drop the\n* last admin). It has no visibility into \"disabled\" state, which lives on\n* the auth provider's record — every row here counts as enabled, so\n* `LocalAuthProvider.disableUser` is expected to drop the user's\n* `instance_admin` grant via `set` first.\n*/\nvar LocalPlatformPermissionStore = class LocalPlatformPermissionStore {\n\tdata;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalPlatformPermissionStore(path.join(env.DATA_PATH, \"user-data.json\"));\n\t}\n\t/**\n\t* Accepts a file path (constructs its own store) or a shared\n\t* `LocalUserDataStore` — `LocalDataProvider` injects one shared store so\n\t* the permission, profile, and data-provider views of `user-data.json`\n\t* share a single load-once write-through cache (§3a).\n\t*/\n\tconstructor(userData) {\n\t\tthis.data = typeof userData === \"string\" ? createLocalUserDataStore(userData) : userData;\n\t}\n\tasync getFor(ctx, userId) {\n\t\tassertCanRead$1(ctx, userId);\n\t\treturn (await this.data.findById(userId))?.platformPermissions ?? [];\n\t}\n\tasync getForBatch(ctx, userIds) {\n\t\tassertCanReadBatch(ctx);\n\t\tconst all = await this.data.listAll();\n\t\tconst wanted = new Set(userIds);\n\t\tconst out = /* @__PURE__ */ new Map();\n\t\tfor (const u of all) if (wanted.has(u.userId)) out.set(u.userId, u.platformPermissions ?? []);\n\t\treturn out;\n\t}\n\tasync set(ctx, userId, permissions) {\n\t\tassertAdmin$1(ctx);\n\t\tconst target = await this.data.findById(userId);\n\t\tif (!target) return \"not_found\";\n\t\tconst wasAdmin = target.platformPermissions.includes(\"instance_admin\");\n\t\tconst willBeAdmin = permissions.includes(\"instance_admin\");\n\t\tif (wasAdmin && !willBeAdmin) {\n\t\t\tif (await this.countOtherAdmins(userId) === 0) return \"last_admin\";\n\t\t}\n\t\ttry {\n\t\t\tawait this.data.updatePermissions(userId, [...permissions]);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync hasInstanceAdmin(_ctx) {\n\t\treturn (await this.data.listAll()).some((u) => u.platformPermissions.includes(\"instance_admin\"));\n\t}\n\tasync countInstanceAdminsExcluding(_ctx, excludeUserId) {\n\t\treturn this.countOtherAdmins(excludeUserId);\n\t}\n\tasync countOtherAdmins(excludeUserId) {\n\t\treturn (await this.data.listAll()).filter((u) => u.userId !== excludeUserId && u.platformPermissions.includes(\"instance_admin\")).length;\n\t}\n};\nfunction assertCanRead$1(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin$1(ctx) {\n\tif (ctx.system) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction assertCanReadBatch(ctx) {\n\tif (ctx.system) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tif (hasPermission(ctx, \"manage_instance_users\")) return;\n\tthrow new ProviderError(\"Forbidden: instance admin or manage_instance_users required\", 403);\n}\n//#endregion\n//#region ../providers/local/src/data/LocalDataProvider.ts\n/**\n* Composition root for every local-provider data store. One\n* `LocalOrgStoreLoader` is shared across org + project stores so they see the\n* same cache and atomic write path; one `LocalUserDataStore` is shared across\n* the permissions, profile, and `ensureUser`/`onUserDeleted` paths so they\n* all read and write the same `user-data.json` row (the local equivalent of\n* Supabase's `handle_new_auth_user` trigger).\n*/\nvar LocalDataProvider = class LocalDataProvider {\n\torgs;\n\tprojects;\n\tdefinitions;\n\tcomputeServer;\n\tinvites;\n\tshareLinks;\n\tuserProfile;\n\tpermissions;\n\tplatformProjectGrants;\n\tevents;\n\tuserData;\n\tconstructor(stores, userData) {\n\t\tthis.events = stores.events;\n\t\tthis.orgs = stores.orgs;\n\t\tthis.projects = stores.projects;\n\t\tthis.definitions = stores.definitions;\n\t\tthis.computeServer = stores.computeServer;\n\t\tthis.invites = stores.invites;\n\t\tthis.shareLinks = stores.shareLinks;\n\t\tthis.userProfile = stores.userProfile;\n\t\tthis.permissions = stores.permissions;\n\t\tthis.platformProjectGrants = stores.platformProjectGrants;\n\t\tthis.userData = userData;\n\t}\n\t/**\n\t* Idempotently seeds a user's `user-data.json` row. Called on every authed\n\t* request from `hooks.server.ts` — the local equivalent of Supabase's\n\t* `handle_new_auth_user` trigger. `ctx` is unused; registration runs as a\n\t* system operation regardless of the calling user, kept for interface\n\t* symmetry with adapters that need it.\n\t*/\n\tasync ensureUser(_ctx, userId) {\n\t\tawait this.userData.ensure(userId);\n\t}\n\t/**\n\t* Cascade hook run after the auth provider deletes a user: removes the\n\t* `user-data.json` row and every live org membership, so the roster\n\t* doesn't keep showing a bare user ID forever (Supabase gets this from FK\n\t* constraints; local does it explicitly). Tolerates missing rows.\n\t*\n\t* `opts.email` is unused — the local provider has no audit_events or\n\t* solve_metrics tables to scrub, and its invite set is small and\n\t* operator-visible on disk.\n\t*/\n\tasync onUserDeleted(ctx, userId, _opts) {\n\t\ttry {\n\t\t\tawait this.userData.deleteUser(userId);\n\t\t} catch {}\n\t\tfor (let i = 0; i < 100; i++) {\n\t\t\tconst membership = await this.orgs.findUserMembership(ctx, userId);\n\t\t\tif (!membership) break;\n\t\t\tawait this.orgs.removeOrgMember(ctx, membership.org.id, userId);\n\t\t}\n\t}\n\tstatic fromEnv(env, events = new NoopEventSink()) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\tconst dataPath = env.DATA_PATH;\n\t\tconst userDataFilePath = path.join(dataPath, \"user-data.json\");\n\t\tconst loader = new LocalOrgStoreLoader(dataPath);\n\t\tconst platformProjectGrants = LocalPlatformProjectGrantStore.fromEnv(env);\n\t\tconst invites = LocalInviteStore.fromEnv(env, events);\n\t\tconst computeServer = LocalComputeServerStore.fromEnv(env);\n\t\tconst projects = new LocalProjectStore({\n\t\t\tloader,\n\t\t\tgrants: platformProjectGrants,\n\t\t\tevents\n\t\t});\n\t\tconst definitions = new LocalDefinitionStore(dataPath, void 0, events);\n\t\tconst shareLinks = new LocalShareLinkStore({\n\t\t\tfilePath: path.join(dataPath, \"share-links.json\"),\n\t\t\tevents\n\t\t});\n\t\tconst orgs = new LocalOrgStore({\n\t\t\tloader,\n\t\t\tinvites,\n\t\t\tcomputeServer,\n\t\t\tgrants: platformProjectGrants,\n\t\t\tevents\n\t\t});\n\t\tdefinitions.setProjectProvider(projects);\n\t\tshareLinks.setDefinitionProvider(definitions);\n\t\tprojects.setDefinitionProvider(definitions);\n\t\tconst userData = createLocalUserDataStore(userDataFilePath);\n\t\treturn new LocalDataProvider({\n\t\t\torgs,\n\t\t\tprojects,\n\t\t\tdefinitions,\n\t\t\tcomputeServer,\n\t\t\tinvites,\n\t\t\tshareLinks,\n\t\t\tuserProfile: new LocalUserProfileProvider(userData),\n\t\t\tpermissions: new LocalPlatformPermissionStore(userData),\n\t\t\tplatformProjectGrants,\n\t\t\tevents\n\t\t}, userData);\n\t}\n};\n//#endregion\n//#region ../providers/local/src/storage/LocalStorageProvider.ts\n/**\n* Filesystem implementation of `IStorageProvider`. Files live under\n* `DATA_PATH/{path}`. `put()` transcodes images to WebP via the shared\n* `transcodeImageIfNeeded` helper — the same one the Supabase adapter uses,\n* so both providers produce identical bytes for the same upload.\n*/\nvar LocalStorageProvider = class LocalStorageProvider {\n\tbasePath;\n\tpublicUrlBase;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalStorageProvider(env.DATA_PATH, \"/api/files\");\n\t}\n\tconstructor(basePath, publicUrlBase = \"/api/files\") {\n\t\tthis.basePath = basePath;\n\t\tthis.publicUrlBase = publicUrlBase;\n\t}\n\t/**\n\t* Resolves a caller-provided path under basePath; rejects anything that\n\t* would escape the root. Last line of defense against traversal — this\n\t* adapter is reached by any `IStorageProvider` caller, not just ones that\n\t* already validated the key.\n\t*/\n\tresolvePath(storagePath) {\n\t\tconst base = path.resolve(this.basePath);\n\t\tconst full = path.resolve(base, storagePath);\n\t\tif (full !== base && !full.startsWith(base + path.sep)) throw new Error(`Path escapes base: ${storagePath}`);\n\t\treturn full;\n\t}\n\tasync get(storagePath) {\n\t\ttry {\n\t\t\tconst buffer = await fs.readFile(this.resolvePath(storagePath));\n\t\t\treturn new Uint8Array(buffer);\n\t\t} catch (err) {\n\t\t\tif (err.code === \"ENOENT\") return null;\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync put(storagePath, data, contentType) {\n\t\tconst transcoded = await transcodeImageIfNeeded(data, contentType, storagePath);\n\t\tconst fullPath = this.resolvePath(transcoded.path);\n\t\tawait fs.mkdir(path.dirname(fullPath), { recursive: true });\n\t\tawait fs.writeFile(fullPath, Buffer.from(transcoded.data));\n\t}\n\tasync delete(storagePath) {\n\t\ttry {\n\t\t\tawait fs.unlink(this.resolvePath(storagePath));\n\t\t} catch (err) {\n\t\t\tif (err.code !== \"ENOENT\") throw err;\n\t\t}\n\t}\n\tasync deletePrefix(prefix) {\n\t\tconst fullPath = this.resolvePath(prefix);\n\t\tawait fs.rm(fullPath, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t}\n\tgetPublicUrl(storagePath) {\n\t\treturn `${this.publicUrlBase}/${storagePath}`;\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/storage/SupabaseStorageProvider.ts\nvar SupabaseStorageProvider = class SupabaseStorageProvider {\n\tclient;\n\tpublicBucket;\n\tprivateBucket;\n\tpublicBaseUrl;\n\tprivateUrlPrefix;\n\tstatic fromEnv(env) {\n\t\tconst supabaseUrl = env.SUPABASE_URL;\n\t\tconst serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n\t\tif (!supabaseUrl) throw new Error(\"Missing required env var: SUPABASE_URL\");\n\t\tif (!serviceRoleKey) throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n\t\treturn new SupabaseStorageProvider({\n\t\t\tsupabaseUrl,\n\t\t\tserviceRoleKey,\n\t\t\tpublicBucket: env.SUPABASE_PUBLIC_BUCKET,\n\t\t\tprivateBucket: env.SUPABASE_PRIVATE_BUCKET,\n\t\t\tprivateUrlPrefix: env.SUPABASE_PRIVATE_URL_PREFIX\n\t\t});\n\t}\n\tconstructor(config) {\n\t\tthis.client = createClient(config.supabaseUrl, config.serviceRoleKey, { auth: {\n\t\t\tpersistSession: false,\n\t\t\tautoRefreshToken: false\n\t\t} });\n\t\tthis.publicBucket = config.publicBucket ?? \"selva-public\";\n\t\tthis.privateBucket = config.privateBucket ?? \"selva-private\";\n\t\tthis.publicBaseUrl = `${config.supabaseUrl.replace(/\\/$/, \"\")}/storage/v1/object/public/${this.publicBucket}`;\n\t\tthis.privateUrlPrefix = (config.privateUrlPrefix ?? \"/api/files\").replace(/\\/$/, \"\");\n\t}\n\t/**\n\t* `.gh`/`.ghx` source files are always private, regardless of what\n\t* `classifyAssetPath` says — confidentiality by extension means a\n\t* path-scheme rename can't silently move sources into the public bucket.\n\t* Everything else routes by asset class.\n\t*/\n\tbucketFor(storagePath) {\n\t\tif (/\\.(gh|ghx)$/i.test(storagePath)) return this.privateBucket;\n\t\tconst cls = classifyAssetPath(storagePath);\n\t\tif (cls && cls.class.visibility !== \"public\") return this.privateBucket;\n\t\treturn this.publicBucket;\n\t}\n\tasync get(storagePath) {\n\t\tconst bucket = this.bucketFor(storagePath);\n\t\tconst { data, error } = await this.client.storage.from(bucket).download(storagePath);\n\t\tif (error) {\n\t\t\tconst msg = error.message ?? \"\";\n\t\t\tif (/not found/i.test(msg) || /no such key/i.test(msg)) return null;\n\t\t\tthrow error;\n\t\t}\n\t\tconst buffer = await data.arrayBuffer();\n\t\treturn new Uint8Array(buffer);\n\t}\n\tasync put(storagePath, data, contentType) {\n\t\tconst transcoded = await transcodeImageIfNeeded(data, contentType, storagePath);\n\t\tconst bucket = this.bucketFor(transcoded.path);\n\t\tconst { error } = await this.client.storage.from(bucket).upload(transcoded.path, transcoded.data, {\n\t\t\tcontentType: transcoded.contentType,\n\t\t\tcacheControl: \"31536000\",\n\t\t\tupsert: true\n\t\t});\n\t\tif (error) throw error;\n\t}\n\tasync delete(storagePath) {\n\t\tconst bucket = this.bucketFor(storagePath);\n\t\tconst { error } = await this.client.storage.from(bucket).remove([storagePath]);\n\t\tif (error) throw error;\n\t}\n\tasync deletePrefix(prefix) {\n\t\tawait Promise.all([this.deletePrefixInBucket(this.publicBucket, prefix), this.deletePrefixInBucket(this.privateBucket, prefix)]);\n\t}\n\tasync deletePrefixInBucket(bucket, prefix) {\n\t\tconst normalized = prefix.replace(/\\/+$/, \"\");\n\t\tconst keys = await this.listAllKeys(bucket, normalized);\n\t\tif (keys.length === 0) return;\n\t\tfor (let i = 0; i < keys.length; i += 1e3) {\n\t\t\tconst slice = keys.slice(i, i + 1e3);\n\t\t\tconst { error } = await this.client.storage.from(bucket).remove(slice);\n\t\t\tif (error) throw error;\n\t\t}\n\t}\n\t/** storage-js's `list` only returns immediate children of a \"folder\", so DFS to get everything under `prefix`. */\n\tasync listAllKeys(bucket, prefix) {\n\t\tconst out = [];\n\t\tconst stack = [prefix];\n\t\twhile (stack.length > 0) {\n\t\t\tconst dir = stack.pop();\n\t\t\tconst { data, error } = await this.client.storage.from(bucket).list(dir, {\n\t\t\t\tlimit: 1e3,\n\t\t\t\tsortBy: {\n\t\t\t\t\tcolumn: \"name\",\n\t\t\t\t\torder: \"asc\"\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (error) throw error;\n\t\t\tfor (const entry of data ?? []) {\n\t\t\t\tconst full = dir ? `${dir}/${entry.name}` : entry.name;\n\t\t\t\tif (entry.id === null) stack.push(full);\n\t\t\t\telse out.push(full);\n\t\t\t}\n\t\t}\n\t\treturn out;\n\t}\n\tgetPublicUrl(storagePath) {\n\t\tif (this.bucketFor(storagePath) === this.publicBucket) return `${this.publicBaseUrl}/${storagePath}`;\n\t\treturn `${this.privateUrlPrefix}/${storagePath}`;\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/data/errors.ts\nfunction mapPostgrestError(e) {\n\tconst pg = e;\n\tswitch (pg?.code) {\n\t\tcase \"PGRST116\": return new ProviderError(pg.message ?? \"Not found\", 404);\n\t\tcase \"23505\": return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n\t\tcase \"23503\": return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n\t}\n\tif (e instanceof Error) return e;\n\tif (e && typeof e === \"object\") {\n\t\tconst obj = e;\n\t\tconst msg = obj.message ?? obj.details ?? obj.hint ?? \"Unknown Postgres error\";\n\t\tconst err = new Error(obj.code ? `[${obj.code}] ${msg}` : msg);\n\t\tObject.assign(err, obj);\n\t\treturn err;\n\t}\n\treturn new Error(String(e));\n}\n//#endregion\n//#region ../providers/supabase/src/data/pagination.ts\n/**\n* `ListOptions.cursor` is meant to be opaque; here it's just an offset\n* encoded as a string. Simple and correct for stable sorts, fine at Selva's\n* scale (bounded admin/definition lists, not infinite scroll over millions\n* of rows). Keyset pagination would be faster if that ever changes.\n*/\n/** Returns 0 for a missing or invalid cursor. */\nfunction decodeCursor(cursor) {\n\tif (!cursor) return 0;\n\tconst n = parseInt(cursor, 10);\n\treturn Number.isFinite(n) && n >= 0 ? n : 0;\n}\nfunction encodeCursor(offset) {\n\treturn String(offset);\n}\nfunction toRange(opts) {\n\tconst limit = Math.min(Math.max(opts?.limit ?? 50, 1), 200);\n\tconst from = decodeCursor(opts?.cursor);\n\treturn {\n\t\tfrom,\n\t\tto: from + limit - 1,\n\t\tlimit\n\t};\n}\nfunction nextCursorFromRange(range, returnedCount, totalCount) {\n\tconst consumed = range.from + returnedCount;\n\tif (totalCount != null) return consumed < totalCount ? encodeCursor(consumed) : void 0;\n\treturn returnedCount >= range.limit ? encodeCursor(consumed) : void 0;\n}\nfunction orderColumn(orderBy) {\n\tswitch (orderBy) {\n\t\tcase \"name\": return \"name\";\n\t\tcase \"updatedAt\": return \"updated_at\";\n\t\tdefault: return \"created_at\";\n\t}\n}\n//#endregion\n//#region ../providers/supabase/src/data/rowStamp.ts\n/**\n* Translates platform's camelCase audit fields (`updatedAt`/`updatedBy`) to\n* the snake_case columns every Supabase row uses.\n*\n* `updated_by` is written only when `ctx.userId` is set. On system contexts\n* `auditUpdate`/`auditSoftDelete` fall back to `''`, and the column FKs\n* `auth.users(id)` — writing `''` violates the FK — so it's omitted instead,\n* leaving the existing value untouched.\n*\n* Plain updates don't stamp `updated_at`: a per-table trigger already sets\n* it. Only soft-delete sets `updated_at` explicitly, to match `deleted_at`.\n*/\nfunction stampUpdate(ctx) {\n\treturn ctx.userId ? { updated_by: ctx.userId } : {};\n}\nfunction stampSoftDelete(ctx, fallbackActor = ctx.userId) {\n\tconst stamp = auditSoftDelete(ctx, fallbackActor);\n\tconst row = {\n\t\tdeleted_at: stamp.deletedAt,\n\t\tupdated_at: stamp.updatedAt\n\t};\n\tif (stamp.updatedBy) row.updated_by = stamp.updatedBy;\n\treturn row;\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseOrgStore.ts\n/** Explicit column list for `orgs` — every field `rowToOrg` consumes. */\nvar ORG_COLUMNS = \"id, name, slug, owner_id, assets, created_by, updated_by, created_at, updated_at, deleted_at\";\n/** Explicit column list for `org_members` — every field `rowToOrgMember` consumes. */\nvar ORG_MEMBER_COLUMNS = \"org_id, user_id, role, permissions, joined_at, updated_at, updated_by, deleted_at\";\n/**\n* Org + org-membership store backed by Postgres. The queries rely on RLS\n* for per-user visibility; the service-role client bypasses those policies\n* for admin paths (setup, janitor, tests).\n*/\nvar SupabaseOrgStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync listOrgs(ctx, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst direction = opts?.orderDir ?? \"desc\";\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"orgs\").select(ORG_COLUMNS, { count: \"exact\" }).is(\"deleted_at\", null).order(orderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToOrg);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getOrg(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"orgs\").select(ORG_COLUMNS).eq(\"id\", id).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToOrg(data) : null;\n\t}\n\tasync getOrgBySlug(ctx, slug) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"orgs\").select(ORG_COLUMNS).eq(\"slug\", slug).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToOrg(data) : null;\n\t}\n\tasync createOrg(ctx, org) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { error } = await client.from(\"orgs\").insert(orgToRow(org));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst { error: memberError } = await client.from(\"org_members\").upsert({\n\t\t\torg_id: org.id,\n\t\t\tuser_id: org.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tpermissions: [...DEFAULT_ORG_PERMISSIONS.owner],\n\t\t\tjoined_at: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\tdeleted_at: null\n\t\t}, { onConflict: \"org_id,user_id\" });\n\t\tif (memberError) throw mapPostgrestError(memberError);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.created\",\n\t\t\torgId: org.id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrg(ctx, id, patch) {\n\t\tconst row = {};\n\t\tif (patch.name !== void 0) row.name = patch.name;\n\t\tif (patch.slug !== void 0) row.slug = patch.slug;\n\t\tif (patch.assets !== void 0) row.assets = patch.assets;\n\t\tif (Object.keys(row).length === 0) return;\n\t\tObject.assign(row, stampUpdate(ctx));\n\t\tconst { error, data } = await this.clients.forRequest(ctx).from(\"orgs\").update(row).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Org '${id}' not found`, 404);\n\t}\n\tasync deleteOrg(ctx, id) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst stampRow = stampSoftDelete(ctx);\n\t\tconst { error: orgErr, data: orgData } = await client.from(\"orgs\").update(stampRow).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (orgErr) throw mapPostgrestError(orgErr);\n\t\tif (!orgData || orgData.length === 0) throw new ProviderError(`Org '${id}' not found`, 404);\n\t\tconst { error: omErr } = await client.from(\"org_members\").update(stampRow).eq(\"org_id\", id).is(\"deleted_at\", null);\n\t\tif (omErr) throw mapPostgrestError(omErr);\n\t\tconst { data: orgProjects, error: projFetchErr } = await client.from(\"projects\").select(\"id\").eq(\"org_id\", id).is(\"deleted_at\", null);\n\t\tif (projFetchErr) throw mapPostgrestError(projFetchErr);\n\t\tconst projectIds = (orgProjects ?? []).map((p) => p.id);\n\t\tconst { error: projErr } = await client.from(\"projects\").update(stampRow).eq(\"org_id\", id).is(\"deleted_at\", null);\n\t\tif (projErr) throw mapPostgrestError(projErr);\n\t\tif (projectIds.length > 0) {\n\t\t\tconst { error: pmErr } = await client.from(\"project_members\").update(stampRow).in(\"project_id\", projectIds).is(\"deleted_at\", null);\n\t\t\tif (pmErr) throw mapPostgrestError(pmErr);\n\t\t\tconst { error: defErr } = await client.from(\"definitions\").update(stampRow).in(\"project_id\", projectIds).is(\"deleted_at\", null);\n\t\t\tif (defErr) throw mapPostgrestError(defErr);\n\t\t}\n\t\tconst { error: invErr } = await client.from(\"invites\").delete().eq(\"org_id\", id);\n\t\tif (invErr) throw mapPostgrestError(invErr);\n\t\tconst { error: cdErr } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", id);\n\t\tif (cdErr) throw mapPostgrestError(cdErr);\n\t\tconst { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", id);\n\t\tif (shErr) throw mapPostgrestError(shErr);\n\t\tconst { error: csErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", id);\n\t\tif (csErr) throw mapPostgrestError(csErr);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.deleted\",\n\t\t\torgId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listOrgMembers(ctx, orgId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"org_members\").select(ORG_MEMBER_COLUMNS, { count: \"exact\" }).eq(\"org_id\", orgId).is(\"deleted_at\", null).order(\"joined_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToOrgMember);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getOrgMember(ctx, orgId, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").select(ORG_MEMBER_COLUMNS).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToOrgMember(data) : null;\n\t}\n\tasync getOrgMembersFor(ctx, orgIds, userId) {\n\t\tconst result = new Map(orgIds.map((id) => [id, null]));\n\t\tif (orgIds.length === 0) return result;\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").select(ORG_MEMBER_COLUMNS).in(\"org_id\", [...orgIds]).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tfor (const row of data ?? []) result.set(row.org_id, rowToOrgMember(row));\n\t\treturn result;\n\t}\n\tasync findUserMembership(ctx, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").select(`${ORG_MEMBER_COLUMNS}, org:orgs!inner(${ORG_COLUMNS})`).eq(\"user_id\", userId).is(\"deleted_at\", null).is(\"org.deleted_at\", null).order(\"joined_at\", { ascending: true }).limit(1).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data) return null;\n\t\tconst row = data;\n\t\tconst orgRow = Array.isArray(row.org) ? row.org[0] : row.org;\n\t\tif (!orgRow) return null;\n\t\tconst { org: _omit, ...memberRow } = row;\n\t\treturn {\n\t\t\torg: rowToOrg(orgRow),\n\t\t\tmember: rowToOrgMember(memberRow)\n\t\t};\n\t}\n\tasync addOrgMember(ctx, member) {\n\t\tconst row = {\n\t\t\t...memberToRow(member),\n\t\t\tdeleted_at: null,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"org_members\").upsert(row, { onConflict: \"org_id,user_id\" });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.added\",\n\t\t\torgId: member.orgId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberRole(ctx, orgId, userId, role) {\n\t\tconst row = {\n\t\t\trole,\n\t\t\tpermissions: [...DEFAULT_ORG_PERMISSIONS[role]],\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").update(row).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null).select(\"user_id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.role_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberPermissions(ctx, orgId, userId, permissions) {\n\t\tconst row = {\n\t\t\tpermissions: [...permissions],\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").update(row).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null).select(\"user_id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.permissions_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tpermissions: [...permissions],\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeOrgMember(ctx, orgId, userId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst stampRow = stampSoftDelete(ctx);\n\t\tconst { data: orgProjects, error: projError } = await client.from(\"projects\").select(\"id\").eq(\"org_id\", orgId).is(\"deleted_at\", null);\n\t\tif (projError) throw mapPostgrestError(projError);\n\t\tconst projectIds = (orgProjects ?? []).map((p) => p.id);\n\t\tif (projectIds.length > 0) {\n\t\t\tconst { error: pmError } = await client.from(\"project_members\").update(stampRow).in(\"project_id\", projectIds).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\t\tif (pmError) throw mapPostgrestError(pmError);\n\t\t}\n\t\tconst { error } = await client.from(\"org_members\").update(stampRow).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.removed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\nfunction rowToOrg(row) {\n\treturn {\n\t\tid: row.id,\n\t\tname: row.name,\n\t\tslug: row.slug,\n\t\townerId: row.owner_id,\n\t\tassets: row.assets ?? void 0,\n\t\tcreatedBy: row.created_by ?? row.owner_id,\n\t\tupdatedBy: row.updated_by ?? row.owner_id,\n\t\tcreatedAt: row.created_at,\n\t\tupdatedAt: row.updated_at,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction orgToRow(org) {\n\treturn {\n\t\tid: org.id,\n\t\tname: org.name,\n\t\tslug: org.slug,\n\t\towner_id: org.ownerId,\n\t\tassets: org.assets ?? {},\n\t\tcreated_by: org.createdBy,\n\t\tupdated_by: org.updatedBy,\n\t\tcreated_at: org.createdAt,\n\t\tupdated_at: org.updatedAt,\n\t\tdeleted_at: org.deletedAt ?? null\n\t};\n}\nfunction rowToOrgMember(row) {\n\treturn {\n\t\torgId: row.org_id,\n\t\tuserId: row.user_id,\n\t\trole: row.role,\n\t\tpermissions: row.permissions ?? [],\n\t\tjoinedAt: row.joined_at,\n\t\tupdatedAt: row.updated_at ?? row.joined_at,\n\t\tupdatedBy: row.updated_by ?? row.user_id,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction memberToRow(m) {\n\treturn {\n\t\torg_id: m.orgId,\n\t\tuser_id: m.userId,\n\t\trole: m.role,\n\t\tpermissions: m.permissions ?? [],\n\t\tjoined_at: m.joinedAt\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseProjectStore.ts\n/** Explicit column list for `projects` — every field `rowToProject` consumes. */\nvar PROJECT_COLUMNS = \"id, org_id, name, slug, description, visibility, owner_id, created_by, updated_by, auto_join_on_upload, created_at, updated_at, deleted_at\";\n/** Explicit column list for `project_members` — every field `rowToProjectMember` consumes. */\nvar PROJECT_MEMBER_COLUMNS = \"project_id, user_id, role, joined_at, updated_at, updated_by, deleted_at\";\n/**\n* Project + project-membership store backed by Postgres. Visibility (public /\n* org / private) is enforced by the `visible_project()` RLS helper. Access\n* predicates (canEdit / canManage / canView) live in `@selvajs/platform/access`;\n* the route layer composes them with pre-loaded entities.\n*/\nvar SupabaseProjectStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync listProjects(ctx, orgId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst direction = opts?.orderDir ?? \"desc\";\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"projects\").select(PROJECT_COLUMNS, { count: \"exact\" }).eq(\"org_id\", orgId).is(\"deleted_at\", null).order(orderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToProject);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getProject(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"projects\").select(PROJECT_COLUMNS).eq(\"id\", id).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToProject(data) : null;\n\t}\n\tasync getProjectBySlug(ctx, orgId, slug) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"projects\").select(PROJECT_COLUMNS).eq(\"org_id\", orgId).eq(\"slug\", slug).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToProject(data) : null;\n\t}\n\tasync createProject(ctx, project) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { error } = await client.from(\"projects\").insert(projectToRow(project));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst { error: memberError } = await client.from(\"project_members\").upsert({\n\t\t\tproject_id: project.id,\n\t\t\tuser_id: project.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tjoined_at: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\tdeleted_at: null\n\t\t}, { onConflict: \"project_id,user_id\" });\n\t\tif (memberError) throw mapPostgrestError(memberError);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProject(ctx, id, patch) {\n\t\tconst row = {};\n\t\tif (patch.name !== void 0) row.name = patch.name;\n\t\tif (patch.slug !== void 0) row.slug = patch.slug;\n\t\tif (patch.description !== void 0) row.description = patch.description;\n\t\tif (patch.visibility !== void 0) row.visibility = patch.visibility;\n\t\tif (patch.autoJoinOnUpload !== void 0) row.auto_join_on_upload = patch.autoJoinOnUpload;\n\t\tif (Object.keys(row).length === 0) return;\n\t\tObject.assign(row, stampUpdate(ctx));\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"projects\").update(row).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Project '${id}' not found`, 404);\n\t}\n\tasync deleteProject(ctx, id) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst stampRow = stampSoftDelete(ctx);\n\t\tconst { data, error } = await client.from(\"projects\").update(stampRow).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Project '${id}' not found`, 404);\n\t\tconst { error: pmErr } = await client.from(\"project_members\").update(stampRow).eq(\"project_id\", id).is(\"deleted_at\", null);\n\t\tif (pmErr) throw mapPostgrestError(pmErr);\n\t\tconst { data: deletedDefs, error: defErr } = await client.from(\"definitions\").update(stampRow).eq(\"project_id\", id).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (defErr) throw mapPostgrestError(defErr);\n\t\tfor (const row of deletedDefs ?? []) await this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: row.guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.deleted\",\n\t\t\tprojectId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync reactivateProject(ctx, orgId, slug) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { data, error } = await client.from(\"projects\").update({ deleted_at: null }).eq(\"org_id\", orgId).eq(\"slug\", slug).not(\"deleted_at\", \"is\", null).select(PROJECT_COLUMNS).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data) return null;\n\t\tconst { error: pmErr } = await client.from(\"project_members\").update({ deleted_at: null }).eq(\"project_id\", data.id).eq(\"user_id\", data.owner_id).not(\"deleted_at\", \"is\", null);\n\t\tif (pmErr) throw mapPostgrestError(pmErr);\n\t\tconst project = rowToProject(data);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t\treturn project;\n\t}\n\tasync listProjectMembers(ctx, projectId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"project_members\").select(PROJECT_MEMBER_COLUMNS, { count: \"exact\" }).eq(\"project_id\", projectId).is(\"deleted_at\", null).order(\"joined_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToProjectMember);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getProjectMember(ctx, projectId, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"project_members\").select(PROJECT_MEMBER_COLUMNS).eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToProjectMember(data) : null;\n\t}\n\tasync getProjectMembersFor(ctx, projectIds, userId) {\n\t\tconst result = new Map(projectIds.map((id) => [id, null]));\n\t\tif (projectIds.length === 0) return result;\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"project_members\").select(PROJECT_MEMBER_COLUMNS).in(\"project_id\", [...projectIds]).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tfor (const row of data ?? []) result.set(row.project_id, rowToProjectMember(row));\n\t\treturn result;\n\t}\n\tasync addProjectMember(ctx, member) {\n\t\tconst row = {\n\t\t\t...projectMemberToRow(member),\n\t\t\tdeleted_at: null,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"project_members\").upsert(row, { onConflict: \"project_id,user_id\" });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.added\",\n\t\t\tprojectId: member.projectId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProjectMemberRole(ctx, projectId, userId, role) {\n\t\tconst row = {\n\t\t\trole,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"project_members\").update(row).eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null).select(\"user_id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Project member '${userId}' not found`, 404);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.role_changed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeProjectMember(ctx, projectId, userId) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"project_members\").update(stampSoftDelete(ctx)).eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.removed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\nfunction rowToProject(row) {\n\treturn {\n\t\tid: row.id,\n\t\torgId: row.org_id,\n\t\tname: row.name,\n\t\tslug: row.slug,\n\t\tdescription: row.description ?? void 0,\n\t\tvisibility: row.visibility,\n\t\townerId: row.owner_id,\n\t\tcreatedBy: row.created_by ?? row.owner_id,\n\t\tupdatedBy: row.updated_by ?? row.owner_id,\n\t\tautoJoinOnUpload: row.auto_join_on_upload ?? false,\n\t\tcreatedAt: row.created_at,\n\t\tupdatedAt: row.updated_at,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction projectToRow(p) {\n\treturn {\n\t\tid: p.id,\n\t\torg_id: p.orgId,\n\t\tname: p.name,\n\t\tslug: p.slug,\n\t\tdescription: p.description ?? null,\n\t\tvisibility: p.visibility,\n\t\towner_id: p.ownerId,\n\t\tcreated_by: p.createdBy,\n\t\tupdated_by: p.updatedBy,\n\t\tauto_join_on_upload: p.autoJoinOnUpload,\n\t\tcreated_at: p.createdAt,\n\t\tupdated_at: p.updatedAt,\n\t\tdeleted_at: p.deletedAt ?? null\n\t};\n}\nfunction rowToProjectMember(row) {\n\treturn {\n\t\tprojectId: row.project_id,\n\t\tuserId: row.user_id,\n\t\trole: row.role,\n\t\tjoinedAt: row.joined_at,\n\t\tupdatedAt: row.updated_at ?? row.joined_at,\n\t\tupdatedBy: row.updated_by ?? row.user_id,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction projectMemberToRow(m) {\n\treturn {\n\t\tproject_id: m.projectId,\n\t\tuser_id: m.userId,\n\t\trole: m.role,\n\t\tjoined_at: m.joinedAt\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseDefinitionStore.ts\n/** Explicit column list for `definitions` — every field `rowToRecord` consumes. */\nvar DEFINITION_COLUMNS = \"guid, project_id, owner_id, created_by, updated_by, compute_server_id, solve_cache_limit, display_name, description, category, tags, cover_image, status, run_count, next_version_number, live_version_id, draft_version_id, created_at, updated_at, deleted_at\";\n/**\n* Explicit column list for `definition_versions`, minus the `schema` JSONB.\n* `schema` can be hundreds of KB per row, so the list projection leaves it out\n* and `listVersions` returns rows with `schema: undefined`; only `getVersion`\n* (which reads one row, for a caller that needs the schema) pulls it in.\n*/\nvar DEFINITION_VERSION_COLUMNS = \"id, definition_guid, version_number, file_ext, file_key, original_filename, uploaded_by, uploaded_at, change_note, schema_extracted_at\";\n/**\n* `getVersion`'s projection — the list columns plus the `schema` JSONB. Spelled\n* out rather than built with a template literal: supabase-js infers the row\n* type from the literal column string, and a template literal degrades it to\n* `string`.\n*/\nvar DEFINITION_VERSION_COLUMNS_WITH_SCHEMA = \"id, definition_guid, version_number, file_ext, file_key, original_filename, uploaded_by, uploaded_at, change_note, schema_extracted_at, schema\";\n/**\n* Definition metadata + version store backed by Postgres. `definitions` carries\n* the parent record and the `live`/`draft` channel pointers; `definition_versions`\n* carries the immutable per-upload rows.\n*/\nvar SupabaseDefinitionStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync list(ctx, opts) {\n\t\treturn this.runList(ctx, void 0, opts);\n\t}\n\tasync listByProject(ctx, projectId, opts) {\n\t\treturn this.runList(ctx, { projectId }, opts);\n\t}\n\tasync listPublic(ctx, opts) {\n\t\treturn this.runList(ctx, {\n\t\t\tpublicOnly: true,\n\t\t\torgId: opts?.orgId\n\t\t}, opts);\n\t}\n\tasync runList(ctx, filter, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst direction = opts?.orderDir ?? \"desc\";\n\t\tconst selectColumns = filter?.publicOnly ? `${DEFINITION_COLUMNS}, project:projects!inner(visibility, org_id)` : DEFINITION_COLUMNS;\n\t\tlet query = this.clients.forRequest(ctx).from(\"definitions\").select(selectColumns, { count: \"exact\" }).is(\"deleted_at\", null);\n\t\tif (filter?.publicOnly) {\n\t\t\tquery = query.eq(\"project.visibility\", \"public\");\n\t\t\tif (filter.orgId) query = query.eq(\"project.org_id\", filter.orgId);\n\t\t}\n\t\tif (filter?.projectId) query = query.eq(\"project_id\", filter.projectId);\n\t\tif (opts?.projectIds) {\n\t\t\tif (opts.projectIds.length === 0) return { items: [] };\n\t\t\tquery = query.in(\"project_id\", [...opts.projectIds]);\n\t\t}\n\t\tif (opts?.statuses?.length) query = query.in(\"status\", opts.statuses);\n\t\telse {\n\t\t\tconst excluded = [];\n\t\t\tif (!opts?.includePending) excluded.push(\"pending\");\n\t\t\tif (!opts?.includeArchived) excluded.push(\"archived\");\n\t\t\tif (excluded.length) query = query.not(\"status\", \"in\", `(${excluded.join(\",\")})`);\n\t\t}\n\t\tquery = query.order(definitionOrderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n\t\tconst { data, error, count } = await query;\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToRecord);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync get(ctx, guid) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").select(DEFINITION_COLUMNS).eq(\"guid\", guid).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToRecord(data) : null;\n\t}\n\tasync create(ctx, record) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definitions\").insert(recordToRow(record));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.created\",\n\t\t\tdefinitionId: record.guid,\n\t\t\tprojectId: record.projectId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync update(ctx, guid, patch) {\n\t\tconst row = patchToRow(patch);\n\t\tif (Object.keys(row).length === 0) return;\n\t\tObject.assign(row, stampUpdate(ctx));\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").update(row).eq(\"guid\", guid).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t}\n\tasync delete(ctx, guid) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definitions\").update(stampSoftDelete(ctx)).eq(\"guid\", guid).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByProject(ctx, projectId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").update(stampSoftDelete(ctx)).eq(\"project_id\", projectId).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tfor (const row of data ?? []) await this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: row.guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync incrementSolveCount(ctx, guid) {\n\t\tconst { error } = await this.clients.forRequest(ctx).rpc(\"increment_run_count\", { g: guid });\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n\tasync reserveNextVersionNumber(ctx, guid) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).rpc(\"reserve_next_version_number\", { g: guid });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (typeof data !== \"number\") throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t\treturn data;\n\t}\n\tasync createVersion(ctx, version) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").insert(versionToRow(version));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.created\",\n\t\t\tversionId: version.id,\n\t\t\tdefinitionId: version.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listVersions(ctx, definitionId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"definition_versions\").select(DEFINITION_VERSION_COLUMNS, { count: \"exact\" }).eq(\"definition_guid\", definitionId).order(\"version_number\", { ascending: false }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToVersion);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getVersion(ctx, versionId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definition_versions\").select(DEFINITION_VERSION_COLUMNS_WITH_SCHEMA).eq(\"id\", versionId).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToVersion(data) : null;\n\t}\n\tasync setVersionSchema(ctx, versionId, schema) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").update({\n\t\t\tschema,\n\t\t\tschema_extracted_at: (/* @__PURE__ */ new Date()).toISOString()\n\t\t}).eq(\"id\", versionId);\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n\tasync deleteVersion(ctx, versionId) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").delete().eq(\"id\", versionId);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.deleted\",\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync setLiveVersion(ctx, definitionId, versionId) {\n\t\tawait this.repointChannel(ctx, definitionId, versionId, \"live_version_id\");\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.published\",\n\t\t\tdefinitionId,\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync setDraftVersion(ctx, definitionId, versionId) {\n\t\tawait this.repointChannel(ctx, definitionId, versionId, \"draft_version_id\");\n\t}\n\tasync attachInitialVersion(ctx, definitionId, versionId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { data: version, error: vError } = await client.from(\"definition_versions\").select(\"id, definition_guid\").eq(\"id\", versionId).maybeSingle();\n\t\tif (vError) throw mapPostgrestError(vError);\n\t\tif (!version || version.definition_guid !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tconst row = {\n\t\t\tlive_version_id: versionId,\n\t\t\tdraft_version_id: versionId,\n\t\t\tstatus: \"draft\",\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { data, error } = await client.from(\"definitions\").update(row).eq(\"guid\", definitionId).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t}\n\tasync repointChannel(ctx, definitionId, versionId, column) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { data: version, error: vError } = await client.from(\"definition_versions\").select(\"id, definition_guid\").eq(\"id\", versionId).maybeSingle();\n\t\tif (vError) throw mapPostgrestError(vError);\n\t\tif (!version || version.definition_guid !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tconst row = {\n\t\t\t[column]: versionId,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { data, error } = await client.from(\"definitions\").update(row).eq(\"guid\", definitionId).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t}\n};\nfunction rowToRecord(row) {\n\treturn {\n\t\tguid: row.guid,\n\t\tprojectId: row.project_id,\n\t\townerId: row.owner_id,\n\t\tcreatedBy: row.created_by ?? row.owner_id,\n\t\tupdatedBy: row.updated_by ?? row.owner_id,\n\t\tliveVersionId: row.live_version_id,\n\t\tdraftVersionId: row.draft_version_id,\n\t\tcomputeServerId: row.compute_server_id ?? void 0,\n\t\tsolveCacheLimit: row.solve_cache_limit == null ? void 0 : typeof row.solve_cache_limit === \"string\" ? Number(row.solve_cache_limit) : row.solve_cache_limit,\n\t\tdisplayName: row.display_name,\n\t\tdescription: row.description ?? void 0,\n\t\tcategory: row.category ?? void 0,\n\t\ttags: row.tags ?? void 0,\n\t\tcoverImage: row.cover_image ?? void 0,\n\t\tstatus: row.status,\n\t\tsolveCount: typeof row.run_count === \"string\" ? Number(row.run_count) : row.run_count,\n\t\tnextVersionNumber: typeof row.next_version_number === \"string\" ? Number(row.next_version_number) : row.next_version_number,\n\t\tcreatedAt: row.created_at,\n\t\tupdatedAt: row.updated_at,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction recordToRow(r) {\n\tconst row = {\n\t\tguid: r.guid,\n\t\tproject_id: r.projectId,\n\t\towner_id: r.ownerId,\n\t\tcreated_by: r.createdBy,\n\t\tupdated_by: r.updatedBy,\n\t\tlive_version_id: r.liveVersionId,\n\t\tdraft_version_id: r.draftVersionId,\n\t\tcompute_server_id: r.computeServerId ?? null,\n\t\tsolve_cache_limit: r.solveCacheLimit ?? null,\n\t\tdisplay_name: r.displayName,\n\t\tdescription: r.description ?? null,\n\t\tcategory: r.category ?? null,\n\t\tcover_image: r.coverImage ?? null,\n\t\tstatus: r.status,\n\t\trun_count: r.solveCount,\n\t\tnext_version_number: r.nextVersionNumber,\n\t\tcreated_at: r.createdAt,\n\t\tupdated_at: r.updatedAt,\n\t\tdeleted_at: r.deletedAt ?? null\n\t};\n\tif (r.tags !== void 0) row.tags = r.tags;\n\treturn row;\n}\nfunction patchToRow(patch) {\n\tconst row = {};\n\tif (patch.displayName !== void 0) row.display_name = patch.displayName;\n\tif (patch.description !== void 0) row.description = patch.description;\n\tif (patch.category !== void 0) row.category = patch.category;\n\tif (patch.tags !== void 0) row.tags = patch.tags;\n\tif (patch.coverImage !== void 0) row.cover_image = patch.coverImage;\n\tif (patch.projectId !== void 0) row.project_id = patch.projectId;\n\tif (patch.computeServerId !== void 0) row.compute_server_id = patch.computeServerId;\n\tif (patch.solveCacheLimit !== void 0) row.solve_cache_limit = patch.solveCacheLimit;\n\tif (patch.status !== void 0) row.status = patch.status;\n\tif (patch.ownerId !== void 0) row.owner_id = patch.ownerId;\n\treturn row;\n}\nfunction rowToVersion(row) {\n\treturn {\n\t\tid: row.id,\n\t\tdefinitionId: row.definition_guid,\n\t\tversionNumber: row.version_number,\n\t\tfileExt: row.file_ext,\n\t\tfileKey: row.file_key,\n\t\toriginalFilename: row.original_filename ?? void 0,\n\t\tuploadedBy: row.uploaded_by,\n\t\tuploadedAt: row.uploaded_at,\n\t\tchangeNote: row.change_note ?? void 0,\n\t\tschema: row.schema ?? void 0,\n\t\tschemaExtractedAt: row.schema_extracted_at ?? void 0\n\t};\n}\nfunction versionToRow(v) {\n\tconst row = {\n\t\tid: v.id,\n\t\tdefinition_guid: v.definitionId,\n\t\tversion_number: v.versionNumber,\n\t\tfile_ext: v.fileExt,\n\t\tfile_key: v.fileKey,\n\t\toriginal_filename: v.originalFilename ?? null,\n\t\tuploaded_by: v.uploadedBy,\n\t\tuploaded_at: v.uploadedAt\n\t};\n\tif (v.changeNote !== void 0) row.change_note = v.changeNote;\n\tif (v.schema !== void 0) row.schema = v.schema;\n\tif (v.schemaExtractedAt !== void 0) row.schema_extracted_at = v.schemaExtractedAt;\n\treturn row;\n}\nfunction definitionOrderColumn(orderBy) {\n\tswitch (orderBy) {\n\t\tcase \"name\": return \"display_name\";\n\t\tcase \"solveCount\": return \"run_count\";\n\t\tcase \"updatedAt\": return \"updated_at\";\n\t\tdefault: return \"created_at\";\n\t}\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseInviteStore.ts\n/** Explicit column list for `invites` — every field `rowToInvite` consumes. */\nvar INVITE_COLUMNS = \"id, token_hash, email, org_id, org_role, org_permissions, invited_by, created_at, expires_at, accepted_at, accepted_by_user_id\";\n/**\n* Invite store. `getByTokenHash` routes through a SECURITY DEFINER RPC so an\n* unauthenticated caller (still validating an invite link) can resolve it\n* without RLS blocking them. The raw token is hashed at the route layer\n* (`invites/token.server.ts` in the selva app); this store only ever sees the\n* HMAC digest. Other operations go through the normal REST API, with RLS\n* enforcing `manage_org_members`.\n*/\nvar SupabaseInviteStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync create(ctx, invite) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"invites\").insert(inviteToRow(invite));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.created\",\n\t\t\tinviteId: invite.id,\n\t\t\torgId: invite.orgId,\n\t\t\temail: invite.email,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync getByTokenHash(ctx, tokenHash) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).rpc(\"get_invite_by_token_hash\", { h: tokenHash });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst row = Array.isArray(data) ? data[0] : data;\n\t\treturn row ? rowToInvite(row) : null;\n\t}\n\tasync listByOrg(ctx, orgId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"invites\").select(INVITE_COLUMNS, { count: \"exact\" }).eq(\"org_id\", orgId).order(\"created_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToInvite);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync markAccepted(ctx, id, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"invites\").update({\n\t\t\taccepted_at: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\taccepted_by_user_id: userId\n\t\t}).eq(\"id\", id).is(\"accepted_at\", null).select(\"org_id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst row = data?.[0];\n\t\tif (!row) return;\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.accepted\",\n\t\t\tinviteId: id,\n\t\t\torgId: row.org_id,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"invites\").delete().eq(\"id\", id).is(\"accepted_at\", null).select(\"org_id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst row = data?.[0];\n\t\tif (!row) return;\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.revoked\",\n\t\t\tinviteId: id,\n\t\t\torgId: row.org_id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByOrg(ctx, orgId) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"invites\").delete().eq(\"org_id\", orgId);\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n};\nfunction rowToInvite(row) {\n\treturn {\n\t\tid: row.id,\n\t\ttokenHash: row.token_hash,\n\t\temail: row.email,\n\t\torgId: row.org_id,\n\t\torgRole: row.org_role,\n\t\torgPermissions: row.org_permissions,\n\t\tinvitedBy: row.invited_by,\n\t\tcreatedAt: row.created_at,\n\t\texpiresAt: row.expires_at,\n\t\tacceptedAt: row.accepted_at ?? void 0,\n\t\tacceptedByUserId: row.accepted_by_user_id ?? void 0\n\t};\n}\nfunction inviteToRow(i) {\n\treturn {\n\t\tid: i.id,\n\t\ttoken_hash: i.tokenHash,\n\t\temail: i.email,\n\t\torg_id: i.orgId,\n\t\torg_role: i.orgRole,\n\t\torg_permissions: i.orgPermissions,\n\t\tinvited_by: i.invitedBy,\n\t\tcreated_at: i.createdAt,\n\t\texpires_at: i.expiresAt,\n\t\taccepted_at: i.acceptedAt ?? null,\n\t\taccepted_by_user_id: i.acceptedByUserId ?? null\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseComputeServerStore.ts\nvar SERVER_COLUMNS = \"id, scope, owner_org_id, shared_with_all, label, server_url, timeout_ms, retry_count, has_api_key\";\nvar SERVER_COLUMNS_WITH_KEY = \"id, scope, owner_org_id, shared_with_all, label, server_url, timeout_ms, retry_count, has_api_key, api_key\";\nvar SHARE_COLUMNS = \"server_id, org_id\";\nvar ORG_DEFAULT_COLUMNS = \"org_id, default_server_id\";\n/**\n* Compute-server config backed by three tables:\n* - `compute_servers`: one row per server. `scope = 'platform' | 'org'`.\n* Platform rows carry a `shared_with_all` flag + `compute_server_shares`\n* allowlist; org rows carry `owner_org_id`.\n* - `compute_server_shares`: many-to-many for platform servers shared\n* with specific orgs (when `shared_with_all = false`).\n* - `compute_server_org_defaults`: per-org `orgDefaults[orgId]` choice.\n* - `compute_server_platform_default`: single-row sentinel for the global\n* `defaultServerId`.\n*\n* `getConfig` returns the full doc; the visibility predicate is applied by\n* callers (resolver, page loaders) using helpers in `@selvajs/platform`.\n*/\nvar SupabaseComputeServerStore = class {\n\tclients;\n\tsecretKey;\n\t/**\n\t* `secretKey` (from `SELVA_AT_REST_KEY`) encrypts/decrypts `compute_servers.api_key`\n\t* so the Rhino.Compute credential never sits in the DB as plaintext. Optional\n\t* only for construction paths that never touch apiKeys — a store built\n\t* without a key throws if asked to write or read a secret.\n\t*/\n\tlogger;\n\tconstructor(clients, secretKey, logger) {\n\t\tthis.clients = clients;\n\t\tthis.secretKey = secretKey;\n\t\tthis.logger = logger ?? new NoopLogger();\n\t}\n\tasync getConfig(ctx, opts = {}) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst withKeys = opts.includeApiKeys === true;\n\t\tconst [serversRes, sharesRes, orgDefRes, platDefRes] = await Promise.all([\n\t\t\twithKeys ? client.from(\"compute_servers\").select(SERVER_COLUMNS_WITH_KEY) : client.from(\"compute_servers\").select(SERVER_COLUMNS),\n\t\t\tclient.from(\"compute_server_shares\").select(SHARE_COLUMNS),\n\t\t\tclient.from(\"compute_server_org_defaults\").select(ORG_DEFAULT_COLUMNS),\n\t\t\tclient.from(\"compute_server_platform_default\").select(\"default_server_id\").eq(\"singleton\", true).maybeSingle()\n\t\t]);\n\t\tif (serversRes.error) throw mapPostgrestError(serversRes.error);\n\t\tif (sharesRes.error) throw mapPostgrestError(sharesRes.error);\n\t\tif (orgDefRes.error) throw mapPostgrestError(orgDefRes.error);\n\t\tif (platDefRes.error) throw mapPostgrestError(platDefRes.error);\n\t\tconst sharedByServer = /* @__PURE__ */ new Map();\n\t\tfor (const row of sharesRes.data ?? []) {\n\t\t\tconst list = sharedByServer.get(row.server_id) ?? [];\n\t\t\tlist.push(row.org_id);\n\t\t\tsharedByServer.set(row.server_id, list);\n\t\t}\n\t\tconst servers = (serversRes.data ?? []).map((row) => rowToServer(withKeys ? this.decryptRowApiKey(row) : row, sharedByServer, withKeys));\n\t\tconst orgDefaults = {};\n\t\tfor (const row of orgDefRes.data ?? []) if (row.default_server_id) orgDefaults[row.org_id] = row.default_server_id;\n\t\treturn {\n\t\t\tservers,\n\t\t\tdefaultServerId: platDefRes.data?.default_server_id ?? void 0,\n\t\t\torgDefaults\n\t\t};\n\t}\n\t/**\n\t* The solve path's entry point: one row lookup + one decrypt instead of\n\t* `getConfig`'s whole-table read. An unknown id or unreadable ciphertext\n\t* yields `undefined` rather than throwing.\n\t*/\n\tasync getServerApiKey(ctx, serverId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"compute_servers\").select(\"id, label, api_key\").eq(\"id\", serverId).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data) return void 0;\n\t\treturn this.decryptRowApiKey(data).api_key ?? void 0;\n\t}\n\tasync savePlatformServers(ctx, servers, defaultServerId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst platformOnly = servers.filter(isPlatformServer);\n\t\tconst { error: delErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"platform\");\n\t\tif (delErr) throw mapPostgrestError(delErr);\n\t\tif (platformOnly.length > 0) {\n\t\t\tconst { error: insErr } = await client.from(\"compute_servers\").insert(platformOnly.map((s) => serverToRow(this.encryptServerApiKey(s))));\n\t\t\tif (insErr) throw mapPostgrestError(insErr);\n\t\t\tconst shareRows = platformOnly.flatMap((s) => s.sharedWith === \"all\" ? [] : s.sharedWith.map((orgId) => ({\n\t\t\t\tserver_id: s.id,\n\t\t\t\torg_id: orgId\n\t\t\t})));\n\t\t\tif (shareRows.length > 0) {\n\t\t\t\tconst { error: shErr } = await client.from(\"compute_server_shares\").insert(shareRows);\n\t\t\t\tif (shErr) throw mapPostgrestError(shErr);\n\t\t\t}\n\t\t}\n\t\tconst { error: defErr } = await client.from(\"compute_server_platform_default\").update({ default_server_id: defaultServerId ?? null }).eq(\"singleton\", true);\n\t\tif (defErr) throw mapPostgrestError(defErr);\n\t}\n\tasync saveOrgServers(ctx, orgId, servers, defaultServerId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst orgOnly = servers.filter(isOrgServer).map((s) => ({\n\t\t\t...s,\n\t\t\townerOrgId: orgId\n\t\t}));\n\t\tconst { error: delErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", orgId);\n\t\tif (delErr) throw mapPostgrestError(delErr);\n\t\tif (orgOnly.length > 0) {\n\t\t\tconst { error: insErr } = await client.from(\"compute_servers\").insert(orgOnly.map((s) => serverToRow(this.encryptServerApiKey(s))));\n\t\t\tif (insErr) throw mapPostgrestError(insErr);\n\t\t}\n\t\tif (defaultServerId === null) {\n\t\t\tconst { error } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n\t\t\tif (error) throw mapPostgrestError(error);\n\t\t} else if (typeof defaultServerId === \"string\") {\n\t\t\tconst { error } = await client.from(\"compute_server_org_defaults\").upsert({\n\t\t\t\torg_id: orgId,\n\t\t\t\tdefault_server_id: defaultServerId\n\t\t\t});\n\t\t\tif (error) throw mapPostgrestError(error);\n\t\t}\n\t}\n\tasync setOrgDefault(ctx, orgId, serverId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tif (serverId === null) {\n\t\t\tconst { error } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n\t\t\tif (error) throw mapPostgrestError(error);\n\t\t\treturn;\n\t\t}\n\t\tconst { error } = await client.from(\"compute_server_org_defaults\").upsert({\n\t\t\torg_id: orgId,\n\t\t\tdefault_server_id: serverId\n\t\t});\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n\tasync deleteByOrg(ctx, orgId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { error: defErr } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n\t\tif (defErr) throw mapPostgrestError(defErr);\n\t\tconst { error: srvErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", orgId);\n\t\tif (srvErr) throw mapPostgrestError(srvErr);\n\t\tconst { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", orgId);\n\t\tif (shErr) throw mapPostgrestError(shErr);\n\t}\n\t/**\n\t* Encrypt a server's `apiKey` before it is written to the DB. Idempotent —\n\t* an already-enveloped value is passed through, so a round-trip (read →\n\t* save) never double-encrypts. Throws if the store was built without a key\n\t* but a real secret needs writing, so we never silently persist plaintext.\n\t*/\n\tencryptServerApiKey(s) {\n\t\tif (!s.apiKey) return s;\n\t\tif (isEncryptedSecret(s.apiKey)) return s;\n\t\tif (!this.secretKey) throw new Error(\"Cannot store a compute-server apiKey: SELVA_AT_REST_KEY is not configured. Set it so secrets are encrypted at rest.\");\n\t\treturn {\n\t\t\t...s,\n\t\t\tapiKey: encryptSecret(s.apiKey, this.secretKey)\n\t\t};\n\t}\n\t/**\n\t* Decrypt a row's `api_key` on read. Tolerant, mirroring the local provider:\n\t* a row whose ciphertext can't be authenticated under the current key is\n\t* returned with `api_key: null` and a warning logged, so the page keeps\n\t* rendering (solves against that server fail later at Rhino.Compute). A\n\t* plaintext value that predates encryption is passed through unchanged and\n\t* surfaced by `verifySecrets()` — never silently dropped.\n\t*/\n\tdecryptRowApiKey(row) {\n\t\tif (!row.api_key) return row;\n\t\tif (!isEncryptedSecret(row.api_key)) {\n\t\t\tthis.logger.warn(\"Compute server row has a plaintext api_key; re-save it via /admin/compute so it is stored encrypted\", {\n\t\t\t\tcomponent: \"selva\",\n\t\t\t\tserverLabel: row.label,\n\t\t\t\tserverId: row.id\n\t\t\t});\n\t\t\treturn row;\n\t\t}\n\t\tif (!this.secretKey) {\n\t\t\tthis.logger.warn(\"Cannot decrypt api_key: SELVA_AT_REST_KEY is not configured. Returning without a key; solves will fail\", {\n\t\t\t\tcomponent: \"selva\",\n\t\t\t\tserverLabel: row.label,\n\t\t\t\tserverId: row.id\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...row,\n\t\t\t\tapi_key: null\n\t\t\t};\n\t\t}\n\t\ttry {\n\t\t\treturn {\n\t\t\t\t...row,\n\t\t\t\tapi_key: decryptSecret(row.api_key, this.secretKey)\n\t\t\t};\n\t\t} catch (cause) {\n\t\t\tthis.logger.warn(\"Could not decrypt api_key: the stored ciphertext does not match the current SELVA_AT_REST_KEY. This server is returned without an apiKey and solves against it will fail. Re-enter the key via /admin/compute, or restore the original SELVA_AT_REST_KEY\", {\n\t\t\t\tcomponent: \"selva\",\n\t\t\t\tserverLabel: row.label,\n\t\t\t\tserverId: row.id,\n\t\t\t\terr: cause instanceof Error ? cause.stack ?? cause.message : String(cause)\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...row,\n\t\t\t\tapi_key: null\n\t\t\t};\n\t\t}\n\t}\n\t/**\n\t* Boot-time integrity check over every `compute_servers` row. Uses the\n\t* service client (no request context at boot) to read raw ciphertext, then\n\t* attempts to decrypt each `api_key`. Does NOT throw — returns a structured\n\t* report for boot health to drive `/api/health`.\n\t*/\n\tasync verifySecrets() {\n\t\tconst { data, error } = await this.clients.serviceClient.from(\"compute_servers\").select(\"id, label, api_key\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst failures = [];\n\t\tlet plaintextFound = false;\n\t\tfor (const row of data ?? []) {\n\t\t\tconst apiKey = row.api_key;\n\t\t\tconst id = row.id;\n\t\t\tconst label = row.label;\n\t\t\tif (!apiKey) continue;\n\t\t\tif (!isEncryptedSecret(apiKey)) {\n\t\t\t\tplaintextFound = true;\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: id,\n\t\t\t\t\tserverLabel: label,\n\t\t\t\t\treason: \"plaintext_on_disk\"\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!this.secretKey) {\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: id,\n\t\t\t\t\tserverLabel: label,\n\t\t\t\t\treason: \"key_mismatch\",\n\t\t\t\t\tcause: \"SELVA_AT_REST_KEY is not configured\"\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tdecryptSecret(apiKey, this.secretKey);\n\t\t\t} catch (cause) {\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: id,\n\t\t\t\t\tserverLabel: label,\n\t\t\t\t\treason: \"key_mismatch\",\n\t\t\t\t\tcause: cause instanceof Error ? cause.message : String(cause)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tok: failures.length === 0,\n\t\t\tfailures,\n\t\t\tplaintextFound\n\t\t};\n\t}\n};\n/**\n* `withKey` mirrors the projection the row was read with. It gates `apiKey`\n* explicitly rather than trusting the row's shape, so a key can never ride along\n* on a read that didn't ask for one.\n*/\nfunction rowToServer(row, sharedByServer, withKey) {\n\tconst common = {\n\t\tid: row.id,\n\t\tlabel: row.label,\n\t\tserverUrl: row.server_url,\n\t\tapiKey: withKey ? row.api_key ?? void 0 : void 0,\n\t\thasApiKey: row.has_api_key ?? !!row.api_key,\n\t\ttimeoutMs: row.timeout_ms ?? void 0,\n\t\tretryCount: row.retry_count ?? void 0\n\t};\n\tif (row.scope === \"platform\") return {\n\t\t...common,\n\t\tscope: \"platform\",\n\t\tsharedWith: row.shared_with_all ? \"all\" : sharedByServer.get(row.id) ?? []\n\t};\n\tif (!row.owner_org_id) throw new Error(`compute_servers row ${row.id} has scope='org' but null owner_org_id`);\n\treturn {\n\t\t...common,\n\t\tscope: \"org\",\n\t\townerOrgId: row.owner_org_id\n\t};\n}\nfunction serverToRow(s) {\n\tconst base = {\n\t\tid: s.id,\n\t\tlabel: s.label,\n\t\tserver_url: s.serverUrl,\n\t\tapi_key: s.apiKey ?? null,\n\t\ttimeout_ms: s.timeoutMs ?? null,\n\t\tretry_count: s.retryCount ?? null\n\t};\n\tif (isPlatformServer(s)) return {\n\t\t...base,\n\t\tscope: \"platform\",\n\t\towner_org_id: null,\n\t\tshared_with_all: s.sharedWith === \"all\"\n\t};\n\treturn {\n\t\t...base,\n\t\tscope: \"org\",\n\t\towner_org_id: s.ownerOrgId,\n\t\tshared_with_all: false\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseShareLinkStore.ts\n/** Explicit column list for `share_links` — every field `rowToLink` consumes. */\nvar SHARE_LINK_COLUMNS = \"id, definition_guid, channel, token_hash, name, created_by, created_at, expires_at, revoked_at, allow_solve, max_solves, solve_count\";\n/**\n* Share-link store backed by Postgres.\n*\n* `getByTokenHash` and `tryIncrementSolveCount` go through the service-role\n* client and a SECURITY DEFINER RPC, bypassing RLS: the token itself is the\n* credential, not the authenticated user's identity.\n*/\nvar SupabaseShareLinkStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync create(ctx, link) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"share_links\").insert(linkToRow(link));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.minted\",\n\t\t\tlinkId: link.id,\n\t\t\tdefinitionId: link.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listByDefinition(ctx, definitionId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"share_links\").select(SHARE_LINK_COLUMNS, { count: \"exact\" }).eq(\"definition_guid\", definitionId).is(\"revoked_at\", null).order(\"created_at\", { ascending: false }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToLink);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getById(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"share_links\").select(SHARE_LINK_COLUMNS).eq(\"id\", id).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToLink(data) : null;\n\t}\n\tasync getByTokenHash(_ctx, tokenHash) {\n\t\tconst { data, error } = await this.clients.serviceClient.from(\"share_links\").select(`${SHARE_LINK_COLUMNS}, definitions!inner(deleted_at)`).eq(\"token_hash\", tokenHash).is(\"revoked_at\", null).is(\"definitions.deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToLink(data) : null;\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"share_links\").update({ revoked_at: (/* @__PURE__ */ new Date()).toISOString() }).eq(\"id\", id).is(\"revoked_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.revoked\",\n\t\t\tlinkId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync tryIncrementSolveCount(_ctx, id) {\n\t\tconst { data, error } = await this.clients.serviceClient.rpc(\"try_increment_share_link_solve_count\", { link_id: id });\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn typeof data === \"number\" ? data : null;\n\t}\n};\nfunction rowToLink(row) {\n\treturn {\n\t\tid: row.id,\n\t\tdefinitionId: row.definition_guid,\n\t\tchannel: row.channel,\n\t\ttokenHash: row.token_hash,\n\t\tname: row.name ?? void 0,\n\t\tcreatedBy: row.created_by,\n\t\tcreatedAt: row.created_at,\n\t\texpiresAt: row.expires_at,\n\t\trevokedAt: row.revoked_at,\n\t\tallowSolve: row.allow_solve,\n\t\tmaxSolves: row.max_solves,\n\t\tsolveCount: row.solve_count\n\t};\n}\nfunction linkToRow(l) {\n\treturn {\n\t\tid: l.id,\n\t\tdefinition_guid: l.definitionId,\n\t\tchannel: l.channel,\n\t\ttoken_hash: l.tokenHash,\n\t\tname: l.name ?? null,\n\t\tcreated_by: l.createdBy,\n\t\tcreated_at: l.createdAt,\n\t\texpires_at: l.expiresAt ?? null,\n\t\trevoked_at: l.revokedAt ?? null,\n\t\tallow_solve: l.allowSolve,\n\t\tmax_solves: l.maxSolves ?? null,\n\t\tsolve_count: l.solveCount\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/migrationHead.ts\n/**\n* Timestamp prefix of the newest file in `supabase/migrations/`. Bump this\n* whenever a migration is added — `migration-head.test.ts` asserts it\n* matches the migrations directory, so CI catches drift.\n*/\nvar EXPECTED_MIGRATION_HEAD = \"20260717120000\";\n//#endregion\n//#region ../providers/supabase/src/data/client.ts\n/** Default schema every engine store targets. */\nvar DEFAULT_SCHEMA = \"selva\";\nfunction buildClientBundle(opts) {\n\tconst serviceBySchema = /* @__PURE__ */ new Map();\n\tconst anonBySchema = /* @__PURE__ */ new Map();\n\tfunction serviceFor(schema) {\n\t\tlet client = serviceBySchema.get(schema);\n\t\tif (!client) {\n\t\t\tclient = createClient(opts.supabaseUrl, opts.serviceRoleKey, {\n\t\t\t\tdb: { schema },\n\t\t\t\tauth: {\n\t\t\t\t\tpersistSession: false,\n\t\t\t\t\tautoRefreshToken: false\n\t\t\t\t}\n\t\t\t});\n\t\t\tserviceBySchema.set(schema, client);\n\t\t}\n\t\treturn client;\n\t}\n\tfunction anonFor(schema) {\n\t\tlet client = anonBySchema.get(schema);\n\t\tif (!client) {\n\t\t\tclient = createClient(opts.supabaseUrl, opts.anonKey, {\n\t\t\t\tdb: { schema },\n\t\t\t\tauth: {\n\t\t\t\t\tpersistSession: false,\n\t\t\t\t\tautoRefreshToken: false\n\t\t\t\t}\n\t\t\t});\n\t\t\tanonBySchema.set(schema, client);\n\t\t}\n\t\treturn client;\n\t}\n\tconst serviceClient = serviceFor(DEFAULT_SCHEMA);\n\tconst perRequestCache = /* @__PURE__ */ new WeakMap();\n\treturn {\n\t\tserviceClient,\n\t\tforRequest(ctx, forOpts) {\n\t\t\tconst schema = forOpts?.schema ?? \"selva\";\n\t\t\tif (ctx.system) return serviceFor(schema);\n\t\t\tconst token = extractSessionToken(ctx.adapterContext);\n\t\t\tif (!token) return anonFor(schema);\n\t\t\tlet bySchema = perRequestCache.get(ctx);\n\t\t\tif (!bySchema) {\n\t\t\t\tbySchema = /* @__PURE__ */ new Map();\n\t\t\t\tperRequestCache.set(ctx, bySchema);\n\t\t\t}\n\t\t\tconst cached = bySchema.get(schema);\n\t\t\tif (cached) return cached;\n\t\t\tconst client = createClient(opts.supabaseUrl, opts.anonKey, {\n\t\t\t\tdb: { schema },\n\t\t\t\tauth: {\n\t\t\t\t\tpersistSession: false,\n\t\t\t\t\tautoRefreshToken: false\n\t\t\t\t},\n\t\t\t\tglobal: { headers: { Authorization: `Bearer ${token}` } }\n\t\t\t});\n\t\t\tbySchema.set(schema, client);\n\t\t\treturn client;\n\t\t}\n\t};\n}\n/**\n* Reads only `SUPABASE_URL` / `SUPABASE_ANON_KEY` / `SUPABASE_SERVICE_ROLE_KEY`.\n* Deliberately does not require `SELVA_AT_REST_KEY` — that's only needed for\n* compute-server secret encryption, which an app building its own `'public'`\n* stores never touches. `SupabaseDataProvider.fromEnv` adds that requirement\n* on top.\n*/\nfunction clientBundleFromEnv(env) {\n\tconst supabaseUrl = env.SUPABASE_URL;\n\tconst anonKey = env.SUPABASE_ANON_KEY;\n\tconst serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n\tif (!supabaseUrl) throw new Error(\"Missing required env var: SUPABASE_URL\");\n\tif (!anonKey) throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n\tif (!serviceRoleKey) throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n\treturn buildClientBundle({\n\t\tsupabaseUrl,\n\t\tanonKey,\n\t\tserviceRoleKey\n\t});\n}\nfunction extractSessionToken(adapterContext) {\n\tif (!adapterContext || typeof adapterContext !== \"object\") return void 0;\n\tconst maybe = adapterContext.sessionToken;\n\treturn typeof maybe === \"string\" && maybe.length > 0 ? maybe : void 0;\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseEventSink.ts\n/**\n* Persists every domain event to `public.audit_events`. Writes use the\n* service-role client so RLS does not gate the audit trail — the sink runs\n* as a system process attached to whichever store emitted the event.\n*\n* Per the `IEventSink` contract, `emit` MUST NOT throw. The user-facing\n* mutation has already succeeded by the time we're here; a failed audit\n* write is logged and swallowed so the response still completes.\n*/\nvar SupabaseEventSink = class {\n\tclients;\n\tlogger;\n\tconstructor(clients, opts = {}) {\n\t\tthis.clients = clients;\n\t\tthis.logger = opts.logger ?? new NoopLogger();\n\t}\n\tasync emit(event) {\n\t\ttry {\n\t\t\tconst { error } = await this.clients.serviceClient.from(\"audit_events\").insert({\n\t\t\t\ttype: event.type,\n\t\t\t\tactor_id: event.actorId,\n\t\t\t\tevent_version: 1,\n\t\t\t\tdata: event\n\t\t\t});\n\t\t\tif (error) this.logger.error(\"Audit event insert failed\", {\n\t\t\t\tcomponent: \"SupabaseEventSink\",\n\t\t\t\teventType: event.type,\n\t\t\t\tactorId: event.actorId,\n\t\t\t\terr: error.message\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tthis.logger.error(\"Unexpected error writing audit event\", {\n\t\t\t\tcomponent: \"SupabaseEventSink\",\n\t\t\t\teventType: event.type,\n\t\t\t\tactorId: event.actorId,\n\t\t\t\terr: err instanceof Error ? err.stack ?? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseSolveMetricSink.ts\nvar DEFAULT_MAX_BATCH_SIZE = 100;\nvar DEFAULT_FLUSH_INTERVAL_MS = 2e3;\nvar DEFAULT_MAX_BUFFER_SIZE = 1e4;\n/**\n* Persists solve timings to `selva.solve_metrics`. Writes go through the\n* service-role client — the sink is a system process attached to the compute\n* route, not the requesting user, so RLS doesn't apply.\n*\n* Rows are buffered and batch-written: slider scrubbing fires solves far\n* faster than they're worth individual round-trips against a Postgres that\n* also serves auth. A batch flushes at `maxBatchSize` rows or `flushIntervalMs`\n* elapsed, whichever comes first.\n*\n* `record` must never throw — it runs on the hot path after the solve\n* response is already sent, so it only buffers; a failed flush is logged and\n* swallowed. That means an unclean shutdown loses buffered metrics; call\n* `close()` to drain deliberately.\n*/\nvar SupabaseSolveMetricSink = class {\n\tclients;\n\tbuffer = [];\n\ttimer = null;\n\tinFlight = Promise.resolve();\n\tclosed = false;\n\tmaxBatchSize;\n\tflushIntervalMs;\n\tmaxBufferSize;\n\tlogger;\n\tconstructor(clients, opts = {}) {\n\t\tthis.clients = clients;\n\t\tthis.maxBatchSize = opts.maxBatchSize ?? DEFAULT_MAX_BATCH_SIZE;\n\t\tthis.flushIntervalMs = opts.flushIntervalMs ?? DEFAULT_FLUSH_INTERVAL_MS;\n\t\tthis.maxBufferSize = opts.maxBufferSize ?? DEFAULT_MAX_BUFFER_SIZE;\n\t\tthis.logger = opts.logger ?? new NoopLogger();\n\t}\n\tasync record(ctx, metric) {\n\t\tif (this.closed) return;\n\t\tthis.buffer.push({\n\t\t\tactor_id: ctx.userId || \"system\",\n\t\t\tdefinition_url: metric.definitionUrl,\n\t\t\tdefinition_id: metric.definitionId,\n\t\t\tversion_id: metric.versionId,\n\t\t\tchannel: metric.channel,\n\t\t\torg_id: metric.orgId,\n\t\t\tduration_ms: metric.durationMs,\n\t\t\tok: metric.ok,\n\t\t\tfailure_kind: metric.failureKind,\n\t\t\terror_count: metric.errorCount,\n\t\t\twarning_count: metric.warningCount\n\t\t});\n\t\tif (this.buffer.length > this.maxBufferSize) {\n\t\t\tconst dropped = this.buffer.length - this.maxBufferSize;\n\t\t\tthis.buffer.splice(0, dropped);\n\t\t\tthis.logger.error(\"Metric buffer full, dropped oldest metrics\", {\n\t\t\t\tcomponent: \"SupabaseSolveMetricSink\",\n\t\t\t\tdropped\n\t\t\t});\n\t\t}\n\t\tif (this.buffer.length >= this.maxBatchSize) {\n\t\t\tthis.flush();\n\t\t\treturn;\n\t\t}\n\t\tthis.scheduleFlush();\n\t}\n\t/**\n\t* Writes everything buffered and resolves once the write settles. Serialized\n\t* against any in-flight flush so batches cannot interleave. Never throws.\n\t*/\n\tasync flush() {\n\t\tconst batch = this.buffer;\n\t\tthis.buffer = [];\n\t\tthis.clearTimer();\n\t\tif (batch.length === 0) return this.inFlight;\n\t\tthis.inFlight = this.inFlight.then(() => this.write(batch));\n\t\treturn this.inFlight;\n\t}\n\t/**\n\t* Stops the timer, drains the buffer, and makes further `record` calls no-ops.\n\t* Call on shutdown so the last partial batch isn't lost.\n\t*/\n\tasync close() {\n\t\tthis.closed = true;\n\t\tthis.clearTimer();\n\t\tawait this.flush();\n\t}\n\tscheduleFlush() {\n\t\tif (this.timer) return;\n\t\tthis.timer = setTimeout(() => {\n\t\t\tthis.timer = null;\n\t\t\tthis.flush();\n\t\t}, this.flushIntervalMs);\n\t\tthis.timer.unref?.();\n\t}\n\tclearTimer() {\n\t\tif (!this.timer) return;\n\t\tclearTimeout(this.timer);\n\t\tthis.timer = null;\n\t}\n\tasync write(batch) {\n\t\ttry {\n\t\t\tconst { error } = await this.clients.serviceClient.from(\"solve_metrics\").insert(batch);\n\t\t\tif (error) this.logger.error(\"Metric batch insert failed\", {\n\t\t\t\tcomponent: \"SupabaseSolveMetricSink\",\n\t\t\t\tcount: batch.length,\n\t\t\t\terr: error.message\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tthis.logger.error(\"Unexpected error writing metric batch\", {\n\t\t\t\tcomponent: \"SupabaseSolveMetricSink\",\n\t\t\t\tcount: batch.length,\n\t\t\t\terr: err instanceof Error ? err.stack ?? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseAuditQuery.ts\nvar MAX_LIMIT = 200;\nvar DEFAULT_LIMIT = 100;\nvar ISO_RE = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})$/;\nvar UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\n/**\n* Read-side for `audit_events`. Always uses the service-role client — RLS\n* blocks all reads by design, so the route layer is the sole trust boundary\n* and must gate callers on `instance_admin`.\n*\n* Pagination is keyset on `(occurred_at desc, id desc)`; the `id` tie-breaker\n* prevents skipped rows when multiple events land in the same millisecond.\n*/\nvar SupabaseAuditQuery = class {\n\tclients;\n\tconstructor(clients) {\n\t\tthis.clients = clients;\n\t}\n\tasync list(_ctx, filters) {\n\t\tconst limit = clampLimit(filters.limit);\n\t\tlet q = this.clients.serviceClient.from(\"audit_events\").select(\"id, type, actor_id, occurred_at, data\").order(\"occurred_at\", { ascending: false }).order(\"id\", { ascending: false }).limit(limit + 1);\n\t\tif (filters.types && filters.types.length > 0) q = q.in(\"type\", [...filters.types]);\n\t\tif (filters.actorId) q = q.eq(\"actor_id\", filters.actorId);\n\t\tif (filters.sinceIso) q = q.gte(\"occurred_at\", filters.sinceIso);\n\t\tif (filters.untilIso) q = q.lte(\"occurred_at\", filters.untilIso);\n\t\tif (filters.cursor) {\n\t\t\tconst ts = filters.cursor.occurredAt;\n\t\t\tconst id = filters.cursor.id;\n\t\t\tif (!ISO_RE.test(ts) || !UUID_RE.test(id)) throw new Error(\"audit_events query: malformed cursor\");\n\t\t\tq = q.or(`occurred_at.lt.${ts},and(occurred_at.eq.${ts},id.lt.${id})`);\n\t\t}\n\t\tconst { data, error } = await q;\n\t\tif (error) throw new Error(`audit_events query failed: ${error.message}`);\n\t\tconst fetched = data ?? [];\n\t\tconst hasMore = fetched.length > limit;\n\t\tconst page = hasMore ? fetched.slice(0, limit) : fetched;\n\t\tconst last = page[page.length - 1];\n\t\treturn {\n\t\t\trows: page.map((r) => ({\n\t\t\t\tid: r.id,\n\t\t\t\ttype: r.type,\n\t\t\t\tactorId: r.actor_id,\n\t\t\t\toccurredAt: r.occurred_at,\n\t\t\t\tdata: r.data\n\t\t\t})),\n\t\t\tnextCursor: hasMore && last ? {\n\t\t\t\toccurredAt: last.occurred_at,\n\t\t\t\tid: last.id\n\t\t\t} : null\n\t\t};\n\t}\n};\nfunction clampLimit(requested) {\n\tif (!requested || requested <= 0) return DEFAULT_LIMIT;\n\tif (requested > MAX_LIMIT) return MAX_LIMIT;\n\treturn Math.floor(requested);\n}\n//#endregion\n//#region ../providers/supabase/src/userProfile/SupabaseUserProfileProvider.ts\n/**\n* Backed by `public.user_profiles` (one row per `auth.users.id`), auto-seeded\n* by the `handle_new_auth_user` trigger on signup — this store never inserts,\n* only reads/updates. Service-role throughout since RLS here is too coarse\n* for server-side flows like the hooks.server.ts profile load; `assertCanAccess`\n* enforces \"own profile only\" at the app layer instead.\n*/\nvar MAX_RECENT_RUNS = 20;\nvar SupabaseUserProfileProvider = class {\n\tclients;\n\tconstructor(clients) {\n\t\tthis.clients = clients;\n\t}\n\tclient() {\n\t\treturn this.clients.serviceClient;\n\t}\n\tasync getProfile(ctx, userId) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, display_name, starred_definitions, recent_runs\").eq(\"user_id\", userId).maybeSingle();\n\t\tif (error) throw mapError$1(error);\n\t\treturn data ? rowToProfile(data) : null;\n\t}\n\tasync getProfiles(_ctx, userIds) {\n\t\tif (userIds.length === 0) return [];\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, display_name, starred_definitions, recent_runs\").in(\"user_id\", [...userIds]);\n\t\tif (error) throw mapError$1(error);\n\t\treturn (data ?? []).map(rowToProfile);\n\t}\n\tasync updateProfile(ctx, userId, patch) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst row = {};\n\t\tif (patch.displayName !== void 0) row.display_name = patch.displayName;\n\t\tif (Object.keys(row).length === 0) return \"ok\";\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update(row).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n\tasync starDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst existing = await this.getProfile(ctx, userId);\n\t\tif (!existing) return \"not_found\";\n\t\tif (existing.starredDefinitions.includes(definitionId)) return \"ok\";\n\t\tconst next = [...existing.starredDefinitions, definitionId];\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update({ starred_definitions: next }).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n\tasync unstarDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst existing = await this.getProfile(ctx, userId);\n\t\tif (!existing) return \"not_found\";\n\t\tif (!existing.starredDefinitions.includes(definitionId)) return \"ok\";\n\t\tconst next = existing.starredDefinitions.filter((id) => id !== definitionId);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update({ starred_definitions: next }).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n\tasync recordRun(ctx, userId, run) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst existing = await this.getProfile(ctx, userId);\n\t\tif (!existing) return \"not_found\";\n\t\tconst next = [run, ...existing.recentRuns.filter((r) => r.definitionId !== run.definitionId)].slice(0, MAX_RECENT_RUNS);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update({ recent_runs: next }).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n};\nfunction assertCanAccess(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot access another user’s profile\", 403);\n}\nfunction rowToProfile(row) {\n\treturn {\n\t\tuserId: row.user_id,\n\t\tdisplayName: row.display_name ?? void 0,\n\t\tstarredDefinitions: row.starred_definitions ?? [],\n\t\trecentRuns: row.recent_runs ?? []\n\t};\n}\nfunction mapError$1(e) {\n\tconst pg = e;\n\tif (pg?.code === \"23505\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n\tif (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n\tif (e instanceof Error) return e;\n\tif (e && typeof e === \"object\") {\n\t\tconst obj = e;\n\t\treturn new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n\t}\n\treturn new Error(String(e));\n}\n//#endregion\n//#region ../providers/supabase/src/permissions/SupabasePlatformPermissionStore.ts\n/**\n* Reads and writes `public.user_profiles.platform_permissions` (auto-seeded\n* by the `handle_new_auth_user` trigger). Service-role throughout — RLS on\n* `user_profiles` is too coarse for cross-user reads, so `assertAdmin` /\n* `assertCanRead` enforce the auth boundary here instead.\n*\n* `user_profiles.disabled` mirrors `auth.users.user_metadata.disabled` via\n* the `sync_auth_user_disabled` trigger, so admin-count queries can exclude\n* disabled admins with a single indexed query instead of cross-referencing\n* the auth admin API per candidate.\n*/\nvar SupabasePlatformPermissionStore = class {\n\tclients;\n\tconstructor(clients) {\n\t\tthis.clients = clients;\n\t}\n\tclient() {\n\t\treturn this.clients.serviceClient;\n\t}\n\tasync getFor(ctx, userId) {\n\t\tassertCanRead(ctx, userId);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"platform_permissions\").eq(\"user_id\", userId).maybeSingle();\n\t\tif (error) throw mapError(error);\n\t\treturn filterValid(data?.platform_permissions ?? []);\n\t}\n\tasync getForBatch(ctx, userIds) {\n\t\tassertAdmin(ctx);\n\t\tconst out = /* @__PURE__ */ new Map();\n\t\tif (userIds.length === 0) return out;\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, platform_permissions\").in(\"user_id\", [...userIds]);\n\t\tif (error) throw mapError(error);\n\t\tfor (const row of data ?? []) out.set(row.user_id, filterValid(row.platform_permissions ?? []));\n\t\treturn out;\n\t}\n\tasync set(ctx, userId, permissions) {\n\t\tassertAdmin(ctx);\n\t\tconst { data: existing, error: fetchError } = await this.client().from(\"user_profiles\").select(\"platform_permissions\").eq(\"user_id\", userId).maybeSingle();\n\t\tif (fetchError) throw mapError(fetchError);\n\t\tif (!existing) return \"not_found\";\n\t\tconst wasAdmin = (existing.platform_permissions ?? []).includes(\"instance_admin\");\n\t\tconst willBeAdmin = permissions.includes(\"instance_admin\");\n\t\tif (wasAdmin && !willBeAdmin) {\n\t\t\tif (await this.countOtherEnabledAdmins(userId) === 0) return \"last_admin\";\n\t\t}\n\t\tconst { error } = await this.client().from(\"user_profiles\").update({ platform_permissions: [...permissions] }).eq(\"user_id\", userId);\n\t\tif (error) throw mapError(error);\n\t\treturn \"ok\";\n\t}\n\tasync hasInstanceAdmin(_ctx) {\n\t\tconst { count, error } = await this.client().from(\"user_profiles\").select(\"user_id\", {\n\t\t\tcount: \"exact\",\n\t\t\thead: true\n\t\t}).contains(\"platform_permissions\", [\"instance_admin\"]).eq(\"disabled\", false);\n\t\tif (error) throw mapError(error);\n\t\treturn (count ?? 0) > 0;\n\t}\n\tasync countInstanceAdminsExcluding(_ctx, excludeUserId) {\n\t\treturn this.countOtherEnabledAdmins(excludeUserId);\n\t}\n\tasync countOtherEnabledAdmins(excludeUserId) {\n\t\tconst { count, error } = await this.client().from(\"user_profiles\").select(\"user_id\", {\n\t\t\tcount: \"exact\",\n\t\t\thead: true\n\t\t}).contains(\"platform_permissions\", [\"instance_admin\"]).eq(\"disabled\", false).neq(\"user_id\", excludeUserId);\n\t\tif (error) throw mapError(error);\n\t\treturn count ?? 0;\n\t}\n};\nvar VALID_PERMISSIONS = new Set(ALL_PLATFORM_PERMISSIONS);\nfunction filterValid(raw) {\n\treturn raw.filter((p) => VALID_PERMISSIONS.has(p));\n}\nfunction assertCanRead(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin(ctx) {\n\tif (ctx.system) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction mapError(e) {\n\tconst pg = e;\n\tif (pg?.code === \"23505\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n\tif (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n\tif (e instanceof Error) return e;\n\tif (e && typeof e === \"object\") {\n\t\tconst obj = e;\n\t\treturn new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n\t}\n\treturn new Error(String(e));\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseDataProvider.ts\n/**\n* Stub until the Supabase implementation lands. Reads and mutations throw a\n* 501; cascade hooks are silent no-ops so deleting an org or project doesn't\n* blow up on a deployment without the feature wired.\n*/\nvar NOT_IMPLEMENTED_MSG = \"Platform projects are not supported on this deployment yet.\";\nvar notImplementedGrantStore = {\n\tlistByProject: async () => {\n\t\tthrow new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n\t},\n\tlistByProjects: async () => {\n\t\tthrow new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n\t},\n\tcreate: async () => {\n\t\tthrow new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n\t},\n\tdelete: async () => {\n\t\tthrow new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n\t},\n\tdeleteByProject: async () => {},\n\tdeleteByGranteeOrg: async () => {}\n};\n/**\n* Composition of every data store for the Supabase backend. Builds one\n* `ClientBundle` and wires every store to it, so all stores in a process\n* share the same pooled clients.\n*/\nvar SupabaseDataProvider = class SupabaseDataProvider {\n\tclients;\n\torgs;\n\tprojects;\n\tdefinitions;\n\tinvites;\n\tcomputeServer;\n\tshareLinks;\n\tuserProfile;\n\tpermissions;\n\tplatformProjectGrants;\n\tauditQuery;\n\tevents;\n\t/** Built from the same client bundle so wiring `SelvaConfig.solveMetrics` doesn't need a second Supabase client. */\n\tsolveMetrics;\n\tconstructor(clients, events, secretKey, logger = new NoopLogger()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t\tthis.solveMetrics = new SupabaseSolveMetricSink(clients, { logger });\n\t\tthis.orgs = new SupabaseOrgStore(clients, events);\n\t\tthis.projects = new SupabaseProjectStore(clients, events);\n\t\tthis.definitions = new SupabaseDefinitionStore(clients, events);\n\t\tthis.invites = new SupabaseInviteStore(clients, events);\n\t\tthis.computeServer = new SupabaseComputeServerStore(clients, secretKey, logger);\n\t\tthis.shareLinks = new SupabaseShareLinkStore(clients, events);\n\t\tthis.userProfile = new SupabaseUserProfileProvider(clients);\n\t\tthis.permissions = new SupabasePlatformPermissionStore(clients);\n\t\tthis.platformProjectGrants = notImplementedGrantStore;\n\t\tthis.auditQuery = new SupabaseAuditQuery(clients);\n\t}\n\tstatic fromEnv(env, events, logger = new NoopLogger()) {\n\t\tconst bundle = clientBundleFromEnv(env);\n\t\tif (!env.SELVA_AT_REST_KEY) throw new Error(\"Missing required env var: SELVA_AT_REST_KEY (32-byte hex or base64). Required to encrypt compute-server API keys at rest. Generate one with: node -e \\\"console.log(require('crypto').randomBytes(32).toString('hex'))\\\"\");\n\t\tconst secretKey = decodeSecretKey(env.SELVA_AT_REST_KEY);\n\t\treturn new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle, { logger }), secretKey, logger);\n\t}\n\tstatic create(opts, events, secretKey, logger = new NoopLogger()) {\n\t\tconst bundle = buildClientBundle(opts);\n\t\treturn new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle, { logger }), secretKey, logger);\n\t}\n\t/**\n\t* Build from a pre-existing `ClientBundle` — for tests or callers that need\n\t* to inject a custom event sink or share a bundle externally. Omit\n\t* `secretKey` only if the caller never touches compute-server apiKeys:\n\t* writes without a key throw rather than persist plaintext.\n\t*/\n\tstatic fromBundle(bundle, events, secretKey, logger = new NoopLogger()) {\n\t\treturn new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle, { logger }), secretKey, logger);\n\t}\n\t/** Lets other providers in this package (storage, user profile, auth) share one set of clients per process. */\n\tgetClientBundle() {\n\t\treturn this.clients;\n\t}\n\t/**\n\t* Calls `selva.migration_head()` (a SECURITY DEFINER RPC shipped in this\n\t* package's migrations) and compares it to the head this build expects.\n\t* Three failure shapes: the RPC is missing (handshake migration never\n\t* applied), the head is empty (no migrations pushed), or the head is\n\t* lexicographically behind (operator upgraded the app but skipped\n\t* `supabase db push`). Never throws — boot health consumes the report.\n\t*/\n\tasync verifySchemaVersion() {\n\t\tconst expected = EXPECTED_MIGRATION_HEAD;\n\t\tconst pushHint = \"Apply the pending Supabase migrations: sync them into your project (see @selvajs/supabase-provider sync-migrations) and run `npx supabase db push`.\";\n\t\ttry {\n\t\t\tconst { data, error } = await this.clients.serviceClient.rpc(\"migration_head\");\n\t\t\tif (error) return {\n\t\t\t\tok: false,\n\t\t\t\texpected,\n\t\t\t\tactual: null,\n\t\t\t\tmessage: `selva.migration_head() is not available (${error.message ?? error.code ?? \"unknown error\"}) — the database schema is behind this app version. ${pushHint}`\n\t\t\t};\n\t\t\tconst actual = typeof data === \"string\" ? data : \"\";\n\t\t\tif (!actual) return {\n\t\t\t\tok: false,\n\t\t\t\texpected,\n\t\t\t\tactual: \"\",\n\t\t\t\tmessage: `The database reports no applied migrations. ${pushHint}`\n\t\t\t};\n\t\t\tconst ok = actual >= expected;\n\t\t\treturn {\n\t\t\t\tok,\n\t\t\t\texpected,\n\t\t\t\tactual,\n\t\t\t\tmessage: ok ? void 0 : `Database migration head ${actual} is behind the app's expected ${expected}. ${pushHint}`\n\t\t\t};\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\texpected,\n\t\t\t\tactual: null,\n\t\t\t\tmessage: `Schema handshake failed: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t};\n\t\t}\n\t}\n\t/** No-op: the `handle_new_auth_user` trigger seeds `user_profiles` on every `auth.users` insert. */\n\tasync ensureUser() {}\n\t/**\n\t* FK cascade against `auth.users` already removes the profile, memberships,\n\t* and owned rows. Three classes of personal data aren't reachable by those\n\t* FKs and get scrubbed here explicitly, with the RLS-bypassing service client:\n\t*\n\t* 1. `audit_events` keyed by a plain-text `actor_id` (no FK) — deleted.\n\t* 2. The user's email in `invites.email` and in `invite.created` audit\n\t* payloads (`data->>'email'`). Invite rows are deleted; the audit email\n\t* is redacted in place — the fact that an invite was created stays, only\n\t* the PII goes.\n\t* 3. `solve_metrics.actor_id`, deliberately not FK-cascaded (retention\n\t* telemetry) — tombstoned to {@link ERASED_ACTOR_ID} so the row's\n\t* aggregate value survives without identifying the person.\n\t*\n\t* Each step tolerates missing rows, so retrying is safe. Email scrubs are\n\t* skipped when `opts.email` is absent — the caller must capture it before\n\t* `deleteUser`.\n\t*/\n\tasync onUserDeleted(_ctx, userId, opts) {\n\t\tconst client = this.clients.serviceClient;\n\t\tconst email = opts?.email;\n\t\tconst deletedActions = await client.from(\"audit_events\").delete().eq(\"actor_id\", userId);\n\t\tif (deletedActions.error) throw new ProviderError(`Failed to erase audit_events for user: ${deletedActions.error.message}`, 500);\n\t\tconst tombstoned = await client.from(\"solve_metrics\").update({ actor_id: ERASED_ACTOR_ID }).eq(\"actor_id\", userId);\n\t\tif (tombstoned.error) throw new ProviderError(`Failed to anonymize solve_metrics for user: ${tombstoned.error.message}`, 500);\n\t\tif (!email) return;\n\t\tconst deletedInvites = await client.from(\"invites\").delete().eq(\"email\", email);\n\t\tif (deletedInvites.error) throw new ProviderError(`Failed to erase invites for user email: ${deletedInvites.error.message}`, 500);\n\t\tconst redacted = await client.rpc(\"redact_audit_event_email\", { p_email: email });\n\t\tif (redacted.error) throw new ProviderError(`Failed to redact audit_events email payloads: ${redacted.error.message}`, 500);\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/auth/SupabaseAuthProvider.ts\nvar DEFAULT_REVALIDATE_MS = 6e4;\nfunction parsePositiveInt(raw) {\n\tif (!raw) return void 0;\n\tconst n = Number.parseInt(raw, 10);\n\treturn Number.isFinite(n) && n > 0 ? n : void 0;\n}\nvar SupabaseAuthProvider = class SupabaseAuthProvider {\n\tname = \"Supabase Auth\";\n\tpasswordAuth;\n\toauth;\n\temailLink;\n\tsessionRefresh;\n\tadmin;\n\t/**\n\t* Service-role client pinned to the `selva` schema. `this.admin` stays\n\t* unpinned because it only drives `auth.admin.*` (GoTrue's own REST\n\t* surface, unaffected by the PostgREST schema setting) — any table read\n\t* or write must go through `db` instead.\n\t*/\n\tdb;\n\tanon;\n\tanonKey;\n\tsupabaseUrl;\n\ttokenVerification;\n\trevalidateMs;\n\tlogger;\n\t/**\n\t* Last GoTrue recheck per session (epoch ms), keyed by JWT `session_id`.\n\t* Swept lazily in `markRevalidated` so session churn can't leak memory.\n\t* Per-process — multi-instance drift is harmless, each instance rechecks\n\t* on its own schedule.\n\t*/\n\tlastRevalidatedAt = /* @__PURE__ */ new Map();\n\tconstructor(config) {\n\t\tthis.supabaseUrl = config.supabaseUrl;\n\t\tthis.anonKey = config.anonKey;\n\t\tthis.tokenVerification = config.tokenVerification ?? \"hybrid\";\n\t\tthis.revalidateMs = config.revalidateMs ?? DEFAULT_REVALIDATE_MS;\n\t\tthis.logger = config.logger ?? new NoopLogger();\n\t\tthis.admin = createClient(config.supabaseUrl, config.serviceRoleKey, { auth: {\n\t\t\tpersistSession: false,\n\t\t\tautoRefreshToken: false\n\t\t} });\n\t\tthis.db = createClient(config.supabaseUrl, config.serviceRoleKey, {\n\t\t\tdb: { schema: DEFAULT_SCHEMA },\n\t\t\tauth: {\n\t\t\t\tpersistSession: false,\n\t\t\t\tautoRefreshToken: false\n\t\t\t}\n\t\t});\n\t\tthis.anon = createClient(config.supabaseUrl, config.anonKey, { auth: {\n\t\t\tpersistSession: false,\n\t\t\tautoRefreshToken: false\n\t\t} });\n\t\tthis.passwordAuth = new SupabasePasswordAuth(this.admin, this.anon, (email, password) => this.signIn(email, password), config.enableSelfSignup ?? false, (user) => this.hydrate(user));\n\t\tthis.sessionRefresh = new SupabaseSessionRefresh(this.anon, this.admin, this.logger);\n\t\tthis.oauth = new SupabaseOAuthAuth(this.anon, (user) => this.hydrate(user), config.oauthProviders ?? [], this.sessionRefresh);\n\t\tthis.emailLink = new SupabaseEmailLinkAuth(this.anon, (user) => this.hydrate(user), config.allowEmailLinkSignup ?? true);\n\t}\n\tstatic fromEnv(env, logger) {\n\t\tconst supabaseUrl = env.SUPABASE_URL;\n\t\tconst anonKey = env.SUPABASE_ANON_KEY;\n\t\tconst serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n\t\tif (!supabaseUrl) throw new Error(\"Missing required env var: SUPABASE_URL\");\n\t\tif (!anonKey) throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n\t\tif (!serviceRoleKey) throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n\t\tconst oauthProviders = (env.SUPABASE_OAUTH_PROVIDERS ?? \"\").split(\",\").map((p) => p.trim().toLowerCase()).filter((p) => p.length > 0);\n\t\tconst tokenVerification = env.SUPABASE_TOKEN_VERIFICATION === \"strict\" ? \"strict\" : \"hybrid\";\n\t\tconst revalidateMs = parsePositiveInt(env.SUPABASE_REVALIDATE_MS);\n\t\treturn new SupabaseAuthProvider({\n\t\t\tsupabaseUrl,\n\t\t\tanonKey,\n\t\t\tserviceRoleKey,\n\t\t\tenableSelfSignup: env.SUPABASE_ENABLE_SELF_SIGNUP === \"true\",\n\t\t\toauthProviders,\n\t\t\tallowEmailLinkSignup: env.SUPABASE_ALLOW_EMAIL_LINK_SIGNUP !== \"false\",\n\t\t\ttokenVerification,\n\t\t\t...revalidateMs !== void 0 ? { revalidateMs } : {},\n\t\t\t...logger ? { logger } : {}\n\t\t});\n\t}\n\t/**\n\t* Verify a session JWT and return the user, or null if invalid/disabled.\n\t* Runs on every authenticated request, so the fast path avoids a network\n\t* round-trip.\n\t*\n\t* `'hybrid'` (default): `getClaims(token)` verifies the JWT locally with\n\t* asymmetric signing keys (the modern Supabase default — the SDK checks\n\t* against the cached JWKS via Web Crypto, no GoTrue call), and falls back\n\t* to a network verify for legacy symmetric HS256 projects. Either way, a\n\t* local check can't see a server-side sign-out or `disabled` flip that\n\t* happened after the token was issued — the claims are a snapshot — so we\n\t* also re-check against GoTrue via `getUser`, at most once per\n\t* `revalidateMs` per session, bounding revocation latency to that window\n\t* while skipping the network call on most requests.\n\t*\n\t* `'strict'`: `getUser` on every request. Instant revocation, one round\n\t* trip per request.\n\t*/\n\tasync verifyToken(token) {\n\t\tif (!token) return null;\n\t\tif (this.tokenVerification === \"strict\") return this.verifyViaGetUser(token);\n\t\tconst claims = await this.getClaimsOrNull(token);\n\t\tif (!claims) return null;\n\t\tif (claims.user_metadata?.disabled === true) return null;\n\t\tconst sessionId = typeof claims.session_id === \"string\" ? claims.session_id : claims.sub;\n\t\tif (this.shouldRevalidate(sessionId)) {\n\t\t\tconst fresh = await this.verifyViaGetUser(token);\n\t\t\tif (!fresh) {\n\t\t\t\tthis.lastRevalidatedAt.delete(sessionId);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.markRevalidated(sessionId);\n\t\t\treturn fresh;\n\t\t}\n\t\treturn {\n\t\t\tid: claims.sub,\n\t\t\temail: typeof claims.email === \"string\" ? claims.email : void 0,\n\t\t\tdisabled: false,\n\t\t\tmetadata: claims.user_metadata\n\t\t};\n\t}\n\t/** Full network verify against GoTrue. Also the `'strict'`-mode path. */\n\tasync verifyViaGetUser(token) {\n\t\tconst { data, error } = await this.anon.auth.getUser(token);\n\t\tif (error || !data.user) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn this.hydrate(data.user);\n\t}\n\t/** Local JWT verification. Returns the claims, or null if invalid/expired. */\n\tasync getClaimsOrNull(token) {\n\t\ttry {\n\t\t\tconst { data, error } = await this.anon.auth.getClaims(token);\n\t\t\tif (error || !data) return null;\n\t\t\treturn data.claims;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\tshouldRevalidate(sessionId) {\n\t\tconst last = this.lastRevalidatedAt.get(sessionId);\n\t\treturn last === void 0 || Date.now() - last >= this.revalidateMs;\n\t}\n\tmarkRevalidated(sessionId) {\n\t\tconst now = Date.now();\n\t\tthis.lastRevalidatedAt.set(sessionId, now);\n\t\tif (this.lastRevalidatedAt.size > 1e4) {\n\t\t\tconst cutoff = now - this.revalidateMs * 2;\n\t\t\tfor (const [id, ts] of this.lastRevalidatedAt) if (ts < cutoff) this.lastRevalidatedAt.delete(id);\n\t\t}\n\t}\n\tasync getUser(id) {\n\t\tconst { data, error } = await this.admin.auth.admin.getUserById(id);\n\t\tif (error || !data.user) return null;\n\t\treturn this.hydrate(data.user);\n\t}\n\tasync listUsers(opts) {\n\t\tconst perPage = opts?.limit ?? 50;\n\t\tconst page = opts?.cursor ? parseInt(opts.cursor, 10) : 1;\n\t\tconst { data, error } = await this.admin.auth.admin.listUsers({\n\t\t\tpage: Number.isFinite(page) && page >= 1 ? page : 1,\n\t\t\tperPage\n\t\t});\n\t\tif (error) throw error;\n\t\tconst users = data.users;\n\t\treturn {\n\t\t\titems: users.map((u) => this.hydrate(u)),\n\t\t\tnextCursor: users.length >= perPage ? String(page + 1) : void 0\n\t\t};\n\t}\n\tasync createUser(email) {\n\t\tconst { data, error } = await this.admin.auth.admin.createUser({\n\t\t\temail,\n\t\t\temail_confirm: true\n\t\t});\n\t\tif (error) throw error;\n\t\tif (!data.user) throw new Error(\"createUser returned no user\");\n\t\treturn this.hydrate(data.user);\n\t}\n\tasync deleteUser(id) {\n\t\tconst { error } = await this.admin.auth.admin.deleteUser(id);\n\t\tif (error) {\n\t\t\tconst e = error;\n\t\t\tif (e.status === 404 || /not.?found/i.test(e.message ?? \"\")) return \"not_found\";\n\t\t\tthrow error;\n\t\t}\n\t\treturn \"ok\";\n\t}\n\tasync disableUser(id) {\n\t\tconst { data: existing, error: fetchError } = await this.admin.auth.admin.getUserById(id);\n\t\tif (fetchError || !existing.user) return \"not_found\";\n\t\tconst mergedMetadata = {\n\t\t\t...existing.user.user_metadata ?? {},\n\t\t\tdisabled: true\n\t\t};\n\t\tconst { error } = await this.admin.auth.admin.updateUserById(id, { user_metadata: mergedMetadata });\n\t\tif (error) {\n\t\t\tconst e = error;\n\t\t\tif (e.status === 404 || /not.?found/i.test(e.message ?? \"\")) return \"not_found\";\n\t\t\tthrow error;\n\t\t}\n\t\treturn \"ok\";\n\t}\n\tasync touchLastLogin(id) {\n\t\tconst cutoff = (/* @__PURE__ */ new Date(Date.now() - 6e4)).toISOString();\n\t\tconst { error } = await this.db.from(\"user_profiles\").update({ last_login_at: (/* @__PURE__ */ new Date()).toISOString() }).eq(\"user_id\", id).or(`last_login_at.is.null,last_login_at.lt.${cutoff}`);\n\t\tif (error) this.logger.warn(\"touchLastLogin failed\", {\n\t\t\tuserId: id,\n\t\t\tcode: error.code,\n\t\t\tmessage: error.message\n\t\t});\n\t}\n\t/** Kept on the provider class so it can call `hydrate` without plumbing it through. */\n\tasync signIn(email, password) {\n\t\tconst { data, error } = await this.anon.auth.signInWithPassword({\n\t\t\temail,\n\t\t\tpassword\n\t\t});\n\t\tif (error || !data.user || !data.session) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tuser: this.hydrate(data.user),\n\t\t\tsessionToken: data.session.access_token\n\t\t};\n\t}\n\t/** Map a GoTrue `User` to our identity-only `AuthUser`. */\n\thydrate(user) {\n\t\treturn {\n\t\t\tid: user.id,\n\t\t\temail: user.email ?? void 0,\n\t\t\tcreatedAt: user.created_at ?? void 0,\n\t\t\tlastLoginAt: user.last_sign_in_at ?? void 0,\n\t\t\tdisabled: user.user_metadata?.disabled === true,\n\t\t\tmetadata: user.user_metadata\n\t\t};\n\t}\n\t/** Lets other code (storage provider, per-request client factories) build user-scoped clients without a second config read. */\n\tgetAnonClientConfig() {\n\t\treturn {\n\t\t\tsupabaseUrl: this.supabaseUrl,\n\t\t\tanonKey: this.anonKey\n\t\t};\n\t}\n};\nvar SupabasePasswordAuth = class {\n\tadmin;\n\tanon;\n\tsignIn;\n\tenableSelfSignup;\n\thydrate;\n\tconstructor(admin, anon, signIn, enableSelfSignup, hydrate) {\n\t\tthis.admin = admin;\n\t\tthis.anon = anon;\n\t\tthis.signIn = signIn;\n\t\tthis.enableSelfSignup = enableSelfSignup;\n\t\tthis.hydrate = hydrate;\n\t}\n\tasync verifyLogin(email, password) {\n\t\tconst result = await this.signIn(email, password);\n\t\tif (!result) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\treturn {\n\t\t\tkind: \"success\",\n\t\t\tuser: result.user,\n\t\t\tsessionToken: result.sessionToken\n\t\t};\n\t}\n\tasync createUserWithPassword(email, password) {\n\t\tconst { data, error } = await this.admin.auth.admin.createUser({\n\t\t\temail,\n\t\t\tpassword,\n\t\t\temail_confirm: true\n\t\t});\n\t\tif (error) throw error;\n\t\tif (!data.user) throw new Error(\"createUserWithPassword returned no user\");\n\t\treturn this.hydrate(data.user);\n\t}\n\tasync registerUser(email, password) {\n\t\tif (!this.enableSelfSignup) return null;\n\t\tconst { data, error } = await this.anon.auth.signUp({\n\t\t\temail,\n\t\t\tpassword\n\t\t});\n\t\tif (error || !data.user) return null;\n\t\treturn this.hydrate(data.user);\n\t}\n};\n/**\n* Supabase-backed `IOAuthAuth`. Thin wrapper over GoTrue's `signInWithOAuth`\n* / `exchangeCodeForSession` — mapping failures to null vs throw is the only logic.\n*/\nvar SupabaseOAuthAuth = class {\n\tanon;\n\thydrate;\n\tproviders;\n\tsessionRefresh;\n\tconstructor(anon, hydrate, providers, sessionRefresh) {\n\t\tthis.anon = anon;\n\t\tthis.hydrate = hydrate;\n\t\tthis.providers = providers;\n\t\tthis.sessionRefresh = sessionRefresh;\n\t}\n\tlistProviders() {\n\t\treturn this.providers;\n\t}\n\tasync getOAuthAuthorizationUrl(provider, redirectTo) {\n\t\tconst { data, error } = await this.anon.auth.signInWithOAuth({\n\t\t\tprovider,\n\t\t\toptions: {\n\t\t\t\tredirectTo,\n\t\t\t\tskipBrowserRedirect: true\n\t\t\t}\n\t\t});\n\t\tif (error || !data.url) throw error ?? /* @__PURE__ */ new Error(\"signInWithOAuth returned no URL\");\n\t\treturn data.url;\n\t}\n\tasync exchangeOAuthCode(code) {\n\t\tconst { data, error } = await this.anon.auth.exchangeCodeForSession(code);\n\t\tif (error || !data.user || !data.session) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tuser: this.hydrate(data.user),\n\t\t\tsessionToken: data.session.access_token,\n\t\t\trefreshToken: data.session.refresh_token\n\t\t};\n\t}\n\t/** @deprecated Delegates to `IAuthProvider.sessionRefresh`. Removed next minor. */\n\tasync refreshSession(refreshToken) {\n\t\treturn this.sessionRefresh.refreshSession(refreshToken);\n\t}\n};\n/**\n* Supabase-backed `ISessionRefresh`. `refreshSession` uses the anon client —\n* a refresh token authenticates itself. `revokeSession` uses the service-role\n* client — revoking someone else's session is privileged.\n*/\nvar SupabaseSessionRefresh = class {\n\tanon;\n\tadmin;\n\tlogger;\n\tconstructor(anon, admin, logger) {\n\t\tthis.anon = anon;\n\t\tthis.admin = admin;\n\t\tthis.logger = logger;\n\t}\n\tasync refreshSession(refreshToken) {\n\t\tconst { data, error } = await this.anon.auth.refreshSession({ refresh_token: refreshToken });\n\t\tif (error || !data.session) return null;\n\t\tif (data.user?.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tsessionToken: data.session.access_token,\n\t\t\trefreshToken: data.session.refresh_token\n\t\t};\n\t}\n\tasync revokeSession(token) {\n\t\tconst { error } = await this.admin.auth.admin.signOut(token, \"global\");\n\t\tif (!error) return true;\n\t\tconst e = error;\n\t\tif (e.status === 401 || e.status === 403 || e.status === 404) return true;\n\t\tthis.logger.warn(\"revokeSession failed\", {\n\t\t\tstatus: e.status,\n\t\t\tmessage: e.message\n\t\t});\n\t\treturn false;\n\t}\n};\n/**\n* Supabase-backed `IEmailLinkAuth`. Wraps GoTrue's `signInWithOtp` (send)\n* and `verifyOtp` (verify on click).\n*\n* Supabase emails the user `{callbackUrl}?token_hash=…&type=…`. The `type`\n* param picks which OTP variant `verifyOtp` runs (signup vs returning-user\n* magic link vs invite acceptance), so we pass it through unchanged.\n*/\nvar SupabaseEmailLinkAuth = class {\n\tanon;\n\thydrate;\n\tallowSignup;\n\tconstructor(anon, hydrate, allowSignup) {\n\t\tthis.anon = anon;\n\t\tthis.hydrate = hydrate;\n\t\tthis.allowSignup = allowSignup;\n\t}\n\tasync sendMagicLink(email, callbackUrl) {\n\t\tconst { error } = await this.anon.auth.signInWithOtp({\n\t\t\temail,\n\t\t\toptions: {\n\t\t\t\temailRedirectTo: callbackUrl,\n\t\t\t\tshouldCreateUser: this.allowSignup\n\t\t\t}\n\t\t});\n\t\tif (!error) return { ok: true };\n\t\tconst status = error.status;\n\t\tconst code = error.code;\n\t\tconst message = error.message ?? \"\";\n\t\tif (status === 429 || /rate.?limit/i.test(message)) return {\n\t\t\tok: false,\n\t\t\treason: \"rate_limited\"\n\t\t};\n\t\tif (code === \"otp_disabled\" || code === \"signup_disabled\" || /signup.*disabled/i.test(message)) return {\n\t\t\tok: false,\n\t\t\treason: \"signup_disabled\"\n\t\t};\n\t\tif (code === \"validation_failed\" || /invalid.*email|email.*invalid/i.test(message)) return {\n\t\t\tok: false,\n\t\t\treason: \"invalid_email\"\n\t\t};\n\t\tthrow error;\n\t}\n\tasync verifyMagicLink(rawCallbackUrl) {\n\t\tconst params = parseCallbackParams(rawCallbackUrl);\n\t\tif (!params) return null;\n\t\tconst { tokenHash, type } = params;\n\t\tconst { data, error } = await this.anon.auth.verifyOtp({\n\t\t\ttoken_hash: tokenHash,\n\t\t\ttype\n\t\t});\n\t\tif (error || !data.user || !data.session) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tuser: this.hydrate(data.user),\n\t\t\tsessionToken: data.session.access_token,\n\t\t\trefreshToken: data.session.refresh_token\n\t\t};\n\t}\n};\n/**\n* Pull `token_hash` + `type` from either a full callback URL or a bare\n* `token_hash=…&type=…` query string. Tolerant of both shapes so the route\n* layer can pass whichever form is convenient.\n*\n* Returns null when the inputs aren't recognizable — the caller treats null\n* as \"send the user back to /login\".\n*/\nfunction parseCallbackParams(raw) {\n\tlet search;\n\ttry {\n\t\tsearch = new URL(raw).searchParams;\n\t} catch {\n\t\tsearch = new URLSearchParams(raw.startsWith(\"?\") ? raw.slice(1) : raw);\n\t}\n\tconst tokenHash = search.get(\"token_hash\");\n\tconst type = search.get(\"type\");\n\tif (!tokenHash) return null;\n\tif (!type || !(/* @__PURE__ */ new Set([\n\t\t\"magiclink\",\n\t\t\"email\",\n\t\t\"signup\",\n\t\t\"invite\",\n\t\t\"recovery\"\n\t])).has(type)) return null;\n\treturn {\n\t\ttokenHash,\n\t\ttype\n\t};\n}\n//#endregion\n//#region ../providers/header-auth/src/users.ts\nvar empty = () => ({ users: [] });\nvar LAST_LOGIN_DEBOUNCE_MS = 6e4;\nasync function readFile(filePath) {\n\ttry {\n\t\tconst raw = await fs.readFile(filePath, \"utf-8\");\n\t\treturn JSON.parse(raw);\n\t} catch (err) {\n\t\tif (err.code === \"ENOENT\") return empty();\n\t\tthrow err;\n\t}\n}\nasync function writeFile$1(filePath, data) {\n\tawait fs.mkdir(path.dirname(filePath), { recursive: true });\n\tconst tmp = `${filePath}.tmp`;\n\tawait fs.writeFile(tmp, JSON.stringify(data, null, \"\t\"), \"utf-8\");\n\tawait fs.rename(tmp, filePath);\n}\nfunction createAllowlistStore(filePath) {\n\tconst norm = (upn) => upn.trim().toLowerCase();\n\treturn {\n\t\tasync findByUpn(upn) {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\tconst key = norm(upn);\n\t\t\treturn users.find((u) => u.upn === key) ?? null;\n\t\t},\n\t\tasync findByEmail(email) {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\tconst key = norm(email);\n\t\t\treturn users.find((u) => norm(u.email ?? \"\") === key || u.upn === key) ?? null;\n\t\t},\n\t\tasync findById(id) {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\treturn users.find((u) => u.id === id) ?? null;\n\t\t},\n\t\tasync listUsers() {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\treturn users;\n\t\t},\n\t\tasync createUser(upn) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst key = norm(upn);\n\t\t\tif (file.users.some((u) => u.upn === key)) throw new ProviderError(`User with UPN \"${upn}\" already exists`, 409);\n\t\t\tconst entry = {\n\t\t\t\tid: randomUUID(),\n\t\t\t\tupn: key,\n\t\t\t\tcreatedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t\t\t};\n\t\t\tfile.users.push(entry);\n\t\t\tawait writeFile$1(filePath, file);\n\t\t\treturn entry;\n\t\t},\n\t\tasync syncFromHeaders(id, fields) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) return;\n\t\t\tlet dirty = false;\n\t\t\tif (fields.email && user.email !== fields.email) {\n\t\t\t\tuser.email = fields.email;\n\t\t\t\tdirty = true;\n\t\t\t}\n\t\t\tif (fields.displayName && user.displayName !== fields.displayName) {\n\t\t\t\tuser.displayName = fields.displayName;\n\t\t\t\tdirty = true;\n\t\t\t}\n\t\t\tif (dirty) await writeFile$1(filePath, file);\n\t\t},\n\t\tasync rebindUpn(id, upn) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst key = norm(upn);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user || user.upn === key) return;\n\t\t\tif (file.users.some((u) => u.id !== id && u.upn === key)) return;\n\t\t\tuser.upn = key;\n\t\t\tawait writeFile$1(filePath, file);\n\t\t},\n\t\tasync setDisabled(id, disabled) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tuser.disabled = disabled;\n\t\t\tawait writeFile$1(filePath, file);\n\t\t},\n\t\tasync touchLastLogin(id) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) return;\n\t\t\tconst now = Date.now();\n\t\t\tif (user.lastLoginAt) {\n\t\t\t\tconst prev = Date.parse(user.lastLoginAt);\n\t\t\t\tif (Number.isFinite(prev) && now - prev < LAST_LOGIN_DEBOUNCE_MS) return;\n\t\t\t}\n\t\t\tuser.lastLoginAt = new Date(now).toISOString();\n\t\t\tawait writeFile$1(filePath, file);\n\t\t},\n\t\tasync deleteUser(id) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst before = file.users.length;\n\t\t\tfile.users = file.users.filter((u) => u.id !== id);\n\t\t\tif (file.users.length === before) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tawait writeFile$1(filePath, file);\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/header-auth/src/HeaderAuthProvider.ts\nvar DEFAULT_HEADERS = {\n\tupn: \"SELVA-UserPrincipalName\",\n\temail: \"SELVA-Email\",\n\tdisplayName: \"SELVA-DisplayName\"\n};\nfunction toAuthUser(u) {\n\treturn {\n\t\tid: u.id,\n\t\temail: u.email ?? u.upn,\n\t\tmetadata: {\n\t\t\tupn: u.upn,\n\t\t\tdisplayName: u.displayName\n\t\t},\n\t\tcreatedAt: u.createdAt,\n\t\tlastLoginAt: u.lastLoginAt,\n\t\tdisabled: u.disabled\n\t};\n}\nvar HeaderProxyAuth = class {\n\tusers;\n\theaders;\n\tlogger;\n\tbootstrapPolicy;\n\tmissingHeadersWarned = false;\n\tconstructor(users, headers, bootstrapPolicy, logger = new NoopLogger()) {\n\t\tthis.users = users;\n\t\tthis.headers = headers;\n\t\tthis.logger = logger;\n\t\tthis.bootstrapPolicy = bootstrapPolicy;\n\t}\n\tsetBootstrapPolicy(policy) {\n\t\tthis.bootstrapPolicy = policy ?? void 0;\n\t}\n\t/**\n\t* Names of the configured identity headers, in priority order. Exposed so\n\t* the hook layer can emit per-page diagnostics (\"you hit /login without\n\t* these headers\") without having to know provider internals.\n\t*/\n\tget configuredHeaderNames() {\n\t\treturn [\n\t\t\tthis.headers.upn,\n\t\t\tthis.headers.email,\n\t\t\tthis.headers.displayName\n\t\t];\n\t}\n\t/** True iff none of the configured identity headers are present. */\n\thasNoIdentityHeaders(headers) {\n\t\treturn !headers.get(this.headers.upn) && !headers.get(this.headers.email) && !headers.get(this.headers.displayName);\n\t}\n\tasync identifyFromHeaders(headers) {\n\t\tconst upn = headers.get(this.headers.upn);\n\t\tif (!upn || !upn.trim()) {\n\t\t\tif (!this.missingHeadersWarned && this.hasNoIdentityHeaders(headers)) {\n\t\t\t\tthis.missingHeadersWarned = true;\n\t\t\t\tthis.logger.warn(\"No identity headers received on the first non-authed request. If you reach the app through your forward-auth proxy, this means the proxy is not forwarding the configured headers — check your forward_auth / copy_headers config. If you're hitting the app directly (bypassing the proxy), bind the process to 127.0.0.1 and only reach it through the proxy. See @selvajs/header-auth-provider README\", {\n\t\t\t\t\tcomponent: \"HeaderAuth\",\n\t\t\t\t\texpectedHeaders: [\n\t\t\t\t\t\tthis.headers.upn,\n\t\t\t\t\t\tthis.headers.email,\n\t\t\t\t\t\tthis.headers.displayName\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tconst email = headers.get(this.headers.email)?.trim() || void 0;\n\t\tconst displayName = headers.get(this.headers.displayName)?.trim() || void 0;\n\t\tlet entry = await this.users.findByUpn(upn);\n\t\tif (!entry && email) {\n\t\t\tconst byEmail = await this.users.findByEmail(email);\n\t\t\tif (byEmail) {\n\t\t\t\tentry = byEmail;\n\t\t\t\tif (byEmail.upn !== upn.trim().toLowerCase()) await this.users.rebindUpn(byEmail.id, upn).catch(() => {});\n\t\t\t}\n\t\t}\n\t\tif (!entry && this.bootstrapPolicy) {\n\t\t\tif (await this.bootstrapPolicy({\n\t\t\t\tupn,\n\t\t\t\temail\n\t\t\t})) try {\n\t\t\t\tentry = await this.users.createUser(upn);\n\t\t\t} catch {\n\t\t\t\tentry = await this.users.findByUpn(upn);\n\t\t\t}\n\t\t}\n\t\tif (!entry || entry.disabled) return null;\n\t\tif (email && entry.email !== email || displayName && entry.displayName !== displayName) {\n\t\t\tawait this.users.syncFromHeaders(entry.id, {\n\t\t\t\temail,\n\t\t\t\tdisplayName\n\t\t\t}).catch(() => {});\n\t\t\tif (email) entry.email = email;\n\t\t\tif (displayName) entry.displayName = displayName;\n\t\t}\n\t\tawait this.users.touchLastLogin(entry.id).catch(() => {});\n\t\treturn toAuthUser(entry);\n\t}\n};\nvar HeaderAuthProvider = class HeaderAuthProvider {\n\tusers;\n\theaders;\n\tname = \"Header (Forward Auth)\";\n\tproxyAuth;\n\tconstructor(config) {\n\t\tthis.users = createAllowlistStore(config.allowlistFilePath);\n\t\tthis.headers = {\n\t\t\t...DEFAULT_HEADERS,\n\t\t\t...config.headers\n\t\t};\n\t\tthis.proxyAuth = new HeaderProxyAuth(this.users, this.headers, config.bootstrapAllowlistPolicy, config.logger ?? new NoopLogger());\n\t}\n\t/**\n\t* Late-bind a bootstrap-allowlist policy. Useful when the policy needs\n\t* runtime state the platform layer owns (e.g. `hasInstanceAdmin`) and\n\t* therefore can't be wired up at provider construction time. Pass `null`\n\t* to clear.\n\t*/\n\tsetBootstrapAllowlistPolicy(policy) {\n\t\tthis.proxyAuth.setBootstrapPolicy(policy);\n\t}\n\tstatic fromEnv(env, logger) {\n\t\tconst dir = env.HEADER_AUTH_DATA_DIR ?? env.DATA_PATH;\n\t\tif (!dir) throw new Error(\"Missing required env var: HEADER_AUTH_DATA_DIR (or DATA_PATH as fallback). This directory holds header-allowlist.json — the pre-provisioned UPN list.\");\n\t\treturn new HeaderAuthProvider({\n\t\t\tallowlistFilePath: path.join(dir, \"header-allowlist.json\"),\n\t\t\theaders: {\n\t\t\t\tupn: env.HEADER_AUTH_UPN_HEADER ?? DEFAULT_HEADERS.upn,\n\t\t\t\temail: env.HEADER_AUTH_EMAIL_HEADER ?? DEFAULT_HEADERS.email,\n\t\t\t\tdisplayName: env.HEADER_AUTH_DISPLAY_NAME_HEADER ?? DEFAULT_HEADERS.displayName\n\t\t\t},\n\t\t\tlogger\n\t\t});\n\t}\n\t/**\n\t* No tokens are issued by this provider — identity rides on every request\n\t* via the trusted-proxy headers. Always returns null; the hook layer\n\t* falls through to `proxyAuth.identifyFromHeaders`.\n\t*/\n\tasync verifyToken(_token) {\n\t\treturn null;\n\t}\n\tasync getUser(id) {\n\t\tconst u = await this.users.findById(id);\n\t\treturn u ? toAuthUser(u) : null;\n\t}\n\tasync listUsers(opts) {\n\t\tconst all = await this.users.listUsers();\n\t\tconst limit = Math.min(Math.max(1, opts?.limit ?? 25), 200);\n\t\tconst offset = opts?.cursor ? parseInt(opts.cursor, 10) || 0 : 0;\n\t\tconst slice = all.slice(offset, offset + limit).map(toAuthUser);\n\t\tconst nextOffset = offset + slice.length;\n\t\treturn {\n\t\t\titems: slice,\n\t\t\tnextCursor: nextOffset < all.length ? String(nextOffset) : void 0\n\t\t};\n\t}\n\t/**\n\t* Allowlist a UPN. Admin POST `/api/admin/users` with `{ email }`; the\n\t* email IS the UPN for M365 / Entra deployments where they match. For\n\t* other IdPs, document the UPN format in your README/onboarding.\n\t*/\n\tasync createUser(upn) {\n\t\treturn toAuthUser(await this.users.createUser(upn));\n\t}\n\tasync deleteUser(id) {\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.deleteUser(id);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync disableUser(id) {\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.setDisabled(id, true);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync touchLastLogin(id) {\n\t\tawait this.users.touchLastLogin(id);\n\t}\n};\n//#endregion\n//#region src/lib/server/organizations/OrgAssetService.ts\n/**\n* Orchestrates org-asset writes that span IStorageProvider + IOrgStore — one\n* service for every asset kind (logo, favicon, …).\n*\n* Every upload is rasterized to WebP by the shared transcoder inside\n* `IStorageProvider.put`, so the stored blob is always\n* `orgs/{id}/branding/{kind}.webp` (the `branding/` segment marks the public\n* asset class — see `classifyAssetPath`). SVG inputs are flattened to a\n* 1200px raster — no vector blob is persisted, which keeps the served bytes\n* XSS-free without a sanitizer. Re-uploads overwrite in place. The org's\n* `assets` map is the source of truth for which kinds exist and their public\n* URLs; we read-merge-write it so concurrent edits to *different* kinds don't\n* clobber each other within a kind.\n*\n* Re-uploads overwrite the same path, so the stored URL would be identical\n* across replaces and a cached browser/CDN would keep serving the old bytes.\n* The content-derived `?v=` token (`withCacheBust`) gives a *different* image a\n* *different* URL, while an identical re-upload keeps its URL and stays cached.\n*/\nvar OrgAssetService = class {\n\torgs;\n\tstorage;\n\tconstructor(orgs, storage) {\n\t\tthis.orgs = orgs;\n\t\tthis.storage = storage;\n\t}\n\t/**\n\t* Store `kind`'s blob and point the org's `assets[kind]` at its public URL.\n\t* `contentType` must be the *original* upload type (e.g. `image/svg+xml`) so\n\t* the transcoder recognizes the bytes as an image. Returns the public URL.\n\t*/\n\tasync saveAsset(ctx, orgId, kind, data, contentType) {\n\t\tconst path = orgPaths.asset(orgId, kind);\n\t\tawait this.storage.put(path, data, contentType);\n\t\tconst token = createHash(\"sha256\").update(data).digest(\"hex\").slice(0, 8);\n\t\tconst url = withCacheBust(this.storage.getPublicUrl(path), token);\n\t\tawait this.orgs.updateOrg(ctx, orgId, { assets: await this.mergedAssets(ctx, orgId, kind, url) });\n\t\treturn url;\n\t}\n\t/** Remove `kind`'s blob and drop it from the org's `assets` map. No-op-safe. */\n\tasync removeAsset(ctx, orgId, kind) {\n\t\tawait this.storage.delete(orgPaths.asset(orgId, kind));\n\t\tawait this.orgs.updateOrg(ctx, orgId, { assets: await this.mergedAssets(ctx, orgId, kind, void 0) });\n\t}\n\t/**\n\t* Read the org's current `assets` and return a copy with `kind` set to `url`\n\t* (or removed when `url` is undefined). Keeps the other kinds intact.\n\t*/\n\tasync mergedAssets(ctx, orgId, kind, url) {\n\t\tconst org = await this.orgs.getOrg(ctx, orgId);\n\t\tif (!org) throw new ProviderError(`Org '${orgId}' not found`, 404);\n\t\tconst next = { ...org.assets ?? {} };\n\t\tif (url === void 0) delete next[kind];\n\t\telse next[kind] = url;\n\t\treturn next;\n\t}\n};\n//#endregion\n//#region ../server/src/errors/SentryErrorReporter.ts\nvar SentryErrorReporter = class SentryErrorReporter {\n\tsentry;\n\tconstructor(sentry) {\n\t\tthis.sentry = sentry;\n\t}\n\t/**\n\t* Initialize Sentry and return a reporter, or `null` when `@sentry/node`\n\t* won't load. Never throws — a broken error-tracker must not take down boot.\n\t*/\n\tstatic async create(opts) {\n\t\ttry {\n\t\t\tconst sentry = await import(\n\t\t\t\t/* @vite-ignore */\n\t\t\t\t\"@sentry/node\"\n);\n\t\t\tsentry.init({\n\t\t\t\tdsn: opts.dsn,\n\t\t\t\tenvironment: opts.environment,\n\t\t\t\trelease: opts.release,\n\t\t\t\ttracesSampleRate: 0\n\t\t\t});\n\t\t\treturn new SentryErrorReporter(sentry);\n\t\t} catch (err) {\n\t\t\tconsole.error(\"[ErrorReporter] A Sentry DSN is set but @sentry/node could not be loaded. Install it (`pnpm add @sentry/node`) or unset the DSN. Falling back to no-op.\", err);\n\t\t\treturn null;\n\t\t}\n\t}\n\tcapture(error, context) {\n\t\ttry {\n\t\t\tconst tags = { ...context?.tags };\n\t\t\tif (context?.method) tags.method = context.method;\n\t\t\tif (context?.route) tags.route = context.route;\n\t\t\tif (context?.orgId) tags.orgId = context.orgId;\n\t\t\tthis.sentry.captureException(error, {\n\t\t\t\ttags,\n\t\t\t\tuser: context?.userId ? { id: context.userId } : void 0\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error(\"[ErrorReporter] Failed to capture error:\", err);\n\t\t}\n\t}\n};\n//#endregion\n//#region ../server/src/logging/PinoLogger.ts\n/**\n* Field paths scrubbed before a record is written. A backstop for accidents,\n* NOT a licence to log objects: call sites are required not to log secrets in\n* the first place (see `LogFields`). This catches the case where a whole object\n* is spread into fields and happens to carry a credential.\n*\n* It matches by FIELD NAME, and only at the top level or one level deep (the\n* `*.` entries). It will not catch personal data — an email nested in a payload\n* sails straight through, and a log line reaches a collector that erasure can\n* never reach. Note the nested `*.` set covers only five of the eight names.\n*/\nvar REDACTED_PATHS = [\n\t\"token\",\n\t\"sessionToken\",\n\t\"refreshToken\",\n\t\"apiKey\",\n\t\"api_key\",\n\t\"password\",\n\t\"authorization\",\n\t\"cookie\",\n\t\"*.token\",\n\t\"*.sessionToken\",\n\t\"*.refreshToken\",\n\t\"*.apiKey\",\n\t\"*.password\"\n];\n/**\n* Minimal `ILogger` over `console.*`, used when pino isn't installed. Renders\n* as `LEVEL message {fields}` — greppable, and honest about not being\n* machine-parseable. `child` fields merge eagerly so correlation still works.\n*/\nvar ConsoleLogger = class ConsoleLogger {\n\tbound;\n\tminLevel;\n\tconstructor(bound = {}, minLevel = \"info\") {\n\t\tthis.bound = bound;\n\t\tthis.minLevel = minLevel;\n\t}\n\tstatic ORDER = {\n\t\tdebug: 10,\n\t\tinfo: 20,\n\t\twarn: 30,\n\t\terror: 40\n\t};\n\twrite(level, message, fields) {\n\t\tif (ConsoleLogger.ORDER[level] < ConsoleLogger.ORDER[this.minLevel]) return;\n\t\tconst merged = {\n\t\t\t...this.bound,\n\t\t\t...fields\n\t\t};\n\t\tconst suffix = Object.keys(merged).length > 0 ? ` ${safeStringify(merged)}` : \"\";\n\t\tconst line = `${level.toUpperCase()} ${message}${suffix}`;\n\t\tif (level === \"error\") console.error(line);\n\t\telse if (level === \"warn\") console.warn(line);\n\t\telse console.info(line);\n\t}\n\tdebug(message, fields) {\n\t\tthis.write(\"debug\", message, fields);\n\t}\n\tinfo(message, fields) {\n\t\tthis.write(\"info\", message, fields);\n\t}\n\twarn(message, fields) {\n\t\tthis.write(\"warn\", message, fields);\n\t}\n\terror(message, fields) {\n\t\tthis.write(\"error\", message, fields);\n\t}\n\tchild(fields) {\n\t\treturn new ConsoleLogger({\n\t\t\t...this.bound,\n\t\t\t...fields\n\t\t}, this.minLevel);\n\t}\n};\n/** Fields can hold anything, including cycles. Never let rendering throw. */\nfunction safeStringify(value) {\n\ttry {\n\t\treturn JSON.stringify(value) ?? String(value);\n\t} catch {\n\t\treturn \"[unserializable]\";\n\t}\n}\nvar PinoLogger = class PinoLogger {\n\tpino;\n\tconstructor(pino) {\n\t\tthis.pino = pino;\n\t}\n\tdebug(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.debug(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\tinfo(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.info(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\twarn(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.warn(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\terror(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.error(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\tchild(fields) {\n\t\ttry {\n\t\t\treturn new PinoLogger(this.pino.child(fields));\n\t\t} catch {\n\t\t\treturn this;\n\t\t}\n\t}\n};\n/** Build the app's root logger. Never throws, never returns `null`. */\nasync function createLogger(opts = {}) {\n\tconst level = opts.level ?? \"info\";\n\ttry {\n\t\tconst factory = await loadPinoFactory();\n\t\tif (!factory) return new ConsoleLogger(opts.base ?? {}, level);\n\t\treturn new PinoLogger(factory({\n\t\t\tlevel,\n\t\t\tbase: opts.base,\n\t\t\tredact: {\n\t\t\t\tpaths: REDACTED_PATHS,\n\t\t\t\tcensor: \"[redacted]\"\n\t\t\t},\n\t\t\ttransport: opts.pretty ? {\n\t\t\t\ttarget: \"pino-pretty\",\n\t\t\t\toptions: {\n\t\t\t\t\tcolorize: true,\n\t\t\t\t\tignore: \"pid,hostname\"\n\t\t\t\t}\n\t\t\t} : void 0\n\t\t}));\n\t} catch (err) {\n\t\tconsole.warn(`[Logger] pino was found but could not be initialized; falling back to console logging. ${String(err)}`);\n\t\treturn new ConsoleLogger(opts.base ?? {}, level);\n\t}\n}\n/**\n* Load pino's factory, or `null` when it isn't installed.\n*\n* Don't inline the specifier. A literal `import('pino')` is statically\n* analyzable, so Vite applied browser-field mapping to this server build and\n* resolved it to pino's `server_false` browser shim — a stub whose factory\n* throws, turning \"use pino\" into a silent fall back to the console. Computing\n* the specifier defeats that and leaves the import to Node at runtime.\n* `@vite-ignore` alone was NOT enough: it silenced the warning and the rewrite\n* still happened.\n*/\nasync function loadPinoFactory() {\n\tconst specifier = \"pino\";\n\ttry {\n\t\tconst mod = await import(\n\t\t\t/* @vite-ignore */\n\t\t\tspecifier\n);\n\t\tconst factory = mod.default ?? mod;\n\t\treturn typeof factory === \"function\" ? factory : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n//#endregion\n//#region ../server/src/logging/requestId.ts\n/**\n* Request-id resolution for log correlation. Every record on a request path\n* carries the same `requestId`, so an operator handed one id can reconstruct\n* that request's whole story.\n*\n* Inbound ids are TRUSTED when present. Selva runs behind a reverse proxy\n* (Caddy/nginx) that mints a request id for its own access logs; minting a\n* second one here would split one request across two ids and kill cross-tier\n* correlation. The trade — a direct caller picks their own id — is fine, because\n* the id is only ever a log field and an echoed response header, never an\n* authorization or uniqueness input.\n*\n* That trust is why {@link sanitizeRequestId} exists: an attacker-chosen id is\n* untrusted content. Unbounded or newline-carrying values would let a caller\n* forge log lines (log injection) or bloat every record on the request.\n*/\n/** Header carrying a caller/proxy-supplied id. The de-facto standard spelling. */\nvar REQUEST_ID_HEADER = \"x-request-id\";\n/** Long enough for a UUID or a W3C trace-id, short enough to bound a record. */\nvar MAX_REQUEST_ID_LENGTH = 128;\n/**\n* Characters allowed through verbatim. Strict on purpose: UUIDs, ULIDs, hex\n* trace-ids and nginx's `$request_id` all fit. Everything else — whitespace,\n* control chars, quotes, CR/LF — is dropped rather than escaped, since no\n* legitimate id needs them and dropping can't be un-escaped downstream.\n*/\nvar UNSAFE_REQUEST_ID_CHARS = /[^A-Za-z0-9._:-]/g;\n/** Returns `null` when nothing usable survives, so the caller generates instead. */\nfunction sanitizeRequestId(raw) {\n\tif (!raw) return null;\n\tconst cleaned = raw.replace(UNSAFE_REQUEST_ID_CHARS, \"\").slice(0, MAX_REQUEST_ID_LENGTH);\n\treturn cleaned.length > 0 ? cleaned : null;\n}\n/**\n* Reuse the proxy's id when it survives sanitization, otherwise mint a UUID.\n*\n* @param generate injectable so tests get deterministic ids\n*/\nfunction resolveRequestId(headers, generate = randomId) {\n\treturn sanitizeRequestId(headers.get(\"x-request-id\")) ?? generate();\n}\n/**\n* Render a thrown value into a log field.\n*\n* Not every rejection is an `Error` — provider adapters sometimes reject with a\n* plain `{ message, status }`, which would stringify to a useless\n* `[object Object]` and destroy the only record of the failure. Errors keep\n* their stack; anything else is JSON-serialized, with `String()` as the last\n* resort for cycles and exotic values.\n*/\nfunction renderThrown(error) {\n\tif (error instanceof Error) return error.stack ?? error.message;\n\ttry {\n\t\treturn JSON.stringify(error) ?? String(error);\n\t} catch {\n\t\treturn String(error);\n\t}\n}\n/**\n* `crypto.randomUUID` exists in every runtime Selva targets (Node 22+, workers,\n* modern browsers); the `Math.random` branch only covers non-secure contexts\n* where it is missing. Not a weakness: these ids need to be collision-free\n* enough to correlate logs, never unguessable.\n*/\nfunction randomId() {\n\tconst c = globalThis.crypto;\n\tif (c && typeof c.randomUUID === \"function\") return c.randomUUID();\n\treturn `req-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;\n}\n//#endregion\n//#region src/lib/server/providers.server.ts\nvar lazyLogger = {\n\tdebug: (m, f) => getLogger().debug(m, f),\n\tinfo: (m, f) => getLogger().info(m, f),\n\twarn: (m, f) => getLogger().warn(m, f),\n\terror: (m, f) => getLogger().error(m, f),\n\tchild: (f) => getLogger().child(f)\n};\nvar runtime = await createSelvaProviders(private_env, {\n\tregistry: {\n\t\tauth: {\n\t\t\tlocal: (e) => LocalAuthProvider.fromEnv(e),\n\t\t\tsupabase: (e) => SupabaseAuthProvider.fromEnv(e, lazyLogger),\n\t\t\theader: (e) => HeaderAuthProvider.fromEnv(e, lazyLogger)\n\t\t},\n\t\tdata: {\n\t\t\tlocal: (e) => LocalDataProvider.fromEnv(e),\n\t\t\tsupabase: (e) => SupabaseDataProvider.fromEnv(e, void 0, lazyLogger)\n\t\t},\n\t\tstorage: {\n\t\t\tlocal: (e) => LocalStorageProvider.fromEnv(e),\n\t\t\tsupabase: (e) => SupabaseStorageProvider.fromEnv(e)\n\t\t}\n\t},\n\tconfigPath: private_env.SELVA_CONFIG_PATH,\n\tlogger: lazyLogger\n});\n/**\n* Memoized. The first call instantiates providers from env (may throw if\n* required secrets are missing); later calls return the cached config.\n* Importing this module has no side effects — init happens lazily on the\n* first request, never at build time.\n*/\nfunction resolveProviders() {\n\treturn runtime.resolve();\n}\n/**\n* @deprecated Prefer {@link resolveProviders}. Kept as a property accessor so\n* existing `import { providers }` call sites resolve lazily instead of at\n* import time.\n*/\nvar providers = new Proxy({}, { get(_t, prop) {\n\treturn Reflect.get(resolveProviders(), prop);\n} });\nfunction getTenancy() {\n\treturn runtime.tenancy();\n}\n/** Every field has a default so the UI never has to null-check. Override via SELVA_BRAND_* env vars. */\nfunction getBranding() {\n\treturn runtime.branding();\n}\n/** Use this rather than reading flags directly — omitted flags resolve to false. */\nfunction flag(name) {\n\treturn runtime.flag(name);\n}\nvar _definitionService;\nfunction getDefinitionService() {\n\tif (!_definitionService) {\n\t\tconst p = resolveProviders();\n\t\t_definitionService = new DefinitionService(p.data, p.storage);\n\t}\n\treturn _definitionService;\n}\nvar _orgAssetService;\nfunction getOrgAssetService() {\n\tif (!_orgAssetService) {\n\t\tconst p = resolveProviders();\n\t\t_orgAssetService = new OrgAssetService(p.data.orgs, p.storage);\n\t}\n\treturn _orgAssetService;\n}\nfunction getAuthProvider() {\n\treturn resolveProviders().auth;\n}\nfunction getStorageProvider() {\n\treturn resolveProviders().storage;\n}\nfunction getDataProvider() {\n\treturn resolveProviders().data;\n}\nfunction getOrganizationProvider() {\n\treturn resolveProviders().data.orgs;\n}\nfunction getProjectProvider() {\n\treturn resolveProviders().data.projects;\n}\nfunction getDefinitionMeta() {\n\treturn resolveProviders().data.definitions;\n}\nfunction getComputeServerConfigStore() {\n\treturn resolveProviders().data.computeServer;\n}\nfunction getUserProfileStore() {\n\treturn resolveProviders().data.userProfile;\n}\nfunction getInviteStore() {\n\treturn resolveProviders().data.invites;\n}\nfunction getPermissionStore() {\n\treturn resolveProviders().data.permissions;\n}\nfunction getPlatformProjectGrantStore() {\n\treturn resolveProviders().data.platformProjectGrants;\n}\n/** Defaults to `NoopSolveMetricSink` when the config omits `solveMetrics`, so the compute route always records unconditionally. */\nfunction getSolveMetricSink() {\n\treturn runtime.solveMetricSink();\n}\n/**\n* Null on deployments where the audit log isn't queryable (local-provider\n* stays on `NoopEventSink`). Callers must handle null and degrade their UI.\n*/\nfunction getAuditQuery() {\n\treturn providers.data.auditQuery ?? null;\n}\nvar noopEventSink = new NoopEventSink();\n/**\n* Write-side event sink for routes with no store mutation to piggyback on\n* (e.g. self-update lifecycle events). Prefers the explicit `SelvaConfig.events`,\n* then the data provider's own sink, then a no-op.\n*/\nfunction getEventSink() {\n\tconst p = resolveProviders();\n\treturn p.events ?? p.data.events ?? noopEventSink;\n}\nvar LOG_LEVEL = parseLogLevel(private_env.LOG_LEVEL);\nvar _logger = new ConsoleLogger({}, LOG_LEVEL);\n/**\n* The app's root logger. Pino-backed when `pino` is installed (ships with the\n* app; the base `@selvajs/server` install treats it as an optional peer and\n* falls back to the console).\n*\n* Prefer a request-scoped child (`event.locals.log`) in route handlers so\n* records carry `requestId`/`route`. Use this root logger for boot, shutdown,\n* and background work with no request.\n*/\nfunction getLogger() {\n\treturn _logger;\n}\nfunction parseLogLevel(raw) {\n\tconst value = raw?.trim().toLowerCase();\n\tif (value === \"debug\" || value === \"info\" || value === \"warn\" || value === \"error\") return value;\n\tif ([\n\t\t\"true\",\n\t\t\"1\",\n\t\t\"yes\",\n\t\t\"on\",\n\t\t\"verbose\"\n\t].includes((private_env.SELVA_FLAG_COMPUTE_DEBUG ?? \"\").toLowerCase())) return \"debug\";\n\treturn private_env.NODE_ENV === \"development\" ? \"debug\" : \"info\";\n}\ncreateLogger({\n\tlevel: LOG_LEVEL,\n\tpretty: private_env.NODE_ENV === \"development\",\n\tbase: {\n\t\tservice: \"selva\",\n\t\trelease: private_env.SELVA_RELEASE\n\t}\n}).then((logger) => {\n\t_logger = logger;\n});\nvar _errorReporter = new NoopErrorReporter();\n/**\n* Ships errors off-box (Sentry) only when `SENTRY_DSN` is configured;\n* otherwise a no-op, so self-hosters opt in via env and the base install\n* carries no error-tracking dependency. Only genuinely unexpected errors\n* reach here — see `handleError` in hooks.server.ts for what's filtered out\n* before this is called.\n*/\nfunction getErrorReporter() {\n\treturn _errorReporter;\n}\nif (private_env.SENTRY_DSN) SentryErrorReporter.create({\n\tdsn: private_env.SENTRY_DSN,\n\tenvironment: private_env.NODE_ENV,\n\trelease: private_env.SELVA_RELEASE\n}).then((reporter) => {\n\tif (reporter) {\n\t\t_errorReporter = reporter;\n\t\tgetLogger().info(\"Sentry error tracking enabled\", { component: \"ErrorReporter\" });\n\t}\n});\nvar ERROR_HOOKS_FLAG = \"__selvaProcessErrorHooksRegistered\";\nif (!globalThis[ERROR_HOOKS_FLAG]) {\n\tglobalThis[ERROR_HOOKS_FLAG] = true;\n\tprocess.on(\"unhandledRejection\", (reason) => {\n\t\tgetLogger().error(\"Unhandled promise rejection\", {\n\t\t\tcomponent: \"process\",\n\t\t\torigin: \"unhandledRejection\",\n\t\t\terr: renderThrown(reason)\n\t\t});\n\t\tgetErrorReporter().capture(reason, { tags: { origin: \"unhandledRejection\" } });\n\t});\n\tprocess.on(\"uncaughtException\", (error) => {\n\t\tconsole.error(\"[uncaughtException]\", error);\n\t\tgetLogger().error(\"Uncaught exception\", {\n\t\t\tcomponent: \"process\",\n\t\t\torigin: \"uncaughtException\",\n\t\t\terr: renderThrown(error)\n\t\t});\n\t\tgetErrorReporter().capture(error, { tags: { origin: \"uncaughtException\" } });\n\t});\n}\n//#endregion\nexport { SchemaExtractionError as A, providers as C, LocalComputeServerStore as D, resolveRequestId as E, actorFrom as F, isOrgServer as I, isPlatformServer as L, fetchSchemaFromCompute as M, postSchemaFormData as N, DefinitionLoadError as O, ProviderError as P, definitionPaths as R, lazyLogger as S, renderThrown as T, getProjectProvider as _, getComputeServerConfigStore as a, getTenancy as b, getDefinitionService as c, getInviteStore as d, getLogger as f, getPlatformProjectGrantStore as g, getPermissionStore as h, getBranding as i, assertCamelCaseSchema as j, createDefinitionLoader as k, getErrorReporter as l, getOrganizationProvider as m, getAuditQuery as n, getDataProvider as o, getOrgAssetService as p, getAuthProvider as r, getDefinitionMeta as s, flag as t, getEventSink as u, getSolveMetricSink as v, REQUEST_ID_HEADER as w, getUserProfileStore as x, getStorageProvider as y };\n"],"names":[],"mappings":"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"}
|