@selvajs/selva 2.0.4 → 2.0.6

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 (220) hide show
  1. package/build/client/_app/immutable/chunks/{Fts1U6U-.js → BJESOxk1.js} +1 -1
  2. package/build/client/_app/immutable/chunks/BJESOxk1.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/BJESOxk1.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{RwMLsvfg.js → C5ll-ShZ.js} +1 -1
  5. package/build/client/_app/immutable/chunks/C5ll-ShZ.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/C5ll-ShZ.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{CRiwHqJx.js → DvegOHNP.js} +1 -1
  8. package/build/client/_app/immutable/chunks/DvegOHNP.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/DvegOHNP.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DuCS7sYg.js → PglDoqA3.js} +1 -1
  11. package/build/client/_app/immutable/chunks/PglDoqA3.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/PglDoqA3.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{Dr1vdqeo.js → a0dcU0xy.js} +2 -2
  14. package/build/client/_app/immutable/chunks/a0dcU0xy.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/a0dcU0xy.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{CaloLkdQ.js → akjith9T.js} +1 -1
  17. package/build/client/_app/immutable/chunks/akjith9T.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/akjith9T.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/{app.D2pZs6Cp.js → app.CagjtPD5.js} +2 -2
  20. package/build/client/_app/immutable/entry/app.CagjtPD5.js.br +0 -0
  21. package/build/client/_app/immutable/entry/app.CagjtPD5.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/start.B8QuNtfO.js +1 -0
  23. package/build/client/_app/immutable/entry/start.B8QuNtfO.js.br +2 -0
  24. package/build/client/_app/immutable/entry/start.B8QuNtfO.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{1.BRjEBrha.js → 1.C4THr5S3.js} +1 -1
  26. package/build/client/_app/immutable/nodes/1.C4THr5S3.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/1.C4THr5S3.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{11.CSYxgk6t.js → 11.Y6uGUl6G.js} +1 -1
  29. package/build/client/_app/immutable/nodes/11.Y6uGUl6G.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/11.Y6uGUl6G.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{13.CGP0aFrp.js → 13.BBEfDaVH.js} +1 -1
  32. package/build/client/_app/immutable/nodes/13.BBEfDaVH.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/13.BBEfDaVH.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{14.WV2gfBYX.js → 14.DKmSln_U.js} +1 -1
  35. package/build/client/_app/immutable/nodes/14.DKmSln_U.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/14.DKmSln_U.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/15.CSbm8o3N.js +16 -0
  38. package/build/client/_app/immutable/nodes/15.CSbm8o3N.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/15.CSbm8o3N.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{16.BfEQAt4p.js → 16.CpwrOHlw.js} +1 -1
  41. package/build/client/_app/immutable/nodes/16.CpwrOHlw.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/16.CpwrOHlw.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{17.DNBH1eEF.js → 17.BNHtUd7L.js} +1 -1
  44. package/build/client/_app/immutable/nodes/17.BNHtUd7L.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/17.BNHtUd7L.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{19.CnDKfFGW.js → 19.Cuvs4_Uy.js} +1 -1
  47. package/build/client/_app/immutable/nodes/19.Cuvs4_Uy.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/19.Cuvs4_Uy.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{2.BRedV-uC.js → 2.JMbOCCzt.js} +1 -1
  50. package/build/client/_app/immutable/nodes/2.JMbOCCzt.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/2.JMbOCCzt.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{20.LLhtIcZp.js → 20.6_lcjhNA.js} +1 -1
  53. package/build/client/_app/immutable/nodes/20.6_lcjhNA.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/20.6_lcjhNA.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/{21.etgsxDXY.js → 21.XcFc1Hp2.js} +1 -1
  56. package/build/client/_app/immutable/nodes/21.XcFc1Hp2.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/21.XcFc1Hp2.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{23.q8MY3e8b.js → 23.CSMcvCD1.js} +1 -1
  59. package/build/client/_app/immutable/nodes/23.CSMcvCD1.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/{23.q8MY3e8b.js.gz → 23.CSMcvCD1.js.gz} +0 -0
  61. package/build/client/_app/immutable/nodes/{24.BhQI7vu-.js → 24.DCcmLHyw.js} +1 -1
  62. package/build/client/_app/immutable/nodes/24.DCcmLHyw.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/24.DCcmLHyw.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{27.BrOabyCL.js → 27.y5alIsGK.js} +1 -1
  65. package/build/client/_app/immutable/nodes/27.y5alIsGK.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/27.y5alIsGK.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/{28.DVauy65T.js → 28.CA1xzECh.js} +1 -1
  68. package/build/client/_app/immutable/nodes/28.CA1xzECh.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/28.CA1xzECh.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{29.DvBeMvWM.js → 29.DinuBapI.js} +1 -1
  71. package/build/client/_app/immutable/nodes/29.DinuBapI.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/29.DinuBapI.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{3.D1Wgwb59.js → 3.B4xzlnNg.js} +1 -1
  74. package/build/client/_app/immutable/nodes/3.B4xzlnNg.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/3.B4xzlnNg.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{30.CG7LVfgT.js → 30.wadA5Hpn.js} +1 -1
  77. package/build/client/_app/immutable/nodes/30.wadA5Hpn.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/30.wadA5Hpn.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{5.BXrqn5Sj.js → 5.CLUxc_01.js} +1 -1
  80. package/build/client/_app/immutable/nodes/5.CLUxc_01.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/5.CLUxc_01.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{6.UMUhaFIx.js → 6.DcbR4Al6.js} +1 -1
  83. package/build/client/_app/immutable/nodes/6.DcbR4Al6.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/6.DcbR4Al6.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{7.D6G1WyTT.js → 7.C30l2XBf.js} +1 -1
  86. package/build/client/_app/immutable/nodes/7.C30l2XBf.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/7.C30l2XBf.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{8.Bu6OSauZ.js → 8.DBuBshZa.js} +1 -1
  89. package/build/client/_app/immutable/nodes/8.DBuBshZa.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/8.DBuBshZa.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/9.Bm2TOa3_.js +1 -0
  92. package/build/client/_app/immutable/nodes/9.Bm2TOa3_.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/9.Bm2TOa3_.js.gz +0 -0
  94. package/build/client/_app/version.json +1 -1
  95. package/build/client/_app/version.json.br +0 -0
  96. package/build/client/_app/version.json.gz +0 -0
  97. package/build/server/chunks/{1-DX_Gn_fT.js → 1-BU1s_3Wy.js} +2 -2
  98. package/build/server/chunks/{1-DX_Gn_fT.js.map → 1-BU1s_3Wy.js.map} +1 -1
  99. package/build/server/chunks/{11-DUaLrO-l.js → 11-C0JtcW6H.js} +2 -2
  100. package/build/server/chunks/{11-DUaLrO-l.js.map → 11-C0JtcW6H.js.map} +1 -1
  101. package/build/server/chunks/{13-0fc8Yv9u.js → 13-Bwm5PoBz.js} +2 -2
  102. package/build/server/chunks/{13-0fc8Yv9u.js.map → 13-Bwm5PoBz.js.map} +1 -1
  103. package/build/server/chunks/{14-gvoHIHvn.js → 14-qeOqymXB.js} +2 -2
  104. package/build/server/chunks/{14-gvoHIHvn.js.map → 14-qeOqymXB.js.map} +1 -1
  105. package/build/server/chunks/{15-DHGAmNDS.js → 15-2YIH6ctn.js} +3 -3
  106. package/build/server/chunks/{15-DHGAmNDS.js.map → 15-2YIH6ctn.js.map} +1 -1
  107. package/build/server/chunks/{16-BCB5pcQo.js → 16-COjqpnzZ.js} +2 -2
  108. package/build/server/chunks/{16-BCB5pcQo.js.map → 16-COjqpnzZ.js.map} +1 -1
  109. package/build/server/chunks/{17-B5ibsslB.js → 17-YpZSGuqS.js} +2 -2
  110. package/build/server/chunks/{17-B5ibsslB.js.map → 17-YpZSGuqS.js.map} +1 -1
  111. package/build/server/chunks/{19-77epel3s.js → 19-CkNl51GM.js} +2 -2
  112. package/build/server/chunks/{19-77epel3s.js.map → 19-CkNl51GM.js.map} +1 -1
  113. package/build/server/chunks/{2-DY1Csm8U.js → 2-B37tjD7P.js} +2 -2
  114. package/build/server/chunks/{2-DY1Csm8U.js.map → 2-B37tjD7P.js.map} +1 -1
  115. package/build/server/chunks/{20-BkDDKYpH.js → 20-DymSD8Ko.js} +2 -2
  116. package/build/server/chunks/{20-BkDDKYpH.js.map → 20-DymSD8Ko.js.map} +1 -1
  117. package/build/server/chunks/{21-x-fSvvxv.js → 21-d9Dg_AhH.js} +2 -2
  118. package/build/server/chunks/{21-x-fSvvxv.js.map → 21-d9Dg_AhH.js.map} +1 -1
  119. package/build/server/chunks/{23-D0hFFW3H.js → 23-Cn-mVVwd.js} +2 -2
  120. package/build/server/chunks/{23-D0hFFW3H.js.map → 23-Cn-mVVwd.js.map} +1 -1
  121. package/build/server/chunks/{24-LseS-nfV.js → 24-BAro3lRu.js} +2 -2
  122. package/build/server/chunks/{24-LseS-nfV.js.map → 24-BAro3lRu.js.map} +1 -1
  123. package/build/server/chunks/{27-y_cCmZhn.js → 27-AQU59i9R.js} +2 -2
  124. package/build/server/chunks/{27-y_cCmZhn.js.map → 27-AQU59i9R.js.map} +1 -1
  125. package/build/server/chunks/{28-B737z2-8.js → 28-DoIfXHxo.js} +2 -2
  126. package/build/server/chunks/{28-B737z2-8.js.map → 28-DoIfXHxo.js.map} +1 -1
  127. package/build/server/chunks/{29-DpTH54z7.js → 29-B2u_b5rJ.js} +2 -2
  128. package/build/server/chunks/{29-DpTH54z7.js.map → 29-B2u_b5rJ.js.map} +1 -1
  129. package/build/server/chunks/{3-BAx5BjuD.js → 3-BrcPFvAJ.js} +2 -2
  130. package/build/server/chunks/{3-BAx5BjuD.js.map → 3-BrcPFvAJ.js.map} +1 -1
  131. package/build/server/chunks/{30-DoVoJIdY.js → 30-D94lxwpi.js} +2 -2
  132. package/build/server/chunks/{30-DoVoJIdY.js.map → 30-D94lxwpi.js.map} +1 -1
  133. package/build/server/chunks/{5-DCSLtSua.js → 5-BNgKIth2.js} +2 -2
  134. package/build/server/chunks/{5-DCSLtSua.js.map → 5-BNgKIth2.js.map} +1 -1
  135. package/build/server/chunks/{6-Cs-zOwbM.js → 6-DEbo9PiO.js} +2 -2
  136. package/build/server/chunks/{6-Cs-zOwbM.js.map → 6-DEbo9PiO.js.map} +1 -1
  137. package/build/server/chunks/{7-C3PY1yUV.js → 7-za_GHX6g.js} +2 -2
  138. package/build/server/chunks/{7-C3PY1yUV.js.map → 7-za_GHX6g.js.map} +1 -1
  139. package/build/server/chunks/{8-DPJzajfu.js → 8-DarGfhAd.js} +2 -2
  140. package/build/server/chunks/{8-DPJzajfu.js.map → 8-DarGfhAd.js.map} +1 -1
  141. package/build/server/chunks/{9-Cnh8WAoX.js → 9-DPTWbYLL.js} +3 -3
  142. package/build/server/chunks/{9-Cnh8WAoX.js.map → 9-DPTWbYLL.js.map} +1 -1
  143. package/build/server/chunks/{_page.svelte-DS9orYLw.js → _page.svelte-ErdesCSB.js} +20 -5
  144. package/build/server/chunks/_page.svelte-ErdesCSB.js.map +1 -0
  145. package/build/server/chunks/{_page.svelte-BYshB1a_.js → _page.svelte-cjTi5BVx.js} +5 -5
  146. package/build/server/chunks/_page.svelte-cjTi5BVx.js.map +1 -0
  147. package/build/server/chunks/{_server.ts-D71yVIcY.js → _server.ts-Lri13N1v.js} +56 -10
  148. package/build/server/chunks/_server.ts-Lri13N1v.js.map +1 -0
  149. package/build/server/index.js +1 -1
  150. package/build/server/index.js.map +1 -1
  151. package/build/server/manifest.js +25 -25
  152. package/build/server/manifest.js.map +1 -1
  153. package/package.json +3 -3
  154. package/build/client/_app/immutable/chunks/CRiwHqJx.js.br +0 -0
  155. package/build/client/_app/immutable/chunks/CRiwHqJx.js.gz +0 -0
  156. package/build/client/_app/immutable/chunks/CaloLkdQ.js.br +0 -0
  157. package/build/client/_app/immutable/chunks/CaloLkdQ.js.gz +0 -0
  158. package/build/client/_app/immutable/chunks/Dr1vdqeo.js.br +0 -0
  159. package/build/client/_app/immutable/chunks/Dr1vdqeo.js.gz +0 -0
  160. package/build/client/_app/immutable/chunks/DuCS7sYg.js.br +0 -0
  161. package/build/client/_app/immutable/chunks/DuCS7sYg.js.gz +0 -0
  162. package/build/client/_app/immutable/chunks/Fts1U6U-.js.br +0 -0
  163. package/build/client/_app/immutable/chunks/Fts1U6U-.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/RwMLsvfg.js.br +0 -0
  165. package/build/client/_app/immutable/chunks/RwMLsvfg.js.gz +0 -0
  166. package/build/client/_app/immutable/entry/app.D2pZs6Cp.js.br +0 -0
  167. package/build/client/_app/immutable/entry/app.D2pZs6Cp.js.gz +0 -0
  168. package/build/client/_app/immutable/entry/start.DpQXqgJ3.js +0 -1
  169. package/build/client/_app/immutable/entry/start.DpQXqgJ3.js.br +0 -2
  170. package/build/client/_app/immutable/entry/start.DpQXqgJ3.js.gz +0 -0
  171. package/build/client/_app/immutable/nodes/1.BRjEBrha.js.br +0 -0
  172. package/build/client/_app/immutable/nodes/1.BRjEBrha.js.gz +0 -0
  173. package/build/client/_app/immutable/nodes/11.CSYxgk6t.js.br +0 -0
  174. package/build/client/_app/immutable/nodes/11.CSYxgk6t.js.gz +0 -0
  175. package/build/client/_app/immutable/nodes/13.CGP0aFrp.js.br +0 -0
  176. package/build/client/_app/immutable/nodes/13.CGP0aFrp.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/14.WV2gfBYX.js.br +0 -0
  178. package/build/client/_app/immutable/nodes/14.WV2gfBYX.js.gz +0 -0
  179. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js +0 -13
  180. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.br +0 -0
  181. package/build/client/_app/immutable/nodes/15.CgB8Kdm8.js.gz +0 -0
  182. package/build/client/_app/immutable/nodes/16.BfEQAt4p.js.br +0 -0
  183. package/build/client/_app/immutable/nodes/16.BfEQAt4p.js.gz +0 -0
  184. package/build/client/_app/immutable/nodes/17.DNBH1eEF.js.br +0 -0
  185. package/build/client/_app/immutable/nodes/17.DNBH1eEF.js.gz +0 -0
  186. package/build/client/_app/immutable/nodes/19.CnDKfFGW.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/19.CnDKfFGW.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/2.BRedV-uC.js.br +0 -0
  189. package/build/client/_app/immutable/nodes/2.BRedV-uC.js.gz +0 -0
  190. package/build/client/_app/immutable/nodes/20.LLhtIcZp.js.br +0 -0
  191. package/build/client/_app/immutable/nodes/20.LLhtIcZp.js.gz +0 -0
  192. package/build/client/_app/immutable/nodes/21.etgsxDXY.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/21.etgsxDXY.js.gz +0 -0
  194. package/build/client/_app/immutable/nodes/23.q8MY3e8b.js.br +0 -0
  195. package/build/client/_app/immutable/nodes/24.BhQI7vu-.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/24.BhQI7vu-.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/27.BrOabyCL.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/27.BrOabyCL.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/28.DVauy65T.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/28.DVauy65T.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/29.DvBeMvWM.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/29.DvBeMvWM.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/3.D1Wgwb59.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/3.D1Wgwb59.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/30.CG7LVfgT.js.br +0 -0
  206. package/build/client/_app/immutable/nodes/30.CG7LVfgT.js.gz +0 -0
  207. package/build/client/_app/immutable/nodes/5.BXrqn5Sj.js.br +0 -0
  208. package/build/client/_app/immutable/nodes/5.BXrqn5Sj.js.gz +0 -0
  209. package/build/client/_app/immutable/nodes/6.UMUhaFIx.js.br +0 -0
  210. package/build/client/_app/immutable/nodes/6.UMUhaFIx.js.gz +0 -0
  211. package/build/client/_app/immutable/nodes/7.D6G1WyTT.js.br +0 -0
  212. package/build/client/_app/immutable/nodes/7.D6G1WyTT.js.gz +0 -0
  213. package/build/client/_app/immutable/nodes/8.Bu6OSauZ.js.br +0 -0
  214. package/build/client/_app/immutable/nodes/8.Bu6OSauZ.js.gz +0 -0
  215. package/build/client/_app/immutable/nodes/9.cNQ9lnVN.js +0 -1
  216. package/build/client/_app/immutable/nodes/9.cNQ9lnVN.js.br +0 -0
  217. package/build/client/_app/immutable/nodes/9.cNQ9lnVN.js.gz +0 -0
  218. package/build/server/chunks/_page.svelte-BYshB1a_.js.map +0 -1
  219. package/build/server/chunks/_page.svelte-DS9orYLw.js.map +0 -1
  220. package/build/server/chunks/_server.ts-D71yVIcY.js.map +0 -1
