@selvajs/selva 2.0.10 → 2.0.11

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.
Files changed (326) hide show
  1. package/build/client/_app/immutable/chunks/{Bgf48GEj.js → C7vGxU6A.js} +1 -1
  2. package/build/client/_app/immutable/chunks/C7vGxU6A.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/C7vGxU6A.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{CGG8rM-6.js → CQbfyd2L.js} +1 -1
  5. package/build/client/_app/immutable/chunks/CQbfyd2L.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/CQbfyd2L.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{CQQ--RFk.js → DhVbSqkb.js} +1 -1
  8. package/build/client/_app/immutable/chunks/DhVbSqkb.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/DhVbSqkb.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{A6Vs_oZV.js → DmaxIj00.js} +1 -1
  11. package/build/client/_app/immutable/chunks/DmaxIj00.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/DmaxIj00.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/m_mdPJGt.js +3 -0
  14. package/build/client/_app/immutable/chunks/m_mdPJGt.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/m_mdPJGt.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{DaXfFNFB.js → o98Aze-n.js} +1 -1
  17. package/build/client/_app/immutable/chunks/o98Aze-n.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/o98Aze-n.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/{app.CKMPJJRF.js → app.BTWTTuAm.js} +2 -2
  20. package/build/client/_app/immutable/entry/app.BTWTTuAm.js.br +0 -0
  21. package/build/client/_app/immutable/entry/app.BTWTTuAm.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/start.BH_CUTR9.js +1 -0
  23. package/build/client/_app/immutable/entry/start.BH_CUTR9.js.br +2 -0
  24. package/build/client/_app/immutable/entry/start.BH_CUTR9.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{1.CBSGNp0x.js → 1.DwOSHATI.js} +1 -1
  26. package/build/client/_app/immutable/nodes/1.DwOSHATI.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/1.DwOSHATI.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{11.D8vq6hbM.js → 11.Zly9hDVc.js} +1 -1
  29. package/build/client/_app/immutable/nodes/11.Zly9hDVc.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/{11.D8vq6hbM.js.gz → 11.Zly9hDVc.js.gz} +0 -0
  31. package/build/client/_app/immutable/nodes/{13.CAeK6ncz.js → 13.DPp5H0wF.js} +1 -1
  32. package/build/client/_app/immutable/nodes/13.DPp5H0wF.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/13.DPp5H0wF.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{14.BQgMKGR9.js → 14.Ckr1Pg-5.js} +1 -1
  35. package/build/client/_app/immutable/nodes/14.Ckr1Pg-5.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/14.Ckr1Pg-5.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{16.COqS-C2g.js → 16.D28cXk6c.js} +1 -1
  38. package/build/client/_app/immutable/nodes/16.D28cXk6c.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/16.D28cXk6c.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{17.DFOKDpKT.js → 17.zVEt35IE.js} +1 -1
  41. package/build/client/_app/immutable/nodes/17.zVEt35IE.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/17.zVEt35IE.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{19.Dvf5ii3B.js → 19.BVpcFyka.js} +1 -1
  44. package/build/client/_app/immutable/nodes/19.BVpcFyka.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/19.BVpcFyka.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{2.B4hNrAp8.js → 2.CQHOuONl.js} +1 -1
  47. package/build/client/_app/immutable/nodes/2.CQHOuONl.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/2.CQHOuONl.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{20.DXexjElq.js → 20.BCewwiaR.js} +1 -1
  50. package/build/client/_app/immutable/nodes/20.BCewwiaR.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/20.BCewwiaR.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/21.BsayWLjJ.js +4 -0
  53. package/build/client/_app/immutable/nodes/21.BsayWLjJ.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/21.BsayWLjJ.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{23.DuFwz8Vn.js → 23.DqdpBgOG.js} +1 -1
  56. package/build/client/_app/immutable/nodes/23.DqdpBgOG.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/23.DqdpBgOG.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{24.DxzLaZvY.js → 24.PfN1WmGB.js} +1 -1
  59. package/build/client/_app/immutable/nodes/24.PfN1WmGB.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/24.PfN1WmGB.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{27.BuC47dzM.js → 27.ps76gC2y.js} +1 -1
  62. package/build/client/_app/immutable/nodes/27.ps76gC2y.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/27.ps76gC2y.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{28.C_uTKWGO.js → 28.jwW5ZPBb.js} +1 -1
  65. package/build/client/_app/immutable/nodes/28.jwW5ZPBb.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/28.jwW5ZPBb.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/{29.8zDETWDm.js → 29.C4UksAwf.js} +1 -1
  68. package/build/client/_app/immutable/nodes/29.C4UksAwf.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/29.C4UksAwf.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{3.Bfn3gVJk.js → 3.DeyGtotz.js} +1 -1
  71. package/build/client/_app/immutable/nodes/3.DeyGtotz.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/3.DeyGtotz.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{30.e6k62qmr.js → 30.Ba8GVvTS.js} +1 -1
  74. package/build/client/_app/immutable/nodes/30.Ba8GVvTS.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/30.Ba8GVvTS.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{5.BuIfvCG_.js → 5.CEzlqY4U.js} +1 -1
  77. package/build/client/_app/immutable/nodes/5.CEzlqY4U.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/5.CEzlqY4U.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{6.7n3uXlRb.js → 6.CUbjblGG.js} +1 -1
  80. package/build/client/_app/immutable/nodes/6.CUbjblGG.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/6.CUbjblGG.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{7.hY96lcAK.js → 7.C7uFakzg.js} +1 -1
  83. package/build/client/_app/immutable/nodes/7.C7uFakzg.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/7.C7uFakzg.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{8.BJVGDvKO.js → 8.DV-QvL-P.js} +1 -1
  86. package/build/client/_app/immutable/nodes/8.DV-QvL-P.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/8.DV-QvL-P.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/9.Cowm-e34.js +1 -0
  89. package/build/client/_app/immutable/nodes/9.Cowm-e34.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/9.Cowm-e34.js.gz +0 -0
  91. package/build/client/_app/version.json +1 -1
  92. package/build/client/_app/version.json.br +0 -0
  93. package/build/client/_app/version.json.gz +0 -0
  94. package/build/server/chunks/{0-BwkJawM9.js → 0-Dr_3KI7H.js} +2 -2
  95. package/build/server/chunks/{0-BwkJawM9.js.map → 0-Dr_3KI7H.js.map} +1 -1
  96. package/build/server/chunks/{1-DHXobBGu.js → 1-DpVveeAx.js} +2 -2
  97. package/build/server/chunks/{1-DHXobBGu.js.map → 1-DpVveeAx.js.map} +1 -1
  98. package/build/server/chunks/{10-B96sdHm3.js → 10-2TpR0PL8.js} +4 -4
  99. package/build/server/chunks/{10-B96sdHm3.js.map → 10-2TpR0PL8.js.map} +1 -1
  100. package/build/server/chunks/{11-BDWsB0ko.js → 11-Bc-lK9-m.js} +6 -6
  101. package/build/server/chunks/{11-BDWsB0ko.js.map → 11-Bc-lK9-m.js.map} +1 -1
  102. package/build/server/chunks/{12-Djatn5UB.js → 12-ChbvAloo.js} +2 -2
  103. package/build/server/chunks/{12-Djatn5UB.js.map → 12-ChbvAloo.js.map} +1 -1
  104. package/build/server/chunks/{13-C2yj7_Mb.js → 13-Dlj23jh3.js} +3 -3
  105. package/build/server/chunks/{13-C2yj7_Mb.js.map → 13-Dlj23jh3.js.map} +1 -1
  106. package/build/server/chunks/{14-BQlCNoCl.js → 14-D1elkPr9.js} +3 -3
  107. package/build/server/chunks/{14-BQlCNoCl.js.map → 14-D1elkPr9.js.map} +1 -1
  108. package/build/server/chunks/{15-CHrs6UVa.js → 15-DPDMpQHT.js} +3 -3
  109. package/build/server/chunks/{15-CHrs6UVa.js.map → 15-DPDMpQHT.js.map} +1 -1
  110. package/build/server/chunks/{16-CgRtwJn8.js → 16-BAIR1y-G.js} +5 -5
  111. package/build/server/chunks/{16-CgRtwJn8.js.map → 16-BAIR1y-G.js.map} +1 -1
  112. package/build/server/chunks/{17-BQigDlDw.js → 17-Bgy8wV-3.js} +2 -2
  113. package/build/server/chunks/{17-BQigDlDw.js.map → 17-Bgy8wV-3.js.map} +1 -1
  114. package/build/server/chunks/{18-ZllBwU0v.js → 18-B12TC_xG.js} +2 -2
  115. package/build/server/chunks/{18-ZllBwU0v.js.map → 18-B12TC_xG.js.map} +1 -1
  116. package/build/server/chunks/{19-rqqB4i4s.js → 19-DFUJ-cPC.js} +3 -3
  117. package/build/server/chunks/{19-rqqB4i4s.js.map → 19-DFUJ-cPC.js.map} +1 -1
  118. package/build/server/chunks/{2-BYd4MZUE.js → 2-C5cHr5Wg.js} +5 -5
  119. package/build/server/chunks/{2-BYd4MZUE.js.map → 2-C5cHr5Wg.js.map} +1 -1
  120. package/build/server/chunks/{20-DooF4BHq.js → 20-7IiGDCfi.js} +9 -9
  121. package/build/server/chunks/{20-DooF4BHq.js.map → 20-7IiGDCfi.js.map} +1 -1
  122. package/build/server/chunks/{21-BNS0VEZs.js → 21-CNigSlHO.js} +16 -7
  123. package/build/server/chunks/21-CNigSlHO.js.map +1 -0
  124. package/build/server/chunks/{23-CrylGvWo.js → 23-Co-jOKsq.js} +6 -6
  125. package/build/server/chunks/{23-CrylGvWo.js.map → 23-Co-jOKsq.js.map} +1 -1
  126. package/build/server/chunks/{24-DX03r0Ku.js → 24-DvOkSXb5.js} +4 -4
  127. package/build/server/chunks/{24-DX03r0Ku.js.map → 24-DvOkSXb5.js.map} +1 -1
  128. package/build/server/chunks/{25-DaOQwMkm.js → 25-CryepyT_.js} +2 -2
  129. package/build/server/chunks/{25-DaOQwMkm.js.map → 25-CryepyT_.js.map} +1 -1
  130. package/build/server/chunks/{27-BumS-Wey.js → 27-DtqBEyra.js} +4 -4
  131. package/build/server/chunks/{27-BumS-Wey.js.map → 27-DtqBEyra.js.map} +1 -1
  132. package/build/server/chunks/{28-Bs0ilm4z.js → 28-nphTAiOz.js} +3 -3
  133. package/build/server/chunks/{28-Bs0ilm4z.js.map → 28-nphTAiOz.js.map} +1 -1
  134. package/build/server/chunks/{29-eOSgz-Q6.js → 29-qD2ff8yc.js} +3 -3
  135. package/build/server/chunks/{29-eOSgz-Q6.js.map → 29-qD2ff8yc.js.map} +1 -1
  136. package/build/server/chunks/{3-C1Hnunxq.js → 3-C1ShQmRn.js} +2 -2
  137. package/build/server/chunks/{3-C1Hnunxq.js.map → 3-C1ShQmRn.js.map} +1 -1
  138. package/build/server/chunks/{30-B_fYQ406.js → 30-DWf41Hl_.js} +3 -3
  139. package/build/server/chunks/{30-B_fYQ406.js.map → 30-DWf41Hl_.js.map} +1 -1
  140. package/build/server/chunks/{31-B1XsXSZ-.js → 31-S98r5Afv.js} +2 -2
  141. package/build/server/chunks/{31-B1XsXSZ-.js.map → 31-S98r5Afv.js.map} +1 -1
  142. package/build/server/chunks/{32-Dczg8t26.js → 32-EvYDgnSw.js} +2 -2
  143. package/build/server/chunks/{32-Dczg8t26.js.map → 32-EvYDgnSw.js.map} +1 -1
  144. package/build/server/chunks/{5-Bhs6XBN_.js → 5-DTeumakx.js} +2 -2
  145. package/build/server/chunks/{5-Bhs6XBN_.js.map → 5-DTeumakx.js.map} +1 -1
  146. package/build/server/chunks/{6-DQiiyzxX.js → 6-BYo6Qo8b.js} +3 -3
  147. package/build/server/chunks/{6-DQiiyzxX.js.map → 6-BYo6Qo8b.js.map} +1 -1
  148. package/build/server/chunks/{7-Mh6-dFfT.js → 7-qSmAP9RY.js} +2 -2
  149. package/build/server/chunks/{7-Mh6-dFfT.js.map → 7-qSmAP9RY.js.map} +1 -1
  150. package/build/server/chunks/{8-tu9jPKDH.js → 8-DeuHkUMB.js} +3 -3
  151. package/build/server/chunks/{8-tu9jPKDH.js.map → 8-DeuHkUMB.js.map} +1 -1
  152. package/build/server/chunks/{9-Blq9VO5M.js → 9-g6Y-orbL.js} +4 -4
  153. package/build/server/chunks/{9-Blq9VO5M.js.map → 9-g6Y-orbL.js.map} +1 -1
  154. package/build/server/chunks/{_page.svelte-DSpONoJg.js → _page.svelte-CqD36W22.js} +10 -3
  155. package/build/server/chunks/_page.svelte-CqD36W22.js.map +1 -0
  156. package/build/server/chunks/{_page.svelte-DFumYbGi.js → _page.svelte-ewKjgRGP.js} +5 -5
  157. package/build/server/chunks/_page.svelte-ewKjgRGP.js.map +1 -0
  158. package/build/server/chunks/{_server.ts-HHpSHV0x.js → _server.ts-8QjiYm48.js} +4 -4
  159. package/build/server/chunks/{_server.ts-HHpSHV0x.js.map → _server.ts-8QjiYm48.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-DFSeb1Vi.js → _server.ts-BB8U11yC.js} +4 -4
  161. package/build/server/chunks/{_server.ts-DFSeb1Vi.js.map → _server.ts-BB8U11yC.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-DqAlXFFH.js → _server.ts-BNhuuE9J.js} +6 -6
  163. package/build/server/chunks/{_server.ts-DqAlXFFH.js.map → _server.ts-BNhuuE9J.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-Cw0SJh0B.js → _server.ts-BctA3275.js} +4 -4
  165. package/build/server/chunks/{_server.ts-Cw0SJh0B.js.map → _server.ts-BctA3275.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-B8Klg9b0.js → _server.ts-C72MeQO4.js} +2 -2
  167. package/build/server/chunks/{_server.ts-B8Klg9b0.js.map → _server.ts-C72MeQO4.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-CWhAZS7d.js → _server.ts-C9Y8O11v.js} +4 -4
  169. package/build/server/chunks/{_server.ts-CWhAZS7d.js.map → _server.ts-C9Y8O11v.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-BJxv0nGq.js → _server.ts-CBXJ3sWT.js} +4 -4
  171. package/build/server/chunks/{_server.ts-BJxv0nGq.js.map → _server.ts-CBXJ3sWT.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-DA0Lq54y.js → _server.ts-CBupEVgc.js} +3 -3
  173. package/build/server/chunks/{_server.ts-DA0Lq54y.js.map → _server.ts-CBupEVgc.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-DHk_Z16q.js → _server.ts-CCaOj5qQ.js} +4 -4
  175. package/build/server/chunks/{_server.ts-DHk_Z16q.js.map → _server.ts-CCaOj5qQ.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-CU_uO5Be.js → _server.ts-CVDCtecg.js} +4 -4
  177. package/build/server/chunks/{_server.ts-CU_uO5Be.js.map → _server.ts-CVDCtecg.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-CWgMDUW5.js → _server.ts-CYRzm3Te.js} +4 -4
  179. package/build/server/chunks/{_server.ts-CWgMDUW5.js.map → _server.ts-CYRzm3Te.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-CXxbYs18.js → _server.ts-CapRJaU0.js} +4 -4
  181. package/build/server/chunks/{_server.ts-CXxbYs18.js.map → _server.ts-CapRJaU0.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-CYg1-gUK.js → _server.ts-CffaoluO.js} +4 -4
  183. package/build/server/chunks/{_server.ts-CYg1-gUK.js.map → _server.ts-CffaoluO.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-BauREevi.js → _server.ts-Ci4bczRU.js} +3 -3
  185. package/build/server/chunks/{_server.ts-BauREevi.js.map → _server.ts-Ci4bczRU.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-CoEHLvhd.js → _server.ts-D0jpDtY6.js} +7 -7
  187. package/build/server/chunks/{_server.ts-CoEHLvhd.js.map → _server.ts-D0jpDtY6.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-Dty-h13-.js → _server.ts-D3U55JtM.js} +5 -5
  189. package/build/server/chunks/{_server.ts-Dty-h13-.js.map → _server.ts-D3U55JtM.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-BZI6uyQW.js → _server.ts-DA2gHOEv.js} +4 -4
  191. package/build/server/chunks/{_server.ts-BZI6uyQW.js.map → _server.ts-DA2gHOEv.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-DMQx2USs.js → _server.ts-DH46mwMu.js} +4 -4
  193. package/build/server/chunks/{_server.ts-DMQx2USs.js.map → _server.ts-DH46mwMu.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-wKzFLxYm.js → _server.ts-DIA0nypE.js} +4 -4
  195. package/build/server/chunks/{_server.ts-wKzFLxYm.js.map → _server.ts-DIA0nypE.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-Bv7Vz5Xn.js → _server.ts-DIDUPMUT.js} +4 -4
  197. package/build/server/chunks/{_server.ts-Bv7Vz5Xn.js.map → _server.ts-DIDUPMUT.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-B9dyak6S.js → _server.ts-DLL3XSZW.js} +5 -5
  199. package/build/server/chunks/{_server.ts-B9dyak6S.js.map → _server.ts-DLL3XSZW.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-Dnhj7lwZ.js → _server.ts-DT5OwjDI.js} +4 -4
  201. package/build/server/chunks/{_server.ts-Dnhj7lwZ.js.map → _server.ts-DT5OwjDI.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-BNeRrZiC.js → _server.ts-DZfNclhh.js} +4 -4
  203. package/build/server/chunks/{_server.ts-BNeRrZiC.js.map → _server.ts-DZfNclhh.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-HtL-WwFA.js → _server.ts-DkekkLe3.js} +4 -4
  205. package/build/server/chunks/{_server.ts-HtL-WwFA.js.map → _server.ts-DkekkLe3.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-JUsPxh3B.js → _server.ts-DqSYGJwj.js} +4 -4
  207. package/build/server/chunks/{_server.ts-JUsPxh3B.js.map → _server.ts-DqSYGJwj.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-CRWYKoKH.js → _server.ts-Dvw_Z0Cw.js} +4 -4
  209. package/build/server/chunks/{_server.ts-CRWYKoKH.js.map → _server.ts-Dvw_Z0Cw.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-C6-TzfcL.js → _server.ts-L9E2K0UZ.js} +4 -4
  211. package/build/server/chunks/{_server.ts-C6-TzfcL.js.map → _server.ts-L9E2K0UZ.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-DZIvAAI3.js → _server.ts-OFmjL3-M.js} +4 -4
  213. package/build/server/chunks/{_server.ts-DZIvAAI3.js.map → _server.ts-OFmjL3-M.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-CasH9SwH.js → _server.ts-PFG4aGE3.js} +4 -4
  215. package/build/server/chunks/{_server.ts-CasH9SwH.js.map → _server.ts-PFG4aGE3.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-CeMGFK8t.js → _server.ts-SVtgpOfH.js} +3 -3
  217. package/build/server/chunks/{_server.ts-CeMGFK8t.js.map → _server.ts-SVtgpOfH.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-DEwvCClL.js → _server.ts-YJbrc522.js} +4 -4
  219. package/build/server/chunks/{_server.ts-DEwvCClL.js.map → _server.ts-YJbrc522.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-BOkX-0DJ.js → _server.ts-bN4Lz9RH.js} +4 -4
  221. package/build/server/chunks/{_server.ts-BOkX-0DJ.js.map → _server.ts-bN4Lz9RH.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-CM4bU3nb.js → _server.ts-bnATlqbs.js} +5 -5
  223. package/build/server/chunks/{_server.ts-CM4bU3nb.js.map → _server.ts-bnATlqbs.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-HrxAWCu8.js → _server.ts-eUYIsIFa.js} +4 -4
  225. package/build/server/chunks/{_server.ts-HrxAWCu8.js.map → _server.ts-eUYIsIFa.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-BzyWxO2V.js → _server.ts-pQtrhbNR.js} +5 -5
  227. package/build/server/chunks/{_server.ts-BzyWxO2V.js.map → _server.ts-pQtrhbNR.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-B-Q-Ll-v.js → _server.ts-tZLezQ2K.js} +4 -4
  229. package/build/server/chunks/{_server.ts-B-Q-Ll-v.js.map → _server.ts-tZLezQ2K.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-CJ3r_HVJ.js → _server.ts-yWNI61C2.js} +5 -5
  231. package/build/server/chunks/{_server.ts-CJ3r_HVJ.js.map → _server.ts-yWNI61C2.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-B1Y6yftf.js → _server.ts-z7zvXa1n.js} +3 -3
  233. package/build/server/chunks/{_server.ts-B1Y6yftf.js.map → _server.ts-z7zvXa1n.js.map} +1 -1
  234. package/build/server/chunks/{access.server-Cpz6F2ZC.js → access.server-BIbrdwtI.js} +3 -3
  235. package/build/server/chunks/{access.server-Cpz6F2ZC.js.map → access.server-BIbrdwtI.js.map} +1 -1
  236. package/build/server/chunks/{api-errors-CBEdAg2T.js → api-errors-Dvd_bb0g.js} +2 -2
  237. package/build/server/chunks/{api-errors-CBEdAg2T.js.map → api-errors-Dvd_bb0g.js.map} +1 -1
  238. package/build/server/chunks/{auth-bootstrap.server-BnBerntQ.js → auth-bootstrap.server-B93MMm50.js} +2 -2
  239. package/build/server/chunks/{auth-bootstrap.server-BnBerntQ.js.map → auth-bootstrap.server-B93MMm50.js.map} +1 -1
  240. package/build/server/chunks/{bootHealth.server-XLXnMQ_j.js → bootHealth.server-CCMjOn0m.js} +2 -2
  241. package/build/server/chunks/{bootHealth.server-XLXnMQ_j.js.map → bootHealth.server-CCMjOn0m.js.map} +1 -1
  242. package/build/server/chunks/{hooks.server-CWpJXpT3.js → hooks.server-BEJK3uzD.js} +15 -6
  243. package/build/server/chunks/hooks.server-BEJK3uzD.js.map +1 -0
  244. package/build/server/chunks/{permissions.server-zTQc77dD.js → permissions.server-Bfvp6EaK.js} +2 -2
  245. package/build/server/chunks/{permissions.server-zTQc77dD.js.map → permissions.server-Bfvp6EaK.js.map} +1 -1
  246. package/build/server/chunks/{providers.server-D1dTI3cw.js → providers.server-CuhJFeVB.js} +15 -2
  247. package/build/server/chunks/providers.server-CuhJFeVB.js.map +1 -0
  248. package/build/server/chunks/{resolve.server-DmsjqGqj.js → resolve.server-ButnJP6T.js} +3 -3
  249. package/build/server/chunks/{resolve.server-DmsjqGqj.js.map → resolve.server-ButnJP6T.js.map} +1 -1
  250. package/build/server/chunks/{resolve.server2-WBINVOER.js → resolve.server2-BniR9tSC.js} +2 -2
  251. package/build/server/chunks/{resolve.server2-WBINVOER.js.map → resolve.server2-BniR9tSC.js.map} +1 -1
  252. package/build/server/chunks/{utils2-fF4hylrs.js → utils2-BZ2tVtxn.js} +2 -2
  253. package/build/server/chunks/{utils2-fF4hylrs.js.map → utils2-BZ2tVtxn.js.map} +1 -1
  254. package/build/server/index.js +2 -2
  255. package/build/server/index.js.map +1 -1
  256. package/build/server/manifest.js +69 -69
  257. package/build/server/manifest.js.map +1 -1
  258. package/package.json +3 -3
  259. package/build/client/_app/immutable/chunks/A6Vs_oZV.js.br +0 -0
  260. package/build/client/_app/immutable/chunks/A6Vs_oZV.js.gz +0 -0
  261. package/build/client/_app/immutable/chunks/Bgf48GEj.js.br +0 -0
  262. package/build/client/_app/immutable/chunks/Bgf48GEj.js.gz +0 -0
  263. package/build/client/_app/immutable/chunks/CGG8rM-6.js.br +0 -0
  264. package/build/client/_app/immutable/chunks/CGG8rM-6.js.gz +0 -0
  265. package/build/client/_app/immutable/chunks/CQQ--RFk.js.br +0 -0
  266. package/build/client/_app/immutable/chunks/CQQ--RFk.js.gz +0 -0
  267. package/build/client/_app/immutable/chunks/CTEi7jkr.js +0 -3
  268. package/build/client/_app/immutable/chunks/CTEi7jkr.js.br +0 -0
  269. package/build/client/_app/immutable/chunks/CTEi7jkr.js.gz +0 -0
  270. package/build/client/_app/immutable/chunks/DaXfFNFB.js.br +0 -0
  271. package/build/client/_app/immutable/chunks/DaXfFNFB.js.gz +0 -0
  272. package/build/client/_app/immutable/entry/app.CKMPJJRF.js.br +0 -0
  273. package/build/client/_app/immutable/entry/app.CKMPJJRF.js.gz +0 -0
  274. package/build/client/_app/immutable/entry/start.BNxKlw9Q.js +0 -1
  275. package/build/client/_app/immutable/entry/start.BNxKlw9Q.js.br +0 -2
  276. package/build/client/_app/immutable/entry/start.BNxKlw9Q.js.gz +0 -0
  277. package/build/client/_app/immutable/nodes/1.CBSGNp0x.js.br +0 -0
  278. package/build/client/_app/immutable/nodes/1.CBSGNp0x.js.gz +0 -0
  279. package/build/client/_app/immutable/nodes/11.D8vq6hbM.js.br +0 -0
  280. package/build/client/_app/immutable/nodes/13.CAeK6ncz.js.br +0 -0
  281. package/build/client/_app/immutable/nodes/13.CAeK6ncz.js.gz +0 -0
  282. package/build/client/_app/immutable/nodes/14.BQgMKGR9.js.br +0 -0
  283. package/build/client/_app/immutable/nodes/14.BQgMKGR9.js.gz +0 -0
  284. package/build/client/_app/immutable/nodes/16.COqS-C2g.js.br +0 -0
  285. package/build/client/_app/immutable/nodes/16.COqS-C2g.js.gz +0 -0
  286. package/build/client/_app/immutable/nodes/17.DFOKDpKT.js.br +0 -0
  287. package/build/client/_app/immutable/nodes/17.DFOKDpKT.js.gz +0 -0
  288. package/build/client/_app/immutable/nodes/19.Dvf5ii3B.js.br +0 -0
  289. package/build/client/_app/immutable/nodes/19.Dvf5ii3B.js.gz +0 -0
  290. package/build/client/_app/immutable/nodes/2.B4hNrAp8.js.br +0 -0
  291. package/build/client/_app/immutable/nodes/2.B4hNrAp8.js.gz +0 -0
  292. package/build/client/_app/immutable/nodes/20.DXexjElq.js.br +0 -0
  293. package/build/client/_app/immutable/nodes/20.DXexjElq.js.gz +0 -0
  294. package/build/client/_app/immutable/nodes/21.CY6vTFDO.js +0 -3
  295. package/build/client/_app/immutable/nodes/21.CY6vTFDO.js.br +0 -0
  296. package/build/client/_app/immutable/nodes/21.CY6vTFDO.js.gz +0 -0
  297. package/build/client/_app/immutable/nodes/23.DuFwz8Vn.js.br +0 -0
  298. package/build/client/_app/immutable/nodes/23.DuFwz8Vn.js.gz +0 -0
  299. package/build/client/_app/immutable/nodes/24.DxzLaZvY.js.br +0 -0
  300. package/build/client/_app/immutable/nodes/24.DxzLaZvY.js.gz +0 -0
  301. package/build/client/_app/immutable/nodes/27.BuC47dzM.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/27.BuC47dzM.js.gz +0 -0
  303. package/build/client/_app/immutable/nodes/28.C_uTKWGO.js.br +0 -0
  304. package/build/client/_app/immutable/nodes/28.C_uTKWGO.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/29.8zDETWDm.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/29.8zDETWDm.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/3.Bfn3gVJk.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/3.Bfn3gVJk.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/30.e6k62qmr.js.br +0 -0
  310. package/build/client/_app/immutable/nodes/30.e6k62qmr.js.gz +0 -0
  311. package/build/client/_app/immutable/nodes/5.BuIfvCG_.js.br +0 -0
  312. package/build/client/_app/immutable/nodes/5.BuIfvCG_.js.gz +0 -0
  313. package/build/client/_app/immutable/nodes/6.7n3uXlRb.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/6.7n3uXlRb.js.gz +0 -0
  315. package/build/client/_app/immutable/nodes/7.hY96lcAK.js.br +0 -0
  316. package/build/client/_app/immutable/nodes/7.hY96lcAK.js.gz +0 -0
  317. package/build/client/_app/immutable/nodes/8.BJVGDvKO.js.br +0 -0
  318. package/build/client/_app/immutable/nodes/8.BJVGDvKO.js.gz +0 -0
  319. package/build/client/_app/immutable/nodes/9.DfzNXXlu.js +0 -1
  320. package/build/client/_app/immutable/nodes/9.DfzNXXlu.js.br +0 -0
  321. package/build/client/_app/immutable/nodes/9.DfzNXXlu.js.gz +0 -0
  322. package/build/server/chunks/21-BNS0VEZs.js.map +0 -1
  323. package/build/server/chunks/_page.svelte-DFumYbGi.js.map +0 -1
  324. package/build/server/chunks/_page.svelte-DSpONoJg.js.map +0 -1
  325. package/build/server/chunks/hooks.server-CWpJXpT3.js.map +0 -1
  326. package/build/server/chunks/providers.server-D1dTI3cw.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { fail, redirect } from '@sveltejs/kit';
