@selvajs/selva 3.0.0 → 4.2.0

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 (1209) hide show
  1. package/build/client/_app/immutable/assets/0.vgCL98o5.css +1 -0
  2. package/build/client/_app/immutable/assets/0.vgCL98o5.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.vgCL98o5.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/20.DvtWUFNX.css +1 -0
  5. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.br +0 -0
  6. package/build/client/_app/immutable/assets/20.DvtWUFNX.css.gz +0 -0
  7. package/build/client/_app/immutable/chunks/-UMoMsui.js +1 -0
  8. package/build/client/_app/immutable/chunks/-UMoMsui.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/-UMoMsui.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/2n-qzJg2.js +1 -0
  11. package/build/client/_app/immutable/chunks/2n-qzJg2.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/2n-qzJg2.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/B-Kuf-9K.js +1 -0
  14. package/build/client/_app/immutable/chunks/B-Kuf-9K.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/B-Kuf-9K.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/B1z9if9B.js +1 -0
  17. package/build/client/_app/immutable/chunks/B1z9if9B.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/B1z9if9B.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/B21bldal.js +1 -0
  20. package/build/client/_app/immutable/chunks/B21bldal.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/B21bldal.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/B6_AR4oL.js +1 -0
  23. package/build/client/_app/immutable/chunks/B6_AR4oL.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/B6_AR4oL.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/B6yEy6Wb.js +9 -0
  26. package/build/client/_app/immutable/chunks/B6yEy6Wb.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/B6yEy6Wb.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/BEFa4rcT.js +1 -0
  29. package/build/client/_app/immutable/chunks/BEFa4rcT.js.br +4 -0
  30. package/build/client/_app/immutable/chunks/BEFa4rcT.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BGIAOk5X.js +1 -0
  32. package/build/client/_app/immutable/chunks/BGIAOk5X.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/BGIAOk5X.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/BHhjUaik.js +1 -0
  35. package/build/client/_app/immutable/chunks/BHhjUaik.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/BHhjUaik.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/BIIXkPqf.js +1 -0
  38. package/build/client/_app/immutable/chunks/BIIXkPqf.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BIIXkPqf.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/BLZ195WY.js +1 -0
  41. package/build/client/_app/immutable/chunks/BLZ195WY.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/BLZ195WY.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js +1 -0
  44. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/BOsr6E_d.js +1 -0
  47. package/build/client/_app/immutable/chunks/BOsr6E_d.js.br +1 -0
  48. package/build/client/_app/immutable/chunks/BOsr6E_d.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/BQ0arxbK.js +1 -0
  50. package/build/client/_app/immutable/chunks/BQ0arxbK.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/BQ0arxbK.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/BX0gN9mF.js +1 -0
  53. package/build/client/_app/immutable/chunks/BX0gN9mF.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/BX0gN9mF.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/BaMCSMGs.js +1 -0
  56. package/build/client/_app/immutable/chunks/BaMCSMGs.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/BaMCSMGs.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/BeM-GIFh.js +1 -0
  59. package/build/client/_app/immutable/chunks/BeM-GIFh.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/BeM-GIFh.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/BihI7LuH.js +1 -0
  62. package/build/client/_app/immutable/chunks/BihI7LuH.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/BihI7LuH.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/Bma65zV8.js +1 -0
  65. package/build/client/_app/immutable/chunks/Bma65zV8.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/Bma65zV8.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/BnzoF81W.js +1 -0
  68. package/build/client/_app/immutable/chunks/BnzoF81W.js.br +1 -0
  69. package/build/client/_app/immutable/chunks/BnzoF81W.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/BpQqe39G.js +1 -0
  71. package/build/client/_app/immutable/chunks/BpQqe39G.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/BpQqe39G.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/BsKtJj5h.js +1 -0
  74. package/build/client/_app/immutable/chunks/BsKtJj5h.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/BsKtJj5h.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/BtugGMaj.js +1 -0
  77. package/build/client/_app/immutable/chunks/BtugGMaj.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/BtugGMaj.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/Bwn5lHBl.js +1 -0
  80. package/build/client/_app/immutable/chunks/Bwn5lHBl.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/Bwn5lHBl.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/C1kpvSgW.js +2 -0
  83. package/build/client/_app/immutable/chunks/C1kpvSgW.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/C1kpvSgW.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/C3WxOOC9.js +1 -0
  86. package/build/client/_app/immutable/chunks/C3WxOOC9.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/C3WxOOC9.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/C98bdhQ5.js +1 -0
  89. package/build/client/_app/immutable/chunks/C98bdhQ5.js.br +0 -0
  90. package/build/client/_app/immutable/chunks/C98bdhQ5.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/CDmA5ezP.js +1 -0
  92. package/build/client/_app/immutable/chunks/CDmA5ezP.js.br +0 -0
  93. package/build/client/_app/immutable/chunks/CDmA5ezP.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/CE_gxD9G.js +1 -0
  95. package/build/client/_app/immutable/chunks/CE_gxD9G.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/CE_gxD9G.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/CGKZc1Kf.js +1 -0
  98. package/build/client/_app/immutable/chunks/CGKZc1Kf.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/CGKZc1Kf.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/CIHhLSqA.js +1 -0
  101. package/build/client/_app/immutable/chunks/CIHhLSqA.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/CIHhLSqA.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/CNC_mCsM.js +1 -0
  104. package/build/client/_app/immutable/chunks/CNC_mCsM.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/CNC_mCsM.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/Cal8_SqL.js +1 -0
  107. package/build/client/_app/immutable/chunks/Cal8_SqL.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/Cal8_SqL.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/CeS0GhtF.js +1 -0
  110. package/build/client/_app/immutable/chunks/CeS0GhtF.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/CeS0GhtF.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/CnXIg_dO.js +1 -0
  113. package/build/client/_app/immutable/chunks/CnXIg_dO.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/CnXIg_dO.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/CumXBEVX.js +1 -0
  116. package/build/client/_app/immutable/chunks/CumXBEVX.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/CumXBEVX.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/CynIvqMH.js +1 -0
  119. package/build/client/_app/immutable/chunks/CynIvqMH.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/CynIvqMH.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/D-Fls4-N.js +1 -0
  122. package/build/client/_app/immutable/chunks/D-Fls4-N.js.br +0 -0
  123. package/build/client/_app/immutable/chunks/D-Fls4-N.js.gz +0 -0
  124. package/build/client/_app/immutable/chunks/D1xkoVpc.js +1 -0
  125. package/build/client/_app/immutable/chunks/D1xkoVpc.js.br +3 -0
  126. package/build/client/_app/immutable/chunks/D1xkoVpc.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/D37hHIb0.js +1 -0
  128. package/build/client/_app/immutable/chunks/D37hHIb0.js.br +0 -0
  129. package/build/client/_app/immutable/chunks/D37hHIb0.js.gz +0 -0
  130. package/build/client/_app/immutable/chunks/DNu_no60.js +3 -0
  131. package/build/client/_app/immutable/chunks/DNu_no60.js.br +0 -0
  132. package/build/client/_app/immutable/chunks/DNu_no60.js.gz +0 -0
  133. package/build/client/_app/immutable/chunks/DRpLcVdK.js +1 -0
  134. package/build/client/_app/immutable/chunks/DRpLcVdK.js.br +0 -0
  135. package/build/client/_app/immutable/chunks/DRpLcVdK.js.gz +0 -0
  136. package/build/client/_app/immutable/chunks/DYfK6Plb.js +1 -0
  137. package/build/client/_app/immutable/chunks/DYfK6Plb.js.br +1 -0
  138. package/build/client/_app/immutable/chunks/DYfK6Plb.js.gz +0 -0
  139. package/build/client/_app/immutable/chunks/DZM0bVcB.js +1 -0
  140. package/build/client/_app/immutable/chunks/DZM0bVcB.js.br +0 -0
  141. package/build/client/_app/immutable/chunks/DZM0bVcB.js.gz +0 -0
  142. package/build/client/_app/immutable/chunks/D_gPt7DB.js +1 -0
  143. package/build/client/_app/immutable/chunks/D_gPt7DB.js.br +0 -0
  144. package/build/client/_app/immutable/chunks/D_gPt7DB.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/DdEmEaOR.js +1 -0
  146. package/build/client/_app/immutable/chunks/DdEmEaOR.js.br +0 -0
  147. package/build/client/_app/immutable/chunks/DdEmEaOR.js.gz +0 -0
  148. package/build/client/_app/immutable/chunks/De-Sjn1V.js +1 -0
  149. package/build/client/_app/immutable/chunks/De-Sjn1V.js.br +0 -0
  150. package/build/client/_app/immutable/chunks/De-Sjn1V.js.gz +0 -0
  151. package/build/client/_app/immutable/chunks/DeMiewtM.js +1 -0
  152. package/build/client/_app/immutable/chunks/DeMiewtM.js.br +0 -0
  153. package/build/client/_app/immutable/chunks/DeMiewtM.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/DfbumCTS.js +1 -0
  155. package/build/client/_app/immutable/chunks/DfbumCTS.js.br +0 -0
  156. package/build/client/_app/immutable/chunks/DfbumCTS.js.gz +0 -0
  157. package/build/client/_app/immutable/chunks/Diyh8RG-.js +1 -0
  158. package/build/client/_app/immutable/chunks/Diyh8RG-.js.br +0 -0
  159. package/build/client/_app/immutable/chunks/Diyh8RG-.js.gz +0 -0
  160. package/build/client/_app/immutable/chunks/DkVLFJC2.js +64 -0
  161. package/build/client/_app/immutable/chunks/DkVLFJC2.js.br +0 -0
  162. package/build/client/_app/immutable/chunks/DkVLFJC2.js.gz +0 -0
  163. package/build/client/_app/immutable/chunks/Dn_lJm0y.js +1 -0
  164. package/build/client/_app/immutable/chunks/Dn_lJm0y.js.br +0 -0
  165. package/build/client/_app/immutable/chunks/Dn_lJm0y.js.gz +0 -0
  166. package/build/client/_app/immutable/chunks/DqK2lhM-.js +1 -0
  167. package/build/client/_app/immutable/chunks/DqK2lhM-.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/DqK2lhM-.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/Dr-qnmvi.js +1 -0
  170. package/build/client/_app/immutable/chunks/Dr-qnmvi.js.br +0 -0
  171. package/build/client/_app/immutable/chunks/Dr-qnmvi.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/DtFVCiwY.js +1 -0
  173. package/build/client/_app/immutable/chunks/DtFVCiwY.js.br +0 -0
  174. package/build/client/_app/immutable/chunks/DtFVCiwY.js.gz +0 -0
  175. package/build/client/_app/immutable/chunks/Q9Y439fs.js +1 -0
  176. package/build/client/_app/immutable/chunks/Q9Y439fs.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/Q9Y439fs.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/Uv0-HWHq.js +1 -0
  179. package/build/client/_app/immutable/chunks/Uv0-HWHq.js.br +0 -0
  180. package/build/client/_app/immutable/chunks/Uv0-HWHq.js.gz +0 -0
  181. package/build/client/_app/immutable/chunks/snZK0J5H.js +1 -0
  182. package/build/client/_app/immutable/chunks/snZK0J5H.js.br +0 -0
  183. package/build/client/_app/immutable/chunks/snZK0J5H.js.gz +0 -0
  184. package/build/client/_app/immutable/chunks/vyYztzrZ.js +1 -0
  185. package/build/client/_app/immutable/chunks/vyYztzrZ.js.br +0 -0
  186. package/build/client/_app/immutable/chunks/vyYztzrZ.js.gz +0 -0
  187. package/build/client/_app/immutable/entry/app.1YljYqLj.js +2 -0
  188. package/build/client/_app/immutable/entry/app.1YljYqLj.js.br +0 -0
  189. package/build/client/_app/immutable/entry/app.1YljYqLj.js.gz +0 -0
  190. package/build/client/_app/immutable/entry/start.C41rnrMx.js +1 -0
  191. package/build/client/_app/immutable/entry/start.C41rnrMx.js.br +0 -0
  192. package/build/client/_app/immutable/entry/start.C41rnrMx.js.gz +0 -0
  193. package/build/client/_app/immutable/nodes/0.Y-xP5pet.js +9 -0
  194. package/build/client/_app/immutable/nodes/0.Y-xP5pet.js.br +0 -0
  195. package/build/client/_app/immutable/nodes/0.Y-xP5pet.js.gz +0 -0
  196. package/build/client/_app/immutable/nodes/1.5JE3G8iG.js +1 -0
  197. package/build/client/_app/immutable/nodes/1.5JE3G8iG.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/1.5JE3G8iG.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/10.DpfN1qrg.js +3 -0
  200. package/build/client/_app/immutable/nodes/10.DpfN1qrg.js.br +0 -0
  201. package/build/client/_app/immutable/nodes/10.DpfN1qrg.js.gz +0 -0
  202. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js +2 -0
  203. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/11.Co2EmpEg.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js +1 -0
  206. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js.br +0 -0
  207. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js.gz +0 -0
  208. package/build/client/_app/immutable/nodes/13.D5OdE_HH.js +2 -0
  209. package/build/client/_app/immutable/nodes/13.D5OdE_HH.js.br +0 -0
  210. package/build/client/_app/immutable/nodes/13.D5OdE_HH.js.gz +0 -0
  211. package/build/client/_app/immutable/nodes/14.UGx5pLUS.js +2 -0
  212. package/build/client/_app/immutable/nodes/14.UGx5pLUS.js.br +0 -0
  213. package/build/client/_app/immutable/nodes/14.UGx5pLUS.js.gz +0 -0
  214. package/build/client/_app/immutable/nodes/15.czhLtsoD.js +13 -0
  215. package/build/client/_app/immutable/nodes/15.czhLtsoD.js.br +0 -0
  216. package/build/client/_app/immutable/nodes/15.czhLtsoD.js.gz +0 -0
  217. package/build/client/_app/immutable/nodes/16.CqZNgdz-.js +6 -0
  218. package/build/client/_app/immutable/nodes/16.CqZNgdz-.js.br +0 -0
  219. package/build/client/_app/immutable/nodes/16.CqZNgdz-.js.gz +0 -0
  220. package/build/client/_app/immutable/nodes/17.B1PHOW1Y.js +2 -0
  221. package/build/client/_app/immutable/nodes/17.B1PHOW1Y.js.br +0 -0
  222. package/build/client/_app/immutable/nodes/17.B1PHOW1Y.js.gz +0 -0
  223. package/build/client/_app/immutable/nodes/19.ClB_k0uw.js +2 -0
  224. package/build/client/_app/immutable/nodes/19.ClB_k0uw.js.br +0 -0
  225. package/build/client/_app/immutable/nodes/19.ClB_k0uw.js.gz +0 -0
  226. package/build/client/_app/immutable/nodes/2.uPLLf3gR.js +1 -0
  227. package/build/client/_app/immutable/nodes/2.uPLLf3gR.js.br +0 -0
  228. package/build/client/_app/immutable/nodes/2.uPLLf3gR.js.gz +0 -0
  229. package/build/client/_app/immutable/nodes/20.C5BF7igP.js +4118 -0
  230. package/build/client/_app/immutable/nodes/20.C5BF7igP.js.br +0 -0
  231. package/build/client/_app/immutable/nodes/20.C5BF7igP.js.gz +0 -0
  232. package/build/client/_app/immutable/nodes/21.B1xX86Nz.js +6 -0
  233. package/build/client/_app/immutable/nodes/21.B1xX86Nz.js.br +0 -0
  234. package/build/client/_app/immutable/nodes/21.B1xX86Nz.js.gz +0 -0
  235. package/build/client/_app/immutable/nodes/23.BWuAu45o.js +16 -0
  236. package/build/client/_app/immutable/nodes/23.BWuAu45o.js.br +0 -0
  237. package/build/client/_app/immutable/nodes/23.BWuAu45o.js.gz +0 -0
  238. package/build/client/_app/immutable/nodes/24.DSWGE_q2.js +6 -0
  239. package/build/client/_app/immutable/nodes/24.DSWGE_q2.js.br +0 -0
  240. package/build/client/_app/immutable/nodes/24.DSWGE_q2.js.gz +0 -0
  241. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js +1 -0
  242. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js.br +0 -0
  243. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js.gz +0 -0
  244. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js +3 -0
  245. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js.br +0 -0
  246. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js.gz +0 -0
  247. package/build/client/_app/immutable/nodes/27.CjlEhW_1.js +4 -0
  248. package/build/client/_app/immutable/nodes/27.CjlEhW_1.js.br +0 -0
  249. package/build/client/_app/immutable/nodes/27.CjlEhW_1.js.gz +0 -0
  250. package/build/client/_app/immutable/nodes/28.U-BnDxlP.js +4 -0
  251. package/build/client/_app/immutable/nodes/28.U-BnDxlP.js.br +0 -0
  252. package/build/client/_app/immutable/nodes/28.U-BnDxlP.js.gz +0 -0
  253. package/build/client/_app/immutable/nodes/29.cl9udKxV.js +2 -0
  254. package/build/client/_app/immutable/nodes/29.cl9udKxV.js.br +0 -0
  255. package/build/client/_app/immutable/nodes/29.cl9udKxV.js.gz +0 -0
  256. package/build/client/_app/immutable/nodes/3.UKn7Q9OQ.js +1 -0
  257. package/build/client/_app/immutable/nodes/3.UKn7Q9OQ.js.br +0 -0
  258. package/build/client/_app/immutable/nodes/3.UKn7Q9OQ.js.gz +0 -0
  259. package/build/client/_app/immutable/nodes/30.DPqPYAg4.js +2 -0
  260. package/build/client/_app/immutable/nodes/30.DPqPYAg4.js.br +0 -0
  261. package/build/client/_app/immutable/nodes/30.DPqPYAg4.js.gz +0 -0
  262. package/build/client/_app/immutable/nodes/31.SiZTd523.js +2 -0
  263. package/build/client/_app/immutable/nodes/31.SiZTd523.js.br +0 -0
  264. package/build/client/_app/immutable/nodes/31.SiZTd523.js.gz +0 -0
  265. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js +3 -0
  266. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js.br +0 -0
  267. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js.gz +0 -0
  268. package/build/client/_app/immutable/nodes/5.CbYguvwB.js +1 -0
  269. package/build/client/_app/immutable/nodes/5.CbYguvwB.js.br +2 -0
  270. package/build/client/_app/immutable/nodes/5.CbYguvwB.js.gz +0 -0
  271. package/build/client/_app/immutable/nodes/6.DZgUvAex.js +1 -0
  272. package/build/client/_app/immutable/nodes/6.DZgUvAex.js.br +0 -0
  273. package/build/client/_app/immutable/nodes/6.DZgUvAex.js.gz +0 -0
  274. package/build/client/_app/immutable/nodes/7.Cv7r8DBm.js +1 -0
  275. package/build/client/_app/immutable/nodes/7.Cv7r8DBm.js.br +0 -0
  276. package/build/client/_app/immutable/nodes/7.Cv7r8DBm.js.gz +0 -0
  277. package/build/client/_app/immutable/nodes/8.zr3bqaC_.js +2 -0
  278. package/build/client/_app/immutable/nodes/8.zr3bqaC_.js.br +0 -0
  279. package/build/client/_app/immutable/nodes/8.zr3bqaC_.js.gz +0 -0
  280. package/build/client/_app/immutable/nodes/9.B2PU0xej.js +1 -0
  281. package/build/client/_app/immutable/nodes/9.B2PU0xej.js.br +0 -0
  282. package/build/client/_app/immutable/nodes/9.B2PU0xej.js.gz +0 -0
  283. package/build/client/_app/version.json +1 -1
  284. package/build/client/_app/version.json.br +0 -0
  285. package/build/client/_app/version.json.gz +0 -0
  286. package/build/server/chunks/0-v49L2HZX.js +55 -0
  287. package/build/server/chunks/0-v49L2HZX.js.map +1 -0
  288. package/build/server/chunks/1-B8xC9fBg.js +9 -0
  289. package/build/server/chunks/1-B8xC9fBg.js.map +1 -0
  290. package/build/server/chunks/10-BowWygfm.js +222 -0
  291. package/build/server/chunks/10-BowWygfm.js.map +1 -0
  292. package/build/server/chunks/11-BLjiJpX4.js +58 -0
  293. package/build/server/chunks/11-BLjiJpX4.js.map +1 -0
  294. package/build/server/chunks/12-Dk9nDvlV.js +52 -0
  295. package/build/server/chunks/12-Dk9nDvlV.js.map +1 -0
  296. package/build/server/chunks/13-CZeQX-Gk.js +57 -0
  297. package/build/server/chunks/13-CZeQX-Gk.js.map +1 -0
  298. package/build/server/chunks/14-VgzSpObZ.js +100 -0
  299. package/build/server/chunks/14-VgzSpObZ.js.map +1 -0
  300. package/build/server/chunks/15-CKqEgZmF.js +44 -0
  301. package/build/server/chunks/15-CKqEgZmF.js.map +1 -0
  302. package/build/server/chunks/16-9hO-6bzO.js +85 -0
  303. package/build/server/chunks/16-9hO-6bzO.js.map +1 -0
  304. package/build/server/chunks/17-B9Aw6HdC.js +9 -0
  305. package/build/server/chunks/17-B9Aw6HdC.js.map +1 -0
  306. package/build/server/chunks/18-BTSLWMQT.js +74 -0
  307. package/build/server/chunks/18-BTSLWMQT.js.map +1 -0
  308. package/build/server/chunks/19-C9FaW__N.js +94 -0
  309. package/build/server/chunks/19-C9FaW__N.js.map +1 -0
  310. package/build/server/chunks/2-CwQhh3Hg.js +43 -0
  311. package/build/server/chunks/2-CwQhh3Hg.js.map +1 -0
  312. package/build/server/chunks/20-52YCUMK3.js +196 -0
  313. package/build/server/chunks/20-52YCUMK3.js.map +1 -0
  314. package/build/server/chunks/21-Dcz_2iKy.js +83 -0
  315. package/build/server/chunks/21-Dcz_2iKy.js.map +1 -0
  316. package/build/server/chunks/23-C-gTGofY.js +137 -0
  317. package/build/server/chunks/23-C-gTGofY.js.map +1 -0
  318. package/build/server/chunks/24-ukwP0nYw.js +144 -0
  319. package/build/server/chunks/24-ukwP0nYw.js.map +1 -0
  320. package/build/server/chunks/25-Oe01GQUn.js +51 -0
  321. package/build/server/chunks/25-Oe01GQUn.js.map +1 -0
  322. package/build/server/chunks/26-Bfl58Hw3.js +9 -0
  323. package/build/server/chunks/26-Bfl58Hw3.js.map +1 -0
  324. package/build/server/chunks/27-C9kRY1qj.js +57 -0
  325. package/build/server/chunks/27-C9kRY1qj.js.map +1 -0
  326. package/build/server/chunks/28-X583jLPJ.js +69 -0
  327. package/build/server/chunks/28-X583jLPJ.js.map +1 -0
  328. package/build/server/chunks/29-PJhSN-Wu.js +55 -0
  329. package/build/server/chunks/29-PJhSN-Wu.js.map +1 -0
  330. package/build/server/chunks/3-DZiroZZA.js +9 -0
  331. package/build/server/chunks/3-DZiroZZA.js.map +1 -0
  332. package/build/server/chunks/30-DvqVphAd.js +57 -0
  333. package/build/server/chunks/30-DvqVphAd.js.map +1 -0
  334. package/build/server/chunks/31-BefyQf51.js +42 -0
  335. package/build/server/chunks/31-BefyQf51.js.map +1 -0
  336. package/build/server/chunks/32-DIdNQgym.js +34 -0
  337. package/build/server/chunks/32-DIdNQgym.js.map +1 -0
  338. package/build/server/chunks/5-QlPeCe4d.js +32 -0
  339. package/build/server/chunks/5-QlPeCe4d.js.map +1 -0
  340. package/build/server/chunks/6-3t8NszBJ.js +40 -0
  341. package/build/server/chunks/6-3t8NszBJ.js.map +1 -0
  342. package/build/server/chunks/7-DgFxSLWj.js +19 -0
  343. package/build/server/chunks/7-DgFxSLWj.js.map +1 -0
  344. package/build/server/chunks/8-BKivPkMd.js +130 -0
  345. package/build/server/chunks/8-BKivPkMd.js.map +1 -0
  346. package/build/server/chunks/9-COv3kpjW.js +46 -0
  347. package/build/server/chunks/9-COv3kpjW.js.map +1 -0
  348. package/build/server/chunks/AppHeader-DBNR_OCa.js +271 -0
  349. package/build/server/chunks/AppHeader-DBNR_OCa.js.map +1 -0
  350. package/build/server/chunks/DefinitionCard-BeONTmrJ.js +258 -0
  351. package/build/server/chunks/DefinitionCard-BeONTmrJ.js.map +1 -0
  352. package/build/server/chunks/ErrorScreen-SHK14bo6.js +131 -0
  353. package/build/server/chunks/ErrorScreen-SHK14bo6.js.map +1 -0
  354. package/build/server/chunks/FilterableDropdown-W9AjyS0M.js +61 -0
  355. package/build/server/chunks/FilterableDropdown-W9AjyS0M.js.map +1 -0
  356. package/build/server/chunks/Icon-DbkwAOkZ.js +76 -0
  357. package/build/server/chunks/Icon-DbkwAOkZ.js.map +1 -0
  358. package/build/server/chunks/Icon2-DbkwAOkZ.js +76 -0
  359. package/build/server/chunks/Icon2-DbkwAOkZ.js.map +1 -0
  360. package/build/server/chunks/StatCard-Cj4i7_IY.js +50 -0
  361. package/build/server/chunks/StatCard-Cj4i7_IY.js.map +1 -0
  362. package/build/server/chunks/UserChip-CCZ9yMM3.js +1149 -0
  363. package/build/server/chunks/UserChip-CCZ9yMM3.js.map +1 -0
  364. package/build/server/chunks/_error.svelte-B_dLYaey.js +30 -0
  365. package/build/server/chunks/_error.svelte-B_dLYaey.js.map +1 -0
  366. package/build/server/chunks/_error.svelte-D_qATeW2.js +28 -0
  367. package/build/server/chunks/_error.svelte-D_qATeW2.js.map +1 -0
  368. package/build/server/chunks/_layout.svelte-CgAG7l2U.js +152 -0
  369. package/build/server/chunks/_layout.svelte-CgAG7l2U.js.map +1 -0
  370. package/build/server/chunks/_layout.svelte-Cjs-r7Xa.js +105 -0
  371. package/build/server/chunks/_layout.svelte-Cjs-r7Xa.js.map +1 -0
  372. package/build/server/chunks/_layout.svelte-DU36kuy0.js +1042 -0
  373. package/build/server/chunks/_layout.svelte-DU36kuy0.js.map +1 -0
  374. package/build/server/chunks/_layout.svelte-VEFMEljC.js +42 -0
  375. package/build/server/chunks/_layout.svelte-VEFMEljC.js.map +1 -0
  376. package/build/server/chunks/_page.svelte-1sc1cfuW.js +453 -0
  377. package/build/server/chunks/_page.svelte-1sc1cfuW.js.map +1 -0
  378. package/build/server/chunks/_page.svelte-2a3XlI01.js +120 -0
  379. package/build/server/chunks/_page.svelte-2a3XlI01.js.map +1 -0
  380. package/build/server/chunks/_page.svelte-BLjq8C2p.js +611 -0
  381. package/build/server/chunks/_page.svelte-BLjq8C2p.js.map +1 -0
  382. package/build/server/chunks/_page.svelte-BQZ-qC72.js +424 -0
  383. package/build/server/chunks/_page.svelte-BQZ-qC72.js.map +1 -0
  384. package/build/server/chunks/_page.svelte-BXQInprQ.js +275 -0
  385. package/build/server/chunks/_page.svelte-BXQInprQ.js.map +1 -0
  386. package/build/server/chunks/_page.svelte-BziMQdom.js +114 -0
  387. package/build/server/chunks/_page.svelte-BziMQdom.js.map +1 -0
  388. package/build/server/chunks/_page.svelte-CSZEgmHp.js +169 -0
  389. package/build/server/chunks/_page.svelte-CSZEgmHp.js.map +1 -0
  390. package/build/server/chunks/_page.svelte-CYxHCZCC.js +84 -0
  391. package/build/server/chunks/_page.svelte-CYxHCZCC.js.map +1 -0
  392. package/build/server/chunks/_page.svelte-CckrYvJ6.js +147 -0
  393. package/build/server/chunks/_page.svelte-CckrYvJ6.js.map +1 -0
  394. package/build/server/chunks/_page.svelte-CeKqqMje.js +250 -0
  395. package/build/server/chunks/_page.svelte-CeKqqMje.js.map +1 -0
  396. package/build/server/chunks/_page.svelte-Cf8MfOXQ.js +596 -0
  397. package/build/server/chunks/_page.svelte-Cf8MfOXQ.js.map +1 -0
  398. package/build/server/chunks/_page.svelte-CxuFmBkK.js +302 -0
  399. package/build/server/chunks/_page.svelte-CxuFmBkK.js.map +1 -0
  400. package/build/server/chunks/_page.svelte-DIeTvNzN.js +69 -0
  401. package/build/server/chunks/_page.svelte-DIeTvNzN.js.map +1 -0
  402. package/build/server/chunks/_page.svelte-DJnICJdZ.js +10654 -0
  403. package/build/server/chunks/_page.svelte-DJnICJdZ.js.map +1 -0
  404. package/build/server/chunks/_page.svelte-DSPm244d.js +526 -0
  405. package/build/server/chunks/_page.svelte-DSPm244d.js.map +1 -0
  406. package/build/server/chunks/_page.svelte-DSYaUquf.js +3898 -0
  407. package/build/server/chunks/_page.svelte-DSYaUquf.js.map +1 -0
  408. package/build/server/chunks/_page.svelte-DlnKE8Z9.js +894 -0
  409. package/build/server/chunks/_page.svelte-DlnKE8Z9.js.map +1 -0
  410. package/build/server/chunks/_page.svelte-DphuJQee.js +331 -0
  411. package/build/server/chunks/_page.svelte-DphuJQee.js.map +1 -0
  412. package/build/server/chunks/_page.svelte-Dun4nEWl.js +277 -0
  413. package/build/server/chunks/_page.svelte-Dun4nEWl.js.map +1 -0
  414. package/build/server/chunks/_page.svelte-ELmid_qG.js +120 -0
  415. package/build/server/chunks/_page.svelte-ELmid_qG.js.map +1 -0
  416. package/build/server/chunks/_page.svelte-Mwitq0vD.js +330 -0
  417. package/build/server/chunks/_page.svelte-Mwitq0vD.js.map +1 -0
  418. package/build/server/chunks/_page.svelte-UNbcR5Wq.js +715 -0
  419. package/build/server/chunks/_page.svelte-UNbcR5Wq.js.map +1 -0
  420. package/build/server/chunks/_page.svelte-XLccLxWu.js +558 -0
  421. package/build/server/chunks/_page.svelte-XLccLxWu.js.map +1 -0
  422. package/build/server/chunks/_page.svelte-pEdM2bKS.js +57 -0
  423. package/build/server/chunks/_page.svelte-pEdM2bKS.js.map +1 -0
  424. package/build/server/chunks/_server.ts-17aVSHOa.js +80 -0
  425. package/build/server/chunks/_server.ts-17aVSHOa.js.map +1 -0
  426. package/build/server/chunks/_server.ts-4eVxyBg6.js +96 -0
  427. package/build/server/chunks/_server.ts-4eVxyBg6.js.map +1 -0
  428. package/build/server/chunks/_server.ts-8ahOmk_6.js +75 -0
  429. package/build/server/chunks/_server.ts-8ahOmk_6.js.map +1 -0
  430. package/build/server/chunks/_server.ts-B0qq-nxh.js +86 -0
  431. package/build/server/chunks/_server.ts-B0qq-nxh.js.map +1 -0
  432. package/build/server/chunks/_server.ts-B7X5-4kS.js +40 -0
  433. package/build/server/chunks/_server.ts-B7X5-4kS.js.map +1 -0
  434. package/build/server/chunks/_server.ts-B7Z1RMy4.js +73 -0
  435. package/build/server/chunks/_server.ts-B7Z1RMy4.js.map +1 -0
  436. package/build/server/chunks/_server.ts-BL7-YPnc.js +41 -0
  437. package/build/server/chunks/_server.ts-BL7-YPnc.js.map +1 -0
  438. package/build/server/chunks/_server.ts-BRjl7H1o.js +44 -0
  439. package/build/server/chunks/_server.ts-BRjl7H1o.js.map +1 -0
  440. package/build/server/chunks/_server.ts-B_KQteIy.js +41 -0
  441. package/build/server/chunks/_server.ts-B_KQteIy.js.map +1 -0
  442. package/build/server/chunks/_server.ts-BiJbME_l.js +101 -0
  443. package/build/server/chunks/_server.ts-BiJbME_l.js.map +1 -0
  444. package/build/server/chunks/_server.ts-Bq2BT6_L.js +84 -0
  445. package/build/server/chunks/_server.ts-Bq2BT6_L.js.map +1 -0
  446. package/build/server/chunks/_server.ts-BqsgEogJ.js +88 -0
  447. package/build/server/chunks/_server.ts-BqsgEogJ.js.map +1 -0
  448. package/build/server/chunks/_server.ts-BtXdHfbr.js +83 -0
  449. package/build/server/chunks/_server.ts-BtXdHfbr.js.map +1 -0
  450. package/build/server/chunks/_server.ts-ByqZZZxB.js +35 -0
  451. package/build/server/chunks/_server.ts-ByqZZZxB.js.map +1 -0
  452. package/build/server/chunks/_server.ts-C-8S5O0H.js +60 -0
  453. package/build/server/chunks/_server.ts-C-8S5O0H.js.map +1 -0
  454. package/build/server/chunks/_server.ts-C1wqbTiL.js +31 -0
  455. package/build/server/chunks/_server.ts-C1wqbTiL.js.map +1 -0
  456. package/build/server/chunks/_server.ts-C3sOwl5l.js +72 -0
  457. package/build/server/chunks/_server.ts-C3sOwl5l.js.map +1 -0
  458. package/build/server/chunks/_server.ts-CKvfxWeo.js +108 -0
  459. package/build/server/chunks/_server.ts-CKvfxWeo.js.map +1 -0
  460. package/build/server/chunks/_server.ts-CMKxt34Z.js +50 -0
  461. package/build/server/chunks/_server.ts-CMKxt34Z.js.map +1 -0
  462. package/build/server/chunks/_server.ts-COWH7HN8.js +39 -0
  463. package/build/server/chunks/_server.ts-COWH7HN8.js.map +1 -0
  464. package/build/server/chunks/_server.ts-CUcFObAP.js +410 -0
  465. package/build/server/chunks/_server.ts-CUcFObAP.js.map +1 -0
  466. package/build/server/chunks/_server.ts-CW_1VZGk.js +43 -0
  467. package/build/server/chunks/_server.ts-CW_1VZGk.js.map +1 -0
  468. package/build/server/chunks/_server.ts-CXYPZtry.js +33 -0
  469. package/build/server/chunks/_server.ts-CXYPZtry.js.map +1 -0
  470. package/build/server/chunks/_server.ts-Cbe4naEr.js +39 -0
  471. package/build/server/chunks/_server.ts-Cbe4naEr.js.map +1 -0
  472. package/build/server/chunks/_server.ts-D4mOhrFH.js +31 -0
  473. package/build/server/chunks/_server.ts-D4mOhrFH.js.map +1 -0
  474. package/build/server/chunks/_server.ts-DK7t4rlY.js +77 -0
  475. package/build/server/chunks/_server.ts-DK7t4rlY.js.map +1 -0
  476. package/build/server/chunks/_server.ts-DMnMoi_a.js +83 -0
  477. package/build/server/chunks/_server.ts-DMnMoi_a.js.map +1 -0
  478. package/build/server/chunks/_server.ts-DgTNMZbG.js +111 -0
  479. package/build/server/chunks/_server.ts-DgTNMZbG.js.map +1 -0
  480. package/build/server/chunks/_server.ts-DpkIJe-d.js +63 -0
  481. package/build/server/chunks/_server.ts-DpkIJe-d.js.map +1 -0
  482. package/build/server/chunks/_server.ts-DsFj_8lL.js +32 -0
  483. package/build/server/chunks/_server.ts-DsFj_8lL.js.map +1 -0
  484. package/build/server/chunks/_server.ts-Dsoq_gsI.js +65 -0
  485. package/build/server/chunks/_server.ts-Dsoq_gsI.js.map +1 -0
  486. package/build/server/chunks/_server.ts-Du-NpBy4.js +57 -0
  487. package/build/server/chunks/_server.ts-Du-NpBy4.js.map +1 -0
  488. package/build/server/chunks/_server.ts-Dukt2veu.js +33 -0
  489. package/build/server/chunks/_server.ts-Dukt2veu.js.map +1 -0
  490. package/build/server/chunks/_server.ts-EnuOtr_j.js +307 -0
  491. package/build/server/chunks/_server.ts-EnuOtr_j.js.map +1 -0
  492. package/build/server/chunks/_server.ts-ODEutN30.js +75 -0
  493. package/build/server/chunks/_server.ts-ODEutN30.js.map +1 -0
  494. package/build/server/chunks/_server.ts-bONEWPMV.js +105 -0
  495. package/build/server/chunks/_server.ts-bONEWPMV.js.map +1 -0
  496. package/build/server/chunks/_server.ts-hg9WxMNg.js +36 -0
  497. package/build/server/chunks/_server.ts-hg9WxMNg.js.map +1 -0
  498. package/build/server/chunks/_server.ts-t9_veBtJ.js +40 -0
  499. package/build/server/chunks/_server.ts-t9_veBtJ.js.map +1 -0
  500. package/build/server/chunks/_server.ts-vURDyV-V.js +51 -0
  501. package/build/server/chunks/_server.ts-vURDyV-V.js.map +1 -0
  502. package/build/server/chunks/access.server-BBglojso.js +413 -0
  503. package/build/server/chunks/access.server-BBglojso.js.map +1 -0
  504. package/build/server/chunks/activity-BjtW_4T-.js +18 -0
  505. package/build/server/chunks/activity-BjtW_4T-.js.map +1 -0
  506. package/build/server/chunks/alert-description-CUK0afmb.js +59 -0
  507. package/build/server/chunks/alert-description-CUK0afmb.js.map +1 -0
  508. package/build/server/chunks/api-errors-agQVBoep.js +101 -0
  509. package/build/server/chunks/api-errors-agQVBoep.js.map +1 -0
  510. package/build/server/chunks/arrow-left-D0KqaESK.js +14 -0
  511. package/build/server/chunks/arrow-left-D0KqaESK.js.map +1 -0
  512. package/build/server/chunks/arrow-right-Bi1uWbBU.js +14 -0
  513. package/build/server/chunks/arrow-right-Bi1uWbBU.js.map +1 -0
  514. package/build/server/chunks/auth-bootstrap.server-CdwMOcYI.js +98 -0
  515. package/build/server/chunks/auth-bootstrap.server-CdwMOcYI.js.map +1 -0
  516. package/build/server/chunks/badge-Dslv369v.js +50 -0
  517. package/build/server/chunks/badge-Dslv369v.js.map +1 -0
  518. package/build/server/chunks/bootHealth.server-Ca8zFRpM.js +58 -0
  519. package/build/server/chunks/bootHealth.server-Ca8zFRpM.js.map +1 -0
  520. package/build/server/chunks/building-2-DJFEkZmC.js +22 -0
  521. package/build/server/chunks/building-2-DJFEkZmC.js.map +1 -0
  522. package/build/server/chunks/button-1GF48U_O.js +73 -0
  523. package/build/server/chunks/button-1GF48U_O.js.map +1 -0
  524. package/build/server/chunks/card-content-CLRedGcu.js +46 -0
  525. package/build/server/chunks/card-content-CLRedGcu.js.map +1 -0
  526. package/build/server/chunks/card-description-Cvz9Nl_J.js +26 -0
  527. package/build/server/chunks/card-description-Cvz9Nl_J.js.map +1 -0
  528. package/build/server/chunks/card-title-f3nMy4Cc.js +46 -0
  529. package/build/server/chunks/card-title-f3nMy4Cc.js.map +1 -0
  530. package/build/server/chunks/chevron-down-Cqowxf45.js +11 -0
  531. package/build/server/chunks/chevron-down-Cqowxf45.js.map +1 -0
  532. package/build/server/chunks/chevron-down2-HiD5tdXf.js +11 -0
  533. package/build/server/chunks/chevron-down2-HiD5tdXf.js.map +1 -0
  534. package/build/server/chunks/chevron-right-BZ8x48EK.js +11 -0
  535. package/build/server/chunks/chevron-right-BZ8x48EK.js.map +1 -0
  536. package/build/server/chunks/circle-CeSIvmWj.js +11 -0
  537. package/build/server/chunks/circle-CeSIvmWj.js.map +1 -0
  538. package/build/server/chunks/circle-alert-DNsq-x3V.js +18 -0
  539. package/build/server/chunks/circle-alert-DNsq-x3V.js.map +1 -0
  540. package/build/server/chunks/circle-alert2-Doldk45G.js +18 -0
  541. package/build/server/chunks/circle-alert2-Doldk45G.js.map +1 -0
  542. package/build/server/chunks/context-DKDYb-He.js +138 -0
  543. package/build/server/chunks/context-DKDYb-He.js.map +1 -0
  544. package/build/server/chunks/copy-DbzeZFQN.js +29 -0
  545. package/build/server/chunks/copy-DbzeZFQN.js.map +1 -0
  546. package/build/server/chunks/folder-kanban-BzEQk9ZB.js +21 -0
  547. package/build/server/chunks/folder-kanban-BzEQk9ZB.js.map +1 -0
  548. package/build/server/chunks/folder-open-CUgA3M22.js +18 -0
  549. package/build/server/chunks/folder-open-CUgA3M22.js.map +1 -0
  550. package/build/server/chunks/folders-DPJPvoz3.js +24 -0
  551. package/build/server/chunks/folders-DPJPvoz3.js.map +1 -0
  552. package/build/server/chunks/footerContext.svelte-BZEf7gVw.js +487 -0
  553. package/build/server/chunks/footerContext.svelte-BZEf7gVw.js.map +1 -0
  554. package/build/server/chunks/gauge-Az8B3w7C.js +87 -0
  555. package/build/server/chunks/gauge-Az8B3w7C.js.map +1 -0
  556. package/build/server/chunks/hooks.server-D6EnLMoG.js +218 -0
  557. package/build/server/chunks/hooks.server-D6EnLMoG.js.map +1 -0
  558. package/build/server/chunks/index2-B9qXYHIn.js +438 -0
  559. package/build/server/chunks/index2-B9qXYHIn.js.map +1 -0
  560. package/build/server/chunks/index3-AGemCGcn.js +4388 -0
  561. package/build/server/chunks/index3-AGemCGcn.js.map +1 -0
  562. package/build/server/chunks/index4-DSWKKOFB.js +541 -0
  563. package/build/server/chunks/index4-DSWKKOFB.js.map +1 -0
  564. package/build/server/chunks/input-DGJ03-ia.js +53 -0
  565. package/build/server/chunks/input-DGJ03-ia.js.map +1 -0
  566. package/build/server/chunks/label-Df1UqzdF.js +112 -0
  567. package/build/server/chunks/label-Df1UqzdF.js.map +1 -0
  568. package/build/server/chunks/link-2-dxaDBYcR.js +15 -0
  569. package/build/server/chunks/link-2-dxaDBYcR.js.map +1 -0
  570. package/build/server/chunks/mail-CXBfO_C7.js +17 -0
  571. package/build/server/chunks/mail-CXBfO_C7.js.map +1 -0
  572. package/build/server/chunks/permissions-compat.server-BDkKxDeZ.js +19 -0
  573. package/build/server/chunks/permissions-compat.server-BDkKxDeZ.js.map +1 -0
  574. package/build/server/chunks/permissions.server-cNGc9ris.js +8 -0
  575. package/build/server/chunks/permissions.server-cNGc9ris.js.map +1 -0
  576. package/build/server/chunks/plus-CY_pTStn.js +11 -0
  577. package/build/server/chunks/plus-CY_pTStn.js.map +1 -0
  578. package/build/server/chunks/providers.server-MD7TK-zQ.js +4561 -0
  579. package/build/server/chunks/providers.server-MD7TK-zQ.js.map +1 -0
  580. package/build/server/chunks/refresh-cw-CiiW6Kvx.js +22 -0
  581. package/build/server/chunks/refresh-cw-CiiW6Kvx.js.map +1 -0
  582. package/build/server/chunks/resolve.server-BXKCfGfg.js +50 -0
  583. package/build/server/chunks/resolve.server-BXKCfGfg.js.map +1 -0
  584. package/build/server/chunks/rotate-ccw-1C53L417.js +17 -0
  585. package/build/server/chunks/rotate-ccw-1C53L417.js.map +1 -0
  586. package/build/server/chunks/scroll-text-CxtFfkcE.js +21 -0
  587. package/build/server/chunks/scroll-text-CxtFfkcE.js.map +1 -0
  588. package/build/server/chunks/server-C3-deqCy.js +36 -0
  589. package/build/server/chunks/server-C3-deqCy.js.map +1 -0
  590. package/build/server/chunks/settings-NH5q_HtF.js +19 -0
  591. package/build/server/chunks/settings-NH5q_HtF.js.map +1 -0
  592. package/build/server/chunks/shield-CHAFruKV.js +18 -0
  593. package/build/server/chunks/shield-CHAFruKV.js.map +1 -0
  594. package/build/server/chunks/shield-check-06Iz62as.js +19 -0
  595. package/build/server/chunks/shield-check-06Iz62as.js.map +1 -0
  596. package/build/server/chunks/star-bmBg3IsG.js +18 -0
  597. package/build/server/chunks/star-bmBg3IsG.js.map +1 -0
  598. package/build/server/chunks/textarea-A5IYPwqe.js +685 -0
  599. package/build/server/chunks/textarea-A5IYPwqe.js.map +1 -0
  600. package/build/server/chunks/trash-2-swQcKEqX.js +17 -0
  601. package/build/server/chunks/trash-2-swQcKEqX.js.map +1 -0
  602. package/build/server/chunks/triangle-alert-DuaFagu6.js +20 -0
  603. package/build/server/chunks/triangle-alert-DuaFagu6.js.map +1 -0
  604. package/build/server/chunks/upload-BY_p_jpL.js +36 -0
  605. package/build/server/chunks/upload-BY_p_jpL.js.map +1 -0
  606. package/build/server/chunks/user-plus-CPEDH5dh.js +16 -0
  607. package/build/server/chunks/user-plus-CPEDH5dh.js.map +1 -0
  608. package/build/server/chunks/users-Bd7CKN4d.js +16 -0
  609. package/build/server/chunks/users-Bd7CKN4d.js.map +1 -0
  610. package/build/server/chunks/utils2-D38XWwRv.js +56 -0
  611. package/build/server/chunks/utils2-D38XWwRv.js.map +1 -0
  612. package/build/server/chunks/utils3-B05Dmz_H.js +9 -0
  613. package/build/server/chunks/utils3-B05Dmz_H.js.map +1 -0
  614. package/build/server/chunks/x-e5o-84bg.js +14 -0
  615. package/build/server/chunks/x-e5o-84bg.js.map +1 -0
  616. package/build/server/index.js +2 -2
  617. package/build/server/index.js.map +1 -1
  618. package/build/server/manifest.js +77 -70
  619. package/build/server/manifest.js.map +1 -1
  620. package/package.json +7 -7
  621. package/build/client/_app/immutable/assets/0.B0phAlf7.css +0 -1
  622. package/build/client/_app/immutable/assets/0.B0phAlf7.css.br +0 -0
  623. package/build/client/_app/immutable/assets/0.B0phAlf7.css.gz +0 -0
  624. package/build/client/_app/immutable/assets/20.DzF5JyuX.css +0 -1
  625. package/build/client/_app/immutable/assets/20.DzF5JyuX.css.br +0 -0
  626. package/build/client/_app/immutable/assets/20.DzF5JyuX.css.gz +0 -0
  627. package/build/client/_app/immutable/chunks/2BnY_oab.js +0 -1
  628. package/build/client/_app/immutable/chunks/2BnY_oab.js.br +0 -0
  629. package/build/client/_app/immutable/chunks/2BnY_oab.js.gz +0 -0
  630. package/build/client/_app/immutable/chunks/5h7wo9xN.js +0 -1
  631. package/build/client/_app/immutable/chunks/5h7wo9xN.js.br +0 -0
  632. package/build/client/_app/immutable/chunks/5h7wo9xN.js.gz +0 -0
  633. package/build/client/_app/immutable/chunks/B3KcsPFR.js +0 -1
  634. package/build/client/_app/immutable/chunks/B3KcsPFR.js.br +0 -0
  635. package/build/client/_app/immutable/chunks/B3KcsPFR.js.gz +0 -0
  636. package/build/client/_app/immutable/chunks/B48NJnzU.js +0 -1
  637. package/build/client/_app/immutable/chunks/B48NJnzU.js.br +0 -0
  638. package/build/client/_app/immutable/chunks/B48NJnzU.js.gz +0 -0
  639. package/build/client/_app/immutable/chunks/B5HD-6Ib.js +0 -1
  640. package/build/client/_app/immutable/chunks/B5HD-6Ib.js.br +0 -0
  641. package/build/client/_app/immutable/chunks/B5HD-6Ib.js.gz +0 -0
  642. package/build/client/_app/immutable/chunks/BDpsQuxH.js +0 -1
  643. package/build/client/_app/immutable/chunks/BDpsQuxH.js.br +0 -0
  644. package/build/client/_app/immutable/chunks/BDpsQuxH.js.gz +0 -0
  645. package/build/client/_app/immutable/chunks/BEya8QN5.js +0 -1
  646. package/build/client/_app/immutable/chunks/BEya8QN5.js.br +0 -0
  647. package/build/client/_app/immutable/chunks/BEya8QN5.js.gz +0 -0
  648. package/build/client/_app/immutable/chunks/BH9oGrlA.js +0 -1
  649. package/build/client/_app/immutable/chunks/BH9oGrlA.js.br +0 -0
  650. package/build/client/_app/immutable/chunks/BH9oGrlA.js.gz +0 -0
  651. package/build/client/_app/immutable/chunks/BHzbkLpq.js +0 -1
  652. package/build/client/_app/immutable/chunks/BHzbkLpq.js.br +0 -0
  653. package/build/client/_app/immutable/chunks/BHzbkLpq.js.gz +0 -0
  654. package/build/client/_app/immutable/chunks/BKZ_D8Qd.js +0 -1
  655. package/build/client/_app/immutable/chunks/BKZ_D8Qd.js.br +0 -0
  656. package/build/client/_app/immutable/chunks/BKZ_D8Qd.js.gz +0 -0
  657. package/build/client/_app/immutable/chunks/BKkYsBzb.js +0 -9
  658. package/build/client/_app/immutable/chunks/BKkYsBzb.js.br +0 -0
  659. package/build/client/_app/immutable/chunks/BKkYsBzb.js.gz +0 -0
  660. package/build/client/_app/immutable/chunks/BLBezPFp.js +0 -1
  661. package/build/client/_app/immutable/chunks/BLBezPFp.js.br +0 -0
  662. package/build/client/_app/immutable/chunks/BLBezPFp.js.gz +0 -0
  663. package/build/client/_app/immutable/chunks/BMNUAT2D.js +0 -1
  664. package/build/client/_app/immutable/chunks/BMNUAT2D.js.br +0 -0
  665. package/build/client/_app/immutable/chunks/BMNUAT2D.js.gz +0 -0
  666. package/build/client/_app/immutable/chunks/BNs1__IY.js +0 -1
  667. package/build/client/_app/immutable/chunks/BNs1__IY.js.br +0 -0
  668. package/build/client/_app/immutable/chunks/BNs1__IY.js.gz +0 -0
  669. package/build/client/_app/immutable/chunks/Ba74WbdD.js +0 -1
  670. package/build/client/_app/immutable/chunks/Ba74WbdD.js.br +0 -0
  671. package/build/client/_app/immutable/chunks/Ba74WbdD.js.gz +0 -0
  672. package/build/client/_app/immutable/chunks/Bex2dy3F.js +0 -1
  673. package/build/client/_app/immutable/chunks/Bex2dy3F.js.br +0 -0
  674. package/build/client/_app/immutable/chunks/Bex2dy3F.js.gz +0 -0
  675. package/build/client/_app/immutable/chunks/BfraRswf.js +0 -1
  676. package/build/client/_app/immutable/chunks/BfraRswf.js.br +0 -0
  677. package/build/client/_app/immutable/chunks/BfraRswf.js.gz +0 -0
  678. package/build/client/_app/immutable/chunks/BhwCS4j8.js +0 -1
  679. package/build/client/_app/immutable/chunks/BhwCS4j8.js.br +0 -0
  680. package/build/client/_app/immutable/chunks/BhwCS4j8.js.gz +0 -0
  681. package/build/client/_app/immutable/chunks/BjB88iwt.js +0 -1
  682. package/build/client/_app/immutable/chunks/BjB88iwt.js.br +0 -0
  683. package/build/client/_app/immutable/chunks/BjB88iwt.js.gz +0 -0
  684. package/build/client/_app/immutable/chunks/BsZHa2Wi.js +0 -1
  685. package/build/client/_app/immutable/chunks/BsZHa2Wi.js.br +0 -0
  686. package/build/client/_app/immutable/chunks/BsZHa2Wi.js.gz +0 -0
  687. package/build/client/_app/immutable/chunks/C5BR2Ers.js +0 -1
  688. package/build/client/_app/immutable/chunks/C5BR2Ers.js.br +0 -0
  689. package/build/client/_app/immutable/chunks/C5BR2Ers.js.gz +0 -0
  690. package/build/client/_app/immutable/chunks/CBjt6cm5.js +0 -1
  691. package/build/client/_app/immutable/chunks/CBjt6cm5.js.br +0 -1
  692. package/build/client/_app/immutable/chunks/CBjt6cm5.js.gz +0 -0
  693. package/build/client/_app/immutable/chunks/CE8BcsFf.js +0 -1
  694. package/build/client/_app/immutable/chunks/CE8BcsFf.js.br +0 -0
  695. package/build/client/_app/immutable/chunks/CE8BcsFf.js.gz +0 -0
  696. package/build/client/_app/immutable/chunks/CJPg7PqR.js +0 -1
  697. package/build/client/_app/immutable/chunks/CJPg7PqR.js.br +0 -0
  698. package/build/client/_app/immutable/chunks/CJPg7PqR.js.gz +0 -0
  699. package/build/client/_app/immutable/chunks/CKPgdp0v.js +0 -1
  700. package/build/client/_app/immutable/chunks/CKPgdp0v.js.br +0 -0
  701. package/build/client/_app/immutable/chunks/CKPgdp0v.js.gz +0 -0
  702. package/build/client/_app/immutable/chunks/CMh2kjaf.js +0 -1
  703. package/build/client/_app/immutable/chunks/CMh2kjaf.js.br +0 -0
  704. package/build/client/_app/immutable/chunks/CMh2kjaf.js.gz +0 -0
  705. package/build/client/_app/immutable/chunks/COWz2et1.js +0 -1
  706. package/build/client/_app/immutable/chunks/COWz2et1.js.br +0 -0
  707. package/build/client/_app/immutable/chunks/COWz2et1.js.gz +0 -0
  708. package/build/client/_app/immutable/chunks/CQerFpzT.js +0 -1
  709. package/build/client/_app/immutable/chunks/CQerFpzT.js.br +0 -0
  710. package/build/client/_app/immutable/chunks/CQerFpzT.js.gz +0 -0
  711. package/build/client/_app/immutable/chunks/Cauzi832.js +0 -1
  712. package/build/client/_app/immutable/chunks/Cauzi832.js.br +0 -0
  713. package/build/client/_app/immutable/chunks/Cauzi832.js.gz +0 -0
  714. package/build/client/_app/immutable/chunks/CcBbOJ-v.js +0 -1
  715. package/build/client/_app/immutable/chunks/CcBbOJ-v.js.br +0 -2
  716. package/build/client/_app/immutable/chunks/CcBbOJ-v.js.gz +0 -0
  717. package/build/client/_app/immutable/chunks/Ckd6DpGW.js +0 -1
  718. package/build/client/_app/immutable/chunks/Ckd6DpGW.js.br +0 -0
  719. package/build/client/_app/immutable/chunks/Ckd6DpGW.js.gz +0 -0
  720. package/build/client/_app/immutable/chunks/Ctxx2m1z.js +0 -3
  721. package/build/client/_app/immutable/chunks/Ctxx2m1z.js.br +0 -0
  722. package/build/client/_app/immutable/chunks/Ctxx2m1z.js.gz +0 -0
  723. package/build/client/_app/immutable/chunks/CwEiVMBL.js +0 -1
  724. package/build/client/_app/immutable/chunks/CwEiVMBL.js.br +0 -0
  725. package/build/client/_app/immutable/chunks/CwEiVMBL.js.gz +0 -0
  726. package/build/client/_app/immutable/chunks/DApsykQI.js +0 -1
  727. package/build/client/_app/immutable/chunks/DApsykQI.js.br +0 -0
  728. package/build/client/_app/immutable/chunks/DApsykQI.js.gz +0 -0
  729. package/build/client/_app/immutable/chunks/DC8WqQE0.js +0 -1
  730. package/build/client/_app/immutable/chunks/DC8WqQE0.js.br +0 -0
  731. package/build/client/_app/immutable/chunks/DC8WqQE0.js.gz +0 -0
  732. package/build/client/_app/immutable/chunks/DCgyaAAq.js +0 -1
  733. package/build/client/_app/immutable/chunks/DCgyaAAq.js.br +0 -0
  734. package/build/client/_app/immutable/chunks/DCgyaAAq.js.gz +0 -0
  735. package/build/client/_app/immutable/chunks/DFnVpznB.js +0 -1
  736. package/build/client/_app/immutable/chunks/DFnVpznB.js.br +0 -4
  737. package/build/client/_app/immutable/chunks/DFnVpznB.js.gz +0 -0
  738. package/build/client/_app/immutable/chunks/DH_OLMrQ.js +0 -1
  739. package/build/client/_app/immutable/chunks/DH_OLMrQ.js.br +0 -0
  740. package/build/client/_app/immutable/chunks/DH_OLMrQ.js.gz +0 -0
  741. package/build/client/_app/immutable/chunks/DKP3kMac.js +0 -2
  742. package/build/client/_app/immutable/chunks/DKP3kMac.js.br +0 -0
  743. package/build/client/_app/immutable/chunks/DKP3kMac.js.gz +0 -0
  744. package/build/client/_app/immutable/chunks/DU8tQv0c.js +0 -1
  745. package/build/client/_app/immutable/chunks/DU8tQv0c.js.br +0 -0
  746. package/build/client/_app/immutable/chunks/DU8tQv0c.js.gz +0 -0
  747. package/build/client/_app/immutable/chunks/DUpVdSFf.js +0 -1
  748. package/build/client/_app/immutable/chunks/DUpVdSFf.js.br +0 -0
  749. package/build/client/_app/immutable/chunks/DUpVdSFf.js.gz +0 -0
  750. package/build/client/_app/immutable/chunks/DciO9jhd.js +0 -1
  751. package/build/client/_app/immutable/chunks/DciO9jhd.js.br +0 -0
  752. package/build/client/_app/immutable/chunks/DciO9jhd.js.gz +0 -0
  753. package/build/client/_app/immutable/chunks/DfcDRMtE.js +0 -1
  754. package/build/client/_app/immutable/chunks/DfcDRMtE.js.br +0 -0
  755. package/build/client/_app/immutable/chunks/DfcDRMtE.js.gz +0 -0
  756. package/build/client/_app/immutable/chunks/DglJwvDE.js +0 -1
  757. package/build/client/_app/immutable/chunks/DglJwvDE.js.br +0 -0
  758. package/build/client/_app/immutable/chunks/DglJwvDE.js.gz +0 -0
  759. package/build/client/_app/immutable/chunks/Dw6fzgfW.js +0 -1
  760. package/build/client/_app/immutable/chunks/Dw6fzgfW.js.br +0 -0
  761. package/build/client/_app/immutable/chunks/Dw6fzgfW.js.gz +0 -0
  762. package/build/client/_app/immutable/chunks/DzNzLgOO.js +0 -1
  763. package/build/client/_app/immutable/chunks/DzNzLgOO.js.br +0 -0
  764. package/build/client/_app/immutable/chunks/DzNzLgOO.js.gz +0 -0
  765. package/build/client/_app/immutable/chunks/E7F5LllG.js +0 -1
  766. package/build/client/_app/immutable/chunks/E7F5LllG.js.br +0 -0
  767. package/build/client/_app/immutable/chunks/E7F5LllG.js.gz +0 -0
  768. package/build/client/_app/immutable/chunks/FdBsYR_f.js +0 -1
  769. package/build/client/_app/immutable/chunks/FdBsYR_f.js.br +0 -0
  770. package/build/client/_app/immutable/chunks/FdBsYR_f.js.gz +0 -0
  771. package/build/client/_app/immutable/chunks/MJK-ocUx.js +0 -1
  772. package/build/client/_app/immutable/chunks/MJK-ocUx.js.br +0 -0
  773. package/build/client/_app/immutable/chunks/MJK-ocUx.js.gz +0 -0
  774. package/build/client/_app/immutable/chunks/NPsDidaV.js +0 -1
  775. package/build/client/_app/immutable/chunks/NPsDidaV.js.br +0 -0
  776. package/build/client/_app/immutable/chunks/NPsDidaV.js.gz +0 -0
  777. package/build/client/_app/immutable/chunks/OVtUuDzp.js +0 -1
  778. package/build/client/_app/immutable/chunks/OVtUuDzp.js.br +0 -0
  779. package/build/client/_app/immutable/chunks/OVtUuDzp.js.gz +0 -0
  780. package/build/client/_app/immutable/chunks/Qf_Lg02h.js +0 -1
  781. package/build/client/_app/immutable/chunks/Qf_Lg02h.js.br +0 -0
  782. package/build/client/_app/immutable/chunks/Qf_Lg02h.js.gz +0 -0
  783. package/build/client/_app/immutable/chunks/RmXOMQTe.js +0 -1
  784. package/build/client/_app/immutable/chunks/RmXOMQTe.js.br +0 -0
  785. package/build/client/_app/immutable/chunks/RmXOMQTe.js.gz +0 -0
  786. package/build/client/_app/immutable/chunks/X4d9Q9UP.js +0 -1
  787. package/build/client/_app/immutable/chunks/X4d9Q9UP.js.br +0 -0
  788. package/build/client/_app/immutable/chunks/X4d9Q9UP.js.gz +0 -0
  789. package/build/client/_app/immutable/chunks/lyBl2EWc.js +0 -64
  790. package/build/client/_app/immutable/chunks/lyBl2EWc.js.br +0 -0
  791. package/build/client/_app/immutable/chunks/lyBl2EWc.js.gz +0 -0
  792. package/build/client/_app/immutable/entry/app.6Pcj7C1y.js +0 -2
  793. package/build/client/_app/immutable/entry/app.6Pcj7C1y.js.br +0 -0
  794. package/build/client/_app/immutable/entry/app.6Pcj7C1y.js.gz +0 -0
  795. package/build/client/_app/immutable/entry/start.DIHLwcbZ.js +0 -1
  796. package/build/client/_app/immutable/entry/start.DIHLwcbZ.js.br +0 -0
  797. package/build/client/_app/immutable/entry/start.DIHLwcbZ.js.gz +0 -0
  798. package/build/client/_app/immutable/nodes/0.jHfSJDLC.js +0 -1
  799. package/build/client/_app/immutable/nodes/0.jHfSJDLC.js.br +0 -0
  800. package/build/client/_app/immutable/nodes/0.jHfSJDLC.js.gz +0 -0
  801. package/build/client/_app/immutable/nodes/1.BhykIdRx.js +0 -1
  802. package/build/client/_app/immutable/nodes/1.BhykIdRx.js.br +0 -0
  803. package/build/client/_app/immutable/nodes/1.BhykIdRx.js.gz +0 -0
  804. package/build/client/_app/immutable/nodes/10.CFymu_sF.js +0 -3
  805. package/build/client/_app/immutable/nodes/10.CFymu_sF.js.br +0 -0
  806. package/build/client/_app/immutable/nodes/10.CFymu_sF.js.gz +0 -0
  807. package/build/client/_app/immutable/nodes/11.DyOlzJcZ.js +0 -2
  808. package/build/client/_app/immutable/nodes/11.DyOlzJcZ.js.br +0 -0
  809. package/build/client/_app/immutable/nodes/11.DyOlzJcZ.js.gz +0 -0
  810. package/build/client/_app/immutable/nodes/12.BqHQ_pQ5.js +0 -1
  811. package/build/client/_app/immutable/nodes/12.BqHQ_pQ5.js.br +0 -0
  812. package/build/client/_app/immutable/nodes/12.BqHQ_pQ5.js.gz +0 -0
  813. package/build/client/_app/immutable/nodes/13.s79JEajb.js +0 -2
  814. package/build/client/_app/immutable/nodes/13.s79JEajb.js.br +0 -0
  815. package/build/client/_app/immutable/nodes/13.s79JEajb.js.gz +0 -0
  816. package/build/client/_app/immutable/nodes/14.CYT3iXz4.js +0 -2
  817. package/build/client/_app/immutable/nodes/14.CYT3iXz4.js.br +0 -0
  818. package/build/client/_app/immutable/nodes/14.CYT3iXz4.js.gz +0 -0
  819. package/build/client/_app/immutable/nodes/15.BmUKGag9.js +0 -16
  820. package/build/client/_app/immutable/nodes/15.BmUKGag9.js.br +0 -0
  821. package/build/client/_app/immutable/nodes/15.BmUKGag9.js.gz +0 -0
  822. package/build/client/_app/immutable/nodes/16.BV1yTi0H.js +0 -6
  823. package/build/client/_app/immutable/nodes/16.BV1yTi0H.js.br +0 -0
  824. package/build/client/_app/immutable/nodes/16.BV1yTi0H.js.gz +0 -0
  825. package/build/client/_app/immutable/nodes/17.BJ9W1-Gp.js +0 -2
  826. package/build/client/_app/immutable/nodes/17.BJ9W1-Gp.js.br +0 -0
  827. package/build/client/_app/immutable/nodes/17.BJ9W1-Gp.js.gz +0 -0
  828. package/build/client/_app/immutable/nodes/19.CotcbdTq.js +0 -2
  829. package/build/client/_app/immutable/nodes/19.CotcbdTq.js.br +0 -0
  830. package/build/client/_app/immutable/nodes/19.CotcbdTq.js.gz +0 -0
  831. package/build/client/_app/immutable/nodes/2.bzOm1515.js +0 -1
  832. package/build/client/_app/immutable/nodes/2.bzOm1515.js.br +0 -0
  833. package/build/client/_app/immutable/nodes/2.bzOm1515.js.gz +0 -0
  834. package/build/client/_app/immutable/nodes/20.CA3HJZEu.js +0 -4116
  835. package/build/client/_app/immutable/nodes/20.CA3HJZEu.js.br +0 -0
  836. package/build/client/_app/immutable/nodes/20.CA3HJZEu.js.gz +0 -0
  837. package/build/client/_app/immutable/nodes/21.BJPjb8-v.js +0 -6
  838. package/build/client/_app/immutable/nodes/21.BJPjb8-v.js.br +0 -0
  839. package/build/client/_app/immutable/nodes/21.BJPjb8-v.js.gz +0 -0
  840. package/build/client/_app/immutable/nodes/23.BRvOrN4m.js +0 -16
  841. package/build/client/_app/immutable/nodes/23.BRvOrN4m.js.br +0 -0
  842. package/build/client/_app/immutable/nodes/23.BRvOrN4m.js.gz +0 -0
  843. package/build/client/_app/immutable/nodes/24.BXo-yHSI.js +0 -6
  844. package/build/client/_app/immutable/nodes/24.BXo-yHSI.js.br +0 -0
  845. package/build/client/_app/immutable/nodes/24.BXo-yHSI.js.gz +0 -0
  846. package/build/client/_app/immutable/nodes/25.DQ1u0u88.js +0 -1
  847. package/build/client/_app/immutable/nodes/25.DQ1u0u88.js.br +0 -0
  848. package/build/client/_app/immutable/nodes/25.DQ1u0u88.js.gz +0 -0
  849. package/build/client/_app/immutable/nodes/26.Ds_gf_O9.js +0 -3
  850. package/build/client/_app/immutable/nodes/26.Ds_gf_O9.js.br +0 -0
  851. package/build/client/_app/immutable/nodes/26.Ds_gf_O9.js.gz +0 -0
  852. package/build/client/_app/immutable/nodes/27.BYAdgkyp.js +0 -4
  853. package/build/client/_app/immutable/nodes/27.BYAdgkyp.js.br +0 -0
  854. package/build/client/_app/immutable/nodes/27.BYAdgkyp.js.gz +0 -0
  855. package/build/client/_app/immutable/nodes/28.LN6851SR.js +0 -4
  856. package/build/client/_app/immutable/nodes/28.LN6851SR.js.br +0 -0
  857. package/build/client/_app/immutable/nodes/28.LN6851SR.js.gz +0 -0
  858. package/build/client/_app/immutable/nodes/29.DLioElQp.js +0 -2
  859. package/build/client/_app/immutable/nodes/29.DLioElQp.js.br +0 -0
  860. package/build/client/_app/immutable/nodes/29.DLioElQp.js.gz +0 -0
  861. package/build/client/_app/immutable/nodes/3.BrNhFCwf.js +0 -1
  862. package/build/client/_app/immutable/nodes/3.BrNhFCwf.js.br +0 -0
  863. package/build/client/_app/immutable/nodes/3.BrNhFCwf.js.gz +0 -0
  864. package/build/client/_app/immutable/nodes/30.8X3_Qhc4.js +0 -2
  865. package/build/client/_app/immutable/nodes/30.8X3_Qhc4.js.br +0 -0
  866. package/build/client/_app/immutable/nodes/30.8X3_Qhc4.js.gz +0 -0
  867. package/build/client/_app/immutable/nodes/31.CaWXI_qm.js +0 -2
  868. package/build/client/_app/immutable/nodes/31.CaWXI_qm.js.br +0 -0
  869. package/build/client/_app/immutable/nodes/31.CaWXI_qm.js.gz +0 -0
  870. package/build/client/_app/immutable/nodes/32.Drmb2nxJ.js +0 -3
  871. package/build/client/_app/immutable/nodes/32.Drmb2nxJ.js.br +0 -0
  872. package/build/client/_app/immutable/nodes/32.Drmb2nxJ.js.gz +0 -0
  873. package/build/client/_app/immutable/nodes/5.Bv0v3n_x.js +0 -1
  874. package/build/client/_app/immutable/nodes/5.Bv0v3n_x.js.br +0 -1
  875. package/build/client/_app/immutable/nodes/5.Bv0v3n_x.js.gz +0 -0
  876. package/build/client/_app/immutable/nodes/6.Bcm8SZhY.js +0 -1
  877. package/build/client/_app/immutable/nodes/6.Bcm8SZhY.js.br +0 -0
  878. package/build/client/_app/immutable/nodes/6.Bcm8SZhY.js.gz +0 -0
  879. package/build/client/_app/immutable/nodes/7.BxG3WtIs.js +0 -1
  880. package/build/client/_app/immutable/nodes/7.BxG3WtIs.js.br +0 -0
  881. package/build/client/_app/immutable/nodes/7.BxG3WtIs.js.gz +0 -0
  882. package/build/client/_app/immutable/nodes/8.D5JMD1BH.js +0 -2
  883. package/build/client/_app/immutable/nodes/8.D5JMD1BH.js.br +0 -0
  884. package/build/client/_app/immutable/nodes/8.D5JMD1BH.js.gz +0 -0
  885. package/build/client/_app/immutable/nodes/9.C-ulXdlh.js +0 -1
  886. package/build/client/_app/immutable/nodes/9.C-ulXdlh.js.br +0 -0
  887. package/build/client/_app/immutable/nodes/9.C-ulXdlh.js.gz +0 -0
  888. package/build/server/chunks/0-B-R0kBeY.js +0 -55
  889. package/build/server/chunks/0-B-R0kBeY.js.map +0 -1
  890. package/build/server/chunks/1-CuAyMauj.js +0 -9
  891. package/build/server/chunks/1-CuAyMauj.js.map +0 -1
  892. package/build/server/chunks/10-Nv6D0XYy.js +0 -220
  893. package/build/server/chunks/10-Nv6D0XYy.js.map +0 -1
  894. package/build/server/chunks/11-BeesIJzU.js +0 -57
  895. package/build/server/chunks/11-BeesIJzU.js.map +0 -1
  896. package/build/server/chunks/12-BUwej7vW.js +0 -52
  897. package/build/server/chunks/12-BUwej7vW.js.map +0 -1
  898. package/build/server/chunks/13-BXJkEncV.js +0 -57
  899. package/build/server/chunks/13-BXJkEncV.js.map +0 -1
  900. package/build/server/chunks/14-znPM9Pcq.js +0 -100
  901. package/build/server/chunks/14-znPM9Pcq.js.map +0 -1
  902. package/build/server/chunks/15-DZglhlvG.js +0 -43
  903. package/build/server/chunks/15-DZglhlvG.js.map +0 -1
  904. package/build/server/chunks/16-Bn08tbq5.js +0 -83
  905. package/build/server/chunks/16-Bn08tbq5.js.map +0 -1
  906. package/build/server/chunks/17-Cso-R6ia.js +0 -9
  907. package/build/server/chunks/17-Cso-R6ia.js.map +0 -1
  908. package/build/server/chunks/18-DSqnjSZR.js +0 -74
  909. package/build/server/chunks/18-DSqnjSZR.js.map +0 -1
  910. package/build/server/chunks/19-B5ff1LX8.js +0 -94
  911. package/build/server/chunks/19-B5ff1LX8.js.map +0 -1
  912. package/build/server/chunks/2-BGvFL0S4.js +0 -41
  913. package/build/server/chunks/2-BGvFL0S4.js.map +0 -1
  914. package/build/server/chunks/20-DFsHWLTF.js +0 -220
  915. package/build/server/chunks/20-DFsHWLTF.js.map +0 -1
  916. package/build/server/chunks/21-Dn5qUx_W.js +0 -83
  917. package/build/server/chunks/21-Dn5qUx_W.js.map +0 -1
  918. package/build/server/chunks/23-BEE28B4-.js +0 -136
  919. package/build/server/chunks/23-BEE28B4-.js.map +0 -1
  920. package/build/server/chunks/24-C2tGGVXp.js +0 -144
  921. package/build/server/chunks/24-C2tGGVXp.js.map +0 -1
  922. package/build/server/chunks/25-ojiP_VIe.js +0 -51
  923. package/build/server/chunks/25-ojiP_VIe.js.map +0 -1
  924. package/build/server/chunks/26-Dia3LwgX.js +0 -9
  925. package/build/server/chunks/26-Dia3LwgX.js.map +0 -1
  926. package/build/server/chunks/27-DDqk8ntu.js +0 -57
  927. package/build/server/chunks/27-DDqk8ntu.js.map +0 -1
  928. package/build/server/chunks/28-DcIwnJDD.js +0 -69
  929. package/build/server/chunks/28-DcIwnJDD.js.map +0 -1
  930. package/build/server/chunks/29-CPECC6Qt.js +0 -55
  931. package/build/server/chunks/29-CPECC6Qt.js.map +0 -1
  932. package/build/server/chunks/3-CzLHDT1Q.js +0 -9
  933. package/build/server/chunks/3-CzLHDT1Q.js.map +0 -1
  934. package/build/server/chunks/30-Bno1WrtW.js +0 -57
  935. package/build/server/chunks/30-Bno1WrtW.js.map +0 -1
  936. package/build/server/chunks/31-DC1gGFWA.js +0 -42
  937. package/build/server/chunks/31-DC1gGFWA.js.map +0 -1
  938. package/build/server/chunks/32-BOGJTOSC.js +0 -34
  939. package/build/server/chunks/32-BOGJTOSC.js.map +0 -1
  940. package/build/server/chunks/5-C2v3v85u.js +0 -32
  941. package/build/server/chunks/5-C2v3v85u.js.map +0 -1
  942. package/build/server/chunks/6-km9_lsf3.js +0 -40
  943. package/build/server/chunks/6-km9_lsf3.js.map +0 -1
  944. package/build/server/chunks/7-DPthSRvp.js +0 -19
  945. package/build/server/chunks/7-DPthSRvp.js.map +0 -1
  946. package/build/server/chunks/8-AVVSYGmP.js +0 -130
  947. package/build/server/chunks/8-AVVSYGmP.js.map +0 -1
  948. package/build/server/chunks/9-BYsSPT2b.js +0 -46
  949. package/build/server/chunks/9-BYsSPT2b.js.map +0 -1
  950. package/build/server/chunks/AppHeader-DuJuMtMy.js +0 -271
  951. package/build/server/chunks/AppHeader-DuJuMtMy.js.map +0 -1
  952. package/build/server/chunks/DefinitionCard-CYv7Z13m.js +0 -257
  953. package/build/server/chunks/DefinitionCard-CYv7Z13m.js.map +0 -1
  954. package/build/server/chunks/ErrorScreen-d8Z8hQ1U.js +0 -131
  955. package/build/server/chunks/ErrorScreen-d8Z8hQ1U.js.map +0 -1
  956. package/build/server/chunks/FilterableDropdown-0UzIjcXJ.js +0 -61
  957. package/build/server/chunks/FilterableDropdown-0UzIjcXJ.js.map +0 -1
  958. package/build/server/chunks/SideNav-QbExg2MG.js +0 -87
  959. package/build/server/chunks/SideNav-QbExg2MG.js.map +0 -1
  960. package/build/server/chunks/StatCard-CRzbit9Z.js +0 -50
  961. package/build/server/chunks/StatCard-CRzbit9Z.js.map +0 -1
  962. package/build/server/chunks/UserChip-Ba0wRTtZ.js +0 -1113
  963. package/build/server/chunks/UserChip-Ba0wRTtZ.js.map +0 -1
  964. package/build/server/chunks/_error.svelte-DCuOEylf.js +0 -29
  965. package/build/server/chunks/_error.svelte-DCuOEylf.js.map +0 -1
  966. package/build/server/chunks/_error.svelte-DKd7sQzn.js +0 -27
  967. package/build/server/chunks/_error.svelte-DKd7sQzn.js.map +0 -1
  968. package/build/server/chunks/_layout.svelte-BmmDpTcb.js +0 -152
  969. package/build/server/chunks/_layout.svelte-BmmDpTcb.js.map +0 -1
  970. package/build/server/chunks/_layout.svelte-Bu7WpdFm.js +0 -42
  971. package/build/server/chunks/_layout.svelte-Bu7WpdFm.js.map +0 -1
  972. package/build/server/chunks/_layout.svelte-Cbs_hosi.js +0 -105
  973. package/build/server/chunks/_layout.svelte-Cbs_hosi.js.map +0 -1
  974. package/build/server/chunks/_layout.svelte-UsfBRC0f.js +0 -795
  975. package/build/server/chunks/_layout.svelte-UsfBRC0f.js.map +0 -1
  976. package/build/server/chunks/_page.svelte-B2WQ2nhU.js +0 -69
  977. package/build/server/chunks/_page.svelte-B2WQ2nhU.js.map +0 -1
  978. package/build/server/chunks/_page.svelte-B8iLZ6Zi.js +0 -119
  979. package/build/server/chunks/_page.svelte-B8iLZ6Zi.js.map +0 -1
  980. package/build/server/chunks/_page.svelte-BB3Q4U32.js +0 -595
  981. package/build/server/chunks/_page.svelte-BB3Q4U32.js.map +0 -1
  982. package/build/server/chunks/_page.svelte-BHM2cdfQ.js +0 -119
  983. package/build/server/chunks/_page.svelte-BHM2cdfQ.js.map +0 -1
  984. package/build/server/chunks/_page.svelte-BIABhE1J.js +0 -329
  985. package/build/server/chunks/_page.svelte-BIABhE1J.js.map +0 -1
  986. package/build/server/chunks/_page.svelte-BKk3pcBL.js +0 -546
  987. package/build/server/chunks/_page.svelte-BKk3pcBL.js.map +0 -1
  988. package/build/server/chunks/_page.svelte-BS4E9SvL.js +0 -10510
  989. package/build/server/chunks/_page.svelte-BS4E9SvL.js.map +0 -1
  990. package/build/server/chunks/_page.svelte-BYPZuYIR.js +0 -276
  991. package/build/server/chunks/_page.svelte-BYPZuYIR.js.map +0 -1
  992. package/build/server/chunks/_page.svelte-Big1I6tL.js +0 -274
  993. package/build/server/chunks/_page.svelte-Big1I6tL.js.map +0 -1
  994. package/build/server/chunks/_page.svelte-BjX7K7cb.js +0 -249
  995. package/build/server/chunks/_page.svelte-BjX7K7cb.js.map +0 -1
  996. package/build/server/chunks/_page.svelte-Bqwz1thf.js +0 -146
  997. package/build/server/chunks/_page.svelte-Bqwz1thf.js.map +0 -1
  998. package/build/server/chunks/_page.svelte-CEhO1-1V.js +0 -452
  999. package/build/server/chunks/_page.svelte-CEhO1-1V.js.map +0 -1
  1000. package/build/server/chunks/_page.svelte-C_Jgsry_.js +0 -500
  1001. package/build/server/chunks/_page.svelte-C_Jgsry_.js.map +0 -1
  1002. package/build/server/chunks/_page.svelte-Cx28CapC.js +0 -3847
  1003. package/build/server/chunks/_page.svelte-Cx28CapC.js.map +0 -1
  1004. package/build/server/chunks/_page.svelte-D9-g6SJP.js +0 -168
  1005. package/build/server/chunks/_page.svelte-D9-g6SJP.js.map +0 -1
  1006. package/build/server/chunks/_page.svelte-DIn0gOqM.js +0 -609
  1007. package/build/server/chunks/_page.svelte-DIn0gOqM.js.map +0 -1
  1008. package/build/server/chunks/_page.svelte-DKPG7AbM.js +0 -113
  1009. package/build/server/chunks/_page.svelte-DKPG7AbM.js.map +0 -1
  1010. package/build/server/chunks/_page.svelte-DU9OiqeO.js +0 -423
  1011. package/build/server/chunks/_page.svelte-DU9OiqeO.js.map +0 -1
  1012. package/build/server/chunks/_page.svelte-DUFBSMDt.js +0 -557
  1013. package/build/server/chunks/_page.svelte-DUFBSMDt.js.map +0 -1
  1014. package/build/server/chunks/_page.svelte-DcbxsxZM.js +0 -330
  1015. package/build/server/chunks/_page.svelte-DcbxsxZM.js.map +0 -1
  1016. package/build/server/chunks/_page.svelte-DtVw2EYT.js +0 -56
  1017. package/build/server/chunks/_page.svelte-DtVw2EYT.js.map +0 -1
  1018. package/build/server/chunks/_page.svelte-DyTTCbrh.js +0 -83
  1019. package/build/server/chunks/_page.svelte-DyTTCbrh.js.map +0 -1
  1020. package/build/server/chunks/_page.svelte-jwU-46Sj.js +0 -301
  1021. package/build/server/chunks/_page.svelte-jwU-46Sj.js.map +0 -1
  1022. package/build/server/chunks/_page.svelte-tP-wCOII.js +0 -714
  1023. package/build/server/chunks/_page.svelte-tP-wCOII.js.map +0 -1
  1024. package/build/server/chunks/_server.ts-B22_T7V_.js +0 -36
  1025. package/build/server/chunks/_server.ts-B22_T7V_.js.map +0 -1
  1026. package/build/server/chunks/_server.ts-BDlLVhr0.js +0 -76
  1027. package/build/server/chunks/_server.ts-BDlLVhr0.js.map +0 -1
  1028. package/build/server/chunks/_server.ts-BGuNdvh3.js +0 -85
  1029. package/build/server/chunks/_server.ts-BGuNdvh3.js.map +0 -1
  1030. package/build/server/chunks/_server.ts-BKMhht9X.js +0 -31
  1031. package/build/server/chunks/_server.ts-BKMhht9X.js.map +0 -1
  1032. package/build/server/chunks/_server.ts-BLSWyveF.js +0 -38
  1033. package/build/server/chunks/_server.ts-BLSWyveF.js.map +0 -1
  1034. package/build/server/chunks/_server.ts-BW-lT0M3.js +0 -58
  1035. package/build/server/chunks/_server.ts-BW-lT0M3.js.map +0 -1
  1036. package/build/server/chunks/_server.ts-Ba8fgvzw.js +0 -81
  1037. package/build/server/chunks/_server.ts-Ba8fgvzw.js.map +0 -1
  1038. package/build/server/chunks/_server.ts-BmAiI-M6.js +0 -75
  1039. package/build/server/chunks/_server.ts-BmAiI-M6.js.map +0 -1
  1040. package/build/server/chunks/_server.ts-BrIEBX7H.js +0 -86
  1041. package/build/server/chunks/_server.ts-BrIEBX7H.js.map +0 -1
  1042. package/build/server/chunks/_server.ts-BrlTfpwE.js +0 -71
  1043. package/build/server/chunks/_server.ts-BrlTfpwE.js.map +0 -1
  1044. package/build/server/chunks/_server.ts-C0-8Ghjh.js +0 -81
  1045. package/build/server/chunks/_server.ts-C0-8Ghjh.js.map +0 -1
  1046. package/build/server/chunks/_server.ts-C1KGgrcN.js +0 -38
  1047. package/build/server/chunks/_server.ts-C1KGgrcN.js.map +0 -1
  1048. package/build/server/chunks/_server.ts-CM1ulGpl.js +0 -94
  1049. package/build/server/chunks/_server.ts-CM1ulGpl.js.map +0 -1
  1050. package/build/server/chunks/_server.ts-CZHS4EZU.js +0 -35
  1051. package/build/server/chunks/_server.ts-CZHS4EZU.js.map +0 -1
  1052. package/build/server/chunks/_server.ts-Cc1sYV4N.js +0 -73
  1053. package/build/server/chunks/_server.ts-Cc1sYV4N.js.map +0 -1
  1054. package/build/server/chunks/_server.ts-ChAgra2R.js +0 -103
  1055. package/build/server/chunks/_server.ts-ChAgra2R.js.map +0 -1
  1056. package/build/server/chunks/_server.ts-CiS1dBE4.js +0 -110
  1057. package/build/server/chunks/_server.ts-CiS1dBE4.js.map +0 -1
  1058. package/build/server/chunks/_server.ts-Co2Yjt2k.js +0 -408
  1059. package/build/server/chunks/_server.ts-Co2Yjt2k.js.map +0 -1
  1060. package/build/server/chunks/_server.ts-CpyLZir2.js +0 -106
  1061. package/build/server/chunks/_server.ts-CpyLZir2.js.map +0 -1
  1062. package/build/server/chunks/_server.ts-CuIFnCAh.js +0 -31
  1063. package/build/server/chunks/_server.ts-CuIFnCAh.js.map +0 -1
  1064. package/build/server/chunks/_server.ts-CzolkXdt.js +0 -49
  1065. package/build/server/chunks/_server.ts-CzolkXdt.js.map +0 -1
  1066. package/build/server/chunks/_server.ts-D1D_prNC.js +0 -52
  1067. package/build/server/chunks/_server.ts-D1D_prNC.js.map +0 -1
  1068. package/build/server/chunks/_server.ts-DAmmd8N5.js +0 -29
  1069. package/build/server/chunks/_server.ts-DAmmd8N5.js.map +0 -1
  1070. package/build/server/chunks/_server.ts-DEeyDsgj.js +0 -70
  1071. package/build/server/chunks/_server.ts-DEeyDsgj.js.map +0 -1
  1072. package/build/server/chunks/_server.ts-DOEzw2-7.js +0 -94
  1073. package/build/server/chunks/_server.ts-DOEzw2-7.js.map +0 -1
  1074. package/build/server/chunks/_server.ts-DOqfhUd4.js +0 -33
  1075. package/build/server/chunks/_server.ts-DOqfhUd4.js.map +0 -1
  1076. package/build/server/chunks/_server.ts-DZngf68M.js +0 -39
  1077. package/build/server/chunks/_server.ts-DZngf68M.js.map +0 -1
  1078. package/build/server/chunks/_server.ts-D_cDSuDn.js +0 -37
  1079. package/build/server/chunks/_server.ts-D_cDSuDn.js.map +0 -1
  1080. package/build/server/chunks/_server.ts-Dev4bRG7.js +0 -37
  1081. package/build/server/chunks/_server.ts-Dev4bRG7.js.map +0 -1
  1082. package/build/server/chunks/_server.ts-DiADR0vf.js +0 -41
  1083. package/build/server/chunks/_server.ts-DiADR0vf.js.map +0 -1
  1084. package/build/server/chunks/_server.ts-DmTvYkS6.js +0 -48
  1085. package/build/server/chunks/_server.ts-DmTvYkS6.js.map +0 -1
  1086. package/build/server/chunks/_server.ts-DtqNIvuj.js +0 -30
  1087. package/build/server/chunks/_server.ts-DtqNIvuj.js.map +0 -1
  1088. package/build/server/chunks/_server.ts-PC1ANpTi.js +0 -293
  1089. package/build/server/chunks/_server.ts-PC1ANpTi.js.map +0 -1
  1090. package/build/server/chunks/_server.ts-VVJtskXo.js +0 -64
  1091. package/build/server/chunks/_server.ts-VVJtskXo.js.map +0 -1
  1092. package/build/server/chunks/_server.ts-mpVOvyBh.js +0 -42
  1093. package/build/server/chunks/_server.ts-mpVOvyBh.js.map +0 -1
  1094. package/build/server/chunks/_server.ts-rck08O_p.js +0 -78
  1095. package/build/server/chunks/_server.ts-rck08O_p.js.map +0 -1
  1096. package/build/server/chunks/_server.ts-sBiGcMzk.js +0 -39
  1097. package/build/server/chunks/_server.ts-sBiGcMzk.js.map +0 -1
  1098. package/build/server/chunks/_server.ts-uudU-YvI.js +0 -61
  1099. package/build/server/chunks/_server.ts-uudU-YvI.js.map +0 -1
  1100. package/build/server/chunks/access.server-BPceukOr.js +0 -411
  1101. package/build/server/chunks/access.server-BPceukOr.js.map +0 -1
  1102. package/build/server/chunks/activity-Dmfe6yjx.js +0 -18
  1103. package/build/server/chunks/activity-Dmfe6yjx.js.map +0 -1
  1104. package/build/server/chunks/alert-description-BNqu-OG5.js +0 -59
  1105. package/build/server/chunks/alert-description-BNqu-OG5.js.map +0 -1
  1106. package/build/server/chunks/api-errors-KUItADEX.js +0 -36
  1107. package/build/server/chunks/api-errors-KUItADEX.js.map +0 -1
  1108. package/build/server/chunks/arrow-left-KOVWDB5k.js +0 -14
  1109. package/build/server/chunks/arrow-left-KOVWDB5k.js.map +0 -1
  1110. package/build/server/chunks/arrow-right-D0bOY6-5.js +0 -14
  1111. package/build/server/chunks/arrow-right-D0bOY6-5.js.map +0 -1
  1112. package/build/server/chunks/auth-bootstrap.server-C1OnV0V5.js +0 -98
  1113. package/build/server/chunks/auth-bootstrap.server-C1OnV0V5.js.map +0 -1
  1114. package/build/server/chunks/badge-DIEbxzcl.js +0 -50
  1115. package/build/server/chunks/badge-DIEbxzcl.js.map +0 -1
  1116. package/build/server/chunks/bootHealth.server-DzX0P_m2.js +0 -58
  1117. package/build/server/chunks/bootHealth.server-DzX0P_m2.js.map +0 -1
  1118. package/build/server/chunks/building-2-DFvNRZpq.js +0 -22
  1119. package/build/server/chunks/building-2-DFvNRZpq.js.map +0 -1
  1120. package/build/server/chunks/button-DPLE4Wc8.js +0 -73
  1121. package/build/server/chunks/button-DPLE4Wc8.js.map +0 -1
  1122. package/build/server/chunks/card-content-BlxX1RCO.js +0 -46
  1123. package/build/server/chunks/card-content-BlxX1RCO.js.map +0 -1
  1124. package/build/server/chunks/card-description-Z3TpzjmK.js +0 -26
  1125. package/build/server/chunks/card-description-Z3TpzjmK.js.map +0 -1
  1126. package/build/server/chunks/card-title-CdR5nQ-b.js +0 -46
  1127. package/build/server/chunks/card-title-CdR5nQ-b.js.map +0 -1
  1128. package/build/server/chunks/check-382jBCB9.js +0 -11
  1129. package/build/server/chunks/check-382jBCB9.js.map +0 -1
  1130. package/build/server/chunks/chevron-down-D5-hWbt-.js +0 -11
  1131. package/build/server/chunks/chevron-down-D5-hWbt-.js.map +0 -1
  1132. package/build/server/chunks/chevron-right-BqxmmxHL.js +0 -11
  1133. package/build/server/chunks/chevron-right-BqxmmxHL.js.map +0 -1
  1134. package/build/server/chunks/chevron-up-StZ3cnZ8.js +0 -11
  1135. package/build/server/chunks/chevron-up-StZ3cnZ8.js.map +0 -1
  1136. package/build/server/chunks/circle-DgRVKHBX.js +0 -11
  1137. package/build/server/chunks/circle-DgRVKHBX.js.map +0 -1
  1138. package/build/server/chunks/circle-alert-DVGjYRbM.js +0 -18
  1139. package/build/server/chunks/circle-alert-DVGjYRbM.js.map +0 -1
  1140. package/build/server/chunks/context-WcuX1UXU.js +0 -134
  1141. package/build/server/chunks/context-WcuX1UXU.js.map +0 -1
  1142. package/build/server/chunks/copy-ifB2TUP_.js +0 -29
  1143. package/build/server/chunks/copy-ifB2TUP_.js.map +0 -1
  1144. package/build/server/chunks/folder-kanban-pqeOGmPr.js +0 -21
  1145. package/build/server/chunks/folder-kanban-pqeOGmPr.js.map +0 -1
  1146. package/build/server/chunks/folder-open-Cs60gLjJ.js +0 -18
  1147. package/build/server/chunks/folder-open-Cs60gLjJ.js.map +0 -1
  1148. package/build/server/chunks/folders-u0VAZ6yv.js +0 -24
  1149. package/build/server/chunks/folders-u0VAZ6yv.js.map +0 -1
  1150. package/build/server/chunks/footerContext.svelte-CJMFkrzZ.js +0 -523
  1151. package/build/server/chunks/footerContext.svelte-CJMFkrzZ.js.map +0 -1
  1152. package/build/server/chunks/hooks.server-ChS4bxJn.js +0 -218
  1153. package/build/server/chunks/hooks.server-ChS4bxJn.js.map +0 -1
  1154. package/build/server/chunks/index2-CJwvvJu6.js +0 -4379
  1155. package/build/server/chunks/index2-CJwvvJu6.js.map +0 -1
  1156. package/build/server/chunks/index3-CNrCbgC4.js +0 -541
  1157. package/build/server/chunks/index3-CNrCbgC4.js.map +0 -1
  1158. package/build/server/chunks/input-BEmCftCF.js +0 -53
  1159. package/build/server/chunks/input-BEmCftCF.js.map +0 -1
  1160. package/build/server/chunks/label-D8oB1018.js +0 -112
  1161. package/build/server/chunks/label-D8oB1018.js.map +0 -1
  1162. package/build/server/chunks/link-2-D3b2vEpL.js +0 -15
  1163. package/build/server/chunks/link-2-D3b2vEpL.js.map +0 -1
  1164. package/build/server/chunks/mail-DZDbJkFt.js +0 -17
  1165. package/build/server/chunks/mail-DZDbJkFt.js.map +0 -1
  1166. package/build/server/chunks/permissions-compat.server-CAfCu77g.js +0 -19
  1167. package/build/server/chunks/permissions-compat.server-CAfCu77g.js.map +0 -1
  1168. package/build/server/chunks/permissions.server-Ba-N3_W5.js +0 -8
  1169. package/build/server/chunks/permissions.server-Ba-N3_W5.js.map +0 -1
  1170. package/build/server/chunks/plus-j_UY0EeU.js +0 -11
  1171. package/build/server/chunks/plus-j_UY0EeU.js.map +0 -1
  1172. package/build/server/chunks/providers.server-DOymvucH.js +0 -4537
  1173. package/build/server/chunks/providers.server-DOymvucH.js.map +0 -1
  1174. package/build/server/chunks/resolve.server-fKH_sqyC.js +0 -11
  1175. package/build/server/chunks/resolve.server-fKH_sqyC.js.map +0 -1
  1176. package/build/server/chunks/resolve.server2-BnfeaGcZ.js +0 -50
  1177. package/build/server/chunks/resolve.server2-BnfeaGcZ.js.map +0 -1
  1178. package/build/server/chunks/rotate-ccw-DChq5zhW.js +0 -17
  1179. package/build/server/chunks/rotate-ccw-DChq5zhW.js.map +0 -1
  1180. package/build/server/chunks/scroll-text-Bi9gx_V4.js +0 -21
  1181. package/build/server/chunks/scroll-text-Bi9gx_V4.js.map +0 -1
  1182. package/build/server/chunks/server-LxtlHpuz.js +0 -36
  1183. package/build/server/chunks/server-LxtlHpuz.js.map +0 -1
  1184. package/build/server/chunks/settings-Cr5mYyBS.js +0 -19
  1185. package/build/server/chunks/settings-Cr5mYyBS.js.map +0 -1
  1186. package/build/server/chunks/shield-BSf8CVMT.js +0 -18
  1187. package/build/server/chunks/shield-BSf8CVMT.js.map +0 -1
  1188. package/build/server/chunks/shield-check-OpZRvDHN.js +0 -19
  1189. package/build/server/chunks/shield-check-OpZRvDHN.js.map +0 -1
  1190. package/build/server/chunks/star-KGWYAeYA.js +0 -18
  1191. package/build/server/chunks/star-KGWYAeYA.js.map +0 -1
  1192. package/build/server/chunks/textarea-CzRER9c0.js +0 -685
  1193. package/build/server/chunks/textarea-CzRER9c0.js.map +0 -1
  1194. package/build/server/chunks/trash-2-DmuR9br3.js +0 -17
  1195. package/build/server/chunks/trash-2-DmuR9br3.js.map +0 -1
  1196. package/build/server/chunks/triangle-alert-CuX-M239.js +0 -444
  1197. package/build/server/chunks/triangle-alert-CuX-M239.js.map +0 -1
  1198. package/build/server/chunks/upload-Dc1WcTjY.js +0 -62
  1199. package/build/server/chunks/upload-Dc1WcTjY.js.map +0 -1
  1200. package/build/server/chunks/user-plus-Jn4Z4v9g.js +0 -16
  1201. package/build/server/chunks/user-plus-Jn4Z4v9g.js.map +0 -1
  1202. package/build/server/chunks/users-BgwwwoIh.js +0 -16
  1203. package/build/server/chunks/users-BgwwwoIh.js.map +0 -1
  1204. package/build/server/chunks/utils2-BF28g2lj.js +0 -56
  1205. package/build/server/chunks/utils2-BF28g2lj.js.map +0 -1
  1206. package/build/server/chunks/utils3-Dv2HSd2-.js +0 -80
  1207. package/build/server/chunks/utils3-Dv2HSd2-.js.map +0 -1
  1208. package/build/server/chunks/x-B1q8Cpoy.js +0 -14
  1209. package/build/server/chunks/x-B1q8Cpoy.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.server-MD7TK-zQ.js","sources":["../../../.svelte-kit/adapter-node/chunks/providers.server.js"],"sourcesContent":["import { p as private_env } from \"./shared-server.js\";\nimport { pathToFileURL } from \"node:url\";\nimport * as path from \"node:path\";\nimport { resolve } from \"node:path\";\nimport { existsSync } from \"node:fs\";\nimport { D as DEFAULT_ORG_PERMISSIONS, S as SYSTEM_CONTEXT, j as hasPermission, P as PlatformPermissionSchema } from \"./context.js\";\nimport * as crypto from \"node:crypto\";\nimport { createHmac, timingSafeEqual, randomUUID, createDecipheriv, randomBytes, createCipheriv } from \"node:crypto\";\nimport * as fs from \"node:fs/promises\";\nimport { createClient } from \"@supabase/supabase-js\";\nfunction assertSafeKey(value, label) {\n if (!value || !/^[A-Za-z0-9._-]+$/.test(value) || value === \".\" || value === \"..\") {\n throw new Error(`Unsafe ${label}: ${JSON.stringify(value)}`);\n }\n}\nconst definitionPaths = {\n version: (guid, versionNumber, ext) => {\n assertSafeKey(guid, \"guid\");\n if (!Number.isInteger(versionNumber) || versionNumber < 1) {\n throw new Error(`Unsafe versionNumber: ${versionNumber}`);\n }\n return `definitions/${guid}/versions/v${versionNumber}.${ext}`;\n },\n image: (guid) => {\n assertSafeKey(guid, \"guid\");\n return `definitions/${guid}/cover.webp`;\n },\n prefix: (guid) => {\n assertSafeKey(guid, \"guid\");\n return `definitions/${guid}/`;\n }\n};\nconst IMAGE_MAX_WIDTH = 1200;\nconst IMAGE_WEBP_QUALITY = 85;\nfunction isImageUpload(contentType, storagePath) {\n if (contentType?.startsWith(\"image/\"))\n return true;\n return /\\.(webp|png|jpe?g|gif|bmp|tif?f)$/i.test(storagePath);\n}\nfunction toWebpPath(storagePath) {\n return storagePath.replace(/\\.(png|jpe?g|gif|bmp|tif?f)$/i, \".webp\");\n}\nasync function transcodeImageIfNeeded(data, contentType, storagePath) {\n if (!isImageUpload(contentType, storagePath)) {\n return { data, contentType: contentType ?? \"application/octet-stream\", path: storagePath };\n }\n const sharp = await loadSharp();\n const compressed = await sharp(Buffer.from(data)).resize({ width: IMAGE_MAX_WIDTH, withoutEnlargement: true }).webp({ quality: IMAGE_WEBP_QUALITY }).toBuffer();\n return {\n data: new Uint8Array(compressed),\n contentType: \"image/webp\",\n path: toWebpPath(storagePath)\n };\n}\nlet cachedSharp = null;\nasync function loadSharp() {\n if (cachedSharp)\n return cachedSharp;\n try {\n const mod = await import(\"sharp\");\n cachedSharp = mod.default ?? mod;\n return cachedSharp;\n } catch (err) {\n throw new Error(\"Image transcoding requires `sharp` to be installed. Add it as a dependency in your provider package.\", { cause: err });\n }\n}\nfunction isPlatformServer(s) {\n return s.scope === \"platform\";\n}\nfunction isOrgServer(s) {\n return s.scope === \"org\";\n}\nfunction actorFrom(ctx) {\n return ctx.userId || \"system\";\n}\nclass NoopEventSink {\n async emit(_event) {\n }\n}\nconst nowIso = () => (/* @__PURE__ */ new Date()).toISOString();\nfunction auditUpdate(ctx, fallbackActor) {\n return {\n updatedAt: nowIso(),\n updatedBy: ctx.userId || fallbackActor || \"\"\n };\n}\nfunction auditSoftDelete(ctx, fallbackActor) {\n const now = nowIso();\n return {\n deletedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || fallbackActor || \"\"\n };\n}\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 200;\nfunction isFlagEnabled(config, flag2) {\n return Boolean(config.flags?.[flag2]);\n}\nfunction defineConfig(config) {\n return config;\n}\nclass ProviderError extends Error {\n statusCode;\n constructor(message, statusCode = 400) {\n super(message);\n this.name = \"ProviderError\";\n this.statusCode = statusCode;\n }\n}\nconst DEFAULT_MAX_AGE_MS = 8 * 60 * 60 * 1e3;\nfunction signHmacToken(secret, userId, maxAgeMs = DEFAULT_MAX_AGE_MS) {\n const expiry = Date.now() + maxAgeMs;\n const payload = Buffer.from(`${userId}:${expiry}`).toString(\"base64url\");\n const sig = createHmac(\"sha256\", secret).update(payload).digest(\"base64url\");\n return `${payload}.${sig}`;\n}\nfunction verifyHmacToken(token, secret) {\n const dot = token.lastIndexOf(\".\");\n if (dot === -1)\n return { userId: \"\", valid: false };\n const payload = token.slice(0, dot);\n const sig = token.slice(dot + 1);\n const expectedSig = createHmac(\"sha256\", secret).update(payload).digest(\"base64url\");\n const a = Buffer.from(sig);\n const b = Buffer.from(expectedSig);\n if (a.length !== b.length || !timingSafeEqual(a, b))\n return { userId: \"\", valid: false };\n const decoded = Buffer.from(payload, \"base64url\").toString();\n const colon = decoded.lastIndexOf(\":\");\n if (colon === -1)\n return { userId: \"\", valid: false };\n const userId = decoded.slice(0, colon);\n const expiry = parseInt(decoded.slice(colon + 1), 10);\n if (!Number.isFinite(expiry) || Date.now() >= expiry)\n return { userId: \"\", valid: false };\n return { userId, valid: true };\n}\nasync function readJsonFile(filePath, fallback) {\n try {\n const raw = await fs.readFile(filePath, \"utf-8\");\n return JSON.parse(raw);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return fallback;\n throw err;\n }\n}\nasync function writeJsonFile(filePath, data) {\n await fs.mkdir(path.dirname(filePath), { recursive: true });\n const tmp = `${filePath}.tmp`;\n await fs.writeFile(tmp, JSON.stringify(data, null, \"\t\"), \"utf-8\");\n await fs.rename(tmp, filePath);\n}\nconst LAST_LOGIN_DEBOUNCE_MS$1 = 6e4;\nconst PBKDF2_ITERATIONS = 1e5;\nconst PBKDF2_KEYLEN = 32;\nconst PBKDF2_DIGEST = \"sha256\";\nasync function hashPassword(password) {\n const salt = crypto.randomBytes(16).toString(\"base64url\");\n const hash = await new Promise((resolve2, reject) => crypto.pbkdf2(password, salt, PBKDF2_ITERATIONS, PBKDF2_KEYLEN, PBKDF2_DIGEST, (err, key) => err ? reject(err) : resolve2(key)));\n return `pbkdf2:${PBKDF2_DIGEST}:${PBKDF2_ITERATIONS}:${salt}:${hash.toString(\"base64url\")}`;\n}\nasync function verifyPasswordHash(password, storedHash) {\n const parts = storedHash.split(\":\");\n if (parts.length !== 5 || parts[0] !== \"pbkdf2\")\n return false;\n const [, digest, iterStr, salt, expectedHashB64] = parts;\n const iterations = parseInt(iterStr, 10);\n if (!Number.isFinite(iterations) || iterations <= 0)\n return false;\n const expected = Buffer.from(expectedHashB64, \"base64url\");\n const actual = await new Promise((resolve2, reject) => crypto.pbkdf2(password, salt, iterations, PBKDF2_KEYLEN, digest, (err, key) => err ? reject(err) : resolve2(key)));\n if (actual.length !== expected.length)\n return false;\n return crypto.timingSafeEqual(actual, expected);\n}\nconst empty$5 = () => ({ users: [] });\nfunction createLocalAuthUserStore(usersFilePath) {\n return {\n async findByEmail(email) {\n const { users } = await readJsonFile(usersFilePath, empty$5());\n return users.find((u) => u.email.toLowerCase() === email.toLowerCase()) ?? null;\n },\n async findById(id) {\n const { users } = await readJsonFile(usersFilePath, empty$5());\n return users.find((u) => u.id === id) ?? null;\n },\n async listUsers() {\n const { users } = await readJsonFile(usersFilePath, empty$5());\n return users.map(({ passwordHash: _ph, ...rest }) => rest);\n },\n async createUser(email, password) {\n const file = await readJsonFile(usersFilePath, empty$5());\n if (file.users.some((u) => u.email.toLowerCase() === email.toLowerCase())) {\n throw new ProviderError(`User with email \"${email}\" already exists`, 409);\n }\n const user = {\n id: randomUUID(),\n email,\n passwordHash: password !== null ? await hashPassword(password) : null,\n createdAt: (/* @__PURE__ */ new Date()).toISOString()\n };\n file.users.push(user);\n await writeJsonFile(usersFilePath, file);\n return user;\n },\n async setDisabled(id, disabled) {\n const file = await readJsonFile(usersFilePath, empty$5());\n const user = file.users.find((u) => u.id === id);\n if (!user)\n throw new ProviderError(`User \"${id}\" not found`, 404);\n user.disabled = disabled;\n await writeJsonFile(usersFilePath, file);\n },\n async touchLastLogin(id) {\n const file = await readJsonFile(usersFilePath, empty$5());\n const user = file.users.find((u) => u.id === id);\n if (!user)\n return;\n const now = Date.now();\n if (user.lastLoginAt) {\n const prev = Date.parse(user.lastLoginAt);\n if (Number.isFinite(prev) && now - prev < LAST_LOGIN_DEBOUNCE_MS$1)\n return;\n }\n user.lastLoginAt = new Date(now).toISOString();\n await writeJsonFile(usersFilePath, file);\n },\n async deleteUser(id) {\n const file = await readJsonFile(usersFilePath, empty$5());\n const before = file.users.length;\n file.users = file.users.filter((u) => u.id !== id);\n if (file.users.length === before)\n throw new ProviderError(`User \"${id}\" not found`, 404);\n await writeJsonFile(usersFilePath, file);\n }\n };\n}\nfunction paginate(items, opts) {\n const limit = Math.min(Math.max(1, opts?.limit ?? DEFAULT_PAGE_LIMIT), MAX_PAGE_LIMIT);\n const offset = opts?.cursor ? parseInt(opts.cursor, 10) || 0 : 0;\n const slice = items.slice(offset, offset + limit);\n const nextOffset = offset + slice.length;\n return {\n items: slice,\n nextCursor: nextOffset < items.length ? String(nextOffset) : void 0\n };\n}\nfunction applyOrder(items, opts, keyFn = (item, field) => item[field]) {\n const field = opts?.orderBy ?? \"createdAt\";\n const dir = opts?.orderDir ?? \"desc\";\n const mul = dir === \"asc\" ? 1 : -1;\n items.sort((a, b) => {\n const av = keyFn(a, field) ?? \"\";\n const bv = keyFn(b, field) ?? \"\";\n if (av < bv)\n return -1 * mul;\n if (av > bv)\n return 1 * mul;\n return 0;\n });\n return items;\n}\nconst SESSION_MAX_AGE_MS = 8 * 60 * 60 * 1e3;\nfunction toAuthUser$1(u) {\n return {\n id: u.id,\n email: u.email,\n createdAt: u.createdAt,\n lastLoginAt: u.lastLoginAt,\n disabled: u.disabled\n };\n}\nclass LocalPasswordAuth {\n users;\n mintToken;\n constructor(users, mintToken) {\n this.users = users;\n this.mintToken = mintToken;\n }\n async verifyLogin(email, password) {\n if (!this.users)\n return { kind: \"failed\", reason: \"invalid_credentials\" };\n const user = await this.users.findByEmail(email);\n if (!user)\n return { kind: \"failed\", reason: \"invalid_credentials\" };\n if (user.disabled)\n return { kind: \"failed\", reason: \"disabled\" };\n if (!user.passwordHash || !await verifyPasswordHash(password, user.passwordHash)) {\n return { kind: \"failed\", reason: \"invalid_credentials\" };\n }\n await this.users.touchLastLogin(user.id).catch(() => {\n });\n const auth = toAuthUser$1(user);\n return { kind: \"success\", user: auth, sessionToken: this.mintToken(auth) };\n }\n async createUserWithPassword(email, password) {\n if (!this.users) {\n throw new ProviderError(\"createUserWithPassword requires a users.json backend (DATA_PATH)\", 500);\n }\n return toAuthUser$1(await this.users.createUser(email, password));\n }\n async registerUser(email, password) {\n if (!this.users)\n return null;\n return toAuthUser$1(await this.users.createUser(email, password));\n }\n}\nclass LocalAuthProvider {\n hmacSecret;\n users;\n name = \"Local\";\n passwordAuth;\n constructor(config) {\n this.hmacSecret = config.hmacSecret;\n if (config.usersFilePath) {\n this.users = createLocalAuthUserStore(config.usersFilePath);\n }\n this.passwordAuth = new LocalPasswordAuth(this.users, (user) => signHmacToken(this.hmacSecret, user.id, SESSION_MAX_AGE_MS));\n }\n static fromEnv(env) {\n const hmacSecret = env.SELVA_HMAC_KEY;\n if (!hmacSecret)\n throw new Error(\"Missing required env var: SELVA_HMAC_KEY\");\n return new LocalAuthProvider({\n hmacSecret,\n usersFilePath: env.DATA_PATH ? path.join(env.DATA_PATH, \"auth-users.json\") : void 0\n });\n }\n /** Verify an HMAC session token and return the live user record. */\n async verifyToken(token) {\n const { valid, userId } = verifyHmacToken(token, this.hmacSecret);\n if (!valid)\n return null;\n if (!this.users)\n return null;\n const u = await this.users.findById(userId);\n if (!u || u.disabled)\n return null;\n await this.users.touchLastLogin(u.id).catch(() => {\n });\n return toAuthUser$1(u);\n }\n async touchLastLogin(id) {\n if (!this.users)\n return;\n await this.users.touchLastLogin(id);\n }\n async getUser(id) {\n if (!this.users)\n return null;\n const u = await this.users.findById(id);\n return u ? toAuthUser$1(u) : null;\n }\n async listUsers(opts) {\n if (!this.users)\n return null;\n const users = await this.users.listUsers();\n return paginate(users.map(toAuthUser$1), opts);\n }\n async deleteUser(id) {\n if (!this.users)\n return \"not_supported\";\n const target = await this.users.findById(id);\n if (!target)\n return \"not_found\";\n try {\n await this.users.deleteUser(id);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n async disableUser(id) {\n if (!this.users)\n return \"not_supported\";\n const target = await this.users.findById(id);\n if (!target)\n return \"not_found\";\n try {\n await this.users.setDisabled(id, true);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n}\nconst EMPTY$1 = { invites: [] };\nclass LocalInviteStore {\n events;\n filePath;\n static fromEnv(env, events = new NoopEventSink()) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalInviteStore(env.DATA_PATH, events);\n }\n constructor(dataPath, events = new NoopEventSink()) {\n this.events = events;\n this.filePath = path.join(dataPath, \"invites.json\");\n }\n async load() {\n return readJsonFile(this.filePath, EMPTY$1);\n }\n async save(file) {\n await writeJsonFile(this.filePath, file);\n }\n async create(ctx, invite) {\n const file = await this.load();\n file.invites.push(invite);\n await this.save(file);\n await this.events.emit({\n type: \"invite.created\",\n inviteId: invite.id,\n orgId: invite.orgId,\n email: invite.email,\n actorId: actorFrom(ctx)\n });\n }\n async getByTokenHash(_ctx, tokenHash) {\n const { invites } = await this.load();\n const invite = invites.find((i) => i.tokenHash === tokenHash);\n if (!invite)\n return null;\n if (invite.acceptedAt)\n return null;\n if (Date.parse(invite.expiresAt) <= Date.now())\n return null;\n return invite;\n }\n async listByOrg(_ctx, orgId, opts) {\n const { invites } = await this.load();\n const filtered = invites.filter((i) => i.orgId === orgId);\n return paginate(applyOrder(filtered, opts), opts);\n }\n async markAccepted(ctx, id, userId) {\n const file = await this.load();\n const invite = file.invites.find((i) => i.id === id);\n if (!invite || invite.acceptedAt)\n return;\n invite.acceptedAt = (/* @__PURE__ */ new Date()).toISOString();\n invite.acceptedByUserId = userId;\n await this.save(file);\n await this.events.emit({\n type: \"invite.accepted\",\n inviteId: invite.id,\n orgId: invite.orgId,\n userId,\n actorId: actorFrom(ctx)\n });\n }\n async revoke(ctx, id) {\n const file = await this.load();\n const target = file.invites.find((i) => i.id === id && !i.acceptedAt);\n if (!target)\n return;\n file.invites = file.invites.filter((i) => i.id !== id || i.acceptedAt);\n await this.save(file);\n await this.events.emit({\n type: \"invite.revoked\",\n inviteId: id,\n orgId: target.orgId,\n actorId: actorFrom(ctx)\n });\n }\n async deleteByOrg(_ctx, orgId) {\n const file = await this.load();\n const before = file.invites.length;\n file.invites = file.invites.filter((i) => i.orgId !== orgId);\n if (file.invites.length === before)\n return;\n await this.save(file);\n }\n}\nconst ALGO = \"aes-256-gcm\";\nconst IV_BYTES = 12;\nconst TAG_BYTES = 16;\nconst PREFIX = \"enc:v1:\";\nfunction isEncryptedSecret(value) {\n return value.startsWith(PREFIX);\n}\nfunction encryptSecret(plaintext, key) {\n if (key.length !== 32) {\n throw new Error(`Secret key must be 32 bytes; got ${key.length}`);\n }\n if (isEncryptedSecret(plaintext)) {\n throw new Error(\"Refusing to encrypt a value that is already encrypted\");\n }\n const iv = randomBytes(IV_BYTES);\n const cipher = createCipheriv(ALGO, key, iv);\n const ciphertext = Buffer.concat([cipher.update(plaintext, \"utf8\"), cipher.final()]);\n const tag = cipher.getAuthTag();\n return PREFIX + Buffer.concat([iv, tag, ciphertext]).toString(\"base64\");\n}\nfunction decryptSecret(envelope, key) {\n if (key.length !== 32) {\n throw new Error(`Secret key must be 32 bytes; got ${key.length}`);\n }\n if (!isEncryptedSecret(envelope)) {\n throw new Error(\"Value is not an encrypted secret envelope\");\n }\n const buf = Buffer.from(envelope.slice(PREFIX.length), \"base64\");\n const iv = buf.subarray(0, IV_BYTES);\n const tag = buf.subarray(IV_BYTES, IV_BYTES + TAG_BYTES);\n const ciphertext = buf.subarray(IV_BYTES + TAG_BYTES);\n const decipher = createDecipheriv(ALGO, key, iv);\n decipher.setAuthTag(tag);\n return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString(\"utf8\");\n}\nfunction decodeSecretKey(raw) {\n if (/^[0-9a-fA-F]{64}$/.test(raw))\n return Buffer.from(raw, \"hex\");\n const buf = Buffer.from(raw, \"base64\");\n if (buf.length === 32)\n return buf;\n throw new Error(`SELVA_AT_REST_KEY must be 32 bytes encoded as 64-char hex or base64. Generate one with: node -e \"console.log(require('crypto').randomBytes(32).toString('hex'))\"`);\n}\nconst EMPTY = { servers: [], orgDefaults: {} };\nclass LocalComputeServerStore {\n configFilePath;\n secretKey;\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n if (!env.SELVA_AT_REST_KEY) {\n throw new Error(`Missing required env var: SELVA_AT_REST_KEY (32-byte hex or base64). Generate one with: node -e \"console.log(require('crypto').randomBytes(32).toString('hex'))\"`);\n }\n return new LocalComputeServerStore(path.join(env.DATA_PATH, \"compute.config.json\"), decodeSecretKey(env.SELVA_AT_REST_KEY));\n }\n constructor(configFilePath, secretKey) {\n this.configFilePath = configFilePath;\n this.secretKey = secretKey;\n }\n async readAll() {\n const raw = await readJsonFile(this.configFilePath, EMPTY);\n return {\n servers: raw.servers ?? [],\n defaultServerId: raw.defaultServerId,\n orgDefaults: raw.orgDefaults ?? {}\n };\n }\n /**\n * Per-row tolerant decrypt. A row whose ciphertext can't be authenticated\n * under the current `SELVA_AT_REST_KEY` is returned with `apiKey: undefined`\n * and a warning logged once. The page that loaded the config keeps\n * rendering; solves against that server will fail later when Rhino.Compute\n * rejects the missing key.\n *\n * Boot-time `verifySecrets()` is the strict counterpart — call that from\n * the app entrypoint to refuse to start when this state is detected.\n *\n * Plaintext-on-disk is still hard-fail. That state is never produced by\n * the store itself (every write goes through `encryptApiKeys`), so seeing\n * it means someone hand-edited the file with a real secret in plaintext —\n * which is a security issue we should surface loudly, not paper over.\n */\n decryptApiKeys(servers) {\n return servers.map((s) => {\n if (!s.apiKey)\n return s;\n if (!isEncryptedSecret(s.apiKey)) {\n throw new Error(`compute.config.json contains an unencrypted apiKey for server \"${s.label}\" (${s.id}). Re-enter the key via /admin/compute so it is stored encrypted.`);\n }\n try {\n return { ...s, apiKey: decryptSecret(s.apiKey, this.secretKey) };\n } catch (cause) {\n console.warn(`[selva] Could not decrypt apiKey for compute server \"${s.label}\" (${s.id}). The stored ciphertext does not match the current SELVA_AT_REST_KEY. This server will be returned without an apiKey; solves against it will fail. Re-enter the key via /admin/compute, or restore the original SELVA_AT_REST_KEY. See docs/Troubleshooting.md.`, cause);\n return { ...s, apiKey: void 0 };\n }\n });\n }\n /**\n * Boot-time integrity check. Reads every server row and attempts to\n * decrypt each encrypted `apiKey`. Returns a structured report — does NOT\n * throw. The caller decides what to do (refuse boot, log + degrade, etc.).\n *\n * Use this from app startup (`hooks.server.ts`) so a key mismatch fails\n * loudly at deploy time instead of as a blank page when a user first hits\n * a route that loads compute config.\n */\n async verifySecrets() {\n const all = await this.readAll();\n const failures = [];\n let plaintextFound = false;\n for (const s of all.servers) {\n if (!s.apiKey)\n continue;\n if (!isEncryptedSecret(s.apiKey)) {\n plaintextFound = true;\n failures.push({\n serverId: s.id,\n serverLabel: s.label,\n reason: \"plaintext_on_disk\"\n });\n continue;\n }\n try {\n decryptSecret(s.apiKey, this.secretKey);\n } catch (cause) {\n failures.push({\n serverId: s.id,\n serverLabel: s.label,\n reason: \"key_mismatch\",\n cause: cause instanceof Error ? cause.message : String(cause)\n });\n }\n }\n return { ok: failures.length === 0, failures, plaintextFound };\n }\n encryptApiKeys(servers) {\n return servers.map((s) => {\n if (!s.apiKey)\n return s;\n if (isEncryptedSecret(s.apiKey))\n return s;\n return { ...s, apiKey: encryptSecret(s.apiKey, this.secretKey) };\n });\n }\n async getConfig(_ctx) {\n const all = await this.readAll();\n return {\n servers: this.decryptApiKeys(all.servers),\n defaultServerId: all.defaultServerId,\n orgDefaults: all.orgDefaults\n };\n }\n async savePlatformServers(_ctx, servers, defaultServerId) {\n const all = await this.readAll();\n const orgRows = all.servers.filter(isOrgServer);\n const platformRows = this.encryptApiKeys(servers.filter(isPlatformServer));\n await writeJsonFile(this.configFilePath, {\n servers: [...platformRows, ...orgRows],\n defaultServerId,\n orgDefaults: all.orgDefaults\n });\n }\n async saveOrgServers(_ctx, orgId, servers, defaultServerId) {\n const all = await this.readAll();\n const platformRows = all.servers.filter(isPlatformServer);\n const otherOrgRows = all.servers.filter((s) => isOrgServer(s) && s.ownerOrgId !== orgId);\n const thisOrgRows = this.encryptApiKeys(servers.filter((_s) => true).map((s) => isOrgServer(s) ? { ...s, ownerOrgId: orgId } : (\n // Coerce — caller passed something with the wrong/missing scope.\n { ...s, scope: \"org\", ownerOrgId: orgId }\n )));\n const orgDefaults = { ...all.orgDefaults ?? {} };\n if (defaultServerId === null) {\n delete orgDefaults[orgId];\n } else if (typeof defaultServerId === \"string\") {\n orgDefaults[orgId] = defaultServerId;\n }\n await writeJsonFile(this.configFilePath, {\n servers: [...platformRows, ...otherOrgRows, ...thisOrgRows],\n defaultServerId: all.defaultServerId,\n orgDefaults\n });\n }\n async setOrgDefault(_ctx, orgId, serverId) {\n const all = await this.readAll();\n const orgDefaults = { ...all.orgDefaults ?? {} };\n if (serverId === null) {\n delete orgDefaults[orgId];\n } else {\n orgDefaults[orgId] = serverId;\n }\n await writeJsonFile(this.configFilePath, { ...all, orgDefaults });\n }\n async deleteByOrg(_ctx, orgId) {\n const all = await this.readAll();\n const remaining = all.servers.filter((s) => !(isOrgServer(s) && s.ownerOrgId === orgId));\n const cleaned = remaining.map((s) => {\n if (!isPlatformServer(s))\n return s;\n if (s.sharedWith === \"all\")\n return s;\n if (!s.sharedWith.includes(orgId))\n return s;\n const next = {\n ...s,\n sharedWith: s.sharedWith.filter((id) => id !== orgId)\n };\n return next;\n });\n const orgDefaults = { ...all.orgDefaults ?? {} };\n const hadDefault = orgId in orgDefaults;\n delete orgDefaults[orgId];\n const changed = cleaned.length !== all.servers.length || hadDefault || cleaned.some((c, i) => c !== all.servers[i]);\n if (!changed)\n return;\n await writeJsonFile(this.configFilePath, {\n servers: cleaned,\n defaultServerId: all.defaultServerId,\n orgDefaults\n });\n }\n}\nconst empty$4 = () => ({ grants: [] });\nclass LocalPlatformProjectGrantStore {\n filePath;\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalPlatformProjectGrantStore(path.join(env.DATA_PATH, \"platform-project-grants.json\"));\n }\n constructor(filePath) {\n this.filePath = filePath;\n }\n async read() {\n return readJsonFile(this.filePath, empty$4());\n }\n async write(data) {\n await writeJsonFile(this.filePath, data);\n }\n async listByProject(_ctx, projectId) {\n const { grants } = await this.read();\n return grants.filter((g) => g.projectId === projectId);\n }\n async create(_ctx, grant) {\n const data = await this.read();\n if (data.grants.some((g) => g.id === grant.id)) {\n throw new ProviderError(`Grant '${grant.id}' already exists`, 409);\n }\n const duplicate = data.grants.find((g) => g.projectId === grant.projectId && g.granteeType === grant.granteeType && g.granteeId === grant.granteeId);\n if (duplicate) {\n throw new ProviderError(`A grant for this ${grant.granteeType} already exists on this project`, 409);\n }\n data.grants.push(grant);\n await this.write(data);\n }\n async delete(_ctx, id) {\n const data = await this.read();\n const idx = data.grants.findIndex((g) => g.id === id);\n if (idx === -1)\n throw new ProviderError(`Grant '${id}' not found`, 404);\n data.grants.splice(idx, 1);\n await this.write(data);\n }\n async deleteByProject(_ctx, projectId) {\n const data = await this.read();\n const before = data.grants.length;\n data.grants = data.grants.filter((g) => g.projectId !== projectId);\n if (data.grants.length !== before)\n await this.write(data);\n }\n async deleteByGranteeOrg(_ctx, orgId) {\n const data = await this.read();\n const before = data.grants.length;\n data.grants = data.grants.filter((g) => !(g.granteeType === \"org\" && g.granteeId === orgId));\n if (data.grants.length !== before)\n await this.write(data);\n }\n}\nfunction isLive$1(row) {\n return row.deletedAt == null;\n}\nclass LocalOrgStoreLoader {\n storePath;\n store = null;\n loading = null;\n constructor(dataPath) {\n this.storePath = path.join(dataPath, \"local-org.json\");\n }\n async get() {\n if (this.store)\n return this.store;\n this.loading ??= readJsonFile(this.storePath, {\n orgs: [],\n projects: [],\n orgMembers: [],\n projectMembers: []\n }).then((data) => {\n this.store = data;\n this.loading = null;\n return data;\n });\n return this.loading;\n }\n async write(store) {\n this.store = store;\n await writeJsonFile(this.storePath, store);\n }\n}\nclass LocalOrgStore {\n loader;\n events;\n invites;\n computeServer;\n grants;\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalOrgStore({\n loader: new LocalOrgStoreLoader(env.DATA_PATH),\n invites: LocalInviteStore.fromEnv(env),\n computeServer: LocalComputeServerStore.fromEnv(env),\n grants: LocalPlatformProjectGrantStore.fromEnv(env)\n });\n }\n constructor(opts) {\n this.loader = opts.loader;\n this.invites = opts.invites;\n this.computeServer = opts.computeServer;\n this.grants = opts.grants;\n this.events = opts.events ?? new NoopEventSink();\n }\n async listOrgs(_ctx, opts) {\n const { orgs } = await this.loader.get();\n return paginate(applyOrder(orgs.filter(isLive$1), opts), opts);\n }\n async getOrg(_ctx, id) {\n const { orgs } = await this.loader.get();\n const o = orgs.find((o2) => o2.id === id);\n return o && isLive$1(o) ? o : null;\n }\n async getOrgBySlug(_ctx, slug) {\n const { orgs } = await this.loader.get();\n const o = orgs.find((o2) => o2.slug === slug);\n return o && isLive$1(o) ? o : null;\n }\n async createOrg(ctx, org) {\n const store = await this.loader.get();\n if (store.orgs.some((o) => o.id === org.id && isLive$1(o))) {\n throw new ProviderError(`Org '${org.id}' already exists`, 409);\n }\n if (store.orgs.some((o) => o.slug === org.slug && isLive$1(o))) {\n throw new ProviderError(`Org slug '${org.slug}' already in use`, 409);\n }\n store.orgs.push({ ...org, deletedAt: null });\n const now = (/* @__PURE__ */ new Date()).toISOString();\n store.orgMembers.push({\n orgId: org.id,\n userId: org.ownerId,\n role: \"owner\",\n permissions: [...DEFAULT_ORG_PERMISSIONS.owner],\n joinedAt: now,\n ...auditUpdate(ctx, org.ownerId),\n deletedAt: null\n });\n await this.loader.write(store);\n await this.events.emit({ type: \"org.created\", orgId: org.id, actorId: actorFrom(ctx) });\n }\n async updateOrg(ctx, id, patch) {\n const store = await this.loader.get();\n const idx = store.orgs.findIndex((o) => o.id === id && isLive$1(o));\n if (idx === -1)\n throw new ProviderError(`Org '${id}' not found`, 404);\n if (patch.slug && patch.slug !== store.orgs[idx].slug) {\n if (store.orgs.some((o) => o.id !== id && o.slug === patch.slug && isLive$1(o))) {\n throw new ProviderError(`Org slug '${patch.slug}' already in use`, 409);\n }\n }\n store.orgs[idx] = {\n ...store.orgs[idx],\n ...patch,\n ...auditUpdate(ctx, store.orgs[idx].updatedBy ?? store.orgs[idx].ownerId)\n };\n await this.loader.write(store);\n }\n async deleteOrg(ctx, id) {\n const store = await this.loader.get();\n const idx = store.orgs.findIndex((o) => o.id === id && isLive$1(o));\n if (idx === -1)\n throw new ProviderError(`Org '${id}' not found`, 404);\n const stamp = auditSoftDelete(ctx, store.orgs[idx].updatedBy ?? store.orgs[idx].ownerId);\n store.orgs[idx] = { ...store.orgs[idx], ...stamp };\n store.orgMembers = store.orgMembers.map((m) => m.orgId === id && isLive$1(m) ? { ...m, ...stamp } : m);\n const orgProjectIds = new Set(store.projects.filter((p) => p.orgId === id && isLive$1(p)).map((p) => p.id));\n store.projects = store.projects.map((p) => p.orgId === id && isLive$1(p) ? { ...p, ...stamp } : p);\n store.projectMembers = store.projectMembers.map((m) => orgProjectIds.has(m.projectId) && isLive$1(m) ? { ...m, ...stamp } : m);\n await this.loader.write(store);\n await this.invites.deleteByOrg(ctx, id);\n await this.computeServer.deleteByOrg(ctx, id);\n for (const projectId of orgProjectIds) {\n await this.grants.deleteByProject(ctx, projectId);\n }\n await this.grants.deleteByGranteeOrg(ctx, id);\n await this.events.emit({ type: \"org.deleted\", orgId: id, actorId: actorFrom(ctx) });\n }\n async listOrgMembers(_ctx, orgId, opts) {\n const { orgMembers } = await this.loader.get();\n return paginate(orgMembers.filter((m) => m.orgId === orgId && isLive$1(m)), opts);\n }\n async getOrgMember(_ctx, orgId, userId) {\n const { orgMembers } = await this.loader.get();\n const m = orgMembers.find((m2) => m2.orgId === orgId && m2.userId === userId);\n return m && isLive$1(m) ? m : null;\n }\n async findUserMembership(_ctx, userId) {\n const store = await this.loader.get();\n const member = store.orgMembers.find((m) => m.userId === userId && isLive$1(m));\n if (!member)\n return null;\n const org = store.orgs.find((o) => o.id === member.orgId);\n if (!org || !isLive$1(org))\n return null;\n return { org, member };\n }\n async addOrgMember(ctx, member) {\n const store = await this.loader.get();\n const existing = store.orgMembers.find((m) => m.orgId === member.orgId && m.userId === member.userId);\n if (existing) {\n Object.assign(existing, member, {\n ...auditUpdate(ctx, member.userId),\n deletedAt: null\n });\n } else {\n store.orgMembers.push({ ...member, deletedAt: null });\n }\n await this.loader.write(store);\n await this.events.emit({\n type: \"org_member.added\",\n orgId: member.orgId,\n userId: member.userId,\n actorId: actorFrom(ctx)\n });\n }\n async updateOrgMemberRole(ctx, orgId, userId, role) {\n const store = await this.loader.get();\n const m = store.orgMembers.find((m2) => m2.orgId === orgId && m2.userId === userId && isLive$1(m2));\n if (!m)\n throw new ProviderError(`Org member '${userId}' not found`, 404);\n m.role = role;\n m.permissions = [...DEFAULT_ORG_PERMISSIONS[role]];\n Object.assign(m, auditUpdate(ctx, m.updatedBy));\n await this.loader.write(store);\n await this.events.emit({\n type: \"org_member.role_changed\",\n orgId,\n userId,\n role,\n actorId: actorFrom(ctx)\n });\n }\n async updateOrgMemberPermissions(ctx, orgId, userId, permissions) {\n const store = await this.loader.get();\n const m = store.orgMembers.find((m2) => m2.orgId === orgId && m2.userId === userId && isLive$1(m2));\n if (!m)\n throw new ProviderError(`Org member '${userId}' not found`, 404);\n m.permissions = [...permissions];\n Object.assign(m, auditUpdate(ctx, m.updatedBy));\n await this.loader.write(store);\n await this.events.emit({\n type: \"org_member.permissions_changed\",\n orgId,\n userId,\n permissions: [...permissions],\n actorId: actorFrom(ctx)\n });\n }\n async removeOrgMember(ctx, orgId, userId) {\n const store = await this.loader.get();\n const m = store.orgMembers.find((m2) => m2.orgId === orgId && m2.userId === userId && isLive$1(m2));\n if (!m)\n return;\n const stamp = auditSoftDelete(ctx, m.updatedBy);\n Object.assign(m, stamp);\n const projectIdsInOrg = new Set(store.projects.filter((p) => p.orgId === orgId).map((p) => p.id));\n store.projectMembers = store.projectMembers.map((pm) => pm.userId === userId && projectIdsInOrg.has(pm.projectId) && isLive$1(pm) ? { ...pm, ...stamp } : pm);\n await this.loader.write(store);\n await this.events.emit({\n type: \"org_member.removed\",\n orgId,\n userId,\n actorId: actorFrom(ctx)\n });\n }\n}\nfunction isLive(row) {\n return row.deletedAt == null;\n}\nclass LocalProjectStore {\n loader;\n events;\n grants;\n constructor(opts) {\n this.loader = opts.loader;\n this.grants = opts.grants;\n this.events = opts.events ?? new NoopEventSink();\n }\n async listProjects(_ctx, orgId, opts) {\n const { projects } = await this.loader.get();\n return paginate(applyOrder(projects.filter((p) => p.orgId === orgId && isLive(p)), opts), opts);\n }\n async getProject(_ctx, id) {\n const { projects } = await this.loader.get();\n const p = projects.find((p2) => p2.id === id);\n return p && isLive(p) ? p : null;\n }\n async getProjectBySlug(_ctx, orgId, slug) {\n const { projects } = await this.loader.get();\n const p = projects.find((p2) => p2.orgId === orgId && p2.slug === slug);\n return p && isLive(p) ? p : null;\n }\n async createProject(ctx, project) {\n const store = await this.loader.get();\n if (!store.orgs.some((o) => o.id === project.orgId && isLive(o))) {\n throw new ProviderError(`Org '${project.orgId}' not found`, 404);\n }\n if (store.projects.some((p) => p.id === project.id && isLive(p))) {\n throw new ProviderError(`Project '${project.id}' already exists`, 409);\n }\n const nameKey = project.name.toLowerCase();\n if (store.projects.some((p) => p.orgId === project.orgId && isLive(p) && p.name.toLowerCase() === nameKey)) {\n throw new ProviderError(\"projects_org_name_unique: project name already in use\", 409);\n }\n if (store.projects.some((p) => p.orgId === project.orgId && isLive(p) && p.slug === project.slug)) {\n throw new ProviderError(\"projects_org_id_slug_key: project slug already in use\", 409);\n }\n store.projects.push({ ...project, deletedAt: null });\n store.projectMembers.push({\n projectId: project.id,\n userId: project.ownerId,\n role: \"owner\",\n joinedAt: project.createdAt,\n updatedAt: project.createdAt,\n updatedBy: project.ownerId,\n deletedAt: null\n });\n await this.loader.write(store);\n await this.events.emit({\n type: \"project.created\",\n projectId: project.id,\n orgId: project.orgId,\n actorId: actorFrom(ctx)\n });\n }\n async updateProject(ctx, id, patch) {\n const store = await this.loader.get();\n const idx = store.projects.findIndex((p) => p.id === id && isLive(p));\n if (idx === -1)\n throw new ProviderError(`Project '${id}' not found`, 404);\n const current = store.projects[idx];\n if (patch.name && patch.name.toLowerCase() !== current.name.toLowerCase()) {\n const nameKey = patch.name.toLowerCase();\n if (store.projects.some((p) => p.orgId === current.orgId && p.id !== id && isLive(p) && p.name.toLowerCase() === nameKey)) {\n throw new ProviderError(\"projects_org_name_unique: project name already in use\", 409);\n }\n }\n if (patch.slug && patch.slug !== current.slug) {\n if (store.projects.some((p) => p.orgId === current.orgId && p.slug === patch.slug && p.id !== id && isLive(p))) {\n throw new ProviderError(\"projects_org_id_slug_key: project slug already in use\", 409);\n }\n }\n store.projects[idx] = {\n ...current,\n ...patch,\n ...auditUpdate(ctx, current.updatedBy ?? current.ownerId)\n };\n await this.loader.write(store);\n }\n async deleteProject(ctx, id) {\n const store = await this.loader.get();\n const idx = store.projects.findIndex((p) => p.id === id && isLive(p));\n if (idx === -1)\n throw new ProviderError(`Project '${id}' not found`, 404);\n const stamp = auditSoftDelete(ctx, store.projects[idx].updatedBy ?? store.projects[idx].ownerId);\n store.projects[idx] = { ...store.projects[idx], ...stamp };\n store.projectMembers = store.projectMembers.map((m) => m.projectId === id && isLive(m) ? { ...m, ...stamp } : m);\n await this.loader.write(store);\n await this.grants.deleteByProject(ctx, id);\n await this.events.emit({ type: \"project.deleted\", projectId: id, actorId: actorFrom(ctx) });\n }\n async listProjectMembers(_ctx, projectId, opts) {\n const { projectMembers } = await this.loader.get();\n return paginate(projectMembers.filter((m) => m.projectId === projectId && isLive(m)), opts);\n }\n async getProjectMember(_ctx, projectId, userId) {\n const { projectMembers } = await this.loader.get();\n const m = projectMembers.find((m2) => m2.projectId === projectId && m2.userId === userId);\n return m && isLive(m) ? m : null;\n }\n async addProjectMember(ctx, member) {\n const store = await this.loader.get();\n const existing = store.projectMembers.find((m) => m.projectId === member.projectId && m.userId === member.userId);\n if (existing) {\n Object.assign(existing, member, {\n ...auditUpdate(ctx, member.userId),\n deletedAt: null\n });\n } else {\n const stamp = auditUpdate(ctx, member.userId);\n store.projectMembers.push({\n ...member,\n updatedAt: member.updatedAt ?? stamp.updatedAt,\n updatedBy: member.updatedBy ?? stamp.updatedBy,\n deletedAt: null\n });\n }\n await this.loader.write(store);\n await this.events.emit({\n type: \"project_member.added\",\n projectId: member.projectId,\n userId: member.userId,\n actorId: actorFrom(ctx)\n });\n }\n async updateProjectMemberRole(ctx, projectId, userId, role) {\n const store = await this.loader.get();\n const m = store.projectMembers.find((m2) => m2.projectId === projectId && m2.userId === userId && isLive(m2));\n if (!m)\n throw new ProviderError(`Project member '${userId}' not found`, 404);\n m.role = role;\n Object.assign(m, auditUpdate(ctx, m.updatedBy));\n await this.loader.write(store);\n await this.events.emit({\n type: \"project_member.role_changed\",\n projectId,\n userId,\n role,\n actorId: actorFrom(ctx)\n });\n }\n async removeProjectMember(ctx, projectId, userId) {\n const store = await this.loader.get();\n const m = store.projectMembers.find((m2) => m2.projectId === projectId && m2.userId === userId && isLive(m2));\n if (!m)\n return;\n Object.assign(m, auditSoftDelete(ctx, m.updatedBy));\n await this.loader.write(store);\n await this.events.emit({\n type: \"project_member.removed\",\n projectId,\n userId,\n actorId: actorFrom(ctx)\n });\n }\n}\nconst empty$3 = () => ({ definitions: {}, definitionVersions: {} });\nclass LocalDefinitionStore {\n configPath;\n events;\n projectProvider;\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalDefinitionStore(env.DATA_PATH);\n }\n constructor(definitionsPath, projectProvider, events = new NoopEventSink()) {\n this.configPath = path.join(definitionsPath, \"definitions-config.json\");\n this.projectProvider = projectProvider;\n this.events = events;\n }\n setProjectProvider(projectProvider) {\n this.projectProvider = projectProvider;\n }\n async readConfig() {\n return readJsonFile(this.configPath, empty$3());\n }\n live(record) {\n return Boolean(record && record.deletedAt == null);\n }\n async writeConfig(config) {\n await writeJsonFile(this.configPath, config);\n }\n sortedRecords(records, opts) {\n const defaulted = {\n ...opts,\n orderBy: opts?.orderBy ?? \"name\",\n orderDir: opts?.orderDir ?? \"asc\"\n };\n return applyOrder([...records], defaulted, (r, field) => {\n if (field === \"name\")\n return r.displayName.toLowerCase();\n if (field === \"solveCount\")\n return r.solveCount ?? 0;\n return r[field];\n });\n }\n visibleRecords(records, opts) {\n const filtered = records.filter((r) => r?.displayName && this.live(r));\n if (opts?.statuses?.length) {\n const allowed = new Set(opts.statuses);\n return filtered.filter((r) => allowed.has(r.status));\n }\n return filtered.filter((r) => {\n if (r.status === \"pending\" && !opts?.includePending)\n return false;\n if (r.status === \"archived\" && !opts?.includeArchived)\n return false;\n return true;\n });\n }\n async list(_ctx, opts) {\n const config = await this.readConfig();\n const records = this.visibleRecords(Object.values(config.definitions), opts);\n return paginate(this.sortedRecords(records, opts), opts);\n }\n async listByProject(_ctx, projectId, opts) {\n const config = await this.readConfig();\n const records = this.visibleRecords(Object.values(config.definitions).filter((r) => r?.projectId === projectId), opts);\n return paginate(this.sortedRecords(records, opts), opts);\n }\n async listPublic(ctx, opts) {\n if (!this.projectProvider) {\n return this.list(ctx, opts);\n }\n const config = await this.readConfig();\n const records = Object.values(config.definitions).filter((r) => Boolean(r?.displayName && this.live(r)));\n const projectIds = Array.from(new Set(records.map((r) => r.projectId)));\n const projects = await Promise.all(projectIds.map((id) => this.projectProvider.getProject(ctx, id)));\n const publicProjectIds = new Set(projects.filter((p) => p !== null && p.visibility === \"public\" && (!opts?.orgId || p.orgId === opts.orgId)).map((p) => p.id));\n const publicRecords = this.visibleRecords(records.filter((r) => publicProjectIds.has(r.projectId)), opts);\n return paginate(this.sortedRecords(publicRecords, opts), opts);\n }\n async get(_ctx, guid) {\n const config = await this.readConfig();\n const r = config.definitions[guid];\n return this.live(r) ? r : null;\n }\n async create(ctx, record) {\n const config = await this.readConfig();\n const actor = ctx.userId || record.ownerId;\n config.definitions[record.guid] = {\n ...record,\n createdBy: record.createdBy || actor,\n updatedBy: record.updatedBy || actor,\n liveVersionId: record.liveVersionId ?? null,\n draftVersionId: record.draftVersionId ?? null,\n deletedAt: null\n };\n await this.writeConfig(config);\n await this.events.emit({\n type: \"definition.created\",\n definitionId: record.guid,\n projectId: record.projectId,\n actorId: actorFrom(ctx)\n });\n }\n async update(ctx, guid, patch) {\n const config = await this.readConfig();\n const existing = config.definitions[guid];\n if (!this.live(existing))\n throw new ProviderError(`Definition '${guid}' not found`, 404);\n const clearable = (v) => v === null ? void 0 : v;\n config.definitions[guid] = {\n ...existing,\n ...patch.displayName !== void 0 && { displayName: patch.displayName },\n ...patch.description !== void 0 && {\n description: clearable(patch.description)\n },\n ...patch.category !== void 0 && {\n category: clearable(patch.category)\n },\n ...patch.tags !== void 0 && { tags: clearable(patch.tags) },\n ...patch.coverImage !== void 0 && {\n coverImage: clearable(patch.coverImage)\n },\n ...patch.projectId !== void 0 && { projectId: patch.projectId },\n ...patch.computeServerId !== void 0 && {\n computeServerId: clearable(patch.computeServerId)\n },\n ...patch.status !== void 0 && { status: patch.status },\n ...patch.ownerId !== void 0 && { ownerId: patch.ownerId },\n ...auditUpdate(ctx, existing.updatedBy ?? existing.ownerId)\n };\n await this.writeConfig(config);\n }\n async delete(ctx, guid) {\n const config = await this.readConfig();\n const existing = config.definitions[guid];\n if (!this.live(existing))\n return;\n Object.assign(existing, auditSoftDelete(ctx, existing.updatedBy ?? existing.ownerId));\n await this.writeConfig(config);\n await this.events.emit({\n type: \"definition.deleted\",\n definitionId: guid,\n actorId: actorFrom(ctx)\n });\n }\n async incrementSolveCount(_ctx, guid) {\n const config = await this.readConfig();\n const existing = config.definitions[guid];\n if (!this.live(existing))\n return;\n existing.solveCount = (existing.solveCount ?? 0) + 1;\n existing.updatedAt = (/* @__PURE__ */ new Date()).toISOString();\n await this.writeConfig(config);\n }\n // ============================================================================\n // Versions (spec §6)\n // ============================================================================\n async createVersion(ctx, version) {\n const config = await this.readConfig();\n const parent = config.definitions[version.definitionId];\n if (!this.live(parent)) {\n throw new ProviderError(`Definition '${version.definitionId}' not found`, 404);\n }\n if (config.definitionVersions[version.id]) {\n throw new ProviderError(`Version '${version.id}' already exists`, 409);\n }\n config.definitionVersions[version.id] = { ...version };\n await this.writeConfig(config);\n await this.events.emit({\n type: \"definition_version.created\",\n versionId: version.id,\n definitionId: version.definitionId,\n actorId: actorFrom(ctx)\n });\n }\n async listVersions(_ctx, definitionId, opts) {\n const config = await this.readConfig();\n const parent = config.definitions[definitionId];\n if (!this.live(parent))\n return paginate([], opts);\n const rows = Object.values(config.definitionVersions).filter((v) => v.definitionId === definitionId).sort((a, b) => b.versionNumber - a.versionNumber);\n return paginate(rows, opts);\n }\n async getVersion(_ctx, versionId) {\n const config = await this.readConfig();\n return config.definitionVersions[versionId] ?? null;\n }\n async setVersionSchema(_ctx, versionId, schema) {\n const config = await this.readConfig();\n const version = config.definitionVersions[versionId];\n if (!version)\n return;\n version.schema = schema;\n version.schemaExtractedAt = (/* @__PURE__ */ new Date()).toISOString();\n await this.writeConfig(config);\n }\n async deleteVersion(ctx, versionId) {\n const config = await this.readConfig();\n const version = config.definitionVersions[versionId];\n if (!version)\n return;\n const parent = config.definitions[version.definitionId];\n if (parent && (parent.liveVersionId === versionId || parent.draftVersionId === versionId)) {\n throw new ProviderError(`Version '${versionId}' is referenced by liveVersionId or draftVersionId`, 409);\n }\n delete config.definitionVersions[versionId];\n await this.writeConfig(config);\n await this.events.emit({\n type: \"definition_version.deleted\",\n versionId,\n actorId: actorFrom(ctx)\n });\n }\n async setLiveVersion(ctx, definitionId, versionId) {\n await this.repoint(\"live\", ctx, definitionId, versionId);\n }\n async setDraftVersion(ctx, definitionId, versionId) {\n await this.repoint(\"draft\", ctx, definitionId, versionId);\n }\n async attachInitialVersion(ctx, definitionId, versionId) {\n const config = await this.readConfig();\n const record = config.definitions[definitionId];\n if (!this.live(record))\n throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n const version = config.definitionVersions[versionId];\n if (!version || version.definitionId !== definitionId) {\n throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n }\n record.liveVersionId = versionId;\n record.draftVersionId = versionId;\n record.status = \"draft\";\n Object.assign(record, auditUpdate(ctx, record.updatedBy ?? record.ownerId));\n await this.writeConfig(config);\n }\n async repoint(channel, ctx, definitionId, versionId) {\n const config = await this.readConfig();\n const record = config.definitions[definitionId];\n if (!this.live(record))\n throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n const version = config.definitionVersions[versionId];\n if (!version || version.definitionId !== definitionId) {\n throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n }\n if (channel === \"live\")\n record.liveVersionId = versionId;\n else\n record.draftVersionId = versionId;\n Object.assign(record, auditUpdate(ctx, record.updatedBy ?? record.ownerId));\n await this.writeConfig(config);\n if (channel === \"live\") {\n await this.events.emit({\n type: \"definition.published\",\n definitionId,\n versionId,\n actorId: actorFrom(ctx)\n });\n }\n }\n}\nconst empty$2 = () => ({ links: {} });\nclass LocalShareLinkStore {\n definitionProvider;\n events;\n configFilePath;\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalShareLinkStore({\n filePath: path.join(env.DATA_PATH, \"share-links.json\")\n });\n }\n constructor(opts) {\n this.configFilePath = opts.filePath;\n this.events = opts.events ?? new NoopEventSink();\n }\n /**\n * Wire the definition store so token resolution can check the parent\n * definition's `deletedAt` (Permissions.md §7 cascade contract). Mirrors\n * Supabase, which performs the equivalent JOIN. Optional: when unset, the\n * store falls back to the local-only revoke check; the route layer in\n * the selva app does the parent lookup as a safety net either way.\n */\n setDefinitionProvider(definitions) {\n this.definitionProvider = definitions;\n }\n async readAll() {\n return readJsonFile(this.configFilePath, empty$2());\n }\n async writeAll(data) {\n await writeJsonFile(this.configFilePath, data);\n }\n isLive(l) {\n return Boolean(l && l.revokedAt == null);\n }\n async create(ctx, link) {\n const all = await this.readAll();\n if (all.links[link.id]) {\n throw new ProviderError(`Share link '${link.id}' already exists`, 409);\n }\n all.links[link.id] = { ...link, revokedAt: null };\n await this.writeAll(all);\n await this.events.emit({\n type: \"share_link.minted\",\n linkId: link.id,\n definitionId: link.definitionId,\n actorId: actorFrom(ctx)\n });\n }\n async listByDefinition(_ctx, definitionId, opts) {\n const all = await this.readAll();\n const rows = Object.values(all.links).filter((l) => l.definitionId === definitionId && this.isLive(l)).sort((a, b) => b.createdAt.localeCompare(a.createdAt));\n return paginate(rows, opts);\n }\n async getById(_ctx, id) {\n const all = await this.readAll();\n return all.links[id] ?? null;\n }\n async getByTokenHash(_ctx, tokenHash) {\n const all = await this.readAll();\n const found = Object.values(all.links).find((l) => l.tokenHash === tokenHash);\n if (!this.isLive(found))\n return null;\n if (this.definitionProvider) {\n const parent = await this.definitionProvider.get(SYSTEM_CONTEXT, found.definitionId);\n if (!parent)\n return null;\n }\n return found;\n }\n async revoke(ctx, id) {\n const all = await this.readAll();\n const l = all.links[id];\n if (!l || !this.isLive(l))\n return;\n l.revokedAt = (/* @__PURE__ */ new Date()).toISOString();\n await this.writeAll(all);\n await this.events.emit({ type: \"share_link.revoked\", linkId: id, actorId: actorFrom(ctx) });\n }\n async tryIncrementSolveCount(_ctx, id) {\n const all = await this.readAll();\n const l = all.links[id];\n if (!l || !this.isLive(l))\n return null;\n if (l.maxSolves != null && l.solveCount >= l.maxSolves)\n return null;\n l.solveCount += 1;\n await this.writeAll(all);\n return l.solveCount;\n }\n}\nconst MAX_RECENT_RUNS$1 = 20;\nconst empty$1 = () => ({ users: [] });\nfunction emptyRow(userId) {\n return {\n userId,\n platformPermissions: [],\n starredDefinitions: [],\n recentRuns: []\n };\n}\nfunction createLocalUserDataStore(filePath) {\n async function findOrThrow(userId) {\n const file = await readJsonFile(filePath, empty$1());\n const row = file.users.find((u) => u.userId === userId);\n if (!row)\n throw new ProviderError(`User-data row \"${userId}\" not found`, 404);\n return { file, row };\n }\n return {\n async ensure(userId) {\n const file = await readJsonFile(filePath, empty$1());\n if (file.users.some((u) => u.userId === userId))\n return;\n file.users.push(emptyRow(userId));\n await writeJsonFile(filePath, file);\n },\n async findById(userId) {\n const { users } = await readJsonFile(filePath, empty$1());\n return users.find((u) => u.userId === userId) ?? null;\n },\n async listAll() {\n const { users } = await readJsonFile(filePath, empty$1());\n return users;\n },\n async updatePermissions(userId, permissions) {\n const { file, row } = await findOrThrow(userId);\n row.platformPermissions = permissions;\n await writeJsonFile(filePath, file);\n },\n async updateDisplayName(userId, displayName) {\n const { file, row } = await findOrThrow(userId);\n if (displayName === void 0) {\n delete row.displayName;\n } else {\n row.displayName = displayName;\n }\n await writeJsonFile(filePath, file);\n },\n async starDefinition(userId, definitionId) {\n const { file, row } = await findOrThrow(userId);\n if (!row.starredDefinitions.includes(definitionId)) {\n row.starredDefinitions.push(definitionId);\n await writeJsonFile(filePath, file);\n }\n },\n async unstarDefinition(userId, definitionId) {\n const { file, row } = await findOrThrow(userId);\n row.starredDefinitions = row.starredDefinitions.filter((d) => d !== definitionId);\n await writeJsonFile(filePath, file);\n },\n async recordRun(userId, run) {\n const { file, row } = await findOrThrow(userId);\n row.recentRuns = [\n run,\n ...row.recentRuns.filter((r) => r.definitionId !== run.definitionId)\n ].slice(0, MAX_RECENT_RUNS$1);\n await writeJsonFile(filePath, file);\n },\n async deleteUser(userId) {\n const file = await readJsonFile(filePath, empty$1());\n const before = file.users.length;\n file.users = file.users.filter((u) => u.userId !== userId);\n if (file.users.length === before) {\n throw new ProviderError(`User-data row \"${userId}\" not found`, 404);\n }\n await writeJsonFile(filePath, file);\n }\n };\n}\nfunction toProfile(u) {\n return {\n userId: u.userId,\n displayName: u.displayName,\n starredDefinitions: u.starredDefinitions ?? [],\n recentRuns: u.recentRuns ?? []\n };\n}\nclass LocalUserProfileProvider {\n data;\n constructor(userDataFilePath) {\n this.data = createLocalUserDataStore(userDataFilePath);\n }\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalUserProfileProvider(path.join(env.DATA_PATH, \"user-data.json\"));\n }\n async getProfile(ctx, userId) {\n assertCanAccess$1(ctx, userId);\n const u = await this.data.findById(userId);\n return u ? toProfile(u) : null;\n }\n async getProfiles(_ctx, userIds) {\n const all = await this.data.listAll();\n const wanted = new Set(userIds);\n return all.filter((u) => wanted.has(u.userId)).map(toProfile);\n }\n async updateProfile(ctx, userId, patch) {\n assertCanAccess$1(ctx, userId);\n try {\n if (patch.displayName !== void 0) {\n await this.data.updateDisplayName(userId, patch.displayName);\n }\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n async starDefinition(ctx, userId, definitionId) {\n assertCanAccess$1(ctx, userId);\n try {\n await this.data.starDefinition(userId, definitionId);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n async unstarDefinition(ctx, userId, definitionId) {\n assertCanAccess$1(ctx, userId);\n try {\n await this.data.unstarDefinition(userId, definitionId);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n async recordRun(ctx, userId, run) {\n assertCanAccess$1(ctx, userId);\n try {\n await this.data.recordRun(userId, run);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n}\nfunction assertCanAccess$1(ctx, userId) {\n if (ctx.system)\n return;\n if (ctx.userId === userId)\n return;\n if (hasPermission(ctx, \"instance_admin\"))\n return;\n throw new ProviderError(\"Forbidden: cannot access another user’s profile\", 403);\n}\nclass LocalPlatformPermissionStore {\n data;\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalPlatformPermissionStore(path.join(env.DATA_PATH, \"user-data.json\"));\n }\n constructor(userDataFilePath) {\n this.data = createLocalUserDataStore(userDataFilePath);\n }\n async getFor(ctx, userId) {\n assertCanRead$1(ctx, userId);\n const row = await this.data.findById(userId);\n return row?.platformPermissions ?? [];\n }\n async getForBatch(ctx, userIds) {\n assertCanReadBatch(ctx);\n const all = await this.data.listAll();\n const wanted = new Set(userIds);\n const out = /* @__PURE__ */ new Map();\n for (const u of all) {\n if (wanted.has(u.userId))\n out.set(u.userId, u.platformPermissions ?? []);\n }\n return out;\n }\n async set(ctx, userId, permissions) {\n assertAdmin$1(ctx);\n const target = await this.data.findById(userId);\n if (!target)\n return \"not_found\";\n const wasAdmin = target.platformPermissions.includes(\"instance_admin\");\n const willBeAdmin = permissions.includes(\"instance_admin\");\n if (wasAdmin && !willBeAdmin) {\n const others = await this.countOtherAdmins(userId);\n if (others === 0)\n return \"last_admin\";\n }\n try {\n await this.data.updatePermissions(userId, [...permissions]);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n async hasInstanceAdmin(_ctx) {\n const all = await this.data.listAll();\n return all.some((u) => u.platformPermissions.includes(\"instance_admin\"));\n }\n async countInstanceAdminsExcluding(_ctx, excludeUserId) {\n return this.countOtherAdmins(excludeUserId);\n }\n async countOtherAdmins(excludeUserId) {\n const all = await this.data.listAll();\n return all.filter((u) => u.userId !== excludeUserId && u.platformPermissions.includes(\"instance_admin\")).length;\n }\n}\nfunction assertCanRead$1(ctx, userId) {\n if (ctx.system)\n return;\n if (ctx.userId === userId)\n return;\n if (hasPermission(ctx, \"instance_admin\"))\n return;\n throw new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin$1(ctx) {\n if (ctx.system)\n return;\n if (hasPermission(ctx, \"instance_admin\"))\n return;\n throw new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction assertCanReadBatch(ctx) {\n if (ctx.system)\n return;\n if (hasPermission(ctx, \"instance_admin\"))\n return;\n if (hasPermission(ctx, \"manage_instance_users\"))\n return;\n throw new ProviderError(\"Forbidden: instance admin or manage_instance_users required\", 403);\n}\nclass LocalDataProvider {\n orgs;\n projects;\n definitions;\n computeServer;\n invites;\n shareLinks;\n userProfile;\n permissions;\n platformProjectGrants;\n userData;\n constructor(stores, userData) {\n this.orgs = stores.orgs;\n this.projects = stores.projects;\n this.definitions = stores.definitions;\n this.computeServer = stores.computeServer;\n this.invites = stores.invites;\n this.shareLinks = stores.shareLinks;\n this.userProfile = stores.userProfile;\n this.permissions = stores.permissions;\n this.platformProjectGrants = stores.platformProjectGrants;\n this.userData = userData;\n }\n /**\n * Idempotently register a user in the data layer. Called from\n * `hooks.server.ts` on every authed request — the local equivalent of\n * Supabase's `handle_new_auth_user` trigger. After this completes the\n * user has an empty row in `user-data.json` that the permissions and\n * profile stores can read and update.\n *\n * `ctx` is unused — registration runs as a system operation regardless of\n * the calling user. Argument is kept for interface symmetry with adapters\n * that need it.\n */\n async ensureUser(_ctx, userId) {\n await this.userData.ensure(userId);\n }\n /**\n * Cascade hook called after the auth provider deletes a user. Removes the\n * matching `user-data.json` row so the data layer doesn't accumulate\n * orphans. Tolerates missing rows.\n */\n async onUserDeleted(_ctx, userId) {\n try {\n await this.userData.deleteUser(userId);\n } catch {\n }\n }\n static fromEnv(env, events = new NoopEventSink()) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n const dataPath = env.DATA_PATH;\n const userDataFilePath = path.join(dataPath, \"user-data.json\");\n const loader = new LocalOrgStoreLoader(dataPath);\n const platformProjectGrants = LocalPlatformProjectGrantStore.fromEnv(env);\n const invites = LocalInviteStore.fromEnv(env, events);\n const computeServer = LocalComputeServerStore.fromEnv(env);\n const projects = new LocalProjectStore({ loader, grants: platformProjectGrants, events });\n const definitions = new LocalDefinitionStore(dataPath, void 0, events);\n const shareLinks = new LocalShareLinkStore({\n filePath: path.join(dataPath, \"share-links.json\"),\n events\n });\n const orgs = new LocalOrgStore({\n loader,\n invites,\n computeServer,\n grants: platformProjectGrants,\n events\n });\n definitions.setProjectProvider(projects);\n shareLinks.setDefinitionProvider(definitions);\n const userData = createLocalUserDataStore(userDataFilePath);\n return new LocalDataProvider({\n orgs,\n projects,\n definitions,\n computeServer,\n invites,\n shareLinks,\n userProfile: new LocalUserProfileProvider(userDataFilePath),\n permissions: new LocalPlatformPermissionStore(userDataFilePath),\n platformProjectGrants\n }, userData);\n }\n}\nclass LocalStorageProvider {\n basePath;\n publicUrlBase;\n static fromEnv(env) {\n if (!env.DATA_PATH)\n throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalStorageProvider(env.DATA_PATH, \"/api/files\");\n }\n constructor(basePath, publicUrlBase = \"/api/files\") {\n this.basePath = basePath;\n this.publicUrlBase = publicUrlBase;\n }\n /**\n * Resolve a caller-provided path under basePath, rejecting anything that\n * would escape the root. Last line of defense against traversal — while\n * platform-side helpers (definitionPaths) also assert safe keys, this\n * adapter is reached by any IStorageProvider caller.\n */\n resolvePath(storagePath) {\n const base = path.resolve(this.basePath);\n const full = path.resolve(base, storagePath);\n if (full !== base && !full.startsWith(base + path.sep)) {\n throw new Error(`Path escapes base: ${storagePath}`);\n }\n return full;\n }\n async get(storagePath) {\n try {\n const buffer = await fs.readFile(this.resolvePath(storagePath));\n return new Uint8Array(buffer);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return null;\n throw err;\n }\n }\n async put(storagePath, data, contentType) {\n const transcoded = await transcodeImageIfNeeded(data, contentType, storagePath);\n const fullPath = this.resolvePath(transcoded.path);\n await fs.mkdir(path.dirname(fullPath), { recursive: true });\n await fs.writeFile(fullPath, Buffer.from(transcoded.data));\n }\n async delete(storagePath) {\n try {\n await fs.unlink(this.resolvePath(storagePath));\n } catch (err) {\n if (err.code !== \"ENOENT\")\n throw err;\n }\n }\n async deletePrefix(prefix) {\n const fullPath = this.resolvePath(prefix);\n await fs.rm(fullPath, { recursive: true, force: true });\n }\n getPublicUrl(storagePath) {\n return `${this.publicUrlBase}/${storagePath}`;\n }\n}\nclass SupabaseStorageProvider {\n client;\n publicBucket;\n privateBucket;\n publicBaseUrl;\n privateUrlPrefix;\n static fromEnv(env) {\n const supabaseUrl = env.SUPABASE_URL;\n const serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n if (!supabaseUrl)\n throw new Error(\"Missing required env var: SUPABASE_URL\");\n if (!serviceRoleKey)\n throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n return new SupabaseStorageProvider({\n supabaseUrl,\n serviceRoleKey,\n publicBucket: env.SUPABASE_PUBLIC_BUCKET,\n privateBucket: env.SUPABASE_PRIVATE_BUCKET,\n privateUrlPrefix: env.SUPABASE_PRIVATE_URL_PREFIX\n });\n }\n constructor(config) {\n this.client = createClient(config.supabaseUrl, config.serviceRoleKey, {\n auth: { persistSession: false, autoRefreshToken: false }\n });\n this.publicBucket = config.publicBucket ?? \"selva-public\";\n this.privateBucket = config.privateBucket ?? \"selva-private\";\n this.publicBaseUrl = `${config.supabaseUrl.replace(/\\/$/, \"\")}/storage/v1/object/public/${this.publicBucket}`;\n this.privateUrlPrefix = (config.privateUrlPrefix ?? \"/api/files\").replace(/\\/$/, \"\");\n }\n /**\n * Route a storage path to a bucket. Any `.gh`/`.ghx` source file is\n * private — confidentiality is determined by extension, not location, so\n * a path-scheme rename (e.g. `definition.gh` → `versions/v1.gh`) can't\n * silently move source files into the public bucket. Everything else\n * (covers, archives, thumbnails) is public.\n */\n bucketFor(storagePath) {\n return /\\.(gh|ghx)$/i.test(storagePath) ? this.privateBucket : this.publicBucket;\n }\n async get(storagePath) {\n const bucket = this.bucketFor(storagePath);\n const { data, error } = await this.client.storage.from(bucket).download(storagePath);\n if (error) {\n const msg = error.message ?? \"\";\n if (/not found/i.test(msg) || /no such key/i.test(msg))\n return null;\n throw error;\n }\n const buffer = await data.arrayBuffer();\n return new Uint8Array(buffer);\n }\n async put(storagePath, data, contentType) {\n const transcoded = await transcodeImageIfNeeded(data, contentType, storagePath);\n const bucket = this.bucketFor(transcoded.path);\n const { error } = await this.client.storage.from(bucket).upload(transcoded.path, transcoded.data, {\n contentType: transcoded.contentType,\n upsert: true\n });\n if (error)\n throw error;\n }\n async delete(storagePath) {\n const bucket = this.bucketFor(storagePath);\n const { error } = await this.client.storage.from(bucket).remove([storagePath]);\n if (error)\n throw error;\n }\n async deletePrefix(prefix) {\n await Promise.all([\n this.deletePrefixInBucket(this.publicBucket, prefix),\n this.deletePrefixInBucket(this.privateBucket, prefix)\n ]);\n }\n async deletePrefixInBucket(bucket, prefix) {\n const normalized = prefix.replace(/\\/+$/, \"\");\n const keys = await this.listAllKeys(bucket, normalized);\n if (keys.length === 0)\n return;\n for (let i = 0; i < keys.length; i += 1e3) {\n const slice = keys.slice(i, i + 1e3);\n const { error } = await this.client.storage.from(bucket).remove(slice);\n if (error)\n throw error;\n }\n }\n /**\n * Recursively list every key under a prefix. `storage-js`'s `list` API\n * only returns the immediate children of a \"folder\", so we DFS.\n */\n async listAllKeys(bucket, prefix) {\n const out = [];\n const stack = [prefix];\n while (stack.length > 0) {\n const dir = stack.pop();\n const { data, error } = await this.client.storage.from(bucket).list(dir, {\n limit: 1e3,\n sortBy: { column: \"name\", order: \"asc\" }\n });\n if (error)\n throw error;\n for (const entry of data ?? []) {\n const full = dir ? `${dir}/${entry.name}` : entry.name;\n if (entry.id === null) {\n stack.push(full);\n } else {\n out.push(full);\n }\n }\n }\n return out;\n }\n getPublicUrl(storagePath) {\n if (this.bucketFor(storagePath) === this.publicBucket) {\n return `${this.publicBaseUrl}/${storagePath}`;\n }\n return `${this.privateUrlPrefix}/${storagePath}`;\n }\n}\nfunction decodeCursor(cursor) {\n if (!cursor)\n return 0;\n const n = parseInt(cursor, 10);\n return Number.isFinite(n) && n >= 0 ? n : 0;\n}\nfunction encodeCursor(offset) {\n return String(offset);\n}\nfunction toRange(opts) {\n const limit = Math.min(Math.max(opts?.limit ?? DEFAULT_PAGE_LIMIT, 1), MAX_PAGE_LIMIT);\n const from = decodeCursor(opts?.cursor);\n return { from, to: from + limit - 1, limit };\n}\nfunction nextCursorFromRange(range, returnedCount, totalCount) {\n const consumed = range.from + returnedCount;\n if (totalCount != null) {\n return consumed < totalCount ? encodeCursor(consumed) : void 0;\n }\n return returnedCount >= range.limit ? encodeCursor(consumed) : void 0;\n}\nfunction orderColumn(orderBy) {\n switch (orderBy) {\n case \"name\":\n return \"name\";\n case \"updatedAt\":\n return \"updated_at\";\n case \"createdAt\":\n default:\n return \"created_at\";\n }\n}\nclass SupabaseOrgStore {\n clients;\n events;\n constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n async listOrgs(ctx, opts) {\n const range = toRange(opts);\n const direction = opts?.orderDir ?? \"desc\";\n const { data, error, count } = await this.clients.forRequest(ctx).from(\"orgs\").select(\"*\", { count: \"exact\" }).is(\"deleted_at\", null).order(orderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n if (error)\n throw mapError$7(error);\n const items = (data ?? []).map(rowToOrg);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async getOrg(ctx, id) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"orgs\").select(\"*\").eq(\"id\", id).is(\"deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$7(error);\n return data ? rowToOrg(data) : null;\n }\n async getOrgBySlug(ctx, slug) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"orgs\").select(\"*\").eq(\"slug\", slug).is(\"deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$7(error);\n return data ? rowToOrg(data) : null;\n }\n async createOrg(ctx, org) {\n const client = this.clients.forRequest(ctx);\n const { error } = await client.from(\"orgs\").insert(orgToRow(org));\n if (error)\n throw mapError$7(error);\n const { error: memberError } = await client.from(\"org_members\").upsert({\n org_id: org.id,\n user_id: org.ownerId,\n role: \"owner\",\n permissions: [...DEFAULT_ORG_PERMISSIONS.owner],\n joined_at: (/* @__PURE__ */ new Date()).toISOString(),\n deleted_at: null\n }, { onConflict: \"org_id,user_id\" });\n if (memberError)\n throw mapError$7(memberError);\n await this.events.emit({ type: \"org.created\", orgId: org.id, actorId: actorFrom(ctx) });\n }\n async updateOrg(ctx, id, patch) {\n const row = {};\n if (patch.name !== void 0)\n row.name = patch.name;\n if (patch.slug !== void 0)\n row.slug = patch.slug;\n if (Object.keys(row).length === 0)\n return;\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { error, data } = await this.clients.forRequest(ctx).from(\"orgs\").update(row).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n if (error)\n throw mapError$7(error);\n if (!data || data.length === 0)\n throw new ProviderError(`Org '${id}' not found`, 404);\n }\n async deleteOrg(ctx, id) {\n const client = this.clients.forRequest(ctx);\n const stamp = auditSoftDelete(ctx, ctx.userId);\n const stampRow = stampToRow$1(stamp);\n const { error: orgErr, data: orgData } = await client.from(\"orgs\").update(stampRow).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n if (orgErr)\n throw mapError$7(orgErr);\n if (!orgData || orgData.length === 0)\n throw new ProviderError(`Org '${id}' not found`, 404);\n const { error: omErr } = await client.from(\"org_members\").update(stampRow).eq(\"org_id\", id).is(\"deleted_at\", null);\n if (omErr)\n throw mapError$7(omErr);\n const { data: orgProjects, error: projFetchErr } = await client.from(\"projects\").select(\"id\").eq(\"org_id\", id).is(\"deleted_at\", null);\n if (projFetchErr)\n throw mapError$7(projFetchErr);\n const projectIds = (orgProjects ?? []).map((p) => p.id);\n const { error: projErr } = await client.from(\"projects\").update(stampRow).eq(\"org_id\", id).is(\"deleted_at\", null);\n if (projErr)\n throw mapError$7(projErr);\n if (projectIds.length > 0) {\n const { error: pmErr } = await client.from(\"project_members\").update(stampRow).in(\"project_id\", projectIds).is(\"deleted_at\", null);\n if (pmErr)\n throw mapError$7(pmErr);\n const { error: defErr } = await client.from(\"definitions\").update(stampRow).in(\"project_id\", projectIds).is(\"deleted_at\", null);\n if (defErr)\n throw mapError$7(defErr);\n }\n const { error: invErr } = await client.from(\"invites\").delete().eq(\"org_id\", id);\n if (invErr)\n throw mapError$7(invErr);\n const { error: cdErr } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", id);\n if (cdErr)\n throw mapError$7(cdErr);\n const { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", id);\n if (shErr)\n throw mapError$7(shErr);\n const { error: csErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", id);\n if (csErr)\n throw mapError$7(csErr);\n await this.events.emit({ type: \"org.deleted\", orgId: id, actorId: actorFrom(ctx) });\n }\n // ============================================================================\n // Org members\n // ============================================================================\n async listOrgMembers(ctx, orgId, opts) {\n const range = toRange(opts);\n const { data, error, count } = await this.clients.forRequest(ctx).from(\"org_members\").select(\"*\", { count: \"exact\" }).eq(\"org_id\", orgId).is(\"deleted_at\", null).order(\"joined_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n if (error)\n throw mapError$7(error);\n const items = (data ?? []).map(rowToOrgMember);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async getOrgMember(ctx, orgId, userId) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").select(\"*\").eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$7(error);\n return data ? rowToOrgMember(data) : null;\n }\n async findUserMembership(ctx, userId) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").select(\"*, org:orgs!inner(*)\").eq(\"user_id\", userId).is(\"deleted_at\", null).is(\"org.deleted_at\", null).order(\"joined_at\", { ascending: true }).limit(1).maybeSingle();\n if (error)\n throw mapError$7(error);\n if (!data)\n return null;\n const row = data;\n const orgRow = Array.isArray(row.org) ? row.org[0] : row.org;\n if (!orgRow)\n return null;\n const { org: _omit, ...memberRow } = row;\n return {\n org: rowToOrg(orgRow),\n member: rowToOrgMember(memberRow)\n };\n }\n async addOrgMember(ctx, member) {\n const row = {\n ...memberToRow(member),\n deleted_at: null\n };\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { error } = await this.clients.forRequest(ctx).from(\"org_members\").upsert(row, { onConflict: \"org_id,user_id\" });\n if (error)\n throw mapError$7(error);\n await this.events.emit({\n type: \"org_member.added\",\n orgId: member.orgId,\n userId: member.userId,\n actorId: actorFrom(ctx)\n });\n }\n async updateOrgMemberRole(ctx, orgId, userId, role) {\n const row = {\n role,\n permissions: [...DEFAULT_ORG_PERMISSIONS[role]]\n };\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").update(row).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null).select(\"user_id\");\n if (error)\n throw mapError$7(error);\n if (!data || data.length === 0)\n throw new ProviderError(`Org member '${userId}' not found`, 404);\n await this.events.emit({\n type: \"org_member.role_changed\",\n orgId,\n userId,\n role,\n actorId: actorFrom(ctx)\n });\n }\n async updateOrgMemberPermissions(ctx, orgId, userId, permissions) {\n const row = { permissions: [...permissions] };\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").update(row).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null).select(\"user_id\");\n if (error)\n throw mapError$7(error);\n if (!data || data.length === 0)\n throw new ProviderError(`Org member '${userId}' not found`, 404);\n await this.events.emit({\n type: \"org_member.permissions_changed\",\n orgId,\n userId,\n permissions: [...permissions],\n actorId: actorFrom(ctx)\n });\n }\n async removeOrgMember(ctx, orgId, userId) {\n const client = this.clients.forRequest(ctx);\n const stamp = auditSoftDelete(ctx, ctx.userId);\n const stampRow = stampToRow$1(stamp);\n const { data: orgProjects, error: projError } = await client.from(\"projects\").select(\"id\").eq(\"org_id\", orgId).is(\"deleted_at\", null);\n if (projError)\n throw mapError$7(projError);\n const projectIds = (orgProjects ?? []).map((p) => p.id);\n if (projectIds.length > 0) {\n const { error: pmError } = await client.from(\"project_members\").update(stampRow).in(\"project_id\", projectIds).eq(\"user_id\", userId).is(\"deleted_at\", null);\n if (pmError)\n throw mapError$7(pmError);\n }\n const { error } = await client.from(\"org_members\").update(stampRow).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null);\n if (error)\n throw mapError$7(error);\n await this.events.emit({\n type: \"org_member.removed\",\n orgId,\n userId,\n actorId: actorFrom(ctx)\n });\n }\n}\nfunction stampToRow$1(stamp) {\n const row = {\n deleted_at: stamp.deletedAt,\n updated_at: stamp.updatedAt\n };\n if (stamp.updatedBy)\n row.updated_by = stamp.updatedBy;\n return row;\n}\nfunction rowToOrg(row) {\n return {\n id: row.id,\n name: row.name,\n slug: row.slug,\n ownerId: row.owner_id,\n createdBy: row.created_by ?? row.owner_id,\n updatedBy: row.updated_by ?? row.owner_id,\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n deletedAt: row.deleted_at ?? null\n };\n}\nfunction orgToRow(org) {\n return {\n id: org.id,\n name: org.name,\n slug: org.slug,\n owner_id: org.ownerId,\n created_by: org.createdBy,\n updated_by: org.updatedBy,\n created_at: org.createdAt,\n updated_at: org.updatedAt,\n deleted_at: org.deletedAt ?? null\n };\n}\nfunction rowToOrgMember(row) {\n return {\n orgId: row.org_id,\n userId: row.user_id,\n role: row.role,\n permissions: row.permissions ?? [],\n joinedAt: row.joined_at,\n updatedAt: row.updated_at ?? row.joined_at,\n updatedBy: row.updated_by ?? row.user_id,\n deletedAt: row.deleted_at ?? null\n };\n}\nfunction memberToRow(m) {\n return {\n org_id: m.orgId,\n user_id: m.userId,\n role: m.role,\n permissions: m.permissions ?? [],\n joined_at: m.joinedAt\n };\n}\nfunction mapError$7(e) {\n const pg = e;\n if (pg?.code === \"23505\") {\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n }\n if (pg?.code === \"23503\") {\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n }\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n const msg = obj.message ?? obj.details ?? obj.hint ?? \"Unknown Postgres error\";\n const err = new Error(obj.code ? `[${obj.code}] ${msg}` : msg);\n Object.assign(err, obj);\n return err;\n }\n return new Error(String(e));\n}\nclass SupabaseProjectStore {\n clients;\n events;\n constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n async listProjects(ctx, orgId, opts) {\n const range = toRange(opts);\n const direction = opts?.orderDir ?? \"desc\";\n const { data, error, count } = await this.clients.forRequest(ctx).from(\"projects\").select(\"*\", { count: \"exact\" }).eq(\"org_id\", orgId).is(\"deleted_at\", null).order(orderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n if (error)\n throw mapError$6(error);\n const items = (data ?? []).map(rowToProject);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async getProject(ctx, id) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"projects\").select(\"*\").eq(\"id\", id).is(\"deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$6(error);\n return data ? rowToProject(data) : null;\n }\n async getProjectBySlug(ctx, orgId, slug) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"projects\").select(\"*\").eq(\"org_id\", orgId).eq(\"slug\", slug).is(\"deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$6(error);\n return data ? rowToProject(data) : null;\n }\n async createProject(ctx, project) {\n const client = this.clients.forRequest(ctx);\n const { error } = await client.from(\"projects\").insert(projectToRow(project));\n if (error)\n throw mapError$6(error);\n const { error: memberError } = await client.from(\"project_members\").upsert({\n project_id: project.id,\n user_id: project.ownerId,\n role: \"owner\",\n joined_at: (/* @__PURE__ */ new Date()).toISOString(),\n deleted_at: null\n }, { onConflict: \"project_id,user_id\" });\n if (memberError)\n throw mapError$6(memberError);\n await this.events.emit({\n type: \"project.created\",\n projectId: project.id,\n orgId: project.orgId,\n actorId: actorFrom(ctx)\n });\n }\n async updateProject(ctx, id, patch) {\n const row = {};\n if (patch.name !== void 0)\n row.name = patch.name;\n if (patch.slug !== void 0)\n row.slug = patch.slug;\n if (patch.description !== void 0)\n row.description = patch.description;\n if (patch.visibility !== void 0)\n row.visibility = patch.visibility;\n if (patch.autoJoinOnUpload !== void 0)\n row.auto_join_on_upload = patch.autoJoinOnUpload;\n if (Object.keys(row).length === 0)\n return;\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { data, error } = await this.clients.forRequest(ctx).from(\"projects\").update(row).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n if (error)\n throw mapError$6(error);\n if (!data || data.length === 0)\n throw new ProviderError(`Project '${id}' not found`, 404);\n }\n async deleteProject(ctx, id) {\n const client = this.clients.forRequest(ctx);\n const stamp = auditSoftDelete(ctx, ctx.userId);\n const stampRow = stampToRow(stamp);\n const { data, error } = await client.from(\"projects\").update(stampRow).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n if (error)\n throw mapError$6(error);\n if (!data || data.length === 0)\n throw new ProviderError(`Project '${id}' not found`, 404);\n const { error: pmErr } = await client.from(\"project_members\").update(stampRow).eq(\"project_id\", id).is(\"deleted_at\", null);\n if (pmErr)\n throw mapError$6(pmErr);\n const { error: defErr } = await client.from(\"definitions\").update(stampRow).eq(\"project_id\", id).is(\"deleted_at\", null);\n if (defErr)\n throw mapError$6(defErr);\n await this.events.emit({ type: \"project.deleted\", projectId: id, actorId: actorFrom(ctx) });\n }\n // ============================================================================\n // Project members\n // ============================================================================\n async listProjectMembers(ctx, projectId, opts) {\n const range = toRange(opts);\n const { data, error, count } = await this.clients.forRequest(ctx).from(\"project_members\").select(\"*\", { count: \"exact\" }).eq(\"project_id\", projectId).is(\"deleted_at\", null).order(\"joined_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n if (error)\n throw mapError$6(error);\n const items = (data ?? []).map(rowToProjectMember);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async getProjectMember(ctx, projectId, userId) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"project_members\").select(\"*\").eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$6(error);\n return data ? rowToProjectMember(data) : null;\n }\n async addProjectMember(ctx, member) {\n const row = {\n ...projectMemberToRow(member),\n deleted_at: null\n };\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { error } = await this.clients.forRequest(ctx).from(\"project_members\").upsert(row, { onConflict: \"project_id,user_id\" });\n if (error)\n throw mapError$6(error);\n await this.events.emit({\n type: \"project_member.added\",\n projectId: member.projectId,\n userId: member.userId,\n actorId: actorFrom(ctx)\n });\n }\n async updateProjectMemberRole(ctx, projectId, userId, role) {\n const row = { role };\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { data, error } = await this.clients.forRequest(ctx).from(\"project_members\").update(row).eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null).select(\"user_id\");\n if (error)\n throw mapError$6(error);\n if (!data || data.length === 0)\n throw new ProviderError(`Project member '${userId}' not found`, 404);\n await this.events.emit({\n type: \"project_member.role_changed\",\n projectId,\n userId,\n role,\n actorId: actorFrom(ctx)\n });\n }\n async removeProjectMember(ctx, projectId, userId) {\n const stamp = auditSoftDelete(ctx, ctx.userId);\n const { error } = await this.clients.forRequest(ctx).from(\"project_members\").update(stampToRow(stamp)).eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null);\n if (error)\n throw mapError$6(error);\n await this.events.emit({\n type: \"project_member.removed\",\n projectId,\n userId,\n actorId: actorFrom(ctx)\n });\n }\n}\nfunction rowToProject(row) {\n return {\n id: row.id,\n orgId: row.org_id,\n name: row.name,\n slug: row.slug,\n description: row.description ?? void 0,\n visibility: row.visibility,\n ownerId: row.owner_id,\n createdBy: row.created_by ?? row.owner_id,\n updatedBy: row.updated_by ?? row.owner_id,\n autoJoinOnUpload: row.auto_join_on_upload ?? false,\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n deletedAt: row.deleted_at ?? null\n };\n}\nfunction projectToRow(p) {\n return {\n id: p.id,\n org_id: p.orgId,\n name: p.name,\n slug: p.slug,\n description: p.description ?? null,\n visibility: p.visibility,\n owner_id: p.ownerId,\n created_by: p.createdBy,\n updated_by: p.updatedBy,\n auto_join_on_upload: p.autoJoinOnUpload,\n created_at: p.createdAt,\n updated_at: p.updatedAt,\n deleted_at: p.deletedAt ?? null\n };\n}\nfunction rowToProjectMember(row) {\n return {\n projectId: row.project_id,\n userId: row.user_id,\n role: row.role,\n joinedAt: row.joined_at,\n updatedAt: row.updated_at ?? row.joined_at,\n updatedBy: row.updated_by ?? row.user_id,\n deletedAt: row.deleted_at ?? null\n };\n}\nfunction projectMemberToRow(m) {\n return {\n project_id: m.projectId,\n user_id: m.userId,\n role: m.role,\n joined_at: m.joinedAt\n };\n}\nfunction stampToRow(stamp) {\n const row = {\n deleted_at: stamp.deletedAt,\n updated_at: stamp.updatedAt\n };\n if (stamp.updatedBy)\n row.updated_by = stamp.updatedBy;\n return row;\n}\nfunction mapError$6(e) {\n const pg = e;\n if (pg?.code === \"23505\")\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\")\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n const msg = obj.message ?? obj.details ?? obj.hint ?? \"Unknown Postgres error\";\n const err = new Error(obj.code ? `[${obj.code}] ${msg}` : msg);\n Object.assign(err, obj);\n return err;\n }\n return new Error(String(e));\n}\nclass SupabaseDefinitionStore {\n clients;\n events;\n constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n // ============================================================================\n // Definitions\n // ============================================================================\n async list(ctx, opts) {\n return this.runList(ctx, void 0, opts);\n }\n async listByProject(ctx, projectId, opts) {\n return this.runList(ctx, { projectId }, opts);\n }\n async listPublic(ctx, opts) {\n return this.runList(ctx, { publicOnly: true, orgId: opts?.orgId }, opts);\n }\n async runList(ctx, filter, opts) {\n const range = toRange(opts);\n const direction = opts?.orderDir ?? \"desc\";\n let query = this.clients.forRequest(ctx).from(\"definitions\").select(\"*\", { count: \"exact\" }).is(\"deleted_at\", null);\n if (filter?.projectId)\n query = query.eq(\"project_id\", filter.projectId);\n if (filter?.publicOnly) {\n query = this.clients.forRequest(ctx).from(\"definitions\").select(\"*, project:projects!inner(visibility, org_id)\", {\n count: \"exact\"\n }).is(\"deleted_at\", null).eq(\"project.visibility\", \"public\");\n if (filter.orgId)\n query = query.eq(\"project.org_id\", filter.orgId);\n if (filter.projectId)\n query = query.eq(\"project_id\", filter.projectId);\n }\n if (opts?.statuses?.length) {\n query = query.in(\"status\", opts.statuses);\n } else {\n const excluded = [];\n if (!opts?.includePending)\n excluded.push(\"pending\");\n if (!opts?.includeArchived)\n excluded.push(\"archived\");\n if (excluded.length) {\n query = query.not(\"status\", \"in\", `(${excluded.join(\",\")})`);\n }\n }\n query = query.order(definitionOrderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n const { data, error, count } = await query;\n if (error)\n throw mapError$5(error);\n const items = (data ?? []).map(rowToRecord);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async get(ctx, guid) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").select(\"*\").eq(\"guid\", guid).is(\"deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$5(error);\n return data ? rowToRecord(data) : null;\n }\n async create(ctx, record) {\n const { error } = await this.clients.forRequest(ctx).from(\"definitions\").insert(recordToRow(record));\n if (error)\n throw mapError$5(error);\n await this.events.emit({\n type: \"definition.created\",\n definitionId: record.guid,\n projectId: record.projectId,\n actorId: actorFrom(ctx)\n });\n }\n async update(ctx, guid, patch) {\n const row = patchToRow(patch);\n if (Object.keys(row).length === 0)\n return;\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").update(row).eq(\"guid\", guid).is(\"deleted_at\", null).select(\"guid\");\n if (error)\n throw mapError$5(error);\n if (!data || data.length === 0)\n throw new ProviderError(`Definition '${guid}' not found`, 404);\n }\n async delete(ctx, guid) {\n const stamp = auditSoftDelete(ctx, ctx.userId);\n const row = {\n deleted_at: stamp.deletedAt,\n updated_at: stamp.updatedAt\n };\n if (stamp.updatedBy)\n row.updated_by = stamp.updatedBy;\n const { error } = await this.clients.forRequest(ctx).from(\"definitions\").update(row).eq(\"guid\", guid).is(\"deleted_at\", null);\n if (error)\n throw mapError$5(error);\n await this.events.emit({\n type: \"definition.deleted\",\n definitionId: guid,\n actorId: actorFrom(ctx)\n });\n }\n async incrementSolveCount(ctx, guid) {\n const { error } = await this.clients.forRequest(ctx).rpc(\"increment_run_count\", { g: guid });\n if (error)\n throw mapError$5(error);\n }\n // ============================================================================\n // Versions (spec §6)\n // ============================================================================\n async createVersion(ctx, version) {\n const { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").insert(versionToRow(version));\n if (error)\n throw mapError$5(error);\n await this.events.emit({\n type: \"definition_version.created\",\n versionId: version.id,\n definitionId: version.definitionId,\n actorId: actorFrom(ctx)\n });\n }\n async listVersions(ctx, definitionId, opts) {\n const range = toRange(opts);\n const { data, error, count } = await this.clients.forRequest(ctx).from(\"definition_versions\").select(\"*\", { count: \"exact\" }).eq(\"definition_guid\", definitionId).order(\"version_number\", { ascending: false }).range(range.from, range.to);\n if (error)\n throw mapError$5(error);\n const items = (data ?? []).map(rowToVersion);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async getVersion(ctx, versionId) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"definition_versions\").select(\"*\").eq(\"id\", versionId).maybeSingle();\n if (error)\n throw mapError$5(error);\n return data ? rowToVersion(data) : null;\n }\n async setVersionSchema(ctx, versionId, schema) {\n const { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").update({ schema, schema_extracted_at: (/* @__PURE__ */ new Date()).toISOString() }).eq(\"id\", versionId);\n if (error)\n throw mapError$5(error);\n }\n async deleteVersion(ctx, versionId) {\n const { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").delete().eq(\"id\", versionId);\n if (error)\n throw mapError$5(error);\n await this.events.emit({\n type: \"definition_version.deleted\",\n versionId,\n actorId: actorFrom(ctx)\n });\n }\n async setLiveVersion(ctx, definitionId, versionId) {\n await this.repointChannel(ctx, definitionId, versionId, \"live_version_id\");\n await this.events.emit({\n type: \"definition.published\",\n definitionId,\n versionId,\n actorId: actorFrom(ctx)\n });\n }\n async setDraftVersion(ctx, definitionId, versionId) {\n await this.repointChannel(ctx, definitionId, versionId, \"draft_version_id\");\n }\n async attachInitialVersion(ctx, definitionId, versionId) {\n const client = this.clients.forRequest(ctx);\n const { data: version, error: vError } = await client.from(\"definition_versions\").select(\"id, definition_guid\").eq(\"id\", versionId).maybeSingle();\n if (vError)\n throw mapError$5(vError);\n if (!version || version.definition_guid !== definitionId) {\n throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n }\n const row = {\n live_version_id: versionId,\n draft_version_id: versionId,\n status: \"draft\"\n };\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { data, error } = await client.from(\"definitions\").update(row).eq(\"guid\", definitionId).is(\"deleted_at\", null).select(\"guid\");\n if (error)\n throw mapError$5(error);\n if (!data || data.length === 0) {\n throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n }\n }\n async repointChannel(ctx, definitionId, versionId, column) {\n const client = this.clients.forRequest(ctx);\n const { data: version, error: vError } = await client.from(\"definition_versions\").select(\"id, definition_guid\").eq(\"id\", versionId).maybeSingle();\n if (vError)\n throw mapError$5(vError);\n if (!version || version.definition_guid !== definitionId) {\n throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n }\n const row = { [column]: versionId };\n if (ctx.userId)\n row.updated_by = ctx.userId;\n const { data, error } = await client.from(\"definitions\").update(row).eq(\"guid\", definitionId).is(\"deleted_at\", null).select(\"guid\");\n if (error)\n throw mapError$5(error);\n if (!data || data.length === 0) {\n throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n }\n }\n}\nfunction rowToRecord(row) {\n return {\n guid: row.guid,\n projectId: row.project_id,\n ownerId: row.owner_id,\n createdBy: row.created_by ?? row.owner_id,\n updatedBy: row.updated_by ?? row.owner_id,\n liveVersionId: row.live_version_id,\n draftVersionId: row.draft_version_id,\n computeServerId: row.compute_server_id ?? void 0,\n displayName: row.display_name,\n description: row.description ?? void 0,\n category: row.category ?? void 0,\n tags: row.tags ?? void 0,\n coverImage: row.cover_image ?? void 0,\n status: row.status,\n solveCount: typeof row.run_count === \"string\" ? Number(row.run_count) : row.run_count,\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n deletedAt: row.deleted_at ?? null\n };\n}\nfunction recordToRow(r) {\n const row = {\n guid: r.guid,\n project_id: r.projectId,\n owner_id: r.ownerId,\n created_by: r.createdBy,\n updated_by: r.updatedBy,\n live_version_id: r.liveVersionId,\n draft_version_id: r.draftVersionId,\n compute_server_id: r.computeServerId ?? null,\n display_name: r.displayName,\n description: r.description ?? null,\n category: r.category ?? null,\n cover_image: r.coverImage ?? null,\n status: r.status,\n run_count: r.solveCount,\n created_at: r.createdAt,\n updated_at: r.updatedAt,\n deleted_at: r.deletedAt ?? null\n };\n if (r.tags !== void 0)\n row.tags = r.tags;\n return row;\n}\nfunction patchToRow(patch) {\n const row = {};\n if (patch.displayName !== void 0)\n row.display_name = patch.displayName;\n if (patch.description !== void 0)\n row.description = patch.description;\n if (patch.category !== void 0)\n row.category = patch.category;\n if (patch.tags !== void 0)\n row.tags = patch.tags;\n if (patch.coverImage !== void 0)\n row.cover_image = patch.coverImage;\n if (patch.projectId !== void 0)\n row.project_id = patch.projectId;\n if (patch.computeServerId !== void 0)\n row.compute_server_id = patch.computeServerId;\n if (patch.status !== void 0)\n row.status = patch.status;\n if (patch.ownerId !== void 0)\n row.owner_id = patch.ownerId;\n return row;\n}\nfunction rowToVersion(row) {\n return {\n id: row.id,\n definitionId: row.definition_guid,\n versionNumber: row.version_number,\n fileExt: row.file_ext,\n fileKey: row.file_key,\n originalFilename: row.original_filename ?? void 0,\n uploadedBy: row.uploaded_by,\n uploadedAt: row.uploaded_at,\n changeNote: row.change_note ?? void 0,\n schema: row.schema ?? void 0,\n schemaExtractedAt: row.schema_extracted_at ?? void 0\n };\n}\nfunction versionToRow(v) {\n const row = {\n id: v.id,\n definition_guid: v.definitionId,\n version_number: v.versionNumber,\n file_ext: v.fileExt,\n file_key: v.fileKey,\n original_filename: v.originalFilename ?? null,\n uploaded_by: v.uploadedBy,\n uploaded_at: v.uploadedAt\n };\n if (v.changeNote !== void 0)\n row.change_note = v.changeNote;\n if (v.schema !== void 0)\n row.schema = v.schema;\n if (v.schemaExtractedAt !== void 0)\n row.schema_extracted_at = v.schemaExtractedAt;\n return row;\n}\nfunction definitionOrderColumn(orderBy) {\n switch (orderBy) {\n case \"name\":\n return \"display_name\";\n case \"solveCount\":\n return \"run_count\";\n case \"updatedAt\":\n return \"updated_at\";\n case \"createdAt\":\n default:\n return \"created_at\";\n }\n}\nfunction mapError$5(e) {\n const pg = e;\n if (pg?.code === \"23505\")\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\")\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n const msg = obj.message ?? obj.details ?? obj.hint ?? \"Unknown Postgres error\";\n const err = new Error(obj.code ? `[${obj.code}] ${msg}` : msg);\n Object.assign(err, obj);\n return err;\n }\n return new Error(String(e));\n}\nclass SupabaseInviteStore {\n clients;\n events;\n constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n async create(ctx, invite) {\n const { error } = await this.clients.forRequest(ctx).from(\"invites\").insert(inviteToRow(invite));\n if (error)\n throw mapError$4(error);\n await this.events.emit({\n type: \"invite.created\",\n inviteId: invite.id,\n orgId: invite.orgId,\n email: invite.email,\n actorId: actorFrom(ctx)\n });\n }\n async getByTokenHash(ctx, tokenHash) {\n const { data, error } = await this.clients.forRequest(ctx).rpc(\"get_invite_by_token_hash\", { h: tokenHash });\n if (error)\n throw mapError$4(error);\n const row = Array.isArray(data) ? data[0] : data;\n return row ? rowToInvite(row) : null;\n }\n async listByOrg(ctx, orgId, opts) {\n const range = toRange(opts);\n const { data, error, count } = await this.clients.forRequest(ctx).from(\"invites\").select(\"*\", { count: \"exact\" }).eq(\"org_id\", orgId).order(\"created_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n if (error)\n throw mapError$4(error);\n const items = (data ?? []).map(rowToInvite);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async markAccepted(ctx, id, userId) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"invites\").update({ accepted_at: (/* @__PURE__ */ new Date()).toISOString(), accepted_by_user_id: userId }).eq(\"id\", id).is(\"accepted_at\", null).select(\"org_id\");\n if (error)\n throw mapError$4(error);\n const row = data?.[0];\n if (!row)\n return;\n await this.events.emit({\n type: \"invite.accepted\",\n inviteId: id,\n orgId: row.org_id,\n userId,\n actorId: actorFrom(ctx)\n });\n }\n async revoke(ctx, id) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"invites\").delete().eq(\"id\", id).is(\"accepted_at\", null).select(\"org_id\");\n if (error)\n throw mapError$4(error);\n const row = data?.[0];\n if (!row)\n return;\n await this.events.emit({\n type: \"invite.revoked\",\n inviteId: id,\n orgId: row.org_id,\n actorId: actorFrom(ctx)\n });\n }\n async deleteByOrg(ctx, orgId) {\n const { error } = await this.clients.forRequest(ctx).from(\"invites\").delete().eq(\"org_id\", orgId);\n if (error)\n throw mapError$4(error);\n }\n}\nfunction rowToInvite(row) {\n return {\n id: row.id,\n tokenHash: row.token_hash,\n email: row.email,\n orgId: row.org_id,\n orgRole: row.org_role,\n orgPermissions: row.org_permissions,\n invitedBy: row.invited_by,\n createdAt: row.created_at,\n expiresAt: row.expires_at,\n acceptedAt: row.accepted_at ?? void 0,\n acceptedByUserId: row.accepted_by_user_id ?? void 0\n };\n}\nfunction inviteToRow(i) {\n return {\n id: i.id,\n token_hash: i.tokenHash,\n email: i.email,\n org_id: i.orgId,\n org_role: i.orgRole,\n org_permissions: i.orgPermissions,\n invited_by: i.invitedBy,\n created_at: i.createdAt,\n expires_at: i.expiresAt,\n accepted_at: i.acceptedAt ?? null,\n accepted_by_user_id: i.acceptedByUserId ?? null\n };\n}\nfunction mapError$4(e) {\n const pg = e;\n if (pg?.code === \"23505\")\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\")\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n return new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n }\n return new Error(String(e));\n}\nclass SupabaseComputeServerStore {\n clients;\n constructor(clients) {\n this.clients = clients;\n }\n async getConfig(ctx) {\n const client = this.clients.forRequest(ctx);\n const [serversRes, sharesRes, orgDefRes, platDefRes] = await Promise.all([\n client.from(\"compute_servers\").select(\"*\"),\n client.from(\"compute_server_shares\").select(\"*\"),\n client.from(\"compute_server_org_defaults\").select(\"*\"),\n client.from(\"compute_server_platform_default\").select(\"default_server_id\").eq(\"singleton\", true).maybeSingle()\n ]);\n if (serversRes.error)\n throw mapError$3(serversRes.error);\n if (sharesRes.error)\n throw mapError$3(sharesRes.error);\n if (orgDefRes.error)\n throw mapError$3(orgDefRes.error);\n if (platDefRes.error)\n throw mapError$3(platDefRes.error);\n const sharedByServer = /* @__PURE__ */ new Map();\n for (const row of sharesRes.data ?? []) {\n const list = sharedByServer.get(row.server_id) ?? [];\n list.push(row.org_id);\n sharedByServer.set(row.server_id, list);\n }\n const servers = (serversRes.data ?? []).map((row) => rowToServer(row, sharedByServer));\n const orgDefaults = {};\n for (const row of orgDefRes.data ?? []) {\n if (row.default_server_id)\n orgDefaults[row.org_id] = row.default_server_id;\n }\n return {\n servers,\n defaultServerId: platDefRes.data?.default_server_id ?? void 0,\n orgDefaults\n };\n }\n async savePlatformServers(ctx, servers, defaultServerId) {\n const client = this.clients.forRequest(ctx);\n const platformOnly = servers.filter(isPlatformServer);\n const { error: delErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"platform\");\n if (delErr)\n throw mapError$3(delErr);\n if (platformOnly.length > 0) {\n const { error: insErr } = await client.from(\"compute_servers\").insert(platformOnly.map(serverToRow));\n if (insErr)\n throw mapError$3(insErr);\n const shareRows = platformOnly.flatMap((s) => s.sharedWith === \"all\" ? [] : s.sharedWith.map((orgId) => ({ server_id: s.id, org_id: orgId })));\n if (shareRows.length > 0) {\n const { error: shErr } = await client.from(\"compute_server_shares\").insert(shareRows);\n if (shErr)\n throw mapError$3(shErr);\n }\n }\n const { error: defErr } = await client.from(\"compute_server_platform_default\").update({ default_server_id: defaultServerId ?? null }).eq(\"singleton\", true);\n if (defErr)\n throw mapError$3(defErr);\n }\n async saveOrgServers(ctx, orgId, servers, defaultServerId) {\n const client = this.clients.forRequest(ctx);\n const orgOnly = servers.filter(isOrgServer).map((s) => ({ ...s, ownerOrgId: orgId }));\n const { error: delErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", orgId);\n if (delErr)\n throw mapError$3(delErr);\n if (orgOnly.length > 0) {\n const { error: insErr } = await client.from(\"compute_servers\").insert(orgOnly.map(serverToRow));\n if (insErr)\n throw mapError$3(insErr);\n }\n if (defaultServerId === null) {\n const { error } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n if (error)\n throw mapError$3(error);\n } else if (typeof defaultServerId === \"string\") {\n const { error } = await client.from(\"compute_server_org_defaults\").upsert({ org_id: orgId, default_server_id: defaultServerId });\n if (error)\n throw mapError$3(error);\n }\n }\n async setOrgDefault(ctx, orgId, serverId) {\n const client = this.clients.forRequest(ctx);\n if (serverId === null) {\n const { error: error2 } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n if (error2)\n throw mapError$3(error2);\n return;\n }\n const { error } = await client.from(\"compute_server_org_defaults\").upsert({ org_id: orgId, default_server_id: serverId });\n if (error)\n throw mapError$3(error);\n }\n async deleteByOrg(ctx, orgId) {\n const client = this.clients.forRequest(ctx);\n const { error: defErr } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n if (defErr)\n throw mapError$3(defErr);\n const { error: srvErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", orgId);\n if (srvErr)\n throw mapError$3(srvErr);\n const { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", orgId);\n if (shErr)\n throw mapError$3(shErr);\n }\n}\nfunction rowToServer(row, sharedByServer) {\n const common = {\n id: row.id,\n label: row.label,\n serverUrl: row.server_url,\n apiKey: row.api_key ?? void 0,\n timeoutMs: row.timeout_ms ?? void 0,\n retryCount: row.retry_count ?? void 0\n };\n if (row.scope === \"platform\") {\n return {\n ...common,\n scope: \"platform\",\n sharedWith: row.shared_with_all ? \"all\" : sharedByServer.get(row.id) ?? []\n };\n }\n if (!row.owner_org_id) {\n throw new Error(`compute_servers row ${row.id} has scope='org' but null owner_org_id`);\n }\n return { ...common, scope: \"org\", ownerOrgId: row.owner_org_id };\n}\nfunction serverToRow(s) {\n const base = {\n id: s.id,\n label: s.label,\n server_url: s.serverUrl,\n api_key: s.apiKey ?? null,\n timeout_ms: s.timeoutMs ?? null,\n retry_count: s.retryCount ?? null\n };\n if (isPlatformServer(s)) {\n return {\n ...base,\n scope: \"platform\",\n owner_org_id: null,\n shared_with_all: s.sharedWith === \"all\"\n };\n }\n return {\n ...base,\n scope: \"org\",\n owner_org_id: s.ownerOrgId,\n shared_with_all: false\n };\n}\nfunction mapError$3(e) {\n const pg = e;\n if (pg?.code === \"23505\")\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\")\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n return new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n }\n return new Error(String(e));\n}\nclass SupabaseShareLinkStore {\n clients;\n events;\n constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n async create(ctx, link) {\n const { error } = await this.clients.forRequest(ctx).from(\"share_links\").insert(linkToRow(link));\n if (error)\n throw mapError$2(error);\n await this.events.emit({\n type: \"share_link.minted\",\n linkId: link.id,\n definitionId: link.definitionId,\n actorId: actorFrom(ctx)\n });\n }\n async listByDefinition(ctx, definitionId, opts) {\n const range = toRange(opts);\n const { data, error, count } = await this.clients.forRequest(ctx).from(\"share_links\").select(\"*\", { count: \"exact\" }).eq(\"definition_guid\", definitionId).is(\"revoked_at\", null).order(\"created_at\", { ascending: false }).range(range.from, range.to);\n if (error)\n throw mapError$2(error);\n const items = (data ?? []).map(rowToLink);\n return { items, nextCursor: nextCursorFromRange(range, items.length, count) };\n }\n async getById(ctx, id) {\n const { data, error } = await this.clients.forRequest(ctx).from(\"share_links\").select(\"*\").eq(\"id\", id).maybeSingle();\n if (error)\n throw mapError$2(error);\n return data ? rowToLink(data) : null;\n }\n async getByTokenHash(_ctx, tokenHash) {\n const { data, error } = await this.clients.serviceClient.from(\"share_links\").select(\"*, definitions!inner(deleted_at)\").eq(\"token_hash\", tokenHash).is(\"revoked_at\", null).is(\"definitions.deleted_at\", null).maybeSingle();\n if (error)\n throw mapError$2(error);\n return data ? rowToLink(data) : null;\n }\n async revoke(ctx, id) {\n const { error } = await this.clients.forRequest(ctx).from(\"share_links\").update({ revoked_at: (/* @__PURE__ */ new Date()).toISOString() }).eq(\"id\", id).is(\"revoked_at\", null);\n if (error)\n throw mapError$2(error);\n await this.events.emit({ type: \"share_link.revoked\", linkId: id, actorId: actorFrom(ctx) });\n }\n async tryIncrementSolveCount(_ctx, id) {\n const { data, error } = await this.clients.serviceClient.rpc(\"try_increment_share_link_solve_count\", { link_id: id });\n if (error)\n throw mapError$2(error);\n return typeof data === \"number\" ? data : null;\n }\n}\nfunction rowToLink(row) {\n return {\n id: row.id,\n definitionId: row.definition_guid,\n channel: row.channel,\n tokenHash: row.token_hash,\n name: row.name ?? void 0,\n createdBy: row.created_by,\n createdAt: row.created_at,\n expiresAt: row.expires_at,\n revokedAt: row.revoked_at,\n allowSolve: row.allow_solve,\n maxSolves: row.max_solves,\n solveCount: row.solve_count\n };\n}\nfunction linkToRow(l) {\n return {\n id: l.id,\n definition_guid: l.definitionId,\n channel: l.channel,\n token_hash: l.tokenHash,\n name: l.name ?? null,\n created_by: l.createdBy,\n created_at: l.createdAt,\n expires_at: l.expiresAt ?? null,\n revoked_at: l.revokedAt ?? null,\n allow_solve: l.allowSolve,\n max_solves: l.maxSolves ?? null,\n solve_count: l.solveCount\n };\n}\nfunction mapError$2(e) {\n const pg = e;\n if (pg?.code === \"23505\")\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\")\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n const msg = obj.message ?? obj.details ?? obj.hint ?? \"Unknown Postgres error\";\n const err = new Error(obj.code ? `[${obj.code}] ${msg}` : msg);\n Object.assign(err, obj);\n return err;\n }\n return new Error(String(e));\n}\nfunction buildClientBundle(opts) {\n const serviceClient = createClient(opts.supabaseUrl, opts.serviceRoleKey, {\n auth: { persistSession: false, autoRefreshToken: false }\n });\n const anonClient = createClient(opts.supabaseUrl, opts.anonKey, {\n auth: { persistSession: false, autoRefreshToken: false }\n });\n const perRequestCache = /* @__PURE__ */ new WeakMap();\n return {\n serviceClient,\n forRequest(ctx) {\n if (ctx.system)\n return serviceClient;\n const token = extractSessionToken(ctx.adapterContext);\n if (!token)\n return anonClient;\n const cached = perRequestCache.get(ctx);\n if (cached)\n return cached;\n const client = createClient(opts.supabaseUrl, opts.anonKey, {\n auth: { persistSession: false, autoRefreshToken: false },\n global: {\n headers: { Authorization: `Bearer ${token}` }\n }\n });\n perRequestCache.set(ctx, client);\n return client;\n }\n };\n}\nfunction extractSessionToken(adapterContext) {\n if (!adapterContext || typeof adapterContext !== \"object\")\n return void 0;\n const maybe = adapterContext.sessionToken;\n return typeof maybe === \"string\" && maybe.length > 0 ? maybe : void 0;\n}\nclass SupabaseEventSink {\n clients;\n constructor(clients) {\n this.clients = clients;\n }\n async emit(event) {\n try {\n const { error } = await this.clients.serviceClient.from(\"audit_events\").insert({\n type: event.type,\n actor_id: event.actorId,\n data: event\n });\n if (error) {\n console.error(\"[SupabaseEventSink] insert failed:\", error.message, { event });\n }\n } catch (err) {\n console.error(\"[SupabaseEventSink] unexpected error:\", err, { event });\n }\n }\n}\nconst MAX_LIMIT = 200;\nconst DEFAULT_LIMIT = 100;\nconst ISO_RE = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})$/;\nconst UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\nclass SupabaseAuditQuery {\n clients;\n constructor(clients) {\n this.clients = clients;\n }\n async list(_ctx, filters) {\n const limit = clampLimit(filters.limit);\n let q = this.clients.serviceClient.from(\"audit_events\").select(\"id, type, actor_id, occurred_at, data\").order(\"occurred_at\", { ascending: false }).order(\"id\", { ascending: false }).limit(limit + 1);\n if (filters.types && filters.types.length > 0) {\n q = q.in(\"type\", [...filters.types]);\n }\n if (filters.actorId) {\n q = q.eq(\"actor_id\", filters.actorId);\n }\n if (filters.sinceIso) {\n q = q.gte(\"occurred_at\", filters.sinceIso);\n }\n if (filters.untilIso) {\n q = q.lte(\"occurred_at\", filters.untilIso);\n }\n if (filters.cursor) {\n const ts = filters.cursor.occurredAt;\n const id = filters.cursor.id;\n if (!ISO_RE.test(ts) || !UUID_RE.test(id)) {\n throw new Error(\"audit_events query: malformed cursor\");\n }\n q = q.or(`occurred_at.lt.${ts},and(occurred_at.eq.${ts},id.lt.${id})`);\n }\n const { data, error } = await q;\n if (error) {\n throw new Error(`audit_events query failed: ${error.message}`);\n }\n const fetched = data ?? [];\n const hasMore = fetched.length > limit;\n const page = hasMore ? fetched.slice(0, limit) : fetched;\n const last = page[page.length - 1];\n return {\n rows: page.map((r) => ({\n id: r.id,\n type: r.type,\n actorId: r.actor_id,\n occurredAt: r.occurred_at,\n data: r.data\n })),\n nextCursor: hasMore && last ? { occurredAt: last.occurred_at, id: last.id } : null\n };\n }\n}\nfunction clampLimit(requested) {\n if (!requested || requested <= 0)\n return DEFAULT_LIMIT;\n if (requested > MAX_LIMIT)\n return MAX_LIMIT;\n return Math.floor(requested);\n}\nconst MAX_RECENT_RUNS = 20;\nclass SupabaseUserProfileProvider {\n clients;\n constructor(clients) {\n this.clients = clients;\n }\n client() {\n return this.clients.serviceClient;\n }\n async getProfile(ctx, userId) {\n assertCanAccess(ctx, userId);\n const { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, display_name, starred_definitions, recent_runs\").eq(\"user_id\", userId).maybeSingle();\n if (error)\n throw mapError$1(error);\n return data ? rowToProfile(data) : null;\n }\n async getProfiles(_ctx, userIds) {\n if (userIds.length === 0)\n return [];\n const { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, display_name, starred_definitions, recent_runs\").in(\"user_id\", [...userIds]);\n if (error)\n throw mapError$1(error);\n return (data ?? []).map(rowToProfile);\n }\n async updateProfile(ctx, userId, patch) {\n assertCanAccess(ctx, userId);\n const row = {};\n if (patch.displayName !== void 0)\n row.display_name = patch.displayName;\n if (Object.keys(row).length === 0)\n return \"ok\";\n const { data, error } = await this.client().from(\"user_profiles\").update(row).eq(\"user_id\", userId).select(\"user_id\");\n if (error)\n throw mapError$1(error);\n return data && data.length > 0 ? \"ok\" : \"not_found\";\n }\n async starDefinition(ctx, userId, definitionId) {\n assertCanAccess(ctx, userId);\n const existing = await this.getProfile(ctx, userId);\n if (!existing)\n return \"not_found\";\n if (existing.starredDefinitions.includes(definitionId))\n return \"ok\";\n const next = [...existing.starredDefinitions, definitionId];\n const { data, error } = await this.client().from(\"user_profiles\").update({ starred_definitions: next }).eq(\"user_id\", userId).select(\"user_id\");\n if (error)\n throw mapError$1(error);\n return data && data.length > 0 ? \"ok\" : \"not_found\";\n }\n async unstarDefinition(ctx, userId, definitionId) {\n assertCanAccess(ctx, userId);\n const existing = await this.getProfile(ctx, userId);\n if (!existing)\n return \"not_found\";\n if (!existing.starredDefinitions.includes(definitionId))\n return \"ok\";\n const next = existing.starredDefinitions.filter((id) => id !== definitionId);\n const { data, error } = await this.client().from(\"user_profiles\").update({ starred_definitions: next }).eq(\"user_id\", userId).select(\"user_id\");\n if (error)\n throw mapError$1(error);\n return data && data.length > 0 ? \"ok\" : \"not_found\";\n }\n async recordRun(ctx, userId, run) {\n assertCanAccess(ctx, userId);\n const existing = await this.getProfile(ctx, userId);\n if (!existing)\n return \"not_found\";\n const filtered = existing.recentRuns.filter((r) => r.definitionId !== run.definitionId);\n const next = [run, ...filtered].slice(0, MAX_RECENT_RUNS);\n const { data, error } = await this.client().from(\"user_profiles\").update({ recent_runs: next }).eq(\"user_id\", userId).select(\"user_id\");\n if (error)\n throw mapError$1(error);\n return data && data.length > 0 ? \"ok\" : \"not_found\";\n }\n}\nfunction assertCanAccess(ctx, userId) {\n if (ctx.system)\n return;\n if (ctx.userId === userId)\n return;\n if (hasPermission(ctx, \"instance_admin\"))\n return;\n throw new ProviderError(\"Forbidden: cannot access another user’s profile\", 403);\n}\nfunction rowToProfile(row) {\n return {\n userId: row.user_id,\n displayName: row.display_name ?? void 0,\n starredDefinitions: row.starred_definitions ?? [],\n recentRuns: row.recent_runs ?? []\n };\n}\nfunction mapError$1(e) {\n const pg = e;\n if (pg?.code === \"23505\")\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\")\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n return new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n }\n return new Error(String(e));\n}\nclass SupabasePlatformPermissionStore {\n clients;\n constructor(clients) {\n this.clients = clients;\n }\n client() {\n return this.clients.serviceClient;\n }\n async getFor(ctx, userId) {\n assertCanRead(ctx, userId);\n const { data, error } = await this.client().from(\"user_profiles\").select(\"platform_permissions\").eq(\"user_id\", userId).maybeSingle();\n if (error)\n throw mapError(error);\n return filterValid(data?.platform_permissions ?? []);\n }\n async getForBatch(ctx, userIds) {\n assertAdmin(ctx);\n const out = /* @__PURE__ */ new Map();\n if (userIds.length === 0)\n return out;\n const { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, platform_permissions\").in(\"user_id\", [...userIds]);\n if (error)\n throw mapError(error);\n for (const row of data ?? []) {\n out.set(row.user_id, filterValid(row.platform_permissions ?? []));\n }\n return out;\n }\n async set(ctx, userId, permissions) {\n assertAdmin(ctx);\n const { data: existing, error: fetchError } = await this.client().from(\"user_profiles\").select(\"platform_permissions\").eq(\"user_id\", userId).maybeSingle();\n if (fetchError)\n throw mapError(fetchError);\n if (!existing)\n return \"not_found\";\n const wasAdmin = (existing.platform_permissions ?? []).includes(\"instance_admin\");\n const willBeAdmin = permissions.includes(\"instance_admin\");\n if (wasAdmin && !willBeAdmin) {\n const others = await this.countOtherEnabledAdmins(userId);\n if (others === 0)\n return \"last_admin\";\n }\n const { error } = await this.client().from(\"user_profiles\").update({ platform_permissions: [...permissions] }).eq(\"user_id\", userId);\n if (error)\n throw mapError(error);\n return \"ok\";\n }\n async hasInstanceAdmin(_ctx) {\n const { data, error } = await this.client().from(\"user_profiles\").select(\"user_id\").contains(\"platform_permissions\", [\"instance_admin\"]);\n if (error)\n throw mapError(error);\n const candidates = (data ?? []).map((r) => r.user_id);\n if (candidates.length === 0)\n return false;\n for (const id of candidates) {\n const { data: authData } = await this.clients.serviceClient.auth.admin.getUserById(id);\n if (authData.user && authData.user.user_metadata?.disabled !== true)\n return true;\n }\n return false;\n }\n async countInstanceAdminsExcluding(_ctx, excludeUserId) {\n return this.countOtherEnabledAdmins(excludeUserId);\n }\n async countOtherEnabledAdmins(excludeUserId) {\n const { data, error } = await this.client().from(\"user_profiles\").select(\"user_id\").contains(\"platform_permissions\", [\"instance_admin\"]).neq(\"user_id\", excludeUserId);\n if (error)\n throw mapError(error);\n const candidates = (data ?? []).map((r) => r.user_id);\n if (candidates.length === 0)\n return 0;\n let count = 0;\n for (const id of candidates) {\n const { data: authData } = await this.clients.serviceClient.auth.admin.getUserById(id);\n if (authData.user && authData.user.user_metadata?.disabled !== true)\n count += 1;\n }\n return count;\n }\n}\nfunction filterValid(raw) {\n return raw.filter((p) => PlatformPermissionSchema.safeParse(p).success);\n}\nfunction assertCanRead(ctx, userId) {\n if (ctx.system)\n return;\n if (ctx.userId === userId)\n return;\n if (hasPermission(ctx, \"instance_admin\"))\n return;\n throw new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin(ctx) {\n if (ctx.system)\n return;\n if (hasPermission(ctx, \"instance_admin\"))\n return;\n throw new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction mapError(e) {\n const pg = e;\n if (pg?.code === \"23505\")\n return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\")\n return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error)\n return e;\n if (e && typeof e === \"object\") {\n const obj = e;\n return new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n }\n return new Error(String(e));\n}\nconst NOT_IMPLEMENTED_MSG = \"Platform projects are not supported on this deployment yet.\";\nconst notImplementedGrantStore = {\n listByProject: async () => {\n throw new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n },\n create: async () => {\n throw new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n },\n delete: async () => {\n throw new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n },\n deleteByProject: async () => {\n },\n deleteByGranteeOrg: async () => {\n }\n};\nclass SupabaseDataProvider {\n clients;\n orgs;\n projects;\n definitions;\n invites;\n computeServer;\n shareLinks;\n userProfile;\n permissions;\n platformProjectGrants;\n auditQuery;\n constructor(clients, events) {\n this.clients = clients;\n this.orgs = new SupabaseOrgStore(clients, events);\n this.projects = new SupabaseProjectStore(clients, events);\n this.definitions = new SupabaseDefinitionStore(clients, events);\n this.invites = new SupabaseInviteStore(clients, events);\n this.computeServer = new SupabaseComputeServerStore(clients);\n this.shareLinks = new SupabaseShareLinkStore(clients, events);\n this.userProfile = new SupabaseUserProfileProvider(clients);\n this.permissions = new SupabasePlatformPermissionStore(clients);\n this.platformProjectGrants = notImplementedGrantStore;\n this.auditQuery = new SupabaseAuditQuery(clients);\n }\n static fromEnv(env, events) {\n const supabaseUrl = env.SUPABASE_URL;\n const anonKey = env.SUPABASE_ANON_KEY;\n const serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n if (!supabaseUrl)\n throw new Error(\"Missing required env var: SUPABASE_URL\");\n if (!anonKey)\n throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n if (!serviceRoleKey)\n throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n const bundle = buildClientBundle({ supabaseUrl, anonKey, serviceRoleKey });\n return new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle));\n }\n static create(opts, events) {\n const bundle = buildClientBundle(opts);\n return new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle));\n }\n /**\n * Build from a pre-existing `ClientBundle`. Useful for tests or advanced\n * cases that need to inject a custom event sink or share a bundle externally.\n */\n static fromBundle(bundle, events) {\n return new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle));\n }\n /**\n * Expose the underlying bundle so other providers in the same package\n * (storage, user profile, auth) can share one set of clients per process.\n */\n getClientBundle() {\n return this.clients;\n }\n /**\n * No-op: `public.user_profiles` is auto-seeded by the `handle_new_auth_user`\n * trigger on every `auth.users` insert (see `0001_initial.sql`). The data\n * layer always has a row for any authenticated user without per-request work.\n */\n async ensureUser() {\n }\n /**\n * No-op: `public.user_profiles.user_id` references `auth.users(id)` with\n * `on delete cascade`. Deleting the auth user removes the profile row\n * automatically.\n */\n async onUserDeleted() {\n }\n}\nclass SupabaseAuthProvider {\n name = \"Supabase Auth\";\n passwordAuth;\n oauth;\n emailLink;\n admin;\n anon;\n anonKey;\n supabaseUrl;\n constructor(config) {\n this.supabaseUrl = config.supabaseUrl;\n this.anonKey = config.anonKey;\n this.admin = createClient(config.supabaseUrl, config.serviceRoleKey, {\n auth: { persistSession: false, autoRefreshToken: false }\n });\n this.anon = createClient(config.supabaseUrl, config.anonKey, {\n auth: { persistSession: false, autoRefreshToken: false }\n });\n this.passwordAuth = new SupabasePasswordAuth(this.admin, this.anon, (email, password) => this.signIn(email, password), config.enableSelfSignup ?? false, (user) => this.hydrate(user));\n this.oauth = new SupabaseOAuthAuth(this.anon, (user) => this.hydrate(user), config.oauthProviders ?? []);\n this.emailLink = new SupabaseEmailLinkAuth(this.anon, (user) => this.hydrate(user), config.allowEmailLinkSignup ?? true);\n }\n static fromEnv(env) {\n const supabaseUrl = env.SUPABASE_URL;\n const anonKey = env.SUPABASE_ANON_KEY;\n const serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n if (!supabaseUrl)\n throw new Error(\"Missing required env var: SUPABASE_URL\");\n if (!anonKey)\n throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n if (!serviceRoleKey)\n throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n const oauthProviders = (env.SUPABASE_OAUTH_PROVIDERS ?? \"\").split(\",\").map((p) => p.trim().toLowerCase()).filter((p) => p.length > 0);\n return new SupabaseAuthProvider({\n supabaseUrl,\n anonKey,\n serviceRoleKey,\n enableSelfSignup: env.SUPABASE_ENABLE_SELF_SIGNUP === \"true\",\n oauthProviders,\n // Default true; set SUPABASE_ALLOW_EMAIL_LINK_SIGNUP=false to lock down\n // to invite-only and reject magic-link signups for new addresses.\n allowEmailLinkSignup: env.SUPABASE_ALLOW_EMAIL_LINK_SIGNUP !== \"false\"\n });\n }\n async verifyToken(token) {\n if (!token)\n return null;\n const { data, error } = await this.anon.auth.getUser(token);\n if (error || !data.user)\n return null;\n if (data.user.user_metadata?.disabled === true)\n return null;\n return this.hydrate(data.user);\n }\n async getUser(id) {\n const { data, error } = await this.admin.auth.admin.getUserById(id);\n if (error || !data.user)\n return null;\n return this.hydrate(data.user);\n }\n async listUsers(opts) {\n const perPage = opts?.limit ?? 50;\n const page = opts?.cursor ? parseInt(opts.cursor, 10) : 1;\n const { data, error } = await this.admin.auth.admin.listUsers({\n page: Number.isFinite(page) && page >= 1 ? page : 1,\n perPage\n });\n if (error)\n throw error;\n const users = data.users;\n const hydrated = users.map((u) => this.hydrate(u));\n const nextCursor = users.length >= perPage ? String(page + 1) : void 0;\n return { items: hydrated, nextCursor };\n }\n async createUser(email) {\n const { data, error } = await this.admin.auth.admin.createUser({\n email,\n email_confirm: true\n });\n if (error)\n throw error;\n if (!data.user)\n throw new Error(\"createUser returned no user\");\n return this.hydrate(data.user);\n }\n async deleteUser(id) {\n const { error } = await this.admin.auth.admin.deleteUser(id);\n if (error) {\n const e = error;\n if (e.status === 404 || /not.?found/i.test(e.message ?? \"\"))\n return \"not_found\";\n throw error;\n }\n return \"ok\";\n }\n async disableUser(id) {\n const { data: existing, error: fetchError } = await this.admin.auth.admin.getUserById(id);\n if (fetchError || !existing.user)\n return \"not_found\";\n const mergedMetadata = {\n ...existing.user.user_metadata ?? {},\n disabled: true\n };\n const { error } = await this.admin.auth.admin.updateUserById(id, {\n user_metadata: mergedMetadata\n });\n if (error) {\n const e = error;\n if (e.status === 404 || /not.?found/i.test(e.message ?? \"\"))\n return \"not_found\";\n throw error;\n }\n return \"ok\";\n }\n async touchLastLogin(id) {\n const { data, error } = await this.admin.from(\"user_profiles\").select(\"last_login_at\").eq(\"user_id\", id).maybeSingle();\n if (error)\n return;\n if (data?.last_login_at) {\n const prev = Date.parse(data.last_login_at);\n if (Number.isFinite(prev) && Date.now() - prev < 6e4)\n return;\n }\n await this.admin.from(\"user_profiles\").update({ last_login_at: (/* @__PURE__ */ new Date()).toISOString() }).eq(\"user_id\", id);\n }\n // OAuth lives on `this.oauth` (typed `IOAuthAuth`); see `SupabaseOAuthAuth`\n // below. Mirrors the `passwordAuth` capability split.\n // ============================================================================\n // Internals\n // ============================================================================\n /**\n * Sign in via GoTrue. Returns the access token string and the hydrated\n * user. Called by `SupabasePasswordAuth.verifyLogin` — kept on the\n * provider class so it has access to the hydrate helper without plumbing.\n */\n async signIn(email, password) {\n const { data, error } = await this.anon.auth.signInWithPassword({ email, password });\n if (error || !data.user || !data.session)\n return null;\n if (data.user.user_metadata?.disabled === true)\n return null;\n return { user: this.hydrate(data.user), sessionToken: data.session.access_token };\n }\n /**\n * Map a GoTrue `User` to our identity-only `AuthUser`. Platform permissions\n * live on `IPlatformPermissionStore` and profile fields (displayName,\n * starred, recentRuns) on `IUserProfileStore` — neither is in AuthUser.\n */\n hydrate(user) {\n return {\n id: user.id,\n email: user.email ?? void 0,\n createdAt: user.created_at ?? void 0,\n lastLoginAt: user.last_sign_in_at ?? void 0,\n disabled: user.user_metadata?.disabled === true,\n metadata: user.user_metadata\n };\n }\n /**\n * Expose the anon URL + key so other code (e.g. the same process's\n * storage provider or per-request client factories) can build user-scoped\n * clients without requiring a second config read.\n */\n getAnonClientConfig() {\n return { supabaseUrl: this.supabaseUrl, anonKey: this.anonKey };\n }\n}\nclass SupabasePasswordAuth {\n admin;\n anon;\n signIn;\n enableSelfSignup;\n hydrate;\n constructor(admin, anon, signIn, enableSelfSignup, hydrate) {\n this.admin = admin;\n this.anon = anon;\n this.signIn = signIn;\n this.enableSelfSignup = enableSelfSignup;\n this.hydrate = hydrate;\n }\n async verifyLogin(email, password) {\n const result = await this.signIn(email, password);\n if (!result)\n return { kind: \"failed\", reason: \"invalid_credentials\" };\n return { kind: \"success\", user: result.user, sessionToken: result.sessionToken };\n }\n async createUserWithPassword(email, password) {\n const { data, error } = await this.admin.auth.admin.createUser({\n email,\n password,\n email_confirm: true\n });\n if (error)\n throw error;\n if (!data.user)\n throw new Error(\"createUserWithPassword returned no user\");\n return this.hydrate(data.user);\n }\n async registerUser(email, password) {\n if (!this.enableSelfSignup)\n return null;\n const { data, error } = await this.anon.auth.signUp({ email, password });\n if (error || !data.user)\n return null;\n return this.hydrate(data.user);\n }\n}\nclass SupabaseOAuthAuth {\n anon;\n hydrate;\n providers;\n constructor(anon, hydrate, providers2) {\n this.anon = anon;\n this.hydrate = hydrate;\n this.providers = providers2;\n }\n listProviders() {\n return this.providers;\n }\n async getOAuthAuthorizationUrl(provider, redirectTo) {\n const { data, error } = await this.anon.auth.signInWithOAuth({\n provider,\n options: { redirectTo, skipBrowserRedirect: true }\n });\n if (error || !data.url)\n throw error ?? new Error(\"signInWithOAuth returned no URL\");\n return data.url;\n }\n async exchangeOAuthCode(code) {\n const { data, error } = await this.anon.auth.exchangeCodeForSession(code);\n if (error || !data.user || !data.session)\n return null;\n if (data.user.user_metadata?.disabled === true)\n return null;\n return {\n user: this.hydrate(data.user),\n sessionToken: data.session.access_token,\n refreshToken: data.session.refresh_token\n };\n }\n async refreshSession(refreshToken) {\n const { data, error } = await this.anon.auth.refreshSession({ refresh_token: refreshToken });\n if (error || !data.session)\n return null;\n return {\n sessionToken: data.session.access_token,\n refreshToken: data.session.refresh_token\n };\n }\n}\nclass SupabaseEmailLinkAuth {\n anon;\n hydrate;\n allowSignup;\n constructor(anon, hydrate, allowSignup) {\n this.anon = anon;\n this.hydrate = hydrate;\n this.allowSignup = allowSignup;\n }\n async sendMagicLink(email, callbackUrl) {\n const { error } = await this.anon.auth.signInWithOtp({\n email,\n options: {\n emailRedirectTo: callbackUrl,\n shouldCreateUser: this.allowSignup\n }\n });\n if (!error)\n return { ok: true };\n const status = error.status;\n const code = error.code;\n const message = error.message ?? \"\";\n if (status === 429 || /rate.?limit/i.test(message))\n return { ok: false, reason: \"rate_limited\" };\n if (code === \"otp_disabled\" || code === \"signup_disabled\" || /signup.*disabled/i.test(message)) {\n return { ok: false, reason: \"signup_disabled\" };\n }\n if (code === \"validation_failed\" || /invalid.*email|email.*invalid/i.test(message)) {\n return { ok: false, reason: \"invalid_email\" };\n }\n throw error;\n }\n async verifyMagicLink(rawCallbackUrl) {\n const params = parseCallbackParams(rawCallbackUrl);\n if (!params)\n return null;\n const { tokenHash, type } = params;\n const { data, error } = await this.anon.auth.verifyOtp({\n token_hash: tokenHash,\n type\n });\n if (error || !data.user || !data.session)\n return null;\n if (data.user.user_metadata?.disabled === true)\n return null;\n return {\n user: this.hydrate(data.user),\n sessionToken: data.session.access_token,\n refreshToken: data.session.refresh_token\n };\n }\n}\nfunction parseCallbackParams(raw) {\n let search;\n try {\n search = new URL(raw).searchParams;\n } catch {\n search = new URLSearchParams(raw.startsWith(\"?\") ? raw.slice(1) : raw);\n }\n const tokenHash = search.get(\"token_hash\");\n const type = search.get(\"type\");\n if (!tokenHash)\n return null;\n const allowed = /* @__PURE__ */ new Set([\"magiclink\", \"email\", \"signup\", \"invite\", \"recovery\"]);\n if (!type || !allowed.has(type))\n return null;\n return {\n tokenHash,\n type\n };\n}\nconst empty = () => ({ users: [] });\nconst LAST_LOGIN_DEBOUNCE_MS = 6e4;\nasync function readFile(filePath) {\n try {\n const raw = await fs.readFile(filePath, \"utf-8\");\n return JSON.parse(raw);\n } catch (err) {\n if (err.code === \"ENOENT\")\n return empty();\n throw err;\n }\n}\nasync function writeFile(filePath, data) {\n await fs.mkdir(path.dirname(filePath), { recursive: true });\n const tmp = `${filePath}.tmp`;\n await fs.writeFile(tmp, JSON.stringify(data, null, \"\t\"), \"utf-8\");\n await fs.rename(tmp, filePath);\n}\nfunction createAllowlistStore(filePath) {\n const norm = (upn) => upn.trim().toLowerCase();\n return {\n async findByUpn(upn) {\n const { users } = await readFile(filePath);\n const key = norm(upn);\n return users.find((u) => u.upn === key) ?? null;\n },\n async findByEmail(email) {\n const { users } = await readFile(filePath);\n const key = norm(email);\n return users.find((u) => norm(u.email ?? \"\") === key || u.upn === key) ?? null;\n },\n async findById(id) {\n const { users } = await readFile(filePath);\n return users.find((u) => u.id === id) ?? null;\n },\n async listUsers() {\n const { users } = await readFile(filePath);\n return users;\n },\n async createUser(upn) {\n const file = await readFile(filePath);\n const key = norm(upn);\n if (file.users.some((u) => u.upn === key)) {\n throw new ProviderError(`User with UPN \"${upn}\" already exists`, 409);\n }\n const entry = {\n id: randomUUID(),\n upn: key,\n createdAt: (/* @__PURE__ */ new Date()).toISOString()\n };\n file.users.push(entry);\n await writeFile(filePath, file);\n return entry;\n },\n async materializeFromHeaders(id, fields) {\n const file = await readFile(filePath);\n const user = file.users.find((u) => u.id === id);\n if (!user)\n return;\n let dirty = false;\n if (!user.email && fields.email) {\n user.email = fields.email;\n dirty = true;\n }\n if (!user.displayName && fields.displayName) {\n user.displayName = fields.displayName;\n dirty = true;\n }\n if (dirty)\n await writeFile(filePath, file);\n },\n async rebindUpn(id, upn) {\n const file = await readFile(filePath);\n const key = norm(upn);\n const user = file.users.find((u) => u.id === id);\n if (!user || user.upn === key)\n return;\n if (file.users.some((u) => u.id !== id && u.upn === key))\n return;\n user.upn = key;\n await writeFile(filePath, file);\n },\n async setDisabled(id, disabled) {\n const file = await readFile(filePath);\n const user = file.users.find((u) => u.id === id);\n if (!user)\n throw new ProviderError(`User \"${id}\" not found`, 404);\n user.disabled = disabled;\n await writeFile(filePath, file);\n },\n async touchLastLogin(id) {\n const file = await readFile(filePath);\n const user = file.users.find((u) => u.id === id);\n if (!user)\n return;\n const now = Date.now();\n if (user.lastLoginAt) {\n const prev = Date.parse(user.lastLoginAt);\n if (Number.isFinite(prev) && now - prev < LAST_LOGIN_DEBOUNCE_MS)\n return;\n }\n user.lastLoginAt = new Date(now).toISOString();\n await writeFile(filePath, file);\n },\n async deleteUser(id) {\n const file = await readFile(filePath);\n const before = file.users.length;\n file.users = file.users.filter((u) => u.id !== id);\n if (file.users.length === before)\n throw new ProviderError(`User \"${id}\" not found`, 404);\n await writeFile(filePath, file);\n }\n };\n}\nconst DEFAULT_HEADERS = {\n upn: \"SELVA-UserPrincipalName\",\n email: \"SELVA-Email\",\n displayName: \"SELVA-DisplayName\"\n};\nfunction toAuthUser(u) {\n return {\n id: u.id,\n email: u.email,\n metadata: { upn: u.upn, displayName: u.displayName },\n createdAt: u.createdAt,\n lastLoginAt: u.lastLoginAt,\n disabled: u.disabled\n };\n}\nclass HeaderProxyAuth {\n users;\n headers;\n bootstrapPolicy;\n // One-shot diagnostic flag. Flipped the first time we see a request that\n // carries none of the configured SELVA-* headers, so deploys with a\n // misconfigured proxy get a single loud warning in the logs without\n // spamming on every anonymous request. Reset is intentional — the\n // process restarts and you see the warning again next deploy.\n missingHeadersWarned = false;\n constructor(users, headers, bootstrapPolicy) {\n this.users = users;\n this.headers = headers;\n this.bootstrapPolicy = bootstrapPolicy;\n }\n setBootstrapPolicy(policy) {\n this.bootstrapPolicy = policy ?? void 0;\n }\n /**\n * Names of the configured identity headers, in priority order. Exposed so\n * the hook layer can emit per-page diagnostics (\"you hit /login without\n * these headers\") without having to know provider internals.\n */\n get configuredHeaderNames() {\n return [this.headers.upn, this.headers.email, this.headers.displayName];\n }\n /** True iff none of the configured identity headers are present. */\n hasNoIdentityHeaders(headers) {\n return !headers.get(this.headers.upn) && !headers.get(this.headers.email) && !headers.get(this.headers.displayName);\n }\n async identifyFromHeaders(headers) {\n const upn = headers.get(this.headers.upn);\n if (!upn || !upn.trim()) {\n if (!this.missingHeadersWarned && this.hasNoIdentityHeaders(headers)) {\n this.missingHeadersWarned = true;\n 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.`);\n }\n return null;\n }\n const email = headers.get(this.headers.email)?.trim() || void 0;\n const displayName = headers.get(this.headers.displayName)?.trim() || void 0;\n let entry = await this.users.findByUpn(upn);\n if (!entry && email) {\n const byEmail = await this.users.findByEmail(email);\n if (byEmail) {\n entry = byEmail;\n if (byEmail.upn !== upn.trim().toLowerCase()) {\n await this.users.rebindUpn(byEmail.id, upn).catch(() => {\n });\n }\n }\n }\n if (!entry && this.bootstrapPolicy) {\n const allowed = await this.bootstrapPolicy({ upn, email });\n if (allowed) {\n try {\n entry = await this.users.createUser(upn);\n } catch {\n entry = await this.users.findByUpn(upn);\n }\n }\n }\n if (!entry || entry.disabled) {\n return null;\n }\n if (!entry.email && email || !entry.displayName && displayName) {\n await this.users.materializeFromHeaders(entry.id, { email, displayName }).catch(() => {\n });\n if (email && !entry.email)\n entry.email = email;\n if (displayName && !entry.displayName)\n entry.displayName = displayName;\n }\n await this.users.touchLastLogin(entry.id).catch(() => {\n });\n return toAuthUser(entry);\n }\n}\nclass HeaderAuthProvider {\n users;\n headers;\n name = \"Header (Forward Auth)\";\n proxyAuth;\n constructor(config) {\n this.users = createAllowlistStore(config.allowlistFilePath);\n this.headers = { ...DEFAULT_HEADERS, ...config.headers };\n this.proxyAuth = new HeaderProxyAuth(this.users, this.headers, config.bootstrapAllowlistPolicy);\n }\n /**\n * Late-bind a bootstrap-allowlist policy. Useful when the policy needs\n * runtime state the platform layer owns (e.g. `hasInstanceAdmin`) and\n * therefore can't be wired up at provider construction time. Pass `null`\n * to clear.\n */\n setBootstrapAllowlistPolicy(policy) {\n this.proxyAuth.setBootstrapPolicy(policy);\n }\n static fromEnv(env) {\n const dir = env.HEADER_AUTH_DATA_DIR ?? env.DATA_PATH;\n if (!dir) {\n throw new Error(\"Missing required env var: HEADER_AUTH_DATA_DIR (or DATA_PATH as fallback). This directory holds header-allowlist.json — the pre-provisioned UPN list.\");\n }\n return new HeaderAuthProvider({\n allowlistFilePath: path.join(dir, \"header-allowlist.json\"),\n headers: {\n upn: env.HEADER_AUTH_UPN_HEADER ?? DEFAULT_HEADERS.upn,\n email: env.HEADER_AUTH_EMAIL_HEADER ?? DEFAULT_HEADERS.email,\n displayName: env.HEADER_AUTH_DISPLAY_NAME_HEADER ?? DEFAULT_HEADERS.displayName\n }\n });\n }\n /**\n * No tokens are issued by this provider — identity rides on every request\n * via the trusted-proxy headers. Always returns null; the hook layer\n * falls through to `proxyAuth.identifyFromHeaders`.\n */\n async verifyToken(_token) {\n return null;\n }\n async getUser(id) {\n const u = await this.users.findById(id);\n return u ? toAuthUser(u) : null;\n }\n async listUsers(opts) {\n const all = await this.users.listUsers();\n const limit = Math.min(Math.max(1, opts?.limit ?? 25), 200);\n const offset = opts?.cursor ? parseInt(opts.cursor, 10) || 0 : 0;\n const slice = all.slice(offset, offset + limit).map(toAuthUser);\n const nextOffset = offset + slice.length;\n return {\n items: slice,\n nextCursor: nextOffset < all.length ? String(nextOffset) : void 0\n };\n }\n /**\n * Allowlist a UPN. Admin POST `/admin/api/users` with `{ email }`; the\n * email IS the UPN for M365 / Entra deployments where they match. For\n * other IdPs, document the UPN format in your README/onboarding.\n */\n async createUser(upn) {\n return toAuthUser(await this.users.createUser(upn));\n }\n async deleteUser(id) {\n const target = await this.users.findById(id);\n if (!target)\n return \"not_found\";\n try {\n await this.users.deleteUser(id);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n async disableUser(id) {\n const target = await this.users.findById(id);\n if (!target)\n return \"not_found\";\n try {\n await this.users.setDisabled(id, true);\n return \"ok\";\n } catch (err) {\n if (err instanceof ProviderError && err.statusCode === 404)\n return \"not_found\";\n throw err;\n }\n }\n async touchLastLogin(id) {\n await this.users.touchLastLogin(id);\n }\n}\nclass DefinitionService {\n constructor(data, storage) {\n this.data = data;\n this.storage = storage;\n }\n data;\n storage;\n async create(ctx, input, file, schema) {\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const actor = ctx.userId || input.ownerId;\n const record = {\n guid: input.guid,\n projectId: input.projectId,\n ownerId: input.ownerId,\n createdBy: actor,\n updatedBy: actor,\n displayName: input.displayName,\n description: input.description,\n category: input.category,\n tags: input.tags,\n coverImage: input.coverImage,\n computeServerId: input.computeServerId,\n status: \"pending\",\n solveCount: 0,\n liveVersionId: null,\n draftVersionId: null,\n createdAt: now,\n updatedAt: now,\n deletedAt: null\n };\n await this.data.definitions.create(ctx, record);\n const versionId = randomUUID();\n const fileKey = definitionPaths.version(input.guid, 1, input.fileExt);\n await this.storage.put(fileKey, file, \"application/octet-stream\");\n const version = {\n id: versionId,\n definitionId: input.guid,\n versionNumber: 1,\n fileExt: input.fileExt,\n fileKey,\n originalFilename: input.originalFilename,\n uploadedBy: actor,\n uploadedAt: now,\n schema,\n schemaExtractedAt: now\n };\n await this.data.definitions.createVersion(ctx, version);\n await this.data.definitions.attachInitialVersion(ctx, input.guid, versionId);\n return {\n record: { ...record, status: \"draft\", liveVersionId: versionId, draftVersionId: versionId },\n version\n };\n }\n /**\n * Upload a new version of an existing definition. Writes the blob, inserts\n * the version row, and advances the draft pointer. `live` is unchanged —\n * use `publish` to promote.\n */\n async uploadVersion(ctx, guid, file, ext, originalName, schema, changeNote) {\n const existing = await this.data.definitions.get(ctx, guid);\n if (!existing) throw new ProviderError(`Definition not found: ${guid}`, 404);\n const versions = await this.data.definitions.listVersions(ctx, guid, { limit: 1 });\n const next = (versions.items[0]?.versionNumber ?? 0) + 1;\n const versionId = randomUUID();\n const fileKey = definitionPaths.version(guid, next, ext);\n await this.storage.put(fileKey, file, \"application/octet-stream\");\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const actor = ctx.userId || existing.ownerId;\n const version = {\n id: versionId,\n definitionId: guid,\n versionNumber: next,\n fileExt: ext,\n fileKey,\n originalFilename: originalName,\n uploadedBy: actor,\n uploadedAt: now,\n changeNote: changeNote?.trim() || void 0,\n schema,\n schemaExtractedAt: now\n };\n await this.data.definitions.createVersion(ctx, version);\n await this.data.definitions.setDraftVersion(ctx, guid, versionId);\n return version;\n }\n /**\n * Advance the live channel. If `versionId` is omitted, promotes the\n * current draft. Pass an arbitrary version id to roll forward/back —\n * spec §6 makes rollback a first-class operation.\n */\n async publish(ctx, guid, versionId) {\n const existing = await this.data.definitions.get(ctx, guid);\n if (!existing) throw new ProviderError(`Definition not found: ${guid}`, 404);\n const target = versionId ?? existing.draftVersionId;\n if (!target) throw new ProviderError(\"No version to publish\", 400);\n const version = await this.data.definitions.getVersion(ctx, target);\n if (!version || version.definitionId !== guid) {\n throw new ProviderError(`Version '${target}' not found for this definition`, 404);\n }\n await this.data.definitions.setLiveVersion(ctx, guid, target);\n if (existing.status === \"draft\" || existing.status === \"pending\") {\n await this.data.definitions.update(ctx, guid, { status: \"published\" });\n }\n return version;\n }\n async deleteVersion(ctx, guid, versionId) {\n const version = await this.data.definitions.getVersion(ctx, versionId);\n if (!version || version.definitionId !== guid) {\n throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n }\n await this.data.definitions.deleteVersion(ctx, versionId);\n await this.storage.delete(version.fileKey);\n }\n async updateMeta(ctx, guid, patch) {\n await this.data.definitions.update(ctx, guid, patch);\n }\n async saveCoverImage(ctx, guid, imageData) {\n const path2 = definitionPaths.image(guid);\n await this.storage.put(path2, imageData, \"image/webp\");\n const url = this.storage.getPublicUrl(path2);\n await this.data.definitions.update(ctx, guid, { coverImage: url });\n return url;\n }\n async delete(ctx, guid) {\n await this.data.definitions.delete(ctx, guid);\n await this.storage.deletePrefix(definitionPaths.prefix(guid));\n }\n}\nfunction envBool(e, key) {\n const v = e[key]?.toLowerCase();\n return v === \"true\" || v === \"1\" || v === \"yes\";\n}\nfunction pickAuth(e) {\n const choice = (e.SELVA_AUTH_PROVIDER ?? \"local\").toLowerCase();\n switch (choice) {\n case \"local\":\n return LocalAuthProvider.fromEnv(e);\n case \"supabase\":\n return SupabaseAuthProvider.fromEnv(e);\n case \"header\":\n return HeaderAuthProvider.fromEnv(e);\n default:\n throw new Error(\n `Unknown SELVA_AUTH_PROVIDER=\"${choice}\". Expected: local | supabase | header.`\n );\n }\n}\nfunction pickData(e) {\n const choice = (e.SELVA_DATA_PROVIDER ?? \"local\").toLowerCase();\n switch (choice) {\n case \"local\":\n return LocalDataProvider.fromEnv(e);\n case \"supabase\":\n return SupabaseDataProvider.fromEnv(e);\n default:\n throw new Error(`Unknown SELVA_DATA_PROVIDER=\"${choice}\". Expected: local | supabase.`);\n }\n}\nfunction pickStorage(e) {\n const choice = (e.SELVA_STORAGE_PROVIDER ?? \"local\").toLowerCase();\n switch (choice) {\n case \"local\":\n return LocalStorageProvider.fromEnv(e);\n case \"supabase\":\n return SupabaseStorageProvider.fromEnv(e);\n default:\n throw new Error(`Unknown SELVA_STORAGE_PROVIDER=\"${choice}\". Expected: local | supabase.`);\n }\n}\nfunction pickTenancy(e) {\n const choice = (e.SELVA_TENANCY ?? \"single\").toLowerCase();\n if (choice !== \"single\" && choice !== \"multi\") {\n throw new Error(`Unknown SELVA_TENANCY=\"${choice}\". Expected: single | multi.`);\n }\n return choice;\n}\nconst defaultConfig = defineConfig((e) => ({\n tenancy: pickTenancy(e),\n flags: {\n ALLOW_CROSS_ORG_PUBLIC: envBool(e, \"SELVA_FLAG_ALLOW_CROSS_ORG_PUBLIC\"),\n ALLOW_ORG_COMPUTE_OVERRIDE: envBool(e, \"SELVA_FLAG_ALLOW_ORG_COMPUTE_OVERRIDE\"),\n ALLOW_ORG_CREATION: envBool(e, \"SELVA_FLAG_ALLOW_ORG_CREATION\"),\n ENABLE_PLATFORM_PROJECTS: envBool(e, \"SELVA_FLAG_ENABLE_PLATFORM_PROJECTS\"),\n ENABLE_SHARING: envBool(e, \"SELVA_FLAG_ENABLE_SHARING\")\n },\n branding: {\n name: e.SELVA_BRAND_NAME,\n copyrightName: e.SELVA_BRAND_COPYRIGHT_NAME,\n tagline: e.SELVA_BRAND_TAGLINE,\n description: e.SELVA_BRAND_DESCRIPTION\n },\n auth: pickAuth(e),\n data: pickData(e),\n storage: pickStorage(e)\n}));\nasync function loadRawConfig() {\n const override = private_env.SELVA_CONFIG_PATH;\n if (!override) {\n return defaultConfig;\n }\n const abs = resolve(process.cwd(), override);\n if (!existsSync(abs)) {\n throw new Error(`SELVA_CONFIG_PATH=${override} resolved to ${abs} which does not exist.`);\n }\n const mod = await import(\n /* @vite-ignore */\n pathToFileURL(abs).href\n );\n return mod.default;\n}\nconst _raw = await loadRawConfig();\nconst providers = typeof _raw === \"function\" ? _raw(private_env) : _raw;\nconst tenancy = providers.tenancy ?? \"single\";\nconsole.log(\n `[selva] providers wired: auth=${providers.auth.name} data=${providers.data.constructor.name} storage=${providers.storage.constructor.name} tenancy=${tenancy}` + (private_env.SELVA_CONFIG_PATH ? ` config=${private_env.SELVA_CONFIG_PATH}` : \"\")\n);\nconst _brand = providers.branding ?? {};\nconst _name = _brand.name?.trim() || \"Selva\";\nconst branding = {\n name: _name,\n copyrightName: _brand.copyrightName?.trim() || _name,\n tagline: _brand.tagline?.trim() || \"Turn Grasshopper definitions into tools anyone can use.\",\n description: _brand.description?.trim() || `Build and deploy interactive web applications powered by Grasshopper definitions with ${_name}.`\n};\nproviders.flags ?? {};\nfunction flag(name) {\n return isFlagEnabled(providers, name);\n}\nconst definitionService = new DefinitionService(providers.data, providers.storage);\nfunction getAuthProvider() {\n return providers.auth;\n}\nfunction getStorageProvider() {\n return providers.storage;\n}\nfunction getDataProvider() {\n return providers.data;\n}\nfunction getOrganizationProvider() {\n return providers.data.orgs;\n}\nfunction getProjectProvider() {\n return providers.data.projects;\n}\nfunction getDefinitionMeta() {\n return providers.data.definitions;\n}\nfunction getComputeServerConfigStore() {\n return providers.data.computeServer;\n}\nfunction getUserProfileStore() {\n return providers.data.userProfile;\n}\nfunction getInviteStore() {\n return providers.data.invites;\n}\nfunction getPermissionStore() {\n return providers.data.permissions;\n}\nfunction getPlatformProjectGrantStore() {\n return providers.data.platformProjectGrants;\n}\nfunction getAuditQuery() {\n return providers.data.auditQuery ?? null;\n}\nexport {\n LocalComputeServerStore as L,\n MAX_PAGE_LIMIT as M,\n ProviderError as P,\n definitionService as a,\n branding as b,\n getAuthProvider as c,\n definitionPaths as d,\n getComputeServerConfigStore as e,\n flag as f,\n getAuditQuery as g,\n getDataProvider as h,\n getDefinitionMeta as i,\n getInviteStore as j,\n getOrganizationProvider as k,\n getPermissionStore as l,\n getPlatformProjectGrantStore as m,\n getProjectProvider as n,\n getStorageProvider as o,\n getUserProfileStore as p,\n isOrgServer as q,\n isPlatformServer as r,\n providers as s,\n tenancy as t\n};\n"],"names":[],"mappings":"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"}