@@ -11,9 +11,9 @@ const index = 7;
11
11
  let component_cache;
12
12
  const component = async () => component_cache ??= (await import('./_page.svelte-wsvtYRRE.js')).default;
13
13
  const server_id = "src/routes/+page.server.ts";
14
- const imports = ["_app/immutable/nodes/7.D6G1WyTT.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/BM4_iXSA.js","_app/immutable/chunks/RwMLsvfg.js","_app/immutable/chunks/Dr1vdqeo.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/Fts1U6U-.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/DuCS7sYg.js","_app/immutable/chunks/2_FEXmq1.js","_app/immutable/chunks/D_wr-JLf.js","_app/immutable/chunks/azBeeLR0.js","_app/immutable/chunks/BoR6OKl6.js","_app/immutable/chunks/CpGv0MSX.js","_app/immutable/chunks/Bb9xebuT.js","_app/immutable/chunks/CRRzXoPz.js","_app/immutable/chunks/gMllmzma.js","_app/immutable/chunks/CZ1oTCKP.js","_app/immutable/chunks/CEnIp_6Y.js","_app/immutable/chunks/D99uXqZb.js","_app/immutable/chunks/BU9URCkw.js","_app/immutable/chunks/hRoV10UM.js","_app/immutable/chunks/E3yOQTT0.js","_app/immutable/chunks/BxCHY0iG.js","_app/immutable/chunks/CkW8YtSm.js"];
14
+ const imports = ["_app/immutable/nodes/7.C30l2XBf.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/BM4_iXSA.js","_app/immutable/chunks/C5ll-ShZ.js","_app/immutable/chunks/a0dcU0xy.js","_app/immutable/chunks/D0QMYypb.js","_app/immutable/chunks/BJESOxk1.js","_app/immutable/chunks/BNScKugQ.js","_app/immutable/chunks/CcYNc8-G.js","_app/immutable/chunks/C1aQuqo_.js","_app/immutable/chunks/Bnpwcepm.js","_app/immutable/chunks/PglDoqA3.js","_app/immutable/chunks/2_FEXmq1.js","_app/immutable/chunks/D_wr-JLf.js","_app/immutable/chunks/azBeeLR0.js","_app/immutable/chunks/BoR6OKl6.js","_app/immutable/chunks/CpGv0MSX.js","_app/immutable/chunks/Bb9xebuT.js","_app/immutable/chunks/CRRzXoPz.js","_app/immutable/chunks/gMllmzma.js","_app/immutable/chunks/CZ1oTCKP.js","_app/immutable/chunks/CEnIp_6Y.js","_app/immutable/chunks/D99uXqZb.js","_app/immutable/chunks/BU9URCkw.js","_app/immutable/chunks/hRoV10UM.js","_app/immutable/chunks/E3yOQTT0.js","_app/immutable/chunks/BxCHY0iG.js","_app/immutable/chunks/CkW8YtSm.js"];
15
15
  const stylesheets = [];
