@selvajs/selva 2.0.9 → 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 (433) hide show
  1. package/build/client/_app/immutable/assets/0.B0phAlf7.css.gz +0 -0
  2. package/build/client/_app/immutable/assets/20.Bne67Vgr.css +1 -0
  3. package/build/client/_app/immutable/assets/20.Bne67Vgr.css.br +0 -0
  4. package/build/client/_app/immutable/assets/20.Bne67Vgr.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/index.CV-KWLNP.css.gz +0 -0
  6. package/build/client/_app/immutable/chunks/1s2jTHrf.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/2XlIPTRw.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/2_FEXmq1.js.gz +0 -0
  9. package/build/client/_app/immutable/chunks/2dX6Wjni.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/4tskcAVN.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/AEyooZaf.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/B1aRL9Hz.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/B8uG8z2c.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/B8zY50Bc.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/BCse3N0b.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BGxzXVpM.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/BM4_iXSA.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/BMGykAfL.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BNScKugQ.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BNzEBMy8.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/BU9URCkw.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BW4xleRz.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/BZmrLQwT.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/B_Lmgh7q.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/BapAUJpM.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/Bb9xebuT.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/BjkQG7dw.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/Bmz9gLBz.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/Bnpwcepm.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/BoR6OKl6.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/Br5bpmJC.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BxCHY0iG.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/C1Sz0rtw.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/C1aQuqo_.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/C26nmevH.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/{Dx1NLq6A.js → C7vGxU6A.js} +1 -1
  37. package/build/client/_app/immutable/chunks/C7vGxU6A.js.br +0 -0
  38. package/build/client/_app/immutable/chunks/C7vGxU6A.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/C8ko2SLk.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/CAMhfNhW.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/CEnIp_6Y.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/CMjc_m7Z.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/{B1839-Qe.js → CQbfyd2L.js} +1 -1
  44. package/build/client/_app/immutable/chunks/CQbfyd2L.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/CQbfyd2L.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/CRRzXoPz.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/CXh1ITwj.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/CZ1oTCKP.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/Cbu9Tg11.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/CcYNc8-G.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/Cdcajer6.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/Ce2MupFq.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/CfP1DoGT.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/CfhPDo21.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CkW8YtSm.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/CoR7xVWs.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/CpGv0MSX.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/Cvr8AlQE.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/D0QMYypb.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/D40b34QZ.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/D6MI_dhi.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/D7l1JayF.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/D99uXqZb.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/DEBBEmC0.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/DNsLImlA.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/DRDjLZb3.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/DTJeGfAL.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/DZFqETAQ.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/D_wr-JLf.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/{BB7Ce_Ao.js → DhVbSqkb.js} +1 -1
  71. package/build/client/_app/immutable/chunks/DhVbSqkb.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/DhVbSqkb.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/Dl4WTuMB.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/{8jxh9FTC.js → DmaxIj00.js} +1 -1
  75. package/build/client/_app/immutable/chunks/DmaxIj00.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/DmaxIj00.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/Doks8ISn.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/E3yOQTT0.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/Gxlzmh6y.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/Ib-7xmHT.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/P4Np3c9O.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/Zf7VV5ZB.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/_OLpdTiI.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/azBeeLR0.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/gMllmzma.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/hRoV10UM.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/iEBlyxZv.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/jFKgkeON.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/{BLObdRkl.js → m_mdPJGt.js} +2 -2
  91. package/build/client/_app/immutable/chunks/m_mdPJGt.js.br +0 -0
  92. package/build/client/_app/immutable/chunks/m_mdPJGt.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/{BG4KYJxd.js → o98Aze-n.js} +1 -1
  94. package/build/client/_app/immutable/chunks/o98Aze-n.js.br +0 -0
  95. package/build/client/_app/immutable/chunks/o98Aze-n.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/ooPBmYPj.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/pRg-f8xU.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/uINs3xv3.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/wamM80bu.js.gz +0 -0
  100. package/build/client/_app/immutable/entry/{app.iSZ5n5at.js → app.BTWTTuAm.js} +2 -2
  101. package/build/client/_app/immutable/entry/app.BTWTTuAm.js.br +0 -0
  102. package/build/client/_app/immutable/entry/app.BTWTTuAm.js.gz +0 -0
  103. package/build/client/_app/immutable/entry/start.BH_CUTR9.js +1 -0
  104. package/build/client/_app/immutable/entry/start.BH_CUTR9.js.br +2 -0
  105. package/build/client/_app/immutable/entry/start.BH_CUTR9.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/{0.KJ-PiM1c.js → 0.DlG8LAVR.js} +1 -1
  107. package/build/client/_app/immutable/nodes/0.DlG8LAVR.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/0.DlG8LAVR.js.gz +0 -0
  109. package/build/client/_app/immutable/nodes/{1.B3iyxTLe.js → 1.DwOSHATI.js} +1 -1
  110. package/build/client/_app/immutable/nodes/1.DwOSHATI.js.br +0 -0
  111. package/build/client/_app/immutable/nodes/1.DwOSHATI.js.gz +0 -0
  112. package/build/client/_app/immutable/nodes/10.C5pTC9MT.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/{11.C0bOSA5Z.js → 11.Zly9hDVc.js} +1 -1
  114. package/build/client/_app/immutable/nodes/11.Zly9hDVc.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/11.Zly9hDVc.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/12.BoPfAFdi.js.gz +0 -0
  117. package/build/client/_app/immutable/nodes/{13.BBX4st-t.js → 13.DPp5H0wF.js} +1 -1
  118. package/build/client/_app/immutable/nodes/13.DPp5H0wF.js.br +0 -0
  119. package/build/client/_app/immutable/nodes/13.DPp5H0wF.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/{14.S-GLVBVi.js → 14.Ckr1Pg-5.js} +1 -1
  121. package/build/client/_app/immutable/nodes/14.Ckr1Pg-5.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/14.Ckr1Pg-5.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/15.CAs53i3e.js.gz +0 -0
  124. package/build/client/_app/immutable/nodes/{16.ukqcuKdq.js → 16.D28cXk6c.js} +1 -1
  125. package/build/client/_app/immutable/nodes/16.D28cXk6c.js.br +0 -0
  126. package/build/client/_app/immutable/nodes/16.D28cXk6c.js.gz +0 -0
  127. package/build/client/_app/immutable/nodes/{17.DsZpiT_T.js → 17.zVEt35IE.js} +1 -1
  128. package/build/client/_app/immutable/nodes/17.zVEt35IE.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/17.zVEt35IE.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/18.BpVlwZ30.js.gz +0 -0
  131. package/build/client/_app/immutable/nodes/{19.De1qTu0Z.js → 19.BVpcFyka.js} +1 -1
  132. package/build/client/_app/immutable/nodes/19.BVpcFyka.js.br +0 -0
  133. package/build/client/_app/immutable/nodes/19.BVpcFyka.js.gz +0 -0
  134. package/build/client/_app/immutable/nodes/{2.D9zIVWl1.js → 2.CQHOuONl.js} +1 -1
  135. package/build/client/_app/immutable/nodes/2.CQHOuONl.js.br +0 -0
  136. package/build/client/_app/immutable/nodes/2.CQHOuONl.js.gz +0 -0
  137. package/build/client/_app/immutable/nodes/{20.DxsctpJH.js → 20.BCewwiaR.js} +6 -6
  138. package/build/client/_app/immutable/nodes/20.BCewwiaR.js.br +0 -0
  139. package/build/client/_app/immutable/nodes/20.BCewwiaR.js.gz +0 -0
  140. package/build/client/_app/immutable/nodes/21.BsayWLjJ.js +4 -0
  141. package/build/client/_app/immutable/nodes/21.BsayWLjJ.js.br +0 -0
  142. package/build/client/_app/immutable/nodes/21.BsayWLjJ.js.gz +0 -0
  143. package/build/client/_app/immutable/nodes/{23.VZ_boRL-.js → 23.DqdpBgOG.js} +1 -1
  144. package/build/client/_app/immutable/nodes/23.DqdpBgOG.js.br +0 -0
  145. package/build/client/_app/immutable/nodes/23.DqdpBgOG.js.gz +0 -0
  146. package/build/client/_app/immutable/nodes/{24.B9kY2pb5.js → 24.PfN1WmGB.js} +1 -1
  147. package/build/client/_app/immutable/nodes/24.PfN1WmGB.js.br +0 -0
  148. package/build/client/_app/immutable/nodes/24.PfN1WmGB.js.gz +0 -0
  149. package/build/client/_app/immutable/nodes/25.oeBaWIUn.js.gz +0 -0
  150. package/build/client/_app/immutable/nodes/26.lPx5SjN1.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/{27.DZwrstUI.js → 27.ps76gC2y.js} +1 -1
  152. package/build/client/_app/immutable/nodes/27.ps76gC2y.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/27.ps76gC2y.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/{28.MnyfwNy0.js → 28.jwW5ZPBb.js} +1 -1
  155. package/build/client/_app/immutable/nodes/28.jwW5ZPBb.js.br +0 -0
  156. package/build/client/_app/immutable/nodes/28.jwW5ZPBb.js.gz +0 -0
  157. package/build/client/_app/immutable/nodes/{29.CNTJCITP.js → 29.C4UksAwf.js} +1 -1
  158. package/build/client/_app/immutable/nodes/29.C4UksAwf.js.br +0 -0
  159. package/build/client/_app/immutable/nodes/{29.CNTJCITP.js.gz → 29.C4UksAwf.js.gz} +0 -0
  160. package/build/client/_app/immutable/nodes/{3.KI4lh69U.js → 3.DeyGtotz.js} +1 -1
  161. package/build/client/_app/immutable/nodes/3.DeyGtotz.js.br +0 -0
  162. package/build/client/_app/immutable/nodes/3.DeyGtotz.js.gz +0 -0
  163. package/build/client/_app/immutable/nodes/{30.Ct1smdjS.js → 30.Ba8GVvTS.js} +1 -1
  164. package/build/client/_app/immutable/nodes/30.Ba8GVvTS.js.br +0 -0
  165. package/build/client/_app/immutable/nodes/30.Ba8GVvTS.js.gz +0 -0
  166. package/build/client/_app/immutable/nodes/31.DKnO7o1W.js.gz +0 -0
  167. package/build/client/_app/immutable/nodes/32.D4xYDWvG.js.gz +0 -0
  168. package/build/client/_app/immutable/nodes/4.0a-qdY5B.js.gz +0 -0
  169. package/build/client/_app/immutable/nodes/{5.BN9x0bOB.js → 5.CEzlqY4U.js} +1 -1
  170. package/build/client/_app/immutable/nodes/5.CEzlqY4U.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/5.CEzlqY4U.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/{6.BU_SGWVX.js → 6.CUbjblGG.js} +1 -1
  173. package/build/client/_app/immutable/nodes/6.CUbjblGG.js.br +0 -0
  174. package/build/client/_app/immutable/nodes/6.CUbjblGG.js.gz +0 -0
  175. package/build/client/_app/immutable/nodes/{7.9jzNcaAs.js → 7.C7uFakzg.js} +1 -1
  176. package/build/client/_app/immutable/nodes/7.C7uFakzg.js.br +0 -0
  177. package/build/client/_app/immutable/nodes/7.C7uFakzg.js.gz +0 -0
  178. package/build/client/_app/immutable/nodes/{8.BvaBLt60.js → 8.DV-QvL-P.js} +1 -1
  179. package/build/client/_app/immutable/nodes/8.DV-QvL-P.js.br +0 -0
  180. package/build/client/_app/immutable/nodes/8.DV-QvL-P.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/9.Cowm-e34.js +1 -0
  182. package/build/client/_app/immutable/nodes/9.Cowm-e34.js.br +0 -0
  183. package/build/client/_app/immutable/nodes/9.Cowm-e34.js.gz +0 -0
  184. package/build/client/_app/version.json +1 -1
  185. package/build/client/_app/version.json.br +0 -0
  186. package/build/client/_app/version.json.gz +0 -0
  187. package/build/client/favicon/favicon.svg.gz +0 -0
  188. package/build/client/robots.txt.gz +0 -0
  189. package/build/server/chunks/{0-CybFR_P8.js → 0-Dr_3KI7H.js} +4 -4
  190. package/build/server/chunks/{0-CybFR_P8.js.map → 0-Dr_3KI7H.js.map} +1 -1
  191. package/build/server/chunks/{1-CUP4tMEn.js → 1-DpVveeAx.js} +2 -2
  192. package/build/server/chunks/{1-CUP4tMEn.js.map → 1-DpVveeAx.js.map} +1 -1
  193. package/build/server/chunks/{10-zdkaINz9.js → 10-2TpR0PL8.js} +4 -4
  194. package/build/server/chunks/{10-zdkaINz9.js.map → 10-2TpR0PL8.js.map} +1 -1
  195. package/build/server/chunks/{11-DHKq5wgm.js → 11-Bc-lK9-m.js} +6 -6
  196. package/build/server/chunks/{11-DHKq5wgm.js.map → 11-Bc-lK9-m.js.map} +1 -1
  197. package/build/server/chunks/{12-XbcleGFd.js → 12-ChbvAloo.js} +2 -2
  198. package/build/server/chunks/{12-XbcleGFd.js.map → 12-ChbvAloo.js.map} +1 -1
  199. package/build/server/chunks/{13-D9eyZVCZ.js → 13-Dlj23jh3.js} +3 -3
  200. package/build/server/chunks/{13-D9eyZVCZ.js.map → 13-Dlj23jh3.js.map} +1 -1
  201. package/build/server/chunks/{14-qYW-h0op.js → 14-D1elkPr9.js} +3 -3
  202. package/build/server/chunks/{14-qYW-h0op.js.map → 14-D1elkPr9.js.map} +1 -1
  203. package/build/server/chunks/{15-wi_onU5j.js → 15-DPDMpQHT.js} +3 -3
  204. package/build/server/chunks/15-DPDMpQHT.js.map +1 -0
  205. package/build/server/chunks/{16-BM4yvuKv.js → 16-BAIR1y-G.js} +5 -5
  206. package/build/server/chunks/{16-BM4yvuKv.js.map → 16-BAIR1y-G.js.map} +1 -1
  207. package/build/server/chunks/{17-CexG3wap.js → 17-Bgy8wV-3.js} +2 -2
  208. package/build/server/chunks/{17-CexG3wap.js.map → 17-Bgy8wV-3.js.map} +1 -1
  209. package/build/server/chunks/{18-DbXlY9LE.js → 18-B12TC_xG.js} +2 -2
  210. package/build/server/chunks/{18-DbXlY9LE.js.map → 18-B12TC_xG.js.map} +1 -1
  211. package/build/server/chunks/{19-AX88i2oC.js → 19-DFUJ-cPC.js} +3 -3
  212. package/build/server/chunks/{19-AX88i2oC.js.map → 19-DFUJ-cPC.js.map} +1 -1
  213. package/build/server/chunks/{2-BMbliYzg.js → 2-C5cHr5Wg.js} +5 -5
  214. package/build/server/chunks/{2-BMbliYzg.js.map → 2-C5cHr5Wg.js.map} +1 -1
  215. package/build/server/chunks/{20-S3QlkFoL.js → 20-7IiGDCfi.js} +11 -11
  216. package/build/server/chunks/{20-S3QlkFoL.js.map → 20-7IiGDCfi.js.map} +1 -1
  217. package/build/server/chunks/{21-BAKPEyjQ.js → 21-CNigSlHO.js} +20 -7
  218. package/build/server/chunks/21-CNigSlHO.js.map +1 -0
  219. package/build/server/chunks/{23-DCiJWF0i.js → 23-Co-jOKsq.js} +6 -6
  220. package/build/server/chunks/{23-DCiJWF0i.js.map → 23-Co-jOKsq.js.map} +1 -1
  221. package/build/server/chunks/{24-B3gXWNYD.js → 24-DvOkSXb5.js} +4 -4
  222. package/build/server/chunks/{24-B3gXWNYD.js.map → 24-DvOkSXb5.js.map} +1 -1
  223. package/build/server/chunks/{25-9yYU1YBX.js → 25-CryepyT_.js} +2 -2
  224. package/build/server/chunks/{25-9yYU1YBX.js.map → 25-CryepyT_.js.map} +1 -1
  225. package/build/server/chunks/{27-GMsHFaaf.js → 27-DtqBEyra.js} +4 -4
  226. package/build/server/chunks/{27-GMsHFaaf.js.map → 27-DtqBEyra.js.map} +1 -1
  227. package/build/server/chunks/{28-DnplSoj0.js → 28-nphTAiOz.js} +3 -3
  228. package/build/server/chunks/{28-DnplSoj0.js.map → 28-nphTAiOz.js.map} +1 -1
  229. package/build/server/chunks/{29-orcjqU9J.js → 29-qD2ff8yc.js} +3 -3
  230. package/build/server/chunks/{29-orcjqU9J.js.map → 29-qD2ff8yc.js.map} +1 -1
  231. package/build/server/chunks/{3-B57IoxU7.js → 3-C1ShQmRn.js} +2 -2
  232. package/build/server/chunks/{3-B57IoxU7.js.map → 3-C1ShQmRn.js.map} +1 -1
  233. package/build/server/chunks/{30-UoUq_V5A.js → 30-DWf41Hl_.js} +3 -3
  234. package/build/server/chunks/{30-UoUq_V5A.js.map → 30-DWf41Hl_.js.map} +1 -1
  235. package/build/server/chunks/{31-BRqIoy8w.js → 31-S98r5Afv.js} +2 -2
  236. package/build/server/chunks/{31-BRqIoy8w.js.map → 31-S98r5Afv.js.map} +1 -1
  237. package/build/server/chunks/{32-D1Mk43AX.js → 32-EvYDgnSw.js} +2 -2
  238. package/build/server/chunks/{32-D1Mk43AX.js.map → 32-EvYDgnSw.js.map} +1 -1
  239. package/build/server/chunks/{5-DMGFkyK4.js → 5-DTeumakx.js} +2 -2
  240. package/build/server/chunks/{5-DMGFkyK4.js.map → 5-DTeumakx.js.map} +1 -1
  241. package/build/server/chunks/{6-CYaPOOMj.js → 6-BYo6Qo8b.js} +3 -3
  242. package/build/server/chunks/{6-CYaPOOMj.js.map → 6-BYo6Qo8b.js.map} +1 -1
  243. package/build/server/chunks/{7-Dk_VmXtf.js → 7-qSmAP9RY.js} +2 -2
  244. package/build/server/chunks/{7-Dk_VmXtf.js.map → 7-qSmAP9RY.js.map} +1 -1
  245. package/build/server/chunks/{8-Ce8EjQtB.js → 8-DeuHkUMB.js} +3 -3
  246. package/build/server/chunks/{8-Ce8EjQtB.js.map → 8-DeuHkUMB.js.map} +1 -1
  247. package/build/server/chunks/{9-DghkKEyM.js → 9-g6Y-orbL.js} +4 -4
  248. package/build/server/chunks/{9-DghkKEyM.js.map → 9-g6Y-orbL.js.map} +1 -1
  249. package/build/server/chunks/{_layout.svelte-xYAKGoE5.js → _layout.svelte-BvTGPzuy.js} +4 -4
  250. package/build/server/chunks/{_layout.svelte-xYAKGoE5.js.map → _layout.svelte-BvTGPzuy.js.map} +1 -1
  251. package/build/server/chunks/{_page.svelte-BR8dze-7.js → _page.svelte-Cj20v_rA.js} +14 -14
  252. package/build/server/chunks/_page.svelte-Cj20v_rA.js.map +1 -0
  253. package/build/server/chunks/{_page.svelte-DSpONoJg.js → _page.svelte-CqD36W22.js} +10 -3
  254. package/build/server/chunks/_page.svelte-CqD36W22.js.map +1 -0
  255. package/build/server/chunks/{_page.svelte-BCCCalas.js → _page.svelte-ewKjgRGP.js} +5 -5
  256. package/build/server/chunks/_page.svelte-ewKjgRGP.js.map +1 -0
  257. package/build/server/chunks/{_server.ts-BX0JGorf.js → _server.ts-8QjiYm48.js} +4 -4
  258. package/build/server/chunks/{_server.ts-BX0JGorf.js.map → _server.ts-8QjiYm48.js.map} +1 -1
  259. package/build/server/chunks/{_server.ts-CHvipMjS.js → _server.ts-BB8U11yC.js} +4 -4
  260. package/build/server/chunks/{_server.ts-CHvipMjS.js.map → _server.ts-BB8U11yC.js.map} +1 -1
  261. package/build/server/chunks/{_server.ts-D5nruaeK.js → _server.ts-BNhuuE9J.js} +6 -6
  262. package/build/server/chunks/{_server.ts-D5nruaeK.js.map → _server.ts-BNhuuE9J.js.map} +1 -1
  263. package/build/server/chunks/{_server.ts-7mF4ytYC.js → _server.ts-BctA3275.js} +4 -4
  264. package/build/server/chunks/{_server.ts-7mF4ytYC.js.map → _server.ts-BctA3275.js.map} +1 -1
  265. package/build/server/chunks/{_server.ts-B2zQRDbu.js → _server.ts-C72MeQO4.js} +2 -2
  266. package/build/server/chunks/{_server.ts-B2zQRDbu.js.map → _server.ts-C72MeQO4.js.map} +1 -1
  267. package/build/server/chunks/{_server.ts-kUn8v9xq.js → _server.ts-C9Y8O11v.js} +4 -4
  268. package/build/server/chunks/{_server.ts-kUn8v9xq.js.map → _server.ts-C9Y8O11v.js.map} +1 -1
  269. package/build/server/chunks/{_server.ts-CKENL0Fr.js → _server.ts-CBXJ3sWT.js} +4 -4
  270. package/build/server/chunks/{_server.ts-CKENL0Fr.js.map → _server.ts-CBXJ3sWT.js.map} +1 -1
  271. package/build/server/chunks/{_server.ts-DLHHpGFa.js → _server.ts-CBupEVgc.js} +3 -3
  272. package/build/server/chunks/{_server.ts-DLHHpGFa.js.map → _server.ts-CBupEVgc.js.map} +1 -1
  273. package/build/server/chunks/{_server.ts-BDeXzj8U.js → _server.ts-CCaOj5qQ.js} +4 -4
  274. package/build/server/chunks/{_server.ts-BDeXzj8U.js.map → _server.ts-CCaOj5qQ.js.map} +1 -1
  275. package/build/server/chunks/{_server.ts-c9y4czsq.js → _server.ts-CVDCtecg.js} +4 -4
  276. package/build/server/chunks/{_server.ts-c9y4czsq.js.map → _server.ts-CVDCtecg.js.map} +1 -1
  277. package/build/server/chunks/{_server.ts-DOstgfdy.js → _server.ts-CYRzm3Te.js} +4 -4
  278. package/build/server/chunks/{_server.ts-DOstgfdy.js.map → _server.ts-CYRzm3Te.js.map} +1 -1
  279. package/build/server/chunks/{_server.ts-DjEulrER.js → _server.ts-CapRJaU0.js} +4 -4
  280. package/build/server/chunks/{_server.ts-DjEulrER.js.map → _server.ts-CapRJaU0.js.map} +1 -1
  281. package/build/server/chunks/{_server.ts-BaHBgmBs.js → _server.ts-CffaoluO.js} +4 -4
  282. package/build/server/chunks/{_server.ts-BaHBgmBs.js.map → _server.ts-CffaoluO.js.map} +1 -1
  283. package/build/server/chunks/{_server.ts-Dx6fUVVo.js → _server.ts-Ci4bczRU.js} +3 -3
  284. package/build/server/chunks/{_server.ts-Dx6fUVVo.js.map → _server.ts-Ci4bczRU.js.map} +1 -1
  285. package/build/server/chunks/{_server.ts-C9SZ9y6W.js → _server.ts-D0jpDtY6.js} +7 -7
  286. package/build/server/chunks/{_server.ts-C9SZ9y6W.js.map → _server.ts-D0jpDtY6.js.map} +1 -1
  287. package/build/server/chunks/{_server.ts-hNeWcDQg.js → _server.ts-D3U55JtM.js} +5 -5
  288. package/build/server/chunks/{_server.ts-hNeWcDQg.js.map → _server.ts-D3U55JtM.js.map} +1 -1
  289. package/build/server/chunks/{_server.ts-BSZknGSV.js → _server.ts-DA2gHOEv.js} +4 -4
  290. package/build/server/chunks/{_server.ts-BSZknGSV.js.map → _server.ts-DA2gHOEv.js.map} +1 -1
  291. package/build/server/chunks/{_server.ts-CIAkL4VM.js → _server.ts-DH46mwMu.js} +4 -4
  292. package/build/server/chunks/{_server.ts-CIAkL4VM.js.map → _server.ts-DH46mwMu.js.map} +1 -1
  293. package/build/server/chunks/{_server.ts-DMSCxMRc.js → _server.ts-DIA0nypE.js} +4 -4
  294. package/build/server/chunks/{_server.ts-DMSCxMRc.js.map → _server.ts-DIA0nypE.js.map} +1 -1
  295. package/build/server/chunks/{_server.ts-CS_06-Es.js → _server.ts-DIDUPMUT.js} +4 -4
  296. package/build/server/chunks/{_server.ts-CS_06-Es.js.map → _server.ts-DIDUPMUT.js.map} +1 -1
  297. package/build/server/chunks/{_server.ts-Njof323z.js → _server.ts-DLL3XSZW.js} +5 -5
  298. package/build/server/chunks/{_server.ts-Njof323z.js.map → _server.ts-DLL3XSZW.js.map} +1 -1
  299. package/build/server/chunks/{_server.ts-MKn8v93k.js → _server.ts-DT5OwjDI.js} +4 -4
  300. package/build/server/chunks/{_server.ts-MKn8v93k.js.map → _server.ts-DT5OwjDI.js.map} +1 -1
  301. package/build/server/chunks/{_server.ts-BbvHHiGq.js → _server.ts-DZfNclhh.js} +4 -4
  302. package/build/server/chunks/{_server.ts-BbvHHiGq.js.map → _server.ts-DZfNclhh.js.map} +1 -1
  303. package/build/server/chunks/{_server.ts-BYTe4ViD.js → _server.ts-DkekkLe3.js} +4 -4
  304. package/build/server/chunks/{_server.ts-BYTe4ViD.js.map → _server.ts-DkekkLe3.js.map} +1 -1
  305. package/build/server/chunks/{_server.ts-B-LWyGZ8.js → _server.ts-DqSYGJwj.js} +4 -4
  306. package/build/server/chunks/{_server.ts-B-LWyGZ8.js.map → _server.ts-DqSYGJwj.js.map} +1 -1
  307. package/build/server/chunks/{_server.ts-CKtVrr5P.js → _server.ts-Dvw_Z0Cw.js} +4 -4
  308. package/build/server/chunks/{_server.ts-CKtVrr5P.js.map → _server.ts-Dvw_Z0Cw.js.map} +1 -1
  309. package/build/server/chunks/{_server.ts-BEGEbcQ_.js → _server.ts-L9E2K0UZ.js} +4 -4
  310. package/build/server/chunks/{_server.ts-BEGEbcQ_.js.map → _server.ts-L9E2K0UZ.js.map} +1 -1
  311. package/build/server/chunks/{_server.ts-Du9sjt--.js → _server.ts-OFmjL3-M.js} +4 -4
  312. package/build/server/chunks/{_server.ts-Du9sjt--.js.map → _server.ts-OFmjL3-M.js.map} +1 -1
  313. package/build/server/chunks/{_server.ts-BUI9hwVF.js → _server.ts-PFG4aGE3.js} +4 -4
  314. package/build/server/chunks/{_server.ts-BUI9hwVF.js.map → _server.ts-PFG4aGE3.js.map} +1 -1
  315. package/build/server/chunks/{_server.ts-MvJCHr1k.js → _server.ts-SVtgpOfH.js} +3 -3
  316. package/build/server/chunks/{_server.ts-MvJCHr1k.js.map → _server.ts-SVtgpOfH.js.map} +1 -1
  317. package/build/server/chunks/{_server.ts-WfRBOO6r.js → _server.ts-YJbrc522.js} +4 -4
  318. package/build/server/chunks/{_server.ts-WfRBOO6r.js.map → _server.ts-YJbrc522.js.map} +1 -1
  319. package/build/server/chunks/{_server.ts-VbLWxdNH.js → _server.ts-bN4Lz9RH.js} +4 -4
  320. package/build/server/chunks/{_server.ts-VbLWxdNH.js.map → _server.ts-bN4Lz9RH.js.map} +1 -1
  321. package/build/server/chunks/{_server.ts-BEW1ndmL.js → _server.ts-bnATlqbs.js} +5 -5
  322. package/build/server/chunks/{_server.ts-BEW1ndmL.js.map → _server.ts-bnATlqbs.js.map} +1 -1
  323. package/build/server/chunks/{_server.ts-07x4zjP2.js → _server.ts-eUYIsIFa.js} +4 -4
  324. package/build/server/chunks/{_server.ts-07x4zjP2.js.map → _server.ts-eUYIsIFa.js.map} +1 -1
  325. package/build/server/chunks/{_server.ts-BXGCxm6J.js → _server.ts-pQtrhbNR.js} +5 -5
  326. package/build/server/chunks/{_server.ts-BXGCxm6J.js.map → _server.ts-pQtrhbNR.js.map} +1 -1
  327. package/build/server/chunks/{_server.ts-B6Zmqwf5.js → _server.ts-tZLezQ2K.js} +4 -4
  328. package/build/server/chunks/{_server.ts-B6Zmqwf5.js.map → _server.ts-tZLezQ2K.js.map} +1 -1
  329. package/build/server/chunks/{_server.ts-DmvmgVIf.js → _server.ts-yWNI61C2.js} +5 -5
  330. package/build/server/chunks/{_server.ts-DmvmgVIf.js.map → _server.ts-yWNI61C2.js.map} +1 -1
  331. package/build/server/chunks/{_server.ts-DahXKbZg.js → _server.ts-z7zvXa1n.js} +3 -3
  332. package/build/server/chunks/{_server.ts-DahXKbZg.js.map → _server.ts-z7zvXa1n.js.map} +1 -1
  333. package/build/server/chunks/{access.server-DGKSuoRH.js → access.server-BIbrdwtI.js} +3 -3
  334. package/build/server/chunks/{access.server-DGKSuoRH.js.map → access.server-BIbrdwtI.js.map} +1 -1
  335. package/build/server/chunks/{api-errors-DSza0CJv.js → api-errors-Dvd_bb0g.js} +2 -2
  336. package/build/server/chunks/{api-errors-DSza0CJv.js.map → api-errors-Dvd_bb0g.js.map} +1 -1
  337. package/build/server/chunks/{auth-bootstrap.server-YBvyz9i1.js → auth-bootstrap.server-B93MMm50.js} +3 -2
  338. package/build/server/chunks/auth-bootstrap.server-B93MMm50.js.map +1 -0
  339. package/build/server/chunks/{bootHealth.server-DwPUi_JC.js → bootHealth.server-CCMjOn0m.js} +2 -2
  340. package/build/server/chunks/{bootHealth.server-DwPUi_JC.js.map → bootHealth.server-CCMjOn0m.js.map} +1 -1
  341. package/build/server/chunks/{hooks.server---blwhkE.js → hooks.server-BEJK3uzD.js} +29 -4
  342. package/build/server/chunks/hooks.server-BEJK3uzD.js.map +1 -0
  343. package/build/server/chunks/{permissions.server-toUY36oB.js → permissions.server-Bfvp6EaK.js} +2 -2
  344. package/build/server/chunks/{permissions.server-toUY36oB.js.map → permissions.server-Bfvp6EaK.js.map} +1 -1
  345. package/build/server/chunks/{providers.server-gJvnJT_K.js → providers.server-CuhJFeVB.js} +39 -3
  346. package/build/server/chunks/providers.server-CuhJFeVB.js.map +1 -0
  347. package/build/server/chunks/{resolve.server-Ca9AsrIQ.js → resolve.server-ButnJP6T.js} +3 -3
  348. package/build/server/chunks/{resolve.server-Ca9AsrIQ.js.map → resolve.server-ButnJP6T.js.map} +1 -1
  349. package/build/server/chunks/{resolve.server2-B0RMxSCk.js → resolve.server2-BniR9tSC.js} +2 -2
  350. package/build/server/chunks/{resolve.server2-B0RMxSCk.js.map → resolve.server2-BniR9tSC.js.map} +1 -1
  351. package/build/server/chunks/{utils2-DfCIUv4X.js → utils2-BZ2tVtxn.js} +2 -2
  352. package/build/server/chunks/{utils2-DfCIUv4X.js.map → utils2-BZ2tVtxn.js.map} +1 -1
  353. package/build/server/index.js +2 -2
  354. package/build/server/index.js.map +1 -1
  355. package/build/server/manifest.js +70 -70
  356. package/build/server/manifest.js.map +1 -1
  357. package/package.json +3 -3
  358. package/build/client/.!34937!selva_example_0_1_0.gh +0 -0
  359. package/build/client/_app/immutable/assets/20.5bKkcx-V.css +0 -1
  360. package/build/client/_app/immutable/assets/20.5bKkcx-V.css.br +0 -0
  361. package/build/client/_app/immutable/assets/20.5bKkcx-V.css.gz +0 -0
  362. package/build/client/_app/immutable/chunks/8jxh9FTC.js.br +0 -0
  363. package/build/client/_app/immutable/chunks/8jxh9FTC.js.gz +0 -0
  364. package/build/client/_app/immutable/chunks/B1839-Qe.js.br +0 -0
  365. package/build/client/_app/immutable/chunks/B1839-Qe.js.gz +0 -0
  366. package/build/client/_app/immutable/chunks/BB7Ce_Ao.js.br +0 -0
  367. package/build/client/_app/immutable/chunks/BB7Ce_Ao.js.gz +0 -0
  368. package/build/client/_app/immutable/chunks/BG4KYJxd.js.br +0 -0
  369. package/build/client/_app/immutable/chunks/BG4KYJxd.js.gz +0 -0
  370. package/build/client/_app/immutable/chunks/BLObdRkl.js.br +0 -0
  371. package/build/client/_app/immutable/chunks/BLObdRkl.js.gz +0 -0
  372. package/build/client/_app/immutable/chunks/Dx1NLq6A.js.br +0 -0
  373. package/build/client/_app/immutable/chunks/Dx1NLq6A.js.gz +0 -0
  374. package/build/client/_app/immutable/entry/app.iSZ5n5at.js.br +0 -0
  375. package/build/client/_app/immutable/entry/app.iSZ5n5at.js.gz +0 -0
  376. package/build/client/_app/immutable/entry/start.DN1mprbr.js +0 -1
  377. package/build/client/_app/immutable/entry/start.DN1mprbr.js.br +0 -2
  378. package/build/client/_app/immutable/entry/start.DN1mprbr.js.gz +0 -0
  379. package/build/client/_app/immutable/nodes/0.KJ-PiM1c.js.br +0 -0
  380. package/build/client/_app/immutable/nodes/0.KJ-PiM1c.js.gz +0 -0
  381. package/build/client/_app/immutable/nodes/1.B3iyxTLe.js.br +0 -0
  382. package/build/client/_app/immutable/nodes/1.B3iyxTLe.js.gz +0 -0
  383. package/build/client/_app/immutable/nodes/11.C0bOSA5Z.js.br +0 -0
  384. package/build/client/_app/immutable/nodes/11.C0bOSA5Z.js.gz +0 -0
  385. package/build/client/_app/immutable/nodes/13.BBX4st-t.js.br +0 -0
  386. package/build/client/_app/immutable/nodes/13.BBX4st-t.js.gz +0 -0
  387. package/build/client/_app/immutable/nodes/14.S-GLVBVi.js.br +0 -0
  388. package/build/client/_app/immutable/nodes/14.S-GLVBVi.js.gz +0 -0
  389. package/build/client/_app/immutable/nodes/16.ukqcuKdq.js.br +0 -0
  390. package/build/client/_app/immutable/nodes/16.ukqcuKdq.js.gz +0 -0
  391. package/build/client/_app/immutable/nodes/17.DsZpiT_T.js.br +0 -0
  392. package/build/client/_app/immutable/nodes/17.DsZpiT_T.js.gz +0 -0
  393. package/build/client/_app/immutable/nodes/19.De1qTu0Z.js.br +0 -0
  394. package/build/client/_app/immutable/nodes/19.De1qTu0Z.js.gz +0 -0
  395. package/build/client/_app/immutable/nodes/2.D9zIVWl1.js.br +0 -0
  396. package/build/client/_app/immutable/nodes/2.D9zIVWl1.js.gz +0 -0
  397. package/build/client/_app/immutable/nodes/20.DxsctpJH.js.br +0 -0
  398. package/build/client/_app/immutable/nodes/20.DxsctpJH.js.gz +0 -0
  399. package/build/client/_app/immutable/nodes/21.-SL0S8PQ.js +0 -3
  400. package/build/client/_app/immutable/nodes/21.-SL0S8PQ.js.br +0 -0
  401. package/build/client/_app/immutable/nodes/21.-SL0S8PQ.js.gz +0 -0
  402. package/build/client/_app/immutable/nodes/23.VZ_boRL-.js.br +0 -0
  403. package/build/client/_app/immutable/nodes/23.VZ_boRL-.js.gz +0 -0
  404. package/build/client/_app/immutable/nodes/24.B9kY2pb5.js.br +0 -0
  405. package/build/client/_app/immutable/nodes/24.B9kY2pb5.js.gz +0 -0
  406. package/build/client/_app/immutable/nodes/27.DZwrstUI.js.br +0 -0
  407. package/build/client/_app/immutable/nodes/27.DZwrstUI.js.gz +0 -0
  408. package/build/client/_app/immutable/nodes/28.MnyfwNy0.js.br +0 -0
  409. package/build/client/_app/immutable/nodes/28.MnyfwNy0.js.gz +0 -0
  410. package/build/client/_app/immutable/nodes/29.CNTJCITP.js.br +0 -0
  411. package/build/client/_app/immutable/nodes/3.KI4lh69U.js.br +0 -0
  412. package/build/client/_app/immutable/nodes/3.KI4lh69U.js.gz +0 -0
  413. package/build/client/_app/immutable/nodes/30.Ct1smdjS.js.br +0 -0
  414. package/build/client/_app/immutable/nodes/30.Ct1smdjS.js.gz +0 -0
  415. package/build/client/_app/immutable/nodes/5.BN9x0bOB.js.br +0 -0
  416. package/build/client/_app/immutable/nodes/5.BN9x0bOB.js.gz +0 -0
  417. package/build/client/_app/immutable/nodes/6.BU_SGWVX.js.br +0 -0
  418. package/build/client/_app/immutable/nodes/6.BU_SGWVX.js.gz +0 -0
  419. package/build/client/_app/immutable/nodes/7.9jzNcaAs.js.br +0 -0
  420. package/build/client/_app/immutable/nodes/7.9jzNcaAs.js.gz +0 -0
  421. package/build/client/_app/immutable/nodes/8.BvaBLt60.js.br +0 -0
  422. package/build/client/_app/immutable/nodes/8.BvaBLt60.js.gz +0 -0
  423. package/build/client/_app/immutable/nodes/9.CzG8ag1t.js +0 -1
  424. package/build/client/_app/immutable/nodes/9.CzG8ag1t.js.br +0 -0
  425. package/build/client/_app/immutable/nodes/9.CzG8ag1t.js.gz +0 -0
  426. package/build/server/chunks/15-wi_onU5j.js.map +0 -1
  427. package/build/server/chunks/21-BAKPEyjQ.js.map +0 -1
  428. package/build/server/chunks/_page.svelte-BCCCalas.js.map +0 -1
  429. package/build/server/chunks/_page.svelte-BR8dze-7.js.map +0 -1
  430. package/build/server/chunks/_page.svelte-DSpONoJg.js.map +0 -1
  431. package/build/server/chunks/auth-bootstrap.server-YBvyz9i1.js.map +0 -1
  432. package/build/server/chunks/hooks.server---blwhkE.js.map +0 -1
  433. package/build/server/chunks/providers.server-gJvnJT_K.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bootHealth.server-DwPUi_JC.js","sources":["../../../.svelte-kit/adapter-node/chunks/bootHealth.server.js"],"sourcesContent":["import \"./context.js\";\nimport { p as providers, L as LocalComputeServerStore } from \"./providers.server.js\";\nlet cached = null;\nlet inflight = null;\nasync function run() {\n let atRestSecrets = null;\n const store = providers.data.computeServer;\n if (store instanceof LocalComputeServerStore) {\n try {\n atRestSecrets = await store.verifySecrets();\n } catch (err) {\n console.error(\"[selva][boot] verifySecrets threw — treating as failure\", err);\n atRestSecrets = {\n ok: false,\n plaintextFound: false,\n failures: [\n {\n serverId: \"(unknown)\",\n serverLabel: \"(unknown)\",\n reason: \"key_mismatch\",\n cause: err instanceof Error ? err.message : String(err)\n }\n ]\n };\n }\n }\n if (atRestSecrets && !atRestSecrets.ok) {\n for (const f of atRestSecrets.failures) {\n console.error(\n `[selva][boot] compute server \"${f.serverLabel}\" (${f.serverId}): ${f.reason}${f.cause ? ` — ${f.cause}` : \"\"}`\n );\n }\n console.error(\n \"[selva][boot] At-rest secret verification failed. /api/health will return 503. Recover by re-entering the affected apiKeys via /admin/compute, or by restoring the original SELVA_AT_REST_KEY. See docs/Troubleshooting.md.\"\n );\n }\n return {\n checkedAt: (/* @__PURE__ */ new Date()).toISOString(),\n atRestSecrets\n };\n}\nfunction getBootHealth() {\n if (cached) return Promise.resolve(cached);\n if (inflight) return inflight;\n inflight = run().then((result) => {\n cached = result;\n inflight = null;\n return result;\n });\n return inflight;\n}\nfunction isDegraded(report) {\n return report.atRestSecrets !== null && !report.atRestSecrets.ok;\n}\nexport {\n getBootHealth as g,\n isDegraded as i\n};\n"],"names":[],"mappings":";;;AAEA,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,QAAQ,GAAG,IAAI;AACnB,eAAe,GAAG,GAAG;AACrB,EAAE,IAAI,aAAa,GAAG,IAAI;AAC1B,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa;AAC5C,EAAE,IAAI,KAAK,YAAY,uBAAuB,EAAE;AAChD,IAAI,IAAI;AACR,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;AACjD,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,GAAG,CAAC;AACnF,MAAM,aAAa,GAAG;AACtB,QAAQ,EAAE,EAAE,KAAK;AACjB,QAAQ,cAAc,EAAE,KAAK;AAC7B,QAAQ,QAAQ,EAAE;AAClB,UAAU;AACV,YAAY,QAAQ,EAAE,WAAW;AACjC,YAAY,WAAW,EAAE,WAAW;AACpC,YAAY,MAAM,EAAE,cAAc;AAClC,YAAY,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AAClE;AACA;AACA,OAAO;AACP,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;AAC1C,IAAI,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE;AAC5C,MAAM,OAAO,CAAC,KAAK;AACnB,QAAQ,CAAC,8BAA8B,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AACtH,OAAO;AACP,IAAI;AACJ,IAAI,OAAO,CAAC,KAAK;AACjB,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACzD,IAAI;AACJ,GAAG;AACH;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,IAAI,MAAM,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC5C,EAAE,IAAI,QAAQ,EAAE,OAAO,QAAQ;AAC/B,EAAE,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AACpC,IAAI,MAAM,GAAG,MAAM;AACnB,IAAI,QAAQ,GAAG,IAAI;AACnB,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,OAAO,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AAClE;;;;"}