2
2
  import { S as SYSTEM_CONTEXT } from './context-9tV9WxQ5.js';
3
- import { d as getInviteStore, g as getAuthProvider, c as getOrganizationProvider, e as getUserProfileStore } from './providers.server-D1dTI3cw.js';
3
+ import { d as getInviteStore, g as getAuthProvider, c as getOrganizationProvider, e as getUserProfileStore } from './providers.server-CuhJFeVB.js';
4
4
  import { s as setSessionCookie } from './admin-auth.server-CdTfBMI5.js';
5
5
  import { h as hashToken } from './token.server2-D0Z99lBB.js';
6
6
  import 'zod';
@@ -122,9 +122,9 @@ const index = 8;
122
122
  let component_cache;
123
123
  const component = async () => component_cache ??= (await import('./_page.svelte-DQeDu6UN.js')).default;
124
124
  const server_id = "src/routes/accept-invite/+page.server.ts";
125
- const imports = ["_app/immutable/nodes/8.BJVGDvKO.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/ooPBmYPj.js","_app/immutable/chunks/BMGykAfL.js","_app/immutable/chunks/_OLpdTiI.js","_app/immutable/chunks/C8ko2SLk.js","_app/immutable/chunks/Gxlzmh6y.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/BM4_iXSA.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/CGG8rM-6.js","_app/immutable/chunks/CTEi7jkr.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/azBeeLR0.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/BoR6OKl6.js","_app/immutable/chunks/D99uXqZb.js","_app/immutable/chunks/BW4xleRz.js","_app/immutable/chunks/B8uG8z2c.js","_app/immutable/chunks/CRRzXoPz.js","_app/immutable/chunks/jFKgkeON.js","_app/immutable/chunks/DEBBEmC0.js"];
125
+ const imports = ["_app/immutable/nodes/8.DV-QvL-P.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/ooPBmYPj.js","_app/immutable/chunks/BMGykAfL.js","_app/immutable/chunks/_OLpdTiI.js","_app/immutable/chunks/C8ko2SLk.js","_app/immutable/chunks/Gxlzmh6y.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/BM4_iXSA.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/CQbfyd2L.js","_app/immutable/chunks/m_mdPJGt.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/azBeeLR0.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/BoR6OKl6.js","_app/immutable/chunks/D99uXqZb.js","_app/immutable/chunks/BW4xleRz.js","_app/immutable/chunks/B8uG8z2c.js","_app/immutable/chunks/CRRzXoPz.js","_app/immutable/chunks/jFKgkeON.js","_app/immutable/chunks/DEBBEmC0.js"];
126
126
  const stylesheets = [];