16
16
  const fonts = [];
17
17
 
18
18
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
19
- //# sourceMappingURL=7-C3PY1yUV.js.map
19
+ //# sourceMappingURL=7-za_GHX6g.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"7-C3PY1yUV.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["const load = async () => {\n return {};\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/_page.server.ts.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/7.D6G1WyTT.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/BM4_iXSA.js\",\"_app/immutable/chunks/RwMLsvfg.js\",\"_app/immutable/chunks/Dr1vdqeo.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/Fts1U6U-.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/DuCS7sYg.js\",\"_app/immutable/chunks/2_FEXmq1.js\",\"_app/immutable/chunks/D_wr-JLf.js\",\"_app/immutable/chunks/azBeeLR0.js\",\"_app/immutable/chunks/BoR6OKl6.js\",\"_app/immutable/chunks/CpGv0MSX.js\",\"_app/immutable/chunks/Bb9xebuT.js\",\"_app/immutable/chunks/CRRzXoPz.js\",\"_app/immutable/chunks/gMllmzma.js\",\"_app/immutable/chunks/CZ1oTCKP.js\",\"_app/immutable/chunks/CEnIp_6Y.js\",\"_app/immutable/chunks/D99uXqZb.js\",\"_app/immutable/chunks/BU9URCkw.js\",\"_app/immutable/chunks/hRoV10UM.js\",\"_app/immutable/chunks/E3yOQTT0.js\",\"_app/immutable/chunks/BxCHY0iG.js\",\"_app/immutable/chunks/CkW8YtSm.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,YAAY;AACzB,EAAE,OAAO,EAAE;AACX,CAAC;;;;;;;ACAW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAEhG,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,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChrC,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"7-za_GHX6g.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["const load = async () => {\n return {};\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/_page.server.ts.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/7.C30l2XBf.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/BM4_iXSA.js\",\"_app/immutable/chunks/C5ll-ShZ.js\",\"_app/immutable/chunks/a0dcU0xy.js\",\"_app/immutable/chunks/D0QMYypb.js\",\"_app/immutable/chunks/BJESOxk1.js\",\"_app/immutable/chunks/BNScKugQ.js\",\"_app/immutable/chunks/CcYNc8-G.js\",\"_app/immutable/chunks/C1aQuqo_.js\",\"_app/immutable/chunks/Bnpwcepm.js\",\"_app/immutable/chunks/PglDoqA3.js\",\"_app/immutable/chunks/2_FEXmq1.js\",\"_app/immutable/chunks/D_wr-JLf.js\",\"_app/immutable/chunks/azBeeLR0.js\",\"_app/immutable/chunks/BoR6OKl6.js\",\"_app/immutable/chunks/CpGv0MSX.js\",\"_app/immutable/chunks/Bb9xebuT.js\",\"_app/immutable/chunks/CRRzXoPz.js\",\"_app/immutable/chunks/gMllmzma.js\",\"_app/immutable/chunks/CZ1oTCKP.js\",\"_app/immutable/chunks/CEnIp_6Y.js\",\"_app/immutable/chunks/D99uXqZb.js\",\"_app/immutable/chunks/BU9URCkw.js\",\"_app/immutable/chunks/hRoV10UM.js\",\"_app/immutable/chunks/E3yOQTT0.js\",\"_app/immutable/chunks/BxCHY0iG.js\",\"_app/immutable/chunks/CkW8YtSm.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,YAAY;AACzB,EAAE,OAAO,EAAE;AACX,CAAC;;;;;;;ACAW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAEhG,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,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChrC,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -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.Bu6OSauZ.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/RwMLsvfg.js","_app/immutable/chunks/Dr1vdqeo.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.DBuBshZa.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/C5ll-ShZ.js","_app/immutable/chunks/a0dcU0xy.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-DPJzajfu.js.map
130
+ //# sourceMappingURL=8-DarGfhAd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"8-DPJzajfu.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.Bu6OSauZ.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/RwMLsvfg.js\",\"_app/immutable/chunks/Dr1vdqeo.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
+ {"version":3,"file":"8-DarGfhAd.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.DBuBshZa.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/C5ll-ShZ.js\",\"_app/immutable/chunks/a0dcU0xy.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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"}
@@ -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-BYshB1a_.js')).default;
39
+ const component = async () => component_cache ??= (await import('./_page.svelte-cjTi5BVx.js')).default;
40
40
  const server_id = "src/routes/admin/+page.server.ts";
