@selvajs/selva 4.6.21-beta.0 → 4.7.0-beta.2
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/{BRbaYEL5.js → 9i3rf9gV.js} +1 -1
- package/build/client/_app/immutable/chunks/9i3rf9gV.js.br +0 -0
- package/build/client/_app/immutable/chunks/9i3rf9gV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{zOoVG74V.js → BUuRpU5m.js} +1 -1
- package/build/client/_app/immutable/chunks/BUuRpU5m.js.br +0 -0
- package/build/client/_app/immutable/chunks/BUuRpU5m.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{COYKudi0.js → C1lje54W.js} +1 -1
- package/build/client/_app/immutable/chunks/C1lje54W.js.br +0 -0
- package/build/client/_app/immutable/chunks/C1lje54W.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{I2TM0do6.js → CNzANXEE.js} +1 -1
- package/build/client/_app/immutable/chunks/CNzANXEE.js.br +0 -0
- package/build/client/_app/immutable/chunks/CNzANXEE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CYwmPsLn.js → CZrHjFO_.js} +1 -1
- package/build/client/_app/immutable/chunks/CZrHjFO_.js.br +0 -0
- package/build/client/_app/immutable/chunks/CZrHjFO_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B2u4e1Y9.js → CtQi8B_W.js} +5 -5
- package/build/client/_app/immutable/chunks/CtQi8B_W.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtQi8B_W.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D0ZkELYt.js +2 -0
- package/build/client/_app/immutable/chunks/D0ZkELYt.js.br +0 -0
- package/build/client/_app/immutable/chunks/D0ZkELYt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DvWy04ZP.js +2 -0
- package/build/client/_app/immutable/chunks/DvWy04ZP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DvWy04ZP.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CRaXT8K-.js → app.CHLvYXSV.js} +2 -2
- package/build/client/_app/immutable/entry/app.CHLvYXSV.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CHLvYXSV.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.x7J2Q5dO.js +1 -0
- package/build/client/_app/immutable/entry/start.x7J2Q5dO.js.br +2 -0
- package/build/client/_app/immutable/entry/start.x7J2Q5dO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.DPMP9Es7.js → 1.DHaPDVfK.js} +1 -1
- package/build/client/_app/immutable/nodes/1.DHaPDVfK.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DHaPDVfK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.O0oWpOpl.js +3 -0
- package/build/client/_app/immutable/nodes/10.O0oWpOpl.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.O0oWpOpl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.BxhrIetk.js → 11.DhYj36Fk.js} +1 -1
- package/build/client/_app/immutable/nodes/11.DhYj36Fk.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DhYj36Fk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.bzJyaCKt.js → 13.CfJOch3J.js} +1 -1
- package/build/client/_app/immutable/nodes/13.CfJOch3J.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.CfJOch3J.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.XVGDZn7V.js → 14.DisTiyB2.js} +1 -1
- package/build/client/_app/immutable/nodes/14.DisTiyB2.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.DisTiyB2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{15.Ds7J6ry6.js → 15.A437nu0T.js} +1 -1
- package/build/client/_app/immutable/nodes/15.A437nu0T.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.A437nu0T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.C6HKDHv3.js → 16.B9S-bV_g.js} +1 -1
- package/build/client/_app/immutable/nodes/16.B9S-bV_g.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.B9S-bV_g.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.BxjH0QZF.js → 17.BRN_aGIk.js} +1 -1
- package/build/client/_app/immutable/nodes/17.BRN_aGIk.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.BRN_aGIk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.BU2Lw57i.js → 19.DwCFMX9M.js} +1 -1
- package/build/client/_app/immutable/nodes/19.DwCFMX9M.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.DwCFMX9M.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.D9dN-poH.js → 2.DP5fYr4M.js} +1 -1
- package/build/client/_app/immutable/nodes/2.DP5fYr4M.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DP5fYr4M.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.nfHXDL2z.js +5414 -0
- package/build/client/_app/immutable/nodes/20.nfHXDL2z.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.nfHXDL2z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.qpo7v5r_.js → 21.OD5sg0NU.js} +1 -1
- package/build/client/_app/immutable/nodes/21.OD5sg0NU.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.OD5sg0NU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.CNjTTgpk.js +16 -0
- package/build/client/_app/immutable/nodes/23.CNjTTgpk.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.CNjTTgpk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.BSJH1lHT.js → 24.CEgabT6P.js} +1 -1
- package/build/client/_app/immutable/nodes/24.CEgabT6P.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.CEgabT6P.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.BKQucFUA.js → 27.CRIaBHAx.js} +1 -1
- package/build/client/_app/immutable/nodes/27.CRIaBHAx.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.CRIaBHAx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.BleEhT0J.js → 28.BC6m2tWk.js} +1 -1
- package/build/client/_app/immutable/nodes/28.BC6m2tWk.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.BC6m2tWk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.fAbDo5Et.js → 29.BFYPdg-j.js} +1 -1
- package/build/client/_app/immutable/nodes/29.BFYPdg-j.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BFYPdg-j.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.XubMG-dn.js → 3.J7HfMiHi.js} +1 -1
- package/build/client/_app/immutable/nodes/3.J7HfMiHi.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.J7HfMiHi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.DRrc_hLr.js → 30.60AXFjfN.js} +1 -1
- package/build/client/_app/immutable/nodes/30.60AXFjfN.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.60AXFjfN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.C77UuNpH.js → 5.CLnvzJQ1.js} +1 -1
- package/build/client/_app/immutable/nodes/5.CLnvzJQ1.js.br +1 -0
- package/build/client/_app/immutable/nodes/5.CLnvzJQ1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.B23L8hA_.js → 6.8mUhfqtj.js} +1 -1
- package/build/client/_app/immutable/nodes/6.8mUhfqtj.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.8mUhfqtj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.BZj0oAjH.js → 7.Bu0PYCkD.js} +1 -1
- package/build/client/_app/immutable/nodes/7.Bu0PYCkD.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Bu0PYCkD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.CGy_fUC4.js → 8.CzmdM7pu.js} +1 -1
- package/build/client/_app/immutable/nodes/8.CzmdM7pu.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CzmdM7pu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.BpEiOuN0.js → 9.BogAwqgH.js} +1 -1
- package/build/client/_app/immutable/nodes/9.BogAwqgH.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BogAwqgH.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/{access.server.js-D99g5hZd.js → access.server.js-_nJWuQcN.js} +66 -51
- package/build/server/chunks/chunks/access.server.js-_nJWuQcN.js.map +1 -0
- package/build/server/chunks/chunks/{admin-auth.server.js-hCWF6Pqg.js → admin-auth.server.js-CitjWnKM.js} +53 -31
- package/build/server/chunks/chunks/admin-auth.server.js-CitjWnKM.js.map +1 -0
- package/build/server/chunks/chunks/{api-errors.js-yRMzxqNi.js → api-errors.js-DlfcfPJs.js} +4 -4
- package/build/server/chunks/chunks/{api-errors.js-yRMzxqNi.js.map → api-errors.js-DlfcfPJs.js.map} +1 -1
- package/build/server/chunks/chunks/{auth-bootstrap.server.js-BpQr_I_2.js → auth-bootstrap.server.js-S-F5QI4m.js} +3 -3
- package/build/server/chunks/chunks/{auth-bootstrap.server.js-BpQr_I_2.js.map → auth-bootstrap.server.js-S-F5QI4m.js.map} +1 -1
- package/build/server/chunks/chunks/{bootHealth.server.js-CxNJCaGf.js → bootHealth.server.js-CvLSuL2x.js} +27 -4
- package/build/server/chunks/chunks/bootHealth.server.js-CvLSuL2x.js.map +1 -0
- package/build/server/chunks/chunks/{clientCache.server.js-nl8vnalG.js → clientCache.server.js-BS8-NdiI.js} +21 -5
- package/build/server/chunks/chunks/clientCache.server.js-BS8-NdiI.js.map +1 -0
- package/build/server/chunks/chunks/computeLimits.js-CQh4jXlX.js +28 -0
- package/build/server/chunks/chunks/computeLimits.js-CQh4jXlX.js.map +1 -0
- package/build/server/chunks/chunks/{context.js-D8E0GFTw.js → context.js-DsQGiS2x.js} +4 -1
- package/build/server/chunks/chunks/context.js-DsQGiS2x.js.map +1 -0
- package/build/server/chunks/chunks/{evictChangedServers.js-AKiDolw-.js → evictChangedServers.js-R3UCE6wP.js} +2 -2
- package/build/server/chunks/chunks/{evictChangedServers.js-AKiDolw-.js.map → evictChangedServers.js-R3UCE6wP.js.map} +1 -1
- package/build/server/chunks/chunks/{internal2.js-CNimHS8p.js → internal2.js-BBcEKa-m.js} +3 -3
- package/build/server/chunks/chunks/{internal2.js-CNimHS8p.js.map → internal2.js-BBcEKa-m.js.map} +1 -1
- package/build/server/chunks/chunks/{org-members.server.js-HahiM88D.js → org-members.server.js-DskaqUJo.js} +2 -2
- package/build/server/chunks/chunks/{org-members.server.js-HahiM88D.js.map → org-members.server.js-DskaqUJo.js.map} +1 -1
- package/build/server/chunks/chunks/{package.js-CGjshiZJ.js → package.js-Cl0z1gce.js} +2 -2
- package/build/server/chunks/chunks/package.js-Cl0z1gce.js.map +1 -0
- package/build/server/chunks/chunks/{permissions-compat.server.js-BfoBZYSH.js → permissions-compat.server.js-DNsLyriU.js} +2 -2
- package/build/server/chunks/chunks/{permissions-compat.server.js-BfoBZYSH.js.map → permissions-compat.server.js-DNsLyriU.js.map} +1 -1
- package/build/server/chunks/chunks/{permissions.server.js-B9lpLFEj.js → permissions.server.js-C3_SFjUh.js} +2 -2
- package/build/server/chunks/chunks/{permissions.server.js-B9lpLFEj.js.map → permissions.server.js-C3_SFjUh.js.map} +1 -1
- package/build/server/chunks/chunks/{providers.server.js-D0hpk-aq.js → providers.server.js-CIHOepKv.js} +152 -34
- package/build/server/chunks/chunks/providers.server.js-CIHOepKv.js.map +1 -0
- package/build/server/chunks/chunks/redirect.js-1CZ30qn2.js +9 -0
- package/build/server/chunks/chunks/redirect.js-1CZ30qn2.js.map +1 -0
- package/build/server/chunks/chunks/{resolve.server.js-CtUK_9yC.js → resolve.server.js-Dg1o2vnd.js} +4 -4
- package/build/server/chunks/chunks/{resolve.server.js-CtUK_9yC.js.map → resolve.server.js-Dg1o2vnd.js.map} +1 -1
- package/build/server/chunks/chunks/selfUpdate.server.js-CXejyqIT.js +109 -0
- package/build/server/chunks/chunks/selfUpdate.server.js-CXejyqIT.js.map +1 -0
- package/build/server/chunks/chunks/solve-cache-key.js-BIwJfBG9.js +320 -0
- package/build/server/chunks/chunks/solve-cache-key.js-BIwJfBG9.js.map +1 -0
- package/build/server/chunks/chunks/token-codec.js-1RPNe2RW.js +32 -0
- package/build/server/chunks/chunks/token-codec.js-1RPNe2RW.js.map +1 -0
- package/build/server/chunks/chunks/{token.server.js-q3fv9Fqo.js → token.server.js-DbTfFk9r.js} +10 -6
- package/build/server/chunks/chunks/token.server.js-DbTfFk9r.js.map +1 -0
- package/build/server/chunks/chunks/{token2.server.js-Cqw1dJj-.js → token2.server.js-Cjb4XaWC.js} +10 -6
- package/build/server/chunks/chunks/token2.server.js-Cjb4XaWC.js.map +1 -0
- package/build/server/chunks/chunks/update-outcome.js-mUyfVCnt.js +99 -0
- package/build/server/chunks/chunks/update-outcome.js-mUyfVCnt.js.map +1 -0
- package/build/server/chunks/chunks/{utils4.js-BRotGwxx.js → utils4.js-8SHxuGTr.js} +2 -2
- package/build/server/chunks/chunks/{utils4.js-BRotGwxx.js.map → utils4.js-8SHxuGTr.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-9SFgd7Dh.js → _server.ts.js-CR_1eCgH.js} +12 -9
- package/build/server/chunks/entries/endpoints/admin/api/compute/{_server.ts.js-9SFgd7Dh.js.map → _server.ts.js-CR_1eCgH.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-nqqXR4_e.js → _server.ts.js-D1UFM_o6.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/compute/actions/{_server.ts.js-nqqXR4_e.js.map → _server.ts.js-D1UFM_o6.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-a2K9SJfi.js → _server.ts.js-DdzXkztc.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/compute/status/{_server.ts.js-a2K9SJfi.js.map → _server.ts.js-DdzXkztc.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-BAhINzFq.js → _server.ts.js-CqdBKOC6.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/{_server.ts.js-BAhINzFq.js.map → _server.ts.js-CqdBKOC6.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/{_server.ts.js-DYD3g-28.js → _server.ts.js-Bi3NbLd3.js} +11 -7
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/{_server.ts.js-DYD3g-28.js.map → _server.ts.js-Bi3NbLd3.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-PhwONmey.js → _server.ts.js-C3ZwVpyg.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/orgs/{_server.ts.js-PhwONmey.js.map → _server.ts.js-C3ZwVpyg.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-DVXfLqfN.js → _server.ts.js-CAe8T4G6.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/{_server.ts.js-DVXfLqfN.js.map → _server.ts.js-CAe8T4G6.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-C3Gcr9vO.js → _server.ts.js-DHYHT1N8.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/{_server.ts.js-C3Gcr9vO.js.map → _server.ts.js-DHYHT1N8.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-8rwkvJsL.js → _server.ts.js-Cgt7iGfE.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/{_server.ts.js-8rwkvJsL.js.map → _server.ts.js-Cgt7iGfE.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-BTgoWufU.js → _server.ts.js-BFi1Di59.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/projects/{_server.ts.js-BTgoWufU.js.map → _server.ts.js-BFi1Di59.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/system/health/{_server.ts.js-CQdxoaBS.js → _server.ts.js-Br7kd03s.js} +35 -6
- package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-Br7kd03s.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/system/throughput/{_server.ts.js-DFacQgP7.js → _server.ts.js-ufKMuphM.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/system/throughput/{_server.ts.js-DFacQgP7.js.map → _server.ts.js-ufKMuphM.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/system/update/{_server.ts.js-y3dgQz-R.js → _server.ts.js-D-IGlEji.js} +43 -30
- package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-D-IGlEji.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-BEGaGEwg.js → _server.ts.js-7Efk1xkU.js} +8 -8
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/{_server.ts.js-BEGaGEwg.js.map → _server.ts.js-7Efk1xkU.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CGwcR-7k.js → _server.ts.js-4UrDw7Q3.js} +6 -6
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/{_server.ts.js-CGwcR-7k.js.map → _server.ts.js-4UrDw7Q3.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-D-z-Kl_c.js → _server.ts.js-B9ZWJoST.js} +9 -9
- package/build/server/chunks/entries/endpoints/admin/api/users/{_server.ts.js-D-z-Kl_c.js.map → _server.ts.js-B9ZWJoST.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/compute/{_server.ts.js-DkyT3FO6.js → _server.ts.js-D9qvgnX7.js} +287 -198
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-D9qvgnX7.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-BmYC9zZb.js → _server.ts.js-CoS51dOD.js} +12 -8
- package/build/server/chunks/entries/endpoints/api/compute/schema/{_server.ts.js-BmYC9zZb.js.map → _server.ts.js-CoS51dOD.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js--cRkjXHi.js → _server.ts.js-D7jS25IN.js} +11 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/{_server.ts.js--cRkjXHi.js.map → _server.ts.js-D7jS25IN.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-Dz0exqZ1.js → _server.ts.js-5hlsFhI1.js} +11 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/{_server.ts.js-Dz0exqZ1.js.map → _server.ts.js-5hlsFhI1.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-CgM8FSl0.js → _server.ts.js-CRMcPOgH.js} +11 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/{_server.ts.js-CgM8FSl0.js.map → _server.ts.js-CRMcPOgH.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BQX0WanC.js → _server.ts.js-C8-AAq8y.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/{_server.ts.js-BQX0WanC.js.map → _server.ts.js-C8-AAq8y.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-BsV3i0Cq.js → _server.ts.js-LV0ZGJh9.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/{_server.ts.js-BsV3i0Cq.js.map → _server.ts.js-LV0ZGJh9.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-DWFprR5Z.js → _server.ts.js-OUvpfSN4.js} +8 -7
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/{_server.ts.js-DWFprR5Z.js.map → _server.ts.js-OUvpfSN4.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DA3K2FgH.js → _server.ts.js-BJxBKsrU.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/{_server.ts.js-DA3K2FgH.js.map → _server.ts.js-BJxBKsrU.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-SHjs_zm9.js → _server.ts.js-BaHW7TEs.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/{_server.ts.js-SHjs_zm9.js.map → _server.ts.js-BaHW7TEs.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-ycJ8puIN.js → _server.ts.js-CBMi-KUD.js} +11 -7
- package/build/server/chunks/entries/endpoints/api/definitions/{_server.ts.js-ycJ8puIN.js.map → _server.ts.js-CBMi-KUD.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/diag/throughput/{_server.ts.js-BdF3kn__.js → _server.ts.js-C98KkHLg.js} +5 -5
- package/build/server/chunks/entries/endpoints/api/diag/throughput/{_server.ts.js-BdF3kn__.js.map → _server.ts.js-C98KkHLg.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/files/_...path_/{_server.ts.js-C26jiO43.js → _server.ts.js-CeTV6qVK.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/files/_...path_/{_server.ts.js-C26jiO43.js.map → _server.ts.js-CeTV6qVK.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js-CoRl_nbA.js → _server.ts.js-7eclLbhJ.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/health/{_server.ts.js-CoRl_nbA.js.map → _server.ts.js-7eclLbhJ.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-CvAeI7gV.js → _server.ts.js-DNh5594J.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/invites/_id_/{_server.ts.js-CvAeI7gV.js.map → _server.ts.js-DNh5594J.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-Cd0V4sta.js → _server.ts.js-DGKHjtw8.js} +9 -8
- package/build/server/chunks/entries/endpoints/api/invites/{_server.ts.js-Cd0V4sta.js.map → _server.ts.js-DGKHjtw8.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-BThetmba.js → _server.ts.js-CZ50nT84.js} +5 -5
- package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/{_server.ts.js-BThetmba.js.map → _server.ts.js-CZ50nT84.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/org/compute/{_server.ts.js-B4lGohx2.js → _server.ts.js-Bf1qSz52.js} +12 -9
- package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-Bf1qSz52.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BcW-ZH-q.js → _server.ts.js-8PZedKem.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/{_server.ts.js-BcW-ZH-q.js.map → _server.ts.js-8PZedKem.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-bIB33ABF.js → _server.ts.js-C6v2wqYB.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/{_server.ts.js-bIB33ABF.js.map → _server.ts.js-C6v2wqYB.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-B1AwpUGi.js → _server.ts.js-B3WPTw6C.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/{_server.ts.js-B1AwpUGi.js.map → _server.ts.js-B3WPTw6C.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-DMl495J4.js → _server.ts.js-CY3ngc5p.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/{_server.ts.js-DMl495J4.js.map → _server.ts.js-CY3ngc5p.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-DFJbS6RF.js → _server.ts.js-DMAeVu3R.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/{_server.ts.js-DFJbS6RF.js.map → _server.ts.js-DMAeVu3R.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-Gcc5eHXJ.js → _server.ts.js-D32BzObk.js} +6 -6
- package/build/server/chunks/entries/endpoints/api/projects/{_server.ts.js-Gcc5eHXJ.js.map → _server.ts.js-D32BzObk.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/auth/email/callback/{_server.ts.js-B7kvAKyV.js → _server.ts.js-DREl2Sbq.js} +12 -7
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-DREl2Sbq.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/{_server.ts.js-3yXXN2SO.js → _server.ts.js-CmIWOQ81.js} +12 -7
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CmIWOQ81.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-1z1P1Ihi.js → _server.ts.js-D0O8rZwg.js} +5 -5
- package/build/server/chunks/entries/endpoints/auth/supabase/start/{_server.ts.js-1z1P1Ihi.js.map → _server.ts.js-D0O8rZwg.js.map} +1 -1
- package/build/server/chunks/entries/{hooks.server.js-OUXv4_qA.js → hooks.server.js-DSn6v_nP.js} +88 -40
- package/build/server/chunks/entries/hooks.server.js-DSn6v_nP.js.map +1 -0
- package/build/server/chunks/entries/pages/{_layout.server.ts.js-Cu7ejVMb.js → _layout.server.ts.js-Cts38lSM.js} +2 -2
- package/build/server/chunks/entries/pages/{_layout.server.ts.js-Cu7ejVMb.js.map → _layout.server.ts.js-Cts38lSM.js.map} +1 -1
- package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-koO2loGE.js → _page.server.ts.js-BIr1NoEK.js} +5 -5
- package/build/server/chunks/entries/pages/accept-invite/{_page.server.ts.js-koO2loGE.js.map → _page.server.ts.js-BIr1NoEK.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-BcS7EPWJ.js → _layout.server.ts.js-DjB5P2N0.js} +3 -3
- package/build/server/chunks/entries/pages/admin/{_layout.server.ts.js-BcS7EPWJ.js.map → _layout.server.ts.js-DjB5P2N0.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-ColpdHsj.js → _page.server.ts.js-DMawiAOU.js} +4 -4
- package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-ColpdHsj.js.map → _page.server.ts.js-DMawiAOU.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/audit/{_page.server.ts.js-pm9fJjcH.js → _page.server.ts.js-CJie_AQe.js} +14 -5
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CJie_AQe.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/audit/{_page.svelte.js-smQE9KlB.js → _page.svelte.js-B3TE0-_a.js} +6 -2
- package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-B3TE0-_a.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-btPxjqx4.js → _page.server.ts.js-DJI-BqLn.js} +5 -5
- package/build/server/chunks/entries/pages/admin/compute/{_page.server.ts.js-btPxjqx4.js.map → _page.server.ts.js-DJI-BqLn.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-CQSWGW0Y.js → _page.server.ts.js-DRZlByRc.js} +3 -3
- package/build/server/chunks/entries/pages/admin/organizations/{_page.server.ts.js-CQSWGW0Y.js.map → _page.server.ts.js-DRZlByRc.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.server.ts.js-DWObSxSO.js → _page.server.ts.js-cnc8alqe.js} +9 -7
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-cnc8alqe.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-BSYX7hSD.js → _page.server.ts.js-7suWtJxu.js} +3 -3
- package/build/server/chunks/entries/pages/admin/projects/{_page.server.ts.js-BSYX7hSD.js.map → _page.server.ts.js-7suWtJxu.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DFA57irm.js → _page.server.ts.js-C0ZdK8vU.js} +6 -6
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-DFA57irm.js.map → _page.server.ts.js-C0ZdK8vU.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/system/{_page.svelte.js-D4Z-BGD2.js → _page.svelte.js-CqNLFuOZ.js} +2 -97
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CqNLFuOZ.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-B0s6jSPs.js → _page.server.ts.js-C1LiUNB_.js} +5 -5
- package/build/server/chunks/entries/pages/admin/users/{_page.server.ts.js-B0s6jSPs.js.map → _page.server.ts.js-C1LiUNB_.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CO0kHa1b.js → _page.svelte.js-C-jy08cJ.js} +2 -2
- package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CO0kHa1b.js.map → _page.svelte.js-C-jy08cJ.js.map} +1 -1
- package/build/server/chunks/entries/pages/auth/email/start/{_page.server.ts.js-F8fXU2YV.js → _page.server.ts.js-Bf5aciLN.js} +4 -3
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-Bf5aciLN.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-BXXiZbrJ.js → _page.server.ts.js-Cd1cMb0M.js} +9 -9
- package/build/server/chunks/entries/pages/library/_guid_/{_page.server.ts.js-BXXiZbrJ.js.map → _page.server.ts.js-Cd1cMb0M.js.map} +1 -1
- package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-BpEnQ79H.js → _page.svelte.js-BHPELPpI.js} +53 -1
- package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-BpEnQ79H.js.map → _page.svelte.js-BHPELPpI.js.map} +1 -1
- package/build/server/chunks/entries/pages/library/{_page.server.ts.js-CNsQMZl_.js → _page.server.ts.js-CkNgTDfl.js} +4 -4
- package/build/server/chunks/entries/pages/library/{_page.server.ts.js-CNsQMZl_.js.map → _page.server.ts.js-CkNgTDfl.js.map} +1 -1
- package/build/server/chunks/entries/pages/login/{_page.server.ts.js-DLtWh9lt.js → _page.server.ts.js-BM0BZFoZ.js} +4 -3
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-BM0BZFoZ.js.map +1 -0
- package/build/server/chunks/entries/pages/logout/{_page.server.ts.js-DbaORCjB.js → _page.server.ts.js-Cc1BjCbc.js} +2 -2
- package/build/server/chunks/entries/pages/logout/{_page.server.ts.js-DbaORCjB.js.map → _page.server.ts.js-Cc1BjCbc.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-CNMJpFAK.js → _layout.server.ts.js-DuJkKJcb.js} +2 -2
- package/build/server/chunks/entries/pages/projects/{_layout.server.ts.js-CNMJpFAK.js.map → _layout.server.ts.js-DuJkKJcb.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BPAfS2yX.js → _page.server.ts.js-6JTf7XX0.js} +5 -5
- package/build/server/chunks/entries/pages/projects/{_page.server.ts.js-BPAfS2yX.js.map → _page.server.ts.js-6JTf7XX0.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_page.svelte.js-nQ9Uj1kK.js → _page.svelte.js-DVU6xc3i.js} +30 -4
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-DVU6xc3i.js.map +1 -0
- package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-DmwzD-qo.js → _page.server.ts.js-CAIQvVcR.js} +5 -5
- package/build/server/chunks/entries/pages/setup/{_page.server.ts.js-DmwzD-qo.js.map → _page.server.ts.js-CAIQvVcR.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-Bm1MwrYZ.js → _layout.server.ts.js-CBM_iY4T.js} +2 -2
- package/build/server/chunks/entries/pages/team/{_layout.server.ts.js-Bm1MwrYZ.js.map → _layout.server.ts.js-CBM_iY4T.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DjFIDiK1.js → _page.server.ts.js-Pf-MSXv0.js} +2 -2
- package/build/server/chunks/entries/pages/team/{_page.server.ts.js-DjFIDiK1.js.map → _page.server.ts.js-Pf-MSXv0.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-B331KcmA.js → _page.server.ts.js-CR-ddKJ4.js} +4 -4
- package/build/server/chunks/entries/pages/team/compute/{_page.server.ts.js-B331KcmA.js.map → _page.server.ts.js-CR-ddKJ4.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-lSFTK3rq.js → _page.server.ts.js-DCQ0yy-F.js} +3 -3
- package/build/server/chunks/entries/pages/team/members/{_page.server.ts.js-lSFTK3rq.js.map → _page.server.ts.js-DCQ0yy-F.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-C70N76b0.js → _page.svelte.js-DVOfVzGn.js} +2 -2
- package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-C70N76b0.js.map → _page.svelte.js-DVOfVzGn.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-CFZGG_Ci.js → _page.server.ts.js-FUxzp5PC.js} +3 -3
- package/build/server/chunks/entries/pages/team/projects/{_page.server.ts.js-CFZGG_Ci.js.map → _page.server.ts.js-FUxzp5PC.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js-AFrlbBl8.js → _page.server.ts.js-Btcar0yP.js} +3 -3
- package/build/server/chunks/entries/pages/team/reclaim/{_page.server.ts.js-AFrlbBl8.js.map → _page.server.ts.js-Btcar0yP.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-BbKtggo9.js → _page.server.ts.js-CS5FLYXE.js} +3 -3
- package/build/server/chunks/entries/pages/team/settings/{_page.server.ts.js-BbKtggo9.js.map → _page.server.ts.js-CS5FLYXE.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-B0XsHyzb.js → _page.server.ts.js-B1QqNYRo.js} +2 -2
- package/build/server/chunks/entries/pages/team/shares/{_page.server.ts.js-B0XsHyzb.js.map → _page.server.ts.js-B1QqNYRo.js.map} +1 -1
- package/build/server/chunks/{handler-BVoIPaUa.js → handler-CiXlY3wu.js} +3 -3
- package/build/server/chunks/{handler-BVoIPaUa.js.map → handler-CiXlY3wu.js.map} +1 -1
- package/build/server/chunks/{index.js-hj4o2h8q.js → index.js-CfdDzNmO.js} +2 -2
- package/build/server/chunks/{index.js-hj4o2h8q.js.map → index.js-CfdDzNmO.js.map} +1 -1
- package/build/server/chunks/{manifest.js-BIVs9dfJ.js → manifest.js-DZ6WZ-WA.js} +76 -76
- package/build/server/chunks/{manifest.js-BIVs9dfJ.js.map → manifest.js-DZ6WZ-WA.js.map} +1 -1
- package/build/server/chunks/nodes/{0.js-OxxVvycM.js → 0.js-BMoQIPmA.js} +4 -4
- package/build/server/chunks/nodes/{0.js-OxxVvycM.js.map → 0.js-BMoQIPmA.js.map} +1 -1
- package/build/server/chunks/nodes/{1.js-Bs6uvYbc.js → 1.js-Cm5AdicB.js} +2 -2
- package/build/server/chunks/nodes/{1.js-Bs6uvYbc.js.map → 1.js-Cm5AdicB.js.map} +1 -1
- package/build/server/chunks/nodes/{10.js-CvIgMW7D.js → 10.js-BNCwQwZV.js} +9 -9
- package/build/server/chunks/nodes/{10.js-CvIgMW7D.js.map → 10.js-BNCwQwZV.js.map} +1 -1
- package/build/server/chunks/nodes/{11.js-CnBjS7-t.js → 11.js-DkWLgBVg.js} +8 -8
- package/build/server/chunks/nodes/{11.js-CnBjS7-t.js.map → 11.js-DkWLgBVg.js.map} +1 -1
- package/build/server/chunks/nodes/{12.js-Dq_XopIA.js → 12.js-kNjmUDDo.js} +4 -4
- package/build/server/chunks/nodes/{12.js-Dq_XopIA.js.map → 12.js-kNjmUDDo.js.map} +1 -1
- package/build/server/chunks/nodes/{13.js-CqZCtg80.js → 13.js-jNBOb5Ni.js} +5 -5
- package/build/server/chunks/nodes/{13.js-CqZCtg80.js.map → 13.js-jNBOb5Ni.js.map} +1 -1
- package/build/server/chunks/nodes/{14.js-OvULgcZx.js → 14.js-jkWhR5ra.js} +5 -5
- package/build/server/chunks/nodes/{14.js-OvULgcZx.js.map → 14.js-jkWhR5ra.js.map} +1 -1
- package/build/server/chunks/nodes/{15.js-3rOev7kG.js → 15.js-Bh0tBhZ6.js} +15 -11
- package/build/server/chunks/nodes/{15.js-3rOev7kG.js.map → 15.js-Bh0tBhZ6.js.map} +1 -1
- package/build/server/chunks/nodes/{16.js-DY4bmQK_.js → 16.js-BjSvS7x7.js} +11 -11
- package/build/server/chunks/nodes/{16.js-DY4bmQK_.js.map → 16.js-BjSvS7x7.js.map} +1 -1
- package/build/server/chunks/nodes/{17.js-DzcgsMqq.js → 17.js-CVAlNLd1.js} +2 -2
- package/build/server/chunks/nodes/{17.js-DzcgsMqq.js.map → 17.js-CVAlNLd1.js.map} +1 -1
- package/build/server/chunks/nodes/{18.js-C3GcE50R.js → 18.js-m1EmD7J9.js} +10 -5
- package/build/server/chunks/nodes/{18.js-C3GcE50R.js.map → 18.js-m1EmD7J9.js.map} +1 -1
- package/build/server/chunks/nodes/{19.js-4ei3NRJW.js → 19.js-Cvq4wk_v.js} +8 -8
- package/build/server/chunks/nodes/{19.js-4ei3NRJW.js.map → 19.js-Cvq4wk_v.js.map} +1 -1
- package/build/server/chunks/nodes/{2.js-BhhMlQQP.js → 2.js-_j2qbJf6.js} +8 -8
- package/build/server/chunks/nodes/{2.js-BhhMlQQP.js.map → 2.js-_j2qbJf6.js.map} +1 -1
- package/build/server/chunks/nodes/{20.js-BQZue73m.js → 20.js-BjgFHK82.js} +17 -13
- package/build/server/chunks/nodes/{20.js-BQZue73m.js.map → 20.js-BjgFHK82.js.map} +1 -1
- package/build/server/chunks/nodes/{21.js-BAkAIvfV.js → 21.js-C3u9VeIP.js} +12 -7
- package/build/server/chunks/nodes/{21.js-BAkAIvfV.js.map → 21.js-C3u9VeIP.js.map} +1 -1
- package/build/server/chunks/nodes/{22.js-d354Ho4z.js → 22.js-3vW3ZPjE.js} +8 -3
- package/build/server/chunks/nodes/{22.js-d354Ho4z.js.map → 22.js-3vW3ZPjE.js.map} +1 -1
- package/build/server/chunks/nodes/{23.js-BMNUZekw.js → 23.js-h3AKg2Bd.js} +9 -9
- package/build/server/chunks/nodes/{23.js-BMNUZekw.js.map → 23.js-h3AKg2Bd.js.map} +1 -1
- package/build/server/chunks/nodes/{24.js-BGD-JCcE.js → 24.js-DcfMC0S6.js} +11 -7
- package/build/server/chunks/nodes/{24.js-BGD-JCcE.js.map → 24.js-DcfMC0S6.js.map} +1 -1
- package/build/server/chunks/nodes/{25.js-BqxnZYdq.js → 25.js-B8F-WcNH.js} +4 -4
- package/build/server/chunks/nodes/{25.js-BqxnZYdq.js.map → 25.js-B8F-WcNH.js.map} +1 -1
- package/build/server/chunks/nodes/{27.js-Bpas2N07.js → 27.js-DmjAkuen.js} +6 -6
- package/build/server/chunks/nodes/{27.js-Bpas2N07.js.map → 27.js-DmjAkuen.js.map} +1 -1
- package/build/server/chunks/nodes/{28.js-CzzcTWyj.js → 28.js-B7Rf1M8l.js} +6 -6
- package/build/server/chunks/nodes/{28.js-CzzcTWyj.js.map → 28.js-B7Rf1M8l.js.map} +1 -1
- package/build/server/chunks/nodes/{29.js-D-yU37B7.js → 29.js-DFPsK4BF.js} +5 -5
- package/build/server/chunks/nodes/{29.js-D-yU37B7.js.map → 29.js-DFPsK4BF.js.map} +1 -1
- package/build/server/chunks/nodes/{3.js-Cz9pT7ce.js → 3.js-DEDKRIYO.js} +2 -2
- package/build/server/chunks/nodes/{3.js-Cz9pT7ce.js.map → 3.js-DEDKRIYO.js.map} +1 -1
- package/build/server/chunks/nodes/{30.js-CTnqbIs1.js → 30.js-B17mHAaN.js} +5 -5
- package/build/server/chunks/nodes/{30.js-CTnqbIs1.js.map → 30.js-B17mHAaN.js.map} +1 -1
- package/build/server/chunks/nodes/{31.js-BzVXDu0q.js → 31.js-g3F8A8P0.js} +4 -4
- package/build/server/chunks/nodes/{31.js-BzVXDu0q.js.map → 31.js-g3F8A8P0.js.map} +1 -1
- package/build/server/chunks/nodes/{32.js-D5n6ZsDK.js → 32.js-1VSkrG-2.js} +4 -4
- package/build/server/chunks/nodes/{32.js-D5n6ZsDK.js.map → 32.js-1VSkrG-2.js.map} +1 -1
- package/build/server/chunks/nodes/{5.js-BJ8b3aNu.js → 5.js-BvHhhp_p.js} +4 -4
- package/build/server/chunks/nodes/{5.js-BJ8b3aNu.js.map → 5.js-BvHhhp_p.js.map} +1 -1
- package/build/server/chunks/nodes/{6.js-BUe0tZCB.js → 6.js-BHejxveY.js} +5 -5
- package/build/server/chunks/nodes/{6.js-BUe0tZCB.js.map → 6.js-BHejxveY.js.map} +1 -1
- package/build/server/chunks/nodes/{7.js-Bo7bTIfx.js → 7.js-CV5qjTXV.js} +2 -2
- package/build/server/chunks/nodes/{7.js-Bo7bTIfx.js.map → 7.js-CV5qjTXV.js.map} +1 -1
- package/build/server/chunks/nodes/{8.js-C6iVKn1o.js → 8.js-jhS48nhZ.js} +12 -7
- package/build/server/chunks/nodes/{8.js-C6iVKn1o.js.map → 8.js-jhS48nhZ.js.map} +1 -1
- package/build/server/chunks/nodes/{9.js-DPMqw-Dj.js → 9.js-27g91Gox.js} +6 -6
- package/build/server/chunks/nodes/{9.js-DPMqw-Dj.js.map → 9.js-27g91Gox.js.map} +1 -1
- package/package.json +4 -4
- package/templates/.env.example +57 -0
- package/build/client/_app/immutable/chunks/B2u4e1Y9.js.br +0 -0
- package/build/client/_app/immutable/chunks/B2u4e1Y9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BRbaYEL5.js.br +0 -0
- package/build/client/_app/immutable/chunks/BRbaYEL5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/COYKudi0.js.br +0 -0
- package/build/client/_app/immutable/chunks/COYKudi0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CYwmPsLn.js.br +0 -0
- package/build/client/_app/immutable/chunks/CYwmPsLn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CxPY7Obc.js +0 -2
- package/build/client/_app/immutable/chunks/CxPY7Obc.js.br +0 -0
- package/build/client/_app/immutable/chunks/CxPY7Obc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/I2TM0do6.js.br +0 -0
- package/build/client/_app/immutable/chunks/I2TM0do6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/IUqeb3TJ.js +0 -2
- package/build/client/_app/immutable/chunks/IUqeb3TJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/IUqeb3TJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/zOoVG74V.js.br +0 -0
- package/build/client/_app/immutable/chunks/zOoVG74V.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CRaXT8K-.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CRaXT8K-.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DuKqaS_0.js +0 -1
- package/build/client/_app/immutable/entry/start.DuKqaS_0.js.br +0 -0
- package/build/client/_app/immutable/entry/start.DuKqaS_0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DPMP9Es7.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DPMP9Es7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.DMJdbPyC.js +0 -3
- package/build/client/_app/immutable/nodes/10.DMJdbPyC.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.DMJdbPyC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BxhrIetk.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BxhrIetk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.bzJyaCKt.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.bzJyaCKt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.XVGDZn7V.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.XVGDZn7V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.Ds7J6ry6.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.Ds7J6ry6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.C6HKDHv3.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.C6HKDHv3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.BxjH0QZF.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.BxjH0QZF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.BU2Lw57i.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.BU2Lw57i.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.D9dN-poH.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.D9dN-poH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.BIo_tnO_.js +0 -5021
- package/build/client/_app/immutable/nodes/20.BIo_tnO_.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.BIo_tnO_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.qpo7v5r_.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.qpo7v5r_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.CdjZcdrJ.js +0 -16
- package/build/client/_app/immutable/nodes/23.CdjZcdrJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.CdjZcdrJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.BSJH1lHT.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.BSJH1lHT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.BKQucFUA.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.BKQucFUA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.BleEhT0J.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.BleEhT0J.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.fAbDo5Et.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.fAbDo5Et.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.XubMG-dn.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.XubMG-dn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.DRrc_hLr.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.DRrc_hLr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.C77UuNpH.js.br +0 -1
- package/build/client/_app/immutable/nodes/5.C77UuNpH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.B23L8hA_.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.B23L8hA_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BZj0oAjH.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BZj0oAjH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CGy_fUC4.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CGy_fUC4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.BpEiOuN0.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BpEiOuN0.js.gz +0 -0
- package/build/server/chunks/chunks/access.server.js-D99g5hZd.js.map +0 -1
- package/build/server/chunks/chunks/admin-auth.server.js-hCWF6Pqg.js.map +0 -1
- package/build/server/chunks/chunks/bootHealth.server.js-CxNJCaGf.js.map +0 -1
- package/build/server/chunks/chunks/clientCache.server.js-nl8vnalG.js.map +0 -1
- package/build/server/chunks/chunks/computeLimits.js-C5c7HPGJ.js +0 -20
- package/build/server/chunks/chunks/computeLimits.js-C5c7HPGJ.js.map +0 -1
- package/build/server/chunks/chunks/context.js-D8E0GFTw.js.map +0 -1
- package/build/server/chunks/chunks/package.js-CGjshiZJ.js.map +0 -1
- package/build/server/chunks/chunks/providers.server.js-D0hpk-aq.js.map +0 -1
- package/build/server/chunks/chunks/token.server.js-q3fv9Fqo.js.map +0 -1
- package/build/server/chunks/chunks/token2.server.js-Cqw1dJj-.js.map +0 -1
- package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-CQdxoaBS.js.map +0 -1
- package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-y3dgQz-R.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-DkyT3FO6.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-B4lGohx2.js.map +0 -1
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-B7kvAKyV.js.map +0 -1
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-3yXXN2SO.js.map +0 -1
- package/build/server/chunks/entries/hooks.server.js-OUXv4_qA.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-pm9fJjcH.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-smQE9KlB.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-DWObSxSO.js.map +0 -1
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-D4Z-BGD2.js.map +0 -1
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-F8fXU2YV.js.map +0 -1
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-DLtWh9lt.js.map +0 -1
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-nQ9Uj1kK.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte.js-CO0kHa1b.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/admin/users/_page.svelte.js"],"sourcesContent":["import { b as attr_class, a as attr, k as escape_html, e as ensure_array_like, d as derived, h as head } from \"../../../../chunks/index3.js\";\nimport { i as invalidateAll } from \"../../../../chunks/client.js\";\nimport { A as ALL_PLATFORM_PERMISSIONS, b as ALL_ORG_PERMISSIONS, d as OWNER_ADMIN_ONLY_PERMISSIONS } from \"../../../../chunks/context.js\";\nimport { U as UserAvatar } from \"../../../../chunks/UserAvatar.js\";\nimport { C as Chevron_down } from \"../../../../chunks/chevron-down.js\";\nimport { C as Chevron_right } from \"../../../../chunks/chevron-right.js\";\nimport { B as Button } from \"../../../../chunks/button.js\";\nimport { T as Trash_2 } from \"../../../../chunks/trash-2.js\";\nimport { S as SectionHeader } from \"../../../../chunks/SectionHeader.js\";\nimport { C as Card, a as Card_content } from \"../../../../chunks/card-content.js\";\nimport { E as EmptyState } from \"../../../../chunks/EmptyState.js\";\nimport { S as Shield_check } from \"../../../../chunks/shield-check.js\";\nimport { C as Card_header, a as Card_title } from \"../../../../chunks/card-title.js\";\nimport { C as Card_description } from \"../../../../chunks/card-description.js\";\nimport { M as Mail } from \"../../../../chunks/mail.js\";\nimport { P as Plus } from \"../../../../chunks/plus.js\";\nimport { I as Input } from \"../../../../chunks/input.js\";\nimport { a as toast } from \"../../../../chunks/toast-state.svelte.js\";\nimport { C as Copy } from \"../../../../chunks/copy.js\";\nimport { X } from \"../../../../chunks/x.js\";\nfunction UserListItem($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n user,\n expanded,\n isPlatformAdmin,\n soleInstanceAdmin,\n updating,\n deleting,\n onDelete\n } = $$props;\n const PERM_LABEL = {\n instance_admin: \"Instance admin\",\n manage_instance_users: \"Manage instance users\",\n manage_compute: \"Manage compute\",\n manage_updates: \"Manage updates\",\n manage_org_members: \"Manage members\",\n manage_org_compute: \"Manage org compute\",\n manage_definitions: \"Manage definitions\",\n manage_projects: \"Manage projects\"\n };\n const PERM_DESC = {\n instance_admin: \"Full access to every action on the instance.\",\n manage_instance_users: \"Create, disable, and delete any user on the instance.\",\n manage_compute: \"Configure the instance Rhino.Compute pool.\",\n manage_updates: \"Run the application update script.\",\n manage_org_members: \"Invite, remove, and change roles of org members.\",\n manage_org_compute: \"Configure this org's BYO compute server.\",\n manage_definitions: \"Upload, edit, and delete any definition in the org.\",\n manage_projects: \"Create, edit, and delete any project in the org.\"\n };\n const ROLE_TONE = {\n owner: \"border-amber-500/40 text-amber-600 dark:text-amber-400 bg-amber-500/5\",\n admin: \"border-blue-500/40 text-blue-600 dark:text-blue-400 bg-blue-500/5\",\n member: \"border-border text-muted-foreground\"\n };\n const displayLine = derived(() => user.displayName ? `${user.displayName} · ${user.email ?? user.id}` : user.email ?? user.id);\n const isOwnerOrAdmin = derived(() => user.orgRole === \"owner\" || user.orgRole === \"admin\");\n const summaryPerms = derived(() => user.permissions.filter((p) => {\n if (ALL_PLATFORM_PERMISSIONS.includes(p)) return true;\n if (isOwnerOrAdmin()) return false;\n return true;\n }));\n function isPlatformPerm(p) {\n return ALL_PLATFORM_PERMISSIONS.includes(p);\n }\n function isOwnerAdminOnly(p) {\n return OWNER_ADMIN_ONLY_PERMISSIONS.includes(p);\n }\n function checkboxState(perm) {\n const checked = user.permissions.includes(perm);\n const platformLocked = isPlatformPerm(perm) && !isPlatformAdmin;\n const soleAdminLock = perm === \"instance_admin\" && soleInstanceAdmin;\n const memberExcluded = !isPlatformPerm(perm) && isOwnerAdminOnly(perm) && user.orgRole === \"member\";\n const locked = platformLocked || soleAdminLock || memberExcluded;\n return {\n checked,\n locked,\n soleAdminLock,\n platformLocked,\n memberExcluded\n };\n }\n $$renderer2.push(`<div${attr_class(`px-4 py-3 ${expanded ? \"bg-accent/20\" : \"\"}`)}><div class=\"flex items-center gap-3\"><button type=\"button\" class=\"text-muted-foreground hover:text-foreground shrink-0 rounded-sm p-0.5\"${attr(\"aria-label\", expanded ? \"Collapse permissions\" : \"Expand permissions\")}>`);\n if (expanded) {\n $$renderer2.push(\"<!--[0-->\");\n Chevron_down($$renderer2, { class: \"h-4 w-4\" });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Chevron_right($$renderer2, { class: \"h-4 w-4\" });\n }\n $$renderer2.push(`<!--]--></button> `);\n UserAvatar($$renderer2, { name: user.displayName ?? user.email ?? user.id });\n $$renderer2.push(`<!----> <div class=\"min-w-0 flex-1\"><div class=\"flex items-center gap-2\"><p class=\"truncate text-sm font-medium\">${escape_html(displayLine())}</p> `);\n if (user.orgRole) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span${attr_class(`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${ROLE_TONE[user.orgRole]}`)}>${escape_html(user.orgRole)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (user.disabled) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"border-border bg-muted text-muted-foreground rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase\">disabled</span>`);\n } else if (!user.lastLoginAt) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<span class=\"rounded-full border border-amber-500/40 bg-amber-500/5 px-2 py-0.5 font-mono text-[10px] tracking-wide text-amber-600 uppercase dark:text-amber-400\" title=\"Provisioned but has never signed in. Permissions take effect on first login.\">invited</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <p class=\"text-muted-foreground truncate font-mono text-xs\">${escape_html(user.id)}</p> `);\n if (!expanded && summaryPerms().length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"mt-1.5 flex flex-wrap gap-1\"><!--[-->`);\n const each_array = ensure_array_like(summaryPerms());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let p = each_array[$$index];\n $$renderer2.push(`<span${attr_class(`rounded-full px-2 py-0.5 font-mono text-[10px] ${isPlatformPerm(p) ? \"bg-amber-500/10 text-amber-700 dark:text-amber-400\" : \"bg-muted text-muted-foreground\"}`)}>${escape_html(PERM_LABEL[p])}</span>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n Button($$renderer2, {\n size: \"sm\",\n variant: \"ghost\",\n disabled: deleting || soleInstanceAdmin,\n onclick: onDelete,\n title: soleInstanceAdmin ? \"Cannot delete the only instance admin. Promote another user first.\" : \"Delete user\",\n class: \"text-destructive hover:text-destructive h-8 w-8 shrink-0 p-0\",\n children: ($$renderer3) => {\n Trash_2($$renderer3, { class: \"h-4 w-4\" });\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div> `);\n if (expanded) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"mt-4 ml-10 space-y-4\"><section><h4 class=\"text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase\">Platform</h4> <div class=\"grid gap-2 sm:grid-cols-2\"><!--[-->`);\n const each_array_1 = ensure_array_like(ALL_PLATFORM_PERMISSIONS);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let p = each_array_1[$$index_1];\n const state = checkboxState(p);\n $$renderer2.push(`<label${attr_class(`flex items-start gap-2 rounded-md border p-2.5 ${state.locked ? \"border-border cursor-not-allowed opacity-60\" : \"border-border hover:bg-accent/40 cursor-pointer\"}`)}${attr(\"title\", state.soleAdminLock ? \"Cannot remove the only instance admin.\" : void 0)}><input type=\"checkbox\" class=\"mt-0.5 shrink-0\"${attr(\"checked\", state.checked, true)}${attr(\"disabled\", updating || state.locked, true)}/> <div class=\"min-w-0\"><p class=\"text-sm leading-tight font-medium\">${escape_html(PERM_LABEL[p])}</p> <p class=\"text-muted-foreground mt-0.5 text-xs\">${escape_html(PERM_DESC[p])}</p></div></label>`);\n }\n $$renderer2.push(`<!--]--></div></section> <section><h4 class=\"text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase\">Organization</h4> `);\n if (isOwnerOrAdmin()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-muted-foreground text-sm\"><strong class=\"text-foreground capitalize\">${escape_html(user.orgRole)}s</strong> automatically\n\t\t\t\t\t\treceive all organization permissions. To grant a custom subset, change the role to <span class=\"font-mono\">member</span>.</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"grid gap-2 sm:grid-cols-2\"><!--[-->`);\n const each_array_2 = ensure_array_like(ALL_ORG_PERMISSIONS);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let p = each_array_2[$$index_2];\n const state = checkboxState(p);\n $$renderer2.push(`<label${attr_class(`flex items-start gap-2 rounded-md border p-2.5 ${state.locked ? \"border-border cursor-not-allowed opacity-60\" : \"border-border hover:bg-accent/40 cursor-pointer\"}`)}${attr(\"title\", state.memberExcluded ? \"Only owners and admins can hold this permission.\" : void 0)}><input type=\"checkbox\" class=\"mt-0.5 shrink-0\"${attr(\"checked\", state.checked, true)}${attr(\"disabled\", updating || state.locked, true)}/> <div class=\"min-w-0\"><p class=\"text-sm leading-tight font-medium\">${escape_html(PERM_LABEL[p])}</p> <p class=\"text-muted-foreground mt-0.5 text-xs\">${escape_html(PERM_DESC[p])}</p></div></label>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></section></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const ALL_FLAT_PERMISSIONS = [...ALL_PLATFORM_PERMISSIONS, ...ALL_ORG_PERMISSIONS];\n let { data } = $$props;\n const assignablePermissions = derived(() => data.isPlatformAdmin ? ALL_FLAT_PERMISSIONS : [...ALL_ORG_PERMISSIONS]);\n const PERMISSION_LABELS = {\n instance_admin: \"Instance Admin (all)\",\n manage_instance_users: \"Manage Instance Users\",\n manage_compute: \"Manage Compute (instance)\",\n manage_updates: \"Manage Updates\",\n manage_org_members: \"Manage Org Members\",\n manage_org_compute: \"Manage Org Compute\",\n manage_definitions: \"Manage Definitions\",\n manage_projects: \"Manage Projects\"\n };\n const ORG_ROLES = [\"owner\", \"admin\", \"member\"];\n let showAddForm = false;\n let newEmail = \"\";\n let newPassword = \"\";\n let newPermissions = [];\n let adding = false;\n let showInviteForm = false;\n let inviteEmail = \"\";\n let inviteRole = \"member\";\n let invitePermissions = [];\n let creatingInvite = false;\n let lastInviteLink = null;\n let revokingId = null;\n const invitePermissionOptions = derived(() => inviteRole === \"member\" ? ALL_ORG_PERMISSIONS.filter((p) => !OWNER_ADMIN_ONLY_PERMISSIONS.includes(p)) : [...ALL_ORG_PERMISSIONS]);\n let deletingId = null;\n let updatingId = null;\n let expandedUserId = null;\n const enabledInstanceAdminCount = derived(() => (data.users ?? []).filter((u) => !u.disabled && u.platformPermissions.includes(\"instance_admin\")).length);\n const isSoleInstanceAdmin = (user) => enabledInstanceAdminCount() === 1 && !user.disabled && user.platformPermissions.includes(\"instance_admin\");\n async function addUser() {\n adding = true;\n try {\n const res = await fetch(\"/admin/api/users\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n email: newEmail,\n ...data.provider.userCreation === \"email-password\" && { password: newPassword },\n permissions: newPermissions\n })\n });\n if (res.ok) {\n toast.success(`User \"${newEmail}\" created`);\n newEmail = \"\";\n newPassword = \"\";\n newPermissions = [];\n showAddForm = false;\n await invalidateAll();\n } else {\n const err = await res.json().catch(() => ({ error: \"Unknown error\" }));\n toast.error(err.message || err.error || \"Failed to create user\");\n }\n } catch {\n toast.error(\"Failed to create user\");\n } finally {\n adding = false;\n }\n }\n async function createInvite() {\n creatingInvite = true;\n try {\n const res = await fetch(\"/api/invites\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n email: inviteEmail,\n orgRole: inviteRole,\n permissions: invitePermissions\n })\n });\n if (res.ok) {\n const { acceptUrl } = await res.json();\n lastInviteLink = acceptUrl;\n toast.success(`Invite created for ${inviteEmail}`);\n inviteEmail = \"\";\n inviteRole = \"member\";\n invitePermissions = [];\n showInviteForm = false;\n await invalidateAll();\n } else {\n const err = await res.json().catch(() => ({ error: \"Unknown error\" }));\n toast.error(err.message || err.error || \"Failed to create invite\");\n }\n } catch {\n toast.error(\"Failed to create invite\");\n } finally {\n creatingInvite = false;\n }\n }\n async function revokeInvite(id, email) {\n if (!confirm(`Revoke invite for \"${email}\"?`)) return;\n revokingId = id;\n try {\n const res = await fetch(`/api/invites/${id}`, { method: \"DELETE\" });\n if (res.ok) {\n toast.success(\"Invite revoked\");\n await invalidateAll();\n } else {\n toast.error(\"Failed to revoke invite\");\n }\n } catch {\n toast.error(\"Failed to revoke invite\");\n } finally {\n revokingId = null;\n }\n }\n async function deleteUser(id, email) {\n if (!confirm(`Delete user \"${email}\"? This cannot be undone.`)) return;\n deletingId = id;\n try {\n const res = await fetch(`/admin/api/users/${id}`, { method: \"DELETE\" });\n if (res.ok) {\n toast.success(`User \"${email}\" deleted`);\n await invalidateAll();\n } else {\n const err = await res.json().catch(() => ({}));\n toast.error(err.message || err.error || \"Failed to delete user\");\n }\n } catch {\n toast.error(\"Failed to delete user\");\n } finally {\n deletingId = null;\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"1p497kv\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>Admin · Users</title>`);\n });\n });\n $$renderer3.push(`<div class=\"space-y-6\">`);\n {\n let actions = function($$renderer4) {\n if (data.users !== null && data.provider.userCreation !== \"none\") {\n $$renderer4.push(\"<!--[0-->\");\n if (data.provider.userCreation === \"email-password\") {\n $$renderer4.push(\"<!--[0-->\");\n Button($$renderer4, {\n onclick: () => {\n showInviteForm = !showInviteForm;\n if (showInviteForm) showAddForm = false;\n },\n variant: showInviteForm ? \"outline\" : \"default\",\n children: ($$renderer5) => {\n Mail($$renderer5, { class: \"mr-2 h-4 w-4\" });\n $$renderer5.push(`<!----> Invite user`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n Button($$renderer4, {\n onclick: () => {\n showAddForm = !showAddForm;\n if (showAddForm) showInviteForm = false;\n },\n variant: showAddForm ? \"outline\" : \"secondary\",\n children: ($$renderer5) => {\n Plus($$renderer5, { class: \"mr-2 h-4 w-4\" });\n $$renderer5.push(`<!----> ${escape_html(data.provider.userCreation === \"email-only\" ? \"Allowlist user\" : \"Add user\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n };\n SectionHeader($$renderer3, {\n eyebrow: \"Admin\",\n title: \"Users\",\n description: data.users === null ? \"The current auth provider does not expose a user store. Configure DATA_PATH (local provider) or check your provider wiring.\" : `${data.users.length} user${data.users.length === 1 ? \"\" : \"s\"} on this instance.`,\n actions\n });\n }\n $$renderer3.push(`<!----> `);\n if (Card) {\n $$renderer3.push(\"<!--[-->\");\n Card($$renderer3, {\n children: ($$renderer4) => {\n if (Card_content) {\n $$renderer4.push(\"<!--[-->\");\n Card_content($$renderer4, {\n class: \"space-y-4 pt-6\",\n children: ($$renderer5) => {\n if (showInviteForm) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<div class=\"bg-muted/40 space-y-3 rounded-lg border p-4\"><p class=\"text-sm font-medium\">Invite user</p> <p class=\"text-muted-foreground text-xs\">The invitee sets their own password when they open the link. No password leaves your\n\t\t\t\t\t\tmachine.</p> <div class=\"grid gap-3 sm:grid-cols-2\">`);\n Input($$renderer5, {\n type: \"email\",\n placeholder: \"Email\",\n get value() {\n return inviteEmail;\n },\n set value($$value) {\n inviteEmail = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n $$renderer5.select(\n {\n value: inviteRole,\n class: \"border-input bg-background h-9 rounded-md border px-3 text-sm\"\n },\n ($$renderer6) => {\n $$renderer6.push(`<!--[-->`);\n const each_array = ensure_array_like(ORG_ROLES);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let role = each_array[$$index];\n $$renderer6.option({ value: role }, ($$renderer7) => {\n $$renderer7.push(`${escape_html(role)}`);\n });\n }\n $$renderer6.push(`<!--]-->`);\n }\n );\n $$renderer5.push(`</div> <div><p class=\"mb-2 text-xs font-medium\">Organization permissions</p> `);\n if (inviteRole !== \"member\") {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<p class=\"text-muted-foreground mb-2 text-xs\">${escape_html(inviteRole === \"owner\" ? \"Owners\" : \"Admins\")} automatically receive all organization\n\t\t\t\t\t\t\t\tpermissions. Pick <span class=\"font-mono\">member</span> to grant a custom subset.</p>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <div class=\"flex flex-wrap gap-3\"><!--[-->`);\n const each_array_1 = ensure_array_like(invitePermissionOptions());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let p = each_array_1[$$index_1];\n const roleLocked = inviteRole !== \"member\";\n $$renderer5.push(`<label${attr_class(`flex items-center gap-1.5 text-xs ${roleLocked ? \"cursor-not-allowed opacity-60\" : \"cursor-pointer\"}`)}><input type=\"checkbox\"${attr(\"checked\", roleLocked || invitePermissions.includes(p), true)}${attr(\"disabled\", roleLocked, true)}/> ${escape_html(PERMISSION_LABELS[p])}</label>`);\n }\n $$renderer5.push(`<!--]--></div></div> <div class=\"flex gap-2\">`);\n Button($$renderer5, {\n onclick: createInvite,\n disabled: creatingInvite || !inviteEmail,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(creatingInvite ? \"Creating…\" : \"Create invite\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n variant: \"outline\",\n onclick: () => showInviteForm = false,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></div></div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (lastInviteLink) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<div class=\"flex items-start gap-3 rounded-lg border border-green-500/30 bg-green-500/5 p-4\"><div class=\"min-w-0 flex-1\"><p class=\"text-sm font-medium\">Invite ready — copy the link and share it</p> <p class=\"text-muted-foreground mt-1 truncate font-mono text-xs\">${escape_html(lastInviteLink)}</p></div> `);\n Button($$renderer5, {\n size: \"sm\",\n variant: \"outline\",\n onclick: async () => {\n try {\n await navigator.clipboard.writeText(lastInviteLink);\n toast.success(\"Invite link copied\");\n } catch {\n toast.error(\"Could not copy to clipboard\");\n }\n },\n children: ($$renderer6) => {\n Copy($$renderer6, { class: \"mr-1.5 h-3.5 w-3.5\" });\n $$renderer6.push(`<!----> Copy`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n size: \"sm\",\n variant: \"ghost\",\n onclick: () => lastInviteLink = null,\n children: ($$renderer6) => {\n X($$renderer6, { class: \"h-4 w-4\" });\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (showAddForm) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<div class=\"bg-muted/40 space-y-3 rounded-lg border p-4\"><p class=\"text-sm font-medium\">New User</p> <div class=\"grid gap-3 sm:grid-cols-2\">`);\n Input($$renderer5, {\n type: \"email\",\n placeholder: \"Email\",\n get value() {\n return newEmail;\n },\n set value($$value) {\n newEmail = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n if (data.provider.userCreation === \"email-password\") {\n $$renderer5.push(\"<!--[0-->\");\n Input($$renderer5, {\n type: \"password\",\n placeholder: \"Password (min 8 chars)\",\n get value() {\n return newPassword;\n },\n set value($$value) {\n newPassword = $$value;\n $$settled = false;\n }\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></div> `);\n if (data.provider.userCreation === \"email-only\") {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<p class=\"text-muted-foreground text-xs\">This user will authenticate via ${escape_html(data.provider.name)}. No password is stored.</p>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <div><p class=\"mb-2 text-xs font-medium\">Permissions</p> <p class=\"text-muted-foreground mb-2 text-xs\">New users are added as <span class=\"font-mono\">member</span>. Promote them to owner or\n\t\t\t\t\t\t\tadmin from the user list to grant full organization access.</p> <div class=\"flex flex-wrap gap-3\"><!--[-->`);\n const each_array_2 = ensure_array_like(assignablePermissions());\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let p = each_array_2[$$index_2];\n const isOwnerAdminOnly = OWNER_ADMIN_ONLY_PERMISSIONS.includes(p);\n const isPlatformScope = ALL_PLATFORM_PERMISSIONS.includes(p);\n const memberExcluded = isOwnerAdminOnly && !isPlatformScope;\n $$renderer5.push(`<label${attr_class(`flex items-center gap-1.5 text-xs ${memberExcluded ? \"cursor-not-allowed opacity-60\" : \"cursor-pointer\"}`)}${attr(\"title\", memberExcluded ? \"Only owners and admins can hold this permission\" : void 0)}><input type=\"checkbox\"${attr(\"checked\", !memberExcluded && newPermissions.includes(p), true)}${attr(\"disabled\", memberExcluded, true)}/> ${escape_html(PERMISSION_LABELS[p])}</label>`);\n }\n $$renderer5.push(`<!--]--></div></div> <div class=\"flex gap-2\">`);\n Button($$renderer5, {\n onclick: addUser,\n disabled: adding || !newEmail || data.provider.userCreation === \"email-password\" && !newPassword,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(adding ? \"Creating…\" : \"Create User\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n variant: \"outline\",\n onclick: () => showAddForm = false,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></div></div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (data.users === null) {\n $$renderer5.push(\"<!--[0-->\");\n {\n let body = function($$renderer6) {\n $$renderer6.push(`<!---->Set <code class=\"text-xs\">DATA_PATH</code> (local provider) or check your provider\n\t\t\t\t\t\tselection in <code class=\"text-xs\">.env</code>.`);\n };\n EmptyState($$renderer5, {\n icon: Shield_check,\n title: \"User store unavailable\",\n body\n });\n }\n } else if (data.users.length === 0) {\n $$renderer5.push(\"<!--[1-->\");\n EmptyState($$renderer5, {\n title: \"No users yet\",\n description: \"Add your first user above.\"\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n $$renderer5.push(`<div class=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array_3 = ensure_array_like(data.users);\n for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n let user = each_array_3[$$index_3];\n UserListItem($$renderer5, {\n user,\n expanded: expandedUserId === user.id,\n isPlatformAdmin: data.isPlatformAdmin,\n soleInstanceAdmin: isSoleInstanceAdmin(user),\n updating: updatingId === user.id,\n deleting: deletingId === user.id,\n onDelete: () => deleteUser(user.id, user.email ?? user.id)\n });\n }\n $$renderer5.push(`<!--]--></div>`);\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (data.invites.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n if (Card) {\n $$renderer3.push(\"<!--[-->\");\n Card($$renderer3, {\n children: ($$renderer4) => {\n if (Card_header) {\n $$renderer4.push(\"<!--[-->\");\n Card_header($$renderer4, {\n children: ($$renderer5) => {\n if (Card_title) {\n $$renderer5.push(\"<!--[-->\");\n Card_title($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Invites`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Card_description) {\n $$renderer5.push(\"<!--[-->\");\n Card_description($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(data.invites.filter((i) => !i.acceptedAt).length)} pending, ${escape_html(data.invites.filter((i) => i.acceptedAt).length)} accepted`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_content) {\n $$renderer4.push(\"<!--[-->\");\n Card_content($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array_4 = ensure_array_like(data.invites);\n for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n let invite = each_array_4[$$index_4];\n const expired = Date.parse(invite.expiresAt) <= Date.now();\n const status = invite.acceptedAt ? \"Accepted\" : expired ? \"Expired\" : \"Pending\";\n $$renderer5.push(`<div class=\"flex items-center justify-between gap-4 px-4 py-3\"><div class=\"min-w-0 flex-1\"><p class=\"truncate text-sm font-medium\">${escape_html(invite.email)}</p> <p class=\"text-muted-foreground text-xs\">${escape_html(status)} · ${escape_html(invite.orgRole)} · expires ${escape_html(new Date(invite.expiresAt).toLocaleDateString())}</p></div> `);\n if (!invite.acceptedAt && !expired) {\n $$renderer5.push(\"<!--[0-->\");\n Button($$renderer5, {\n size: \"sm\",\n variant: \"ghost\",\n disabled: revokingId === invite.id,\n onclick: () => revokeInvite(invite.id, invite.email),\n class: \"text-destructive hover:text-destructive\",\n children: ($$renderer6) => {\n Trash_2($$renderer6, { class: \"h-4 w-4\" });\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></div>`);\n }\n $$renderer5.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_page.svelte.js-C-jy08cJ.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/admin/users/_page.svelte.js"],"sourcesContent":["import { b as attr_class, a as attr, k as escape_html, e as ensure_array_like, d as derived, h as head } from \"../../../../chunks/index3.js\";\nimport { i as invalidateAll } from \"../../../../chunks/client.js\";\nimport { A as ALL_PLATFORM_PERMISSIONS, b as ALL_ORG_PERMISSIONS, d as OWNER_ADMIN_ONLY_PERMISSIONS } from \"../../../../chunks/context.js\";\nimport { U as UserAvatar } from \"../../../../chunks/UserAvatar.js\";\nimport { C as Chevron_down } from \"../../../../chunks/chevron-down.js\";\nimport { C as Chevron_right } from \"../../../../chunks/chevron-right.js\";\nimport { B as Button } from \"../../../../chunks/button.js\";\nimport { T as Trash_2 } from \"../../../../chunks/trash-2.js\";\nimport { S as SectionHeader } from \"../../../../chunks/SectionHeader.js\";\nimport { C as Card, a as Card_content } from \"../../../../chunks/card-content.js\";\nimport { E as EmptyState } from \"../../../../chunks/EmptyState.js\";\nimport { S as Shield_check } from \"../../../../chunks/shield-check.js\";\nimport { C as Card_header, a as Card_title } from \"../../../../chunks/card-title.js\";\nimport { C as Card_description } from \"../../../../chunks/card-description.js\";\nimport { M as Mail } from \"../../../../chunks/mail.js\";\nimport { P as Plus } from \"../../../../chunks/plus.js\";\nimport { I as Input } from \"../../../../chunks/input.js\";\nimport { a as toast } from \"../../../../chunks/toast-state.svelte.js\";\nimport { C as Copy } from \"../../../../chunks/copy.js\";\nimport { X } from \"../../../../chunks/x.js\";\nfunction UserListItem($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n user,\n expanded,\n isPlatformAdmin,\n soleInstanceAdmin,\n updating,\n deleting,\n onDelete\n } = $$props;\n const PERM_LABEL = {\n instance_admin: \"Instance admin\",\n manage_instance_users: \"Manage instance users\",\n manage_compute: \"Manage compute\",\n manage_updates: \"Manage updates\",\n manage_org_members: \"Manage members\",\n manage_org_compute: \"Manage org compute\",\n manage_definitions: \"Manage definitions\",\n manage_projects: \"Manage projects\"\n };\n const PERM_DESC = {\n instance_admin: \"Full access to every action on the instance.\",\n manage_instance_users: \"Create, disable, and delete any user on the instance.\",\n manage_compute: \"Configure the instance Rhino.Compute pool.\",\n manage_updates: \"Run the application update script.\",\n manage_org_members: \"Invite, remove, and change roles of org members.\",\n manage_org_compute: \"Configure this org's BYO compute server.\",\n manage_definitions: \"Upload, edit, and delete any definition in the org.\",\n manage_projects: \"Create, edit, and delete any project in the org.\"\n };\n const ROLE_TONE = {\n owner: \"border-amber-500/40 text-amber-600 dark:text-amber-400 bg-amber-500/5\",\n admin: \"border-blue-500/40 text-blue-600 dark:text-blue-400 bg-blue-500/5\",\n member: \"border-border text-muted-foreground\"\n };\n const displayLine = derived(() => user.displayName ? `${user.displayName} · ${user.email ?? user.id}` : user.email ?? user.id);\n const isOwnerOrAdmin = derived(() => user.orgRole === \"owner\" || user.orgRole === \"admin\");\n const summaryPerms = derived(() => user.permissions.filter((p) => {\n if (ALL_PLATFORM_PERMISSIONS.includes(p)) return true;\n if (isOwnerOrAdmin()) return false;\n return true;\n }));\n function isPlatformPerm(p) {\n return ALL_PLATFORM_PERMISSIONS.includes(p);\n }\n function isOwnerAdminOnly(p) {\n return OWNER_ADMIN_ONLY_PERMISSIONS.includes(p);\n }\n function checkboxState(perm) {\n const checked = user.permissions.includes(perm);\n const platformLocked = isPlatformPerm(perm) && !isPlatformAdmin;\n const soleAdminLock = perm === \"instance_admin\" && soleInstanceAdmin;\n const memberExcluded = !isPlatformPerm(perm) && isOwnerAdminOnly(perm) && user.orgRole === \"member\";\n const locked = platformLocked || soleAdminLock || memberExcluded;\n return {\n checked,\n locked,\n soleAdminLock,\n platformLocked,\n memberExcluded\n };\n }\n $$renderer2.push(`<div${attr_class(`px-4 py-3 ${expanded ? \"bg-accent/20\" : \"\"}`)}><div class=\"flex items-center gap-3\"><button type=\"button\" class=\"text-muted-foreground hover:text-foreground shrink-0 rounded-sm p-0.5\"${attr(\"aria-label\", expanded ? \"Collapse permissions\" : \"Expand permissions\")}>`);\n if (expanded) {\n $$renderer2.push(\"<!--[0-->\");\n Chevron_down($$renderer2, { class: \"h-4 w-4\" });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Chevron_right($$renderer2, { class: \"h-4 w-4\" });\n }\n $$renderer2.push(`<!--]--></button> `);\n UserAvatar($$renderer2, { name: user.displayName ?? user.email ?? user.id });\n $$renderer2.push(`<!----> <div class=\"min-w-0 flex-1\"><div class=\"flex items-center gap-2\"><p class=\"truncate text-sm font-medium\">${escape_html(displayLine())}</p> `);\n if (user.orgRole) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span${attr_class(`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${ROLE_TONE[user.orgRole]}`)}>${escape_html(user.orgRole)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (user.disabled) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"border-border bg-muted text-muted-foreground rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase\">disabled</span>`);\n } else if (!user.lastLoginAt) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<span class=\"rounded-full border border-amber-500/40 bg-amber-500/5 px-2 py-0.5 font-mono text-[10px] tracking-wide text-amber-600 uppercase dark:text-amber-400\" title=\"Provisioned but has never signed in. Permissions take effect on first login.\">invited</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <p class=\"text-muted-foreground truncate font-mono text-xs\">${escape_html(user.id)}</p> `);\n if (!expanded && summaryPerms().length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"mt-1.5 flex flex-wrap gap-1\"><!--[-->`);\n const each_array = ensure_array_like(summaryPerms());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let p = each_array[$$index];\n $$renderer2.push(`<span${attr_class(`rounded-full px-2 py-0.5 font-mono text-[10px] ${isPlatformPerm(p) ? \"bg-amber-500/10 text-amber-700 dark:text-amber-400\" : \"bg-muted text-muted-foreground\"}`)}>${escape_html(PERM_LABEL[p])}</span>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n Button($$renderer2, {\n size: \"sm\",\n variant: \"ghost\",\n disabled: deleting || soleInstanceAdmin,\n onclick: onDelete,\n title: soleInstanceAdmin ? \"Cannot delete the only instance admin. Promote another user first.\" : \"Delete user\",\n class: \"text-destructive hover:text-destructive h-8 w-8 shrink-0 p-0\",\n children: ($$renderer3) => {\n Trash_2($$renderer3, { class: \"h-4 w-4\" });\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div> `);\n if (expanded) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"mt-4 ml-10 space-y-4\"><section><h4 class=\"text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase\">Platform</h4> <div class=\"grid gap-2 sm:grid-cols-2\"><!--[-->`);\n const each_array_1 = ensure_array_like(ALL_PLATFORM_PERMISSIONS);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let p = each_array_1[$$index_1];\n const state = checkboxState(p);\n $$renderer2.push(`<label${attr_class(`flex items-start gap-2 rounded-md border p-2.5 ${state.locked ? \"border-border cursor-not-allowed opacity-60\" : \"border-border hover:bg-accent/40 cursor-pointer\"}`)}${attr(\"title\", state.soleAdminLock ? \"Cannot remove the only instance admin.\" : void 0)}><input type=\"checkbox\" class=\"mt-0.5 shrink-0\"${attr(\"checked\", state.checked, true)}${attr(\"disabled\", updating || state.locked, true)}/> <div class=\"min-w-0\"><p class=\"text-sm leading-tight font-medium\">${escape_html(PERM_LABEL[p])}</p> <p class=\"text-muted-foreground mt-0.5 text-xs\">${escape_html(PERM_DESC[p])}</p></div></label>`);\n }\n $$renderer2.push(`<!--]--></div></section> <section><h4 class=\"text-muted-foreground mb-2 text-xs font-medium tracking-wider uppercase\">Organization</h4> `);\n if (isOwnerOrAdmin()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<p class=\"text-muted-foreground text-sm\"><strong class=\"text-foreground capitalize\">${escape_html(user.orgRole)}s</strong> automatically\n\t\t\t\t\t\treceive all organization permissions. To grant a custom subset, change the role to <span class=\"font-mono\">member</span>.</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"grid gap-2 sm:grid-cols-2\"><!--[-->`);\n const each_array_2 = ensure_array_like(ALL_ORG_PERMISSIONS);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let p = each_array_2[$$index_2];\n const state = checkboxState(p);\n $$renderer2.push(`<label${attr_class(`flex items-start gap-2 rounded-md border p-2.5 ${state.locked ? \"border-border cursor-not-allowed opacity-60\" : \"border-border hover:bg-accent/40 cursor-pointer\"}`)}${attr(\"title\", state.memberExcluded ? \"Only owners and admins can hold this permission.\" : void 0)}><input type=\"checkbox\" class=\"mt-0.5 shrink-0\"${attr(\"checked\", state.checked, true)}${attr(\"disabled\", updating || state.locked, true)}/> <div class=\"min-w-0\"><p class=\"text-sm leading-tight font-medium\">${escape_html(PERM_LABEL[p])}</p> <p class=\"text-muted-foreground mt-0.5 text-xs\">${escape_html(PERM_DESC[p])}</p></div></label>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></section></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const ALL_FLAT_PERMISSIONS = [...ALL_PLATFORM_PERMISSIONS, ...ALL_ORG_PERMISSIONS];\n let { data } = $$props;\n const assignablePermissions = derived(() => data.isPlatformAdmin ? ALL_FLAT_PERMISSIONS : [...ALL_ORG_PERMISSIONS]);\n const PERMISSION_LABELS = {\n instance_admin: \"Instance Admin (all)\",\n manage_instance_users: \"Manage Instance Users\",\n manage_compute: \"Manage Compute (instance)\",\n manage_updates: \"Manage Updates\",\n manage_org_members: \"Manage Org Members\",\n manage_org_compute: \"Manage Org Compute\",\n manage_definitions: \"Manage Definitions\",\n manage_projects: \"Manage Projects\"\n };\n const ORG_ROLES = [\"owner\", \"admin\", \"member\"];\n let showAddForm = false;\n let newEmail = \"\";\n let newPassword = \"\";\n let newPermissions = [];\n let adding = false;\n let showInviteForm = false;\n let inviteEmail = \"\";\n let inviteRole = \"member\";\n let invitePermissions = [];\n let creatingInvite = false;\n let lastInviteLink = null;\n let revokingId = null;\n const invitePermissionOptions = derived(() => inviteRole === \"member\" ? ALL_ORG_PERMISSIONS.filter((p) => !OWNER_ADMIN_ONLY_PERMISSIONS.includes(p)) : [...ALL_ORG_PERMISSIONS]);\n let deletingId = null;\n let updatingId = null;\n let expandedUserId = null;\n const enabledInstanceAdminCount = derived(() => (data.users ?? []).filter((u) => !u.disabled && u.platformPermissions.includes(\"instance_admin\")).length);\n const isSoleInstanceAdmin = (user) => enabledInstanceAdminCount() === 1 && !user.disabled && user.platformPermissions.includes(\"instance_admin\");\n async function addUser() {\n adding = true;\n try {\n const res = await fetch(\"/admin/api/users\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n email: newEmail,\n ...data.provider.userCreation === \"email-password\" && { password: newPassword },\n permissions: newPermissions\n })\n });\n if (res.ok) {\n toast.success(`User \"${newEmail}\" created`);\n newEmail = \"\";\n newPassword = \"\";\n newPermissions = [];\n showAddForm = false;\n await invalidateAll();\n } else {\n const err = await res.json().catch(() => ({ error: \"Unknown error\" }));\n toast.error(err.message || err.error || \"Failed to create user\");\n }\n } catch {\n toast.error(\"Failed to create user\");\n } finally {\n adding = false;\n }\n }\n async function createInvite() {\n creatingInvite = true;\n try {\n const res = await fetch(\"/api/invites\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n email: inviteEmail,\n orgRole: inviteRole,\n permissions: invitePermissions\n })\n });\n if (res.ok) {\n const { acceptUrl } = await res.json();\n lastInviteLink = acceptUrl;\n toast.success(`Invite created for ${inviteEmail}`);\n inviteEmail = \"\";\n inviteRole = \"member\";\n invitePermissions = [];\n showInviteForm = false;\n await invalidateAll();\n } else {\n const err = await res.json().catch(() => ({ error: \"Unknown error\" }));\n toast.error(err.message || err.error || \"Failed to create invite\");\n }\n } catch {\n toast.error(\"Failed to create invite\");\n } finally {\n creatingInvite = false;\n }\n }\n async function revokeInvite(id, email) {\n if (!confirm(`Revoke invite for \"${email}\"?`)) return;\n revokingId = id;\n try {\n const res = await fetch(`/api/invites/${id}`, { method: \"DELETE\" });\n if (res.ok) {\n toast.success(\"Invite revoked\");\n await invalidateAll();\n } else {\n toast.error(\"Failed to revoke invite\");\n }\n } catch {\n toast.error(\"Failed to revoke invite\");\n } finally {\n revokingId = null;\n }\n }\n async function deleteUser(id, email) {\n if (!confirm(`Delete user \"${email}\"? This cannot be undone.`)) return;\n deletingId = id;\n try {\n const res = await fetch(`/admin/api/users/${id}`, { method: \"DELETE\" });\n if (res.ok) {\n toast.success(`User \"${email}\" deleted`);\n await invalidateAll();\n } else {\n const err = await res.json().catch(() => ({}));\n toast.error(err.message || err.error || \"Failed to delete user\");\n }\n } catch {\n toast.error(\"Failed to delete user\");\n } finally {\n deletingId = null;\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"1p497kv\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>Admin · Users</title>`);\n });\n });\n $$renderer3.push(`<div class=\"space-y-6\">`);\n {\n let actions = function($$renderer4) {\n if (data.users !== null && data.provider.userCreation !== \"none\") {\n $$renderer4.push(\"<!--[0-->\");\n if (data.provider.userCreation === \"email-password\") {\n $$renderer4.push(\"<!--[0-->\");\n Button($$renderer4, {\n onclick: () => {\n showInviteForm = !showInviteForm;\n if (showInviteForm) showAddForm = false;\n },\n variant: showInviteForm ? \"outline\" : \"default\",\n children: ($$renderer5) => {\n Mail($$renderer5, { class: \"mr-2 h-4 w-4\" });\n $$renderer5.push(`<!----> Invite user`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n Button($$renderer4, {\n onclick: () => {\n showAddForm = !showAddForm;\n if (showAddForm) showInviteForm = false;\n },\n variant: showAddForm ? \"outline\" : \"secondary\",\n children: ($$renderer5) => {\n Plus($$renderer5, { class: \"mr-2 h-4 w-4\" });\n $$renderer5.push(`<!----> ${escape_html(data.provider.userCreation === \"email-only\" ? \"Allowlist user\" : \"Add user\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n };\n SectionHeader($$renderer3, {\n eyebrow: \"Admin\",\n title: \"Users\",\n description: data.users === null ? \"The current auth provider does not expose a user store. Configure DATA_PATH (local provider) or check your provider wiring.\" : `${data.users.length} user${data.users.length === 1 ? \"\" : \"s\"} on this instance.`,\n actions\n });\n }\n $$renderer3.push(`<!----> `);\n if (Card) {\n $$renderer3.push(\"<!--[-->\");\n Card($$renderer3, {\n children: ($$renderer4) => {\n if (Card_content) {\n $$renderer4.push(\"<!--[-->\");\n Card_content($$renderer4, {\n class: \"space-y-4 pt-6\",\n children: ($$renderer5) => {\n if (showInviteForm) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<div class=\"bg-muted/40 space-y-3 rounded-lg border p-4\"><p class=\"text-sm font-medium\">Invite user</p> <p class=\"text-muted-foreground text-xs\">The invitee sets their own password when they open the link. No password leaves your\n\t\t\t\t\t\tmachine.</p> <div class=\"grid gap-3 sm:grid-cols-2\">`);\n Input($$renderer5, {\n type: \"email\",\n placeholder: \"Email\",\n get value() {\n return inviteEmail;\n },\n set value($$value) {\n inviteEmail = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n $$renderer5.select(\n {\n value: inviteRole,\n class: \"border-input bg-background h-9 rounded-md border px-3 text-sm\"\n },\n ($$renderer6) => {\n $$renderer6.push(`<!--[-->`);\n const each_array = ensure_array_like(ORG_ROLES);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let role = each_array[$$index];\n $$renderer6.option({ value: role }, ($$renderer7) => {\n $$renderer7.push(`${escape_html(role)}`);\n });\n }\n $$renderer6.push(`<!--]-->`);\n }\n );\n $$renderer5.push(`</div> <div><p class=\"mb-2 text-xs font-medium\">Organization permissions</p> `);\n if (inviteRole !== \"member\") {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<p class=\"text-muted-foreground mb-2 text-xs\">${escape_html(inviteRole === \"owner\" ? \"Owners\" : \"Admins\")} automatically receive all organization\n\t\t\t\t\t\t\t\tpermissions. Pick <span class=\"font-mono\">member</span> to grant a custom subset.</p>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <div class=\"flex flex-wrap gap-3\"><!--[-->`);\n const each_array_1 = ensure_array_like(invitePermissionOptions());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let p = each_array_1[$$index_1];\n const roleLocked = inviteRole !== \"member\";\n $$renderer5.push(`<label${attr_class(`flex items-center gap-1.5 text-xs ${roleLocked ? \"cursor-not-allowed opacity-60\" : \"cursor-pointer\"}`)}><input type=\"checkbox\"${attr(\"checked\", roleLocked || invitePermissions.includes(p), true)}${attr(\"disabled\", roleLocked, true)}/> ${escape_html(PERMISSION_LABELS[p])}</label>`);\n }\n $$renderer5.push(`<!--]--></div></div> <div class=\"flex gap-2\">`);\n Button($$renderer5, {\n onclick: createInvite,\n disabled: creatingInvite || !inviteEmail,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(creatingInvite ? \"Creating…\" : \"Create invite\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n variant: \"outline\",\n onclick: () => showInviteForm = false,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></div></div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (lastInviteLink) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<div class=\"flex items-start gap-3 rounded-lg border border-green-500/30 bg-green-500/5 p-4\"><div class=\"min-w-0 flex-1\"><p class=\"text-sm font-medium\">Invite ready — copy the link and share it</p> <p class=\"text-muted-foreground mt-1 truncate font-mono text-xs\">${escape_html(lastInviteLink)}</p></div> `);\n Button($$renderer5, {\n size: \"sm\",\n variant: \"outline\",\n onclick: async () => {\n try {\n await navigator.clipboard.writeText(lastInviteLink);\n toast.success(\"Invite link copied\");\n } catch {\n toast.error(\"Could not copy to clipboard\");\n }\n },\n children: ($$renderer6) => {\n Copy($$renderer6, { class: \"mr-1.5 h-3.5 w-3.5\" });\n $$renderer6.push(`<!----> Copy`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n size: \"sm\",\n variant: \"ghost\",\n onclick: () => lastInviteLink = null,\n children: ($$renderer6) => {\n X($$renderer6, { class: \"h-4 w-4\" });\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (showAddForm) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<div class=\"bg-muted/40 space-y-3 rounded-lg border p-4\"><p class=\"text-sm font-medium\">New User</p> <div class=\"grid gap-3 sm:grid-cols-2\">`);\n Input($$renderer5, {\n type: \"email\",\n placeholder: \"Email\",\n get value() {\n return newEmail;\n },\n set value($$value) {\n newEmail = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n if (data.provider.userCreation === \"email-password\") {\n $$renderer5.push(\"<!--[0-->\");\n Input($$renderer5, {\n type: \"password\",\n placeholder: \"Password (min 8 chars)\",\n get value() {\n return newPassword;\n },\n set value($$value) {\n newPassword = $$value;\n $$settled = false;\n }\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></div> `);\n if (data.provider.userCreation === \"email-only\") {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<p class=\"text-muted-foreground text-xs\">This user will authenticate via ${escape_html(data.provider.name)}. No password is stored.</p>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <div><p class=\"mb-2 text-xs font-medium\">Permissions</p> <p class=\"text-muted-foreground mb-2 text-xs\">New users are added as <span class=\"font-mono\">member</span>. Promote them to owner or\n\t\t\t\t\t\t\tadmin from the user list to grant full organization access.</p> <div class=\"flex flex-wrap gap-3\"><!--[-->`);\n const each_array_2 = ensure_array_like(assignablePermissions());\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let p = each_array_2[$$index_2];\n const isOwnerAdminOnly = OWNER_ADMIN_ONLY_PERMISSIONS.includes(p);\n const isPlatformScope = ALL_PLATFORM_PERMISSIONS.includes(p);\n const memberExcluded = isOwnerAdminOnly && !isPlatformScope;\n $$renderer5.push(`<label${attr_class(`flex items-center gap-1.5 text-xs ${memberExcluded ? \"cursor-not-allowed opacity-60\" : \"cursor-pointer\"}`)}${attr(\"title\", memberExcluded ? \"Only owners and admins can hold this permission\" : void 0)}><input type=\"checkbox\"${attr(\"checked\", !memberExcluded && newPermissions.includes(p), true)}${attr(\"disabled\", memberExcluded, true)}/> ${escape_html(PERMISSION_LABELS[p])}</label>`);\n }\n $$renderer5.push(`<!--]--></div></div> <div class=\"flex gap-2\">`);\n Button($$renderer5, {\n onclick: addUser,\n disabled: adding || !newEmail || data.provider.userCreation === \"email-password\" && !newPassword,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(adding ? \"Creating…\" : \"Create User\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n variant: \"outline\",\n onclick: () => showAddForm = false,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></div></div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n if (data.users === null) {\n $$renderer5.push(\"<!--[0-->\");\n {\n let body = function($$renderer6) {\n $$renderer6.push(`<!---->Set <code class=\"text-xs\">DATA_PATH</code> (local provider) or check your provider\n\t\t\t\t\t\tselection in <code class=\"text-xs\">.env</code>.`);\n };\n EmptyState($$renderer5, {\n icon: Shield_check,\n title: \"User store unavailable\",\n body\n });\n }\n } else if (data.users.length === 0) {\n $$renderer5.push(\"<!--[1-->\");\n EmptyState($$renderer5, {\n title: \"No users yet\",\n description: \"Add your first user above.\"\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n $$renderer5.push(`<div class=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array_3 = ensure_array_like(data.users);\n for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n let user = each_array_3[$$index_3];\n UserListItem($$renderer5, {\n user,\n expanded: expandedUserId === user.id,\n isPlatformAdmin: data.isPlatformAdmin,\n soleInstanceAdmin: isSoleInstanceAdmin(user),\n updating: updatingId === user.id,\n deleting: deletingId === user.id,\n onDelete: () => deleteUser(user.id, user.email ?? user.id)\n });\n }\n $$renderer5.push(`<!--]--></div>`);\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (data.invites.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n if (Card) {\n $$renderer3.push(\"<!--[-->\");\n Card($$renderer3, {\n children: ($$renderer4) => {\n if (Card_header) {\n $$renderer4.push(\"<!--[-->\");\n Card_header($$renderer4, {\n children: ($$renderer5) => {\n if (Card_title) {\n $$renderer5.push(\"<!--[-->\");\n Card_title($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Invites`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Card_description) {\n $$renderer5.push(\"<!--[-->\");\n Card_description($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(data.invites.filter((i) => !i.acceptedAt).length)} pending, ${escape_html(data.invites.filter((i) => i.acceptedAt).length)} accepted`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_content) {\n $$renderer4.push(\"<!--[-->\");\n Card_content($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array_4 = ensure_array_like(data.invites);\n for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n let invite = each_array_4[$$index_4];\n const expired = Date.parse(invite.expiresAt) <= Date.now();\n const status = invite.acceptedAt ? \"Accepted\" : expired ? \"Expired\" : \"Pending\";\n $$renderer5.push(`<div class=\"flex items-center justify-between gap-4 px-4 py-3\"><div class=\"min-w-0 flex-1\"><p class=\"truncate text-sm font-medium\">${escape_html(invite.email)}</p> <p class=\"text-muted-foreground text-xs\">${escape_html(status)} · ${escape_html(invite.orgRole)} · expires ${escape_html(new Date(invite.expiresAt).toLocaleDateString())}</p></div> `);\n if (!invite.acceptedAt && !expired) {\n $$renderer5.push(\"<!--[0-->\");\n Button($$renderer5, {\n size: \"sm\",\n variant: \"ghost\",\n disabled: revokingId === invite.id,\n onclick: () => revokeInvite(invite.id, invite.email),\n class: \"text-destructive hover:text-destructive\",\n children: ($$renderer6) => {\n Trash_2($$renderer6, { class: \"h-4 w-4\" });\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></div>`);\n }\n $$renderer5.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAAS,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE;AAC3C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI;AACR,MAAM,IAAI;AACV,MAAM,QAAQ;AACd,MAAM,eAAe;AACrB,MAAM,iBAAiB;AACvB,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM;AACN,KAAK,GAAG,OAAO;AACf,IAAI,MAAM,UAAU,GAAG;AACvB,MAAM,cAAc,EAAE,gBAAgB;AACtC,MAAM,qBAAqB,EAAE,uBAAuB;AACpD,MAAM,cAAc,EAAE,gBAAgB;AACtC,MAAM,cAAc,EAAE,gBAAgB;AACtC,MAAM,kBAAkB,EAAE,gBAAgB;AAC1C,MAAM,kBAAkB,EAAE,oBAAoB;AAC9C,MAAM,kBAAkB,EAAE,oBAAoB;AAC9C,MAAM,eAAe,EAAE;AACvB,KAAK;AACL,IAAI,MAAM,SAAS,GAAG;AACtB,MAAM,cAAc,EAAE,8CAA8C;AACpE,MAAM,qBAAqB,EAAE,uDAAuD;AACpF,MAAM,cAAc,EAAE,4CAA4C;AAClE,MAAM,cAAc,EAAE,oCAAoC;AAC1D,MAAM,kBAAkB,EAAE,kDAAkD;AAC5E,MAAM,kBAAkB,EAAE,0CAA0C;AACpE,MAAM,kBAAkB,EAAE,qDAAqD;AAC/E,MAAM,eAAe,EAAE;AACvB,KAAK;AACL,IAAI,MAAM,SAAS,GAAG;AACtB,MAAM,KAAK,EAAE,uEAAuE;AACpF,MAAM,KAAK,EAAE,mEAAmE;AAChF,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;AAClI,IAAI,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC;AAC9F,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;AACtE,MAAM,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI;AAC3D,MAAM,IAAI,cAAc,EAAE,EAAE,OAAO,KAAK;AACxC,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC,CAAC,CAAC;AACP,IAAI,SAAS,cAAc,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,IAAI;AACJ,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE;AACjC,MAAM,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrD,IAAI;AACJ,IAAI,SAAS,aAAa,CAAC,IAAI,EAAE;AACjC,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;AACrE,MAAM,MAAM,aAAa,GAAG,IAAI,KAAK,gBAAgB,IAAI,iBAAiB;AAC1E,MAAM,MAAM,cAAc,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ;AACzG,MAAM,MAAM,MAAM,GAAG,cAAc,IAAI,aAAa,IAAI,cAAc;AACtE,MAAM,OAAO;AACb,QAAQ,OAAO;AACf,QAAQ,MAAM;AACd,QAAQ,aAAa;AACrB,QAAQ,cAAc;AACtB,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,UAAU,EAAE,QAAQ,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,yIAAyI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,sBAAsB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AACjT,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,YAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACrD,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,MAAM,aAAa,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACtD,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC1C,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;AAChF,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,iHAAiH,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3K,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AACtB,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,8EAA8E,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAC5L,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACjC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,wJAAwJ,CAAC,CAAC;AAClL,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,qQAAqQ,CAAC,CAAC;AAC/R,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,2EAA2E,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/H,IAAI,IAAI,CAAC,QAAQ,IAAI,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAChD,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,iDAAiD,CAAC,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1D,MAAM,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACzF,QAAQ,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;AACnC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,+CAA+C,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,oDAAoD,GAAG,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACpP,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACxC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACvC,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,OAAO,EAAE,OAAO;AACtB,MAAM,QAAQ,EAAE,QAAQ,IAAI,iBAAiB;AAC7C,MAAM,OAAO,EAAE,QAAQ;AACvB,MAAM,KAAK,EAAE,iBAAiB,GAAG,oEAAoE,GAAG,aAAa;AACrH,MAAM,KAAK,EAAE,8DAA8D;AAC3E,MAAM,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjC,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAClD,MAAM,CAAC;AACP,MAAM,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9B,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,4LAA4L,CAAC,CAAC;AACtN,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,wBAAwB,CAAC;AACtE,MAAM,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AACjG,QAAQ,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;AACvC,QAAQ,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC;AACtC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,+CAA+C,EAAE,KAAK,CAAC,MAAM,GAAG,6CAA6C,GAAG,iDAAiD,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,GAAG,wCAAwC,GAAG,MAAM,CAAC,CAAC,+CAA+C,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,qEAAqE,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,qDAAqD,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC5nB,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,wIAAwI,CAAC,CAAC;AAClK,MAAM,IAAI,cAAc,EAAE,EAAE;AAC5B,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,oFAAoF,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1I,mIAAmI,CAAC,CAAC;AACrI,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,+CAA+C,CAAC,CAAC;AAC3E,QAAQ,MAAM,YAAY,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AACnE,QAAQ,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AACnG,UAAU,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;AACzC,UAAU,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC;AACxC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,+CAA+C,EAAE,KAAK,CAAC,MAAM,GAAG,6CAA6C,GAAG,iDAAiD,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,GAAG,kDAAkD,GAAG,MAAM,CAAC,CAAC,+CAA+C,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,qEAAqE,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,qDAAqD,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACzoB,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAC1C,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAClD,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,MAAM,oBAAoB,GAAG,CAAC,GAAG,wBAAwB,EAAE,GAAG,mBAAmB,CAAC;AACtF,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC1B,IAAI,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,GAAG,oBAAoB,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;AACvH,IAAI,MAAM,iBAAiB,GAAG;AAC9B,MAAM,cAAc,EAAE,sBAAsB;AAC5C,MAAM,qBAAqB,EAAE,uBAAuB;AACpD,MAAM,cAAc,EAAE,2BAA2B;AACjD,MAAM,cAAc,EAAE,gBAAgB;AACtC,MAAM,kBAAkB,EAAE,oBAAoB;AAC9C,MAAM,kBAAkB,EAAE,oBAAoB;AAC9C,MAAM,kBAAkB,EAAE,oBAAoB;AAC9C,MAAM,eAAe,EAAE;AACvB,KAAK;AACL,IAAI,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;AAClD,IAAI,IAAI,WAAW,GAAG,KAAK;AAC3B,IAAI,IAAI,QAAQ,GAAG,EAAE;AACrB,IAAI,IAAI,WAAW,GAAG,EAAE;AACxB,IAAI,IAAI,cAAc,GAAG,EAAE;AAC3B,IAAI,IAAI,MAAM,GAAG,KAAK;AACtB,IAAI,IAAI,cAAc,GAAG,KAAK;AAC9B,IAAI,IAAI,WAAW,GAAG,EAAE;AACxB,IAAI,IAAI,UAAU,GAAG,QAAQ;AAC7B,IAAI,IAAI,iBAAiB,GAAG,EAAE;AAC9B,IAAI,IAAI,cAAc,GAAG,KAAK;AAC9B,IAAI,IAAI,cAAc,GAAG,IAAI;AAC7B,IAAI,IAAI,UAAU,GAAG,IAAI;AACzB,IAAI,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,UAAU,KAAK,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;AACpL,IAAI,IAAI,UAAU,GAAG,IAAI;AACzB,IAAI,IAAI,UAAU,GAAG,IAAI;AACzB,IAAI,IAAI,cAAc,GAAG,IAAI;AAC7B,IAAI,MAAM,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7J,IAAI,MAAM,mBAAmB,GAAG,CAAC,IAAI,KAAK,yBAAyB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AACpJ,IAAI,eAAe,OAAO,GAAG;AAC7B,MAAM,MAAM,GAAG,IAAI;AACnB,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,kBAAkB,EAAE;AACpD,UAAU,MAAM,EAAE,MAAM;AACxB,UAAU,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACzD,UAAU,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AAC/B,YAAY,KAAK,EAAE,QAAQ;AAC3B,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,gBAAgB,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE;AAC3F,YAAY,WAAW,EAAE;AACzB,WAAW;AACX,SAAS,CAAC;AACV,QAAQ,IAAI,GAAG,CAAC,EAAE,EAAE;AACpB,UAAU,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AACrD,UAAU,QAAQ,GAAG,EAAE;AACvB,UAAU,WAAW,GAAG,EAAE;AAC1B,UAAU,cAAc,GAAG,EAAE;AAC7B,UAAU,WAAW,GAAG,KAAK;AAC7B,UAAU,MAAM,aAAa,EAAE;AAC/B,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAChF,UAAU,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,uBAAuB,CAAC;AAC1E,QAAQ;AACR,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC;AAC5C,MAAM,CAAC,SAAS;AAChB,QAAQ,MAAM,GAAG,KAAK;AACtB,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,YAAY,GAAG;AAClC,MAAM,cAAc,GAAG,IAAI;AAC3B,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE;AAChD,UAAU,MAAM,EAAE,MAAM;AACxB,UAAU,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACzD,UAAU,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AAC/B,YAAY,KAAK,EAAE,WAAW;AAC9B,YAAY,OAAO,EAAE,UAAU;AAC/B,YAAY,WAAW,EAAE;AACzB,WAAW;AACX,SAAS,CAAC;AACV,QAAQ,IAAI,GAAG,CAAC,EAAE,EAAE;AACpB,UAAU,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AAChD,UAAU,cAAc,GAAG,SAAS;AACpC,UAAU,KAAK,CAAC,OAAO,CAAC,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5D,UAAU,WAAW,GAAG,EAAE;AAC1B,UAAU,UAAU,GAAG,QAAQ;AAC/B,UAAU,iBAAiB,GAAG,EAAE;AAChC,UAAU,cAAc,GAAG,KAAK;AAChC,UAAU,MAAM,aAAa,EAAE;AAC/B,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAChF,UAAU,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,yBAAyB,CAAC;AAC5E,QAAQ;AACR,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC;AAC9C,MAAM,CAAC,SAAS;AAChB,QAAQ,cAAc,GAAG,KAAK;AAC9B,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE;AAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;AACrD,MAAM,UAAU,GAAG,EAAE;AACrB,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC3E,QAAQ,IAAI,GAAG,CAAC,EAAE,EAAE;AACpB,UAAU,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzC,UAAU,MAAM,aAAa,EAAE;AAC/B,QAAQ,CAAC,MAAM;AACf,UAAU,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC;AAChD,QAAQ;AACR,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC;AAC9C,MAAM,CAAC,SAAS;AAChB,QAAQ,UAAU,GAAG,IAAI;AACzB,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE;AACzC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE;AACtE,MAAM,UAAU,GAAG,EAAE;AACrB,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC/E,QAAQ,IAAI,GAAG,CAAC,EAAE,EAAE;AACpB,UAAU,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAClD,UAAU,MAAM,aAAa,EAAE;AAC/B,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACxD,UAAU,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,uBAAuB,CAAC;AAC1E,QAAQ;AACR,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC;AAC5C,MAAM,CAAC,SAAS;AAChB,QAAQ,UAAU,GAAG,IAAI;AACzB,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,IAAI,gBAAgB;AACxB,IAAI,SAAS,cAAc,CAAC,WAAW,EAAE;AACzC,MAAM,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AACpD,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AAC3C,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC;AAC1D,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC;AACjD,MAAM;AACN,QAAQ,IAAI,OAAO,GAAG,SAAS,WAAW,EAAE;AAC5C,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,EAAE;AAC5E,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,gBAAgB,EAAE;AACjE,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,cAAc,MAAM,CAAC,WAAW,EAAE;AAClC,gBAAgB,OAAO,EAAE,MAAM;AAC/B,kBAAkB,cAAc,GAAG,CAAC,cAAc;AAClD,kBAAkB,IAAI,cAAc,EAAE,WAAW,GAAG,KAAK;AACzD,gBAAgB,CAAC;AACjB,gBAAgB,OAAO,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS;AAC/D,gBAAgB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC3C,kBAAkB,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAC9D,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACzD,gBAAgB,CAAC;AACjB,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACxC,eAAe,CAAC;AAChB,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAC5C,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACzC,YAAY,MAAM,CAAC,WAAW,EAAE;AAChC,cAAc,OAAO,EAAE,MAAM;AAC7B,gBAAgB,WAAW,GAAG,CAAC,WAAW;AAC1C,gBAAgB,IAAI,WAAW,EAAE,cAAc,GAAG,KAAK;AACvD,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW;AAC5D,cAAc,QAAQ,EAAE,CAAC,WAAW,KAAK;AACzC,gBAAgB,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAC5D,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,YAAY,GAAG,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACvI,cAAc,CAAC;AACf,cAAc,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACtC,aAAa,CAAC;AACd,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACvC,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,QAAQ,CAAC;AACT,QAAQ,aAAa,CAAC,WAAW,EAAE;AACnC,UAAU,OAAO,EAAE,OAAO;AAC1B,UAAU,KAAK,EAAE,OAAO;AACxB,UAAU,WAAW,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,6HAA6H,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,kBAAkB,CAAC;AAC/P,UAAU;AACV,SAAS,CAAC;AACV,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,UAAU,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrC,YAAY,IAAI,YAAY,EAAE;AAC9B,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,YAAY,CAAC,WAAW,EAAE;AACxC,gBAAgB,KAAK,EAAE,gBAAgB;AACvC,gBAAgB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC3C,kBAAkB,IAAI,cAAc,EAAE;AACtC,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,0DAA0D,CAAC,CAAC;AAC5D,oBAAoB,KAAK,CAAC,WAAW,EAAE;AACvC,sBAAsB,IAAI,EAAE,OAAO;AACnC,sBAAsB,WAAW,EAAE,OAAO;AAC1C,sBAAsB,IAAI,KAAK,GAAG;AAClC,wBAAwB,OAAO,WAAW;AAC1C,sBAAsB,CAAC;AACvB,sBAAsB,IAAI,KAAK,CAAC,OAAO,EAAE;AACzC,wBAAwB,WAAW,GAAG,OAAO;AAC7C,wBAAwB,SAAS,GAAG,KAAK;AACzC,sBAAsB;AACtB,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,oBAAoB,WAAW,CAAC,MAAM;AACtC,sBAAsB;AACtB,wBAAwB,KAAK,EAAE,UAAU;AACzC,wBAAwB,KAAK,EAAE;AAC/B,uBAAuB;AACvB,sBAAsB,CAAC,WAAW,KAAK;AACvC,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACpD,wBAAwB,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC;AACvE,wBAAwB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AAC3G,0BAA0B,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;AACxD,0BAA0B,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,KAAK;AAC/E,4BAA4B,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpE,0BAA0B,CAAC,CAAC;AAC5B,wBAAwB;AACxB,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACpD,sBAAsB;AACtB,qBAAqB;AACrB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,6EAA6E,CAAC,CAAC;AACrH,oBAAoB,IAAI,UAAU,KAAK,QAAQ,EAAE;AACjD,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,8CAA8C,EAAE,WAAW,CAAC,UAAU,KAAK,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAClJ,6FAA6F,CAAC,CAAC;AAC/F,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,mDAAmD,CAAC,CAAC;AAC3F,oBAAoB,MAAM,YAAY,GAAG,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;AACrF,oBAAoB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC/G,sBAAsB,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;AACrD,sBAAsB,MAAM,UAAU,GAAG,UAAU,KAAK,QAAQ;AAChE,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,kCAAkC,EAAE,UAAU,GAAG,+BAA+B,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrV,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,6CAA6C,CAAC,CAAC;AACrF,oBAAoB,MAAM,CAAC,WAAW,EAAE;AACxC,sBAAsB,OAAO,EAAE,YAAY;AAC3C,sBAAsB,QAAQ,EAAE,cAAc,IAAI,CAAC,WAAW;AAC9D,sBAAsB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjD,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,GAAG,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AACjH,sBAAsB,CAAC;AACvB,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9C,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,oBAAoB,MAAM,CAAC,WAAW,EAAE;AACxC,sBAAsB,OAAO,EAAE,SAAS;AACxC,sBAAsB,OAAO,EAAE,MAAM,cAAc,GAAG,KAAK;AAC3D,sBAAsB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjD,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACzD,sBAAsB,CAAC;AACvB,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9C,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC3D,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAClD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,kBAAkB,IAAI,cAAc,EAAE;AACtC,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,uQAAuQ,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;AACxV,oBAAoB,MAAM,CAAC,WAAW,EAAE;AACxC,sBAAsB,IAAI,EAAE,IAAI;AAChC,sBAAsB,OAAO,EAAE,SAAS;AACxC,sBAAsB,OAAO,EAAE,YAAY;AAC3C,wBAAwB,IAAI;AAC5B,0BAA0B,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC;AAC7E,0BAA0B,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;AAC7D,wBAAwB,CAAC,CAAC,MAAM;AAChC,0BAA0B,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC;AACpE,wBAAwB;AACxB,sBAAsB,CAAC;AACvB,sBAAsB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjD,wBAAwB,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;AAC1E,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;AACxD,sBAAsB,CAAC;AACvB,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9C,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,oBAAoB,MAAM,CAAC,WAAW,EAAE;AACxC,sBAAsB,IAAI,EAAE,IAAI;AAChC,sBAAsB,OAAO,EAAE,OAAO;AACtC,sBAAsB,OAAO,EAAE,MAAM,cAAc,GAAG,IAAI;AAC1D,sBAAsB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjD,wBAAwB,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5D,sBAAsB,CAAC;AACvB,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9C,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACrD,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAClD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,kBAAkB,IAAI,WAAW,EAAE;AACnC,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,4IAA4I,CAAC,CAAC;AACpL,oBAAoB,KAAK,CAAC,WAAW,EAAE;AACvC,sBAAsB,IAAI,EAAE,OAAO;AACnC,sBAAsB,WAAW,EAAE,OAAO;AAC1C,sBAAsB,IAAI,KAAK,GAAG;AAClC,wBAAwB,OAAO,QAAQ;AACvC,sBAAsB,CAAC;AACvB,sBAAsB,IAAI,KAAK,CAAC,OAAO,EAAE;AACzC,wBAAwB,QAAQ,GAAG,OAAO;AAC1C,wBAAwB,SAAS,GAAG,KAAK;AACzC,sBAAsB;AACtB,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,oBAAoB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,gBAAgB,EAAE;AACzE,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,KAAK,CAAC,WAAW,EAAE;AACzC,wBAAwB,IAAI,EAAE,UAAU;AACxC,wBAAwB,WAAW,EAAE,wBAAwB;AAC7D,wBAAwB,IAAI,KAAK,GAAG;AACpC,0BAA0B,OAAO,WAAW;AAC5C,wBAAwB,CAAC;AACzB,wBAAwB,IAAI,KAAK,CAAC,OAAO,EAAE;AAC3C,0BAA0B,WAAW,GAAG,OAAO;AAC/C,0BAA0B,SAAS,GAAG,KAAK;AAC3C,wBAAwB;AACxB,uBAAuB,CAAC;AACxB,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACvD,oBAAoB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,YAAY,EAAE;AACrE,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,yEAAyE,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC;AACjL,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,iHAAiH,CAAC,CAAC;AACnH,oBAAoB,MAAM,YAAY,GAAG,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;AACnF,oBAAoB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC/G,sBAAsB,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;AACrD,sBAAsB,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,sBAAsB,MAAM,eAAe,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClF,sBAAsB,MAAM,cAAc,GAAG,gBAAgB,IAAI,CAAC,eAAe;AACjF,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,kCAAkC,EAAE,cAAc,GAAG,+BAA+B,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,iDAAiD,GAAG,MAAM,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5b,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,6CAA6C,CAAC,CAAC;AACrF,oBAAoB,MAAM,CAAC,WAAW,EAAE;AACxC,sBAAsB,OAAO,EAAE,OAAO;AACtC,sBAAsB,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,gBAAgB,IAAI,CAAC,WAAW;AACtH,sBAAsB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjD,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AACvG,sBAAsB,CAAC;AACvB,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9C,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,oBAAoB,MAAM,CAAC,WAAW,EAAE;AACxC,sBAAsB,OAAO,EAAE,SAAS;AACxC,sBAAsB,OAAO,EAAE,MAAM,WAAW,GAAG,KAAK;AACxD,sBAAsB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACjD,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACzD,sBAAsB,CAAC;AACvB,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9C,qBAAqB,CAAC;AACtB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC3D,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAClD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,kBAAkB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AAC3C,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB;AACpB,sBAAsB,IAAI,IAAI,GAAG,SAAS,WAAW,EAAE;AACvD,wBAAwB,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1C,qDAAqD,CAAC,CAAC;AACvD,sBAAsB,CAAC;AACvB,sBAAsB,UAAU,CAAC,WAAW,EAAE;AAC9C,wBAAwB,IAAI,EAAE,YAAY;AAC1C,wBAAwB,KAAK,EAAE,wBAAwB;AACvD,wBAAwB;AACxB,uBAAuB,CAAC;AACxB,oBAAoB;AACpB,kBAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtD,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,oBAAoB,UAAU,CAAC,WAAW,EAAE;AAC5C,sBAAsB,KAAK,EAAE,cAAc;AAC3C,sBAAsB,WAAW,EAAE;AACnC,qBAAqB,CAAC;AACtB,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAClD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,gDAAgD,CAAC,CAAC;AACxF,oBAAoB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AACtE,oBAAoB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC/G,sBAAsB,IAAI,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC;AACxD,sBAAsB,YAAY,CAAC,WAAW,EAAE;AAChD,wBAAwB,IAAI;AAC5B,wBAAwB,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC,EAAE;AAC5D,wBAAwB,eAAe,EAAE,IAAI,CAAC,eAAe;AAC7D,wBAAwB,iBAAiB,EAAE,mBAAmB,CAAC,IAAI,CAAC;AACpE,wBAAwB,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC,EAAE;AACxD,wBAAwB,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC,EAAE;AACxD,wBAAwB,QAAQ,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE;AACjF,uBAAuB,CAAC;AACxB,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C,gBAAgB,CAAC;AACjB,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACxC,eAAe,CAAC;AAChB,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,YAAY;AACZ,UAAU,CAAC;AACX,UAAU,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClC,SAAS,CAAC;AACV,QAAQ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACnC,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACtC,UAAU,IAAI,CAAC,WAAW,EAAE;AAC5B,YAAY,QAAQ,EAAE,CAAC,WAAW,KAAK;AACvC,cAAc,IAAI,WAAW,EAAE;AAC/B,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,gBAAgB,WAAW,CAAC,WAAW,EAAE;AACzC,kBAAkB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC7C,oBAAoB,IAAI,UAAU,EAAE;AACpC,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,sBAAsB,UAAU,CAAC,WAAW,EAAE;AAC9C,wBAAwB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnD,0BAA0B,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAC5D,wBAAwB,CAAC;AACzB,wBAAwB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChD,uBAAuB,CAAC;AACxB,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,oBAAoB,IAAI,gBAAgB,EAAE;AAC1C,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,sBAAsB,gBAAgB,CAAC,WAAW,EAAE;AACpD,wBAAwB,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnD,0BAA0B,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AACvM,wBAAwB,CAAC;AACzB,wBAAwB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChD,uBAAuB,CAAC;AACxB,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,oBAAoB,CAAC,MAAM;AAC3B,sBAAsB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnD,sBAAsB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClD,oBAAoB;AACpB,kBAAkB,CAAC;AACnB,kBAAkB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC1C,iBAAiB,CAAC;AAClB,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,cAAc,CAAC,MAAM;AACrB,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,cAAc;AACd,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,cAAc,IAAI,YAAY,EAAE;AAChC,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,gBAAgB,YAAY,CAAC,WAAW,EAAE;AAC1C,kBAAkB,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC7C,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,gDAAgD,CAAC,CAAC;AACxF,oBAAoB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;AACxE,oBAAoB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC/G,sBAAsB,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AAC1D,sBAAsB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;AAChF,sBAAsB,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS;AACrG,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,mIAAmI,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,8CAA8C,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;AACnY,sBAAsB,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE;AAC1D,wBAAwB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrD,wBAAwB,MAAM,CAAC,WAAW,EAAE;AAC5C,0BAA0B,IAAI,EAAE,IAAI;AACpC,0BAA0B,OAAO,EAAE,OAAO;AAC1C,0BAA0B,QAAQ,EAAE,UAAU,KAAK,MAAM,CAAC,EAAE;AAC5D,0BAA0B,OAAO,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;AAC9E,0BAA0B,KAAK,EAAE,yCAAyC;AAC1E,0BAA0B,QAAQ,EAAE,CAAC,WAAW,KAAK;AACrD,4BAA4B,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACtE,0BAA0B,CAAC;AAC3B,0BAA0B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClD,yBAAyB,CAAC;AAC1B,sBAAsB,CAAC,MAAM;AAC7B,wBAAwB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtD,sBAAsB;AACtB,sBAAsB,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACxD,oBAAoB;AACpB,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtD,kBAAkB,CAAC;AACnB,kBAAkB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC1C,iBAAiB,CAAC;AAClB,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,cAAc,CAAC,MAAM;AACrB,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,cAAc;AACd,YAAY,CAAC;AACb,YAAY,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACpC,WAAW,CAAC;AACZ,UAAU,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACtC,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACtC,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACxC,IAAI;AACJ,IAAI,GAAG;AACP,MAAM,SAAS,GAAG,IAAI;AACtB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE;AAC3C,MAAM,cAAc,CAAC,gBAAgB,CAAC;AACtC,IAAI,CAAC,QAAQ,CAAC,SAAS;AACvB,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { fail, redirect } from '@sveltejs/kit';
|
|
2
|
-
import { g as getAuthProvider } from '../../../../../chunks/providers.server.js-
|
|
3
|
-
import { b as checkRateLimit,
|
|
2
|
+
import { g as getAuthProvider } from '../../../../../chunks/providers.server.js-CIHOepKv.js';
|
|
3
|
+
import { b as checkRateLimit, r as recordFailedAttempt } from '../../../../../chunks/admin-auth.server.js-CitjWnKM.js';
|
|
4
|
+
import { s as safeRedirectTarget } from '../../../../../chunks/redirect.js-1CZ30qn2.js';
|
|
4
5
|
|
|
5
6
|
const load = async () => {
|
|
6
7
|
redirect(303, "/login");
|
|
@@ -54,4 +55,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
54
55
|
});
|
|
55
56
|
|
|
56
57
|
export { _page_server_ts as _ };
|
|
57
|
-
//# sourceMappingURL=_page.server.ts.js-
|
|
58
|
+
//# sourceMappingURL=_page.server.ts.js-Bf5aciLN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.server.ts.js-Bf5aciLN.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/pages/auth/email/start/_page.server.ts.js"],"sourcesContent":["import { fail, redirect } from \"@sveltejs/kit\";\nimport { b as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { d as checkRateLimit, e as recordFailedAttempt } from \"../../../../../chunks/admin-auth.server.js\";\nimport { s as safeRedirectTarget } from \"../../../../../chunks/redirect.js\";\nconst load = async () => {\n redirect(303, \"/login\");\n};\nconst actions = {\n default: async (event) => {\n const { request, url } = event;\n const ip = event.getClientAddress();\n const { allowed } = checkRateLimit(ip);\n if (!allowed) {\n return fail(429, { error: \"Too many requests. Try again in 15 minutes.\" });\n }\n const data = await request.formData();\n const email = data.get(\"email\")?.trim().toLowerCase();\n const redirectTo = data.get(\"redirectTo\");\n if (!email || !email.includes(\"@\")) {\n return fail(400, { error: \"A valid email address is required.\" });\n }\n const auth = getAuthProvider();\n if (!auth.emailLink) {\n return fail(501, { error: \"Email sign-in is not supported by this provider.\" });\n }\n const callbackUrl = new URL(\"/auth/email/callback\", url.origin);\n const fromForm = typeof redirectTo === \"string\" ? redirectTo : null;\n const fromQuery = url.searchParams.get(\"redirectTo\");\n const safeDest = safeRedirectTarget(fromForm, \"\") || safeRedirectTarget(fromQuery, \"\");\n if (safeDest) callbackUrl.searchParams.set(\"redirectTo\", safeDest);\n const result = await auth.emailLink.sendMagicLink(email, callbackUrl.toString());\n if (!result.ok) {\n if (result.reason !== \"signup_disabled\") recordFailedAttempt(ip);\n return fail(400, { error: messageForReason(result.reason) });\n }\n redirect(303, \"/auth/email/sent\");\n }\n};\nfunction messageForReason(reason) {\n switch (reason) {\n case \"rate_limited\":\n return \"Too many emails sent. Try again in a few minutes.\";\n case \"signup_disabled\":\n return \"This email is not registered, and self-signup is disabled.\";\n case \"invalid_email\":\n return \"That email address looks invalid.\";\n }\n}\nexport {\n actions,\n load\n};\n"],"names":[],"mappings":";;;;;AAIA,MAAM,IAAI,GAAG,YAAY;AACzB,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;AACzB,CAAC;AACD,MAAM,OAAO,GAAG;AAChB,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK;AAC5B,IAAI,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK;AAClC,IAAI,MAAM,EAAE,GAAG,KAAK,CAAC,gBAAgB,EAAE;AACvC,IAAI,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;AAC1C,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC;AAChF,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE;AACzD,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;AAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACxC,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;AACvE,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,eAAe,EAAE;AAClC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACzB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;AACrF,IAAI;AACJ,IAAI,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC;AACnE,IAAI,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,GAAG,UAAU,GAAG,IAAI;AACvE,IAAI,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;AACxD,IAAI,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1F,IAAI,IAAI,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC;AACtE,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AACpF,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AACpB,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,EAAE,mBAAmB,CAAC,EAAE,CAAC;AACtE,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAClE,IAAI;AACJ,IAAI,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;AACrC,EAAE;AACF,CAAC;AACD,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE,QAAQ,MAAM;AAChB,IAAI,KAAK,cAAc;AACvB,MAAM,OAAO,mDAAmD;AAChE,IAAI,KAAK,iBAAiB;AAC1B,MAAM,OAAO,4DAA4D;AACzE,IAAI,KAAK,eAAe;AACxB,MAAM,OAAO,mCAAmC;AAChD;AACA;;;;;;;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { error } from '@sveltejs/kit';
|
|
2
|
-
import {
|
|
3
|
-
import { j as requireCanSolve } from '../../../../chunks/access.server.js-
|
|
4
|
-
import { t as tryResolveShareToken } from '../../../../chunks/resolve.server.js-
|
|
5
|
-
import { f as MAX_SOLVE_DURATION_MS } from '../../../../chunks/computeLimits.js-
|
|
6
|
-
import '../../../../chunks/context.js-
|
|
2
|
+
import { m as getDefinitionMeta, e as getProjectProvider, t as getStorageProvider, d as getOrganizationProvider } from '../../../../chunks/providers.server.js-CIHOepKv.js';
|
|
3
|
+
import { j as requireCanSolve } from '../../../../chunks/access.server.js-_nJWuQcN.js';
|
|
4
|
+
import { t as tryResolveShareToken } from '../../../../chunks/resolve.server.js-Dg1o2vnd.js';
|
|
5
|
+
import { f as MAX_SOLVE_DURATION_MS } from '../../../../chunks/computeLimits.js-CQh4jXlX.js';
|
|
6
|
+
import '../../../../chunks/context.js-DsQGiS2x.js';
|
|
7
7
|
import { U as UI_SCHEMA_VERSION } from '../../../../chunks/schema.js-j3D3emog.js';
|
|
8
|
-
import { f as fetchSchemaFromCompute, r as resolveServerForOrg } from '../../../../chunks/api-errors.js-
|
|
9
|
-
import { g as getClient } from '../../../../chunks/clientCache.server.js-
|
|
8
|
+
import { f as fetchSchemaFromCompute, r as resolveServerForOrg } from '../../../../chunks/api-errors.js-DlfcfPJs.js';
|
|
9
|
+
import { g as getClient } from '../../../../chunks/clientCache.server.js-BS8-NdiI.js';
|
|
10
10
|
import { b as private_env } from '../../../../chunks/shared-server.js-DaWdgxVh.js';
|
|
11
11
|
|
|
12
12
|
class DefinitionLoadError extends Error {
|
|
@@ -175,7 +175,7 @@ const load = (async ({ params, locals, request, url }) => {
|
|
|
175
175
|
if (!record) throw new Error(`Definition '${guid}' not found`);
|
|
176
176
|
if (!sharedAccess) await requireCanSolve(locals, record.projectId);
|
|
177
177
|
if (channel === "draft" || explicitVersionId) {
|
|
178
|
-
const { requireEditableDefinition } = await import('../../../../chunks/access.server.js-
|
|
178
|
+
const { requireEditableDefinition } = await import('../../../../chunks/access.server.js-_nJWuQcN.js').then((n) => n.C);
|
|
179
179
|
await requireEditableDefinition(locals, guid);
|
|
180
180
|
}
|
|
181
181
|
const loaded = await loadDefinitionForRender(ctx, record, channel, explicitVersionId);
|
|
@@ -249,4 +249,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
249
249
|
});
|
|
250
250
|
|
|
251
251
|
export { _page_server_ts as _ };
|
|
252
|
-
//# sourceMappingURL=_page.server.ts.js-
|
|
252
|
+
//# sourceMappingURL=_page.server.ts.js-Cd1cMb0M.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.server.ts.js-BXXiZbrJ.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/library/_guid_/_page.server.ts.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { l as getProjectProvider, q as getDefinitionMeta, t as getStorageProvider, d as getOrganizationProvider } from \"../../../../chunks/providers.server.js\";\nimport { j as requireCanSolve } from \"../../../../chunks/access.server.js\";\nimport { t as tryResolveShareToken } from \"../../../../chunks/resolve.server.js\";\nimport { c as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport \"../../../../chunks/context.js\";\nimport { U as UI_SCHEMA_VERSION } from \"../../../../chunks/schema.js\";\nimport { f as fetchSchemaFromCompute, r as resolveServerForOrg } from \"../../../../chunks/api-errors.js\";\nimport { g as getClient } from \"../../../../chunks/clientCache.server.js\";\nimport { b as private_env } from \"../../../../chunks/shared-server.js\";\nclass DefinitionLoadError extends Error {\n constructor(kind, message, cause) {\n super(message);\n this.kind = kind;\n this.cause = cause;\n this.name = \"DefinitionLoadError\";\n }\n kind;\n cause;\n}\nfunction createDefinitionLoader(deps) {\n const {\n storage,\n definitions,\n projects,\n resolveServer,\n getClient: getClient2,\n fetchSchema = fetchSchemaFromCompute,\n computeDebug = false,\n onWarn = (message, detail) => detail ? console.warn(message, detail) : console.warn(message)\n } = deps;\n return async function loadDefinitionForRender2(ctx, record, channel, explicitVersionId) {\n const versionId = explicitVersionId ?? (channel === \"draft\" ? record.draftVersionId : record.liveVersionId);\n if (!versionId)\n throw new DefinitionLoadError(\n \"data\",\n `Definition '${record.guid}' has no ${channel} version`\n );\n const version = await definitions.getVersion(ctx, versionId);\n if (!version) throw new DefinitionLoadError(\"data\", `version missing for '${record.guid}'`);\n if (version.definitionId !== record.guid)\n throw new DefinitionLoadError(\"data\", `version does not belong to '${record.guid}'`);\n const definitionSource = await storage.get(version.fileKey);\n if (!definitionSource)\n throw new DefinitionLoadError(\n \"data\",\n `Definition file for '${record.guid}' not found on disk`\n );\n const project = await projects.getProject(ctx, record.projectId);\n let computeServer;\n try {\n computeServer = await resolveServer(ctx, project?.orgId ?? null, {\n definitionPin: record.computeServerId ?? null\n });\n } catch (err) {\n throw new DefinitionLoadError(\n \"missing-config\",\n \"No compute server configured for this definition\",\n err\n );\n }\n let client;\n try {\n client = (await getClient2(computeServer, { definitionGuid: record.guid })).client;\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n throw new DefinitionLoadError(\n \"connect\",\n `Failed to connect to Rhino Compute server: ${message}`,\n err\n );\n }\n try {\n const cachedSchema = version.schema;\n const freshCache = cachedSchema && cachedSchema.schemaVersion === UI_SCHEMA_VERSION ? cachedSchema : null;\n const [definition, fetchedSchema] = await Promise.all([\n client.getIO(definitionSource),\n freshCache ? Promise.resolve(freshCache) : fetchSchema(definitionSource, computeServer)\n ]);\n if (!freshCache && fetchedSchema.schemaVersion === UI_SCHEMA_VERSION) {\n definitions.setVersionSchema(ctx, version.id, fetchedSchema).catch((err) => {\n onWarn(\n `[loadForRender] schema cache refresh failed for version ${version.id}: ${err instanceof Error ? err.message : String(err)}`\n );\n });\n }\n if (!definition) {\n throw new Error(`Failed to get definition IO — server returned undefined`);\n }\n const ioParseErrors = definition.parseErrors ?? [];\n const ioLoadErrors = definition.loadErrors ?? [];\n const ioLooksBroken = definition.inputs.length === 0 || ioParseErrors.length > 0 || ioLoadErrors.length > 0;\n if (ioLooksBroken) {\n onWarn(\n `[loadForRender] IO health for '${record.guid}':`,\n JSON.stringify({\n inputCount: definition.inputs.length,\n outputCount: definition.outputs?.length,\n parseErrors: ioParseErrors,\n loadErrors: ioLoadErrors,\n loadWarnings: definition.loadWarnings\n })\n );\n if (computeDebug) {\n const rawIO = await client.getRawIO(definitionSource).catch((e) => ({ error: String(e) }));\n onWarn(\"[loadForRender] raw /io:\", JSON.stringify(rawIO).slice(0, 3e3));\n }\n }\n return {\n version,\n definitionSource,\n computeServer,\n schema: mergeComputeDefaults(fetchedSchema, definition.inputs)\n };\n } catch (err) {\n if (err instanceof DefinitionLoadError) throw err;\n const message = err instanceof Error ? err.message : String(err);\n throw new DefinitionLoadError(\"schema\", message, err);\n }\n };\n}\nfunction mergeComputeDefaults(schema, computeInputs) {\n const byParamId = new Map(computeInputs.map((input) => [input.id, input]));\n return {\n ...schema,\n inputs: schema.inputs.map((schemaInput) => {\n const computeInput = byParamId.get(schemaInput.id);\n if (computeInput?.paramType === \"Color\" && computeInput.default !== void 0) {\n const toHex = (value) => value.toString(16).padStart(2, \"0\");\n const parts = String(computeInput.default).split(\",\").map((s) => parseInt(s.trim(), 10));\n if (parts.length === 3) {\n computeInput.default = `#${toHex(parts[0])}${toHex(parts[1])}${toHex(parts[2])}`;\n } else if (parts.length === 4) {\n computeInput.default = `#${toHex(parts[1])}${toHex(parts[2])}${toHex(parts[3])}`;\n }\n }\n if (computeInput && computeInput.default !== void 0) {\n return { ...schemaInput, default: computeInput.default };\n }\n return schemaInput;\n })\n };\n}\nconst COMPUTE_DEBUG = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG ?? \"\").toLowerCase()\n);\nasync function loadDefinitionForRender(ctx, record, channel, explicitVersionId) {\n const load2 = createDefinitionLoader({\n storage: getStorageProvider(),\n definitions: getDefinitionMeta(),\n projects: getProjectProvider(),\n resolveServer: (ctx2, orgId, opts) => resolveServerForOrg(ctx2, orgId, opts),\n getClient,\n computeDebug: COMPUTE_DEBUG\n });\n return load2(ctx, record, channel, explicitVersionId);\n}\nconst load = (async ({ params, locals, request, url }) => {\n const meta = getDefinitionMeta();\n const guid = params.guid;\n const channel = url.searchParams.get(\"channel\") === \"draft\" ? \"draft\" : \"live\";\n const explicitVersionId = url.searchParams.get(\"version\");\n const clientDefUrl = `local:${guid}`;\n let shareToken = null;\n try {\n const sharedAccess = channel === \"live\" && !explicitVersionId ? await tryResolveShareToken(request, url, guid, \"live\", { requireSolve: false }) : null;\n if (sharedAccess) {\n shareToken = url.searchParams.get(\"token\");\n } else if (!locals.ctx || !locals.user) {\n throw error(401, \"Unauthorized: You must be logged in to access definitions\");\n }\n const ctx = sharedAccess?.ctx ?? locals.ctx;\n const record = await meta.get(ctx, guid);\n if (!record) throw new Error(`Definition '${guid}' not found`);\n if (!sharedAccess) await requireCanSolve(locals, record.projectId);\n if (channel === \"draft\" || explicitVersionId) {\n const { requireEditableDefinition } = await import(\"../../../../chunks/access.server.js\").then((n) => n.C);\n await requireEditableDefinition(locals, guid);\n }\n const loaded = await loadDefinitionForRender(ctx, record, channel, explicitVersionId);\n const orgLogoUrl = await resolveOrgLogo(ctx, record.projectId);\n return {\n schema: loaded.schema,\n ghDefinition: clientDefUrl,\n currentDefinition: guid,\n serverLabel: loaded.computeServer.label,\n orgLogoUrl,\n channel,\n // When rendering an explicit version, forward its id (so solve calls\n // target the same version) and number (for the preview badge).\n versionId: explicitVersionId,\n versionNumber: loaded.version.versionNumber,\n // Forward to the client so /api/compute/solve calls can include it.\n // Null when the request was user-authenticated (session cookie carries auth).\n shareToken,\n // Same deadline the server enforces on /api/compute, so the client's\n // AbortController matches the server's Promise.race.\n solveTimeoutMs: MAX_SOLVE_DURATION_MS\n };\n } catch (err) {\n if (err instanceof Error && \"status\" in err) throw err;\n if (err instanceof DefinitionLoadError) {\n if (err.kind === \"missing-config\") {\n throw error(\n 503,\n \"No compute server configured. Ask an admin to add one in /admin/compute.\"\n );\n }\n if (err.kind === \"connect\") {\n console.error(\"[PageLoad] Compute server connection failed:\", err.message);\n throw error(503, err.message);\n }\n if (err.kind === \"schema\") {\n console.error(\"[PageLoad] Definition loading failed:\", err.message);\n if (process.env.NODE_ENV === \"development\") {\n const hint = `\n\nTroubleshooting:\n1. Check /api/health/compute to diagnose server connectivity\n2. Check the browser console for more details`;\n throw error(500, `Failed to load definition from ${clientDefUrl}: ${err.message}${hint}`);\n }\n throw error(500, `Failed to load definition: ${err.message}`);\n }\n }\n if (err instanceof Error) {\n console.warn(`[App Load] Failed to load definition '${guid}':`, err);\n throw error(400, `Failed to load definition '${guid}': ${err.message}`);\n }\n throw err;\n }\n});\nasync function resolveOrgLogo(ctx, projectId) {\n try {\n const project = await getProjectProvider().getProject(ctx, projectId);\n if (!project?.orgId) return null;\n const org = await getOrganizationProvider().getOrg(ctx, project.orgId);\n return org?.assets?.logo ?? null;\n } catch (err) {\n console.warn(\"[App Load] Failed to resolve org logo:\", err);\n return null;\n }\n}\nexport {\n load\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_page.server.ts.js-Cd1cMb0M.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/library/_guid_/_page.server.ts.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { m as getProjectProvider, s as getDefinitionMeta, v as getStorageProvider, e as getOrganizationProvider } from \"../../../../chunks/providers.server.js\";\nimport { j as requireCanSolve } from \"../../../../chunks/access.server.js\";\nimport { t as tryResolveShareToken } from \"../../../../chunks/resolve.server.js\";\nimport { f as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport \"../../../../chunks/context.js\";\nimport { U as UI_SCHEMA_VERSION } from \"../../../../chunks/schema.js\";\nimport { f as fetchSchemaFromCompute, r as resolveServerForOrg } from \"../../../../chunks/api-errors.js\";\nimport { g as getClient } from \"../../../../chunks/clientCache.server.js\";\nimport { b as private_env } from \"../../../../chunks/shared-server.js\";\nclass DefinitionLoadError extends Error {\n constructor(kind, message, cause) {\n super(message);\n this.kind = kind;\n this.cause = cause;\n this.name = \"DefinitionLoadError\";\n }\n kind;\n cause;\n}\nfunction createDefinitionLoader(deps) {\n const {\n storage,\n definitions,\n projects,\n resolveServer,\n getClient: getClient2,\n fetchSchema = fetchSchemaFromCompute,\n computeDebug = false,\n onWarn = (message, detail) => detail ? console.warn(message, detail) : console.warn(message)\n } = deps;\n return async function loadDefinitionForRender2(ctx, record, channel, explicitVersionId) {\n const versionId = explicitVersionId ?? (channel === \"draft\" ? record.draftVersionId : record.liveVersionId);\n if (!versionId)\n throw new DefinitionLoadError(\n \"data\",\n `Definition '${record.guid}' has no ${channel} version`\n );\n const version = await definitions.getVersion(ctx, versionId);\n if (!version) throw new DefinitionLoadError(\"data\", `version missing for '${record.guid}'`);\n if (version.definitionId !== record.guid)\n throw new DefinitionLoadError(\"data\", `version does not belong to '${record.guid}'`);\n const definitionSource = await storage.get(version.fileKey);\n if (!definitionSource)\n throw new DefinitionLoadError(\n \"data\",\n `Definition file for '${record.guid}' not found on disk`\n );\n const project = await projects.getProject(ctx, record.projectId);\n let computeServer;\n try {\n computeServer = await resolveServer(ctx, project?.orgId ?? null, {\n definitionPin: record.computeServerId ?? null\n });\n } catch (err) {\n throw new DefinitionLoadError(\n \"missing-config\",\n \"No compute server configured for this definition\",\n err\n );\n }\n let client;\n try {\n client = (await getClient2(computeServer, { definitionGuid: record.guid })).client;\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n throw new DefinitionLoadError(\n \"connect\",\n `Failed to connect to Rhino Compute server: ${message}`,\n err\n );\n }\n try {\n const cachedSchema = version.schema;\n const freshCache = cachedSchema && cachedSchema.schemaVersion === UI_SCHEMA_VERSION ? cachedSchema : null;\n const [definition, fetchedSchema] = await Promise.all([\n client.getIO(definitionSource),\n freshCache ? Promise.resolve(freshCache) : fetchSchema(definitionSource, computeServer)\n ]);\n if (!freshCache && fetchedSchema.schemaVersion === UI_SCHEMA_VERSION) {\n definitions.setVersionSchema(ctx, version.id, fetchedSchema).catch((err) => {\n onWarn(\n `[loadForRender] schema cache refresh failed for version ${version.id}: ${err instanceof Error ? err.message : String(err)}`\n );\n });\n }\n if (!definition) {\n throw new Error(`Failed to get definition IO — server returned undefined`);\n }\n const ioParseErrors = definition.parseErrors ?? [];\n const ioLoadErrors = definition.loadErrors ?? [];\n const ioLooksBroken = definition.inputs.length === 0 || ioParseErrors.length > 0 || ioLoadErrors.length > 0;\n if (ioLooksBroken) {\n onWarn(\n `[loadForRender] IO health for '${record.guid}':`,\n JSON.stringify({\n inputCount: definition.inputs.length,\n outputCount: definition.outputs?.length,\n parseErrors: ioParseErrors,\n loadErrors: ioLoadErrors,\n loadWarnings: definition.loadWarnings\n })\n );\n if (computeDebug) {\n const rawIO = await client.getRawIO(definitionSource).catch((e) => ({ error: String(e) }));\n onWarn(\"[loadForRender] raw /io:\", JSON.stringify(rawIO).slice(0, 3e3));\n }\n }\n return {\n version,\n definitionSource,\n computeServer,\n schema: mergeComputeDefaults(fetchedSchema, definition.inputs)\n };\n } catch (err) {\n if (err instanceof DefinitionLoadError) throw err;\n const message = err instanceof Error ? err.message : String(err);\n throw new DefinitionLoadError(\"schema\", message, err);\n }\n };\n}\nfunction mergeComputeDefaults(schema, computeInputs) {\n const byParamId = new Map(computeInputs.map((input) => [input.id, input]));\n return {\n ...schema,\n inputs: schema.inputs.map((schemaInput) => {\n const computeInput = byParamId.get(schemaInput.id);\n if (computeInput?.paramType === \"Color\" && computeInput.default !== void 0) {\n const toHex = (value) => value.toString(16).padStart(2, \"0\");\n const parts = String(computeInput.default).split(\",\").map((s) => parseInt(s.trim(), 10));\n if (parts.length === 3) {\n computeInput.default = `#${toHex(parts[0])}${toHex(parts[1])}${toHex(parts[2])}`;\n } else if (parts.length === 4) {\n computeInput.default = `#${toHex(parts[1])}${toHex(parts[2])}${toHex(parts[3])}`;\n }\n }\n if (computeInput && computeInput.default !== void 0) {\n return { ...schemaInput, default: computeInput.default };\n }\n return schemaInput;\n })\n };\n}\nconst COMPUTE_DEBUG = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG ?? \"\").toLowerCase()\n);\nasync function loadDefinitionForRender(ctx, record, channel, explicitVersionId) {\n const load2 = createDefinitionLoader({\n storage: getStorageProvider(),\n definitions: getDefinitionMeta(),\n projects: getProjectProvider(),\n resolveServer: (ctx2, orgId, opts) => resolveServerForOrg(ctx2, orgId, opts),\n getClient,\n computeDebug: COMPUTE_DEBUG\n });\n return load2(ctx, record, channel, explicitVersionId);\n}\nconst load = (async ({ params, locals, request, url }) => {\n const meta = getDefinitionMeta();\n const guid = params.guid;\n const channel = url.searchParams.get(\"channel\") === \"draft\" ? \"draft\" : \"live\";\n const explicitVersionId = url.searchParams.get(\"version\");\n const clientDefUrl = `local:${guid}`;\n let shareToken = null;\n try {\n const sharedAccess = channel === \"live\" && !explicitVersionId ? await tryResolveShareToken(request, url, guid, \"live\", { requireSolve: false }) : null;\n if (sharedAccess) {\n shareToken = url.searchParams.get(\"token\");\n } else if (!locals.ctx || !locals.user) {\n throw error(401, \"Unauthorized: You must be logged in to access definitions\");\n }\n const ctx = sharedAccess?.ctx ?? locals.ctx;\n const record = await meta.get(ctx, guid);\n if (!record) throw new Error(`Definition '${guid}' not found`);\n if (!sharedAccess) await requireCanSolve(locals, record.projectId);\n if (channel === \"draft\" || explicitVersionId) {\n const { requireEditableDefinition } = await import(\"../../../../chunks/access.server.js\").then((n) => n.C);\n await requireEditableDefinition(locals, guid);\n }\n const loaded = await loadDefinitionForRender(ctx, record, channel, explicitVersionId);\n const orgLogoUrl = await resolveOrgLogo(ctx, record.projectId);\n return {\n schema: loaded.schema,\n ghDefinition: clientDefUrl,\n currentDefinition: guid,\n serverLabel: loaded.computeServer.label,\n orgLogoUrl,\n channel,\n // When rendering an explicit version, forward its id (so solve calls\n // target the same version) and number (for the preview badge).\n versionId: explicitVersionId,\n versionNumber: loaded.version.versionNumber,\n // Forward to the client so /api/compute/solve calls can include it.\n // Null when the request was user-authenticated (session cookie carries auth).\n shareToken,\n // Same deadline the server enforces on /api/compute, so the client's\n // AbortController matches the server's Promise.race.\n solveTimeoutMs: MAX_SOLVE_DURATION_MS\n };\n } catch (err) {\n if (err instanceof Error && \"status\" in err) throw err;\n if (err instanceof DefinitionLoadError) {\n if (err.kind === \"missing-config\") {\n throw error(\n 503,\n \"No compute server configured. Ask an admin to add one in /admin/compute.\"\n );\n }\n if (err.kind === \"connect\") {\n console.error(\"[PageLoad] Compute server connection failed:\", err.message);\n throw error(503, err.message);\n }\n if (err.kind === \"schema\") {\n console.error(\"[PageLoad] Definition loading failed:\", err.message);\n if (process.env.NODE_ENV === \"development\") {\n const hint = `\n\nTroubleshooting:\n1. Check /api/health/compute to diagnose server connectivity\n2. Check the browser console for more details`;\n throw error(500, `Failed to load definition from ${clientDefUrl}: ${err.message}${hint}`);\n }\n throw error(500, `Failed to load definition: ${err.message}`);\n }\n }\n if (err instanceof Error) {\n console.warn(`[App Load] Failed to load definition '${guid}':`, err);\n throw error(400, `Failed to load definition '${guid}': ${err.message}`);\n }\n throw err;\n }\n});\nasync function resolveOrgLogo(ctx, projectId) {\n try {\n const project = await getProjectProvider().getProject(ctx, projectId);\n if (!project?.orgId) return null;\n const org = await getOrganizationProvider().getOrg(ctx, project.orgId);\n return org?.assets?.logo ?? null;\n } catch (err) {\n console.warn(\"[App Load] Failed to resolve org logo:\", err);\n return null;\n }\n}\nexport {\n load\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -11446,6 +11446,46 @@ function createComputeThrottle(computeFn, options = {}) {
|
|
|
11446
11446
|
cancel
|
|
11447
11447
|
};
|
|
11448
11448
|
}
|
|
11449
|
+
function stableInputKey(values) {
|
|
11450
|
+
return serialize(values);
|
|
11451
|
+
}
|
|
11452
|
+
function serialize(value) {
|
|
11453
|
+
if (value === null || typeof value !== "object")
|
|
11454
|
+
return JSON.stringify(value) ?? "null";
|
|
11455
|
+
if (Array.isArray(value))
|
|
11456
|
+
return `[${value.map(serialize).join(",")}]`;
|
|
11457
|
+
const obj = value;
|
|
11458
|
+
const keys = Object.keys(obj).sort();
|
|
11459
|
+
return `{${keys.map((k) => `${JSON.stringify(k)}:${serialize(obj[k])}`).join(",")}}`;
|
|
11460
|
+
}
|
|
11461
|
+
function createSolveMemo(max = 16) {
|
|
11462
|
+
const entries = /* @__PURE__ */ new Map();
|
|
11463
|
+
return {
|
|
11464
|
+
get(values) {
|
|
11465
|
+
const key = stableInputKey(values);
|
|
11466
|
+
const hit = entries.get(key);
|
|
11467
|
+
if (hit === void 0)
|
|
11468
|
+
return void 0;
|
|
11469
|
+
entries.delete(key);
|
|
11470
|
+
entries.set(key, hit);
|
|
11471
|
+
return hit;
|
|
11472
|
+
},
|
|
11473
|
+
set(values, result) {
|
|
11474
|
+
const key = stableInputKey(values);
|
|
11475
|
+
entries.delete(key);
|
|
11476
|
+
entries.set(key, result);
|
|
11477
|
+
while (entries.size > max) {
|
|
11478
|
+
const oldest = entries.keys().next().value;
|
|
11479
|
+
if (oldest === void 0)
|
|
11480
|
+
break;
|
|
11481
|
+
entries.delete(oldest);
|
|
11482
|
+
}
|
|
11483
|
+
},
|
|
11484
|
+
clear() {
|
|
11485
|
+
entries.clear();
|
|
11486
|
+
}
|
|
11487
|
+
};
|
|
11488
|
+
}
|
|
11449
11489
|
function getDefaultValue(paramType) {
|
|
11450
11490
|
switch (paramType) {
|
|
11451
11491
|
case "number":
|
|
@@ -11574,6 +11614,7 @@ function createSolveSession(args) {
|
|
|
11574
11614
|
},
|
|
11575
11615
|
rebuild(schema, scopeKey) {
|
|
11576
11616
|
currentSchema = schema;
|
|
11617
|
+
args.driver.clearCache?.();
|
|
11577
11618
|
state.meshes = [];
|
|
11578
11619
|
state.error = "";
|
|
11579
11620
|
state.computeErrors = [];
|
|
@@ -11596,11 +11637,19 @@ function createSolveSession(args) {
|
|
|
11596
11637
|
};
|
|
11597
11638
|
}
|
|
11598
11639
|
function createRequestResponseDriver(onSolve, getReporter, options = {}) {
|
|
11640
|
+
const memo = createSolveMemo();
|
|
11599
11641
|
const throttle = createComputeThrottle(
|
|
11600
11642
|
async (values, signal) => {
|
|
11643
|
+
const cached = memo.get(values);
|
|
11644
|
+
if (cached !== void 0) {
|
|
11645
|
+
if (signal.aborted) return;
|
|
11646
|
+
getReporter().report(cached);
|
|
11647
|
+
return;
|
|
11648
|
+
}
|
|
11601
11649
|
try {
|
|
11602
11650
|
const result = await onSolve(values, signal);
|
|
11603
11651
|
if (signal.aborted) return;
|
|
11652
|
+
memo.set(values, result);
|
|
11604
11653
|
getReporter().report(result);
|
|
11605
11654
|
} catch (err) {
|
|
11606
11655
|
if (signal.aborted) return;
|
|
@@ -11618,6 +11667,9 @@ function createRequestResponseDriver(onSolve, getReporter, options = {}) {
|
|
|
11618
11667
|
},
|
|
11619
11668
|
get isSolving() {
|
|
11620
11669
|
return throttle.isComputing;
|
|
11670
|
+
},
|
|
11671
|
+
clearCache() {
|
|
11672
|
+
memo.clear();
|
|
11621
11673
|
}
|
|
11622
11674
|
};
|
|
11623
11675
|
}
|
|
@@ -11989,4 +12041,4 @@ function _page($$renderer, $$props) {
|
|
|
11989
12041
|
}
|
|
11990
12042
|
|
|
11991
12043
|
export { _page as default };
|
|
11992
|
-
//# sourceMappingURL=_page.svelte.js-
|
|
12044
|
+
//# sourceMappingURL=_page.svelte.js-BHPELPpI.js.map
|