@selvajs/selva 4.14.0 → 4.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/_app/immutable/chunks/CHNbIR4A2.js +1 -0
- package/build/client/_app/immutable/chunks/CHNbIR4A2.js.br +2 -0
- package/build/client/_app/immutable/chunks/CHNbIR4A2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{C91vKAqc.js → CtflU-Cj.js} +1 -1
- package/build/client/_app/immutable/chunks/CtflU-Cj.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtflU-Cj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{pYSRzJMP.js → DKpM_Msv.js} +1 -1
- package/build/client/_app/immutable/chunks/DKpM_Msv.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKpM_Msv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BLa-U_gy.js → DbXFnuqY.js} +1 -1
- package/build/client/_app/immutable/chunks/DbXFnuqY.js.br +2 -0
- package/build/client/_app/immutable/chunks/DbXFnuqY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DkNoNSlE.js +2 -0
- package/build/client/_app/immutable/chunks/DkNoNSlE.js.br +0 -0
- package/build/client/_app/immutable/chunks/DkNoNSlE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Cas_r5Cj2.js → DwUuhchs2.js} +1 -1
- package/build/client/_app/immutable/chunks/DwUuhchs2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DwUuhchs2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CT99T8r_2.js → adwRZBKY2.js} +1 -1
- package/build/client/_app/immutable/chunks/adwRZBKY2.js.br +0 -0
- package/build/client/_app/immutable/chunks/adwRZBKY2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CBlVkCNr.js → hndhnWOU.js} +1 -1
- package/build/client/_app/immutable/chunks/hndhnWOU.js.br +0 -0
- package/build/client/_app/immutable/chunks/hndhnWOU.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.GQmlOOd_.js → app.6gdIMOoq.js} +2 -2
- package/build/client/_app/immutable/entry/app.6gdIMOoq.js.br +0 -0
- package/build/client/_app/immutable/entry/app.6gdIMOoq.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CYaoq1tx.js +1 -0
- package/build/client/_app/immutable/entry/start.CYaoq1tx.js.br +1 -0
- package/build/client/_app/immutable/entry/start.CYaoq1tx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.Da2ygAPH.js → 1.dxQPBYJ8.js} +1 -1
- package/build/client/_app/immutable/nodes/1.dxQPBYJ8.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.dxQPBYJ8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.C5XqRFlQ.js → 11.DhdutceD.js} +1 -1
- package/build/client/_app/immutable/nodes/11.DhdutceD.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DhdutceD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.B0URBchi.js → 13.Drf4S-0F.js} +1 -1
- package/build/client/_app/immutable/nodes/13.Drf4S-0F.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.Drf4S-0F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.BQQCdbLS.js → 14.osi6amCN.js} +1 -1
- package/build/client/_app/immutable/nodes/14.osi6amCN.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.osi6amCN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{15.pgcpxj56.js → 15.BCHElUur.js} +1 -1
- package/build/client/_app/immutable/nodes/15.BCHElUur.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.BCHElUur.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.SIXYWFzX.js → 16.CUsNw0Yu.js} +1 -1
- package/build/client/_app/immutable/nodes/16.CUsNw0Yu.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.CUsNw0Yu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.Ar6dEz3w.js → 17.DXZ6X9u0.js} +1 -1
- package/build/client/_app/immutable/nodes/17.DXZ6X9u0.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.DXZ6X9u0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.Dd1AxZGU.js → 19.CDD562Nm.js} +1 -1
- package/build/client/_app/immutable/nodes/19.CDD562Nm.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.CDD562Nm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.D3f1Htz1.js → 2.BLpbcIlV.js} +1 -1
- package/build/client/_app/immutable/nodes/2.BLpbcIlV.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BLpbcIlV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{20.CfAtIhIQ.js → 20.DlEbv2pO.js} +1 -1
- package/build/client/_app/immutable/nodes/20.DlEbv2pO.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.DlEbv2pO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.DLe_5KFi.js → 21.B7CVTm8z.js} +1 -1
- package/build/client/_app/immutable/nodes/21.B7CVTm8z.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.B7CVTm8z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{22.CnObDwUV.js → 22.CxLJ8y90.js} +1 -1
- package/build/client/_app/immutable/nodes/22.CxLJ8y90.js.br +0 -0
- package/build/client/_app/immutable/nodes/22.CxLJ8y90.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.Bt5i_Mi7.js → 24.Dm9_aJkY.js} +1 -1
- package/build/client/_app/immutable/nodes/24.Dm9_aJkY.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.Dm9_aJkY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{25.BxMUUxpU.js → 25.B2dvtpTX.js} +1 -1
- package/build/client/_app/immutable/nodes/25.B2dvtpTX.js.br +0 -0
- package/build/client/_app/immutable/nodes/25.B2dvtpTX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.C6_OKS4M.js → 28.UaeuWtgE.js} +1 -1
- package/build/client/_app/immutable/nodes/28.UaeuWtgE.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.UaeuWtgE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.D3vp5WnX.js → 29.COj_cQVK.js} +1 -1
- package/build/client/_app/immutable/nodes/29.COj_cQVK.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.COj_cQVK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.CCH-pM9W.js → 3.JTz5F94Q.js} +1 -1
- package/build/client/_app/immutable/nodes/3.JTz5F94Q.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.JTz5F94Q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.DSWC5S_b.js → 30.BB4vsX6W.js} +1 -1
- package/build/client/_app/immutable/nodes/30.BB4vsX6W.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.BB4vsX6W.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{31.BWTgUx9w.js → 31.CKzLT-Ii.js} +1 -1
- package/build/client/_app/immutable/nodes/31.CKzLT-Ii.js.br +0 -0
- package/build/client/_app/immutable/nodes/31.CKzLT-Ii.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{33.BLZDo2P4.js → 33.PM9mwTnY.js} +1 -1
- package/build/client/_app/immutable/nodes/33.PM9mwTnY.js.br +0 -0
- package/build/client/_app/immutable/nodes/33.PM9mwTnY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.9Lrvi_FE.js → 5.DVX-VKed.js} +1 -1
- package/build/client/_app/immutable/nodes/5.DVX-VKed.js.br +1 -0
- package/build/client/_app/immutable/nodes/5.DVX-VKed.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.DjBPfXJ8.js → 6.DgJ7Wg5W.js} +1 -1
- package/build/client/_app/immutable/nodes/6.DgJ7Wg5W.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DgJ7Wg5W.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.DVPq8TUt.js → 7.XgHQEGbJ.js} +1 -1
- package/build/client/_app/immutable/nodes/7.XgHQEGbJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.XgHQEGbJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.1-HJk-Oo.js → 8.DuK_qXK8.js} +1 -1
- package/build/client/_app/immutable/nodes/8.DuK_qXK8.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DuK_qXK8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.CsO4rxYN.js → 9.CfRi7pKk.js} +1 -1
- package/build/client/_app/immutable/nodes/9.CfRi7pKk.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CfRi7pKk.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/handler.js +4 -4
- package/build/index.js +4 -4
- package/build/server/chunks/chunks/{AppHeader.js-DnzmTq4X.js → AppHeader.js-CZLvDVj8.js} +3 -3
- package/build/server/chunks/chunks/{AppHeader.js-DnzmTq4X.js.map → AppHeader.js-CZLvDVj8.js.map} +1 -1
- package/build/server/chunks/chunks/{SideNav.js-B5A8NgLK.js → SideNav.js-C62Nc8M7.js} +2 -2
- package/build/server/chunks/chunks/{SideNav.js-B5A8NgLK.js.map → SideNav.js-C62Nc8M7.js.map} +1 -1
- package/build/server/chunks/chunks/{UserChip.js-DYW2Utyx.js → UserChip.js-Cfffcz1F.js} +3 -3
- package/build/server/chunks/chunks/{UserChip.js-DYW2Utyx.js.map → UserChip.js-Cfffcz1F.js.map} +1 -1
- package/build/server/chunks/chunks/{client.js-CPlZyPu8.js → client.js-B5zjaxEd.js} +2 -2
- package/build/server/chunks/chunks/{client.js-CPlZyPu8.js.map → client.js-B5zjaxEd.js.map} +1 -1
- package/build/server/chunks/chunks/forms.js-BQH7KYyi.js +2 -0
- package/build/server/chunks/chunks/forms.js-BQH7KYyi.js.map +1 -0
- package/build/server/chunks/chunks/internal.js-D-PIqUmO.js.map +1 -1
- package/build/server/chunks/chunks/{internal2.js-XevcNT_G.js → internal2.js-qTBwxhwo.js} +3 -3
- package/build/server/chunks/chunks/{internal2.js-XevcNT_G.js.map → internal2.js-qTBwxhwo.js.map} +1 -1
- package/build/server/chunks/chunks/navigation.js-BQH7KYyi.js +2 -0
- package/build/server/chunks/chunks/navigation.js-BQH7KYyi.js.map +1 -0
- package/build/server/chunks/chunks/{package.js-BKh7flYo.js → package.js-BEqfa7_s.js} +2 -2
- package/build/server/chunks/chunks/{package.js-BKh7flYo.js.map → package.js-BEqfa7_s.js.map} +1 -1
- package/build/server/chunks/chunks/{paths.js-BJujam6o.js → paths.js-sHF6DM-M.js} +2 -2
- package/build/server/chunks/chunks/{paths.js-BJujam6o.js.map → paths.js-sHF6DM-M.js.map} +1 -1
- package/build/server/chunks/chunks/{selfUpdate.server.js-D4yWhGGI.js → selfUpdate.server.js-l0l1xNus.js} +2 -2
- package/build/server/chunks/chunks/{selfUpdate.server.js-D4yWhGGI.js.map → selfUpdate.server.js-l0l1xNus.js.map} +1 -1
- package/build/server/chunks/chunks/{state.js-BCTfzewE.js → state.js-DE7Wux-S.js} +2 -2
- package/build/server/chunks/chunks/{state.js-BCTfzewE.js.map → state.js-DE7Wux-S.js.map} +1 -1
- package/build/server/chunks/chunks/{stores.js-pSZxdsnL.js → stores.js-C_lo-FMR.js} +2 -2
- package/build/server/chunks/chunks/{stores.js-pSZxdsnL.js.map → stores.js-C_lo-FMR.js.map} +1 -1
- package/build/server/chunks/chunks/{update-outcome.js-Djn7e2VC.js → update-outcome.js-D6m3udZN.js} +20 -1
- package/build/server/chunks/chunks/update-outcome.js-D6m3udZN.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/admin/system/update/{_server.ts.js-QCEcceeo.js → _server.ts.js-BPM7_gnV.js} +38 -4
- package/build/server/chunks/entries/endpoints/api/admin/system/update/{_server.ts.js-QCEcceeo.js.map → _server.ts.js-BPM7_gnV.js.map} +1 -1
- package/build/server/chunks/entries/{hooks.server.js-CMVIHzYs.js → hooks.server.js-DkaJFT25.js} +3 -3
- package/build/server/chunks/entries/{hooks.server.js-CMVIHzYs.js.map → hooks.server.js-DkaJFT25.js.map} +1 -1
- package/build/server/chunks/entries/pages/{_error.svelte.js-C__RMX5H.js → _error.svelte.js-B0k_AdL1.js} +4 -4
- package/build/server/chunks/entries/pages/{_error.svelte.js-C__RMX5H.js.map → _error.svelte.js-B0k_AdL1.js.map} +1 -1
- package/build/server/chunks/entries/pages/{_page.svelte.js-CIerO8GF.js → _page.svelte.js-DrER7xBY.js} +6 -6
- package/build/server/chunks/entries/pages/{_page.svelte.js-CIerO8GF.js.map → _page.svelte.js-DrER7xBY.js.map} +1 -1
- package/build/server/chunks/entries/pages/accept-invite/{_page.svelte.js-BtZWrs7T.js → _page.svelte.js-CsOMotAt.js} +4 -4
- package/build/server/chunks/entries/pages/accept-invite/{_page.svelte.js-BtZWrs7T.js.map → _page.svelte.js-CsOMotAt.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_error.svelte.js-DymBLoCU.js → _error.svelte.js-puECh8ot.js} +4 -4
- package/build/server/chunks/entries/pages/admin/{_error.svelte.js-DymBLoCU.js.map → _error.svelte.js-puECh8ot.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_layout.svelte.js-BxCqidMY.js → _layout.svelte.js-DFeopfG_.js} +7 -7
- package/build/server/chunks/entries/pages/admin/{_layout.svelte.js-BxCqidMY.js.map → _layout.svelte.js-DFeopfG_.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-u104sMJi.js → _page.server.ts.js-C1df5eYu.js} +2 -2
- package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-u104sMJi.js.map → _page.server.ts.js-C1df5eYu.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/{_page.svelte.js-PgFZOp80.js → _page.svelte.js-Bzm_L5OW.js} +4 -4
- package/build/server/chunks/entries/pages/admin/{_page.svelte.js-PgFZOp80.js.map → _page.svelte.js-Bzm_L5OW.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/compute/{_page.svelte.js-DPQ-1Wni.js → _page.svelte.js-Ce4Dm4yA.js} +3 -3
- package/build/server/chunks/entries/pages/admin/compute/{_page.svelte.js-DPQ-1Wni.js.map → _page.svelte.js-Ce4Dm4yA.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.svelte.js-BjrGXukP.js → _page.svelte.js-CITQ8dQm.js} +3 -3
- package/build/server/chunks/entries/pages/admin/projects/_id_/{_page.svelte.js-BjrGXukP.js.map → _page.svelte.js-CITQ8dQm.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/projects/{_page.svelte.js-BVuCLbhC.js → _page.svelte.js-yuUaYdYT.js} +3 -3
- package/build/server/chunks/entries/pages/admin/projects/{_page.svelte.js-BVuCLbhC.js.map → _page.svelte.js-yuUaYdYT.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-BA-wsByB.js → _page.server.ts.js-BNX-Pska.js} +2 -2
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-BA-wsByB.js.map → _page.server.ts.js-BNX-Pska.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/system/{_page.svelte.js-cBDN8M-p.js → _page.svelte.js-DWi0PkCo.js} +4 -4
- package/build/server/chunks/entries/pages/admin/system/{_page.svelte.js-cBDN8M-p.js.map → _page.svelte.js-DWi0PkCo.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CrOy0Fmk.js → _page.svelte.js-DqEw38-9.js} +3 -3
- package/build/server/chunks/entries/pages/admin/users/{_page.svelte.js-CrOy0Fmk.js.map → _page.svelte.js-DqEw38-9.js.map} +1 -1
- package/build/server/chunks/entries/pages/auth/email/sent/{_page.svelte.js-BRxau0-7.js → _page.svelte.js-C5arDt6o.js} +4 -4
- package/build/server/chunks/entries/pages/auth/email/sent/{_page.svelte.js-BRxau0-7.js.map → _page.svelte.js-C5arDt6o.js.map} +1 -1
- package/build/server/chunks/entries/pages/docs/api/{_page.svelte.js-BCjb2Bs-.js → _page.svelte.js-CpiMj7Qm.js} +3 -3
- package/build/server/chunks/entries/pages/docs/api/{_page.svelte.js-BCjb2Bs-.js.map → _page.svelte.js-CpiMj7Qm.js.map} +1 -1
- package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-DcxIoLF4.js → _page.svelte.js-DXBnEm48.js} +5 -5
- package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-DcxIoLF4.js.map → _page.svelte.js-DXBnEm48.js.map} +1 -1
- package/build/server/chunks/entries/pages/library/{_page.svelte.js-fIx2Y7Ma.js → _page.svelte.js-BWoG67r9.js} +6 -6
- package/build/server/chunks/entries/pages/library/{_page.svelte.js-fIx2Y7Ma.js.map → _page.svelte.js-BWoG67r9.js.map} +1 -1
- package/build/server/chunks/entries/pages/login/{_page.svelte.js-BagWa6gN.js → _page.svelte.js-C-arkV81.js} +4 -4
- package/build/server/chunks/entries/pages/login/{_page.svelte.js-BagWa6gN.js.map → _page.svelte.js-C-arkV81.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_layout.svelte.js-DnobE8t5.js → _layout.svelte.js-ccKdytrj.js} +6 -6
- package/build/server/chunks/entries/pages/projects/{_layout.svelte.js-DnobE8t5.js.map → _layout.svelte.js-ccKdytrj.js.map} +1 -1
- package/build/server/chunks/entries/pages/projects/{_page.svelte.js-83Y8gjyo.js → _page.svelte.js-DkozUMxR.js} +4 -4
- package/build/server/chunks/entries/pages/projects/{_page.svelte.js-83Y8gjyo.js.map → _page.svelte.js-DkozUMxR.js.map} +1 -1
- package/build/server/chunks/entries/pages/setup/{_page.svelte.js-ClSST1JJ.js → _page.svelte.js-6HFP3cRT.js} +4 -4
- package/build/server/chunks/entries/pages/setup/{_page.svelte.js-ClSST1JJ.js.map → _page.svelte.js-6HFP3cRT.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/{_layout.svelte.js-ChhWeFxE.js → _layout.svelte.js-BSzvcciC.js} +8 -8
- package/build/server/chunks/entries/pages/team/{_layout.svelte.js-ChhWeFxE.js.map → _layout.svelte.js-BSzvcciC.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/compute/{_page.svelte.js-CNUIiwwN.js → _page.svelte.js-l_oRSwNG.js} +4 -4
- package/build/server/chunks/entries/pages/team/compute/{_page.svelte.js-CNUIiwwN.js.map → _page.svelte.js-l_oRSwNG.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-BM_M3moU.js → _page.svelte.js-MtUm7QgR.js} +3 -3
- package/build/server/chunks/entries/pages/team/members/{_page.svelte.js-BM_M3moU.js.map → _page.svelte.js-MtUm7QgR.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/projects/{_page.svelte.js-Ci4Fz8ss.js → _page.svelte.js-Bpw8mONK.js} +3 -3
- package/build/server/chunks/entries/pages/team/projects/{_page.svelte.js-Ci4Fz8ss.js.map → _page.svelte.js-Bpw8mONK.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/reclaim/{_page.svelte.js-BvhyLLcv.js → _page.svelte.js-CrgahGAI.js} +3 -3
- package/build/server/chunks/entries/pages/team/reclaim/{_page.svelte.js-BvhyLLcv.js.map → _page.svelte.js-CrgahGAI.js.map} +1 -1
- package/build/server/chunks/entries/pages/team/shares/{_page.svelte.js-CF-ylBd5.js → _page.svelte.js-DWu7Zxst.js} +3 -3
- package/build/server/chunks/entries/pages/team/shares/{_page.svelte.js-CF-ylBd5.js.map → _page.svelte.js-DWu7Zxst.js.map} +1 -1
- package/build/server/chunks/{handler-Db7sp23S.js → handler-CErcKJbW.js} +3 -3
- package/build/server/chunks/{handler-Db7sp23S.js.map → handler-CErcKJbW.js.map} +1 -1
- package/build/server/chunks/{index.js-WbrPodQ8.js → index.js-CiGKxztc.js} +2 -2
- package/build/server/chunks/{index.js-WbrPodQ8.js.map → index.js-CiGKxztc.js.map} +1 -1
- package/build/server/chunks/{manifest.js-DM9fpA0I.js → manifest.js-DxLkYjgb.js} +28 -28
- package/build/server/chunks/{manifest.js-DM9fpA0I.js.map → manifest.js-DxLkYjgb.js.map} +1 -1
- package/build/server/chunks/nodes/{1.js--S3VIL2y.js → 1.js-BMzusg4_.js} +3 -3
- package/build/server/chunks/nodes/{1.js--S3VIL2y.js.map → 1.js-BMzusg4_.js.map} +1 -1
- package/build/server/chunks/nodes/{11.js-BtMALlGm.js → 11.js-y9bzTk3X.js} +3 -3
- package/build/server/chunks/nodes/{11.js-BtMALlGm.js.map → 11.js-y9bzTk3X.js.map} +1 -1
- package/build/server/chunks/nodes/{13.js-kH7PhWsz.js → 13.js-XxmBGyny.js} +3 -3
- package/build/server/chunks/nodes/{13.js-kH7PhWsz.js.map → 13.js-XxmBGyny.js.map} +1 -1
- package/build/server/chunks/nodes/{14.js-B31tspX2.js → 14.js-DWCWJ5Y8.js} +3 -3
- package/build/server/chunks/nodes/{14.js-B31tspX2.js.map → 14.js-DWCWJ5Y8.js.map} +1 -1
- package/build/server/chunks/nodes/{15.js-CVCag1g6.js → 15.js-DvDQCJIu.js} +5 -5
- package/build/server/chunks/nodes/{15.js-CVCag1g6.js.map → 15.js-DvDQCJIu.js.map} +1 -1
- package/build/server/chunks/nodes/{16.js-DJucqku9.js → 16.js-BqGz2kLy.js} +3 -3
- package/build/server/chunks/nodes/{16.js-DJucqku9.js.map → 16.js-BqGz2kLy.js.map} +1 -1
- package/build/server/chunks/nodes/{17.js-C0LRiU0I.js → 17.js-DypDCC8w.js} +3 -3
- package/build/server/chunks/nodes/{17.js-C0LRiU0I.js.map → 17.js-DypDCC8w.js.map} +1 -1
- package/build/server/chunks/nodes/{19.js-DExgnmKp.js → 19.js-BxRT6M4T.js} +3 -3
- package/build/server/chunks/nodes/{19.js-DExgnmKp.js.map → 19.js-BxRT6M4T.js.map} +1 -1
- package/build/server/chunks/nodes/{2.js-C7Btl6z0.js → 2.js-BJ788LyU.js} +3 -3
- package/build/server/chunks/nodes/{2.js-C7Btl6z0.js.map → 2.js-BJ788LyU.js.map} +1 -1
- package/build/server/chunks/nodes/{20.js-CYWZVdA_.js → 20.js-ClXB_G6j.js} +3 -3
- package/build/server/chunks/nodes/{20.js-CYWZVdA_.js.map → 20.js-ClXB_G6j.js.map} +1 -1
- package/build/server/chunks/nodes/{21.js-Dt_G3nFk.js → 21.js-CGhSNvQT.js} +3 -3
- package/build/server/chunks/nodes/{21.js-Dt_G3nFk.js.map → 21.js-CGhSNvQT.js.map} +1 -1
- package/build/server/chunks/nodes/{22.js-DHefiJ0j.js → 22.js-CqtlOHkp.js} +3 -3
- package/build/server/chunks/nodes/{22.js-DHefiJ0j.js.map → 22.js-CqtlOHkp.js.map} +1 -1
- package/build/server/chunks/nodes/{24.js-Czu3Svdn.js → 24.js-DPAhYEgB.js} +3 -3
- package/build/server/chunks/nodes/{24.js-Czu3Svdn.js.map → 24.js-DPAhYEgB.js.map} +1 -1
- package/build/server/chunks/nodes/{25.js-B7Diit5l.js → 25.js-D2-QtZDO.js} +3 -3
- package/build/server/chunks/nodes/{25.js-B7Diit5l.js.map → 25.js-D2-QtZDO.js.map} +1 -1
- package/build/server/chunks/nodes/{28.js-LN8NOwwK.js → 28.js-D0ja56yM.js} +3 -3
- package/build/server/chunks/nodes/{28.js-LN8NOwwK.js.map → 28.js-D0ja56yM.js.map} +1 -1
- package/build/server/chunks/nodes/{29.js-DuoFmfaj.js → 29.js-I1wrCZu-.js} +3 -3
- package/build/server/chunks/nodes/{29.js-DuoFmfaj.js.map → 29.js-I1wrCZu-.js.map} +1 -1
- package/build/server/chunks/nodes/{3.js-DemO_299.js → 3.js-DKl3WQA6.js} +3 -3
- package/build/server/chunks/nodes/{3.js-DemO_299.js.map → 3.js-DKl3WQA6.js.map} +1 -1
- package/build/server/chunks/nodes/{30.js-CZDTt8tS.js → 30.js-CVNtUf7m.js} +3 -3
- package/build/server/chunks/nodes/{30.js-CZDTt8tS.js.map → 30.js-CVNtUf7m.js.map} +1 -1
- package/build/server/chunks/nodes/{31.js-DuLEfw4L.js → 31.js-CidOHZ3v.js} +3 -3
- package/build/server/chunks/nodes/{31.js-DuLEfw4L.js.map → 31.js-CidOHZ3v.js.map} +1 -1
- package/build/server/chunks/nodes/{33.js-DddrkYrt.js → 33.js-CXDM-9zH.js} +3 -3
- package/build/server/chunks/nodes/{33.js-DddrkYrt.js.map → 33.js-CXDM-9zH.js.map} +1 -1
- package/build/server/chunks/nodes/{5.js-BnGcv-U7.js → 5.js-BZoY_6WN.js} +3 -3
- package/build/server/chunks/nodes/{5.js-BnGcv-U7.js.map → 5.js-BZoY_6WN.js.map} +1 -1
- package/build/server/chunks/nodes/{6.js-DfedPr6r.js → 6.js-C7EDrGBk.js} +3 -3
- package/build/server/chunks/nodes/{6.js-DfedPr6r.js.map → 6.js-C7EDrGBk.js.map} +1 -1
- package/build/server/chunks/nodes/{7.js-D6CaHfwd.js → 7.js-Bt0BBWEq.js} +3 -3
- package/build/server/chunks/nodes/{7.js-D6CaHfwd.js.map → 7.js-Bt0BBWEq.js.map} +1 -1
- package/build/server/chunks/nodes/{8.js-C5DLz4it.js → 8.js-D9YU1fpd.js} +3 -3
- package/build/server/chunks/nodes/{8.js-C5DLz4it.js.map → 8.js-D9YU1fpd.js.map} +1 -1
- package/build/server/chunks/nodes/{9.js-Bksndc3V.js → 9.js-D1oquyfg.js} +5 -5
- package/build/server/chunks/nodes/{9.js-Bksndc3V.js.map → 9.js-D1oquyfg.js.map} +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/chunks/BLa-U_gy.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLa-U_gy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BNZDNHpq.js +0 -2
- package/build/client/_app/immutable/chunks/BNZDNHpq.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNZDNHpq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C91vKAqc.js.br +0 -0
- package/build/client/_app/immutable/chunks/C91vKAqc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBlVkCNr.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBlVkCNr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CT99T8r_2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CT99T8r_2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cas_r5Cj2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cas_r5Cj2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D6m5a0OT2.js +0 -1
- package/build/client/_app/immutable/chunks/D6m5a0OT2.js.br +0 -2
- package/build/client/_app/immutable/chunks/D6m5a0OT2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/pYSRzJMP.js.br +0 -0
- package/build/client/_app/immutable/chunks/pYSRzJMP.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.GQmlOOd_.js.br +0 -0
- package/build/client/_app/immutable/entry/app.GQmlOOd_.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.3NYpksfg.js +0 -1
- package/build/client/_app/immutable/entry/start.3NYpksfg.js.br +0 -0
- package/build/client/_app/immutable/entry/start.3NYpksfg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Da2ygAPH.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Da2ygAPH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.C5XqRFlQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.C5XqRFlQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.B0URBchi.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.B0URBchi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.BQQCdbLS.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.BQQCdbLS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.pgcpxj56.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.pgcpxj56.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.SIXYWFzX.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.SIXYWFzX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.Ar6dEz3w.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.Ar6dEz3w.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.Dd1AxZGU.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.Dd1AxZGU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.D3f1Htz1.js.br +0 -3
- package/build/client/_app/immutable/nodes/2.D3f1Htz1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.CfAtIhIQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.CfAtIhIQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.DLe_5KFi.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.DLe_5KFi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/22.CnObDwUV.js.br +0 -0
- package/build/client/_app/immutable/nodes/22.CnObDwUV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.Bt5i_Mi7.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.Bt5i_Mi7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/25.BxMUUxpU.js.br +0 -0
- package/build/client/_app/immutable/nodes/25.BxMUUxpU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.C6_OKS4M.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.C6_OKS4M.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.D3vp5WnX.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.D3vp5WnX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CCH-pM9W.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CCH-pM9W.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.DSWC5S_b.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.DSWC5S_b.js.gz +0 -0
- package/build/client/_app/immutable/nodes/31.BWTgUx9w.js.br +0 -0
- package/build/client/_app/immutable/nodes/31.BWTgUx9w.js.gz +0 -0
- package/build/client/_app/immutable/nodes/33.BLZDo2P4.js.br +0 -0
- package/build/client/_app/immutable/nodes/33.BLZDo2P4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.9Lrvi_FE.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.9Lrvi_FE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DjBPfXJ8.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DjBPfXJ8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DVPq8TUt.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DVPq8TUt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.1-HJk-Oo.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.1-HJk-Oo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CsO4rxYN.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CsO4rxYN.js.gz +0 -0
- package/build/server/chunks/chunks/forms.js-CjvtmFhm.js +0 -2
- package/build/server/chunks/chunks/forms.js-CjvtmFhm.js.map +0 -1
- package/build/server/chunks/chunks/navigation.js-CjvtmFhm.js +0 -2
- package/build/server/chunks/chunks/navigation.js-CjvtmFhm.js.map +0 -1
- package/build/server/chunks/chunks/update-outcome.js-Djn7e2VC.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-QCEcceeo.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/admin/system/update/_server.ts.js"],"sourcesContent":["import { t as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { E as renderThrown, L as actorFrom, l as getErrorReporter, u as getEventSink } from \"../../../../../../chunks/providers.server.js\";\nimport { w as requirePermission } from \"../../../../../../chunks/access.server.js\";\nimport { n as channelTag, r as readChannel, t as checkForUpdate } from \"../../../../../../chunks/updateCheck.server.js\";\nimport { i as updateStatePath, n as startUpdateOutcomeReconciler, r as updateLogPath, t as findDeploymentDir } from \"../../../../../../chunks/selfUpdate.server.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { join } from \"node:path\";\nimport { readFileSync } from \"node:fs\";\nimport { spawn } from \"child_process\";\nimport { join as join$1 } from \"path\";\nimport { readFileSync as readFileSync$1, writeFileSync } from \"fs\";\n//#region src/lib/server/updateRunner.server.ts\n/**\n* Generates the bash the self-update POST route spawns: a tiny daemonizing\n* launcher plus the runner script that actually stops/updates/starts/health-\n* checks the deployment. Split out of the route file because SvelteKit's\n* route-file validator only allows HTTP-verb exports (and `_`-prefixed ones) —\n* these are plain functions the runner-script contract tests import directly.\n*/\nfunction readRuntimeVersion(dir) {\n\ttry {\n\t\tconst pkg = JSON.parse(readFileSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"), \"utf8\"));\n\t\treturn typeof pkg.version === \"string\" ? pkg.version : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction shellQuote(s) {\n\treturn `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\nfunction buildLauncher(runnerScript, logPath, prelude = []) {\n\tconst echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join(\"\\n\");\n\treturn `\nLOGFILE=${shellQuote(logPath)}\nRUNNER=/tmp/selva-update-runner.sh\nmkdir -p \"$(dirname \"$LOGFILE\")\"\n: > \"$LOGFILE\"\n\ncat > \"$RUNNER\" <<'__SELVA_RUNNER_EOF__'\n${runnerScript}\n__SELVA_RUNNER_EOF__\nchmod +x \"$RUNNER\"\n\ntrap '' PIPE\nexec > >(tee --output-error=warn-nopipe -a \"$LOGFILE\" 2>/dev/null) 2>&1\n${echoes}\n\n# Daemonize the runner so PM2's tree-kill of selva-compute can't reach it.\n# setsid puts it in a new session; the trailing & + disown + launcher exit\n# leaves the runner with PPID=1 once we're gone. stdin/stdout/stderr are\n# fully detached from this process (and from selva-compute's pipes).\nsetsid bash \"$RUNNER\" </dev/null >>\"$LOGFILE\" 2>&1 &\nRUNNER_PID=$!\ndisown\necho \"[INFO] Update runner started (PID $RUNNER_PID, log: $LOGFILE)\"\n\n# Small pause so the runner has time to print its first line before SSE\n# closes — otherwise the frontend's first poll might see no progress.\nsleep 1\nexit 0\n`;\n}\nfunction buildNpmRunnerScript(npmArgs, versionBefore, ecosystemPath, tag) {\n\tconst npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n\treturn `#!/bin/bash\nset -o pipefail\nBEFORE=${shellQuote(versionBefore ?? \"\")}\nECOSYSTEM=${shellQuote(ecosystemPath)}\nTAG=${shellQuote(tag)}\n\n# Resolve the deployment-local pm2 explicitly instead of trusting PATH.\n# The runner is re-launched via \\`setsid bash\\` from a tempfile, so it inherits\n# whatever environment the spawning process had. When the update is triggered\n# from the admin UI that happens to include node_modules/.bin; from cron or a\n# bare shell it does not, and every pm2 call below — including the EXIT trap's\n# last-resort restart — fails with \"command not found\" and the app stays dark.\nPM2=\"$(dirname \"$ECOSYSTEM\")/node_modules/.bin/pm2\"\n[ -x \"$PM2\" ] || PM2=pm2\n\n# Waits for selva-compute to leave the transitional 'stopping' state.\n#\n# \\`pm2 stop\\` sends SIGINT and returns without waiting for the process to die.\n# The SvelteKit node adapter then drains in-flight requests before exiting, and\n# PM2 only escalates to SIGKILL after kill_timeout (10s in the scaffolded\n# ecosystem). For that whole window the process table entry has a name and an\n# id but no live pid — \\`pm2 start\\` resolves the name, converts to a restart,\n# finds nothing to restart, and pm2's own table printer crashes on\n# \\`undefined.pm2_env\\`. Polling here keeps the rest of the script out of that\n# window entirely.\n#\n# The drain reliably takes the full timeout when the update was triggered from\n# the admin UI: that page is fed by an SSE stream this very process serves, and\n# an open SSE stream never completes on its own.\n# Prints exactly one word. Callers compare it against 'online' / 'stopping', so\n# a probe that emits two tokens on failure (the inline catch AND a shell\n# fallback both firing) would silently never match either. Node's catch is the\n# single failure path; fd 0 rather than /dev/stdin because the latter isn't a\n# readable pipe everywhere.\napp_status() {\n \"$PM2\" jlist 2>/dev/null | node -e \"\n try {\n const list = JSON.parse(require('fs').readFileSync(0,'utf8'));\n const app = list.find(p => p.name === 'selva-compute');\n process.stdout.write(app ? app.pm2_env.status : 'missing');\n } catch { process.stdout.write('error'); }\n \" 2>/dev/null\n}\n\nwait_until_stopped() {\n for i in $(seq 1 20); do\n STATUS=$(app_status)\n if [ \"$STATUS\" != \"stopping\" ]; then\n return 0\n fi\n echo \"[INFO] selva-compute still draining (attempt $i/20) — waiting for SIGKILL escalation\"\n sleep 1\n done\n echo \"[WARN] selva-compute stuck in 'stopping' after 20s — continuing anyway\"\n return 1\n}\n\n# \\`pm2 start <ecosystem>\\` converts to a restart-by-id when an entry of the same\n# name is already in the table. If that entry is stale the restart fails and no\n# amount of retrying the same command helps — the name has to be dropped first\n# so the start registers a fresh process. Deleting a stopped entry is safe: the\n# ecosystem file is the source of truth for how to bring it back.\nstart_app() {\n if \"$PM2\" start \"$ECOSYSTEM\" --update-env; then\n return 0\n fi\n echo \"[WARN] pm2 start failed — dropping the stale process entry and retrying\"\n \"$PM2\" delete selva-compute >/dev/null 2>&1 || true\n \"$PM2\" start \"$ECOSYSTEM\" --update-env\n}\n\n# Last-resort safety net. If the script exits with the app NOT online for\n# any reason (crash, kill -9, network blip, npm hang past timeout), try to\n# bring it back from ecosystem.config.cjs before exiting. Leaving the app\n# down is the worst possible outcome of an update.\non_exit() {\n CODE=$?\n STATUS=$(app_status)\n # A 'stopping' entry is mid-drain, not down. Restarting it now hits the same\n # dead-id window that brought us here; wait for the entry to settle first.\n if [ \"$STATUS\" = \"stopping\" ]; then\n wait_until_stopped\n STATUS=$(app_status)\n fi\n if [ \"$STATUS\" != \"online\" ]; then\n echo \"[RECOVER] selva-compute is '$STATUS' — starting from ecosystem.config.cjs\"\n start_app >/dev/null 2>&1 || \\\\\n echo \"[RECOVER] pm2 start failed — manual intervention required: cd $(dirname \"$ECOSYSTEM\") && ./node_modules/.bin/pm2 delete selva-compute; ./node_modules/.bin/pm2 start ecosystem.config.cjs\"\n fi\n # Terminal marker: the restarted app's outcome reconciler greps this to turn\n # the run into an audit event (selfUpdate.server.ts). Keep the format stable.\n echo \"[EXIT] code=$CODE\"\n}\ntrap on_exit EXIT\n\n# A killed runner must not look like a finished one.\n#\n# \\`$?\\` inside an EXIT trap reports the last completed command, NOT the signal.\n# When systemd SIGTERMs the whole cgroup, the EXIT trap still runs and records\n# \\`code=0\\` — so deriveOutcome takes the exit-0 success branch and tells the\n# operator \"Updated X → Y. The app is back online.\" while npm never ran and\n# the deployment is unchanged. Catching the signal makes the recorded code\n# truthful; 143/130 are the conventional 128+signal values.\non_signal() {\n SIG=$1\n echo \"[FATAL] KILLED: runner received SIG$SIG before finishing.\"\n echo \"[FATAL] Nothing was installed by this run. If the app is down, recover with:\"\n echo \"[FATAL] cd $(dirname \"$ECOSYSTEM\") && pm2 start ecosystem.config.cjs --update-env\"\n echo \"[FATAL] A systemd-supervised pm2 can do this when 'pm2 update' recycles the daemon.\"\n exit $2\n}\ntrap 'on_signal TERM 143' TERM\ntrap 'on_signal INT 130' INT\ntrap 'on_signal HUP 129' HUP\n\n# ---------------------------------------------------------------------------\n# 1. Pre-flight: skip the whole cycle if there's nothing to install.\n# ---------------------------------------------------------------------------\n# Without this, clicking \"Update\" on an already-current instance triggers a\n# full stop/install/start cycle and a downtime window for no reason.\necho \"[STEP] Checking npm registry for the '$TAG' channel version\"\nLATEST=$(npm view \"@selvajs/selva@$TAG\" version --silent 2>/dev/null || echo \"\")\nif [ -z \"$LATEST\" ]; then\n echo \"[WARN] Could not query npm registry — proceeding with update attempt anyway\"\nelif [ -n \"$BEFORE\" ] && [ \"$LATEST\" = \"$BEFORE\" ]; then\n echo \"[INFO] Already on the '$TAG' channel version ($BEFORE)\"\n echo \"[DONE] Nothing to do\"\n exit 0\nelse\n # May be a forward update OR a revert (target older than installed) — either\n # way the installed version differs from what this channel publishes.\n echo \"[INFO] Target ($TAG): $BEFORE → $LATEST\"\nfi\n\n# ---------------------------------------------------------------------------\n# 1b. Node engine pre-flight — BEFORE any downtime.\n# ---------------------------------------------------------------------------\n# npm only treats an engine mismatch as fatal under engine-strict=true, which\n# no deployment sets. So a release requiring a newer Node installs\n# \"successfully\", pm2 starts, and /api/health returns 200 (it touches nothing\n# Node-version specific) — a false green that skips rollback entirely. Warn\n# here so a CLI-driven run sees it too; the admin UI blocks earlier.\nREQUIRED_NODE=$(npm view \"@selvajs/selva@$TAG\" engines.node --silent 2>/dev/null | tr -d '\"' | tr -d \"'\")\nRUNNING_NODE=$(node -p 'process.versions.node' 2>/dev/null)\nif [ -n \"$REQUIRED_NODE\" ] && [ -n \"$RUNNING_NODE\" ]; then\n # Compare majors only — the ranges we publish are all \\`>=X\\` forms.\n REQ_MAJOR=$(echo \"$REQUIRED_NODE\" | grep -o '[0-9]\\\\+' | head -1)\n RUN_MAJOR=$(echo \"$RUNNING_NODE\" | cut -d. -f1)\n if [ -n \"$REQ_MAJOR\" ] && [ \"$RUN_MAJOR\" -lt \"$REQ_MAJOR\" ] 2>/dev/null; then\n echo \"[WARN] ENGINE_MISMATCH: @selvajs/selva@$LATEST requires Node $REQUIRED_NODE but this host runs v$RUNNING_NODE\"\n echo \"[WARN] npm will install it anyway (engine-strict is off) and the health probe will pass,\"\n echo \"[WARN] but routes using newer Node APIs will fail at request time. Upgrade Node on this host.\"\n fi\nfi\n\n# ---------------------------------------------------------------------------\n# 2. Resync PM2 daemon if its in-memory version drifted from the CLI on disk.\n# ---------------------------------------------------------------------------\n# After a global pm2 upgrade the daemon keeps running its original version\n# while the CLI moves forward. Process commands then talk to a stale daemon\n# and the symptom is \"stop works, start never lands\". \\`pm2 update\\` dumps\n# processes, kills the daemon, respawns on the current CLI, restores the\n# dump. Doing it before we touch anything keeps the rest of the script\n# talking to a coherent daemon.\necho \"[STEP] Checking PM2 daemon/CLI version sync\"\nPING_OUT=$(\"$PM2\" ping 2>&1)\nif echo \"$PING_OUT\" | grep -q \"out-of-date\"; then\n # pm2 prints both versions alongside the warning. Which is newer decides\n # whether \\`pm2 update\\` can help — see the direction check below.\n DAEMON_V=$(echo \"$PING_OUT\" | sed -e 's/\\\\x1b\\\\[[0-9;]*m//g' \\\\\n | grep -i \"In memory PM2 version\" | grep -o '[0-9]\\\\+\\\\.[0-9]\\\\+\\\\.[0-9]\\\\+' | head -1)\n LOCAL_V=$(echo \"$PING_OUT\" | sed -e 's/\\\\x1b\\\\[[0-9;]*m//g' \\\\\n | grep -i \"Local PM2 version\" | grep -o '[0-9]\\\\+\\\\.[0-9]\\\\+\\\\.[0-9]\\\\+' | head -1)\n DAEMON_MAJOR=\\${DAEMON_V%%.*}\n LOCAL_MAJOR=\\${LOCAL_V%%.*}\n\n # A daemon NEWER than the deployment-local CLI means a foreign global pm2 owns\n # it. \\`pm2 update\\` would DOWNGRADE the daemon and feed it a dump it can't read,\n # losing the process table — selva-compute never gets re-registered. That is an\n # operator problem, not something this script can repair, so stop before we\n # take the app down.\n if [ -n \"$DAEMON_MAJOR\" ] && [ -n \"$LOCAL_MAJOR\" ] && [ \"$DAEMON_MAJOR\" -gt \"$LOCAL_MAJOR\" ] 2>/dev/null; then\n echo \"[FATAL] PM2_SKEW: the running daemon (v$DAEMON_V) is NEWER than this deployment's pm2 (v$LOCAL_V).\"\n echo \"[FATAL] A global pm2 owns the daemon. Running 'pm2 update' would downgrade it and drop\"\n echo \"[FATAL] the process table. Resolve manually before updating:\"\n echo \"[FATAL] which -a pm2 && pm2 -v && pm2 ping\"\n echo \"[FATAL] Aborting WITHOUT stopping the app — it is still running.\"\n exit 8\n fi\n\n # Under systemd, \\`pm2 update\\` kills and respawns the daemon. systemd sees its\n # unit's main process die and, with the default KillMode=control-group,\n # SIGTERMs everything in the cgroup — including this runner. setsid escapes\n # PM2's tree-kill but NOT the cgroup, so there is no way to survive it from\n # here; refuse the resync instead of being killed by it.\n if grep -qs 'pm2.*\\\\.service' /proc/self/cgroup 2>/dev/null; then\n echo \"[FATAL] SYSTEMD_PM2: this deployment's PM2 is supervised by systemd, and the daemon\"\n echo \"[FATAL] needs a resync. Running 'pm2 update' here would restart the systemd unit and\"\n echo \"[FATAL] kill this runner mid-update. Resync manually from a shell, then retry:\"\n echo \"[FATAL] cd $(dirname \"$ECOSYSTEM\") && ./node_modules/.bin/pm2 update\"\n echo \"[FATAL] Aborting WITHOUT stopping the app — it is still running.\"\n exit 9\n fi\n\n echo \"[STEP] PM2 daemon is out-of-date — running 'pm2 update' to resync\"\n if ! \"$PM2\" update; then\n echo \"[FATAL] pm2 update failed — aborting before stopping the running app\"\n exit 1\n fi\n echo \"[INFO] PM2 daemon resynced\"\nfi\n\n# ---------------------------------------------------------------------------\n# 3. Stop selva-compute BEFORE npm rewrites build/.\n# ---------------------------------------------------------------------------\n# SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on\n# every request. Letting npm rewrite build/ while the old process still\n# serves traffic means in-flight requests hit ERR_MODULE_NOT_FOUND for chunks\n# whose hash just changed under their feet. Stopping first is a brief\n# downtime window (~1-2s longer than restart-in-place) for a much smaller\n# blast radius.\n#\n# This is also where the SSE connection to the frontend dies — selva-compute\n# IS the SSE server. From here on, the user sees output via the log-file\n# polling fallback in the admin UI, not over SSE.\necho \"[STEP] Stopping selva-compute\"\nif ! \"$PM2\" stop selva-compute; then\n echo \"[WARN] pm2 stop failed — selva-compute may not be running yet. Continuing.\"\nfi\n\n# pm2 stop returns before the process is actually gone. Everything below —\n# npm rewriting build/, then the restart — must happen outside the drain window.\nwait_until_stopped\n\n# ---------------------------------------------------------------------------\n# 4. Run npm update.\n# ---------------------------------------------------------------------------\necho \"[STEP] Updating @selvajs/* packages\"\nif ! ${npmCommand}; then\n echo \"[FATAL] npm update failed — EXIT trap will restart the previous build\"\n exit 1\nfi\n\nAFTER=$(node -e \"try{console.log(require('./node_modules/@selvajs/selva/package.json').version)}catch(e){}\" 2>/dev/null)\necho \"[INFO] New @selvajs/selva: \\${AFTER:-unknown}\"\n\nif [ -n \"$BEFORE\" ] && [ \"$BEFORE\" = \"$AFTER\" ]; then\n echo \"[WARN] No version change ($BEFORE). Your npm cache may be stale.\"\n echo \"[WARN] Recover with:\"\n echo \"[WARN] npm cache clean --force\"\n echo \"[WARN] rm -rf node_modules package-lock.json\"\n echo \"[WARN] npm install --prefer-online\"\nfi\n\n# ---------------------------------------------------------------------------\n# 5. Start selva-compute with the new build.\n# ---------------------------------------------------------------------------\n# Start from ecosystem.config.cjs, NOT \\`pm2 start selva-compute\\` — the latter\n# requires selva-compute to already be in pm2's in-memory process list, which\n# a \\`pm2 update\\` (step 2) isn't guaranteed to preserve.\necho \"[STEP] Starting selva-compute with new build\"\nif ! start_app; then\n echo \"[FATAL] pm2 start failed — investigate with \\\\\\`pm2 logs selva-compute\\\\\\`\"\n exit 2\nfi\n\n# ---------------------------------------------------------------------------\n# 6. Health probe the new process.\n# ---------------------------------------------------------------------------\n# Read PORT from .env the same way scripts/update.sh does, so non-default\n# ports are respected.\nPORT=$(grep \"^PORT=\" .env 2>/dev/null \\\\\n | head -1 \\\\\n | cut -d'=' -f2 \\\\\n | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/^[\"'\"'\"']//' -e 's/[\"'\"'\"']$//' -e 's/[[:space:]]*#.*//')\nPORT=\\${PORT:-3000}\n\necho \"[STEP] Health-probing the new process on port $PORT\"\nHEALTHY=0\nfor i in $(seq 1 15); do\n sleep 2\n CODE=$(curl -sS -o /tmp/selva-health.$$ -w \"%{http_code}\" --max-time 5 \"http://localhost:$PORT/api/health\" 2>/dev/null || echo \"000\")\n if [ \"$CODE\" = \"200\" ]; then\n HEALTHY=1\n echo \"[INFO] Health probe passed after \\${i} attempt(s)\"\n rm -f /tmp/selva-health.$$\n break\n fi\n echo \"[INFO] Probe attempt $i/15: HTTP $CODE — retrying\"\ndone\n\nif [ \"$HEALTHY\" = \"1\" ]; then\n echo \"[DONE] Update complete\"\n exit 0\nfi\n\n# ---------------------------------------------------------------------------\n# 7. Rollback path.\n# ---------------------------------------------------------------------------\necho \"[FATAL] New process failed health check after 30s\"\nif [ -f /tmp/selva-health.$$ ]; then\n echo \"[FATAL] Last response body:\"\n cat /tmp/selva-health.$$\n rm -f /tmp/selva-health.$$\nfi\n\nif [ -z \"$BEFORE\" ]; then\n echo \"[FATAL] No prior version recorded — cannot roll back automatically.\"\n echo \"[FATAL] EXIT trap will attempt to restart the current build anyway.\"\n exit 3\nfi\n\necho \"[STEP] Rolling back @selvajs/selva to $BEFORE\"\n\"$PM2\" stop selva-compute >/dev/null 2>&1 || true\nwait_until_stopped >/dev/null 2>&1\n# Restore @selvajs/cli alongside the runtime: the forward step installs both at\n# the channel tag, so reverting only the runtime leaves a version pair that was\n# never released together.\nif ! npm install --save \"@selvajs/cli@$BEFORE\" \"@selvajs/selva@$BEFORE\"; then\n echo \"[FATAL] Rollback npm install failed — EXIT trap will retry restart.\"\n exit 4\nfi\n\nstart_app || true\nsleep 3\nROLLBACK_CODE=$(curl -sS -o /dev/null -w \"%{http_code}\" --max-time 5 \"http://localhost:$PORT/api/health\" 2>/dev/null || echo \"000\")\nif [ \"$ROLLBACK_CODE\" = \"200\" ]; then\n echo \"[DONE] Rolled back to $BEFORE — previous version is online\"\n exit 5\nfi\n\necho \"[FATAL] Rollback restart also failed health check (HTTP $ROLLBACK_CODE)\"\necho \"[FATAL] Manual recovery required. Check: pm2 logs selva-compute\"\nexit 6\n`;\n}\nfunction npmInstallArgs(channel) {\n\tconst tag = channelTag(channel);\n\treturn [\n\t\t\"install\",\n\t\t\"--save\",\n\t\t\"--prefer-online\",\n\t\t`@selvajs/cli@${tag}`,\n\t\t`@selvajs/selva@${tag}`\n\t];\n}\nfunction detectUpdatePlan(env, channel) {\n\tconst dir = findDeploymentDir(env);\n\treturn dir ? {\n\t\tcwd: dir,\n\t\targs: npmInstallArgs(channel)\n\t} : null;\n}\n//#endregion\n//#region src/routes/api/admin/system/update/+server.ts\nfunction stripAnsi(str) {\n\treturn str.replace(/\\x1B\\[[0-9;]*[mGKHF]/g, \"\");\n}\nvar POST = async ({ locals }) => {\n\trequirePermission(locals, \"instance_admin\");\n\tconst channel = readChannel();\n\tconst plan = detectUpdatePlan(private_env, channel);\n\tif (!plan) return new Response(JSON.stringify({ error: \"Couldn't determine how to update this deployment. Expected node_modules/@selvajs/selva (CLI scaffold) in the cwd or a parent directory.\" }), {\n\t\tstatus: 500,\n\t\theaders: { \"Content-Type\": \"application/json\" }\n\t});\n\tconst versionBefore = readRuntimeVersion(plan.cwd);\n\tconst actorId = locals.ctx ? actorFrom(locals.ctx) : \"system\";\n\tconst pending = {\n\t\tstartedAt: (/* @__PURE__ */ new Date()).toISOString(),\n\t\tactorId,\n\t\tchannel,\n\t\tfromVersion: versionBefore\n\t};\n\ttry {\n\t\twriteFileSync(updateStatePath(plan.cwd), JSON.stringify(pending, null, \"\t\"));\n\t} catch (err) {\n\t\tlocals.log.error(\"Could not persist pending-update state\", {\n\t\t\tcomponent: \"selfUpdate\",\n\t\t\terr: renderThrown(err)\n\t\t});\n\t}\n\tawait getEventSink().emit({\n\t\ttype: \"system.update.started\",\n\t\tchannel,\n\t\tfromVersion: versionBefore,\n\t\tactorId\n\t});\n\tconst stream = new ReadableStream({ start(controller) {\n\t\tconst encoder = new TextEncoder();\n\t\tfunction sendEvent(type, data) {\n\t\t\tconst message = `data: ${JSON.stringify({\n\t\t\t\ttype,\n\t\t\t\t...data\n\t\t\t})}\\n\\n`;\n\t\t\tcontroller.enqueue(encoder.encode(message));\n\t\t}\n\t\ttry {\n\t\t\tconst prelude = [`[INFO] Updating deployment (cwd: ${plan.cwd}, channel: ${channel})`, ...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []];\n\t\t\tconst runnerScript = buildNpmRunnerScript(plan.args, versionBefore, join$1(plan.cwd, \"ecosystem.config.cjs\"), channelTag(channel));\n\t\t\tconst cmd = \"bash\";\n\t\t\tconst args = [\"-c\", buildLauncher(runnerScript, updateLogPath(plan.cwd), prelude)];\n\t\t\tconst localBin = join$1(plan.cwd, \"node_modules\", \".bin\");\n\t\t\tconst child = spawn(cmd, args, {\n\t\t\t\tcwd: plan.cwd,\n\t\t\t\tenv: {\n\t\t\t\t\tPATH: `${localBin}:${process.env.PATH ?? \"\"}`,\n\t\t\t\t\tHOME: process.env.HOME,\n\t\t\t\t\tINSTALL_DIR: plan.cwd\n\t\t\t\t},\n\t\t\t\tdetached: true,\n\t\t\t\tstdio: [\n\t\t\t\t\t\"ignore\",\n\t\t\t\t\t\"pipe\",\n\t\t\t\t\t\"pipe\"\n\t\t\t\t]\n\t\t\t});\n\t\t\tchild.unref();\n\t\t\tstartUpdateOutcomeReconciler({\n\t\t\t\tdeploymentDir: plan.cwd,\n\t\t\t\temit: (e) => getEventSink().emit(e),\n\t\t\t\treport: (err) => getErrorReporter().capture(err, { tags: { origin: \"selfUpdate\" } })\n\t\t\t});\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\ttry {\n\t\t\t\t\tif (child.pid) process.kill(-child.pid, \"SIGTERM\");\n\t\t\t\t} catch {}\n\t\t\t\tsendEvent(\"log\", { data: \"[FATAL] Update timed out after 15 minutes\" });\n\t\t\t\tsendEvent(\"exit\", { code: -1 });\n\t\t\t\tcontroller.close();\n\t\t\t}, 9e5);\n\t\t\tlet restarting = false;\n\t\t\tchild.stdout.on(\"data\", (data) => {\n\t\t\t\tconst lines = data.toString().split(\"\\n\");\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst clean = stripAnsi(line).trim();\n\t\t\t\t\tif (clean) {\n\t\t\t\t\t\tif (!restarting && (clean.includes(\"Applying action stopProcessId\") || clean.includes(\"Applying action restartProcessId\"))) {\n\t\t\t\t\t\t\trestarting = true;\n\t\t\t\t\t\t\tsendEvent(\"restarting\", { data: clean });\n\t\t\t\t\t\t} else sendEvent(\"log\", { data: clean });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tchild.stderr.on(\"data\", (data) => {\n\t\t\t\tconst lines = data.toString().split(\"\\n\");\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst clean = stripAnsi(line).trim();\n\t\t\t\t\tif (clean) sendEvent(\"log\", { data: `[ERROR] ${clean}` });\n\t\t\t\t}\n\t\t\t});\n\t\t\tchild.on(\"close\", (code) => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsendEvent(\"exit\", { code: code ?? -1 });\n\t\t\t\tcontroller.close();\n\t\t\t});\n\t\t\tchild.on(\"error\", (err) => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsendEvent(\"log\", { data: `[FATAL] ${err.message}` });\n\t\t\t\tsendEvent(\"exit\", { code: -1 });\n\t\t\t\tcontroller.close();\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tsendEvent(\"log\", { data: `[FATAL] Failed to spawn process: ${err}` });\n\t\t\tsendEvent(\"exit\", { code: -1 });\n\t\t\tcontroller.close();\n\t\t}\n\t} });\n\treturn new Response(stream, { headers: {\n\t\t\"Content-Type\": \"text/event-stream\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\tConnection: \"keep-alive\"\n\t} });\n};\nvar GET = async ({ locals, url, fetch }) => {\n\trequirePermission(locals, \"instance_admin\");\n\tif (url.searchParams.get(\"check\") !== null) return json(await checkForUpdate(fetch, readChannel()), { headers: { \"Cache-Control\": \"no-store\" } });\n\tlet body = \"\";\n\ttry {\n\t\tbody = readFileSync$1(updateLogPath(findDeploymentDir(private_env)), \"utf8\");\n\t} catch {}\n\treturn new Response(body, { headers: {\n\t\t\"Content-Type\": \"text/plain; charset=utf-8\",\n\t\t\"Cache-Control\": \"no-store\"\n\t} });\n};\n//#endregion\nexport { GET, POST };\n"],"names":["readFileSync","join","join$1","readFileSync$1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAACA,cAAY,CAACC,MAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9G,EAAE,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AAC/D,CAAC,CAAC,CAAC,MAAM;AACT,EAAE;AACF,CAAC;AACD;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC;AACA,SAAS,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE;AAC5D,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5E,CAAC,OAAO;AACR,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC;AAC7B;AACA;AACA;;AAEA;AACA,EAAE,YAAY;AACd;AACA;;AAEA;AACA;AACA,EAAE,MAAM;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE;AAC1E,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC,OAAO,CAAC;AACT;AACA,OAAO,EAAE,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AACxC,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC;AACrC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,EAAE,UAAU,CAAC;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AA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"}
|
|
1
|
+
{"version":3,"file":"_server.ts.js-BPM7_gnV.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/admin/system/update/_server.ts.js"],"sourcesContent":["import { t as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { E as renderThrown, L as actorFrom, l as getErrorReporter, u as getEventSink } from \"../../../../../../chunks/providers.server.js\";\nimport { w as requirePermission } from \"../../../../../../chunks/access.server.js\";\nimport { n as channelTag, r as readChannel, t as checkForUpdate } from \"../../../../../../chunks/updateCheck.server.js\";\nimport { i as updateStatePath, n as startUpdateOutcomeReconciler, r as updateLogPath, t as findDeploymentDir } from \"../../../../../../chunks/selfUpdate.server.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { join } from \"node:path\";\nimport { readFileSync } from \"node:fs\";\nimport { spawn } from \"child_process\";\nimport { join as join$1 } from \"path\";\nimport { readFileSync as readFileSync$1, writeFileSync } from \"fs\";\n//#region src/lib/server/updateRunner.server.ts\n/**\n* Generates the bash the self-update POST route spawns: a tiny daemonizing\n* launcher plus the runner script that actually stops/updates/starts/health-\n* checks the deployment. Split out of the route file because SvelteKit's\n* route-file validator only allows HTTP-verb exports (and `_`-prefixed ones) —\n* these are plain functions the runner-script contract tests import directly.\n*/\nfunction readRuntimeVersion(dir) {\n\ttry {\n\t\tconst pkg = JSON.parse(readFileSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"), \"utf8\"));\n\t\treturn typeof pkg.version === \"string\" ? pkg.version : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction shellQuote(s) {\n\treturn `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\nfunction buildLauncher(runnerScript, logPath, prelude = []) {\n\tconst echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join(\"\\n\");\n\treturn `\nLOGFILE=${shellQuote(logPath)}\nRUNNER=/tmp/selva-update-runner.sh\nmkdir -p \"$(dirname \"$LOGFILE\")\"\n: > \"$LOGFILE\"\n\ncat > \"$RUNNER\" <<'__SELVA_RUNNER_EOF__'\n${runnerScript}\n__SELVA_RUNNER_EOF__\nchmod +x \"$RUNNER\"\n\ntrap '' PIPE\nexec > >(tee --output-error=warn-nopipe -a \"$LOGFILE\" 2>/dev/null) 2>&1\n${echoes}\n\n# Daemonize the runner so PM2's tree-kill of selva-compute can't reach it.\n# setsid puts it in a new session; the trailing & + disown + launcher exit\n# leaves the runner with PPID=1 once we're gone. stdin/stdout/stderr are\n# fully detached from this process (and from selva-compute's pipes).\nsetsid bash \"$RUNNER\" </dev/null >>\"$LOGFILE\" 2>&1 &\nRUNNER_PID=$!\ndisown\necho \"[INFO] Update runner started (PID $RUNNER_PID, log: $LOGFILE)\"\n\n# Small pause so the runner has time to print its first line before SSE\n# closes — otherwise the frontend's first poll might see no progress.\nsleep 1\nexit 0\n`;\n}\nfunction buildNpmRunnerScript(npmArgs, versionBefore, ecosystemPath, tag) {\n\tconst npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n\treturn `#!/bin/bash\nset -o pipefail\nBEFORE=${shellQuote(versionBefore ?? \"\")}\nECOSYSTEM=${shellQuote(ecosystemPath)}\nTAG=${shellQuote(tag)}\n\n# Resolve the deployment-local pm2 explicitly instead of trusting PATH.\n# The runner is re-launched via \\`setsid bash\\` from a tempfile, so it inherits\n# whatever environment the spawning process had. When the update is triggered\n# from the admin UI that happens to include node_modules/.bin; from cron or a\n# bare shell it does not, and every pm2 call below — including the EXIT trap's\n# last-resort restart — fails with \"command not found\" and the app stays dark.\nPM2=\"$(dirname \"$ECOSYSTEM\")/node_modules/.bin/pm2\"\n[ -x \"$PM2\" ] || PM2=pm2\n\n# Waits for selva-compute to leave the transitional 'stopping' state.\n#\n# \\`pm2 stop\\` sends SIGINT and returns without waiting for the process to die.\n# The SvelteKit node adapter then drains in-flight requests before exiting, and\n# PM2 only escalates to SIGKILL after kill_timeout (10s in the scaffolded\n# ecosystem). For that whole window the process table entry has a name and an\n# id but no live pid — \\`pm2 start\\` resolves the name, converts to a restart,\n# finds nothing to restart, and pm2's own table printer crashes on\n# \\`undefined.pm2_env\\`. Polling here keeps the rest of the script out of that\n# window entirely.\n#\n# The drain reliably takes the full timeout when the update was triggered from\n# the admin UI: that page is fed by an SSE stream this very process serves, and\n# an open SSE stream never completes on its own.\n# Prints exactly one word. Callers compare it against 'online' / 'stopping', so\n# a probe that emits two tokens on failure (the inline catch AND a shell\n# fallback both firing) would silently never match either. Node's catch is the\n# single failure path; fd 0 rather than /dev/stdin because the latter isn't a\n# readable pipe everywhere.\napp_status() {\n \"$PM2\" jlist 2>/dev/null | node -e \"\n try {\n const list = JSON.parse(require('fs').readFileSync(0,'utf8'));\n const app = list.find(p => p.name === 'selva-compute');\n process.stdout.write(app ? app.pm2_env.status : 'missing');\n } catch { process.stdout.write('error'); }\n \" 2>/dev/null\n}\n\nwait_until_stopped() {\n for i in $(seq 1 20); do\n STATUS=$(app_status)\n if [ \"$STATUS\" != \"stopping\" ]; then\n return 0\n fi\n echo \"[INFO] selva-compute still draining (attempt $i/20) — waiting for SIGKILL escalation\"\n sleep 1\n done\n echo \"[WARN] selva-compute stuck in 'stopping' after 20s — continuing anyway\"\n return 1\n}\n\n# \\`pm2 start <ecosystem>\\` converts to a restart-by-id when an entry of the same\n# name is already in the table. If that entry is stale the restart fails and no\n# amount of retrying the same command helps — the name has to be dropped first\n# so the start registers a fresh process. Deleting a stopped entry is safe: the\n# ecosystem file is the source of truth for how to bring it back.\nstart_app() {\n if \"$PM2\" start \"$ECOSYSTEM\" --update-env; then\n return 0\n fi\n echo \"[WARN] pm2 start failed — dropping the stale process entry and retrying\"\n \"$PM2\" delete selva-compute >/dev/null 2>&1 || true\n \"$PM2\" start \"$ECOSYSTEM\" --update-env\n}\n\n# Last-resort safety net. If the script exits with the app NOT online for\n# any reason (crash, kill -9, network blip, npm hang past timeout), try to\n# bring it back from ecosystem.config.cjs before exiting. Leaving the app\n# down is the worst possible outcome of an update.\non_exit() {\n CODE=$?\n STATUS=$(app_status)\n # A 'stopping' entry is mid-drain, not down. Restarting it now hits the same\n # dead-id window that brought us here; wait for the entry to settle first.\n if [ \"$STATUS\" = \"stopping\" ]; then\n wait_until_stopped\n STATUS=$(app_status)\n fi\n if [ \"$STATUS\" != \"online\" ]; then\n echo \"[RECOVER] selva-compute is '$STATUS' — starting from ecosystem.config.cjs\"\n start_app >/dev/null 2>&1 || \\\\\n echo \"[RECOVER] pm2 start failed — manual intervention required: cd $(dirname \"$ECOSYSTEM\") && ./node_modules/.bin/pm2 delete selva-compute; ./node_modules/.bin/pm2 start ecosystem.config.cjs\"\n fi\n # Terminal marker: the restarted app's outcome reconciler greps this to turn\n # the run into an audit event (selfUpdate.server.ts). Keep the format stable.\n echo \"[EXIT] code=$CODE\"\n}\ntrap on_exit EXIT\n\n# A killed runner must not look like a finished one.\n#\n# \\`$?\\` inside an EXIT trap reports the last completed command, NOT the signal.\n# When systemd SIGTERMs the whole cgroup, the EXIT trap still runs and records\n# \\`code=0\\` — so deriveOutcome takes the exit-0 success branch and tells the\n# operator \"Updated X → Y. The app is back online.\" while npm never ran and\n# the deployment is unchanged. Catching the signal makes the recorded code\n# truthful; 143/130 are the conventional 128+signal values.\non_signal() {\n SIG=$1\n echo \"[FATAL] KILLED: runner received SIG$SIG before finishing.\"\n echo \"[FATAL] Nothing was installed by this run. If the app is down, recover with:\"\n echo \"[FATAL] cd $(dirname \"$ECOSYSTEM\") && pm2 start ecosystem.config.cjs --update-env\"\n echo \"[FATAL] A systemd-supervised pm2 can do this when 'pm2 update' recycles the daemon.\"\n exit $2\n}\ntrap 'on_signal TERM 143' TERM\ntrap 'on_signal INT 130' INT\ntrap 'on_signal HUP 129' HUP\n\n# ---------------------------------------------------------------------------\n# 1. Pre-flight: skip the whole cycle if there's nothing to install.\n# ---------------------------------------------------------------------------\n# Without this, clicking \"Update\" on an already-current instance triggers a\n# full stop/install/start cycle and a downtime window for no reason.\necho \"[STEP] Checking npm registry for the '$TAG' channel version\"\nLATEST=$(npm view \"@selvajs/selva@$TAG\" version --silent 2>/dev/null || echo \"\")\nif [ -z \"$LATEST\" ]; then\n echo \"[WARN] Could not query npm registry — proceeding with update attempt anyway\"\nelif [ -n \"$BEFORE\" ] && [ \"$LATEST\" = \"$BEFORE\" ]; then\n echo \"[INFO] Already on the '$TAG' channel version ($BEFORE)\"\n echo \"[DONE] Nothing to do\"\n exit 0\nelse\n # May be a forward update OR a revert (target older than installed) — either\n # way the installed version differs from what this channel publishes.\n echo \"[INFO] Target ($TAG): $BEFORE → $LATEST\"\nfi\n\n# ---------------------------------------------------------------------------\n# 1b. Node engine pre-flight — BEFORE any downtime.\n# ---------------------------------------------------------------------------\n# npm only treats an engine mismatch as fatal under engine-strict=true, which\n# no deployment sets. So a release requiring a newer Node installs\n# \"successfully\", pm2 starts, and /api/health returns 200 (it touches nothing\n# Node-version specific) — a false green that skips rollback entirely. Warn\n# here so a CLI-driven run sees it too; the admin UI blocks earlier.\nREQUIRED_NODE=$(npm view \"@selvajs/selva@$TAG\" engines.node --silent 2>/dev/null | tr -d '\"' | tr -d \"'\")\nRUNNING_NODE=$(node -p 'process.versions.node' 2>/dev/null)\nif [ -n \"$REQUIRED_NODE\" ] && [ -n \"$RUNNING_NODE\" ]; then\n # Compare majors only — the ranges we publish are all \\`>=X\\` forms.\n REQ_MAJOR=$(echo \"$REQUIRED_NODE\" | grep -o '[0-9]\\\\+' | head -1)\n RUN_MAJOR=$(echo \"$RUNNING_NODE\" | cut -d. -f1)\n if [ -n \"$REQ_MAJOR\" ] && [ \"$RUN_MAJOR\" -lt \"$REQ_MAJOR\" ] 2>/dev/null; then\n echo \"[WARN] ENGINE_MISMATCH: @selvajs/selva@$LATEST requires Node $REQUIRED_NODE but this host runs v$RUNNING_NODE\"\n echo \"[WARN] npm will install it anyway (engine-strict is off) and the health probe will pass,\"\n echo \"[WARN] but routes using newer Node APIs will fail at request time. Upgrade Node on this host.\"\n fi\nfi\n\n# ---------------------------------------------------------------------------\n# 2. Resync PM2 daemon if its in-memory version drifted from the CLI on disk.\n# ---------------------------------------------------------------------------\n# After a global pm2 upgrade the daemon keeps running its original version\n# while the CLI moves forward. Process commands then talk to a stale daemon\n# and the symptom is \"stop works, start never lands\". \\`pm2 update\\` dumps\n# processes, kills the daemon, respawns on the current CLI, restores the\n# dump. Doing it before we touch anything keeps the rest of the script\n# talking to a coherent daemon.\necho \"[STEP] Checking PM2 daemon/CLI version sync\"\nPING_OUT=$(\"$PM2\" ping 2>&1)\nif echo \"$PING_OUT\" | grep -q \"out-of-date\"; then\n # pm2 prints both versions alongside the warning. Which is newer decides\n # whether \\`pm2 update\\` can help — see the direction check below.\n DAEMON_V=$(echo \"$PING_OUT\" | sed -e 's/\\\\x1b\\\\[[0-9;]*m//g' \\\\\n | grep -i \"In memory PM2 version\" | grep -o '[0-9]\\\\+\\\\.[0-9]\\\\+\\\\.[0-9]\\\\+' | head -1)\n LOCAL_V=$(echo \"$PING_OUT\" | sed -e 's/\\\\x1b\\\\[[0-9;]*m//g' \\\\\n | grep -i \"Local PM2 version\" | grep -o '[0-9]\\\\+\\\\.[0-9]\\\\+\\\\.[0-9]\\\\+' | head -1)\n DAEMON_MAJOR=\\${DAEMON_V%%.*}\n LOCAL_MAJOR=\\${LOCAL_V%%.*}\n\n # A daemon NEWER than the deployment-local CLI means a foreign global pm2 owns\n # it. \\`pm2 update\\` would DOWNGRADE the daemon and feed it a dump it can't read,\n # losing the process table — selva-compute never gets re-registered. That is an\n # operator problem, not something this script can repair, so stop before we\n # take the app down.\n if [ -n \"$DAEMON_MAJOR\" ] && [ -n \"$LOCAL_MAJOR\" ] && [ \"$DAEMON_MAJOR\" -gt \"$LOCAL_MAJOR\" ] 2>/dev/null; then\n echo \"[FATAL] PM2_SKEW: the running daemon (v$DAEMON_V) is NEWER than this deployment's pm2 (v$LOCAL_V).\"\n echo \"[FATAL] A global pm2 owns the daemon. Running 'pm2 update' would downgrade it and drop\"\n echo \"[FATAL] the process table. Resolve manually before updating:\"\n echo \"[FATAL] which -a pm2 && pm2 -v && pm2 ping\"\n echo \"[FATAL] Aborting WITHOUT stopping the app — it is still running.\"\n exit 8\n fi\n\n # Under systemd, \\`pm2 update\\` kills and respawns the daemon. systemd sees its\n # unit's main process die and, with the default KillMode=control-group,\n # SIGTERMs everything in the cgroup — including this runner. setsid escapes\n # PM2's tree-kill but NOT the cgroup, so there is no way to survive it from\n # here; refuse the resync instead of being killed by it.\n if grep -qs 'pm2.*\\\\.service' /proc/self/cgroup 2>/dev/null; then\n echo \"[FATAL] SYSTEMD_PM2: this deployment's PM2 is supervised by systemd, and the daemon\"\n echo \"[FATAL] needs a resync. Running 'pm2 update' here would restart the systemd unit and\"\n echo \"[FATAL] kill this runner mid-update. Resync manually from a shell, then retry:\"\n echo \"[FATAL] cd $(dirname \"$ECOSYSTEM\") && ./node_modules/.bin/pm2 update\"\n echo \"[FATAL] Aborting WITHOUT stopping the app — it is still running.\"\n exit 9\n fi\n\n echo \"[STEP] PM2 daemon is out-of-date — running 'pm2 update' to resync\"\n if ! \"$PM2\" update; then\n echo \"[FATAL] pm2 update failed — aborting before stopping the running app\"\n exit 1\n fi\n echo \"[INFO] PM2 daemon resynced\"\nfi\n\n# ---------------------------------------------------------------------------\n# 3. Stop selva-compute BEFORE npm rewrites build/.\n# ---------------------------------------------------------------------------\n# SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on\n# every request. Letting npm rewrite build/ while the old process still\n# serves traffic means in-flight requests hit ERR_MODULE_NOT_FOUND for chunks\n# whose hash just changed under their feet. Stopping first is a brief\n# downtime window (~1-2s longer than restart-in-place) for a much smaller\n# blast radius.\n#\n# This is also where the SSE connection to the frontend dies — selva-compute\n# IS the SSE server. From here on, the user sees output via the log-file\n# polling fallback in the admin UI, not over SSE.\necho \"[STEP] Stopping selva-compute\"\nif ! \"$PM2\" stop selva-compute; then\n echo \"[WARN] pm2 stop failed — selva-compute may not be running yet. Continuing.\"\nfi\n\n# pm2 stop returns before the process is actually gone. Everything below —\n# npm rewriting build/, then the restart — must happen outside the drain window.\nwait_until_stopped\n\n# ---------------------------------------------------------------------------\n# 4. Run npm update.\n# ---------------------------------------------------------------------------\necho \"[STEP] Updating @selvajs/* packages\"\nif ! ${npmCommand}; then\n echo \"[FATAL] npm update failed — EXIT trap will restart the previous build\"\n exit 1\nfi\n\nAFTER=$(node -e \"try{console.log(require('./node_modules/@selvajs/selva/package.json').version)}catch(e){}\" 2>/dev/null)\necho \"[INFO] New @selvajs/selva: \\${AFTER:-unknown}\"\n\nif [ -n \"$BEFORE\" ] && [ \"$BEFORE\" = \"$AFTER\" ]; then\n echo \"[WARN] No version change ($BEFORE). Your npm cache may be stale.\"\n echo \"[WARN] Recover with:\"\n echo \"[WARN] npm cache clean --force\"\n echo \"[WARN] rm -rf node_modules package-lock.json\"\n echo \"[WARN] npm install --prefer-online\"\nfi\n\n# ---------------------------------------------------------------------------\n# 5. Start selva-compute with the new build.\n# ---------------------------------------------------------------------------\n# Start from ecosystem.config.cjs, NOT \\`pm2 start selva-compute\\` — the latter\n# requires selva-compute to already be in pm2's in-memory process list, which\n# a \\`pm2 update\\` (step 2) isn't guaranteed to preserve.\necho \"[STEP] Starting selva-compute with new build\"\nif ! start_app; then\n echo \"[FATAL] pm2 start failed — investigate with \\\\\\`pm2 logs selva-compute\\\\\\`\"\n exit 2\nfi\n\n# ---------------------------------------------------------------------------\n# 6. Health probe the new process.\n# ---------------------------------------------------------------------------\n# Read PORT from .env the same way scripts/update.sh does, so non-default\n# ports are respected.\nPORT=$(grep \"^PORT=\" .env 2>/dev/null \\\\\n | head -1 \\\\\n | cut -d'=' -f2 \\\\\n | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e 's/^[\"'\"'\"']//' -e 's/[\"'\"'\"']$//' -e 's/[[:space:]]*#.*//')\nPORT=\\${PORT:-3000}\n\necho \"[STEP] Health-probing the new process on port $PORT\"\nHEALTHY=0\nfor i in $(seq 1 15); do\n sleep 2\n CODE=$(curl -sS -o /tmp/selva-health.$$ -w \"%{http_code}\" --max-time 5 \"http://localhost:$PORT/api/health\" 2>/dev/null || echo \"000\")\n if [ \"$CODE\" = \"200\" ]; then\n HEALTHY=1\n echo \"[INFO] Health probe passed after \\${i} attempt(s)\"\n rm -f /tmp/selva-health.$$\n break\n fi\n echo \"[INFO] Probe attempt $i/15: HTTP $CODE — retrying\"\ndone\n\nif [ \"$HEALTHY\" = \"1\" ]; then\n echo \"[DONE] Update complete\"\n exit 0\nfi\n\n# ---------------------------------------------------------------------------\n# 7. Rollback path.\n# ---------------------------------------------------------------------------\necho \"[FATAL] New process failed health check after 30s\"\nif [ -f /tmp/selva-health.$$ ]; then\n BODY=$(cat /tmp/selva-health.$$)\n echo \"[FATAL] Last response body:\"\n echo \"$BODY\"\n\n # Name the cause before rolling back. /api/health reports WHY it is degraded\n # in a structured body, but a rollback that only prints raw JSON reads to an\n # operator as \"the update just failed\" — they retry, hit the identical\n # failure, and never learn the database is the thing that needs attention.\n # Each branch below emits a stable marker deriveOutcome keys on.\n # Match on the keys unique to each report rather than a bare \\`\"ok\":false\\`,\n # which appears in whichever sub-report failed and would misattribute one\n # cause to the other. \\`expected\\` only ever appears in schemaVersion;\n # \\`plaintextFound\\`/\\`failures\\` only in atRestSecrets.\n if echo \"$BODY\" | grep -q '\"expected\":'; then\n EXPECTED=$(echo \"$BODY\" | grep -o '\"expected\":\"[^\"]*\"' | head -1 | cut -d'\"' -f4)\n ACTUAL=$(echo \"$BODY\" | grep -o '\"actual\":\"[^\"]*\"' | head -1 | cut -d'\"' -f4)\n echo \"[FATAL] SCHEMA_SKEW: @selvajs/selva@\\${AFTER:-$LATEST} expects database migration head \\${EXPECTED:-(unknown)},\"\n echo \"[FATAL] but this database is at \\${ACTUAL:-(unavailable)}. The new version is fine — its migrations\"\n echo \"[FATAL] were never applied. Retrying the update WILL fail again in exactly the same way.\"\n echo \"[FATAL] The update does not apply migrations itself: they are not reversible, so an\"\n echo \"[FATAL] auto-migrate followed by a rollback would leave code and database on different heads.\"\n echo \"[FATAL] Apply them yourself, then re-run the update:\"\n echo \"[FATAL] cd $(dirname \"$ECOSYSTEM\")\"\n echo \"[FATAL] npx @selvajs/supabase-provider sync-migrations\"\n echo \"[FATAL] npx supabase db push\"\n elif echo \"$BODY\" | grep -qE '\"plaintextFound\":true|\"failures\":\\\\[[^]]'; then\n echo \"[FATAL] AT_REST_SECRETS: stored compute server API keys could not be decrypted under the\"\n echo \"[FATAL] current SELVA_AT_REST_KEY. This is a configuration problem on this host, not a\"\n echo \"[FATAL] fault in the new version — retrying the update will fail the same way.\"\n echo \"[FATAL] Re-enter the affected keys at /admin/compute, or restore the original\"\n echo \"[FATAL] SELVA_AT_REST_KEY, then re-run the update.\"\n else\n echo \"[FATAL] The health endpoint did not report a known cause. Inspect the body above and\"\n echo \"[FATAL] \\\\\\`pm2 logs selva-compute\\\\\\` for what the new version failed on.\"\n fi\n\n rm -f /tmp/selva-health.$$\nfi\n\nif [ -z \"$BEFORE\" ]; then\n echo \"[FATAL] No prior version recorded — cannot roll back automatically.\"\n echo \"[FATAL] EXIT trap will attempt to restart the current build anyway.\"\n exit 3\nfi\n\necho \"[STEP] Rolling back @selvajs/selva to $BEFORE\"\n\"$PM2\" stop selva-compute >/dev/null 2>&1 || true\nwait_until_stopped >/dev/null 2>&1\n# Restore @selvajs/cli alongside the runtime: the forward step installs both at\n# the channel tag, so reverting only the runtime leaves a version pair that was\n# never released together.\nif ! npm install --save \"@selvajs/cli@$BEFORE\" \"@selvajs/selva@$BEFORE\"; then\n echo \"[FATAL] Rollback npm install failed — EXIT trap will retry restart.\"\n exit 4\nfi\n\nstart_app || true\nsleep 3\nROLLBACK_CODE=$(curl -sS -o /dev/null -w \"%{http_code}\" --max-time 5 \"http://localhost:$PORT/api/health\" 2>/dev/null || echo \"000\")\nif [ \"$ROLLBACK_CODE\" = \"200\" ]; then\n echo \"[DONE] Rolled back to $BEFORE — previous version is online\"\n exit 5\nfi\n\necho \"[FATAL] Rollback restart also failed health check (HTTP $ROLLBACK_CODE)\"\necho \"[FATAL] Manual recovery required. Check: pm2 logs selva-compute\"\nexit 6\n`;\n}\nfunction npmInstallArgs(channel) {\n\tconst tag = channelTag(channel);\n\treturn [\n\t\t\"install\",\n\t\t\"--save\",\n\t\t\"--prefer-online\",\n\t\t`@selvajs/cli@${tag}`,\n\t\t`@selvajs/selva@${tag}`\n\t];\n}\nfunction detectUpdatePlan(env, channel) {\n\tconst dir = findDeploymentDir(env);\n\treturn dir ? {\n\t\tcwd: dir,\n\t\targs: npmInstallArgs(channel)\n\t} : null;\n}\n//#endregion\n//#region src/routes/api/admin/system/update/+server.ts\nfunction stripAnsi(str) {\n\treturn str.replace(/\\x1B\\[[0-9;]*[mGKHF]/g, \"\");\n}\nvar POST = async ({ locals }) => {\n\trequirePermission(locals, \"instance_admin\");\n\tconst channel = readChannel();\n\tconst plan = detectUpdatePlan(private_env, channel);\n\tif (!plan) return new Response(JSON.stringify({ error: \"Couldn't determine how to update this deployment. Expected node_modules/@selvajs/selva (CLI scaffold) in the cwd or a parent directory.\" }), {\n\t\tstatus: 500,\n\t\theaders: { \"Content-Type\": \"application/json\" }\n\t});\n\tconst versionBefore = readRuntimeVersion(plan.cwd);\n\tconst actorId = locals.ctx ? actorFrom(locals.ctx) : \"system\";\n\tconst pending = {\n\t\tstartedAt: (/* @__PURE__ */ new Date()).toISOString(),\n\t\tactorId,\n\t\tchannel,\n\t\tfromVersion: versionBefore\n\t};\n\ttry {\n\t\twriteFileSync(updateStatePath(plan.cwd), JSON.stringify(pending, null, \"\t\"));\n\t} catch (err) {\n\t\tlocals.log.error(\"Could not persist pending-update state\", {\n\t\t\tcomponent: \"selfUpdate\",\n\t\t\terr: renderThrown(err)\n\t\t});\n\t}\n\tawait getEventSink().emit({\n\t\ttype: \"system.update.started\",\n\t\tchannel,\n\t\tfromVersion: versionBefore,\n\t\tactorId\n\t});\n\tconst stream = new ReadableStream({ start(controller) {\n\t\tconst encoder = new TextEncoder();\n\t\tfunction sendEvent(type, data) {\n\t\t\tconst message = `data: ${JSON.stringify({\n\t\t\t\ttype,\n\t\t\t\t...data\n\t\t\t})}\\n\\n`;\n\t\t\tcontroller.enqueue(encoder.encode(message));\n\t\t}\n\t\ttry {\n\t\t\tconst prelude = [`[INFO] Updating deployment (cwd: ${plan.cwd}, channel: ${channel})`, ...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []];\n\t\t\tconst runnerScript = buildNpmRunnerScript(plan.args, versionBefore, join$1(plan.cwd, \"ecosystem.config.cjs\"), channelTag(channel));\n\t\t\tconst cmd = \"bash\";\n\t\t\tconst args = [\"-c\", buildLauncher(runnerScript, updateLogPath(plan.cwd), prelude)];\n\t\t\tconst localBin = join$1(plan.cwd, \"node_modules\", \".bin\");\n\t\t\tconst child = spawn(cmd, args, {\n\t\t\t\tcwd: plan.cwd,\n\t\t\t\tenv: {\n\t\t\t\t\tPATH: `${localBin}:${process.env.PATH ?? \"\"}`,\n\t\t\t\t\tHOME: process.env.HOME,\n\t\t\t\t\tINSTALL_DIR: plan.cwd\n\t\t\t\t},\n\t\t\t\tdetached: true,\n\t\t\t\tstdio: [\n\t\t\t\t\t\"ignore\",\n\t\t\t\t\t\"pipe\",\n\t\t\t\t\t\"pipe\"\n\t\t\t\t]\n\t\t\t});\n\t\t\tchild.unref();\n\t\t\tstartUpdateOutcomeReconciler({\n\t\t\t\tdeploymentDir: plan.cwd,\n\t\t\t\temit: (e) => getEventSink().emit(e),\n\t\t\t\treport: (err) => getErrorReporter().capture(err, { tags: { origin: \"selfUpdate\" } })\n\t\t\t});\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\ttry {\n\t\t\t\t\tif (child.pid) process.kill(-child.pid, \"SIGTERM\");\n\t\t\t\t} catch {}\n\t\t\t\tsendEvent(\"log\", { data: \"[FATAL] Update timed out after 15 minutes\" });\n\t\t\t\tsendEvent(\"exit\", { code: -1 });\n\t\t\t\tcontroller.close();\n\t\t\t}, 9e5);\n\t\t\tlet restarting = false;\n\t\t\tchild.stdout.on(\"data\", (data) => {\n\t\t\t\tconst lines = data.toString().split(\"\\n\");\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst clean = stripAnsi(line).trim();\n\t\t\t\t\tif (clean) {\n\t\t\t\t\t\tif (!restarting && (clean.includes(\"Applying action stopProcessId\") || clean.includes(\"Applying action restartProcessId\"))) {\n\t\t\t\t\t\t\trestarting = true;\n\t\t\t\t\t\t\tsendEvent(\"restarting\", { data: clean });\n\t\t\t\t\t\t} else sendEvent(\"log\", { data: clean });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tchild.stderr.on(\"data\", (data) => {\n\t\t\t\tconst lines = data.toString().split(\"\\n\");\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst clean = stripAnsi(line).trim();\n\t\t\t\t\tif (clean) sendEvent(\"log\", { data: `[ERROR] ${clean}` });\n\t\t\t\t}\n\t\t\t});\n\t\t\tchild.on(\"close\", (code) => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsendEvent(\"exit\", { code: code ?? -1 });\n\t\t\t\tcontroller.close();\n\t\t\t});\n\t\t\tchild.on(\"error\", (err) => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsendEvent(\"log\", { data: `[FATAL] ${err.message}` });\n\t\t\t\tsendEvent(\"exit\", { code: -1 });\n\t\t\t\tcontroller.close();\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tsendEvent(\"log\", { data: `[FATAL] Failed to spawn process: ${err}` });\n\t\t\tsendEvent(\"exit\", { code: -1 });\n\t\t\tcontroller.close();\n\t\t}\n\t} });\n\treturn new Response(stream, { headers: {\n\t\t\"Content-Type\": \"text/event-stream\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\tConnection: \"keep-alive\"\n\t} });\n};\nvar GET = async ({ locals, url, fetch }) => {\n\trequirePermission(locals, \"instance_admin\");\n\tif (url.searchParams.get(\"check\") !== null) return json(await checkForUpdate(fetch, readChannel()), { headers: { \"Cache-Control\": \"no-store\" } });\n\tlet body = \"\";\n\ttry {\n\t\tbody = readFileSync$1(updateLogPath(findDeploymentDir(private_env)), \"utf8\");\n\t} catch {}\n\treturn new Response(body, { headers: {\n\t\t\"Content-Type\": \"text/plain; charset=utf-8\",\n\t\t\"Cache-Control\": \"no-store\"\n\t} });\n};\n//#endregion\nexport { GET, POST };\n"],"names":["readFileSync","join","join$1","readFileSync$1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAACA,cAAY,CAACC,MAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9G,EAAE,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AAC/D,CAAC,CAAC,CAAC,MAAM;AACT,EAAE;AACF,CAAC;AACD;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC;AACA,SAAS,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE;AAC5D,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5E,CAAC,OAAO;AACR,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC;AAC7B;AACA;AACA;;AAEA;AACA,EAAE,YAAY;AACd;AACA;;AAEA;AACA;AACA,EAAE,MAAM;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE;AAC1E,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC,OAAO,CAAC;AACT;AACA,OAAO,EAAE,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AACxC,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC;AACrC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,EAAE,UAAU,CAAC;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC;AAChC,CAAC,OAAO;AACR,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,EAAE,iBAAiB;AACnB,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACvB,EAAE,CAAC,eAAe,EAAE,GAAG,CAAC;AACxB,EAAE;AACF;AACA,SAAS,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE;AACxC,CAAC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC;AACnC,CAAC,OAAO,GAAG,GAAG;AACd,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO;AAC9B,EAAE,GAAG,IAAI;AACT;AACA;AACA;AACA,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;AAChD;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACjC,CAAC,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC5C,CAAC,MA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"}
|
package/build/server/chunks/entries/{hooks.server.js-CMVIHzYs.js → hooks.server.js-DkaJFT25.js}
RENAMED
|
@@ -2,7 +2,7 @@ import { b as private_env } from '../chunks/shared-server.js-BZy9KN6u.js';
|
|
|
2
2
|
import { S as SYSTEM_CONTEXT } from '../chunks/src.js-B12bUNyu.js';
|
|
3
3
|
import { p as providers, h as resolveRequestId, g as getLogger, r as renderThrown, i as getErrorReporter, R as REQUEST_ID_HEADER, j as getEventSink } from '../chunks/providers.server.js-n7DF9bkc.js';
|
|
4
4
|
import { g as getRefreshToken, s as setSessionCookie, a as setRefreshCookie, c as clearRefreshCookie } from '../chunks/admin-auth.server.js-CL3zHgVM.js';
|
|
5
|
-
import { f as findDeploymentDir, s as startUpdateOutcomeReconciler } from '../chunks/selfUpdate.server.js-
|
|
5
|
+
import { f as findDeploymentDir, s as startUpdateOutcomeReconciler } from '../chunks/selfUpdate.server.js-l0l1xNus.js';
|
|
6
6
|
import { g as getBootHealth } from '../chunks/bootHealth.server.js-CeRzqAl8.js';
|
|
7
7
|
import { w as wireHeaderAuthBootstrap, b as bootstrapUserSession } from '../chunks/auth-bootstrap.server.js-bwuRda0V.js';
|
|
8
8
|
import { redirect, isHttpError } from '@sveltejs/kit';
|
|
@@ -17,7 +17,7 @@ import 'node:fs/promises';
|
|
|
17
17
|
import '@supabase/supabase-js';
|
|
18
18
|
import 'node:dns/promises';
|
|
19
19
|
import 'node:net';
|
|
20
|
-
import '../chunks/update-outcome.js-
|
|
20
|
+
import '../chunks/update-outcome.js-D6m3udZN.js';
|
|
21
21
|
|
|
22
22
|
//#region ../platform/src/userProfile/types.ts
|
|
23
23
|
function emptyProfile(userId) {
|
|
@@ -310,4 +310,4 @@ var handleError = ({ error, status, event }) => {
|
|
|
310
310
|
};
|
|
311
311
|
|
|
312
312
|
export { buildContext, handle, handleError, isPublicRoute, isSelfGatingApiRoute, isStaticAsset };
|
|
313
|
-
//# sourceMappingURL=hooks.server.js-
|
|
313
|
+
//# sourceMappingURL=hooks.server.js-DkaJFT25.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.server.js-CMVIHzYs.js","sources":["../../../../.svelte-kit/output/server/entries/hooks.server.js"],"sourcesContent":["import { t as private_env } from \"../chunks/shared-server.js\";\nimport { t as SYSTEM_CONTEXT } from \"../chunks/src.js\";\nimport { D as resolveRequestId, E as renderThrown, T as REQUEST_ID_HEADER, f as getLogger, l as getErrorReporter, u as getEventSink, w as providers } from \"../chunks/providers.server.js\";\nimport { a as getRefreshToken, l as setRefreshCookie, r as clearRefreshCookie, u as setSessionCookie } from \"../chunks/admin-auth.server.js\";\nimport { n as startUpdateOutcomeReconciler, t as findDeploymentDir } from \"../chunks/selfUpdate.server.js\";\nimport { t as getBootHealth } from \"../chunks/bootHealth.server.js\";\nimport { n as wireHeaderAuthBootstrap, t as bootstrapUserSession } from \"../chunks/auth-bootstrap.server.js\";\nimport { isHttpError, redirect } from \"@sveltejs/kit\";\n//#region ../platform/src/userProfile/types.ts\nfunction emptyProfile(userId) {\n\treturn {\n\t\tuserId,\n\t\tstarredDefinitions: [],\n\t\trecentRuns: []\n\t};\n}\n//#endregion\n//#region ../server/src/http/security-headers.ts\n/**\n* Apply baseline browser-hardening headers to a response and return it for\n* chaining. Each is a cheap win that needs no UI verification:\n*\n* - X-Content-Type-Options: nosniff — disables MIME sniffing.\n* - Referrer-Policy: strict-origin-when-cross-origin — strips path and query\n* from cross-origin Referer headers. Matches modern browser defaults, but\n* pins the behavior in case a default drifts.\n* - Permissions-Policy: opts out of browser APIs Selva-engine apps don't use,\n* so XSS can't enable them.\n* - HSTS when `opts.hsts`.\n*\n* **Intentionally NOT set here:**\n* - Content-Security-Policy + frame-ancestors. Selva-engine apps are built\n* for iframe embedding, so a strict CSP needs validating against real\n* consumer sites before it can ship.\n* - X-Frame-Options. Same iframe-embedding constraint.\n* - Cache-Control. Asset-path layout is app policy; set it in the caller.\n*/\nfunction applySecurityHeaders(response, opts) {\n\tresponse.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n\tresponse.headers.set(\"Referrer-Policy\", \"strict-origin-when-cross-origin\");\n\tresponse.headers.set(\"Permissions-Policy\", \"accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()\");\n\tif (opts.hsts) response.headers.set(\"Strict-Transport-Security\", \"max-age=31536000; includeSubDomains\");\n\treturn response;\n}\n//#endregion\n//#region ../server/src/http/route-classifier.ts\nfunction createRouteClassifier(config) {\n\tconst publicPages = new Set(config.publicPages ?? []);\n\tconst publicPrefixes = config.publicPrefixes ?? [];\n\tconst publicApis = new Set(config.publicApis ?? []);\n\tconst selfGatingPrefix = config.selfGatingPrefix;\n\tconst staticPrefixes = config.staticPrefixes ?? [];\n\tconst staticPaths = new Set(config.staticPaths ?? []);\n\tfunction isStaticAsset(pathname) {\n\t\tif (staticPaths.has(pathname)) return true;\n\t\treturn staticPrefixes.some((p) => pathname.startsWith(p));\n\t}\n\tfunction isSelfGatingApiRoute(pathname) {\n\t\treturn selfGatingPrefix !== void 0 && pathname.startsWith(selfGatingPrefix);\n\t}\n\tfunction isPublicRoute(pathname) {\n\t\tif (publicPages.has(pathname)) return true;\n\t\tif (publicApis.has(pathname)) return true;\n\t\tif (isSelfGatingApiRoute(pathname)) return true;\n\t\treturn publicPrefixes.some((p) => pathname.startsWith(p));\n\t}\n\treturn {\n\t\tisStaticAsset,\n\t\tisSelfGatingApiRoute,\n\t\tisPublicRoute\n\t};\n}\n//#endregion\n//#region src/hooks.server.ts\nvar headerAuthBootstrapWired = false;\nvar bootHealthKicked = false;\nvar proxyAuthLoginMissWarned = false;\nvar firstRunResolved = false;\nasync function isFirstRun() {\n\tif (firstRunResolved) return false;\n\tconst usersPage = await providers.auth.listUsers({ limit: 1 });\n\tif (usersPage === null) {\n\t\tfirstRunResolved = true;\n\t\treturn false;\n\t}\n\tif (usersPage.items.length === 0) return true;\n\tfirstRunResolved = true;\n\treturn false;\n}\nvar ensuredUserIds = /* @__PURE__ */ new Set();\nasync function ensureUserOnce(userId) {\n\tif (ensuredUserIds.has(userId)) return;\n\tawait providers.data.ensureUser(SYSTEM_CONTEXT, userId);\n\tensuredUserIds.add(userId);\n}\n/**\n* Builds a per-request context from an authenticated user: resolves active-org\n* membership and its OrgPermissions.\n*\n* Active-org resolution: single tenancy picks the deployment's one org; multi\n* tenancy picks the first org the user belongs to (URL-prefix resolution via\n* `/o/{slug}/...` will replace this once routes are tenant-namespaced).\n*\n* Exported for tests: the fixture's `actAs()` mirrors this logic, so a direct\n* test pins the production function against drift.\n*/\nasync function buildContext(user, sessionToken, platformPermissions, membership) {\n\tlet actingOrgId;\n\tlet orgPermissions = [];\n\tif (membership) {\n\t\tactingOrgId = membership.org.id;\n\t\torgPermissions = membership.member.permissions;\n\t}\n\tif (!actingOrgId && platformPermissions.includes(\"instance_admin\")) {\n\t\tconst firstOrg = (await providers.data.orgs.listOrgs(SYSTEM_CONTEXT, { limit: 1 })).items[0];\n\t\tif (firstOrg) actingOrgId = firstOrg.id;\n\t}\n\treturn {\n\t\tuserId: user.id,\n\t\tactingOrgId,\n\t\tplatformPermissions,\n\t\torgPermissions,\n\t\tadapterContext: sessionToken ? { sessionToken } : void 0\n\t};\n}\nvar PUBLIC_PAGE_ROUTES = /* @__PURE__ */ new Set([\n\t\"/\",\n\t\"/login\",\n\t\"/setup\",\n\t\"/accept-invite\"\n]);\nvar { isStaticAsset, isSelfGatingApiRoute, isPublicRoute } = createRouteClassifier({\n\tpublicPages: PUBLIC_PAGE_ROUTES,\n\tpublicPrefixes: [\n\t\t\"/auth/\",\n\t\t\"/logout\",\n\t\t\"/docs/\"\n\t],\n\tpublicApis: [\"/api/health\", \"/api/health/ready\"],\n\tselfGatingPrefix: \"/api/files/\",\n\tstaticPrefixes: [\"/_app/\", \"/favicon/\"],\n\tstaticPaths: [\"/favicon.svg\", \"/robots.txt\"]\n});\nvar handle = async ({ event, resolve }) => {\n\tevent.locals.providers = providers;\n\tconst requestId = resolveRequestId(event.request.headers);\n\tevent.locals.requestId = requestId;\n\tevent.locals.log = getLogger().child({\n\t\trequestId,\n\t\tmethod: event.request.method,\n\t\troute: event.url.pathname\n\t});\n\tif (!headerAuthBootstrapWired) {\n\t\twireHeaderAuthBootstrap();\n\t\theaderAuthBootstrapWired = true;\n\t}\n\tif (!bootHealthKicked) {\n\t\tbootHealthKicked = true;\n\t\tgetBootHealth();\n\t\tconst deploymentDir = findDeploymentDir(private_env);\n\t\tif (deploymentDir) startUpdateOutcomeReconciler({\n\t\t\tdeploymentDir,\n\t\t\temit: (e) => getEventSink().emit(e),\n\t\t\treport: (err) => getErrorReporter().capture(err, { tags: { origin: \"selfUpdate\" } })\n\t\t});\n\t}\n\tconst { pathname } = event.url;\n\tif (isStaticAsset(pathname)) return applyResponseHeaders(await resolve(event), pathname, requestId);\n\tif (pathname === \"/api/health\" || pathname === \"/api/health/ready\") return applyResponseHeaders(await resolve(event), pathname, requestId);\n\tconst publicRoute = isPublicRoute(pathname);\n\tconst isJsonApiRoute = pathname.startsWith(\"/api/\");\n\tif (!publicRoute) {\n\t\tif (await isFirstRun()) {\n\t\t\tif (isJsonApiRoute) return applyResponseHeaders(new Response(JSON.stringify({\n\t\t\t\tmessage: \"Setup required\",\n\t\t\t\tcode: \"SETUP_REQUIRED\"\n\t\t\t}), {\n\t\t\t\tstatus: 503,\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" }\n\t\t\t}), pathname, requestId);\n\t\t\tredirect(303, \"/setup\");\n\t\t}\n\t}\n\tif (!publicRoute) {\n\t\tlet token = event.cookies.get(\"admin_session\") ?? \"\";\n\t\tlet user = await providers.auth.verifyToken(token);\n\t\tif (!user) {\n\t\t\tconst refreshToken = getRefreshToken(event.cookies);\n\t\t\tconst oauth = providers.auth.oauth;\n\t\t\tif (refreshToken && oauth) {\n\t\t\t\tconst refreshed = await oauth.refreshSession(refreshToken);\n\t\t\t\tif (refreshed) {\n\t\t\t\t\tsetSessionCookie(event.cookies, refreshed.sessionToken);\n\t\t\t\t\tsetRefreshCookie(event.cookies, refreshed.refreshToken);\n\t\t\t\t\ttoken = refreshed.sessionToken;\n\t\t\t\t\tuser = await providers.auth.verifyToken(token);\n\t\t\t\t} else clearRefreshCookie(event.cookies);\n\t\t\t}\n\t\t}\n\t\tif (!user && providers.auth.proxyAuth) {\n\t\t\tuser = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n\t\t\tif (user) await bootstrapUserSession(user);\n\t\t}\n\t\tif (!user) {\n\t\t\tif (isJsonApiRoute) return applyResponseHeaders(new Response(JSON.stringify({\n\t\t\t\tmessage: \"Your session has expired. Sign in again to continue.\",\n\t\t\t\tcode: \"UNAUTHORIZED\"\n\t\t\t}), {\n\t\t\t\tstatus: 401,\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" }\n\t\t\t}), pathname, requestId);\n\t\t\tredirect(303, `/login?redirectTo=${encodeURIComponent(pathname)}`);\n\t\t}\n\t\tconst [, profile, platformPermissions, membership] = await Promise.all([\n\t\t\tensureUserOnce(user.id),\n\t\t\tproviders.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id),\n\t\t\tproviders.data.permissions.getFor(SYSTEM_CONTEXT, user.id),\n\t\t\tproviders.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id)\n\t\t]);\n\t\tevent.locals.user = user;\n\t\tevent.locals.profile = profile ?? emptyProfile(user.id);\n\t\tevent.locals.ctx = await buildContext(user, token, platformPermissions, membership);\n\t} else {\n\t\tconst wantsSessionAttach = PUBLIC_PAGE_ROUTES.has(pathname) || isSelfGatingApiRoute(pathname);\n\t\tconst token = wantsSessionAttach ? event.cookies.get(\"admin_session\") ?? \"\" : \"\";\n\t\tlet user = token ? await providers.auth.verifyToken(token) : null;\n\t\tif (!user && wantsSessionAttach && providers.auth.proxyAuth) {\n\t\t\tuser = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n\t\t\tif (!user && pathname === \"/login\" && !proxyAuthLoginMissWarned) {\n\t\t\t\tproxyAuthLoginMissWarned = true;\n\t\t\t\tconst proxyAuth = providers.auth.proxyAuth;\n\t\t\t\tconst noHeaders = proxyAuth.hasNoIdentityHeaders(event.request.headers);\n\t\t\t\tconst configured = proxyAuth.configuredHeaderNames.join(\", \");\n\t\t\t\tif (noHeaders) event.locals.log.warn(\"/login was hit and NONE of the configured identity headers arrived. The forward-auth proxy is not reaching this process, or is not forwarding the configured headers. See the @selvajs/header-auth-provider README \\\"Verification\\\" section.\", {\n\t\t\t\t\tcomponent: \"HeaderAuth\",\n\t\t\t\t\tconfiguredHeaders: configured\n\t\t\t\t});\n\t\t\t\telse event.locals.log.warn(\"/login was hit but the UPN header was missing or the user is not allowlisted. Some headers arrived but identification still failed — check that the UPN header is populated and that the user has been added to header-allowlist.json.\", {\n\t\t\t\t\tcomponent: \"HeaderAuth\",\n\t\t\t\t\tconfiguredHeaders: configured\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (user) {\n\t\t\tconst [, profile, platformPermissions, membership] = await Promise.all([\n\t\t\t\tensureUserOnce(user.id),\n\t\t\t\tproviders.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id),\n\t\t\t\tproviders.data.permissions.getFor(SYSTEM_CONTEXT, user.id),\n\t\t\t\tproviders.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id)\n\t\t\t]);\n\t\t\tevent.locals.user = user;\n\t\t\tevent.locals.profile = profile ?? emptyProfile(user.id);\n\t\t\tevent.locals.ctx = await buildContext(user, token, platformPermissions, membership);\n\t\t}\n\t}\n\treturn applyResponseHeaders(await resolve(event), pathname, requestId);\n};\nfunction applyResponseHeaders(response, pathname, requestId) {\n\tapplySecurityHeaders(response, { hsts: process.env.NODE_ENV === \"production\" });\n\tresponse.headers.set(REQUEST_ID_HEADER, requestId);\n\tif (pathname.startsWith(\"/_app/\")) response.headers.set(\"Cache-Control\", \"public, max-age=31536000, immutable\");\n\telse if (pathname.startsWith(\"/favicon/\") || pathname === \"/favicon.svg\" || pathname === \"/robots.txt\") response.headers.set(\"Cache-Control\", \"public, max-age=604800\");\n\treturn response;\n}\nvar handleError = ({ error, status, event }) => {\n\tif (isHttpError(error)) {\n\t\tconst body = error.body;\n\t\treturn {\n\t\t\tmessage: body.message,\n\t\t\tcode: body.code,\n\t\t\tfields: body.fields\n\t\t};\n\t}\n\tif (status === 404) return {\n\t\tmessage: \"Page not found.\",\n\t\tcode: \"NOT_FOUND\"\n\t};\n\t(event.locals.log ?? getLogger().child({\n\t\tmethod: event.request.method,\n\t\troute: event.url.pathname\n\t})).error(\"Unhandled error\", {\n\t\tcomponent: \"handleError\",\n\t\tstatus,\n\t\terr: renderThrown(error),\n\t\tcause: error instanceof Error && error.cause ? String(error.cause) : void 0\n\t});\n\tgetErrorReporter().capture(error, {\n\t\tmethod: event.request.method,\n\t\troute: event.url.pathname,\n\t\tuserId: event.locals.ctx?.userId || void 0,\n\t\torgId: event.locals.ctx?.actingOrgId\n\t});\n\treturn {\n\t\tmessage: \"An unexpected error occurred.\",\n\t\tcode: \"INTERNAL\"\n\t};\n};\n//#endregion\nexport { buildContext, handle, handleError, isPublicRoute, isSelfGatingApiRoute, isStaticAsset };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.server.js-DkaJFT25.js","sources":["../../../../.svelte-kit/output/server/entries/hooks.server.js"],"sourcesContent":["import { t as private_env } from \"../chunks/shared-server.js\";\nimport { t as SYSTEM_CONTEXT } from \"../chunks/src.js\";\nimport { D as resolveRequestId, E as renderThrown, T as REQUEST_ID_HEADER, f as getLogger, l as getErrorReporter, u as getEventSink, w as providers } from \"../chunks/providers.server.js\";\nimport { a as getRefreshToken, l as setRefreshCookie, r as clearRefreshCookie, u as setSessionCookie } from \"../chunks/admin-auth.server.js\";\nimport { n as startUpdateOutcomeReconciler, t as findDeploymentDir } from \"../chunks/selfUpdate.server.js\";\nimport { t as getBootHealth } from \"../chunks/bootHealth.server.js\";\nimport { n as wireHeaderAuthBootstrap, t as bootstrapUserSession } from \"../chunks/auth-bootstrap.server.js\";\nimport { isHttpError, redirect } from \"@sveltejs/kit\";\n//#region ../platform/src/userProfile/types.ts\nfunction emptyProfile(userId) {\n\treturn {\n\t\tuserId,\n\t\tstarredDefinitions: [],\n\t\trecentRuns: []\n\t};\n}\n//#endregion\n//#region ../server/src/http/security-headers.ts\n/**\n* Apply baseline browser-hardening headers to a response and return it for\n* chaining. Each is a cheap win that needs no UI verification:\n*\n* - X-Content-Type-Options: nosniff — disables MIME sniffing.\n* - Referrer-Policy: strict-origin-when-cross-origin — strips path and query\n* from cross-origin Referer headers. Matches modern browser defaults, but\n* pins the behavior in case a default drifts.\n* - Permissions-Policy: opts out of browser APIs Selva-engine apps don't use,\n* so XSS can't enable them.\n* - HSTS when `opts.hsts`.\n*\n* **Intentionally NOT set here:**\n* - Content-Security-Policy + frame-ancestors. Selva-engine apps are built\n* for iframe embedding, so a strict CSP needs validating against real\n* consumer sites before it can ship.\n* - X-Frame-Options. Same iframe-embedding constraint.\n* - Cache-Control. Asset-path layout is app policy; set it in the caller.\n*/\nfunction applySecurityHeaders(response, opts) {\n\tresponse.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n\tresponse.headers.set(\"Referrer-Policy\", \"strict-origin-when-cross-origin\");\n\tresponse.headers.set(\"Permissions-Policy\", \"accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()\");\n\tif (opts.hsts) response.headers.set(\"Strict-Transport-Security\", \"max-age=31536000; includeSubDomains\");\n\treturn response;\n}\n//#endregion\n//#region ../server/src/http/route-classifier.ts\nfunction createRouteClassifier(config) {\n\tconst publicPages = new Set(config.publicPages ?? []);\n\tconst publicPrefixes = config.publicPrefixes ?? [];\n\tconst publicApis = new Set(config.publicApis ?? []);\n\tconst selfGatingPrefix = config.selfGatingPrefix;\n\tconst staticPrefixes = config.staticPrefixes ?? [];\n\tconst staticPaths = new Set(config.staticPaths ?? []);\n\tfunction isStaticAsset(pathname) {\n\t\tif (staticPaths.has(pathname)) return true;\n\t\treturn staticPrefixes.some((p) => pathname.startsWith(p));\n\t}\n\tfunction isSelfGatingApiRoute(pathname) {\n\t\treturn selfGatingPrefix !== void 0 && pathname.startsWith(selfGatingPrefix);\n\t}\n\tfunction isPublicRoute(pathname) {\n\t\tif (publicPages.has(pathname)) return true;\n\t\tif (publicApis.has(pathname)) return true;\n\t\tif (isSelfGatingApiRoute(pathname)) return true;\n\t\treturn publicPrefixes.some((p) => pathname.startsWith(p));\n\t}\n\treturn {\n\t\tisStaticAsset,\n\t\tisSelfGatingApiRoute,\n\t\tisPublicRoute\n\t};\n}\n//#endregion\n//#region src/hooks.server.ts\nvar headerAuthBootstrapWired = false;\nvar bootHealthKicked = false;\nvar proxyAuthLoginMissWarned = false;\nvar firstRunResolved = false;\nasync function isFirstRun() {\n\tif (firstRunResolved) return false;\n\tconst usersPage = await providers.auth.listUsers({ limit: 1 });\n\tif (usersPage === null) {\n\t\tfirstRunResolved = true;\n\t\treturn false;\n\t}\n\tif (usersPage.items.length === 0) return true;\n\tfirstRunResolved = true;\n\treturn false;\n}\nvar ensuredUserIds = /* @__PURE__ */ new Set();\nasync function ensureUserOnce(userId) {\n\tif (ensuredUserIds.has(userId)) return;\n\tawait providers.data.ensureUser(SYSTEM_CONTEXT, userId);\n\tensuredUserIds.add(userId);\n}\n/**\n* Builds a per-request context from an authenticated user: resolves active-org\n* membership and its OrgPermissions.\n*\n* Active-org resolution: single tenancy picks the deployment's one org; multi\n* tenancy picks the first org the user belongs to (URL-prefix resolution via\n* `/o/{slug}/...` will replace this once routes are tenant-namespaced).\n*\n* Exported for tests: the fixture's `actAs()` mirrors this logic, so a direct\n* test pins the production function against drift.\n*/\nasync function buildContext(user, sessionToken, platformPermissions, membership) {\n\tlet actingOrgId;\n\tlet orgPermissions = [];\n\tif (membership) {\n\t\tactingOrgId = membership.org.id;\n\t\torgPermissions = membership.member.permissions;\n\t}\n\tif (!actingOrgId && platformPermissions.includes(\"instance_admin\")) {\n\t\tconst firstOrg = (await providers.data.orgs.listOrgs(SYSTEM_CONTEXT, { limit: 1 })).items[0];\n\t\tif (firstOrg) actingOrgId = firstOrg.id;\n\t}\n\treturn {\n\t\tuserId: user.id,\n\t\tactingOrgId,\n\t\tplatformPermissions,\n\t\torgPermissions,\n\t\tadapterContext: sessionToken ? { sessionToken } : void 0\n\t};\n}\nvar PUBLIC_PAGE_ROUTES = /* @__PURE__ */ new Set([\n\t\"/\",\n\t\"/login\",\n\t\"/setup\",\n\t\"/accept-invite\"\n]);\nvar { isStaticAsset, isSelfGatingApiRoute, isPublicRoute } = createRouteClassifier({\n\tpublicPages: PUBLIC_PAGE_ROUTES,\n\tpublicPrefixes: [\n\t\t\"/auth/\",\n\t\t\"/logout\",\n\t\t\"/docs/\"\n\t],\n\tpublicApis: [\"/api/health\", \"/api/health/ready\"],\n\tselfGatingPrefix: \"/api/files/\",\n\tstaticPrefixes: [\"/_app/\", \"/favicon/\"],\n\tstaticPaths: [\"/favicon.svg\", \"/robots.txt\"]\n});\nvar handle = async ({ event, resolve }) => {\n\tevent.locals.providers = providers;\n\tconst requestId = resolveRequestId(event.request.headers);\n\tevent.locals.requestId = requestId;\n\tevent.locals.log = getLogger().child({\n\t\trequestId,\n\t\tmethod: event.request.method,\n\t\troute: event.url.pathname\n\t});\n\tif (!headerAuthBootstrapWired) {\n\t\twireHeaderAuthBootstrap();\n\t\theaderAuthBootstrapWired = true;\n\t}\n\tif (!bootHealthKicked) {\n\t\tbootHealthKicked = true;\n\t\tgetBootHealth();\n\t\tconst deploymentDir = findDeploymentDir(private_env);\n\t\tif (deploymentDir) startUpdateOutcomeReconciler({\n\t\t\tdeploymentDir,\n\t\t\temit: (e) => getEventSink().emit(e),\n\t\t\treport: (err) => getErrorReporter().capture(err, { tags: { origin: \"selfUpdate\" } })\n\t\t});\n\t}\n\tconst { pathname } = event.url;\n\tif (isStaticAsset(pathname)) return applyResponseHeaders(await resolve(event), pathname, requestId);\n\tif (pathname === \"/api/health\" || pathname === \"/api/health/ready\") return applyResponseHeaders(await resolve(event), pathname, requestId);\n\tconst publicRoute = isPublicRoute(pathname);\n\tconst isJsonApiRoute = pathname.startsWith(\"/api/\");\n\tif (!publicRoute) {\n\t\tif (await isFirstRun()) {\n\t\t\tif (isJsonApiRoute) return applyResponseHeaders(new Response(JSON.stringify({\n\t\t\t\tmessage: \"Setup required\",\n\t\t\t\tcode: \"SETUP_REQUIRED\"\n\t\t\t}), {\n\t\t\t\tstatus: 503,\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" }\n\t\t\t}), pathname, requestId);\n\t\t\tredirect(303, \"/setup\");\n\t\t}\n\t}\n\tif (!publicRoute) {\n\t\tlet token = event.cookies.get(\"admin_session\") ?? \"\";\n\t\tlet user = await providers.auth.verifyToken(token);\n\t\tif (!user) {\n\t\t\tconst refreshToken = getRefreshToken(event.cookies);\n\t\t\tconst oauth = providers.auth.oauth;\n\t\t\tif (refreshToken && oauth) {\n\t\t\t\tconst refreshed = await oauth.refreshSession(refreshToken);\n\t\t\t\tif (refreshed) {\n\t\t\t\t\tsetSessionCookie(event.cookies, refreshed.sessionToken);\n\t\t\t\t\tsetRefreshCookie(event.cookies, refreshed.refreshToken);\n\t\t\t\t\ttoken = refreshed.sessionToken;\n\t\t\t\t\tuser = await providers.auth.verifyToken(token);\n\t\t\t\t} else clearRefreshCookie(event.cookies);\n\t\t\t}\n\t\t}\n\t\tif (!user && providers.auth.proxyAuth) {\n\t\t\tuser = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n\t\t\tif (user) await bootstrapUserSession(user);\n\t\t}\n\t\tif (!user) {\n\t\t\tif (isJsonApiRoute) return applyResponseHeaders(new Response(JSON.stringify({\n\t\t\t\tmessage: \"Your session has expired. Sign in again to continue.\",\n\t\t\t\tcode: \"UNAUTHORIZED\"\n\t\t\t}), {\n\t\t\t\tstatus: 401,\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" }\n\t\t\t}), pathname, requestId);\n\t\t\tredirect(303, `/login?redirectTo=${encodeURIComponent(pathname)}`);\n\t\t}\n\t\tconst [, profile, platformPermissions, membership] = await Promise.all([\n\t\t\tensureUserOnce(user.id),\n\t\t\tproviders.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id),\n\t\t\tproviders.data.permissions.getFor(SYSTEM_CONTEXT, user.id),\n\t\t\tproviders.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id)\n\t\t]);\n\t\tevent.locals.user = user;\n\t\tevent.locals.profile = profile ?? emptyProfile(user.id);\n\t\tevent.locals.ctx = await buildContext(user, token, platformPermissions, membership);\n\t} else {\n\t\tconst wantsSessionAttach = PUBLIC_PAGE_ROUTES.has(pathname) || isSelfGatingApiRoute(pathname);\n\t\tconst token = wantsSessionAttach ? event.cookies.get(\"admin_session\") ?? \"\" : \"\";\n\t\tlet user = token ? await providers.auth.verifyToken(token) : null;\n\t\tif (!user && wantsSessionAttach && providers.auth.proxyAuth) {\n\t\t\tuser = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n\t\t\tif (!user && pathname === \"/login\" && !proxyAuthLoginMissWarned) {\n\t\t\t\tproxyAuthLoginMissWarned = true;\n\t\t\t\tconst proxyAuth = providers.auth.proxyAuth;\n\t\t\t\tconst noHeaders = proxyAuth.hasNoIdentityHeaders(event.request.headers);\n\t\t\t\tconst configured = proxyAuth.configuredHeaderNames.join(\", \");\n\t\t\t\tif (noHeaders) event.locals.log.warn(\"/login was hit and NONE of the configured identity headers arrived. The forward-auth proxy is not reaching this process, or is not forwarding the configured headers. See the @selvajs/header-auth-provider README \\\"Verification\\\" section.\", {\n\t\t\t\t\tcomponent: \"HeaderAuth\",\n\t\t\t\t\tconfiguredHeaders: configured\n\t\t\t\t});\n\t\t\t\telse event.locals.log.warn(\"/login was hit but the UPN header was missing or the user is not allowlisted. Some headers arrived but identification still failed — check that the UPN header is populated and that the user has been added to header-allowlist.json.\", {\n\t\t\t\t\tcomponent: \"HeaderAuth\",\n\t\t\t\t\tconfiguredHeaders: configured\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (user) {\n\t\t\tconst [, profile, platformPermissions, membership] = await Promise.all([\n\t\t\t\tensureUserOnce(user.id),\n\t\t\t\tproviders.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id),\n\t\t\t\tproviders.data.permissions.getFor(SYSTEM_CONTEXT, user.id),\n\t\t\t\tproviders.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id)\n\t\t\t]);\n\t\t\tevent.locals.user = user;\n\t\t\tevent.locals.profile = profile ?? emptyProfile(user.id);\n\t\t\tevent.locals.ctx = await buildContext(user, token, platformPermissions, membership);\n\t\t}\n\t}\n\treturn applyResponseHeaders(await resolve(event), pathname, requestId);\n};\nfunction applyResponseHeaders(response, pathname, requestId) {\n\tapplySecurityHeaders(response, { hsts: process.env.NODE_ENV === \"production\" });\n\tresponse.headers.set(REQUEST_ID_HEADER, requestId);\n\tif (pathname.startsWith(\"/_app/\")) response.headers.set(\"Cache-Control\", \"public, max-age=31536000, immutable\");\n\telse if (pathname.startsWith(\"/favicon/\") || pathname === \"/favicon.svg\" || pathname === \"/robots.txt\") response.headers.set(\"Cache-Control\", \"public, max-age=604800\");\n\treturn response;\n}\nvar handleError = ({ error, status, event }) => {\n\tif (isHttpError(error)) {\n\t\tconst body = error.body;\n\t\treturn {\n\t\t\tmessage: body.message,\n\t\t\tcode: body.code,\n\t\t\tfields: body.fields\n\t\t};\n\t}\n\tif (status === 404) return {\n\t\tmessage: \"Page not found.\",\n\t\tcode: \"NOT_FOUND\"\n\t};\n\t(event.locals.log ?? getLogger().child({\n\t\tmethod: event.request.method,\n\t\troute: event.url.pathname\n\t})).error(\"Unhandled error\", {\n\t\tcomponent: \"handleError\",\n\t\tstatus,\n\t\terr: renderThrown(error),\n\t\tcause: error instanceof Error && error.cause ? String(error.cause) : void 0\n\t});\n\tgetErrorReporter().capture(error, {\n\t\tmethod: event.request.method,\n\t\troute: event.url.pathname,\n\t\tuserId: event.locals.ctx?.userId || void 0,\n\t\torgId: event.locals.ctx?.actingOrgId\n\t});\n\treturn {\n\t\tmessage: \"An unexpected error occurred.\",\n\t\tcode: \"INTERNAL\"\n\t};\n};\n//#endregion\nexport { buildContext, handle, handleError, isPublicRoute, isSelfGatingApiRoute, isStaticAsset };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import 'clsx';
|
|
2
|
-
import { p as page } from '../../chunks/state.js-
|
|
2
|
+
import { p as page } from '../../chunks/state.js-DE7Wux-S.js';
|
|
3
3
|
import { E as ErrorScreen } from '../../chunks/ErrorScreen.js-DhXSfajf.js';
|
|
4
4
|
import '../../chunks/server.js-fxznQVe4.js';
|
|
5
5
|
import '../../chunks/uneval.js-sOjdN_Ot.js';
|
|
6
|
-
import '../../chunks/client.js-
|
|
6
|
+
import '../../chunks/client.js-B5zjaxEd.js';
|
|
7
7
|
import '../../chunks/index-server.js-gS5cdWCH.js';
|
|
8
8
|
import '../../chunks/shared.js-JbueMana.js';
|
|
9
9
|
import '@sveltejs/kit/internal';
|
|
10
10
|
import '../../chunks/exports.js-CPkIuisC.js';
|
|
11
11
|
import '../../chunks/routing.js-C2Q7p_y3.js';
|
|
12
|
-
import '../../chunks/internal2.js-
|
|
12
|
+
import '../../chunks/internal2.js-qTBwxhwo.js';
|
|
13
13
|
import '../../chunks/legacy-client.js-B6XuTI3b.js';
|
|
14
14
|
import '../../chunks/events.js-DCr2n6fH.js';
|
|
15
15
|
import '@sveltejs/kit/internal/server';
|
|
@@ -33,4 +33,4 @@ function _error($$renderer, $$props) {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { _error as default };
|
|
36
|
-
//# sourceMappingURL=_error.svelte.js-
|
|
36
|
+
//# sourceMappingURL=_error.svelte.js-B0k_AdL1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_error.svelte.js-
|
|
1
|
+
{"version":3,"file":"_error.svelte.js-B0k_AdL1.js","sources":["../../../../../.svelte-kit/output/server/entries/pages/_error.svelte.js"],"sourcesContent":["import \"../../chunks/server.js\";\nimport { t as page } from \"../../chunks/state.js\";\nimport { t as ErrorScreen } from \"../../chunks/ErrorScreen.js\";\n//#region src/routes/+error.svelte\nfunction _error($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tErrorScreen($$renderer, {\n\t\t\tstatus: page.status,\n\t\t\tmessage: page.error?.message,\n\t\t\tdetails: page.error && typeof page.error === \"object\" && \"details\" in page.error ? page.error.details : void 0\n\t\t});\n\t});\n}\n//#endregion\nexport { _error as default };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,SAAS,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE;AACrC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,WAAW,CAAC,UAAU,EAAE;AAC1B,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM;AACtB,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO;AAC/B,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG;AAC3G,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { X as head, a4 as escape_html, $ as ensure_array_like, W as attr, a2 as attr_class, T as derived } from '../../chunks/server.js-fxznQVe4.js';
|
|
2
2
|
import { B as Button } from '../../chunks/button.js-DbB0dwmm.js';
|
|
3
3
|
import { A as Arrow_right } from '../../chunks/arrow-right.js-CJ2cNjuS.js';
|
|
4
|
-
import { A as AppHeader, L as Layout_grid } from '../../chunks/AppHeader.js-
|
|
4
|
+
import { A as AppHeader, L as Layout_grid } from '../../chunks/AppHeader.js-CZLvDVj8.js';
|
|
5
5
|
import { S as Star } from '../../chunks/star.js-DiKFn7P4.js';
|
|
6
6
|
import { P as PageContent } from '../../chunks/PageContent.js-jB_xfx6P.js';
|
|
7
|
-
import { g as goto } from '../../chunks/client.js-
|
|
8
|
-
import { p as page } from '../../chunks/state.js-
|
|
7
|
+
import { g as goto } from '../../chunks/client.js-B5zjaxEd.js';
|
|
8
|
+
import { p as page } from '../../chunks/state.js-DE7Wux-S.js';
|
|
9
9
|
import { E as EmptyState } from '../../chunks/EmptyState.js-CjCy0_9x.js';
|
|
10
10
|
import { D as DefinitionCard } from '../../chunks/DefinitionCard.js-4gzEHiRL.js';
|
|
11
11
|
import { f as formatRelative } from '../../chunks/relativeTime.js-Bfz-SNbM.js';
|
|
@@ -16,7 +16,7 @@ import 'tailwind-merge';
|
|
|
16
16
|
import 'tailwind-variants';
|
|
17
17
|
import '../../chunks/src.js-B12bUNyu.js';
|
|
18
18
|
import 'zod';
|
|
19
|
-
import '../../chunks/UserChip.js-
|
|
19
|
+
import '../../chunks/UserChip.js-Cfffcz1F.js';
|
|
20
20
|
import '../../chunks/events.js-DCr2n6fH.js';
|
|
21
21
|
import '../../chunks/core-BQtRL5GE.js-B9MmO4om.js';
|
|
22
22
|
import '../../chunks/footerContext.svelte.js-hYVwYyNi.js';
|
|
@@ -39,7 +39,7 @@ import '../../chunks/shared.js-JbueMana.js';
|
|
|
39
39
|
import '@sveltejs/kit/internal';
|
|
40
40
|
import '../../chunks/exports.js-CPkIuisC.js';
|
|
41
41
|
import '../../chunks/routing.js-C2Q7p_y3.js';
|
|
42
|
-
import '../../chunks/internal2.js-
|
|
42
|
+
import '../../chunks/internal2.js-qTBwxhwo.js';
|
|
43
43
|
import '../../chunks/legacy-client.js-B6XuTI3b.js';
|
|
44
44
|
import '@sveltejs/kit/internal/server';
|
|
45
45
|
import '../../chunks/server2.js-B1Z22rWd.js';
|
|
@@ -159,4 +159,4 @@ function _page($$renderer, $$props) {
|
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
export { _page as default };
|
|
162
|
-
//# sourceMappingURL=_page.svelte.js-
|
|
162
|
+
//# sourceMappingURL=_page.svelte.js-DrER7xBY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte.js-CIerO8GF.js","sources":["../../../../../.svelte-kit/output/server/entries/pages/_page.svelte.js"],"sourcesContent":["import { A as escape_html, O as attr, a as derived, c as head, s as ensure_array_like, t as attr_class } from \"../../chunks/server.js\";\nimport { t as Button } from \"../../chunks/button.js\";\nimport { t as Arrow_right } from \"../../chunks/arrow-right.js\";\nimport { n as Layout_grid, t as AppHeader } from \"../../chunks/AppHeader.js\";\nimport { t as Star } from \"../../chunks/star.js\";\nimport { t as PageContent } from \"../../chunks/PageContent.js\";\nimport { t as goto } from \"../../chunks/client.js\";\nimport { t as page } from \"../../chunks/state.js\";\nimport { t as EmptyState } from \"../../chunks/EmptyState.js\";\nimport \"../../chunks/navigation.js\";\nimport { t as DefinitionCard } from \"../../chunks/DefinitionCard.js\";\nimport { t as formatRelative } from \"../../chunks/relativeTime.js\";\n//#region src/routes/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tconst isAuthed = derived(() => !!page.data.user);\n\t\tconst branding = derived(() => page.data.branding);\n\t\tconst dashboard = derived(() => data.dashboard);\n\t\tconst greetingName = derived(() => page.data.profile?.displayName ?? page.data.user?.email?.split(\"@\")[0] ?? \"\");\n\t\tconst projectList = derived(() => Object.values(dashboard()?.projects ?? {}));\n\t\tlet loadingGuid = null;\n\t\tfunction open(guid) {\n\t\t\tloadingGuid = guid;\n\t\t\tgoto(`/library/${guid}`).catch(() => {\n\t\t\t\tloadingGuid = null;\n\t\t\t});\n\t\t}\n\t\tfunction projectName(record) {\n\t\t\treturn projectList().length > 1 ? dashboard()?.projects[record.projectId]?.name : void 0;\n\t\t}\n\t\thead(\"1uha8ag\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>${escape_html(branding().name)}</title>`);\n\t\t\t});\n\t\t});\n\t\tAppHeader($$renderer, {\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tif (isAuthed()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tPageContent($$renderer, {\n\t\t\t\t\t\tclass: \"mx-auto w-full max-w-6xl space-y-10\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<div><h1 class=\"text-2xl font-semibold tracking-tight\">${escape_html(greetingName() ? `Welcome back, ${greetingName()}` : \"Welcome back\")}</h1> <p class=\"text-muted-foreground mt-1 text-sm\">${escape_html(branding().tagline)}</p></div> `);\n\t\t\t\t\t\t\tif (dashboard() && dashboard().recentRuns.length > 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<section><div class=\"mb-3 flex items-baseline justify-between\"><span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Pick up where you left off</span></div> <div class=\"border-border bg-card overflow-hidden rounded-md border\"><!--[-->`);\n\t\t\t\t\t\t\t\tconst each_array = ensure_array_like(dashboard().recentRuns);\n\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\tlet run = each_array[i];\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<button${attr(\"disabled\", loadingGuid === run.definitionId, true)}${attr_class(`group hover:bg-muted/40 grid w-full items-center gap-4 px-4 py-3 text-left text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-60 ${i < dashboard().recentRuns.length - 1 ? \"border-border border-b\" : \"\"}`)} style=\"grid-template-columns: 1fr 120px auto\"><span class=\"truncate font-medium\">${escape_html(run.definitionName)}</span> <span class=\"text-muted-foreground font-mono text-xs\">${escape_html(formatRelative(run.timestamp))}</span> <span class=\"flex items-center gap-1 text-xs font-medium opacity-0 transition-opacity group-hover:opacity-100\">Resume `);\n\t\t\t\t\t\t\t\t\tArrow_right($$renderer, { class: \"h-3 w-3\" });\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!----></span></button>`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div></section>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\tif (dashboard() && dashboard().starred.length > 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<section><div class=\"mb-3 flex items-baseline justify-between\"><span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Starred</span> <a href=\"/library\" class=\"text-muted-foreground hover:text-foreground text-xs\">View library</a></div> <div class=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\"><!--[-->`);\n\t\t\t\t\t\t\t\tconst each_array_1 = ensure_array_like(dashboard().starred);\n\t\t\t\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\t\t\t\tlet record = each_array_1[$$index_1];\n\t\t\t\t\t\t\t\t\tDefinitionCard($$renderer, {\n\t\t\t\t\t\t\t\t\t\trecord,\n\t\t\t\t\t\t\t\t\t\tstarred: true,\n\t\t\t\t\t\t\t\t\t\tloading: loadingGuid === record.guid,\n\t\t\t\t\t\t\t\t\t\tprojectName: projectName(record),\n\t\t\t\t\t\t\t\t\t\tonOpen: (r) => open(r.guid)\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div></section>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\tif (dashboard() && dashboard().recentRuns.length === 0 && dashboard().starred.length === 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfunction actions($$renderer) {\n\t\t\t\t\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\t\t\t\t\thref: \"/library\",\n\t\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Browse library`);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tEmptyState($$renderer, {\n\t\t\t\t\t\t\t\t\t\ticon: dashboard().visibleCount > 0 ? Layout_grid : Star,\n\t\t\t\t\t\t\t\t\t\ttitle: dashboard().visibleCount > 0 ? \"Nothing pinned yet\" : \"No tools available yet\",\n\t\t\t\t\t\t\t\t\t\tdescription: dashboard().visibleCount > 0 ? \"Star a definition in the library and it will show up here.\" : \"Once a definition is published to a project you can reach, it appears here.\",\n\t\t\t\t\t\t\t\t\t\tactions,\n\t\t\t\t\t\t\t\t\t\t$$slots: { actions: true }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\t\t\thref: \"/library\",\n\t\t\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Browse all Definitions `);\n\t\t\t\t\t\t\t\t\t\tArrow_right($$renderer, { class: \"ml-1 h-4 w-4\" });\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"flex flex-1 flex-col items-center justify-center px-4 text-center\"><div class=\"max-w-md space-y-6\"><h1 class=\"text-4xl font-bold tracking-tight\">${escape_html(branding().name)}</h1> <p class=\"text-muted-foreground text-lg\">${escape_html(branding().tagline)}</p> <div class=\"flex justify-center gap-3\">`);\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\thref: \"/login\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Sign in`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div></div></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_page.svelte.js-DrER7xBY.js","sources":["../../../../../.svelte-kit/output/server/entries/pages/_page.svelte.js"],"sourcesContent":["import { A as escape_html, O as attr, a as derived, c as head, s as ensure_array_like, t as attr_class } from \"../../chunks/server.js\";\nimport { t as Button } from \"../../chunks/button.js\";\nimport { t as Arrow_right } from \"../../chunks/arrow-right.js\";\nimport { n as Layout_grid, t as AppHeader } from \"../../chunks/AppHeader.js\";\nimport { t as Star } from \"../../chunks/star.js\";\nimport { t as PageContent } from \"../../chunks/PageContent.js\";\nimport { t as goto } from \"../../chunks/client.js\";\nimport { t as page } from \"../../chunks/state.js\";\nimport { t as EmptyState } from \"../../chunks/EmptyState.js\";\nimport \"../../chunks/navigation.js\";\nimport { t as DefinitionCard } from \"../../chunks/DefinitionCard.js\";\nimport { t as formatRelative } from \"../../chunks/relativeTime.js\";\n//#region src/routes/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tconst isAuthed = derived(() => !!page.data.user);\n\t\tconst branding = derived(() => page.data.branding);\n\t\tconst dashboard = derived(() => data.dashboard);\n\t\tconst greetingName = derived(() => page.data.profile?.displayName ?? page.data.user?.email?.split(\"@\")[0] ?? \"\");\n\t\tconst projectList = derived(() => Object.values(dashboard()?.projects ?? {}));\n\t\tlet loadingGuid = null;\n\t\tfunction open(guid) {\n\t\t\tloadingGuid = guid;\n\t\t\tgoto(`/library/${guid}`).catch(() => {\n\t\t\t\tloadingGuid = null;\n\t\t\t});\n\t\t}\n\t\tfunction projectName(record) {\n\t\t\treturn projectList().length > 1 ? dashboard()?.projects[record.projectId]?.name : void 0;\n\t\t}\n\t\thead(\"1uha8ag\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>${escape_html(branding().name)}</title>`);\n\t\t\t});\n\t\t});\n\t\tAppHeader($$renderer, {\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\tif (isAuthed()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tPageContent($$renderer, {\n\t\t\t\t\t\tclass: \"mx-auto w-full max-w-6xl space-y-10\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<div><h1 class=\"text-2xl font-semibold tracking-tight\">${escape_html(greetingName() ? `Welcome back, ${greetingName()}` : \"Welcome back\")}</h1> <p class=\"text-muted-foreground mt-1 text-sm\">${escape_html(branding().tagline)}</p></div> `);\n\t\t\t\t\t\t\tif (dashboard() && dashboard().recentRuns.length > 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<section><div class=\"mb-3 flex items-baseline justify-between\"><span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Pick up where you left off</span></div> <div class=\"border-border bg-card overflow-hidden rounded-md border\"><!--[-->`);\n\t\t\t\t\t\t\t\tconst each_array = ensure_array_like(dashboard().recentRuns);\n\t\t\t\t\t\t\t\tfor (let i = 0, $$length = each_array.length; i < $$length; i++) {\n\t\t\t\t\t\t\t\t\tlet run = each_array[i];\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<button${attr(\"disabled\", loadingGuid === run.definitionId, true)}${attr_class(`group hover:bg-muted/40 grid w-full items-center gap-4 px-4 py-3 text-left text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-60 ${i < dashboard().recentRuns.length - 1 ? \"border-border border-b\" : \"\"}`)} style=\"grid-template-columns: 1fr 120px auto\"><span class=\"truncate font-medium\">${escape_html(run.definitionName)}</span> <span class=\"text-muted-foreground font-mono text-xs\">${escape_html(formatRelative(run.timestamp))}</span> <span class=\"flex items-center gap-1 text-xs font-medium opacity-0 transition-opacity group-hover:opacity-100\">Resume `);\n\t\t\t\t\t\t\t\t\tArrow_right($$renderer, { class: \"h-3 w-3\" });\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!----></span></button>`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div></section>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\tif (dashboard() && dashboard().starred.length > 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<section><div class=\"mb-3 flex items-baseline justify-between\"><span class=\"text-muted-foreground text-xs font-medium tracking-wider uppercase\">Starred</span> <a href=\"/library\" class=\"text-muted-foreground hover:text-foreground text-xs\">View library</a></div> <div class=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\"><!--[-->`);\n\t\t\t\t\t\t\t\tconst each_array_1 = ensure_array_like(dashboard().starred);\n\t\t\t\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\t\t\t\tlet record = each_array_1[$$index_1];\n\t\t\t\t\t\t\t\t\tDefinitionCard($$renderer, {\n\t\t\t\t\t\t\t\t\t\trecord,\n\t\t\t\t\t\t\t\t\t\tstarred: true,\n\t\t\t\t\t\t\t\t\t\tloading: loadingGuid === record.guid,\n\t\t\t\t\t\t\t\t\t\tprojectName: projectName(record),\n\t\t\t\t\t\t\t\t\t\tonOpen: (r) => open(r.guid)\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div></section>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\t\tif (dashboard() && dashboard().recentRuns.length === 0 && dashboard().starred.length === 0) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfunction actions($$renderer) {\n\t\t\t\t\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\t\t\t\t\thref: \"/library\",\n\t\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Browse library`);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tEmptyState($$renderer, {\n\t\t\t\t\t\t\t\t\t\ticon: dashboard().visibleCount > 0 ? Layout_grid : Star,\n\t\t\t\t\t\t\t\t\t\ttitle: dashboard().visibleCount > 0 ? \"Nothing pinned yet\" : \"No tools available yet\",\n\t\t\t\t\t\t\t\t\t\tdescription: dashboard().visibleCount > 0 ? \"Star a definition in the library and it will show up here.\" : \"Once a definition is published to a project you can reach, it appears here.\",\n\t\t\t\t\t\t\t\t\t\tactions,\n\t\t\t\t\t\t\t\t\t\t$$slots: { actions: true }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\t\t\thref: \"/library\",\n\t\t\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Browse all Definitions `);\n\t\t\t\t\t\t\t\t\t\tArrow_right($$renderer, { class: \"ml-1 h-4 w-4\" });\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"flex flex-1 flex-col items-center justify-center px-4 text-center\"><div class=\"max-w-md space-y-6\"><h1 class=\"text-4xl font-bold tracking-tight\">${escape_html(branding().name)}</h1> <p class=\"text-muted-foreground text-lg\">${escape_html(branding().tagline)}</p> <div class=\"flex justify-center gap-3\">`);\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\thref: \"/login\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Sign in`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div></div></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { X as head, a4 as escape_html, W as attr } from '../../../chunks/server.
|
|
|
2
2
|
import { B as Button } from '../../../chunks/button.js-DbB0dwmm.js';
|
|
3
3
|
import { C as Circle_alert } from '../../../chunks/circle-alert.js-DflREk0J.js';
|
|
4
4
|
import { L as Label } from '../../../chunks/label.js-CJKpR7R4.js';
|
|
5
|
-
import { p as page } from '../../../chunks/state.js-
|
|
5
|
+
import { p as page } from '../../../chunks/state.js-DE7Wux-S.js';
|
|
6
6
|
import { I as Input } from '../../../chunks/input.js-nXGVOn5i.js';
|
|
7
7
|
import { A as Alert, a as Alert_description } from '../../../chunks/alert-description.js-YCoM0g_8.js';
|
|
8
8
|
import '../../../chunks/uneval.js-sOjdN_Ot.js';
|
|
@@ -11,13 +11,13 @@ import '../../../chunks/utils2.js-RqmNbcNh.js';
|
|
|
11
11
|
import 'tailwind-merge';
|
|
12
12
|
import 'tailwind-variants';
|
|
13
13
|
import '../../../chunks/create-id.js-DZHvVzWu.js';
|
|
14
|
-
import '../../../chunks/client.js-
|
|
14
|
+
import '../../../chunks/client.js-B5zjaxEd.js';
|
|
15
15
|
import '../../../chunks/index-server.js-gS5cdWCH.js';
|
|
16
16
|
import '../../../chunks/shared.js-JbueMana.js';
|
|
17
17
|
import '@sveltejs/kit/internal';
|
|
18
18
|
import '../../../chunks/exports.js-CPkIuisC.js';
|
|
19
19
|
import '../../../chunks/routing.js-C2Q7p_y3.js';
|
|
20
|
-
import '../../../chunks/internal2.js-
|
|
20
|
+
import '../../../chunks/internal2.js-qTBwxhwo.js';
|
|
21
21
|
import '../../../chunks/legacy-client.js-B6XuTI3b.js';
|
|
22
22
|
import '../../../chunks/events.js-DCr2n6fH.js';
|
|
23
23
|
import '@sveltejs/kit/internal/server';
|
|
@@ -185,4 +185,4 @@ function _page($$renderer, $$props) {
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
export { _page as default };
|
|
188
|
-
//# sourceMappingURL=_page.svelte.js-
|
|
188
|
+
//# sourceMappingURL=_page.svelte.js-CsOMotAt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte.js-BtZWrs7T.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/accept-invite/_page.svelte.js"],"sourcesContent":["import { A as escape_html, O as attr, c as head } from \"../../../chunks/server.js\";\nimport { t as Button } from \"../../../chunks/button.js\";\nimport { t as Circle_alert } from \"../../../chunks/circle-alert.js\";\nimport { t as Label } from \"../../../chunks/label.js\";\nimport { t as page } from \"../../../chunks/state.js\";\nimport { t as Input } from \"../../../chunks/input.js\";\nimport { n as Alert, t as Alert_description } from \"../../../chunks/alert-description.js\";\n//#region src/routes/accept-invite/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data, form } = $$props;\n\t\thead(\"p8b09p\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Accept invite - ${escape_html(page.data.branding.name)}</title>`);\n\t\t\t});\n\t\t});\n\t\t$$renderer.push(`<div class=\"bg-background flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8\"><div class=\"w-full max-w-sm space-y-6\">`);\n\t\tif (!data.ok) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-1 text-center\"><h2 class=\"text-foreground text-2xl font-bold tracking-tight\">Invite unavailable</h2> <p class=\"text-muted-foreground text-sm\">${escape_html(data.reason)}</p></div> <div class=\"text-center\"><a href=\"/login\" class=\"text-primary text-sm underline\">Go to sign in</a></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-1 text-center\"><h2 class=\"text-foreground text-2xl font-bold tracking-tight\">Join ${escape_html(data.orgName)}</h2> <p class=\"text-muted-foreground text-sm\">You were invited as <span class=\"font-medium\">${escape_html(data.email)}</span>. `);\n\t\t\tif (data.mode === \"join\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`This email already has an account, so there is nothing to create — accepting adds it to\n\t\t\t\t\t\t${escape_html(data.orgName)}.`);\n\t\t\t} else if (data.mode === \"proxy\") {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`Click below to finish creating your account — your identity is verified by your company\n\t\t\t\t\t\tsign-in.`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`Set a password to finish creating your account.`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></p></div> `);\n\t\t\tif (data.mode === \"join\" && !data.signedInAsInvitee) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tif (Alert) {\n\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\tAlert($$renderer, {\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\tCircle_alert($$renderer, {});\n\t\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\t\tif (Alert_description) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\t\t\tAlert_description($$renderer, {\n\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Sign in as ${escape_html(data.email)}, then open this link again to join.`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t}\n\t\t\t\t$$renderer.push(` <a href=\"/login\" class=\"text-primary block text-center text-sm underline\">Go to sign in</a>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<form method=\"POST\" class=\"space-y-4\"><input type=\"hidden\" name=\"token\"${attr(\"value\", data.token)}/> `);\n\t\t\t\tif (form?.error) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tif (Alert) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\tAlert($$renderer, {\n\t\t\t\t\t\t\tvariant: \"destructive\",\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\tCircle_alert($$renderer, {});\n\t\t\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\t\t\tif (Alert_description) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\t\t\t\tAlert_description($$renderer, {\n\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(form.error)}`);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t}\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (data.mode === \"password\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"space-y-2\">`);\n\t\t\t\t\tLabel($$renderer, {\n\t\t\t\t\t\tfor: \"displayName\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Display name <span class=\"text-muted-foreground\">(optional)</span>`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\tid: \"displayName\",\n\t\t\t\t\t\tname: \"displayName\",\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tplaceholder: \"Your name\"\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div> <div class=\"space-y-2\">`);\n\t\t\t\t\tLabel($$renderer, {\n\t\t\t\t\t\tfor: \"password\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Password`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\tid: \"password\",\n\t\t\t\t\t\tname: \"password\",\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tplaceholder: \"Min. 8 characters\"\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div> <div class=\"space-y-2\">`);\n\t\t\t\t\tLabel($$renderer, {\n\t\t\t\t\t\tfor: \"confirm\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Confirm password`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\tid: \"confirm\",\n\t\t\t\t\t\tname: \"confirm\",\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tplaceholder: \"Repeat password\"\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tButton($$renderer, {\n\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\tclass: \"w-full\",\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(data.mode === \"password\" ? \"Create account\" : `Join ${data.orgName}`)}`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></form>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_page.svelte.js-CsOMotAt.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/accept-invite/_page.svelte.js"],"sourcesContent":["import { A as escape_html, O as attr, c as head } from \"../../../chunks/server.js\";\nimport { t as Button } from \"../../../chunks/button.js\";\nimport { t as Circle_alert } from \"../../../chunks/circle-alert.js\";\nimport { t as Label } from \"../../../chunks/label.js\";\nimport { t as page } from \"../../../chunks/state.js\";\nimport { t as Input } from \"../../../chunks/input.js\";\nimport { n as Alert, t as Alert_description } from \"../../../chunks/alert-description.js\";\n//#region src/routes/accept-invite/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data, form } = $$props;\n\t\thead(\"p8b09p\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Accept invite - ${escape_html(page.data.branding.name)}</title>`);\n\t\t\t});\n\t\t});\n\t\t$$renderer.push(`<div class=\"bg-background flex min-h-screen items-center justify-center px-4 py-12 sm:px-6 lg:px-8\"><div class=\"w-full max-w-sm space-y-6\">`);\n\t\tif (!data.ok) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-1 text-center\"><h2 class=\"text-foreground text-2xl font-bold tracking-tight\">Invite unavailable</h2> <p class=\"text-muted-foreground text-sm\">${escape_html(data.reason)}</p></div> <div class=\"text-center\"><a href=\"/login\" class=\"text-primary text-sm underline\">Go to sign in</a></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"space-y-1 text-center\"><h2 class=\"text-foreground text-2xl font-bold tracking-tight\">Join ${escape_html(data.orgName)}</h2> <p class=\"text-muted-foreground text-sm\">You were invited as <span class=\"font-medium\">${escape_html(data.email)}</span>. `);\n\t\t\tif (data.mode === \"join\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`This email already has an account, so there is nothing to create — accepting adds it to\n\t\t\t\t\t\t${escape_html(data.orgName)}.`);\n\t\t\t} else if (data.mode === \"proxy\") {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`Click below to finish creating your account — your identity is verified by your company\n\t\t\t\t\t\tsign-in.`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`Set a password to finish creating your account.`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></p></div> `);\n\t\t\tif (data.mode === \"join\" && !data.signedInAsInvitee) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tif (Alert) {\n\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\tAlert($$renderer, {\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\tCircle_alert($$renderer, {});\n\t\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\t\tif (Alert_description) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\t\t\tAlert_description($$renderer, {\n\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Sign in as ${escape_html(data.email)}, then open this link again to join.`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t}\n\t\t\t\t$$renderer.push(` <a href=\"/login\" class=\"text-primary block text-center text-sm underline\">Go to sign in</a>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<form method=\"POST\" class=\"space-y-4\"><input type=\"hidden\" name=\"token\"${attr(\"value\", data.token)}/> `);\n\t\t\t\tif (form?.error) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\tif (Alert) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\tAlert($$renderer, {\n\t\t\t\t\t\t\tvariant: \"destructive\",\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\tCircle_alert($$renderer, {});\n\t\t\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\t\t\tif (Alert_description) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\t\t\t\tAlert_description($$renderer, {\n\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(form.error)}`);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t}\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (data.mode === \"password\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"space-y-2\">`);\n\t\t\t\t\tLabel($$renderer, {\n\t\t\t\t\t\tfor: \"displayName\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Display name <span class=\"text-muted-foreground\">(optional)</span>`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\tid: \"displayName\",\n\t\t\t\t\t\tname: \"displayName\",\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tplaceholder: \"Your name\"\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div> <div class=\"space-y-2\">`);\n\t\t\t\t\tLabel($$renderer, {\n\t\t\t\t\t\tfor: \"password\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Password`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\tid: \"password\",\n\t\t\t\t\t\tname: \"password\",\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tplaceholder: \"Min. 8 characters\"\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div> <div class=\"space-y-2\">`);\n\t\t\t\t\tLabel($$renderer, {\n\t\t\t\t\t\tfor: \"confirm\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Confirm password`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\tid: \"confirm\",\n\t\t\t\t\t\tname: \"confirm\",\n\t\t\t\t\t\ttype: \"password\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\tplaceholder: \"Repeat password\"\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tButton($$renderer, {\n\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\tclass: \"w-full\",\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(data.mode === \"password\" ? \"Create account\" : `Join ${data.orgName}`)}`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----></form>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC9B,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC7C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uBAAuB,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7F,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,2IAA2I,CAAC,CAAC;AAChK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,kKAAkK,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,mHAAmH,CAAC,CAAC;AACtU,EAAE,CAAC,MAAM;AACT,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAChC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,sGAAsG,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,6FAA6F,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;AACxR,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACrC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,cAAc,CAAC,CAAC;AAChB,GAAG,CAAC,MAAM;AACV,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACjC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,+CAA+C,CAAC,CAAC;AACtE,GAAG;AACH,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACzC,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACxD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,IAAI,KAAK,EAAE;AACf,KAAK,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,KAAK,KAAK,CAAC,UAAU,EAAE;AACvB,MAAM,QAAQ,EAAE,CAAC,UAAU,KAAK;AAChC,OAAO,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;AACnC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,OAAO,IAAI,iBAAiB,EAAE;AAC9B,QAAQ,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,QAAQ,iBAAiB,CAAC,UAAU,EAAE;AACtC,SAAS,QAAQ,EAAE,CAAC,UAAU,KAAK;AACnC,UAAU,UAAU,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,oCAAoC,CAAC,CAAC;AAC7G,SAAS,CAAC;AACV,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACjC,SAAS,CAAC;AACV,QAAQ,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,OAAO,CAAC,MAAM;AACd,QAAQ,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACpC,QAAQ,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,OAAO;AACP,MAAM,CAAC;AACP,MAAM,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9B,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,IAAI,CAAC,MAAM;AACX,KAAK,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACjC,KAAK,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,IAAI;AACJ,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,4FAA4F,CAAC,CAAC;AACnH,GAAG,CAAC,MAAM;AACV,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACjC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uEAAuE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7H,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE;AACrB,KAAK,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACjC,KAAK,IAAI,KAAK,EAAE;AAChB,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,MAAM,KAAK,CAAC,UAAU,EAAE;AACxB,OAAO,OAAO,EAAE,aAAa;AAC7B,OAAO,QAAQ,EAAE,CAAC,UAAU,KAAK;AACjC,QAAQ,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;AACpC,QAAQ,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAQ,IAAI,iBAAiB,EAAE;AAC/B,SAAS,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,SAAS,iBAAiB,CAAC,UAAU,EAAE;AACvC,UAAU,QAAQ,EAAE,CAAC,UAAU,KAAK;AACpC,WAAW,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,UAAU,CAAC;AACX,UAAU,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClC,UAAU,CAAC;AACX,SAAS,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,QAAQ,CAAC,MAAM;AACf,SAAS,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,SAAS,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,QAAQ;AACR,OAAO,CAAC;AACR,OAAO,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC/B,OAAO,CAAC;AACR,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,KAAK,CAAC,MAAM;AACZ,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAClC,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,KAAK;AACL,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAChC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AAClC,KAAK,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACjC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAC/C,KAAK,KAAK,CAAC,UAAU,EAAE;AACvB,MAAM,GAAG,EAAE,aAAa;AACxB,MAAM,QAAQ,EAAE,CAAC,UAAU,KAAK;AAChC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,yEAAyE,CAAC,CAAC;AACnG,MAAM,CAAC;AACP,MAAM,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9B,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,KAAK,KAAK,CAAC,UAAU,EAAE;AACvB,MAAM,EAAE,EAAE,aAAa;AACvB,MAAM,IAAI,EAAE,aAAa;AACzB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,WAAW,EAAE;AACnB,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,qCAAqC,CAAC,CAAC;AAC7D,KAAK,KAAK,CAAC,UAAU,EAAE;AACvB,MAAM,GAAG,EAAE,UAAU;AACrB,MAAM,QAAQ,EAAE,CAAC,UAAU,KAAK;AAChC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACzC,MAAM,CAAC;AACP,MAAM,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9B,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,KAAK,KAAK,CAAC,UAAU,EAAE;AACvB,MAAM,EAAE,EAAE,UAAU;AACpB,MAAM,IAAI,EAAE,UAAU;AACtB,MAAM,IAAI,EAAE,UAAU;AACtB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,WAAW,EAAE;AACnB,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,qCAAqC,CAAC,CAAC;AAC7D,KAAK,KAAK,CAAC,UAAU,EAAE;AACvB,MAAM,GAAG,EAAE,SAAS;AACpB,MAAM,QAAQ,EAAE,CAAC,UAAU,KAAK;AAChC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC;AACjD,MAAM,CAAC;AACP,MAAM,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC9B,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,KAAK,KAAK,CAAC,UAAU,EAAE;AACvB,MAAM,EAAE,EAAE,SAAS;AACnB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,IAAI,EAAE,UAAU;AACtB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,WAAW,EAAE;AACnB,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACrC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAChC,IAAI,MAAM,CAAC,UAAU,EAAE;AACvB,KAAK,IAAI,EAAE,QAAQ;AACnB,KAAK,KAAK,EAAE,QAAQ;AACpB,KAAK,QAAQ,EAAE,CAAC,UAAU,KAAK;AAC/B,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,GAAG,gBAAgB,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpH,KAAK,CAAC;AACN,KAAK,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAC7B,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACrC,GAAG;AACH,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9B,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AACH;;;;"}
|