127
127
  const fonts = [];
128
128
 
129
129
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
130
- //# sourceMappingURL=8-tu9jPKDH.js.map
130
+ //# sourceMappingURL=8-DeuHkUMB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"8-tu9jPKDH.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/accept-invite/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["import { fail, redirect } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../../../chunks/context.js\";\nimport { n as getInviteStore, e as getAuthProvider, a as getOrganizationProvider, d as getUserProfileStore } from \"../../../chunks/providers.server.js\";\nimport { s as setSessionCookie } from \"../../../chunks/admin-auth.server.js\";\nimport { h as hashToken } from \"../../../chunks/token.server2.js\";\nconst load = async ({ url }) => {\n const token = url.searchParams.get(\"token\")?.trim();\n if (!token) {\n return { ok: false, reason: \"This invite link is missing a token.\" };\n }\n const invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n if (!invite) {\n return { ok: false, reason: \"This invite link is invalid or has expired.\" };\n }\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, invite.orgId);\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n return {\n ok: true,\n email: invite.email,\n orgName: org?.name ?? \"the organization\",\n token,\n mode\n };\n};\nconst actions = {\n default: async ({ request, cookies }) => {\n const data = await request.formData();\n const token = data.get(\"token\")?.trim() ?? \"\";\n const password = data.get(\"password\");\n const confirm = data.get(\"confirm\");\n const displayName = data.get(\"displayName\")?.trim() || void 0;\n if (!token) {\n return fail(400, { error: \"Missing invite token.\" });\n }\n let invite;\n try {\n invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n } catch {\n return fail(500, { error: \"Could not validate the invite. Please try again.\" });\n }\n if (!invite) {\n return fail(410, { error: \"This invite link is invalid or has expired.\" });\n }\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n if (mode === \"password\") {\n if (!password || password.length < 8) {\n return fail(400, { error: \"Password must be at least 8 characters.\" });\n }\n if (password !== confirm) {\n return fail(400, { error: \"Passwords do not match.\" });\n }\n }\n let user;\n try {\n if (mode === \"password\" && auth.passwordAuth) {\n user = await auth.passwordAuth.createUserWithPassword(invite.email, password);\n } else if (mode === \"proxy\" && auth.createUser) {\n user = await auth.createUser(invite.email);\n } else {\n return fail(501, { error: \"This provider does not support invite-based signup.\" });\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : \"Could not create your account.\";\n return fail(400, { error: msg });\n }\n try {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId: invite.orgId,\n userId: user.id,\n role: invite.orgRole,\n permissions: invite.orgPermissions,\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: invite.invitedBy,\n deletedAt: null\n });\n await getInviteStore().markAccepted(SYSTEM_CONTEXT, invite.id, user.id);\n } catch (err) {\n console.error(\"[accept-invite] post-signup wiring failed\", err);\n return fail(500, {\n error: \"Your account was created, but we could not finish joining the organization. Please contact your admin.\"\n });\n }\n if (displayName) {\n try {\n await getUserProfileStore().updateProfile(SYSTEM_CONTEXT, user.id, { displayName });\n } catch {\n }\n }\n if (mode === \"password\" && auth.passwordAuth) {\n const loginResult = await auth.passwordAuth.verifyLogin(invite.email, password);\n if (loginResult.kind !== \"success\") {\n return fail(500, {\n error: \"Your account was created but login failed. Please sign in manually.\"\n });\n }\n setSessionCookie(cookies, loginResult.sessionToken);\n }\n redirect(303, \"/admin\");\n }\n};\nexport {\n actions,\n load\n};\n","import * as server from '../entries/pages/accept-invite/_page.server.ts.js';\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/accept-invite/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/accept-invite/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/8.BJVGDvKO.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/CGG8rM-6.js\",\"_app/immutable/chunks/CTEi7jkr.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/azBeeLR0.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/BoR6OKl6.js\",\"_app/immutable/chunks/D99uXqZb.js\",\"_app/immutable/chunks/BW4xleRz.js\",\"_app/immutable/chunks/B8uG8z2c.js\",\"_app/immutable/chunks/CRRzXoPz.js\",\"_app/immutable/chunks/jFKgkeON.js\",\"_app/immutable/chunks/DEBBEmC0.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,MAAM,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAChC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE;AACrD,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sCAAsC,EAAE;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACxF,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,6CAA6C,EAAE;AAC/E,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC;AAClF,EAAE,MAAM,IAAI,GAAG,eAAe,EAAE;AAChC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,UAAU;AACxG,EAAE,OAAO;AACT,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK;AACvB,IAAI,OAAO,EAAE,GAAG,EAAE,IAAI,IAAI,kBAAkB;AAC5C,IAAI,KAAK;AACT,IAAI;AACJ,GAAG;AACH,CAAC;AACD,MAAM,OAAO,GAAG;AAChB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AAC3C,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;AACjD,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AACzC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM;AACjE,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;AAC1D,IAAI;AACJ,IAAI,IAAI,MAAM;AACd,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACtF,IAAI,CAAC,CAAC,MAAM;AACZ,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;AACrF,IAAI;AACJ,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC;AAChF,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,eAAe,EAAE;AAClC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,UAAU;AAC1G,IAAI,IAAI,IAAI,KAAK,UAAU,EAAE;AAC7B,MAAM,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,QAAQ,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;AAC9E,MAAM;AACN,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;AAChC,QAAQ,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;AAC9D,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI;AACZ,IAAI,IAAI;AACR,MAAM,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;AACpD,QAAQ,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;AACrF,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;AACtD,QAAQ,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,qDAAqD,EAAE,CAAC;AAC1F,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,gCAAgC;AACvF,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACtC,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACjE,MAAM,MAAM,uBAAuB,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE;AACnE,QAAQ,KAAK,EAAE,MAAM,CAAC,KAAK;AAC3B,QAAQ,MAAM,EAAE,IAAI,CAAC,EAAE;AACvB,QAAQ,IAAI,EAAE,MAAM,CAAC,OAAO;AAC5B,QAAQ,WAAW,EAAE,MAAM,CAAC,cAAc;AAC1C,QAAQ,QAAQ;AAChB,QAAQ,SAAS,EAAE,QAAQ;AAC3B,QAAQ,SAAS,EAAE,MAAM,CAAC,SAAS;AACnC,QAAQ,SAAS,EAAE;AACnB,OAAO,CAAC;AACR,MAAM,MAAM,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAC7E,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC;AACrE,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE;AACvB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,IAAI;AACV,QAAQ,MAAM,mBAAmB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;AAC3F,MAAM,CAAC,CAAC,MAAM;AACd,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;AAClD,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;AACrF,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAC1C,QAAQ,OAAO,IAAI,CAAC,GAAG,EAAE;AACzB,UAAU,KAAK,EAAE;AACjB,SAAS,CAAC;AACV,MAAM;AACN,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;AACzD,IAAI;AACJ,IAAI,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;AAC3B,EAAE;AACF,CAAC;;;;;;;;ACrGW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAgD,CAAC,EAAE;AAE9G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACx0B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"8-DeuHkUMB.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/accept-invite/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["import { fail, redirect } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../../../chunks/context.js\";\nimport { n as getInviteStore, e as getAuthProvider, a as getOrganizationProvider, d as getUserProfileStore } from \"../../../chunks/providers.server.js\";\nimport { s as setSessionCookie } from \"../../../chunks/admin-auth.server.js\";\nimport { h as hashToken } from \"../../../chunks/token.server2.js\";\nconst load = async ({ url }) => {\n const token = url.searchParams.get(\"token\")?.trim();\n if (!token) {\n return { ok: false, reason: \"This invite link is missing a token.\" };\n }\n const invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n if (!invite) {\n return { ok: false, reason: \"This invite link is invalid or has expired.\" };\n }\n const org = await getOrganizationProvider().getOrg(SYSTEM_CONTEXT, invite.orgId);\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n return {\n ok: true,\n email: invite.email,\n orgName: org?.name ?? \"the organization\",\n token,\n mode\n };\n};\nconst actions = {\n default: async ({ request, cookies }) => {\n const data = await request.formData();\n const token = data.get(\"token\")?.trim() ?? \"\";\n const password = data.get(\"password\");\n const confirm = data.get(\"confirm\");\n const displayName = data.get(\"displayName\")?.trim() || void 0;\n if (!token) {\n return fail(400, { error: \"Missing invite token.\" });\n }\n let invite;\n try {\n invite = await getInviteStore().getByTokenHash(SYSTEM_CONTEXT, hashToken(token));\n } catch {\n return fail(500, { error: \"Could not validate the invite. Please try again.\" });\n }\n if (!invite) {\n return fail(410, { error: \"This invite link is invalid or has expired.\" });\n }\n const auth = getAuthProvider();\n const mode = auth.passwordAuth ? \"password\" : auth.proxyAuth && auth.createUser ? \"proxy\" : \"password\";\n if (mode === \"password\") {\n if (!password || password.length < 8) {\n return fail(400, { error: \"Password must be at least 8 characters.\" });\n }\n if (password !== confirm) {\n return fail(400, { error: \"Passwords do not match.\" });\n }\n }\n let user;\n try {\n if (mode === \"password\" && auth.passwordAuth) {\n user = await auth.passwordAuth.createUserWithPassword(invite.email, password);\n } else if (mode === \"proxy\" && auth.createUser) {\n user = await auth.createUser(invite.email);\n } else {\n return fail(501, { error: \"This provider does not support invite-based signup.\" });\n }\n } catch (err) {\n const msg = err instanceof Error ? err.message : \"Could not create your account.\";\n return fail(400, { error: msg });\n }\n try {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId: invite.orgId,\n userId: user.id,\n role: invite.orgRole,\n permissions: invite.orgPermissions,\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: invite.invitedBy,\n deletedAt: null\n });\n await getInviteStore().markAccepted(SYSTEM_CONTEXT, invite.id, user.id);\n } catch (err) {\n console.error(\"[accept-invite] post-signup wiring failed\", err);\n return fail(500, {\n error: \"Your account was created, but we could not finish joining the organization. Please contact your admin.\"\n });\n }\n if (displayName) {\n try {\n await getUserProfileStore().updateProfile(SYSTEM_CONTEXT, user.id, { displayName });\n } catch {\n }\n }\n if (mode === \"password\" && auth.passwordAuth) {\n const loginResult = await auth.passwordAuth.verifyLogin(invite.email, password);\n if (loginResult.kind !== \"success\") {\n return fail(500, {\n error: \"Your account was created but login failed. Please sign in manually.\"\n });\n }\n setSessionCookie(cookies, loginResult.sessionToken);\n }\n redirect(303, \"/admin\");\n }\n};\nexport {\n actions,\n load\n};\n","import * as server from '../entries/pages/accept-invite/_page.server.ts.js';\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/accept-invite/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/accept-invite/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/8.DV-QvL-P.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/CQbfyd2L.js\",\"_app/immutable/chunks/m_mdPJGt.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/azBeeLR0.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/BoR6OKl6.js\",\"_app/immutable/chunks/D99uXqZb.js\",\"_app/immutable/chunks/BW4xleRz.js\",\"_app/immutable/chunks/B8uG8z2c.js\",\"_app/immutable/chunks/CRRzXoPz.js\",\"_app/immutable/chunks/jFKgkeON.js\",\"_app/immutable/chunks/DEBBEmC0.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { g as getAuthProvider } from './providers.server-D1dTI3cw.js';
1
+ import { g as getAuthProvider } from './providers.server-CuhJFeVB.js';
2
2
  import { h as hasPermission } from './context-9tV9WxQ5.js';