41
- const imports = ["_app/immutable/nodes/9.cNQ9lnVN.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/RwMLsvfg.js","_app/immutable/chunks/Dr1vdqeo.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.Bm2TOa3_.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/C5ll-ShZ.js","_app/immutable/chunks/a0dcU0xy.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-Cnh8WAoX.js.map
46
+ //# sourceMappingURL=9-DPTWbYLL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"9-Cnh8WAoX.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.cNQ9lnVN.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/RwMLsvfg.js\",\"_app/immutable/chunks/Dr1vdqeo.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-DPTWbYLL.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.Bm2TOa3_.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/C5ll-ShZ.js\",\"_app/immutable/chunks/a0dcU0xy.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;;;;"}
@@ -304,17 +304,30 @@ function _page($$renderer, $$props) {
304
304
  return null;
305
305
  }
306
306
  }
307
+ async function fetchUpdateLog() {
308
+ try {
309
+ const res = await fetch("/admin/api/system/update", { cache: "no-store" });
310
+ if (!res.ok) return null;
311
+ return await res.text();
312
+ } catch {
313
+ return null;
314
+ }
315
+ }
307
316
  async function waitForAppRestart(previousCommit) {
308
317
  updateLogs += "\nWaiting for app to come back online…\n";
309
318
  await new Promise((r) => setTimeout(r, 2e3));
310
319
  const maxAttempts = 45;
311
320
  let consecutiveOk = 0;
312
321
  for (let i = 0; i < maxAttempts; i++) {
313
- const health = await fetchHealth();
322
+ const [health, log] = await Promise.all([fetchHealth(), fetchUpdateLog()]);
323
+ if (log && log.trim().length > 0) {
324
+ updateLogs = log;
325
+ }
314
326
  if (health) {
315
327
  if (previousCommit && health.commit) {
316
328
  if (health.commit !== previousCommit) {
317
- updateLogs += `✓ App is back online on new commit ${health.commit.slice(0, 7)}
329
+ updateLogs += `
330
+ ✓ App is back online on new commit ${health.commit.slice(0, 7)}
318
331
  `;
319
332
  updateExitCode = 0;
320
333
  updateRunning = false;
@@ -325,7 +338,7 @@ function _page($$renderer, $$props) {
325
338
  } else {
326
339
  consecutiveOk += 1;
327
340
  if (consecutiveOk >= 2) {
328
- updateLogs += "✓ App is back online!\n";
341
+ updateLogs += "\n✓ App is back online!\n";
329
342
  updateExitCode = 0;
330
343
  updateRunning = false;
331
344
  updateRestarting = false;
@@ -337,7 +350,9 @@ function _page($$renderer, $$props) {
337
350
  }
338
351
  await new Promise((r) => setTimeout(r, 2e3));
339
352
  }
340
- updateLogs += "⚠ App did not come back within 90s — check PM2 logs.\n";
353
+ const finalLog = await fetchUpdateLog();
354
+ if (finalLog && finalLog.trim().length > 0) updateLogs = finalLog;
355
+ updateLogs += "\n⚠ App did not come back within 90s — check PM2 logs.\n";
341
356
  updateExitCode = -2;
342
357
  updateRunning = false;
343
358
  updateRestarting = false;
@@ -517,4 +532,4 @@ function _page($$renderer, $$props) {
517
532
  }
518
533
 
519
534
  export { _page as default };
520
- //# sourceMappingURL=_page.svelte-DS9orYLw.js.map
535
+ //# sourceMappingURL=_page.svelte-ErdesCSB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-ErdesCSB.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/system/_page.svelte.js"],"sourcesContent":["import { ac as spread_props, ad as escape_html, a6 as attr_class, ae as stringify, a5 as head, a8 as ensure_array_like } from \"../../../../chunks/renderer.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 { C as Card_description } from \"../../../../chunks/card-description.js\";\nimport { B as Button } from \"../../../../chunks/button.js\";\nimport { I as Icon } from \"../../../../chunks/utils3.js\";\nimport { R as Root, A as Alert_dialog_content, a as Alert_dialog_header, b as Alert_dialog_title, c as Alert_dialog_description, d as Alert_dialog_footer, e as Alert_dialog_cancel, f as Alert_dialog_action } from \"../../../../chunks/index3.js\";\nimport { S as SectionHeader } from \"../../../../chunks/SectionHeader.js\";\nfunction Refresh_cw($$renderer, $$props) {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n { \"d\": \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" }\n ],\n [\"path\", { \"d\": \"M21 3v5h-5\" }],\n [\n \"path\",\n { \"d\": \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" }\n ],\n [\"path\", { \"d\": \"M8 16H3v5\" }]\n ];\n Icon($$renderer, spread_props([{ name: \"refresh-cw\" }, props, { iconNode }]));\n}\nfunction UpdateSection($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n isRunning = false,\n isRestarting = false,\n logs = \"\",\n exitCode = null,\n onRun\n } = $$props;\n let showRunConfirm = false;\n function buttonLabel() {\n if (isRestarting) return \"Restarting & verifying…\";\n if (isRunning) return \"Running…\";\n return \"Run Update\";\n }\n function statusMessage() {\n if (exitCode === null) return null;\n if (exitCode === 0) return { text: \"✓ Update completed successfully\", tone: \"success\" };\n if (exitCode === -2) return {\n text: \"⚠ App did not respond within 90s after restart — check PM2 logs\",\n tone: \"destructive\"\n };\n return {\n text: `Update failed (exit code ${exitCode})`,\n tone: \"destructive\"\n };\n }\n function handleRunClick() {\n showRunConfirm = true;\n }\n function confirmRun() {\n showRunConfirm = false;\n onRun?.();\n }\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 children: ($$renderer5) => {\n $$renderer5.push(`<!---->Application Update`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_description) {\n $$renderer4.push(\"<!--[-->\");\n Card_description($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Run the update script to pull latest changes and restart`);\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 class: \"space-y-4\",\n children: ($$renderer4) => {\n Button($$renderer4, {\n onclick: handleRunClick,\n disabled: isRunning,\n variant: \"destructive\",\n children: ($$renderer5) => {\n if (isRestarting) {\n $$renderer5.push(\"<!--[0-->\");\n Refresh_cw($$renderer5, { class: \"mr-2 h-4 w-4 animate-spin\" });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> ${escape_html(buttonLabel())}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n if (isRestarting && exitCode === null) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"border-border bg-muted/50 text-muted-foreground flex items-center gap-2 rounded-md border px-3 py-2 text-sm\">`);\n Refresh_cw($$renderer4, { class: \"h-4 w-4 animate-spin\" });\n $$renderer4.push(`<!----> <span>PM2 is restarting the app — waiting for the new process to come online…</span></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (logs) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"space-y-2\"><h4 class=\"text-sm font-medium\">Update Logs</h4> <pre class=\"bg-muted text-foreground max-h-96 overflow-auto rounded-md p-4 font-mono text-xs\">${escape_html(logs)}</pre> `);\n if (statusMessage()) {\n $$renderer4.push(\"<!--[0-->\");\n const msg = statusMessage();\n $$renderer4.push(`<p${attr_class(`text-sm font-medium ${stringify(msg.tone === \"success\" ? \"text-success\" : msg.tone === \"destructive\" ? \"text-destructive\" : \"text-muted-foreground\")}`)}>${escape_html(msg.text)}</p>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\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(` `);\n if (Root) {\n $$renderer2.push(\"<!--[-->\");\n Root($$renderer2, {\n open: showRunConfirm,\n onOpenChange: (o) => showRunConfirm = o,\n children: ($$renderer3) => {\n if (Alert_dialog_content) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog_content($$renderer3, {\n children: ($$renderer4) => {\n if (Alert_dialog_header) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_header($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_title) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_title($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Run Update?`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_description) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_description($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->This will pull the latest changes and restart the application. The service will be\n\t\t\t\ttemporarily unavailable.`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Alert_dialog_footer) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_footer($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_cancel) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_cancel($$renderer5, {\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_action) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_action($$renderer5, {\n onclick: confirmRun,\n disabled: isRunning,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->${escape_html(isRestarting ? \"Restarting…\" : \"Continue\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\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 });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const flagDescriptions = {\n ALLOW_CROSS_ORG_PUBLIC: \"When on, projects can be made visible to every authenticated user on the instance, not just their own org.\",\n ALLOW_ORG_COMPUTE_OVERRIDE: \"When on, individual orgs can configure their own Rhino.Compute server instead of the instance pool.\",\n ALLOW_ORG_CREATION: 'When on, signed-in users see a \"Create organization\" action. Off by default in self-hosted instances.',\n ENABLE_SHARING: \"When on, editors can mint per-definition share links that grant anonymous external access. When off, the mint/list/revoke routes return 404 and any previously-minted tokens stop resolving.\"\n };\n let updateRunning = false;\n let updateLogs = \"\";\n let updateExitCode = null;\n let updateRestarting = false;\n async function fetchHealth() {\n try {\n const res = await fetch(\"/api/health\", { cache: \"no-store\" });\n if (!res.ok) return null;\n return await res.json();\n } catch {\n return null;\n }\n }\n async function fetchUpdateLog() {\n try {\n const res = await fetch(\"/admin/api/system/update\", { cache: \"no-store\" });\n if (!res.ok) return null;\n return await res.text();\n } catch {\n return null;\n }\n }\n async function waitForAppRestart(previousCommit) {\n updateLogs += \"\\nWaiting for app to come back online…\\n\";\n await new Promise((r) => setTimeout(r, 2e3));\n const maxAttempts = 45;\n let consecutiveOk = 0;\n for (let i = 0; i < maxAttempts; i++) {\n const [health, log] = await Promise.all([fetchHealth(), fetchUpdateLog()]);\n if (log && log.trim().length > 0) {\n updateLogs = log;\n }\n if (health) {\n if (previousCommit && health.commit) {\n if (health.commit !== previousCommit) {\n updateLogs += `\n✓ App is back online on new commit ${health.commit.slice(0, 7)}\n`;\n updateExitCode = 0;\n updateRunning = false;\n updateRestarting = false;\n return;\n }\n consecutiveOk = 0;\n } else {\n consecutiveOk += 1;\n if (consecutiveOk >= 2) {\n updateLogs += \"\\n✓ App is back online!\\n\";\n updateExitCode = 0;\n updateRunning = false;\n updateRestarting = false;\n return;\n }\n }\n } else {\n consecutiveOk = 0;\n }\n await new Promise((r) => setTimeout(r, 2e3));\n }\n const finalLog = await fetchUpdateLog();\n if (finalLog && finalLog.trim().length > 0) updateLogs = finalLog;\n updateLogs += \"\\n⚠ App did not come back within 90s — check PM2 logs.\\n\";\n updateExitCode = -2;\n updateRunning = false;\n updateRestarting = false;\n }\n async function runUpdate() {\n updateRunning = true;\n updateRestarting = false;\n updateLogs = \"\";\n updateExitCode = null;\n const preHealth = await fetchHealth();\n const previousCommit = preHealth?.commit ?? null;\n try {\n const response = await fetch(\"/admin/api/system/update\", { method: \"POST\" });\n if (!response.ok) {\n updateLogs = \"Failed to start update process\";\n updateExitCode = response.status;\n updateRunning = false;\n return;\n }\n const reader = response.body?.getReader();\n const decoder = new TextDecoder();\n if (!reader) {\n updateLogs = \"Failed to read response\";\n updateExitCode = -1;\n updateRunning = false;\n return;\n }\n let buffer = \"\";\n let sawRestarting = false;\n let sawExit = false;\n let streamExitCode = null;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n const parts = buffer.split(\"\\n\\n\");\n buffer = parts.pop();\n for (const part of parts) {\n if (!part.startsWith(\"data: \")) continue;\n try {\n const event = JSON.parse(part.slice(6));\n if (event.type === \"log\") {\n updateLogs += event.data + \"\\n\";\n } else if (event.type === \"restarting\") {\n updateLogs += event.data + \"\\n\";\n updateRestarting = true;\n sawRestarting = true;\n } else if (event.type === \"exit\") {\n sawExit = true;\n streamExitCode = event.code;\n }\n } catch {\n }\n }\n }\n if (sawRestarting) {\n await waitForAppRestart(previousCommit);\n } else if (sawExit && streamExitCode === 0) {\n updateExitCode = 0;\n updateRunning = false;\n } else if (sawExit) {\n updateExitCode = streamExitCode ?? -1;\n updateRunning = false;\n } else {\n await waitForAppRestart(previousCommit);\n }\n } catch (err) {\n if (updateRestarting) {\n await waitForAppRestart(previousCommit);\n } else {\n updateLogs += \"\\nError: \" + (err instanceof Error ? err.message : \"Unknown error\");\n updateExitCode = -1;\n updateRunning = false;\n }\n }\n }\n head(\"1uq49ma\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Admin · System</title>`);\n });\n });\n $$renderer2.push(`<div class=\"space-y-6\">`);\n SectionHeader($$renderer2, {\n eyebrow: \"Admin\",\n title: \"System settings\",\n description: \"Instance-wide configuration, platform flags, and the update runner. To change platform flags, edit SELVA_FLAG_* in your .env and restart the app.\"\n });\n $$renderer2.push(`<!----> `);\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: \"text-sm font-medium\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Platform flags`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Card_description) {\n $$renderer4.push(\"<!--[-->\");\n Card_description($$renderer4, {\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Resolved state of the env-driven flags that control instance behavior. To change a flag,\n\t\t\t\tedit your environment configuration and restart the app.`);\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=\"divide-y rounded-lg border\"><!--[-->`);\n const each_array = ensure_array_like(Object.entries(data.flags));\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let [name, value] = each_array[$$index];\n $$renderer4.push(`<div class=\"flex items-start justify-between gap-4 px-4 py-3\"><div class=\"min-w-0 flex-1\"><code class=\"text-foreground font-mono text-xs\">${escape_html(name)}</code> <p class=\"text-muted-foreground mt-1 text-xs\">${escape_html(flagDescriptions[name])}</p></div> <span${attr_class(`rounded-full border px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase ${value ? \"border-success/40 bg-success/10 text-success\" : \"border-border text-muted-foreground\"}`)}>${escape_html(value ? \"On\" : \"Off\")}</span></div>`);\n }\n $$renderer4.push(`<!--]--></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(` `);\n if (data.canManageUpdates) {\n $$renderer2.push(\"<!--[0-->\");\n UpdateSection($$renderer2, {\n isRunning: updateRunning,\n isRestarting: updateRestarting,\n logs: updateLogs,\n exitCode: updateExitCode,\n onRun: runUpdate\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></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: "49ff66a",
57
- fullHash: "49ff66a31c81b38159181f538cc934bfefa9c4b6",
58
- message: "chore: update package versions to 2.0.3 and add missing CLI shims",
59
- date: "2026-05-15 11:26:11 +0200"
56
+ hash: "d71e7c2",
57
+ fullHash: "d71e7c271c7beaeb9102a0f62adb0393e0175ef1",
58
+ message: "chore: bump package versions to 2.0.4 and update changelogs",
59
+ date: "2026-05-15 12:42:20 +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-BYshB1a_.js.map
168
+ //# sourceMappingURL=_page.svelte-cjTi5BVx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-cjTi5BVx.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: \"d71e7c2\",\n fullHash: \"d71e7c271c7beaeb9102a0f62adb0393e0175ef1\",\n message: \"chore: bump package versions to 2.0.4 and update changelogs\",\n date: \"2026-05-15 12:42:20 +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,6 +1,6 @@
1
1
  import { spawn } from 'child_process';
2
2
  import { join } from 'path';
3
- import { existsSync, readFileSync } from 'fs';
3
+ import { readFileSync, existsSync } from 'fs';
4
4
  import { b as private_env } from './shared-server-DaWdgxVh.js';
5
5
  import { b as requirePermission } from './access.server-DVG3xnR_.js';
6
6
  import '@sveltejs/kit';
@@ -15,6 +15,7 @@ import 'node:fs/promises';
15
15
  import '@supabase/supabase-js';
16
16
  import './api-errors-DGHmIOGJ.js';
17
17
 
18
+ const UPDATE_LOG_PATH = "/tmp/selva-update.log";
18
19
  function stripAnsi(str) {
19
20
  return str.replace(/\x1B\[[0-9;]*[mGKHF]/g, "");
20
21
  }
@@ -31,6 +32,17 @@ function readRuntimeVersion(dir) {
31
32
  function shellQuote(s) {
32
33
  return `'${s.replace(/'/g, `'\\''`)}'`;
33
34
  }
35
+ function wrapWithTee(innerCommand, prelude = []) {
36
+ const echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join("\n");
37
+ return `
38
+ LOGFILE=${shellQuote(UPDATE_LOG_PATH)}
39
+ mkdir -p "$(dirname "$LOGFILE")"
40
+ : > "$LOGFILE"
41
+ exec > >(tee -a "$LOGFILE") 2>&1
42
+ ${echoes}
43
+ ${innerCommand}
44
+ `;
45
+ }
34
46
  function buildNpmUpdateScript(npmArgs, versionBefore) {
35
47
  const npmCommand = ["npm", ...npmArgs].map(shellQuote).join(" ");
36
48
  const before = shellQuote(versionBefore ?? "");
@@ -38,6 +50,24 @@ function buildNpmUpdateScript(npmArgs, versionBefore) {
38
50
  set -o pipefail
39
51
  BEFORE=${before}
40
52
 
53
+ # PM2's in-memory daemon and the installed CLI can drift apart after a
54
+ # global pm2 upgrade — the daemon keeps running whatever version started it,
55
+ # while the CLI on disk moves forward. When they diverge, PM2 prints
56
+ # "In-memory PM2 is out-of-date" and process commands talk to a stale
57
+ # daemon, manifesting as restarts that stop the old process but never bring
58
+ # the new one online. \`pm2 update\` dumps processes, kills the daemon,
59
+ # respawns it on the current CLI version, and restores the processes.
60
+ # Resync proactively so the stop/start below talks to a coherent daemon.
61
+ echo "[STEP] Checking PM2 daemon/CLI version sync"
62
+ if pm2 ping 2>&1 | grep -q "out-of-date" || pm2 list 2>&1 | grep -q "out-of-date"; then
63
+ echo "[STEP] PM2 daemon is out-of-date — running 'pm2 update' to resync before touching the app"
64
+ if ! pm2 update; then
65
+ echo "[FATAL] pm2 update failed — aborting before stopping the running app"
66
+ exit 1
67
+ fi
68
+ echo "[INFO] PM2 daemon resynced"
69
+ fi
70
+
41
71
  # IMPORTANT: stop the running process BEFORE npm update overwrites build/.
42
72
  # SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on
43
73
  # every request. If we let npm rewrite build/ while the old process is still
@@ -181,17 +211,19 @@ const POST = async ({ locals }) => {
181
211
  controller.enqueue(encoder.encode(message));
182
212
  }
183
213
  try {
184
- sendEvent("log", { data: `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})` });
185
214
  const versionBefore = plan.mode === "npm" ? readRuntimeVersion(plan.cwd) : void 0;
186
- if (versionBefore) {
187
- sendEvent("log", { data: `[INFO] Current @selvajs/selva: ${versionBefore}` });
188
- }
189
- const cmd = plan.mode === "git" ? plan.cmd : "bash";
190
- const args = plan.mode === "git" ? plan.args : ["-c", buildNpmUpdateScript(plan.args, versionBefore)];
215
+ const prelude = [
216
+ `[INFO] Update mode: ${plan.mode} (cwd: ${plan.cwd})`,
217
+ ...versionBefore ? [`[INFO] Current @selvajs/selva: ${versionBefore}`] : []
218
+ ];
219
+ const innerCommand = plan.mode === "git" ? `exec ${shellQuote(plan.cmd)} ${plan.args.map(shellQuote).join(" ")}` : buildNpmUpdateScript(plan.args, versionBefore);
220
+ const cmd = "bash";
221
+ const args = ["-c", wrapWithTee(innerCommand, prelude)];
222
+ const localBin = join(plan.cwd, "node_modules", ".bin");
191
223
  const child = spawn(cmd, args, {
192
224
  cwd: plan.cwd,
193
225
  env: {
194
- PATH: process.env.PATH,
226
+ PATH: `${localBin}:${process.env.PATH ?? ""}`,
195
227
  HOME: process.env.HOME,
196
228
  INSTALL_DIR: plan.cwd
197
229
  },
@@ -261,6 +293,20 @@ const POST = async ({ locals }) => {
261
293
  }
262
294
  });
263
295
  };
296
+ const GET = async ({ locals }) => {
297
+ requirePermission(locals, "instance_admin");
298
+ let body = "";
299
+ try {
300
+ body = readFileSync(UPDATE_LOG_PATH, "utf8");
301
+ } catch {
302
+ }
303
+ return new Response(body, {
304
+ headers: {
305
+ "Content-Type": "text/plain; charset=utf-8",
306
+ "Cache-Control": "no-store"
307
+ }
308
+ });
309
+ };
264
310
 
265
- export { POST };
266
- //# sourceMappingURL=_server.ts-D71yVIcY.js.map
311
+ export { GET, POST };
312
+ //# sourceMappingURL=_server.ts-Lri13N1v.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-Lri13N1v.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 wrapWithTee(innerCommand, prelude = []) {\n const echoes = prelude.map((line) => `echo ${shellQuote(line)}`).join(\"\\n\");\n return `\nLOGFILE=${shellQuote(UPDATE_LOG_PATH)}\nmkdir -p \"$(dirname \"$LOGFILE\")\"\n: > \"$LOGFILE\"\nexec > >(tee -a \"$LOGFILE\") 2>&1\n${echoes}\n${innerCommand}\n`;\n}\nfunction buildNpmUpdateScript(npmArgs, versionBefore) {\n const npmCommand = [\"npm\", ...npmArgs].map(shellQuote).join(\" \");\n const before = shellQuote(versionBefore ?? \"\");\n return `\nset -o pipefail\nBEFORE=${before}\n\n# PM2's in-memory daemon and the installed CLI can drift apart after a\n# global pm2 upgrade — the daemon keeps running whatever version started it,\n# while the CLI on disk moves forward. When they diverge, PM2 prints\n# \"In-memory PM2 is out-of-date\" and process commands talk to a stale\n# daemon, manifesting as restarts that stop the old process but never bring\n# the new one online. \\`pm2 update\\` dumps processes, kills the daemon,\n# respawns it on the current CLI version, and restores the processes.\n# Resync proactively so the stop/start below talks 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 before touching the app\"\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# IMPORTANT: stop the running process BEFORE npm update overwrites build/.\n# SvelteKit's node adapter lazy-imports chunks from build/server/chunks/ on\n# every request. If we let 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.\necho \"[STEP] Stopping selva-compute (graceful drain via kill_timeout in ecosystem.config.cjs)\"\nif ! pm2 stop selva-compute; then\n echo \"[WARN] pm2 stop failed — selva-compute may not be running yet. Continuing.\"\nfi\n\necho \"[STEP] Updating @selvajs/* packages\"\nif ! ${npmCommand}; then\n echo \"[FATAL] npm update failed — restarting old build to recover\"\n pm2 start selva-compute --update-env >/dev/null 2>&1 || true\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\necho \"[STEP] Starting selva-compute with new build\"\nif ! pm2 start selva-compute --update-env; then\n echo \"[FATAL] pm2 start failed — investigate with \\\\\\`pm2 logs selva-compute\\\\\\`\"\n exit 2\nfi\n\necho \"[STEP] Health-probing the new process\"\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:3000/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\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] Manually install the version you want: npm install @selvajs/selva@<version>\"\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 — manual intervention required.\"\n pm2 start selva-compute --update-env >/dev/null 2>&1 || true\n exit 4\nfi\n\npm2 start selva-compute --update-env || true\nsleep 3\nROLLBACK_CODE=$(curl -sS -o /dev/null -w \"%{http_code}\" --max-time 5 http://localhost:3000/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 innerCommand = plan.mode === \"git\" ? `exec ${shellQuote(plan.cmd)} ${plan.args.map(shellQuote).join(\" \")}` : buildNpmUpdateScript(plan.args, versionBefore);\n const cmd = \"bash\";\n const args = [\"-c\", wrapWithTee(innerCommand, 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":"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"}
@@ -1175,7 +1175,7 @@ const options = {
1175
1175
  <div class="error">
1176
1176
  <span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
1177
1177
  },
1178
- version_hash: "fczmqe"
1178
+ version_hash: "ztawj5"
1179
1179
  };
1180
1180
  async function get_hooks() {
1181
1181
  let handle;