1
+ {"version":3,"file":"bootHealth.server-CCMjOn0m.js","sources":["../../../.svelte-kit/adapter-node/chunks/bootHealth.server.js"],"sourcesContent":["import \"./context.js\";\nimport { p as providers, L as LocalComputeServerStore } from \"./providers.server.js\";\nlet cached = null;\nlet inflight = null;\nasync function run() {\n let atRestSecrets = null;\n const store = providers.data.computeServer;\n if (store instanceof LocalComputeServerStore) {\n try {\n atRestSecrets = await store.verifySecrets();\n } catch (err) {\n console.error(\"[selva][boot] verifySecrets threw — treating as failure\", err);\n atRestSecrets = {\n ok: false,\n plaintextFound: false,\n failures: [\n {\n serverId: \"(unknown)\",\n serverLabel: \"(unknown)\",\n reason: \"key_mismatch\",\n cause: err instanceof Error ? err.message : String(err)\n }\n ]\n };\n }\n }\n if (atRestSecrets && !atRestSecrets.ok) {\n for (const f of atRestSecrets.failures) {\n console.error(\n `[selva][boot] compute server \"${f.serverLabel}\" (${f.serverId}): ${f.reason}${f.cause ? ` — ${f.cause}` : \"\"}`\n );\n }\n console.error(\n \"[selva][boot] At-rest secret verification failed. /api/health will return 503. Recover by re-entering the affected apiKeys via /admin/compute, or by restoring the original SELVA_AT_REST_KEY. See docs/Troubleshooting.md.\"\n );\n }\n return {\n checkedAt: (/* @__PURE__ */ new Date()).toISOString(),\n atRestSecrets\n };\n}\nfunction getBootHealth() {\n if (cached) return Promise.resolve(cached);\n if (inflight) return inflight;\n inflight = run().then((result) => {\n cached = result;\n inflight = null;\n return result;\n });\n return inflight;\n}\nfunction isDegraded(report) {\n return report.atRestSecrets !== null && !report.atRestSecrets.ok;\n}\nexport {\n getBootHealth as g,\n isDegraded as i\n};\n"],"names":[],"mappings":";;;AAEA,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,QAAQ,GAAG,IAAI;AACnB,eAAe,GAAG,GAAG;AACrB,EAAE,IAAI,aAAa,GAAG,IAAI;AAC1B,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa;AAC5C,EAAE,IAAI,KAAK,YAAY,uBAAuB,EAAE;AAChD,IAAI,IAAI;AACR,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;AACjD,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,GAAG,CAAC;AACnF,MAAM,aAAa,GAAG;AACtB,QAAQ,EAAE,EAAE,KAAK;AACjB,QAAQ,cAAc,EAAE,KAAK;AAC7B,QAAQ,QAAQ,EAAE;AAClB,UAAU;AACV,YAAY,QAAQ,EAAE,WAAW;AACjC,YAAY,WAAW,EAAE,WAAW;AACpC,YAAY,MAAM,EAAE,cAAc;AAClC,YAAY,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AAClE;AACA;AACA,OAAO;AACP,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;AAC1C,IAAI,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE;AAC5C,MAAM,OAAO,CAAC,KAAK;AACnB,QAAQ,CAAC,8BAA8B,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AACtH,OAAO;AACP,IAAI;AACJ,IAAI,OAAO,CAAC,KAAK;AACjB,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACzD,IAAI;AACJ,GAAG;AACH;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,IAAI,MAAM,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC5C,EAAE,IAAI,QAAQ,EAAE,OAAO,QAAQ;AAC/B,EAAE,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AACpC,IAAI,MAAM,GAAG,MAAM;AACnB,IAAI,QAAQ,GAAG,IAAI;AACnB,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,OAAO,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AAClE;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { redirect, isHttpError } from '@sveltejs/kit';
2
2
  import { S as SYSTEM_CONTEXT } from './context-9tV9WxQ5.js';
3
- import { p as providers } from './providers.server-gJvnJT_K.js';
4
- import { g as getBootHealth } from './bootHealth.server-DwPUi_JC.js';
5
- import { w as wireHeaderAuthBootstrap, b as bootstrapUserSession } from './auth-bootstrap.server-YBvyz9i1.js';
3
+ import { p as providers } from './providers.server-CuhJFeVB.js';
4
+ import { g as getBootHealth } from './bootHealth.server-CCMjOn0m.js';
5
+ import { w as wireHeaderAuthBootstrap, b as bootstrapUserSession } from './auth-bootstrap.server-B93MMm50.js';
6
6
  import { g as getRefreshToken, s as setSessionCookie, a as setRefreshCookie, c as clearRefreshCookie } from './admin-auth.server-CdTfBMI5.js';
7
7
  import 'zod';
8
8
  import './shared-server-DaWdgxVh.js';
@@ -18,6 +18,7 @@ function emptyProfile(userId) {
18
18
  return { userId, starredDefinitions: [], recentRuns: [] };
19
19
  }
20
20
  let headerAuthBootstrapWired = false;
21
+ let proxyAuthLoginMissWarned = false;
21
22
  void getBootHealth();
22
23
  let firstRunResolved = false;
23
24
  async function isFirstRun() {
@@ -147,6 +148,30 @@ const handle = async ({ event, resolve }) => {
147
148
  let user = token ? await providers.auth.verifyToken(token) : null;
148
149
  if (!user && isPublicPage && providers.auth.proxyAuth) {
149
150
  user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);
151
+ if (!user && pathname === "/login") {
152
+ const dump = [];
153
+ event.request.headers.forEach((value, name) => dump.push(` ${name}: ${value}`));
154
+ dump.sort();
155
+ console.warn(
156
+ `[HeaderAuth][debug] /login miss — full request headers:
157
+ ${dump.join("\n") || " (no headers)"}`
158
+ );
159
+ }
160
+ if (!user && pathname === "/login" && !proxyAuthLoginMissWarned) {
161
+ proxyAuthLoginMissWarned = true;
162
+ const proxyAuth = providers.auth.proxyAuth;
163
+ const noHeaders = proxyAuth.hasNoIdentityHeaders(event.request.headers);
164
+ const configured = proxyAuth.configuredHeaderNames.join(", ");
165
+ if (noHeaders) {
166
+ console.warn(
167
+ `[HeaderAuth] /login was hit and NONE of the configured identity headers (${configured}) arrived on the request. The forward-auth proxy is not reaching this process, or it is not forwarding the configured headers. See the @selvajs/header-auth-provider README "Verification" section.`
168
+ );
169
+ } else {
170
+ console.warn(
171
+ `[HeaderAuth] /login was hit but the UPN header was missing or the user is not allowlisted. Configured headers: ${configured}. Some headers arrived but identification still failed — check that the UPN header is populated and that the user has been added to header-allowlist.json.`
172
+ );
173
+ }
174
+ }
150
175
  }
151
176
  if (user) {
152
177
  await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);
@@ -195,4 +220,4 @@ const handleError = ({
195
220
  };
196
221
 
197
222
  export { handle, handleError, isPublicRoute, isStaticAsset };
198
- //# sourceMappingURL=hooks.server---blwhkE.js.map
223
+ //# sourceMappingURL=hooks.server-BEJK3uzD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.server-BEJK3uzD.js","sources":["../../../.svelte-kit/adapter-node/entries/hooks.server.js"],"sourcesContent":["import { redirect, isHttpError } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../chunks/context.js\";\nimport { p as providers } from \"../chunks/providers.server.js\";\nimport { g as getBootHealth } from \"../chunks/bootHealth.server.js\";\nimport { w as wireHeaderAuthBootstrap, b as bootstrapUserSession } from \"../chunks/auth-bootstrap.server.js\";\nimport { g as getRefreshToken, s as setSessionCookie, a as setRefreshCookie, h as clearRefreshCookie } from \"../chunks/admin-auth.server.js\";\nfunction emptyProfile(userId) {\n return { userId, starredDefinitions: [], recentRuns: [] };\n}\nlet headerAuthBootstrapWired = false;\nlet proxyAuthLoginMissWarned = false;\nvoid getBootHealth();\nlet firstRunResolved = false;\nasync function isFirstRun() {\n if (firstRunResolved) return false;\n const usersPage = await providers.auth.listUsers({ limit: 1 });\n if (usersPage === null) {\n firstRunResolved = true;\n return false;\n }\n if (usersPage.items.length === 0) return true;\n firstRunResolved = true;\n return false;\n}\nasync function buildContext(user, sessionToken) {\n let actingOrgId;\n let orgPermissions = [];\n const platformPermissions = await providers.data.permissions.getFor(SYSTEM_CONTEXT, user.id);\n const membership = await providers.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id);\n if (membership) {\n actingOrgId = membership.org.id;\n orgPermissions = membership.member.permissions;\n }\n if (!actingOrgId && platformPermissions.includes(\"instance_admin\")) {\n const firstOrgPage = await providers.data.orgs.listOrgs(SYSTEM_CONTEXT, { limit: 1 });\n const firstOrg = firstOrgPage.items[0];\n if (firstOrg) actingOrgId = firstOrg.id;\n }\n return {\n userId: user.id,\n actingOrgId,\n platformPermissions,\n orgPermissions,\n adapterContext: sessionToken ? { sessionToken } : void 0\n };\n}\nconst PUBLIC_PAGE_ROUTES = /* @__PURE__ */ new Set([\n \"/\",\n // landing — guests see it; authed users get redirected by +page.server.ts\n \"/login\",\n \"/setup\",\n \"/accept-invite\"\n]);\nconst PUBLIC_PATH_PREFIXES = [\"/auth/\", \"/logout\"];\nconst PUBLIC_API_ROUTES = /* @__PURE__ */ new Set([\"/api/health\"]);\nconst STATIC_ASSET_PREFIXES = [\"/_app/\", \"/favicon/\"];\nconst STATIC_ASSET_PATHS = /* @__PURE__ */ new Set([\"/favicon.svg\", \"/robots.txt\"]);\nfunction isStaticAsset(pathname) {\n if (STATIC_ASSET_PATHS.has(pathname)) return true;\n return STATIC_ASSET_PREFIXES.some((p) => pathname.startsWith(p));\n}\nfunction isPublicRoute(pathname) {\n if (PUBLIC_PAGE_ROUTES.has(pathname)) return true;\n if (PUBLIC_API_ROUTES.has(pathname)) return true;\n return PUBLIC_PATH_PREFIXES.some((p) => pathname.startsWith(p));\n}\nconst handle = async ({ event, resolve }) => {\n event.locals.providers = providers;\n if (!headerAuthBootstrapWired) {\n wireHeaderAuthBootstrap();\n headerAuthBootstrapWired = true;\n }\n const { pathname } = event.url;\n if (isStaticAsset(pathname)) {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n if (pathname === \"/api/health\") {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n const publicRoute = isPublicRoute(pathname);\n const isJsonApiRoute = pathname.startsWith(\"/api/\") || pathname.startsWith(\"/admin/api/\");\n if (!publicRoute) {\n if (await isFirstRun()) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(JSON.stringify({ error: \"Setup required\" }), {\n status: 503,\n headers: { \"Content-Type\": \"application/json\" }\n }),\n pathname\n );\n }\n redirect(303, \"/setup\");\n }\n }\n const needsAuth = !publicRoute;\n if (needsAuth) {\n let token = event.cookies.get(\"admin_session\") ?? \"\";\n let user = await providers.auth.verifyToken(token);\n if (!user) {\n const refreshToken = getRefreshToken(event.cookies);\n const oauth = providers.auth.oauth;\n if (refreshToken && oauth) {\n const refreshed = await oauth.refreshSession(refreshToken);\n if (refreshed) {\n setSessionCookie(event.cookies, refreshed.sessionToken);\n setRefreshCookie(event.cookies, refreshed.refreshToken);\n token = refreshed.sessionToken;\n user = await providers.auth.verifyToken(token);\n } else {\n clearRefreshCookie(event.cookies);\n }\n }\n }\n if (!user && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (user) await bootstrapUserSession(user);\n }\n if (!user) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(JSON.stringify({ error: \"Unauthorized\" }), {\n status: 401,\n headers: { \"Content-Type\": \"application/json\" }\n }),\n pathname\n );\n }\n redirect(303, `/login?redirectTo=${encodeURIComponent(pathname)}`);\n }\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n } else {\n const isPublicPage = PUBLIC_PAGE_ROUTES.has(pathname);\n const token = isPublicPage ? event.cookies.get(\"admin_session\") ?? \"\" : \"\";\n let user = token ? await providers.auth.verifyToken(token) : null;\n if (!user && isPublicPage && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (!user && pathname === \"/login\") {\n const dump = [];\n event.request.headers.forEach((value, name) => dump.push(` ${name}: ${value}`));\n dump.sort();\n console.warn(\n `[HeaderAuth][debug] /login miss — full request headers:\n${dump.join(\"\\n\") || \" (no headers)\"}`\n );\n }\n if (!user && pathname === \"/login\" && !proxyAuthLoginMissWarned) {\n proxyAuthLoginMissWarned = true;\n const proxyAuth = providers.auth.proxyAuth;\n const noHeaders = proxyAuth.hasNoIdentityHeaders(event.request.headers);\n const configured = proxyAuth.configuredHeaderNames.join(\", \");\n if (noHeaders) {\n console.warn(\n `[HeaderAuth] /login was hit and NONE of the configured identity headers (${configured}) arrived on the request. The forward-auth proxy is not reaching this process, or it is not forwarding the configured headers. See the @selvajs/header-auth-provider README \"Verification\" section.`\n );\n } else {\n console.warn(\n `[HeaderAuth] /login was hit but the UPN header was missing or the user is not allowlisted. Configured headers: ${configured}. Some headers arrived but identification still failed — check that the UPN header is populated and that the user has been added to header-allowlist.json.`\n );\n }\n }\n }\n if (user) {\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n }\n }\n return applySecurityHeaders(await resolve(event), pathname);\n};\nfunction applySecurityHeaders(response, pathname) {\n response.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n response.headers.set(\"Referrer-Policy\", \"strict-origin-when-cross-origin\");\n response.headers.set(\n \"Permissions-Policy\",\n \"accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()\"\n );\n if (process.env.NODE_ENV === \"production\") {\n response.headers.set(\"Strict-Transport-Security\", \"max-age=31536000; includeSubDomains\");\n }\n if (pathname.startsWith(\"/_app/\")) {\n response.headers.set(\"Cache-Control\", \"public, max-age=31536000, immutable\");\n } else if (pathname.startsWith(\"/favicon/\") || pathname === \"/favicon.svg\" || pathname === \"/robots.txt\") {\n response.headers.set(\"Cache-Control\", \"public, max-age=604800\");\n }\n return response;\n}\nconst handleError = ({\n error,\n status,\n event\n}) => {\n if (isHttpError(error)) {\n return { message: error.body.message };\n }\n if (status === 404) {\n return { message: \"Page not found.\" };\n }\n const cause = error instanceof Error && error.cause ? `\n caused by: ${error.cause}` : \"\";\n console.error(\n `[Unhandled error] ${event.request.method} ${event.url.pathname}\n ${error}${cause}`\n );\n return { message: \"An unexpected error occurred.\" };\n};\nexport {\n handle,\n handleError,\n isPublicRoute,\n isStaticAsset\n};\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { l as getPermissionStore } from './providers.server-gJvnJT_K.js';
1
+ import { l as getPermissionStore } from './providers.server-CuhJFeVB.js';
2
2
 
3
3
  async function setUserPlatformPermissions(ctx, userId, permissions) {
4
4
  return getPermissionStore().set(ctx, userId, permissions);
5
5
  }
6
6
 
7
7
  export { setUserPlatformPermissions as s };
8
- //# sourceMappingURL=permissions.server-toUY36oB.js.map
8
+ //# sourceMappingURL=permissions.server-Bfvp6EaK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.server-toUY36oB.js","sources":["../../../.svelte-kit/adapter-node/chunks/permissions.server.js"],"sourcesContent":["import { h as getPermissionStore } from \"./providers.server.js\";\nasync function setUserPlatformPermissions(ctx, userId, permissions) {\n return getPermissionStore().set(ctx, userId, permissions);\n}\nexport {\n setUserPlatformPermissions as s\n};\n"],"names":[],"mappings":";;AACA,eAAe,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE;AACpE,EAAE,OAAO,kBAAkB,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC;AAC3D;;;;"}
1
+ {"version":3,"file":"permissions.server-Bfvp6EaK.js","sources":["../../../.svelte-kit/adapter-node/chunks/permissions.server.js"],"sourcesContent":["import { h as getPermissionStore } from \"./providers.server.js\";\nasync function setUserPlatformPermissions(ctx, userId, permissions) {\n return getPermissionStore().set(ctx, userId, permissions);\n}\nexport {\n setUserPlatformPermissions as s\n};\n"],"names":[],"mappings":";;AACA,eAAe,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE;AACpE,EAAE,OAAO,kBAAkB,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC;AAC3D;;;;"}
@@ -4073,6 +4073,14 @@ const DEFAULT_HEADERS = {
4073
4073
  email: "SELVA-Email",
4074
4074
  displayName: "SELVA-DisplayName"
4075
4075
  };
4076
+ function dumpHeaders(headers) {
4077
+ const entries = [];
4078
+ headers.forEach((value, name) => entries.push([name, value]));
4079
+ entries.sort((a, b) => a[0].localeCompare(b[0]));
4080
+ if (entries.length === 0)
4081
+ return " (no headers)";
4082
+ return entries.map(([name, value]) => ` ${name}: ${value}`).join("\n");
4083
+ }
4076
4084
  function toAuthUser(u) {
4077
4085
  return {
4078
4086
  id: u.id,
@@ -4087,6 +4095,12 @@ class HeaderProxyAuth {
4087
4095
  users;
4088
4096
  headers;
4089
4097
  bootstrapPolicy;
4098
+ // One-shot diagnostic flag. Flipped the first time we see a request that
4099
+ // carries none of the configured SELVA-* headers, so deploys with a
4100
+ // misconfigured proxy get a single loud warning in the logs without
4101
+ // spamming on every anonymous request. Reset is intentional — the
4102
+ // process restarts and you see the warning again next deploy.
4103
+ missingHeadersWarned = false;
4090
4104
  constructor(users, headers, bootstrapPolicy) {
4091
4105
  this.users = users;
4092
4106
  this.headers = headers;
@@ -4095,10 +4109,29 @@ class HeaderProxyAuth {
4095
4109
  setBootstrapPolicy(policy) {
4096
4110
  this.bootstrapPolicy = policy ?? void 0;
4097
4111
  }
4112
+ /**
4113
+ * Names of the configured identity headers, in priority order. Exposed so
4114
+ * the hook layer can emit per-page diagnostics ("you hit /login without
4115
+ * these headers") without having to know provider internals.
4116
+ */
4117
+ get configuredHeaderNames() {
4118
+ return [this.headers.upn, this.headers.email, this.headers.displayName];
4119
+ }
4120
+ /** True iff none of the configured identity headers are present. */
4121
+ hasNoIdentityHeaders(headers) {
4122
+ return !headers.get(this.headers.upn) && !headers.get(this.headers.email) && !headers.get(this.headers.displayName);
4123
+ }
4098
4124
  async identifyFromHeaders(headers) {
4099
4125
  const upn = headers.get(this.headers.upn);
4100
- if (!upn || !upn.trim())
4126
+ if (!upn || !upn.trim()) {
4127
+ console.warn(`[HeaderAuth][debug] identifyFromHeaders: no UPN. Configured: upn=${this.headers.upn} email=${this.headers.email} display=${this.headers.displayName}. All headers received:
4128
+ ${dumpHeaders(headers)}`);
4129
+ if (!this.missingHeadersWarned && this.hasNoIdentityHeaders(headers)) {
4130
+ this.missingHeadersWarned = true;
4131
+ console.warn(`[HeaderAuth] No identity headers received on the first non-authed request. Expected one of: ${this.headers.upn}, ${this.headers.email}, ${this.headers.displayName}. If you reach the app through your forward-auth proxy, this means the proxy is not forwarding the configured headers — check your forward_auth / copy_headers config. If you're hitting the app directly (bypassing the proxy), bind the process to 127.0.0.1 and only reach it through the proxy. See @selvajs/header-auth-provider README.`);
4132
+ }
4101
4133
  return null;
4134
+ }
4102
4135
  const email = headers.get(this.headers.email)?.trim() || void 0;
4103
4136
  const displayName = headers.get(this.headers.displayName)?.trim() || void 0;
4104
4137
  let entry = await this.users.findByUpn(upn);
@@ -4112,8 +4145,11 @@ class HeaderProxyAuth {
4112
4145
  }
4113
4146
  }
4114
4147
  }
4115
- if (!entry || entry.disabled)
4148
+ if (!entry || entry.disabled) {
4149
+ console.warn(`[HeaderAuth][debug] identifyFromHeaders: UPN "${upn}" did not resolve to an active allowlist entry (entry=${entry ? "disabled" : "missing"}). email=${email ?? "(none)"} displayName=${displayName ?? "(none)"}. All headers received:
4150
+ ${dumpHeaders(headers)}`);
4116
4151
  return null;
4152
+ }
4117
4153
  if (!entry.email && email || !entry.displayName && displayName) {
4118
4154
  await this.users.materializeFromHeaders(entry.id, { email, displayName }).catch(() => {
4119
4155
  });
@@ -4484,4 +4520,4 @@ function getAuditQuery() {
4484
4520
  }
4485
4521
 
4486
4522
  export { LocalComputeServerStore as L, MAX_PAGE_LIMIT as M, ProviderError as P, getAuditQuery as a, branding as b, getOrganizationProvider as c, getInviteStore as d, getUserProfileStore as e, flag as f, getAuthProvider as g, getProjectProvider as h, getDefinitionMeta as i, getComputeServerConfigStore as j, getPlatformProjectGrantStore as k, getPermissionStore as l, getStorageProvider as m, getDataProvider as n, isOrgServer as o, providers as p, isPlatformServer as q, definitionService as r, definitionPaths as s, tenancy as t };
4487
- //# sourceMappingURL=providers.server-gJvnJT_K.js.map
4523
+ //# sourceMappingURL=providers.server-CuhJFeVB.js.map