3
3
  import './shared-server-DaWdgxVh.js';
4
4
  import 'node:url';
@@ -36,11 +36,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
36
36
 
37
37
  const index = 9;
38
38
  let component_cache;
39
- const component = async () => component_cache ??= (await import('./_page.svelte-DFumYbGi.js')).default;
39
+ const component = async () => component_cache ??= (await import('./_page.svelte-ewKjgRGP.js')).default;
40
40
  const server_id = "src/routes/admin/+page.server.ts";
41
- const imports = ["_app/immutable/nodes/9.DfzNXXlu.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/ooPBmYPj.js","_app/immutable/chunks/BMGykAfL.js","_app/immutable/chunks/_OLpdTiI.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/Gxlzmh6y.js","_app/immutable/chunks/BM4_iXSA.js","_app/immutable/chunks/CGG8rM-6.js","_app/immutable/chunks/CTEi7jkr.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/B_Lmgh7q.js","_app/immutable/chunks/wamM80bu.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/P4Np3c9O.js","_app/immutable/chunks/BZmrLQwT.js","_app/immutable/chunks/C8ko2SLk.js","_app/immutable/chunks/uINs3xv3.js","_app/immutable/chunks/BxCHY0iG.js","_app/immutable/chunks/BNzEBMy8.js","_app/immutable/chunks/DRDjLZb3.js"];
41
+ const imports = ["_app/immutable/nodes/9.Cowm-e34.js","_app/immutable/chunks/DsnmJJEf.js","_app/immutable/chunks/ooPBmYPj.js","_app/immutable/chunks/BMGykAfL.js","_app/immutable/chunks/_OLpdTiI.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/Gxlzmh6y.js","_app/immutable/chunks/BM4_iXSA.js","_app/immutable/chunks/CQbfyd2L.js","_app/immutable/chunks/m_mdPJGt.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/B_Lmgh7q.js","_app/immutable/chunks/wamM80bu.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/P4Np3c9O.js","_app/immutable/chunks/BZmrLQwT.js","_app/immutable/chunks/C8ko2SLk.js","_app/immutable/chunks/uINs3xv3.js","_app/immutable/chunks/BxCHY0iG.js","_app/immutable/chunks/BNzEBMy8.js","_app/immutable/chunks/DRDjLZb3.js"];
42
42
  const stylesheets = [];
43
43
  const fonts = [];
44
44
 
45
45
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
46
- //# sourceMappingURL=9-Blq9VO5M.js.map
46
+ //# sourceMappingURL=9-g6Y-orbL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"9-Blq9VO5M.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["import { e as getAuthProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) throw err;\n console.error(\"Failed to load admin dashboard:\", err);\n return { stats: { users: null }, platformPermissions };\n }\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/admin/_page.server.ts.js';\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/admin/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/admin/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/9.DfzNXXlu.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/CGG8rM-6.js\",\"_app/immutable/chunks/CTEi7jkr.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/B_Lmgh7q.js\",\"_app/immutable/chunks/wamM80bu.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/P4Np3c9O.js\",\"_app/immutable/chunks/BZmrLQwT.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/uINs3xv3.js\",\"_app/immutable/chunks/BxCHY0iG.js\",\"_app/immutable/chunks/BNzEBMy8.js\",\"_app/immutable/chunks/DRDjLZb3.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,KAAK;AACnF,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvE,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACvD,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,MAAM,GAAG;AACpE,IAAI,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACzD,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,CAAC;;;;;;;AClBW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AAEtG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACx0B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"9-g6Y-orbL.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["import { e as getAuthProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) throw err;\n console.error(\"Failed to load admin dashboard:\", err);\n return { stats: { users: null }, platformPermissions };\n }\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/admin/_page.server.ts.js';\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/admin/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/admin/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/9.Cowm-e34.js\",\"_app/immutable/chunks/DsnmJJEf.js\",\"_app/immutable/chunks/ooPBmYPj.js\",\"_app/immutable/chunks/BMGykAfL.js\",\"_app/immutable/chunks/_OLpdTiI.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/Gxlzmh6y.js\",\"_app/immutable/chunks/BM4_iXSA.js\",\"_app/immutable/chunks/CQbfyd2L.js\",\"_app/immutable/chunks/m_mdPJGt.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/B_Lmgh7q.js\",\"_app/immutable/chunks/wamM80bu.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/P4Np3c9O.js\",\"_app/immutable/chunks/BZmrLQwT.js\",\"_app/immutable/chunks/C8ko2SLk.js\",\"_app/immutable/chunks/uINs3xv3.js\",\"_app/immutable/chunks/BxCHY0iG.js\",\"_app/immutable/chunks/BNzEBMy8.js\",\"_app/immutable/chunks/DRDjLZb3.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,KAAK;AACnF,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvE,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACvD,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,MAAM,GAAG;AACpE,IAAI,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACzD,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE;AAC1D,EAAE;AACF,CAAC;;;;;;;AClBW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AAEtG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACx0B,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1,4 +1,4 @@
1
- import { ae as head, ai as ensure_array_like, ag as attr, _ as derived, aq as escape_html } from './renderer-BFEBS3DQ.js';
1
+ import { ae as head, ai as ensure_array_like, ag as attr, aq as escape_html, _ as derived } from './renderer-BFEBS3DQ.js';
2
2
  import { p as page } from './index-DwB9DMAB.js';
3
3
  import { A as Alert, a as Alert_description } from './alert-description-CJHDA62x.js';
4
4
  import { C as Circle_alert } from './circle-alert-DKo6GQWU.js';
@@ -210,7 +210,14 @@ function _page($$renderer, $$props) {
210
210
  $$renderer2.push("<!--[0-->");
211
211
  $$renderer2.push(`<div class="space-y-3"><p class="text-muted-foreground text-sm">This deployment uses forward-auth — sign-in happens upstream at your identity provider,
212
212
  not on this page. If you're seeing this page, your proxy didn't forward the identity
213
- headers. Check that:</p> <ul class="text-muted-foreground list-disc space-y-1 pl-5 text-xs"><li>You're reaching the app through the proxy, not directly</li> <li>The proxy authenticated you (visit the IdP first if needed)</li> <li>The proxy is forwarding the configured identity header</li></ul> <p class="text-muted-foreground text-xs">Operators: see <code>HEADER_AUTH_UPN_HEADER</code> and your proxy's forward-auth config.</p></div>`);
213
+ headers. Check that:</p> <ul class="text-muted-foreground list-disc space-y-1 pl-5 text-xs"><li>You're reaching the app through the proxy, not directly</li> <li>The proxy authenticated you (visit the IdP first if needed)</li> <li>The proxy is forwarding the configured identity header</li></ul> <p class="text-muted-foreground text-xs">Operators: see <code>HEADER_AUTH_UPN_HEADER</code> and your proxy's forward-auth config.</p> `);
214
+ if (data.debugHeaders) {
215
+ $$renderer2.push("<!--[0-->");
216
+ $$renderer2.push(`<details class="border-border rounded border p-3 text-xs"><summary class="text-muted-foreground cursor-pointer font-medium">Debug: request headers (${escape_html(data.debugHeaders.length)})</summary> <pre class="text-muted-foreground mt-2 max-h-96 overflow-auto break-all whitespace-pre-wrap">${escape_html(data.debugHeaders.map((h) => `${h.name}: ${h.value}`).join("\n"))}</pre></details>`);
217
+ } else {
218
+ $$renderer2.push("<!--[-1-->");
219
+ }
220
+ $$renderer2.push(`<!--]--></div>`);
214
221
  } else if (noAuthMethods()) {
215
222
  $$renderer2.push("<!--[1-->");
216
223
  if (Alert) {
@@ -249,4 +256,4 @@ function _page($$renderer, $$props) {
249
256
  }
250
257
 
251
258
  export { _page as default };
252
- //# sourceMappingURL=_page.svelte-DSpONoJg.js.map
259
+ //# sourceMappingURL=_page.svelte-CqD36W22.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-CqD36W22.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js"],"sourcesContent":["import { a5 as head, ad as escape_html, a8 as ensure_array_like, a4 as attr, a2 as derived } from \"../../../chunks/renderer.js\";\nimport { p as page } from \"../../../chunks/index.js\";\nimport { A as Alert, a as Alert_description } from \"../../../chunks/alert-description.js\";\nimport { C as Circle_alert } from \"../../../chunks/circle-alert.js\";\nimport { B as Button } from \"../../../chunks/button.js\";\nimport { L as Label } from \"../../../chunks/label.js\";\nimport { I as Input } from \"../../../chunks/input.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { form, data } = $$props;\n const redirectTo = derived(() => page.url.searchParams.get(\"redirectTo\") ?? \"\");\n function oauthHref(provider) {\n const qs = `provider=${encodeURIComponent(provider)}${redirectTo() ? `&redirectTo=${encodeURIComponent(redirectTo())}` : \"\"}`;\n return `/auth/supabase/start?${qs}`;\n }\n function providerLabel(p) {\n const labels = {\n google: \"Google\",\n github: \"GitHub\",\n azure: \"Microsoft\",\n gitlab: \"GitLab\"\n };\n return labels[p] ?? p;\n }\n const noAuthMethods = derived(() => !data.hasPasswordAuth && !data.hasEmailLink && data.oauthProviders.length === 0);\n head(\"1x05zx6\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Login - ${escape_html(page.data.branding.name)}</title>`);\n });\n });\n $$renderer2.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\"><div class=\"space-y-1 text-center\"><h2 class=\"text-foreground text-2xl font-bold tracking-tight\">Sign in</h2> <p class=\"text-muted-foreground text-sm\">Sign in to your account</p></div> `);\n if (form?.error) {\n $$renderer2.push(\"<!--[0-->\");\n if (Alert) {\n $$renderer2.push(\"<!--[-->\");\n Alert($$renderer2, {\n variant: \"destructive\",\n children: ($$renderer3) => {\n Circle_alert($$renderer3, {});\n $$renderer3.push(`<!----> `);\n if (Alert_description) {\n $$renderer3.push(\"<!--[-->\");\n Alert_description($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->${escape_html(form.error)}`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data.oauthProviders.length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"space-y-2\"><!--[-->`);\n const each_array = ensure_array_like(data.oauthProviders);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let provider = each_array[$$index];\n $$renderer2.push(`<a${attr(\"href\", oauthHref(provider))} class=\"block\">`);\n Button($$renderer2, {\n type: \"button\",\n variant: \"outline\",\n class: \"w-full\",\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Continue with ${escape_html(providerLabel(provider))}`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></a>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data.hasEmailLink && data.oauthProviders.length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"text-muted-foreground flex items-center gap-2 text-xs uppercase\"><div class=\"bg-border h-px flex-1\"></div> <span>or</span> <div class=\"bg-border h-px flex-1\"></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data.hasEmailLink) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<form method=\"POST\" action=\"/auth/email/start\" class=\"space-y-4\">`);\n if (redirectTo()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<input type=\"hidden\" name=\"redirectTo\"${attr(\"value\", redirectTo())}/>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"space-y-2\">`);\n Label($$renderer2, {\n for: \"email-link-email\",\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Email`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Input($$renderer2, {\n id: \"email-link-email\",\n name: \"email\",\n type: \"email\",\n required: true,\n placeholder: \"you@example.com\"\n });\n $$renderer2.push(`<!----></div> `);\n Button($$renderer2, {\n type: \"submit\",\n variant: \"outline\",\n class: \"w-full\",\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Email me a sign-in link`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></form>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data.hasPasswordAuth && (data.hasEmailLink || data.oauthProviders.length > 0)) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"text-muted-foreground flex items-center gap-2 text-xs uppercase\"><div class=\"bg-border h-px flex-1\"></div> <span>or</span> <div class=\"bg-border h-px flex-1\"></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data.hasPasswordAuth) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<form method=\"POST\" class=\"space-y-4\">`);\n if (redirectTo()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<input type=\"hidden\" name=\"redirectTo\"${attr(\"value\", redirectTo())}/>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"space-y-2\">`);\n Label($$renderer2, {\n for: \"email\",\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Email`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Input($$renderer2, {\n id: \"email\",\n name: \"email\",\n type: \"email\",\n required: true,\n placeholder: \"admin@example.com\"\n });\n $$renderer2.push(`<!----></div> <div class=\"space-y-2\">`);\n Label($$renderer2, {\n for: \"password\",\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Password`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Input($$renderer2, {\n id: \"password\",\n name: \"password\",\n type: \"password\",\n required: true,\n placeholder: \"Password\"\n });\n $$renderer2.push(`<!----></div> `);\n Button($$renderer2, {\n type: \"submit\",\n class: \"w-full\",\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Sign in with password`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></form>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (noAuthMethods() && data.hasProxyAuth) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"space-y-3\"><p class=\"text-muted-foreground text-sm\">This deployment uses forward-auth — sign-in happens upstream at your identity provider,\n\t\t\t\t\tnot on this page. If you're seeing this page, your proxy didn't forward the identity\n\t\t\t\t\theaders. Check that:</p> <ul class=\"text-muted-foreground list-disc space-y-1 pl-5 text-xs\"><li>You're reaching the app through the proxy, not directly</li> <li>The proxy authenticated you (visit the IdP first if needed)</li> <li>The proxy is forwarding the configured identity header</li></ul> <p class=\"text-muted-foreground text-xs\">Operators: see <code>HEADER_AUTH_UPN_HEADER</code> and your proxy's forward-auth config.</p> `);\n if (data.debugHeaders) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<details class=\"border-border rounded border p-3 text-xs\"><summary class=\"text-muted-foreground cursor-pointer font-medium\">Debug: request headers (${escape_html(data.debugHeaders.length)})</summary> <pre class=\"text-muted-foreground mt-2 max-h-96 overflow-auto break-all whitespace-pre-wrap\">${escape_html(data.debugHeaders.map((h) => `${h.name}: ${h.value}`).join(\"\\n\"))}</pre></details>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else if (noAuthMethods()) {\n $$renderer2.push(\"<!--[1-->\");\n if (Alert) {\n $$renderer2.push(\"<!--[-->\");\n Alert($$renderer2, {\n variant: \"destructive\",\n children: ($$renderer3) => {\n Circle_alert($$renderer3, {});\n $$renderer3.push(`<!----> `);\n if (Alert_description) {\n $$renderer3.push(\"<!--[-->\");\n Alert_description($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->No login methods are configured. Set up an auth provider before signing in.`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -53,10 +53,10 @@ function _page($$renderer, $$props) {
53
53
  const brandName = derived(() => page.data.branding.name);
54
54
  let { data } = $$props;
55
55
  const build = {
56
- hash: "a9aec32",
57
- fullHash: "a9aec32633aa62d7fd54c3c3803b64c9f7b6dac7",
58
- message: "chore: update release workflow to enhance npm publishing process with OIDC support",
59
- date: "2026-05-20 15:15:07 +0200"
56
+ hash: "f58c906",
57
+ fullHash: "f58c9069f2fe2f37678d97d3a29579b5086c11fc",
58
+ message: "Merge pull request #58 from VektorNode/changeset-release/main",
59
+ date: "2026-05-20 17:37:45 +0200"
60
60
  };
61
61
  const can = (p) => data.platformPermissions.includes("instance_admin") || data.platformPermissions.includes(p);
62
62
  const tiles = derived(() => [
@@ -165,4 +165,4 @@ function _page($$renderer, $$props) {
165
165
  }
166
166
 
167
167
  export { _page as default };
168
- //# sourceMappingURL=_page.svelte-DFumYbGi.js.map
168
+ //# sourceMappingURL=_page.svelte-ewKjgRGP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-ewKjgRGP.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/_page.svelte.js"],"sourcesContent":["import { ac as spread_props, a5 as head, ae as stringify, a8 as ensure_array_like, a4 as attr, ad as escape_html, a2 as derived } from \"../../../chunks/renderer.js\";\nimport { p as page } from \"../../../chunks/index.js\";\nimport { S as StatCard } from \"../../../chunks/StatCard.js\";\nimport { S as SectionHeader } from \"../../../chunks/SectionHeader.js\";\nimport { C as Card, a as Card_content } from \"../../../chunks/card-content.js\";\nimport { C as Card_header, a as Card_title } from \"../../../chunks/card-title.js\";\nimport { I as Icon } from \"../../../chunks/utils3.js\";\nimport { U as Users } from \"../../../chunks/users.js\";\nimport { B as Building_2 } from \"../../../chunks/building-2.js\";\nimport { S as Server } from \"../../../chunks/server.js\";\nfunction Git_commit_horizontal($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"3\" }],\n [\"line\", { \"x1\": \"3\", \"x2\": \"9\", \"y1\": \"12\", \"y2\": \"12\" }],\n [\"line\", { \"x1\": \"15\", \"x2\": \"21\", \"y1\": \"12\", \"y2\": \"12\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"git-commit-horizontal\" }, props, { iconNode }]));\n}\nfunction Layout_dashboard($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"9\", \"x\": \"3\", \"y\": \"3\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"5\", \"x\": \"14\", \"y\": \"3\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"9\", \"x\": \"14\", \"y\": \"12\", \"rx\": \"1\" }\n ],\n [\n \"rect\",\n { \"width\": \"7\", \"height\": \"5\", \"x\": \"3\", \"y\": \"16\", \"rx\": \"1\" }\n ]\n ];\n Icon($$renderer, spread_props([{ name: \"layout-dashboard\" }, props, { iconNode }]));\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const brandName = derived(() => page.data.branding.name);\n let { data } = $$props;\n const build = {\n hash: \"f58c906\",\n fullHash: \"f58c9069f2fe2f37678d97d3a29579b5086c11fc\",\n message: \"Merge pull request #58 from VektorNode/changeset-release/main\",\n date: \"2026-05-20 17:37:45 +0200\"\n };\n const can = (p) => data.platformPermissions.includes(\"instance_admin\") || data.platformPermissions.includes(p);\n const tiles = derived(() => [\n {\n href: \"/admin/users\",\n icon: Users,\n value: data.stats.users ?? \"—\",\n label: data.stats.users === null ? \"User store unavailable\" : `User${data.stats.users === 1 ? \"\" : \"s\"}`,\n show: can(\"manage_instance_users\")\n },\n {\n href: \"/admin/organizations\",\n icon: Building_2,\n value: \"Organizations\",\n label: \"All orgs on this instance\",\n show: can(\"instance_admin\")\n },\n {\n href: \"/admin/compute\",\n icon: Server,\n value: \"Compute\",\n label: \"Servers, status & config\",\n show: can(\"manage_compute\")\n },\n {\n href: \"/projects\",\n icon: Layout_dashboard,\n value: \"Content\",\n label: \"Definitions & projects\",\n show: can(\"instance_admin\")\n }\n ].filter((t) => t.show));\n head(\"1jef3w8\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Admin · General</title>`);\n });\n });\n $$renderer2.push(`<div class=\"space-y-6\">`);\n SectionHeader($$renderer2, {\n eyebrow: \"Admin\",\n title: \"General\",\n description: `At-a-glance health of this ${stringify(brandName())} instance — users, compute, and content.`\n });\n $$renderer2.push(`<!----> <div class=\"grid gap-3 sm:grid-cols-2 lg:grid-cols-3\"><!--[-->`);\n const each_array = ensure_array_like(tiles());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let tile = each_array[$$index];\n StatCard($$renderer2, spread_props([tile]));\n }\n $$renderer2.push(`<!--]--></div> `);\n if (Card) {\n $$renderer2.push(\"<!--[-->\");\n Card($$renderer2, {\n children: ($$renderer3) => {\n if (Card_header) {\n $$renderer3.push(\"<!--[-->\");\n Card_header($$renderer3, {\n children: ($$renderer4) => {\n if (Card_title) {\n $$renderer4.push(\"<!--[-->\");\n Card_title($$renderer4, {\n class: \"flex items-center gap-2 text-sm font-medium\",\n children: ($$renderer5) => {\n Git_commit_horizontal($$renderer5, { class: \"text-muted-foreground h-4 w-4\" });\n $$renderer5.push(`<!----> Web app build`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n if (Card_content) {\n $$renderer3.push(\"<!--[-->\");\n Card_content($$renderer3, {\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"flex flex-wrap items-baseline gap-x-3 gap-y-1\"><code class=\"text-foreground font-mono text-xs\"${attr(\"title\", build.fullHash)}>${escape_html(build.hash)}</code> <span class=\"text-muted-foreground text-xs\">${escape_html(build.message)}</span> <span class=\"text-muted-foreground text-xs\">${escape_html(build.date)}</span></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(`</div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
- import { h as getProjectProvider } from './providers.server-D1dTI3cw.js';
4
- import { o as requireCanManageMembers, p as requireTargetIsOrgMember } from './access.server-Cpz6F2ZC.js';
5
- import { h as handleApiError, t as throwZodError } from './api-errors-CBEdAg2T.js';
3
+ import { h as getProjectProvider } from './providers.server-CuhJFeVB.js';
4
+ import { o as requireCanManageMembers, p as requireTargetIsOrgMember } from './access.server-BIbrdwtI.js';
5
+ import { h as handleApiError, t as throwZodError } from './api-errors-Dvd_bb0g.js';
6
6
  import { i as ProjectRoleSchema } from './context-9tV9WxQ5.js';
7
7
  import './shared-server-DaWdgxVh.js';
8
8
  import 'node:url';
@@ -58,4 +58,4 @@ const POST = async ({ params, request, locals }) => {
58
58
  };
59
59
 
60
60
  export { GET, POST };
61
- //# sourceMappingURL=_server.ts-HHpSHV0x.js.map
61
+ //# sourceMappingURL=_server.ts-8QjiYm48.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-HHpSHV0x.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/members/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { b as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanManageMembers, p as requireTargetIsOrgMember } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { i as ProjectRoleSchema } from \"../../../../../../chunks/context.js\";\nconst AddMemberSchema = z.object({\n userId: z.string().min(1, \"userId is required\"),\n role: ProjectRoleSchema\n});\nconst GET = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n try {\n const page = await getProjectProvider().listProjectMembers(ctx, id, { limit: 200 });\n return json({ members: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load members\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = AddMemberSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const project = await getProjectProvider().getProject(ctx, id);\n if (!project) throw error(404, \"Project not found\");\n await requireTargetIsOrgMember(locals, project.orgId, parsed.data.userId);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: parsed.data.userId,\n role: parsed.data.role,\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || parsed.data.userId,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json(member, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to add member\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-8QjiYm48.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/members/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { b as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanManageMembers, p as requireTargetIsOrgMember } from \"../../../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../../../chunks/api-errors.js\";\nimport { i as ProjectRoleSchema } from \"../../../../../../chunks/context.js\";\nconst AddMemberSchema = z.object({\n userId: z.string().min(1, \"userId is required\"),\n role: ProjectRoleSchema\n});\nconst GET = async ({ params, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n try {\n const page = await getProjectProvider().listProjectMembers(ctx, id, { limit: 200 });\n return json({ members: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load members\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n const { id } = params;\n if (!id) throw error(400, \"Missing project ID\");\n await requireCanManageMembers(locals, id);\n const ctx = locals.ctx;\n const body = await request.json().catch(() => null);\n const parsed = AddMemberSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const project = await getProjectProvider().getProject(ctx, id);\n if (!project) throw error(404, \"Project not found\");\n await requireTargetIsOrgMember(locals, project.orgId, parsed.data.userId);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: parsed.data.userId,\n role: parsed.data.role,\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || parsed.data.userId,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json(member, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to add member\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;AACjC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;AACjD,EAAE,IAAI,EAAE;AACR,CAAC,CAAC;AACG,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC1C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,MAAM,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,kBAAkB,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvF,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AACxC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,wBAAwB,CAAC;AACjD,EAAE;AACF;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACpD,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjD,EAAE,MAAM,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;AAChE,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AACrD,EAAE,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3E,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;AAC9B,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;AAC1B,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM;AAC/C,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;AAC5D,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACxC,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC/C,EAAE;AACF;;;;"}
@@ -2,18 +2,18 @@ import { spawn } from 'child_process';
2
2
  import { join } from 'path';
3
3
  import { readFileSync, existsSync } from 'fs';
4
4
  import { b as private_env } from './shared-server-DaWdgxVh.js';
5
- import { b as requirePermission } from './access.server-Cpz6F2ZC.js';
5
+ import { b as requirePermission } from './access.server-BIbrdwtI.js';
6
6
  import '@sveltejs/kit';
7
7
  import './context-9tV9WxQ5.js';
8
8
  import 'zod';
9
- import './providers.server-D1dTI3cw.js';
9
+ import './providers.server-CuhJFeVB.js';
10
10
  import 'node:url';
11
11
  import 'node:path';
12
12
  import 'node:fs';
13
13
  import 'node:crypto';
14
14
  import 'node:fs/promises';
15
15
  import '@supabase/supabase-js';
16
- import './api-errors-CBEdAg2T.js';
16
+ import './api-errors-Dvd_bb0g.js';
17
17
 
18
18
  const UPDATE_LOG_PATH = "/tmp/selva-update.log";
19
19
  function stripAnsi(str) {
@@ -405,4 +405,4 @@ const GET = async ({ locals }) => {
405
405
  };
406
406
 
407
407
  export { GET, POST };
408
- //# sourceMappingURL=_server.ts-DFSeb1Vi.js.map
408
+ //# sourceMappingURL=_server.ts-BB8U11yC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DFSeb1Vi.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/system/update/_server.ts.js"],"sourcesContent":["import { spawn } from \"child_process\";\nimport { join } from \"path\";\nimport { readFileSync, existsSync } from \"fs\";\nimport { b as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport { b as requirePermission } from \"../../../../../../chunks/access.server.js\";\nconst UPDATE_LOG_PATH = \"/tmp/selva-update.log\";\nfunction stripAnsi(str) {\n return str.replace(/\\x1B\\[[0-9;]*[mGKHF]/g, \"\");\n}\nfunction readRuntimeVersion(dir) {\n try {\n const pkg = JSON.parse(\n readFileSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"), \"utf8\")\n );\n return typeof pkg.version === \"string\" ? pkg.version : void 0;\n } catch {\n return void 0;\n }\n}\nfunction shellQuote(s) {\n return `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\nfunction buildLauncher(runnerScript, prelude = []) {\n const echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join(\"\\n\");\n return `\nLOGFILE=${shellQuote(UPDATE_LOG_PATH)}\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) {\n const npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n const before = shellQuote(versionBefore ?? \"\");\n const ecosystem = shellQuote(ecosystemPath);\n return `#!/bin/bash\nset -o pipefail\nBEFORE=${before}\nECOSYSTEM=${ecosystem}\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 we go. The whole point of\n# this script is to update the app; leaving it down is the worst possible\n# outcome.\non_exit() {\n STATUS=$(pm2 jlist 2>/dev/null | node -e \"\n try {\n const list = JSON.parse(require('fs').readFileSync('/dev/stdin','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 || echo \"error\")\n if [ \"$STATUS\" != \"online\" ]; then\n echo \"[RECOVER] selva-compute is '$STATUS' — starting from ecosystem.config.cjs\"\n pm2 start \"$ECOSYSTEM\" --update-env >/dev/null 2>&1 || \\\\\n echo \"[RECOVER] pm2 start failed — manual intervention required: cd $(dirname \"$ECOSYSTEM\") && pm2 start ecosystem.config.cjs\"\n fi\n}\ntrap on_exit EXIT\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 triggered\n# a full stop/install/start cycle and a downtime window for no reason. Now\n# we just check the registry first.\necho \"[STEP] Checking npm registry for available updates\"\nLATEST=$(npm view @selvajs/selva 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 latest version ($BEFORE)\"\n echo \"[DONE] Nothing to do\"\n exit 0\nelse\n echo \"[INFO] Available: $BEFORE → $LATEST\"\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\"\nif pm2 ping 2>&1 | grep -q \"out-of-date\" || pm2 list 2>&1 | grep -q \"out-of-date\"; then\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 is still\n# serving traffic = 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# ---------------------------------------------------------------------------\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\n# latter requires selva-compute to already be in pm2's in-memory process\n# list. After a \\`pm2 update\\` (step 2) that's not guaranteed.\necho \"[STEP] Starting selva-compute with new build\"\nif ! pm2 start \"$ECOSYSTEM\" --update-env; 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\"\npm2 stop selva-compute >/dev/null 2>&1 || true\nif ! npm install --save \"@selvajs/selva@$BEFORE\"; then\n echo \"[FATAL] Rollback npm install failed — EXIT trap will retry restart.\"\n exit 4\nfi\n\npm2 start \"$ECOSYSTEM\" --update-env || 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 detectUpdatePlan() {\n if (private_env.INSTALL_DIR && existsSync(join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: private_env.INSTALL_DIR,\n cmd: \"bash\",\n args: [join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\")]\n };\n }\n let dir = process.cwd();\n for (let i = 0; i < 6; i++) {\n if (existsSync(join(dir, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: dir,\n cmd: \"bash\",\n args: [join(dir, \"scripts\", \"update.sh\")]\n };\n }\n if (existsSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"))) {\n return {\n mode: \"npm\",\n cwd: dir,\n cmd: \"npm\",\n args: [\"update\", \"--save\", \"--prefer-online\", \"@selvajs/cli\", \"@selvajs/selva\"]\n };\n }\n const parent = join(dir, \"..\");\n if (parent === dir) break;\n dir = parent;\n }\n return null;\n}\nconst POST = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const plan = detectUpdatePlan();\n if (!plan) {\n return new Response(\n JSON.stringify({\n error: \"Couldn't determine how to update this deployment. Expected either scripts/update.sh (monorepo) or node_modules/@selvajs/selva (CLI scaffold) in the cwd or a parent.\"\n }),\n { status: 500, headers: { \"Content-Type\": \"application/json\" } }\n );\n }\n const stream = new ReadableStream({\n start(controller) {\n const encoder = new TextEncoder();\n function sendEvent(type, data) {\n const message = `data: ${JSON.stringify({ type, ...data })}\n\n`;\n controller.enqueue(encoder.encode(message));\n }\n try {\n const versionBefore = plan.mode === \"npm\" ? readRuntimeVersion(plan.cwd) : void 0;\n const prelude = [\n `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})`,\n ...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []\n ];\n const runnerScript = plan.mode === \"git\" ? `#!/bin/bash\nexec ${shellQuote(plan.cmd)} ${plan.args.map(shellQuote).join(\" \")}\n` : buildNpmRunnerScript(\n plan.args,\n versionBefore,\n join(plan.cwd, \"ecosystem.config.cjs\")\n );\n const cmd = \"bash\";\n const args = [\"-c\", buildLauncher(runnerScript, prelude)];\n const localBin = join(plan.cwd, \"node_modules\", \".bin\");\n const child = spawn(cmd, args, {\n cwd: plan.cwd,\n env: {\n PATH: `${localBin}:${process.env.PATH ?? \"\"}`,\n HOME: process.env.HOME,\n INSTALL_DIR: plan.cwd\n },\n detached: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"]\n });\n child.unref();\n const timeout = setTimeout(\n () => {\n try {\n if (child.pid) process.kill(-child.pid, \"SIGTERM\");\n } catch {\n }\n sendEvent(\"log\", { data: \"[FATAL] Update timed out after 15 minutes\" });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n },\n 15 * 60 * 1e3\n );\n let restarting = false;\n child.stdout.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n if (!restarting && (clean.includes(\"Applying action stopProcessId\") || clean.includes(\"Applying action restartProcessId\"))) {\n restarting = true;\n sendEvent(\"restarting\", { data: clean });\n } else {\n sendEvent(\"log\", { data: clean });\n }\n }\n }\n });\n child.stderr.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n sendEvent(\"log\", { data: `[ERROR] ${clean}` });\n }\n }\n });\n child.on(\"close\", (code) => {\n clearTimeout(timeout);\n sendEvent(\"exit\", { code: code ?? -1 });\n controller.close();\n });\n child.on(\"error\", (err) => {\n clearTimeout(timeout);\n sendEvent(\"log\", { data: `[FATAL] ${err.message}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n });\n } catch (err) {\n sendEvent(\"log\", { data: `[FATAL] Failed to spawn process: ${err}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n }\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n};\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n let body = \"\";\n try {\n body = readFileSync(UPDATE_LOG_PATH, \"utf8\");\n } catch {\n }\n return new Response(body, {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n \"Cache-Control\": \"no-store\"\n }\n });\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,MAAM,eAAe,GAAG,uBAAuB;AAC/C,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;AACjD;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK;AAC1B,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM;AACzF,KAAK;AACL,IAAI,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACjE,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,MAAM;AACjB,EAAE;AACF;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC;AACA,SAAS,aAAa,CAAC,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE;AACnD,EAAE,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;AAC7E,EAAE,OAAO;AACT,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC;AACrC;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;AACrE,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AAChD,EAAE,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC;AAC7C,EAAE,OAAO,CAAC;AACV;AACA,OAAO,EAAE,MAAM;AACf,UAAU,EAAE,SAAS;;AAErB;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;;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;;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;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI,WAAW,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;AACpG,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,GAAG,EAAE,WAAW,CAAC,WAAW;AAClC,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,IAAI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"}
1
+ {"version":3,"file":"_server.ts-BB8U11yC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/system/update/_server.ts.js"],"sourcesContent":["import { spawn } from \"child_process\";\nimport { join } from \"path\";\nimport { readFileSync, existsSync } from \"fs\";\nimport { b as private_env } from \"../../../../../../chunks/shared-server.js\";\nimport { b as requirePermission } from \"../../../../../../chunks/access.server.js\";\nconst UPDATE_LOG_PATH = \"/tmp/selva-update.log\";\nfunction stripAnsi(str) {\n return str.replace(/\\x1B\\[[0-9;]*[mGKHF]/g, \"\");\n}\nfunction readRuntimeVersion(dir) {\n try {\n const pkg = JSON.parse(\n readFileSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"), \"utf8\")\n );\n return typeof pkg.version === \"string\" ? pkg.version : void 0;\n } catch {\n return void 0;\n }\n}\nfunction shellQuote(s) {\n return `'${s.replace(/'/g, `'\\\\''`)}'`;\n}\nfunction buildLauncher(runnerScript, prelude = []) {\n const echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join(\"\\n\");\n return `\nLOGFILE=${shellQuote(UPDATE_LOG_PATH)}\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) {\n const npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n const before = shellQuote(versionBefore ?? \"\");\n const ecosystem = shellQuote(ecosystemPath);\n return `#!/bin/bash\nset -o pipefail\nBEFORE=${before}\nECOSYSTEM=${ecosystem}\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 we go. The whole point of\n# this script is to update the app; leaving it down is the worst possible\n# outcome.\non_exit() {\n STATUS=$(pm2 jlist 2>/dev/null | node -e \"\n try {\n const list = JSON.parse(require('fs').readFileSync('/dev/stdin','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 || echo \"error\")\n if [ \"$STATUS\" != \"online\" ]; then\n echo \"[RECOVER] selva-compute is '$STATUS' — starting from ecosystem.config.cjs\"\n pm2 start \"$ECOSYSTEM\" --update-env >/dev/null 2>&1 || \\\\\n echo \"[RECOVER] pm2 start failed — manual intervention required: cd $(dirname \"$ECOSYSTEM\") && pm2 start ecosystem.config.cjs\"\n fi\n}\ntrap on_exit EXIT\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 triggered\n# a full stop/install/start cycle and a downtime window for no reason. Now\n# we just check the registry first.\necho \"[STEP] Checking npm registry for available updates\"\nLATEST=$(npm view @selvajs/selva 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 latest version ($BEFORE)\"\n echo \"[DONE] Nothing to do\"\n exit 0\nelse\n echo \"[INFO] Available: $BEFORE → $LATEST\"\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\"\nif pm2 ping 2>&1 | grep -q \"out-of-date\" || pm2 list 2>&1 | grep -q \"out-of-date\"; then\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 is still\n# serving traffic = 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# ---------------------------------------------------------------------------\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\n# latter requires selva-compute to already be in pm2's in-memory process\n# list. After a \\`pm2 update\\` (step 2) that's not guaranteed.\necho \"[STEP] Starting selva-compute with new build\"\nif ! pm2 start \"$ECOSYSTEM\" --update-env; 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\"\npm2 stop selva-compute >/dev/null 2>&1 || true\nif ! npm install --save \"@selvajs/selva@$BEFORE\"; then\n echo \"[FATAL] Rollback npm install failed — EXIT trap will retry restart.\"\n exit 4\nfi\n\npm2 start \"$ECOSYSTEM\" --update-env || 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 detectUpdatePlan() {\n if (private_env.INSTALL_DIR && existsSync(join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: private_env.INSTALL_DIR,\n cmd: \"bash\",\n args: [join(private_env.INSTALL_DIR, \"scripts\", \"update.sh\")]\n };\n }\n let dir = process.cwd();\n for (let i = 0; i < 6; i++) {\n if (existsSync(join(dir, \"scripts\", \"update.sh\"))) {\n return {\n mode: \"git\",\n cwd: dir,\n cmd: \"bash\",\n args: [join(dir, \"scripts\", \"update.sh\")]\n };\n }\n if (existsSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"))) {\n return {\n mode: \"npm\",\n cwd: dir,\n cmd: \"npm\",\n args: [\"update\", \"--save\", \"--prefer-online\", \"@selvajs/cli\", \"@selvajs/selva\"]\n };\n }\n const parent = join(dir, \"..\");\n if (parent === dir) break;\n dir = parent;\n }\n return null;\n}\nconst POST = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n const plan = detectUpdatePlan();\n if (!plan) {\n return new Response(\n JSON.stringify({\n error: \"Couldn't determine how to update this deployment. Expected either scripts/update.sh (monorepo) or node_modules/@selvajs/selva (CLI scaffold) in the cwd or a parent.\"\n }),\n { status: 500, headers: { \"Content-Type\": \"application/json\" } }\n );\n }\n const stream = new ReadableStream({\n start(controller) {\n const encoder = new TextEncoder();\n function sendEvent(type, data) {\n const message = `data: ${JSON.stringify({ type, ...data })}\n\n`;\n controller.enqueue(encoder.encode(message));\n }\n try {\n const versionBefore = plan.mode === \"npm\" ? readRuntimeVersion(plan.cwd) : void 0;\n const prelude = [\n `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})`,\n ...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []\n ];\n const runnerScript = plan.mode === \"git\" ? `#!/bin/bash\nexec ${shellQuote(plan.cmd)} ${plan.args.map(shellQuote).join(\" \")}\n` : buildNpmRunnerScript(\n plan.args,\n versionBefore,\n join(plan.cwd, \"ecosystem.config.cjs\")\n );\n const cmd = \"bash\";\n const args = [\"-c\", buildLauncher(runnerScript, prelude)];\n const localBin = join(plan.cwd, \"node_modules\", \".bin\");\n const child = spawn(cmd, args, {\n cwd: plan.cwd,\n env: {\n PATH: `${localBin}:${process.env.PATH ?? \"\"}`,\n HOME: process.env.HOME,\n INSTALL_DIR: plan.cwd\n },\n detached: true,\n stdio: [\"ignore\", \"pipe\", \"pipe\"]\n });\n child.unref();\n const timeout = setTimeout(\n () => {\n try {\n if (child.pid) process.kill(-child.pid, \"SIGTERM\");\n } catch {\n }\n sendEvent(\"log\", { data: \"[FATAL] Update timed out after 15 minutes\" });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n },\n 15 * 60 * 1e3\n );\n let restarting = false;\n child.stdout.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n if (!restarting && (clean.includes(\"Applying action stopProcessId\") || clean.includes(\"Applying action restartProcessId\"))) {\n restarting = true;\n sendEvent(\"restarting\", { data: clean });\n } else {\n sendEvent(\"log\", { data: clean });\n }\n }\n }\n });\n child.stderr.on(\"data\", (data) => {\n const lines = data.toString().split(\"\\n\");\n for (const line of lines) {\n const clean = stripAnsi(line).trim();\n if (clean) {\n sendEvent(\"log\", { data: `[ERROR] ${clean}` });\n }\n }\n });\n child.on(\"close\", (code) => {\n clearTimeout(timeout);\n sendEvent(\"exit\", { code: code ?? -1 });\n controller.close();\n });\n child.on(\"error\", (err) => {\n clearTimeout(timeout);\n sendEvent(\"log\", { data: `[FATAL] ${err.message}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n });\n } catch (err) {\n sendEvent(\"log\", { data: `[FATAL] Failed to spawn process: ${err}` });\n sendEvent(\"exit\", { code: -1 });\n controller.close();\n }\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n};\nconst GET = async ({ locals }) => {\n requirePermission(locals, \"instance_admin\");\n let body = \"\";\n try {\n body = readFileSync(UPDATE_LOG_PATH, \"utf8\");\n } catch {\n }\n return new Response(body, {\n headers: {\n \"Content-Type\": \"text/plain; charset=utf-8\",\n \"Cache-Control\": \"no-store\"\n }\n });\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,MAAM,eAAe,GAAG,uBAAuB;AAC/C,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;AACjD;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK;AAC1B,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM;AACzF,KAAK;AACL,IAAI,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACjE,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,MAAM;AACjB,EAAE;AACF;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC;AACA,SAAS,aAAa,CAAC,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE;AACnD,EAAE,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;AAC7E,EAAE,OAAO;AACT,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC;AACrC;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;AACrE,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AAChD,EAAE,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC;AAC7C,EAAE,OAAO,CAAC;AACV;AACA,OAAO,EAAE,MAAM;AACf,UAAU,EAAE,SAAS;;AAErB;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;;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;;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;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI,WAAW,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;AACpG,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,GAAG,EAAE,WAAW,CAAC,WAAW;AAClC,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,IAAI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"}
@@ -1,11 +1,11 @@
1
- import { r as resolveServerForOrg } from './resolve.server-DmsjqGqj.js';
2
- import { f as requireCanCreateDefinition } from './access.server-Cpz6F2ZC.js';
1
+ import { r as resolveServerForOrg } from './resolve.server-ButnJP6T.js';
2
+ import { f as requireCanCreateDefinition } from './access.server-BIbrdwtI.js';
3
3
  import { error } from '@sveltejs/kit';
4
4
  import { camelcaseKeys } from '@selvajs/compute/core';
5
5
  import './context-9tV9WxQ5.js';
6
6
  import 'zod';
7
- import './utils2-fF4hylrs.js';
8
- import './providers.server-D1dTI3cw.js';
7
+ import './utils2-BZ2tVtxn.js';
8
+ import './providers.server-CuhJFeVB.js';
9
9
  import './shared-server-DaWdgxVh.js';
10
10
  import 'node:url';
11
11
  import 'node:path';
@@ -13,7 +13,7 @@ import 'node:fs';
13
13
  import 'node:crypto';
14
14
  import 'node:fs/promises';
15
15
  import '@supabase/supabase-js';
16
- import './api-errors-CBEdAg2T.js';
16
+ import './api-errors-Dvd_bb0g.js';
17
17
 
18
18
  const POST = async ({ request, locals, url }) => {
19
19
  const projectId = url.searchParams.get("projectId");
@@ -49,4 +49,4 @@ const POST = async ({ request, locals, url }) => {
49
49
  };
50
50
 
51
51
  export { POST };
52
- //# sourceMappingURL=_server.ts-DqAlXFFH.js.map
52
+ //# sourceMappingURL=_server.ts-BNhuuE9J.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DqAlXFFH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/compute/schema/_server.ts.js"],"sourcesContent":["import { r as resolveServerForOrg } from \"../../../../../chunks/resolve.server.js\";\nimport { f as requireCanCreateDefinition } from \"../../../../../chunks/access.server.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { camelcaseKeys } from \"@selvajs/compute/core\";\nconst POST = async ({ request, locals, url }) => {\n const projectId = url.searchParams.get(\"projectId\");\n if (!projectId) {\n throw error(400, \"projectId query parameter is required\");\n }\n const { project } = await requireCanCreateDefinition(locals, projectId);\n const server = await resolveServerForOrg(locals.ctx, project.orgId);\n const formData = await request.formData();\n const schemaUrl = new URL(\"/grasshopper/schema\", server.serverUrl).toString();\n const headers = {};\n if (server.apiKey) {\n headers[\"RhinoComputeKey\"] = server.apiKey;\n }\n let response;\n try {\n response = await fetch(schemaUrl, { method: \"POST\", headers, body: formData });\n } catch {\n throw error(503, \"Compute server is unreachable\");\n }\n if (!response.ok) {\n throw error(response.status, \"Compute server error\");\n }\n const raw = await response.json();\n const results = camelcaseKeys(Array.isArray(raw) ? raw : [raw]);\n const schemas = results.flatMap((r) => r.schemas ?? []);\n if (schemas.length === 0) {\n throw error(422, \"No schemas found in definition\");\n }\n return new Response(JSON.stringify(schemas), {\n headers: { \"Content-Type\": \"application/json\" }\n });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,uCAAuC,CAAC;AAC7D,EAAE;AACF,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC;AACzE,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AAC3C,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;AAC/E,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;AACrB,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM;AAC9C,EAAE;AACF,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI;AACN,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAClF,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC;AACrD,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;AACxD,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;AACzD,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC;AACtD,EAAE;AACF,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/C,IAAI,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB;AACjD,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"_server.ts-BNhuuE9J.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/compute/schema/_server.ts.js"],"sourcesContent":["import { r as resolveServerForOrg } from \"../../../../../chunks/resolve.server.js\";\nimport { f as requireCanCreateDefinition } from \"../../../../../chunks/access.server.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { camelcaseKeys } from \"@selvajs/compute/core\";\nconst POST = async ({ request, locals, url }) => {\n const projectId = url.searchParams.get(\"projectId\");\n if (!projectId) {\n throw error(400, \"projectId query parameter is required\");\n }\n const { project } = await requireCanCreateDefinition(locals, projectId);\n const server = await resolveServerForOrg(locals.ctx, project.orgId);\n const formData = await request.formData();\n const schemaUrl = new URL(\"/grasshopper/schema\", server.serverUrl).toString();\n const headers = {};\n if (server.apiKey) {\n headers[\"RhinoComputeKey\"] = server.apiKey;\n }\n let response;\n try {\n response = await fetch(schemaUrl, { method: \"POST\", headers, body: formData });\n } catch {\n throw error(503, \"Compute server is unreachable\");\n }\n if (!response.ok) {\n throw error(response.status, \"Compute server error\");\n }\n const raw = await response.json();\n const results = camelcaseKeys(Array.isArray(raw) ? raw : [raw]);\n const schemas = results.flatMap((r) => r.schemas ?? []);\n if (schemas.length === 0) {\n throw error(422, \"No schemas found in definition\");\n }\n return new Response(JSON.stringify(schemas), {\n headers: { \"Content-Type\": \"application/json\" }\n });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,uCAAuC,CAAC;AAC7D,EAAE;AACF,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC;AACzE,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AAC3C,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;AAC/E,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;AACrB,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM;AAC9C,EAAE;AACF,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI;AACN,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAClF,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,+BAA+B,CAAC;AACrD,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;AACxD,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;AACzD,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC;AACtD,EAAE;AACF,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/C,IAAI,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB;AACjD,GAAG,CAAC;AACJ;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { error, json } from '@sveltejs/kit';
2
2
  import { z } from 'zod';
3
3
  import { randomUUID } from 'node:crypto';
4
- import { h as getProjectProvider, P as ProviderError } from './providers.server-D1dTI3cw.js';
5
- import { k as requireCanCreateProject } from './access.server-Cpz6F2ZC.js';
6
- import { h as handleApiError, t as throwZodError } from './api-errors-CBEdAg2T.js';
4
+ import { h as getProjectProvider, P as ProviderError } from './providers.server-CuhJFeVB.js';
5
+ import { k as requireCanCreateProject } from './access.server-BIbrdwtI.js';
6
+ import { h as handleApiError, t as throwZodError } from './api-errors-Dvd_bb0g.js';
7
7
  import { s as slugify } from './slug-BGuFQjqe.js';
8
8
  import { g as ProjectVisibilitySchema } from './context-9tV9WxQ5.js';
9
9
  import './shared-server-DaWdgxVh.js';
@@ -83,4 +83,4 @@ const POST = async ({ request, locals }) => {
83
83
  };
84
84
 
85
85
  export { GET, POST };
86
- //# sourceMappingURL=_server.ts-Cw0SJh0B.js.map
86
+ //# sourceMappingURL=_server.ts-BctA3275.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cw0SJh0B.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { b as getProjectProvider, P as ProviderError } from \"../../../../chunks/providers.server.js\";\nimport { k as requireCanCreateProject } from \"../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../chunks/slug.js\";\nimport { g as ProjectVisibilitySchema } from \"../../../../chunks/context.js\";\nconst MAX_SLUG_ATTEMPTS = 25;\nfunction isSlugConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_id_slug_key/.test(err.message);\n}\nfunction isNameConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_name_unique/.test(err.message);\n}\nconst CreateProjectBody = z.object({\n name: z.string().min(1, \"Project name is required\").max(128).trim(),\n description: z.string().max(2e3).optional(),\n visibility: ProjectVisibilitySchema.default(\"private\"),\n autoJoinOnUpload: z.boolean().optional()\n});\nconst GET = async ({ locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n try {\n const page = await getProjectProvider().listProjects(ctx, ctx.actingOrgId, { limit: 200 });\n return json({ projects: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load projects\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n await requireCanCreateProject(locals, ctx.actingOrgId);\n const body = await request.json().catch(() => null);\n const parsed = CreateProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const autoJoinOnUpload = parsed.data.autoJoinOnUpload ?? false;\n if (autoJoinOnUpload && parsed.data.visibility !== \"public\") {\n throw error(400, \"autoJoinOnUpload requires visibility=public\");\n }\n const projectStore = getProjectProvider();\n const baseSlug = slugify(parsed.data.name) || \"project\";\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const projectId = randomUUID();\n for (let attempt = 0; attempt < MAX_SLUG_ATTEMPTS; attempt++) {\n const slug = attempt === 0 ? baseSlug : `${baseSlug}-${attempt + 1}`;\n const project = {\n id: projectId,\n orgId: ctx.actingOrgId,\n name: parsed.data.name,\n slug,\n description: parsed.data.description,\n visibility: parsed.data.visibility,\n ownerId: locals.user.id,\n createdBy: locals.user.id,\n updatedBy: locals.user.id,\n autoJoinOnUpload,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await projectStore.createProject(ctx, project);\n return json(project, { status: 201 });\n } catch (err) {\n if (isNameConflict(err)) {\n throw error(409, \"A project with that name already exists in this organization.\");\n }\n if (isSlugConflict(err)) continue;\n handleApiError(err, \"Failed to create project\");\n }\n }\n throw error(409, \"Could not pick a unique project slug after several attempts.\");\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BctA3275.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { randomUUID } from \"node:crypto\";\nimport { b as getProjectProvider, P as ProviderError } from \"../../../../chunks/providers.server.js\";\nimport { k as requireCanCreateProject } from \"../../../../chunks/access.server.js\";\nimport { h as handleApiError, t as throwZodError } from \"../../../../chunks/api-errors.js\";\nimport { s as slugify } from \"../../../../chunks/slug.js\";\nimport { g as ProjectVisibilitySchema } from \"../../../../chunks/context.js\";\nconst MAX_SLUG_ATTEMPTS = 25;\nfunction isSlugConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_id_slug_key/.test(err.message);\n}\nfunction isNameConflict(err) {\n return err instanceof ProviderError && err.statusCode === 409 && /projects_org_name_unique/.test(err.message);\n}\nconst CreateProjectBody = z.object({\n name: z.string().min(1, \"Project name is required\").max(128).trim(),\n description: z.string().max(2e3).optional(),\n visibility: ProjectVisibilitySchema.default(\"private\"),\n autoJoinOnUpload: z.boolean().optional()\n});\nconst GET = async ({ locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n try {\n const page = await getProjectProvider().listProjects(ctx, ctx.actingOrgId, { limit: 200 });\n return json({ projects: page.items });\n } catch (err) {\n handleApiError(err, \"Failed to load projects\");\n }\n};\nconst POST = async ({ request, locals }) => {\n const ctx = locals.ctx;\n if (!ctx.actingOrgId) throw error(400, \"No active organization\");\n await requireCanCreateProject(locals, ctx.actingOrgId);\n const body = await request.json().catch(() => null);\n const parsed = CreateProjectBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const autoJoinOnUpload = parsed.data.autoJoinOnUpload ?? false;\n if (autoJoinOnUpload && parsed.data.visibility !== \"public\") {\n throw error(400, \"autoJoinOnUpload requires visibility=public\");\n }\n const projectStore = getProjectProvider();\n const baseSlug = slugify(parsed.data.name) || \"project\";\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const projectId = randomUUID();\n for (let attempt = 0; attempt < MAX_SLUG_ATTEMPTS; attempt++) {\n const slug = attempt === 0 ? baseSlug : `${baseSlug}-${attempt + 1}`;\n const project = {\n id: projectId,\n orgId: ctx.actingOrgId,\n name: parsed.data.name,\n slug,\n description: parsed.data.description,\n visibility: parsed.data.visibility,\n ownerId: locals.user.id,\n createdBy: locals.user.id,\n updatedBy: locals.user.id,\n autoJoinOnUpload,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n try {\n await projectStore.createProject(ctx, project);\n return json(project, { status: 201 });\n } catch (err) {\n if (isNameConflict(err)) {\n throw error(409, \"A project with that name already exists in this organization.\");\n }\n if (isSlugConflict(err)) continue;\n handleApiError(err, \"Failed to create project\");\n }\n }\n throw error(409, \"Could not pick a unique project slug after several attempts.\");\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { error, redirect } from '@sveltejs/kit';
2
- import { g as getAuthProvider } from './providers.server-D1dTI3cw.js';
2
+ import { g as getAuthProvider } from './providers.server-CuhJFeVB.js';
3
3
  import './shared-server-DaWdgxVh.js';
4
4
  import 'node:url';
5
5
  import 'node:path';
@@ -33,4 +33,4 @@ const GET = async ({ url }) => {
33
33
  };
34
34
 
35
35
  export { GET };
36
- //# sourceMappingURL=_server.ts-B8Klg9b0.js.map
36
+ //# sourceMappingURL=_server.ts-C72MeQO4.js.map