@selvajs/selva 4.3.5 → 4.4.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 (1266) hide show
  1. package/build/client/_app/immutable/assets/0.fkooa_RK.css +1 -0
  2. package/build/client/_app/immutable/assets/0.fkooa_RK.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.fkooa_RK.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm +0 -0
  5. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm.br +0 -0
  6. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm.gz +0 -0
  7. package/build/client/_app/immutable/chunks/-xEd7dwr.js +35 -0
  8. package/build/client/_app/immutable/chunks/-xEd7dwr.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/-xEd7dwr.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/13pdkq-i.js +1 -0
  11. package/build/client/_app/immutable/chunks/13pdkq-i.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/13pdkq-i.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/2BnY_oab.js +1 -0
  14. package/build/client/_app/immutable/chunks/2BnY_oab.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/2BnY_oab.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/4WJ3PVN5.js +1 -0
  17. package/build/client/_app/immutable/chunks/4WJ3PVN5.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/4WJ3PVN5.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/5h7wo9xN.js +1 -0
  20. package/build/client/_app/immutable/chunks/5h7wo9xN.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/5h7wo9xN.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/B-fj8b7K.js +2 -0
  23. package/build/client/_app/immutable/chunks/B-fj8b7K.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/B-fj8b7K.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/B3KcsPFR.js +1 -0
  26. package/build/client/_app/immutable/chunks/B3KcsPFR.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/B3KcsPFR.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/B48NJnzU.js +1 -0
  29. package/build/client/_app/immutable/chunks/B48NJnzU.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/B48NJnzU.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/B5HD-6Ib.js +1 -0
  32. package/build/client/_app/immutable/chunks/B5HD-6Ib.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/B5HD-6Ib.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/BH9oGrlA.js +1 -0
  35. package/build/client/_app/immutable/chunks/BH9oGrlA.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/BH9oGrlA.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/BHzbkLpq.js +1 -0
  38. package/build/client/_app/immutable/chunks/BHzbkLpq.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BHzbkLpq.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/BKZ_D8Qd.js +1 -0
  41. package/build/client/_app/immutable/chunks/BKZ_D8Qd.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/BKZ_D8Qd.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/BMNUAT2D.js +1 -0
  44. package/build/client/_app/immutable/chunks/BMNUAT2D.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/BMNUAT2D.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/BNs1__IY.js +1 -0
  47. package/build/client/_app/immutable/chunks/BNs1__IY.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/BNs1__IY.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/BU70HLVx.js +3 -0
  50. package/build/client/_app/immutable/chunks/BU70HLVx.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/BU70HLVx.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/BUqheMDA.js +1 -0
  53. package/build/client/_app/immutable/chunks/BUqheMDA.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/BUqheMDA.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/Ba74WbdD.js +1 -0
  56. package/build/client/_app/immutable/chunks/Ba74WbdD.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/Ba74WbdD.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/Bex2dy3F.js +1 -0
  59. package/build/client/_app/immutable/chunks/Bex2dy3F.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/Bex2dy3F.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/BfraRswf.js +1 -0
  62. package/build/client/_app/immutable/chunks/BfraRswf.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/BfraRswf.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/BjB88iwt.js +1 -0
  65. package/build/client/_app/immutable/chunks/BjB88iwt.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/BjB88iwt.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/BoqXamYe.js +1 -0
  68. package/build/client/_app/immutable/chunks/BoqXamYe.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/BoqXamYe.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/BsZHa2Wi.js +1 -0
  71. package/build/client/_app/immutable/chunks/BsZHa2Wi.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/BsZHa2Wi.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/C-j7zMFr.js +1 -0
  74. package/build/client/_app/immutable/chunks/C-j7zMFr.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/C-j7zMFr.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/CBjt6cm5.js +1 -0
  77. package/build/client/_app/immutable/chunks/CBjt6cm5.js.br +1 -0
  78. package/build/client/_app/immutable/chunks/CBjt6cm5.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/CE8BcsFf.js +1 -0
  80. package/build/client/_app/immutable/chunks/CE8BcsFf.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/CE8BcsFf.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/CJPg7PqR.js +1 -0
  83. package/build/client/_app/immutable/chunks/CJPg7PqR.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/CJPg7PqR.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/CO55fzTt.js +1 -0
  86. package/build/client/_app/immutable/chunks/CO55fzTt.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/CO55fzTt.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/COSBQK9i.js +1 -0
  89. package/build/client/_app/immutable/chunks/COSBQK9i.js.br +0 -0
  90. package/build/client/_app/immutable/chunks/COSBQK9i.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/COWz2et1.js +1 -0
  92. package/build/client/_app/immutable/chunks/COWz2et1.js.br +0 -0
  93. package/build/client/_app/immutable/chunks/COWz2et1.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/CQerFpzT.js +1 -0
  95. package/build/client/_app/immutable/chunks/CQerFpzT.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/CQerFpzT.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/Cauzi832.js +1 -0
  98. package/build/client/_app/immutable/chunks/Cauzi832.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/Cauzi832.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/CcBbOJ-v.js +1 -0
  101. package/build/client/_app/immutable/chunks/CcBbOJ-v.js.br +2 -0
  102. package/build/client/_app/immutable/chunks/CcBbOJ-v.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/CdGNQgyw.js +1 -0
  104. package/build/client/_app/immutable/chunks/CdGNQgyw.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/CdGNQgyw.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/Ch5nD1rA.js +1 -0
  107. package/build/client/_app/immutable/chunks/Ch5nD1rA.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/Ch5nD1rA.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/Ckd6DpGW.js +1 -0
  110. package/build/client/_app/immutable/chunks/Ckd6DpGW.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/Ckd6DpGW.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/Cpd8PqU3.js +1 -0
  113. package/build/client/_app/immutable/chunks/Cpd8PqU3.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/Cpd8PqU3.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/CwEiVMBL.js +1 -0
  116. package/build/client/_app/immutable/chunks/CwEiVMBL.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/CwEiVMBL.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/D-jj-Uww.js +1 -0
  119. package/build/client/_app/immutable/chunks/D-jj-Uww.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/D-jj-Uww.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/D7wuDTx2.js +1 -0
  122. package/build/client/_app/immutable/chunks/D7wuDTx2.js.br +0 -0
  123. package/build/client/_app/immutable/chunks/D7wuDTx2.js.gz +0 -0
  124. package/build/client/_app/immutable/chunks/D9MTzuwb.js +1 -0
  125. package/build/client/_app/immutable/chunks/D9MTzuwb.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/D9MTzuwb.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/D9Y6MiT8.js +9 -0
  128. package/build/client/_app/immutable/chunks/D9Y6MiT8.js.br +0 -0
  129. package/build/client/_app/immutable/chunks/D9Y6MiT8.js.gz +0 -0
  130. package/build/client/_app/immutable/chunks/DApsykQI.js +1 -0
  131. package/build/client/_app/immutable/chunks/DApsykQI.js.br +0 -0
  132. package/build/client/_app/immutable/chunks/DApsykQI.js.gz +0 -0
  133. package/build/client/_app/immutable/chunks/DC8WqQE0.js +1 -0
  134. package/build/client/_app/immutable/chunks/DC8WqQE0.js.br +0 -0
  135. package/build/client/_app/immutable/chunks/DC8WqQE0.js.gz +0 -0
  136. package/build/client/_app/immutable/chunks/DCgyaAAq.js +1 -0
  137. package/build/client/_app/immutable/chunks/DCgyaAAq.js.br +0 -0
  138. package/build/client/_app/immutable/chunks/DCgyaAAq.js.gz +0 -0
  139. package/build/client/_app/immutable/chunks/DFnVpznB.js +1 -0
  140. package/build/client/_app/immutable/chunks/DFnVpznB.js.br +4 -0
  141. package/build/client/_app/immutable/chunks/DFnVpznB.js.gz +0 -0
  142. package/build/client/_app/immutable/chunks/DH_OLMrQ.js +1 -0
  143. package/build/client/_app/immutable/chunks/DH_OLMrQ.js.br +0 -0
  144. package/build/client/_app/immutable/chunks/DH_OLMrQ.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/DU8tQv0c.js +1 -0
  146. package/build/client/_app/immutable/chunks/DU8tQv0c.js.br +0 -0
  147. package/build/client/_app/immutable/chunks/DU8tQv0c.js.gz +0 -0
  148. package/build/client/_app/immutable/chunks/DUpVdSFf.js +1 -0
  149. package/build/client/_app/immutable/chunks/DUpVdSFf.js.br +0 -0
  150. package/build/client/_app/immutable/chunks/DUpVdSFf.js.gz +0 -0
  151. package/build/client/_app/immutable/chunks/Db5P7BwC.js +64 -0
  152. package/build/client/_app/immutable/chunks/Db5P7BwC.js.br +0 -0
  153. package/build/client/_app/immutable/chunks/Db5P7BwC.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/DfcDRMtE.js +1 -0
  155. package/build/client/_app/immutable/chunks/DfcDRMtE.js.br +0 -0
  156. package/build/client/_app/immutable/chunks/DfcDRMtE.js.gz +0 -0
  157. package/build/client/_app/immutable/chunks/Dw6fzgfW.js +1 -0
  158. package/build/client/_app/immutable/chunks/Dw6fzgfW.js.br +0 -0
  159. package/build/client/_app/immutable/chunks/Dw6fzgfW.js.gz +0 -0
  160. package/build/client/_app/immutable/chunks/DzNzLgOO.js +1 -0
  161. package/build/client/_app/immutable/chunks/DzNzLgOO.js.br +0 -0
  162. package/build/client/_app/immutable/chunks/DzNzLgOO.js.gz +0 -0
  163. package/build/client/_app/immutable/chunks/E7F5LllG.js +1 -0
  164. package/build/client/_app/immutable/chunks/E7F5LllG.js.br +0 -0
  165. package/build/client/_app/immutable/chunks/E7F5LllG.js.gz +0 -0
  166. package/build/client/_app/immutable/chunks/FdBsYR_f.js +1 -0
  167. package/build/client/_app/immutable/chunks/FdBsYR_f.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/FdBsYR_f.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/NPsDidaV.js +1 -0
  170. package/build/client/_app/immutable/chunks/NPsDidaV.js.br +0 -0
  171. package/build/client/_app/immutable/chunks/NPsDidaV.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/OVtUuDzp.js +1 -0
  173. package/build/client/_app/immutable/chunks/OVtUuDzp.js.br +0 -0
  174. package/build/client/_app/immutable/chunks/OVtUuDzp.js.gz +0 -0
  175. package/build/client/_app/immutable/chunks/Qf_Lg02h.js +1 -0
  176. package/build/client/_app/immutable/chunks/Qf_Lg02h.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/Qf_Lg02h.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/RmXOMQTe.js +1 -0
  179. package/build/client/_app/immutable/chunks/RmXOMQTe.js.br +0 -0
  180. package/build/client/_app/immutable/chunks/RmXOMQTe.js.gz +0 -0
  181. package/build/client/_app/immutable/chunks/X4d9Q9UP.js +1 -0
  182. package/build/client/_app/immutable/chunks/X4d9Q9UP.js.br +0 -0
  183. package/build/client/_app/immutable/chunks/X4d9Q9UP.js.gz +0 -0
  184. package/build/client/_app/immutable/chunks/atM6maCg.js +1 -0
  185. package/build/client/_app/immutable/chunks/atM6maCg.js.br +0 -0
  186. package/build/client/_app/immutable/chunks/atM6maCg.js.gz +0 -0
  187. package/build/client/_app/immutable/chunks/j-UbJSFZ.js +1 -0
  188. package/build/client/_app/immutable/chunks/j-UbJSFZ.js.br +0 -0
  189. package/build/client/_app/immutable/chunks/j-UbJSFZ.js.gz +0 -0
  190. package/build/client/_app/immutable/chunks/qxoHibue.js +1 -0
  191. package/build/client/_app/immutable/chunks/qxoHibue.js.br +0 -0
  192. package/build/client/_app/immutable/chunks/qxoHibue.js.gz +0 -0
  193. package/build/client/_app/immutable/entry/app.CsJrZk_i.js +2 -0
  194. package/build/client/_app/immutable/entry/app.CsJrZk_i.js.br +0 -0
  195. package/build/client/_app/immutable/entry/app.CsJrZk_i.js.gz +0 -0
  196. package/build/client/_app/immutable/entry/start.vCkjGHiU.js +1 -0
  197. package/build/client/_app/immutable/entry/start.vCkjGHiU.js.br +2 -0
  198. package/build/client/_app/immutable/entry/start.vCkjGHiU.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/0.B0UCbyvV.js +1 -0
  200. package/build/client/_app/immutable/nodes/0.B0UCbyvV.js.br +0 -0
  201. package/build/client/_app/immutable/nodes/0.B0UCbyvV.js.gz +0 -0
  202. package/build/client/_app/immutable/nodes/1.wSjQD-9E.js +1 -0
  203. package/build/client/_app/immutable/nodes/1.wSjQD-9E.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/1.wSjQD-9E.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/10.Ct49OwC1.js +3 -0
  206. package/build/client/_app/immutable/nodes/10.Ct49OwC1.js.br +0 -0
  207. package/build/client/_app/immutable/nodes/10.Ct49OwC1.js.gz +0 -0
  208. package/build/client/_app/immutable/nodes/11.cZPocN3B.js +2 -0
  209. package/build/client/_app/immutable/nodes/11.cZPocN3B.js.br +0 -0
  210. package/build/client/_app/immutable/nodes/11.cZPocN3B.js.gz +0 -0
  211. package/build/client/_app/immutable/nodes/12.BqHQ_pQ5.js +1 -0
  212. package/build/client/_app/immutable/nodes/12.BqHQ_pQ5.js.br +0 -0
  213. package/build/client/_app/immutable/nodes/12.BqHQ_pQ5.js.gz +0 -0
  214. package/build/client/_app/immutable/nodes/13.CZxapN5I.js +2 -0
  215. package/build/client/_app/immutable/nodes/13.CZxapN5I.js.br +0 -0
  216. package/build/client/_app/immutable/nodes/13.CZxapN5I.js.gz +0 -0
  217. package/build/client/_app/immutable/nodes/14.ChDvrNjp.js +2 -0
  218. package/build/client/_app/immutable/nodes/14.ChDvrNjp.js.br +0 -0
  219. package/build/client/_app/immutable/nodes/14.ChDvrNjp.js.gz +0 -0
  220. package/build/client/_app/immutable/nodes/15.B2tLGWDu.js +13 -0
  221. package/build/client/_app/immutable/nodes/15.B2tLGWDu.js.br +0 -0
  222. package/build/client/_app/immutable/nodes/15.B2tLGWDu.js.gz +0 -0
  223. package/build/client/_app/immutable/nodes/16.Cewxge5m.js +6 -0
  224. package/build/client/_app/immutable/nodes/16.Cewxge5m.js.br +0 -0
  225. package/build/client/_app/immutable/nodes/16.Cewxge5m.js.gz +0 -0
  226. package/build/client/_app/immutable/nodes/17.NlvAvTSP.js +2 -0
  227. package/build/client/_app/immutable/nodes/17.NlvAvTSP.js.br +0 -0
  228. package/build/client/_app/immutable/nodes/17.NlvAvTSP.js.gz +0 -0
  229. package/build/client/_app/immutable/nodes/19.qNGlcD7l.js +2 -0
  230. package/build/client/_app/immutable/nodes/19.qNGlcD7l.js.br +0 -0
  231. package/build/client/_app/immutable/nodes/19.qNGlcD7l.js.gz +0 -0
  232. package/build/client/_app/immutable/nodes/2.CgydK0lI.js +1 -0
  233. package/build/client/_app/immutable/nodes/2.CgydK0lI.js.br +0 -0
  234. package/build/client/_app/immutable/nodes/2.CgydK0lI.js.gz +0 -0
  235. package/build/client/_app/immutable/nodes/20.CoGCSB-X.js +5021 -0
  236. package/build/client/_app/immutable/nodes/20.CoGCSB-X.js.br +0 -0
  237. package/build/client/_app/immutable/nodes/20.CoGCSB-X.js.gz +0 -0
  238. package/build/client/_app/immutable/nodes/21.CdZLvQ68.js +6 -0
  239. package/build/client/_app/immutable/nodes/21.CdZLvQ68.js.br +0 -0
  240. package/build/client/_app/immutable/nodes/21.CdZLvQ68.js.gz +0 -0
  241. package/build/client/_app/immutable/nodes/23.CmSUvEas.js +16 -0
  242. package/build/client/_app/immutable/nodes/23.CmSUvEas.js.br +0 -0
  243. package/build/client/_app/immutable/nodes/23.CmSUvEas.js.gz +0 -0
  244. package/build/client/_app/immutable/nodes/24.BLrWFvpH.js +6 -0
  245. package/build/client/_app/immutable/nodes/24.BLrWFvpH.js.br +0 -0
  246. package/build/client/_app/immutable/nodes/24.BLrWFvpH.js.gz +0 -0
  247. package/build/client/_app/immutable/nodes/25.DQ1u0u88.js +1 -0
  248. package/build/client/_app/immutable/nodes/25.DQ1u0u88.js.br +0 -0
  249. package/build/client/_app/immutable/nodes/25.DQ1u0u88.js.gz +0 -0
  250. package/build/client/_app/immutable/nodes/26.Ds_gf_O9.js +3 -0
  251. package/build/client/_app/immutable/nodes/26.Ds_gf_O9.js.br +0 -0
  252. package/build/client/_app/immutable/nodes/26.Ds_gf_O9.js.gz +0 -0
  253. package/build/client/_app/immutable/nodes/27.DF8_FNgX.js +4 -0
  254. package/build/client/_app/immutable/nodes/27.DF8_FNgX.js.br +0 -0
  255. package/build/client/_app/immutable/nodes/27.DF8_FNgX.js.gz +0 -0
  256. package/build/client/_app/immutable/nodes/28.u-nHYDMp.js +4 -0
  257. package/build/client/_app/immutable/nodes/28.u-nHYDMp.js.br +0 -0
  258. package/build/client/_app/immutable/nodes/28.u-nHYDMp.js.gz +0 -0
  259. package/build/client/_app/immutable/nodes/29.zcWmCBtG.js +2 -0
  260. package/build/client/_app/immutable/nodes/29.zcWmCBtG.js.br +0 -0
  261. package/build/client/_app/immutable/nodes/29.zcWmCBtG.js.gz +0 -0
  262. package/build/client/_app/immutable/nodes/3.CGYG-fBC.js +1 -0
  263. package/build/client/_app/immutable/nodes/3.CGYG-fBC.js.br +0 -0
  264. package/build/client/_app/immutable/nodes/3.CGYG-fBC.js.gz +0 -0
  265. package/build/client/_app/immutable/nodes/30.CFRFw3XM.js +2 -0
  266. package/build/client/_app/immutable/nodes/30.CFRFw3XM.js.br +0 -0
  267. package/build/client/_app/immutable/nodes/30.CFRFw3XM.js.gz +0 -0
  268. package/build/client/_app/immutable/nodes/31.CaWXI_qm.js +2 -0
  269. package/build/client/_app/immutable/nodes/31.CaWXI_qm.js.br +0 -0
  270. package/build/client/_app/immutable/nodes/31.CaWXI_qm.js.gz +0 -0
  271. package/build/client/_app/immutable/nodes/32.Drmb2nxJ.js +3 -0
  272. package/build/client/_app/immutable/nodes/32.Drmb2nxJ.js.br +0 -0
  273. package/build/client/_app/immutable/nodes/32.Drmb2nxJ.js.gz +0 -0
  274. package/build/client/_app/immutable/nodes/5.BIDVFrKz.js +1 -0
  275. package/build/client/_app/immutable/nodes/5.BIDVFrKz.js.br +2 -0
  276. package/build/client/_app/immutable/nodes/5.BIDVFrKz.js.gz +0 -0
  277. package/build/client/_app/immutable/nodes/6.G8VTWVfQ.js +1 -0
  278. package/build/client/_app/immutable/nodes/6.G8VTWVfQ.js.br +0 -0
  279. package/build/client/_app/immutable/nodes/6.G8VTWVfQ.js.gz +0 -0
  280. package/build/client/_app/immutable/nodes/7.DaJ_YKCW.js +1 -0
  281. package/build/client/_app/immutable/nodes/7.DaJ_YKCW.js.br +0 -0
  282. package/build/client/_app/immutable/nodes/7.DaJ_YKCW.js.gz +0 -0
  283. package/build/client/_app/immutable/nodes/8.c3ONIRmr.js +2 -0
  284. package/build/client/_app/immutable/nodes/8.c3ONIRmr.js.br +0 -0
  285. package/build/client/_app/immutable/nodes/8.c3ONIRmr.js.gz +0 -0
  286. package/build/client/_app/immutable/nodes/9.BucDMSoZ.js +1 -0
  287. package/build/client/_app/immutable/nodes/9.BucDMSoZ.js.br +0 -0
  288. package/build/client/_app/immutable/nodes/9.BucDMSoZ.js.gz +0 -0
  289. package/build/client/_app/version.json +1 -1
  290. package/build/client/_app/version.json.br +0 -0
  291. package/build/client/_app/version.json.gz +0 -0
  292. package/build/server/chunks/0-DIp1vX-0.js +55 -0
  293. package/build/server/chunks/0-DIp1vX-0.js.map +1 -0
  294. package/build/server/chunks/1-2fHcSF9r.js +9 -0
  295. package/build/server/chunks/1-2fHcSF9r.js.map +1 -0
  296. package/build/server/chunks/10-D4slAhbl.js +222 -0
  297. package/build/server/chunks/10-D4slAhbl.js.map +1 -0
  298. package/build/server/chunks/11-BIn4AcHz.js +59 -0
  299. package/build/server/chunks/11-BIn4AcHz.js.map +1 -0
  300. package/build/server/chunks/12-BTFEd1df.js +52 -0
  301. package/build/server/chunks/12-BTFEd1df.js.map +1 -0
  302. package/build/server/chunks/13-DoxggNWI.js +57 -0
  303. package/build/server/chunks/13-DoxggNWI.js.map +1 -0
  304. package/build/server/chunks/14-dn1AxT2y.js +100 -0
  305. package/build/server/chunks/14-dn1AxT2y.js.map +1 -0
  306. package/build/server/chunks/15-CwlxfscS.js +45 -0
  307. package/build/server/chunks/15-CwlxfscS.js.map +1 -0
  308. package/build/server/chunks/16-CYmJwOTN.js +85 -0
  309. package/build/server/chunks/16-CYmJwOTN.js.map +1 -0
  310. package/build/server/chunks/17-2g3z6ge8.js +9 -0
  311. package/build/server/chunks/17-2g3z6ge8.js.map +1 -0
  312. package/build/server/chunks/18-DS1IDuFS.js +74 -0
  313. package/build/server/chunks/18-DS1IDuFS.js.map +1 -0
  314. package/build/server/chunks/19-D7P-oKm4.js +94 -0
  315. package/build/server/chunks/19-D7P-oKm4.js.map +1 -0
  316. package/build/server/chunks/2-x36H91MM.js +43 -0
  317. package/build/server/chunks/2-x36H91MM.js.map +1 -0
  318. package/build/server/chunks/20-Cb9g4A7Q.js +218 -0
  319. package/build/server/chunks/20-Cb9g4A7Q.js.map +1 -0
  320. package/build/server/chunks/21-CpI2moj3.js +83 -0
  321. package/build/server/chunks/21-CpI2moj3.js.map +1 -0
  322. package/build/server/chunks/23-cbMfA5sY.js +137 -0
  323. package/build/server/chunks/23-cbMfA5sY.js.map +1 -0
  324. package/build/server/chunks/24-CA3DPT0t.js +145 -0
  325. package/build/server/chunks/24-CA3DPT0t.js.map +1 -0
  326. package/build/server/chunks/25-DludrCpg.js +51 -0
  327. package/build/server/chunks/25-DludrCpg.js.map +1 -0
  328. package/build/server/chunks/26-Dia3LwgX.js +9 -0
  329. package/build/server/chunks/26-Dia3LwgX.js.map +1 -0
  330. package/build/server/chunks/27-BDtKZzPl.js +57 -0
  331. package/build/server/chunks/27-BDtKZzPl.js.map +1 -0
  332. package/build/server/chunks/28-Dvh0YyMK.js +69 -0
  333. package/build/server/chunks/28-Dvh0YyMK.js.map +1 -0
  334. package/build/server/chunks/29-OZbtFuyd.js +55 -0
  335. package/build/server/chunks/29-OZbtFuyd.js.map +1 -0
  336. package/build/server/chunks/3-BFx3bdEz.js +9 -0
  337. package/build/server/chunks/3-BFx3bdEz.js.map +1 -0
  338. package/build/server/chunks/30-BuoO_cIR.js +57 -0
  339. package/build/server/chunks/30-BuoO_cIR.js.map +1 -0
  340. package/build/server/chunks/31-Dzl1y1lc.js +42 -0
  341. package/build/server/chunks/31-Dzl1y1lc.js.map +1 -0
  342. package/build/server/chunks/32-DEYwWtss.js +34 -0
  343. package/build/server/chunks/32-DEYwWtss.js.map +1 -0
  344. package/build/server/chunks/5-BNfM-tOw.js +32 -0
  345. package/build/server/chunks/5-BNfM-tOw.js.map +1 -0
  346. package/build/server/chunks/6-CEx1JO4m.js +40 -0
  347. package/build/server/chunks/6-CEx1JO4m.js.map +1 -0
  348. package/build/server/chunks/7-Cz-fnTMA.js +19 -0
  349. package/build/server/chunks/7-Cz-fnTMA.js.map +1 -0
  350. package/build/server/chunks/8-CFNvkchb.js +130 -0
  351. package/build/server/chunks/8-CFNvkchb.js.map +1 -0
  352. package/build/server/chunks/9-DrF9Yg9r.js +48 -0
  353. package/build/server/chunks/9-DrF9Yg9r.js.map +1 -0
  354. package/build/server/chunks/AppHeader-vae2Doza.js +271 -0
  355. package/build/server/chunks/AppHeader-vae2Doza.js.map +1 -0
  356. package/build/server/chunks/DefinitionCard-RTmYlhOH.js +268 -0
  357. package/build/server/chunks/DefinitionCard-RTmYlhOH.js.map +1 -0
  358. package/build/server/chunks/ErrorScreen-d8Z8hQ1U.js +131 -0
  359. package/build/server/chunks/ErrorScreen-d8Z8hQ1U.js.map +1 -0
  360. package/build/server/chunks/FilterableDropdown-0UzIjcXJ.js +61 -0
  361. package/build/server/chunks/FilterableDropdown-0UzIjcXJ.js.map +1 -0
  362. package/build/server/chunks/SideNav-QbExg2MG.js +87 -0
  363. package/build/server/chunks/SideNav-QbExg2MG.js.map +1 -0
  364. package/build/server/chunks/StatCard-CRzbit9Z.js +50 -0
  365. package/build/server/chunks/StatCard-CRzbit9Z.js.map +1 -0
  366. package/build/server/chunks/UserChip-BPLEgzMp.js +1220 -0
  367. package/build/server/chunks/UserChip-BPLEgzMp.js.map +1 -0
  368. package/build/server/chunks/_error.svelte-DCuOEylf.js +29 -0
  369. package/build/server/chunks/_error.svelte-DCuOEylf.js.map +1 -0
  370. package/build/server/chunks/_error.svelte-DKd7sQzn.js +27 -0
  371. package/build/server/chunks/_error.svelte-DKd7sQzn.js.map +1 -0
  372. package/build/server/chunks/_layout.svelte-D5GiNGr6.js +108 -0
  373. package/build/server/chunks/_layout.svelte-D5GiNGr6.js.map +1 -0
  374. package/build/server/chunks/_layout.svelte-VX4FX0S-.js +795 -0
  375. package/build/server/chunks/_layout.svelte-VX4FX0S-.js.map +1 -0
  376. package/build/server/chunks/_layout.svelte-_enyp5QE.js +45 -0
  377. package/build/server/chunks/_layout.svelte-_enyp5QE.js.map +1 -0
  378. package/build/server/chunks/_layout.svelte-aflz8r6I.js +155 -0
  379. package/build/server/chunks/_layout.svelte-aflz8r6I.js.map +1 -0
  380. package/build/server/chunks/_page.svelte-B8iLZ6Zi.js +119 -0
  381. package/build/server/chunks/_page.svelte-B8iLZ6Zi.js.map +1 -0
  382. package/build/server/chunks/_page.svelte-BHM2cdfQ.js +119 -0
  383. package/build/server/chunks/_page.svelte-BHM2cdfQ.js.map +1 -0
  384. package/build/server/chunks/_page.svelte-BYPZuYIR.js +276 -0
  385. package/build/server/chunks/_page.svelte-BYPZuYIR.js.map +1 -0
  386. package/build/server/chunks/_page.svelte-Big1I6tL.js +274 -0
  387. package/build/server/chunks/_page.svelte-Big1I6tL.js.map +1 -0
  388. package/build/server/chunks/_page.svelte-Bqwz1thf.js +146 -0
  389. package/build/server/chunks/_page.svelte-Bqwz1thf.js.map +1 -0
  390. package/build/server/chunks/_page.svelte-By_vYfbZ.js +525 -0
  391. package/build/server/chunks/_page.svelte-By_vYfbZ.js.map +1 -0
  392. package/build/server/chunks/_page.svelte-CD9Uvy6Y.js +595 -0
  393. package/build/server/chunks/_page.svelte-CD9Uvy6Y.js.map +1 -0
  394. package/build/server/chunks/_page.svelte-CIO9nnXR.js +557 -0
  395. package/build/server/chunks/_page.svelte-CIO9nnXR.js.map +1 -0
  396. package/build/server/chunks/_page.svelte-CaoALwvK.js +453 -0
  397. package/build/server/chunks/_page.svelte-CaoALwvK.js.map +1 -0
  398. package/build/server/chunks/_page.svelte-CjvLz8T1.js +906 -0
  399. package/build/server/chunks/_page.svelte-CjvLz8T1.js.map +1 -0
  400. package/build/server/chunks/_page.svelte-DIn0gOqM.js +609 -0
  401. package/build/server/chunks/_page.svelte-DIn0gOqM.js.map +1 -0
  402. package/build/server/chunks/_page.svelte-DKPG7AbM.js +113 -0
  403. package/build/server/chunks/_page.svelte-DKPG7AbM.js.map +1 -0
  404. package/build/server/chunks/_page.svelte-DM3XizZi.js +3858 -0
  405. package/build/server/chunks/_page.svelte-DM3XizZi.js.map +1 -0
  406. package/build/server/chunks/_page.svelte-DamuIhBm.js +168 -0
  407. package/build/server/chunks/_page.svelte-DamuIhBm.js.map +1 -0
  408. package/build/server/chunks/_page.svelte-DcbxsxZM.js +330 -0
  409. package/build/server/chunks/_page.svelte-DcbxsxZM.js.map +1 -0
  410. package/build/server/chunks/_page.svelte-DcqwTr6T.js +250 -0
  411. package/build/server/chunks/_page.svelte-DcqwTr6T.js.map +1 -0
  412. package/build/server/chunks/_page.svelte-DtVw2EYT.js +56 -0
  413. package/build/server/chunks/_page.svelte-DtVw2EYT.js.map +1 -0
  414. package/build/server/chunks/_page.svelte-DyTTCbrh.js +83 -0
  415. package/build/server/chunks/_page.svelte-DyTTCbrh.js.map +1 -0
  416. package/build/server/chunks/_page.svelte-FDFRMnmB.js +333 -0
  417. package/build/server/chunks/_page.svelte-FDFRMnmB.js.map +1 -0
  418. package/build/server/chunks/_page.svelte-Ut97NZhy.js +714 -0
  419. package/build/server/chunks/_page.svelte-Ut97NZhy.js.map +1 -0
  420. package/build/server/chunks/_page.svelte-ZxjqrKH8.js +72 -0
  421. package/build/server/chunks/_page.svelte-ZxjqrKH8.js.map +1 -0
  422. package/build/server/chunks/_page.svelte-jwU-46Sj.js +301 -0
  423. package/build/server/chunks/_page.svelte-jwU-46Sj.js.map +1 -0
  424. package/build/server/chunks/_page.svelte-lAupF47l.js +424 -0
  425. package/build/server/chunks/_page.svelte-lAupF47l.js.map +1 -0
  426. package/build/server/chunks/_page.svelte-wUV5pt7K.js +11617 -0
  427. package/build/server/chunks/_page.svelte-wUV5pt7K.js.map +1 -0
  428. package/build/server/chunks/_server.ts-A5TZCqa5.js +83 -0
  429. package/build/server/chunks/_server.ts-A5TZCqa5.js.map +1 -0
  430. package/build/server/chunks/_server.ts-BBenjXRj.js +60 -0
  431. package/build/server/chunks/_server.ts-BBenjXRj.js.map +1 -0
  432. package/build/server/chunks/_server.ts-BDVOe9oZ.js +41 -0
  433. package/build/server/chunks/_server.ts-BDVOe9oZ.js.map +1 -0
  434. package/build/server/chunks/_server.ts-BNSHTRhw.js +111 -0
  435. package/build/server/chunks/_server.ts-BNSHTRhw.js.map +1 -0
  436. package/build/server/chunks/_server.ts-Bel_bV82.js +50 -0
  437. package/build/server/chunks/_server.ts-Bel_bV82.js.map +1 -0
  438. package/build/server/chunks/_server.ts-BnV_32U5.js +105 -0
  439. package/build/server/chunks/_server.ts-BnV_32U5.js.map +1 -0
  440. package/build/server/chunks/_server.ts-C4BxZ2rC.js +162 -0
  441. package/build/server/chunks/_server.ts-C4BxZ2rC.js.map +1 -0
  442. package/build/server/chunks/_server.ts-C4lve0n9.js +108 -0
  443. package/build/server/chunks/_server.ts-C4lve0n9.js.map +1 -0
  444. package/build/server/chunks/_server.ts-C8hNi-NM.js +88 -0
  445. package/build/server/chunks/_server.ts-C8hNi-NM.js.map +1 -0
  446. package/build/server/chunks/_server.ts-CFmfnLGv.js +83 -0
  447. package/build/server/chunks/_server.ts-CFmfnLGv.js.map +1 -0
  448. package/build/server/chunks/_server.ts-CVgSO8yh.js +72 -0
  449. package/build/server/chunks/_server.ts-CVgSO8yh.js.map +1 -0
  450. package/build/server/chunks/_server.ts-CXvixtRW.js +84 -0
  451. package/build/server/chunks/_server.ts-CXvixtRW.js.map +1 -0
  452. package/build/server/chunks/_server.ts-CYnQlbaG.js +101 -0
  453. package/build/server/chunks/_server.ts-CYnQlbaG.js.map +1 -0
  454. package/build/server/chunks/_server.ts-Ck8MaVCN.js +73 -0
  455. package/build/server/chunks/_server.ts-Ck8MaVCN.js.map +1 -0
  456. package/build/server/chunks/_server.ts-CmB_7_VV.js +398 -0
  457. package/build/server/chunks/_server.ts-CmB_7_VV.js.map +1 -0
  458. package/build/server/chunks/_server.ts-CoZrqfhl.js +80 -0
  459. package/build/server/chunks/_server.ts-CoZrqfhl.js.map +1 -0
  460. package/build/server/chunks/_server.ts-Ctmv-46q.js +43 -0
  461. package/build/server/chunks/_server.ts-Ctmv-46q.js.map +1 -0
  462. package/build/server/chunks/_server.ts-CtwHDS7C.js +51 -0
  463. package/build/server/chunks/_server.ts-CtwHDS7C.js.map +1 -0
  464. package/build/server/chunks/_server.ts-Cu7fT_h2.js +31 -0
  465. package/build/server/chunks/_server.ts-Cu7fT_h2.js.map +1 -0
  466. package/build/server/chunks/_server.ts-CvjBKoOG.js +39 -0
  467. package/build/server/chunks/_server.ts-CvjBKoOG.js.map +1 -0
  468. package/build/server/chunks/_server.ts-DCmcZ1Gb.js +60 -0
  469. package/build/server/chunks/_server.ts-DCmcZ1Gb.js.map +1 -0
  470. package/build/server/chunks/_server.ts-DOepVbAV.js +41 -0
  471. package/build/server/chunks/_server.ts-DOepVbAV.js.map +1 -0
  472. package/build/server/chunks/_server.ts-DQdxI18h.js +40 -0
  473. package/build/server/chunks/_server.ts-DQdxI18h.js.map +1 -0
  474. package/build/server/chunks/_server.ts-DaL0WEpS.js +37 -0
  475. package/build/server/chunks/_server.ts-DaL0WEpS.js.map +1 -0
  476. package/build/server/chunks/_server.ts-DbcwlSqy.js +65 -0
  477. package/build/server/chunks/_server.ts-DbcwlSqy.js.map +1 -0
  478. package/build/server/chunks/_server.ts-DgbeoluB.js +75 -0
  479. package/build/server/chunks/_server.ts-DgbeoluB.js.map +1 -0
  480. package/build/server/chunks/_server.ts-DgjIv5VO.js +31 -0
  481. package/build/server/chunks/_server.ts-DgjIv5VO.js.map +1 -0
  482. package/build/server/chunks/_server.ts-Drk8mhhT.js +44 -0
  483. package/build/server/chunks/_server.ts-Drk8mhhT.js.map +1 -0
  484. package/build/server/chunks/_server.ts-Dsn1xqkb.js +40 -0
  485. package/build/server/chunks/_server.ts-Dsn1xqkb.js.map +1 -0
  486. package/build/server/chunks/_server.ts-DzoHhw3c.js +77 -0
  487. package/build/server/chunks/_server.ts-DzoHhw3c.js.map +1 -0
  488. package/build/server/chunks/_server.ts-Mywogv28.js +32 -0
  489. package/build/server/chunks/_server.ts-Mywogv28.js.map +1 -0
  490. package/build/server/chunks/_server.ts-TGu9dCIM.js +96 -0
  491. package/build/server/chunks/_server.ts-TGu9dCIM.js.map +1 -0
  492. package/build/server/chunks/_server.ts-_nasPzxH.js +39 -0
  493. package/build/server/chunks/_server.ts-_nasPzxH.js.map +1 -0
  494. package/build/server/chunks/_server.ts-aJ-1nqR3.js +63 -0
  495. package/build/server/chunks/_server.ts-aJ-1nqR3.js.map +1 -0
  496. package/build/server/chunks/_server.ts-eAeNUEse.js +86 -0
  497. package/build/server/chunks/_server.ts-eAeNUEse.js.map +1 -0
  498. package/build/server/chunks/_server.ts-jICcnrLz.js +36 -0
  499. package/build/server/chunks/_server.ts-jICcnrLz.js.map +1 -0
  500. package/build/server/chunks/_server.ts-pUwXCS2e.js +39 -0
  501. package/build/server/chunks/_server.ts-pUwXCS2e.js.map +1 -0
  502. package/build/server/chunks/_server.ts-vGCP86Du.js +449 -0
  503. package/build/server/chunks/_server.ts-vGCP86Du.js.map +1 -0
  504. package/build/server/chunks/_server.ts-y7PjdP_H.js +33 -0
  505. package/build/server/chunks/_server.ts-y7PjdP_H.js.map +1 -0
  506. package/build/server/chunks/access.server-BueyYEoY.js +408 -0
  507. package/build/server/chunks/access.server-BueyYEoY.js.map +1 -0
  508. package/build/server/chunks/activity-Dmfe6yjx.js +18 -0
  509. package/build/server/chunks/activity-Dmfe6yjx.js.map +1 -0
  510. package/build/server/chunks/alert-description-BNqu-OG5.js +59 -0
  511. package/build/server/chunks/alert-description-BNqu-OG5.js.map +1 -0
  512. package/build/server/chunks/api-errors-BckwXK7Q.js +101 -0
  513. package/build/server/chunks/api-errors-BckwXK7Q.js.map +1 -0
  514. package/build/server/chunks/arrow-left-KOVWDB5k.js +14 -0
  515. package/build/server/chunks/arrow-left-KOVWDB5k.js.map +1 -0
  516. package/build/server/chunks/arrow-right-D0bOY6-5.js +14 -0
  517. package/build/server/chunks/arrow-right-D0bOY6-5.js.map +1 -0
  518. package/build/server/chunks/auth-bootstrap.server-BOTw9HkY.js +99 -0
  519. package/build/server/chunks/auth-bootstrap.server-BOTw9HkY.js.map +1 -0
  520. package/build/server/chunks/badge-DIEbxzcl.js +50 -0
  521. package/build/server/chunks/badge-DIEbxzcl.js.map +1 -0
  522. package/build/server/chunks/bootHealth.server-BwEi-Qp8.js +58 -0
  523. package/build/server/chunks/bootHealth.server-BwEi-Qp8.js.map +1 -0
  524. package/build/server/chunks/building-2-DFvNRZpq.js +22 -0
  525. package/build/server/chunks/building-2-DFvNRZpq.js.map +1 -0
  526. package/build/server/chunks/button-DPLE4Wc8.js +73 -0
  527. package/build/server/chunks/button-DPLE4Wc8.js.map +1 -0
  528. package/build/server/chunks/card-content-BlxX1RCO.js +46 -0
  529. package/build/server/chunks/card-content-BlxX1RCO.js.map +1 -0
  530. package/build/server/chunks/card-description-Z3TpzjmK.js +26 -0
  531. package/build/server/chunks/card-description-Z3TpzjmK.js.map +1 -0
  532. package/build/server/chunks/card-title-CdR5nQ-b.js +46 -0
  533. package/build/server/chunks/card-title-CdR5nQ-b.js.map +1 -0
  534. package/build/server/chunks/check-382jBCB9.js +11 -0
  535. package/build/server/chunks/check-382jBCB9.js.map +1 -0
  536. package/build/server/chunks/chevron-down-D5-hWbt-.js +11 -0
  537. package/build/server/chunks/chevron-down-D5-hWbt-.js.map +1 -0
  538. package/build/server/chunks/chevron-right-BqxmmxHL.js +11 -0
  539. package/build/server/chunks/chevron-right-BqxmmxHL.js.map +1 -0
  540. package/build/server/chunks/chevron-up-StZ3cnZ8.js +11 -0
  541. package/build/server/chunks/chevron-up-StZ3cnZ8.js.map +1 -0
  542. package/build/server/chunks/circle-DgRVKHBX.js +11 -0
  543. package/build/server/chunks/circle-DgRVKHBX.js.map +1 -0
  544. package/build/server/chunks/circle-alert-DVGjYRbM.js +18 -0
  545. package/build/server/chunks/circle-alert-DVGjYRbM.js.map +1 -0
  546. package/build/server/chunks/computeLimits-DPO6NbLd.js +27 -0
  547. package/build/server/chunks/computeLimits-DPO6NbLd.js.map +1 -0
  548. package/build/server/chunks/context-BJnJL8ES.js +141 -0
  549. package/build/server/chunks/context-BJnJL8ES.js.map +1 -0
  550. package/build/server/chunks/copy-ifB2TUP_.js +29 -0
  551. package/build/server/chunks/copy-ifB2TUP_.js.map +1 -0
  552. package/build/server/chunks/dialog-description-DJ0KQ8Zk.js +523 -0
  553. package/build/server/chunks/dialog-description-DJ0KQ8Zk.js.map +1 -0
  554. package/build/server/chunks/dialog-footer-CuTfgUTD.js +62 -0
  555. package/build/server/chunks/dialog-footer-CuTfgUTD.js.map +1 -0
  556. package/build/server/chunks/folder-kanban-pqeOGmPr.js +21 -0
  557. package/build/server/chunks/folder-kanban-pqeOGmPr.js.map +1 -0
  558. package/build/server/chunks/folder-open-Cs60gLjJ.js +18 -0
  559. package/build/server/chunks/folder-open-Cs60gLjJ.js.map +1 -0
  560. package/build/server/chunks/folders-u0VAZ6yv.js +24 -0
  561. package/build/server/chunks/folders-u0VAZ6yv.js.map +1 -0
  562. package/build/server/chunks/footerContext.svelte-DM5rvLUk.js +531 -0
  563. package/build/server/chunks/footerContext.svelte-DM5rvLUk.js.map +1 -0
  564. package/build/server/chunks/hooks.server-BHmZpgdz.js +225 -0
  565. package/build/server/chunks/hooks.server-BHmZpgdz.js.map +1 -0
  566. package/build/server/chunks/index2-DDc7DI9Y.js +430 -0
  567. package/build/server/chunks/index2-DDc7DI9Y.js.map +1 -0
  568. package/build/server/chunks/index3-BVw88ujT.js +4246 -0
  569. package/build/server/chunks/index3-BVw88ujT.js.map +1 -0
  570. package/build/server/chunks/index4-CCteFD1i.js +541 -0
  571. package/build/server/chunks/index4-CCteFD1i.js.map +1 -0
  572. package/build/server/chunks/input-BEmCftCF.js +53 -0
  573. package/build/server/chunks/input-BEmCftCF.js.map +1 -0
  574. package/build/server/chunks/label-D8oB1018.js +112 -0
  575. package/build/server/chunks/label-D8oB1018.js.map +1 -0
  576. package/build/server/chunks/link-2-D3b2vEpL.js +15 -0
  577. package/build/server/chunks/link-2-D3b2vEpL.js.map +1 -0
  578. package/build/server/chunks/mail-DZDbJkFt.js +17 -0
  579. package/build/server/chunks/mail-DZDbJkFt.js.map +1 -0
  580. package/build/server/chunks/minus-B7toCaYG.js +20 -0
  581. package/build/server/chunks/minus-B7toCaYG.js.map +1 -0
  582. package/build/server/chunks/noop-BGJY5rVY.js +270 -0
  583. package/build/server/chunks/noop-BGJY5rVY.js.map +1 -0
  584. package/build/server/chunks/package-CGdqH7nx.js +29 -0
  585. package/build/server/chunks/package-CGdqH7nx.js.map +1 -0
  586. package/build/server/chunks/permissions-compat.server-G174xsh6.js +19 -0
  587. package/build/server/chunks/permissions-compat.server-G174xsh6.js.map +1 -0
  588. package/build/server/chunks/permissions.server-D1KUdeD1.js +8 -0
  589. package/build/server/chunks/permissions.server-D1KUdeD1.js.map +1 -0
  590. package/build/server/chunks/plus-j_UY0EeU.js +11 -0
  591. package/build/server/chunks/plus-j_UY0EeU.js.map +1 -0
  592. package/build/server/chunks/providers.server-BYk2ehLM.js +4399 -0
  593. package/build/server/chunks/providers.server-BYk2ehLM.js.map +1 -0
  594. package/build/server/chunks/refresh-cw-B6mwsgBf.js +22 -0
  595. package/build/server/chunks/refresh-cw-B6mwsgBf.js.map +1 -0
  596. package/build/server/chunks/resolve.server-D79ZavTd.js +50 -0
  597. package/build/server/chunks/resolve.server-D79ZavTd.js.map +1 -0
  598. package/build/server/chunks/rotate-ccw-DChq5zhW.js +17 -0
  599. package/build/server/chunks/rotate-ccw-DChq5zhW.js.map +1 -0
  600. package/build/server/chunks/scroll-lock-NAQO_S1Y.js +2853 -0
  601. package/build/server/chunks/scroll-lock-NAQO_S1Y.js.map +1 -0
  602. package/build/server/chunks/scroll-text-Bi9gx_V4.js +21 -0
  603. package/build/server/chunks/scroll-text-Bi9gx_V4.js.map +1 -0
  604. package/build/server/chunks/server-LxtlHpuz.js +36 -0
  605. package/build/server/chunks/server-LxtlHpuz.js.map +1 -0
  606. package/build/server/chunks/settings-Cr5mYyBS.js +19 -0
  607. package/build/server/chunks/settings-Cr5mYyBS.js.map +1 -0
  608. package/build/server/chunks/shield-BSf8CVMT.js +18 -0
  609. package/build/server/chunks/shield-BSf8CVMT.js.map +1 -0
  610. package/build/server/chunks/shield-check-OpZRvDHN.js +19 -0
  611. package/build/server/chunks/shield-check-OpZRvDHN.js.map +1 -0
  612. package/build/server/chunks/star-KGWYAeYA.js +18 -0
  613. package/build/server/chunks/star-KGWYAeYA.js.map +1 -0
  614. package/build/server/chunks/textarea-DmyNBs20.js +559 -0
  615. package/build/server/chunks/textarea-DmyNBs20.js.map +1 -0
  616. package/build/server/chunks/trash-2-DmuR9br3.js +17 -0
  617. package/build/server/chunks/trash-2-DmuR9br3.js.map +1 -0
  618. package/build/server/chunks/triangle-alert-Dig9abwC.js +20 -0
  619. package/build/server/chunks/triangle-alert-Dig9abwC.js.map +1 -0
  620. package/build/server/chunks/user-plus-Jn4Z4v9g.js +16 -0
  621. package/build/server/chunks/user-plus-Jn4Z4v9g.js.map +1 -0
  622. package/build/server/chunks/users-BgwwwoIh.js +16 -0
  623. package/build/server/chunks/users-BgwwwoIh.js.map +1 -0
  624. package/build/server/chunks/utils2-UQQTHTw-.js +50 -0
  625. package/build/server/chunks/utils2-UQQTHTw-.js.map +1 -0
  626. package/build/server/chunks/utils3-Dv2HSd2-.js +80 -0
  627. package/build/server/chunks/utils3-Dv2HSd2-.js.map +1 -0
  628. package/build/server/chunks/x-B1q8Cpoy.js +14 -0
  629. package/build/server/chunks/x-B1q8Cpoy.js.map +1 -0
  630. package/build/server/index.js +2 -2
  631. package/build/server/index.js.map +1 -1
  632. package/build/server/manifest.js +71 -71
  633. package/build/server/manifest.js.map +1 -1
  634. package/package.json +9 -8
  635. package/templates/.env.example +11 -0
  636. package/build/client/_app/immutable/assets/0.-MS0dTYb.css +0 -1
  637. package/build/client/_app/immutable/assets/0.-MS0dTYb.css.br +0 -0
  638. package/build/client/_app/immutable/assets/0.-MS0dTYb.css.gz +0 -0
  639. package/build/client/_app/immutable/chunks/3Ah3Y6N9.js +0 -1
  640. package/build/client/_app/immutable/chunks/3Ah3Y6N9.js.br +0 -0
  641. package/build/client/_app/immutable/chunks/3Ah3Y6N9.js.gz +0 -0
  642. package/build/client/_app/immutable/chunks/B-Kuf-9K.js +0 -1
  643. package/build/client/_app/immutable/chunks/B-Kuf-9K.js.br +0 -0
  644. package/build/client/_app/immutable/chunks/B-Kuf-9K.js.gz +0 -0
  645. package/build/client/_app/immutable/chunks/B1z9if9B.js +0 -1
  646. package/build/client/_app/immutable/chunks/B1z9if9B.js.br +0 -0
  647. package/build/client/_app/immutable/chunks/B1z9if9B.js.gz +0 -0
  648. package/build/client/_app/immutable/chunks/B21bldal.js +0 -1
  649. package/build/client/_app/immutable/chunks/B21bldal.js.br +0 -0
  650. package/build/client/_app/immutable/chunks/B21bldal.js.gz +0 -0
  651. package/build/client/_app/immutable/chunks/B6_AR4oL.js +0 -1
  652. package/build/client/_app/immutable/chunks/B6_AR4oL.js.br +0 -0
  653. package/build/client/_app/immutable/chunks/B6_AR4oL.js.gz +0 -0
  654. package/build/client/_app/immutable/chunks/BEFa4rcT.js +0 -1
  655. package/build/client/_app/immutable/chunks/BEFa4rcT.js.br +0 -4
  656. package/build/client/_app/immutable/chunks/BEFa4rcT.js.gz +0 -0
  657. package/build/client/_app/immutable/chunks/BGIAOk5X.js +0 -1
  658. package/build/client/_app/immutable/chunks/BGIAOk5X.js.br +0 -0
  659. package/build/client/_app/immutable/chunks/BGIAOk5X.js.gz +0 -0
  660. package/build/client/_app/immutable/chunks/BHhjUaik.js +0 -1
  661. package/build/client/_app/immutable/chunks/BHhjUaik.js.br +0 -0
  662. package/build/client/_app/immutable/chunks/BHhjUaik.js.gz +0 -0
  663. package/build/client/_app/immutable/chunks/BIIXkPqf.js +0 -1
  664. package/build/client/_app/immutable/chunks/BIIXkPqf.js.br +0 -0
  665. package/build/client/_app/immutable/chunks/BIIXkPqf.js.gz +0 -0
  666. package/build/client/_app/immutable/chunks/BLZ195WY.js +0 -1
  667. package/build/client/_app/immutable/chunks/BLZ195WY.js.br +0 -0
  668. package/build/client/_app/immutable/chunks/BLZ195WY.js.gz +0 -0
  669. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js +0 -1
  670. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js.br +0 -0
  671. package/build/client/_app/immutable/chunks/BM8Ok6pJ.js.gz +0 -0
  672. package/build/client/_app/immutable/chunks/BOsr6E_d.js +0 -1
  673. package/build/client/_app/immutable/chunks/BOsr6E_d.js.br +0 -1
  674. package/build/client/_app/immutable/chunks/BOsr6E_d.js.gz +0 -0
  675. package/build/client/_app/immutable/chunks/BX0gN9mF.js +0 -1
  676. package/build/client/_app/immutable/chunks/BX0gN9mF.js.br +0 -0
  677. package/build/client/_app/immutable/chunks/BX0gN9mF.js.gz +0 -0
  678. package/build/client/_app/immutable/chunks/BaMCSMGs.js +0 -1
  679. package/build/client/_app/immutable/chunks/BaMCSMGs.js.br +0 -0
  680. package/build/client/_app/immutable/chunks/BaMCSMGs.js.gz +0 -0
  681. package/build/client/_app/immutable/chunks/Bg5E8RaK.js +0 -1
  682. package/build/client/_app/immutable/chunks/Bg5E8RaK.js.br +0 -0
  683. package/build/client/_app/immutable/chunks/Bg5E8RaK.js.gz +0 -0
  684. package/build/client/_app/immutable/chunks/BihI7LuH.js +0 -1
  685. package/build/client/_app/immutable/chunks/BihI7LuH.js.br +0 -0
  686. package/build/client/_app/immutable/chunks/BihI7LuH.js.gz +0 -0
  687. package/build/client/_app/immutable/chunks/Bma65zV8.js +0 -1
  688. package/build/client/_app/immutable/chunks/Bma65zV8.js.br +0 -0
  689. package/build/client/_app/immutable/chunks/Bma65zV8.js.gz +0 -0
  690. package/build/client/_app/immutable/chunks/BnzoF81W.js +0 -1
  691. package/build/client/_app/immutable/chunks/BnzoF81W.js.br +0 -1
  692. package/build/client/_app/immutable/chunks/BnzoF81W.js.gz +0 -0
  693. package/build/client/_app/immutable/chunks/BpQqe39G.js +0 -1
  694. package/build/client/_app/immutable/chunks/BpQqe39G.js.br +0 -0
  695. package/build/client/_app/immutable/chunks/BpQqe39G.js.gz +0 -0
  696. package/build/client/_app/immutable/chunks/BsKtJj5h.js +0 -1
  697. package/build/client/_app/immutable/chunks/BsKtJj5h.js.br +0 -0
  698. package/build/client/_app/immutable/chunks/BsKtJj5h.js.gz +0 -0
  699. package/build/client/_app/immutable/chunks/BtugGMaj.js +0 -1
  700. package/build/client/_app/immutable/chunks/BtugGMaj.js.br +0 -0
  701. package/build/client/_app/immutable/chunks/BtugGMaj.js.gz +0 -0
  702. package/build/client/_app/immutable/chunks/Buy2icyP.js +0 -9
  703. package/build/client/_app/immutable/chunks/Buy2icyP.js.br +0 -0
  704. package/build/client/_app/immutable/chunks/Buy2icyP.js.gz +0 -0
  705. package/build/client/_app/immutable/chunks/Bwn5lHBl.js +0 -1
  706. package/build/client/_app/immutable/chunks/Bwn5lHBl.js.br +0 -0
  707. package/build/client/_app/immutable/chunks/Bwn5lHBl.js.gz +0 -0
  708. package/build/client/_app/immutable/chunks/C3WxOOC9.js +0 -1
  709. package/build/client/_app/immutable/chunks/C3WxOOC9.js.br +0 -0
  710. package/build/client/_app/immutable/chunks/C3WxOOC9.js.gz +0 -0
  711. package/build/client/_app/immutable/chunks/CDmA5ezP.js +0 -1
  712. package/build/client/_app/immutable/chunks/CDmA5ezP.js.br +0 -0
  713. package/build/client/_app/immutable/chunks/CDmA5ezP.js.gz +0 -0
  714. package/build/client/_app/immutable/chunks/CEKDr1yG.js +0 -1
  715. package/build/client/_app/immutable/chunks/CEKDr1yG.js.br +0 -0
  716. package/build/client/_app/immutable/chunks/CEKDr1yG.js.gz +0 -0
  717. package/build/client/_app/immutable/chunks/CE_gxD9G.js +0 -1
  718. package/build/client/_app/immutable/chunks/CE_gxD9G.js.br +0 -0
  719. package/build/client/_app/immutable/chunks/CE_gxD9G.js.gz +0 -0
  720. package/build/client/_app/immutable/chunks/CEmcKzrr.js +0 -2
  721. package/build/client/_app/immutable/chunks/CEmcKzrr.js.br +0 -0
  722. package/build/client/_app/immutable/chunks/CEmcKzrr.js.gz +0 -0
  723. package/build/client/_app/immutable/chunks/CGKZc1Kf.js +0 -1
  724. package/build/client/_app/immutable/chunks/CGKZc1Kf.js.br +0 -0
  725. package/build/client/_app/immutable/chunks/CGKZc1Kf.js.gz +0 -0
  726. package/build/client/_app/immutable/chunks/CIHhLSqA.js +0 -1
  727. package/build/client/_app/immutable/chunks/CIHhLSqA.js.br +0 -0
  728. package/build/client/_app/immutable/chunks/CIHhLSqA.js.gz +0 -0
  729. package/build/client/_app/immutable/chunks/CNC_mCsM.js +0 -1
  730. package/build/client/_app/immutable/chunks/CNC_mCsM.js.br +0 -0
  731. package/build/client/_app/immutable/chunks/CNC_mCsM.js.gz +0 -0
  732. package/build/client/_app/immutable/chunks/CYyqq9B1.js +0 -1
  733. package/build/client/_app/immutable/chunks/CYyqq9B1.js.br +0 -0
  734. package/build/client/_app/immutable/chunks/CYyqq9B1.js.gz +0 -0
  735. package/build/client/_app/immutable/chunks/CeS0GhtF.js +0 -1
  736. package/build/client/_app/immutable/chunks/CeS0GhtF.js.br +0 -0
  737. package/build/client/_app/immutable/chunks/CeS0GhtF.js.gz +0 -0
  738. package/build/client/_app/immutable/chunks/CnXIg_dO.js +0 -1
  739. package/build/client/_app/immutable/chunks/CnXIg_dO.js.br +0 -0
  740. package/build/client/_app/immutable/chunks/CnXIg_dO.js.gz +0 -0
  741. package/build/client/_app/immutable/chunks/CqKeVIM6.js +0 -4108
  742. package/build/client/_app/immutable/chunks/CqKeVIM6.js.br +0 -0
  743. package/build/client/_app/immutable/chunks/CqKeVIM6.js.gz +0 -0
  744. package/build/client/_app/immutable/chunks/Cqb2-zYs.js +0 -1
  745. package/build/client/_app/immutable/chunks/Cqb2-zYs.js.br +0 -0
  746. package/build/client/_app/immutable/chunks/Cqb2-zYs.js.gz +0 -0
  747. package/build/client/_app/immutable/chunks/CumXBEVX.js +0 -1
  748. package/build/client/_app/immutable/chunks/CumXBEVX.js.br +0 -0
  749. package/build/client/_app/immutable/chunks/CumXBEVX.js.gz +0 -0
  750. package/build/client/_app/immutable/chunks/CzCTTv8Q.js +0 -1
  751. package/build/client/_app/immutable/chunks/CzCTTv8Q.js.br +0 -0
  752. package/build/client/_app/immutable/chunks/CzCTTv8Q.js.gz +0 -0
  753. package/build/client/_app/immutable/chunks/D-3pI9hp.js +0 -1
  754. package/build/client/_app/immutable/chunks/D-3pI9hp.js.br +0 -0
  755. package/build/client/_app/immutable/chunks/D-3pI9hp.js.gz +0 -0
  756. package/build/client/_app/immutable/chunks/D-Fls4-N.js +0 -1
  757. package/build/client/_app/immutable/chunks/D-Fls4-N.js.br +0 -0
  758. package/build/client/_app/immutable/chunks/D-Fls4-N.js.gz +0 -0
  759. package/build/client/_app/immutable/chunks/D1xkoVpc.js +0 -1
  760. package/build/client/_app/immutable/chunks/D1xkoVpc.js.br +0 -3
  761. package/build/client/_app/immutable/chunks/D1xkoVpc.js.gz +0 -0
  762. package/build/client/_app/immutable/chunks/DRpLcVdK.js +0 -1
  763. package/build/client/_app/immutable/chunks/DRpLcVdK.js.br +0 -0
  764. package/build/client/_app/immutable/chunks/DRpLcVdK.js.gz +0 -0
  765. package/build/client/_app/immutable/chunks/DYfK6Plb.js +0 -1
  766. package/build/client/_app/immutable/chunks/DYfK6Plb.js.br +0 -1
  767. package/build/client/_app/immutable/chunks/DYfK6Plb.js.gz +0 -0
  768. package/build/client/_app/immutable/chunks/DZM0bVcB.js +0 -1
  769. package/build/client/_app/immutable/chunks/DZM0bVcB.js.br +0 -0
  770. package/build/client/_app/immutable/chunks/DZM0bVcB.js.gz +0 -0
  771. package/build/client/_app/immutable/chunks/D_gPt7DB.js +0 -1
  772. package/build/client/_app/immutable/chunks/D_gPt7DB.js.br +0 -0
  773. package/build/client/_app/immutable/chunks/D_gPt7DB.js.gz +0 -0
  774. package/build/client/_app/immutable/chunks/DdEmEaOR.js +0 -1
  775. package/build/client/_app/immutable/chunks/DdEmEaOR.js.br +0 -0
  776. package/build/client/_app/immutable/chunks/DdEmEaOR.js.gz +0 -0
  777. package/build/client/_app/immutable/chunks/De-Sjn1V.js +0 -1
  778. package/build/client/_app/immutable/chunks/De-Sjn1V.js.br +0 -0
  779. package/build/client/_app/immutable/chunks/De-Sjn1V.js.gz +0 -0
  780. package/build/client/_app/immutable/chunks/DeMiewtM.js +0 -1
  781. package/build/client/_app/immutable/chunks/DeMiewtM.js.br +0 -0
  782. package/build/client/_app/immutable/chunks/DeMiewtM.js.gz +0 -0
  783. package/build/client/_app/immutable/chunks/DfbumCTS.js +0 -1
  784. package/build/client/_app/immutable/chunks/DfbumCTS.js.br +0 -0
  785. package/build/client/_app/immutable/chunks/DfbumCTS.js.gz +0 -0
  786. package/build/client/_app/immutable/chunks/Diyh8RG-.js +0 -1
  787. package/build/client/_app/immutable/chunks/Diyh8RG-.js.br +0 -0
  788. package/build/client/_app/immutable/chunks/Diyh8RG-.js.gz +0 -0
  789. package/build/client/_app/immutable/chunks/DkVLFJC2.js +0 -64
  790. package/build/client/_app/immutable/chunks/DkVLFJC2.js.br +0 -0
  791. package/build/client/_app/immutable/chunks/DkVLFJC2.js.gz +0 -0
  792. package/build/client/_app/immutable/chunks/Dl_x4ktn.js +0 -1
  793. package/build/client/_app/immutable/chunks/Dl_x4ktn.js.br +0 -0
  794. package/build/client/_app/immutable/chunks/Dl_x4ktn.js.gz +0 -0
  795. package/build/client/_app/immutable/chunks/Dn_lJm0y.js +0 -1
  796. package/build/client/_app/immutable/chunks/Dn_lJm0y.js.br +0 -0
  797. package/build/client/_app/immutable/chunks/Dn_lJm0y.js.gz +0 -0
  798. package/build/client/_app/immutable/chunks/DoPqAbzy.js +0 -3
  799. package/build/client/_app/immutable/chunks/DoPqAbzy.js.br +0 -0
  800. package/build/client/_app/immutable/chunks/DoPqAbzy.js.gz +0 -0
  801. package/build/client/_app/immutable/chunks/DqK2lhM-.js +0 -1
  802. package/build/client/_app/immutable/chunks/DqK2lhM-.js.br +0 -0
  803. package/build/client/_app/immutable/chunks/DqK2lhM-.js.gz +0 -0
  804. package/build/client/_app/immutable/chunks/Dr-qnmvi.js +0 -1
  805. package/build/client/_app/immutable/chunks/Dr-qnmvi.js.br +0 -0
  806. package/build/client/_app/immutable/chunks/Dr-qnmvi.js.gz +0 -0
  807. package/build/client/_app/immutable/chunks/DtFVCiwY.js +0 -1
  808. package/build/client/_app/immutable/chunks/DtFVCiwY.js.br +0 -0
  809. package/build/client/_app/immutable/chunks/DtFVCiwY.js.gz +0 -0
  810. package/build/client/_app/immutable/chunks/Q9Y439fs.js +0 -1
  811. package/build/client/_app/immutable/chunks/Q9Y439fs.js.br +0 -0
  812. package/build/client/_app/immutable/chunks/Q9Y439fs.js.gz +0 -0
  813. package/build/client/_app/immutable/chunks/Uv0-HWHq.js +0 -1
  814. package/build/client/_app/immutable/chunks/Uv0-HWHq.js.br +0 -0
  815. package/build/client/_app/immutable/chunks/Uv0-HWHq.js.gz +0 -0
  816. package/build/client/_app/immutable/chunks/cFjfoNla.js +0 -1
  817. package/build/client/_app/immutable/chunks/cFjfoNla.js.br +0 -0
  818. package/build/client/_app/immutable/chunks/cFjfoNla.js.gz +0 -0
  819. package/build/client/_app/immutable/chunks/snZK0J5H.js +0 -1
  820. package/build/client/_app/immutable/chunks/snZK0J5H.js.br +0 -0
  821. package/build/client/_app/immutable/chunks/snZK0J5H.js.gz +0 -0
  822. package/build/client/_app/immutable/chunks/vyYztzrZ.js +0 -1
  823. package/build/client/_app/immutable/chunks/vyYztzrZ.js.br +0 -0
  824. package/build/client/_app/immutable/chunks/vyYztzrZ.js.gz +0 -0
  825. package/build/client/_app/immutable/chunks/wRsUbPEe.js +0 -1
  826. package/build/client/_app/immutable/chunks/wRsUbPEe.js.br +0 -0
  827. package/build/client/_app/immutable/chunks/wRsUbPEe.js.gz +0 -0
  828. package/build/client/_app/immutable/chunks/xQ1SsCxk.js +0 -1
  829. package/build/client/_app/immutable/chunks/xQ1SsCxk.js.br +0 -0
  830. package/build/client/_app/immutable/chunks/xQ1SsCxk.js.gz +0 -0
  831. package/build/client/_app/immutable/entry/app.09tvh6Se.js +0 -2
  832. package/build/client/_app/immutable/entry/app.09tvh6Se.js.br +0 -0
  833. package/build/client/_app/immutable/entry/app.09tvh6Se.js.gz +0 -0
  834. package/build/client/_app/immutable/entry/start.CdsoeaJo.js +0 -1
  835. package/build/client/_app/immutable/entry/start.CdsoeaJo.js.br +0 -2
  836. package/build/client/_app/immutable/entry/start.CdsoeaJo.js.gz +0 -0
  837. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js +0 -9
  838. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js.br +0 -0
  839. package/build/client/_app/immutable/nodes/0.Dr3zOYh5.js.gz +0 -0
  840. package/build/client/_app/immutable/nodes/1.BinGQMTR.js +0 -1
  841. package/build/client/_app/immutable/nodes/1.BinGQMTR.js.br +0 -0
  842. package/build/client/_app/immutable/nodes/1.BinGQMTR.js.gz +0 -0
  843. package/build/client/_app/immutable/nodes/10.lZeHcKpq.js +0 -3
  844. package/build/client/_app/immutable/nodes/10.lZeHcKpq.js.br +0 -0
  845. package/build/client/_app/immutable/nodes/10.lZeHcKpq.js.gz +0 -0
  846. package/build/client/_app/immutable/nodes/11.B3nd7eqm.js +0 -2
  847. package/build/client/_app/immutable/nodes/11.B3nd7eqm.js.br +0 -0
  848. package/build/client/_app/immutable/nodes/11.B3nd7eqm.js.gz +0 -0
  849. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js +0 -1
  850. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js.br +0 -0
  851. package/build/client/_app/immutable/nodes/12.C3AQ8jKc.js.gz +0 -0
  852. package/build/client/_app/immutable/nodes/13.BhyPMdJg.js +0 -2
  853. package/build/client/_app/immutable/nodes/13.BhyPMdJg.js.br +0 -0
  854. package/build/client/_app/immutable/nodes/13.BhyPMdJg.js.gz +0 -0
  855. package/build/client/_app/immutable/nodes/14.BCskMTTX.js +0 -2
  856. package/build/client/_app/immutable/nodes/14.BCskMTTX.js.br +0 -0
  857. package/build/client/_app/immutable/nodes/14.BCskMTTX.js.gz +0 -0
  858. package/build/client/_app/immutable/nodes/15.DFduRu8X.js +0 -13
  859. package/build/client/_app/immutable/nodes/15.DFduRu8X.js.br +0 -0
  860. package/build/client/_app/immutable/nodes/15.DFduRu8X.js.gz +0 -0
  861. package/build/client/_app/immutable/nodes/16.k2eOyLft.js +0 -6
  862. package/build/client/_app/immutable/nodes/16.k2eOyLft.js.br +0 -0
  863. package/build/client/_app/immutable/nodes/16.k2eOyLft.js.gz +0 -0
  864. package/build/client/_app/immutable/nodes/17.UOq3rPnW.js +0 -2
  865. package/build/client/_app/immutable/nodes/17.UOq3rPnW.js.br +0 -0
  866. package/build/client/_app/immutable/nodes/17.UOq3rPnW.js.gz +0 -0
  867. package/build/client/_app/immutable/nodes/19.BfnNfjHd.js +0 -2
  868. package/build/client/_app/immutable/nodes/19.BfnNfjHd.js.br +0 -0
  869. package/build/client/_app/immutable/nodes/19.BfnNfjHd.js.gz +0 -0
  870. package/build/client/_app/immutable/nodes/2.BVRyhmlu.js +0 -1
  871. package/build/client/_app/immutable/nodes/2.BVRyhmlu.js.br +0 -0
  872. package/build/client/_app/immutable/nodes/2.BVRyhmlu.js.gz +0 -0
  873. package/build/client/_app/immutable/nodes/20.BwMu_6dK.js +0 -11
  874. package/build/client/_app/immutable/nodes/20.BwMu_6dK.js.br +0 -0
  875. package/build/client/_app/immutable/nodes/20.BwMu_6dK.js.gz +0 -0
  876. package/build/client/_app/immutable/nodes/21.BlFRuNYB.js +0 -6
  877. package/build/client/_app/immutable/nodes/21.BlFRuNYB.js.br +0 -0
  878. package/build/client/_app/immutable/nodes/21.BlFRuNYB.js.gz +0 -0
  879. package/build/client/_app/immutable/nodes/23.lhoyDlwS.js +0 -16
  880. package/build/client/_app/immutable/nodes/23.lhoyDlwS.js.br +0 -0
  881. package/build/client/_app/immutable/nodes/23.lhoyDlwS.js.gz +0 -0
  882. package/build/client/_app/immutable/nodes/24.BHPSI0Zf.js +0 -6
  883. package/build/client/_app/immutable/nodes/24.BHPSI0Zf.js.br +0 -0
  884. package/build/client/_app/immutable/nodes/24.BHPSI0Zf.js.gz +0 -0
  885. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js +0 -1
  886. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js.br +0 -0
  887. package/build/client/_app/immutable/nodes/25.Boy7QQiW.js.gz +0 -0
  888. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js +0 -3
  889. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js.br +0 -0
  890. package/build/client/_app/immutable/nodes/26.JTwwV2O8.js.gz +0 -0
  891. package/build/client/_app/immutable/nodes/27.C1icpz7z.js +0 -4
  892. package/build/client/_app/immutable/nodes/27.C1icpz7z.js.br +0 -0
  893. package/build/client/_app/immutable/nodes/27.C1icpz7z.js.gz +0 -0
  894. package/build/client/_app/immutable/nodes/28.BJgC5M9K.js +0 -4
  895. package/build/client/_app/immutable/nodes/28.BJgC5M9K.js.br +0 -0
  896. package/build/client/_app/immutable/nodes/28.BJgC5M9K.js.gz +0 -0
  897. package/build/client/_app/immutable/nodes/29.D1pyBnax.js +0 -2
  898. package/build/client/_app/immutable/nodes/29.D1pyBnax.js.br +0 -0
  899. package/build/client/_app/immutable/nodes/29.D1pyBnax.js.gz +0 -0
  900. package/build/client/_app/immutable/nodes/3.CUC4G9Nh.js +0 -1
  901. package/build/client/_app/immutable/nodes/3.CUC4G9Nh.js.br +0 -0
  902. package/build/client/_app/immutable/nodes/3.CUC4G9Nh.js.gz +0 -0
  903. package/build/client/_app/immutable/nodes/30.D0ffyv91.js +0 -2
  904. package/build/client/_app/immutable/nodes/30.D0ffyv91.js.br +0 -0
  905. package/build/client/_app/immutable/nodes/30.D0ffyv91.js.gz +0 -0
  906. package/build/client/_app/immutable/nodes/31.SiZTd523.js +0 -2
  907. package/build/client/_app/immutable/nodes/31.SiZTd523.js.br +0 -0
  908. package/build/client/_app/immutable/nodes/31.SiZTd523.js.gz +0 -0
  909. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js +0 -3
  910. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js.br +0 -0
  911. package/build/client/_app/immutable/nodes/32.9Ta_FSIA.js.gz +0 -0
  912. package/build/client/_app/immutable/nodes/5.Ch3zJDwF.js +0 -1
  913. package/build/client/_app/immutable/nodes/5.Ch3zJDwF.js.br +0 -2
  914. package/build/client/_app/immutable/nodes/5.Ch3zJDwF.js.gz +0 -0
  915. package/build/client/_app/immutable/nodes/6.BMl8cugB.js +0 -1
  916. package/build/client/_app/immutable/nodes/6.BMl8cugB.js.br +0 -0
  917. package/build/client/_app/immutable/nodes/6.BMl8cugB.js.gz +0 -0
  918. package/build/client/_app/immutable/nodes/7.DKBYaDzG.js +0 -1
  919. package/build/client/_app/immutable/nodes/7.DKBYaDzG.js.br +0 -0
  920. package/build/client/_app/immutable/nodes/7.DKBYaDzG.js.gz +0 -0
  921. package/build/client/_app/immutable/nodes/8.oeqwCIb7.js +0 -2
  922. package/build/client/_app/immutable/nodes/8.oeqwCIb7.js.br +0 -0
  923. package/build/client/_app/immutable/nodes/8.oeqwCIb7.js.gz +0 -0
  924. package/build/client/_app/immutable/nodes/9.JvVEXEt0.js +0 -1
  925. package/build/client/_app/immutable/nodes/9.JvVEXEt0.js.br +0 -0
  926. package/build/client/_app/immutable/nodes/9.JvVEXEt0.js.gz +0 -0
  927. package/build/server/chunks/0-BGZb7GUr.js +0 -55
  928. package/build/server/chunks/0-BGZb7GUr.js.map +0 -1
  929. package/build/server/chunks/1-Bd5_Ktti.js +0 -9
  930. package/build/server/chunks/1-Bd5_Ktti.js.map +0 -1
  931. package/build/server/chunks/10-CoNR8vNf.js +0 -222
  932. package/build/server/chunks/10-CoNR8vNf.js.map +0 -1
  933. package/build/server/chunks/11-B8XsWabi.js +0 -59
  934. package/build/server/chunks/11-B8XsWabi.js.map +0 -1
  935. package/build/server/chunks/12-DVPsHnBz.js +0 -52
  936. package/build/server/chunks/12-DVPsHnBz.js.map +0 -1
  937. package/build/server/chunks/13-Dty8h7LU.js +0 -57
  938. package/build/server/chunks/13-Dty8h7LU.js.map +0 -1
  939. package/build/server/chunks/14-CcmFTDWx.js +0 -100
  940. package/build/server/chunks/14-CcmFTDWx.js.map +0 -1
  941. package/build/server/chunks/15-BCheyPjA.js +0 -45
  942. package/build/server/chunks/15-BCheyPjA.js.map +0 -1
  943. package/build/server/chunks/16-lCMAMYzW.js +0 -85
  944. package/build/server/chunks/16-lCMAMYzW.js.map +0 -1
  945. package/build/server/chunks/17-Buj0oOA7.js +0 -9
  946. package/build/server/chunks/17-Buj0oOA7.js.map +0 -1
  947. package/build/server/chunks/18-CM6a70dY.js +0 -74
  948. package/build/server/chunks/18-CM6a70dY.js.map +0 -1
  949. package/build/server/chunks/19-BHix_hIK.js +0 -94
  950. package/build/server/chunks/19-BHix_hIK.js.map +0 -1
  951. package/build/server/chunks/2-D8n52e0g.js +0 -43
  952. package/build/server/chunks/2-D8n52e0g.js.map +0 -1
  953. package/build/server/chunks/20-BZTRaWqF.js +0 -196
  954. package/build/server/chunks/20-BZTRaWqF.js.map +0 -1
  955. package/build/server/chunks/21-WEKNoho-.js +0 -83
  956. package/build/server/chunks/21-WEKNoho-.js.map +0 -1
  957. package/build/server/chunks/23-q81fbwUe.js +0 -137
  958. package/build/server/chunks/23-q81fbwUe.js.map +0 -1
  959. package/build/server/chunks/24-CLAHERAA.js +0 -145
  960. package/build/server/chunks/24-CLAHERAA.js.map +0 -1
  961. package/build/server/chunks/25-BzYQ8Zk-.js +0 -51
  962. package/build/server/chunks/25-BzYQ8Zk-.js.map +0 -1
  963. package/build/server/chunks/26-Bfl58Hw3.js +0 -9
  964. package/build/server/chunks/26-Bfl58Hw3.js.map +0 -1
  965. package/build/server/chunks/27-14n2oeiY.js +0 -57
  966. package/build/server/chunks/27-14n2oeiY.js.map +0 -1
  967. package/build/server/chunks/28-BYTHjf77.js +0 -69
  968. package/build/server/chunks/28-BYTHjf77.js.map +0 -1
  969. package/build/server/chunks/29-Uu9LAkQF.js +0 -55
  970. package/build/server/chunks/29-Uu9LAkQF.js.map +0 -1
  971. package/build/server/chunks/3-Czbm8V7y.js +0 -9
  972. package/build/server/chunks/3-Czbm8V7y.js.map +0 -1
  973. package/build/server/chunks/30-BBBNNzbB.js +0 -57
  974. package/build/server/chunks/30-BBBNNzbB.js.map +0 -1
  975. package/build/server/chunks/31-CQ-8s0Lw.js +0 -42
  976. package/build/server/chunks/31-CQ-8s0Lw.js.map +0 -1
  977. package/build/server/chunks/32-BmsICS9-.js +0 -34
  978. package/build/server/chunks/32-BmsICS9-.js.map +0 -1
  979. package/build/server/chunks/5-DHnM6DGt.js +0 -32
  980. package/build/server/chunks/5-DHnM6DGt.js.map +0 -1
  981. package/build/server/chunks/6-C4Vpgjrj.js +0 -40
  982. package/build/server/chunks/6-C4Vpgjrj.js.map +0 -1
  983. package/build/server/chunks/7-ZQ9mLTB2.js +0 -19
  984. package/build/server/chunks/7-ZQ9mLTB2.js.map +0 -1
  985. package/build/server/chunks/8-BS2o-Nbt.js +0 -130
  986. package/build/server/chunks/8-BS2o-Nbt.js.map +0 -1
  987. package/build/server/chunks/9-Cjc4QJfo.js +0 -48
  988. package/build/server/chunks/9-Cjc4QJfo.js.map +0 -1
  989. package/build/server/chunks/AppHeader-6ioAYhJf.js +0 -271
  990. package/build/server/chunks/AppHeader-6ioAYhJf.js.map +0 -1
  991. package/build/server/chunks/DefinitionCard-O1k8h5Pi.js +0 -258
  992. package/build/server/chunks/DefinitionCard-O1k8h5Pi.js.map +0 -1
  993. package/build/server/chunks/ErrorScreen-SHK14bo6.js +0 -131
  994. package/build/server/chunks/ErrorScreen-SHK14bo6.js.map +0 -1
  995. package/build/server/chunks/FilterableDropdown-W9AjyS0M.js +0 -61
  996. package/build/server/chunks/FilterableDropdown-W9AjyS0M.js.map +0 -1
  997. package/build/server/chunks/Icon-DbkwAOkZ.js +0 -76
  998. package/build/server/chunks/Icon-DbkwAOkZ.js.map +0 -1
  999. package/build/server/chunks/Icon2-DbkwAOkZ.js +0 -76
  1000. package/build/server/chunks/Icon2-DbkwAOkZ.js.map +0 -1
  1001. package/build/server/chunks/StatCard-Cj4i7_IY.js +0 -50
  1002. package/build/server/chunks/StatCard-Cj4i7_IY.js.map +0 -1
  1003. package/build/server/chunks/UserChip-fy4ucYa9.js +0 -1241
  1004. package/build/server/chunks/UserChip-fy4ucYa9.js.map +0 -1
  1005. package/build/server/chunks/_error.svelte-B_dLYaey.js +0 -30
  1006. package/build/server/chunks/_error.svelte-B_dLYaey.js.map +0 -1
  1007. package/build/server/chunks/_error.svelte-D_qATeW2.js +0 -28
  1008. package/build/server/chunks/_error.svelte-D_qATeW2.js.map +0 -1
  1009. package/build/server/chunks/_layout.svelte-BNCiY_LE.js +0 -107
  1010. package/build/server/chunks/_layout.svelte-BNCiY_LE.js.map +0 -1
  1011. package/build/server/chunks/_layout.svelte-BR1971uC.js +0 -154
  1012. package/build/server/chunks/_layout.svelte-BR1971uC.js.map +0 -1
  1013. package/build/server/chunks/_layout.svelte-CHTfYN7Z.js +0 -44
  1014. package/build/server/chunks/_layout.svelte-CHTfYN7Z.js.map +0 -1
  1015. package/build/server/chunks/_layout.svelte-DtDfOje_.js +0 -1042
  1016. package/build/server/chunks/_layout.svelte-DtDfOje_.js.map +0 -1
  1017. package/build/server/chunks/_page.svelte-2a3XlI01.js +0 -120
  1018. package/build/server/chunks/_page.svelte-2a3XlI01.js.map +0 -1
  1019. package/build/server/chunks/_page.svelte-6m8-zq9_.js +0 -10755
  1020. package/build/server/chunks/_page.svelte-6m8-zq9_.js.map +0 -1
  1021. package/build/server/chunks/_page.svelte-B-BjG1Bg.js +0 -332
  1022. package/build/server/chunks/_page.svelte-B-BjG1Bg.js.map +0 -1
  1023. package/build/server/chunks/_page.svelte-B2tNMNfb.js +0 -454
  1024. package/build/server/chunks/_page.svelte-B2tNMNfb.js.map +0 -1
  1025. package/build/server/chunks/_page.svelte-BEuBbeea.js +0 -920
  1026. package/build/server/chunks/_page.svelte-BEuBbeea.js.map +0 -1
  1027. package/build/server/chunks/_page.svelte-BLjq8C2p.js +0 -611
  1028. package/build/server/chunks/_page.svelte-BLjq8C2p.js.map +0 -1
  1029. package/build/server/chunks/_page.svelte-BX7fFjm7.js +0 -251
  1030. package/build/server/chunks/_page.svelte-BX7fFjm7.js.map +0 -1
  1031. package/build/server/chunks/_page.svelte-BXQInprQ.js +0 -275
  1032. package/build/server/chunks/_page.svelte-BXQInprQ.js.map +0 -1
  1033. package/build/server/chunks/_page.svelte-Bc3Ab2ud.js +0 -169
  1034. package/build/server/chunks/_page.svelte-Bc3Ab2ud.js.map +0 -1
  1035. package/build/server/chunks/_page.svelte-BziMQdom.js +0 -114
  1036. package/build/server/chunks/_page.svelte-BziMQdom.js.map +0 -1
  1037. package/build/server/chunks/_page.svelte-CYxHCZCC.js +0 -84
  1038. package/build/server/chunks/_page.svelte-CYxHCZCC.js.map +0 -1
  1039. package/build/server/chunks/_page.svelte-CckrYvJ6.js +0 -147
  1040. package/build/server/chunks/_page.svelte-CckrYvJ6.js.map +0 -1
  1041. package/build/server/chunks/_page.svelte-Cf8MfOXQ.js +0 -596
  1042. package/build/server/chunks/_page.svelte-Cf8MfOXQ.js.map +0 -1
  1043. package/build/server/chunks/_page.svelte-CxuFmBkK.js +0 -302
  1044. package/build/server/chunks/_page.svelte-CxuFmBkK.js.map +0 -1
  1045. package/build/server/chunks/_page.svelte-DphuJQee.js +0 -331
  1046. package/build/server/chunks/_page.svelte-DphuJQee.js.map +0 -1
  1047. package/build/server/chunks/_page.svelte-Dun4nEWl.js +0 -277
  1048. package/build/server/chunks/_page.svelte-Dun4nEWl.js.map +0 -1
  1049. package/build/server/chunks/_page.svelte-ELmid_qG.js +0 -120
  1050. package/build/server/chunks/_page.svelte-ELmid_qG.js.map +0 -1
  1051. package/build/server/chunks/_page.svelte-HTC9yaHJ.js +0 -71
  1052. package/build/server/chunks/_page.svelte-HTC9yaHJ.js.map +0 -1
  1053. package/build/server/chunks/_page.svelte-UNbcR5Wq.js +0 -715
  1054. package/build/server/chunks/_page.svelte-UNbcR5Wq.js.map +0 -1
  1055. package/build/server/chunks/_page.svelte-W41FvlvN.js +0 -530
  1056. package/build/server/chunks/_page.svelte-W41FvlvN.js.map +0 -1
  1057. package/build/server/chunks/_page.svelte-XLccLxWu.js +0 -558
  1058. package/build/server/chunks/_page.svelte-XLccLxWu.js.map +0 -1
  1059. package/build/server/chunks/_page.svelte-YVHQEj69.js +0 -3899
  1060. package/build/server/chunks/_page.svelte-YVHQEj69.js.map +0 -1
  1061. package/build/server/chunks/_page.svelte-pEdM2bKS.js +0 -57
  1062. package/build/server/chunks/_page.svelte-pEdM2bKS.js.map +0 -1
  1063. package/build/server/chunks/_page.svelte-tQDqmoYu.js +0 -425
  1064. package/build/server/chunks/_page.svelte-tQDqmoYu.js.map +0 -1
  1065. package/build/server/chunks/_server.ts-A3y5hBxw.js +0 -40
  1066. package/build/server/chunks/_server.ts-A3y5hBxw.js.map +0 -1
  1067. package/build/server/chunks/_server.ts-B5jlr2iF.js +0 -72
  1068. package/build/server/chunks/_server.ts-B5jlr2iF.js.map +0 -1
  1069. package/build/server/chunks/_server.ts-BLhNqGtF.js +0 -39
  1070. package/build/server/chunks/_server.ts-BLhNqGtF.js.map +0 -1
  1071. package/build/server/chunks/_server.ts-BON6qGm5.js +0 -77
  1072. package/build/server/chunks/_server.ts-BON6qGm5.js.map +0 -1
  1073. package/build/server/chunks/_server.ts-BO_GwwIE.js +0 -43
  1074. package/build/server/chunks/_server.ts-BO_GwwIE.js.map +0 -1
  1075. package/build/server/chunks/_server.ts-BUw5lGMN.js +0 -111
  1076. package/build/server/chunks/_server.ts-BUw5lGMN.js.map +0 -1
  1077. package/build/server/chunks/_server.ts-Bhj8Vx5l.js +0 -108
  1078. package/build/server/chunks/_server.ts-Bhj8Vx5l.js.map +0 -1
  1079. package/build/server/chunks/_server.ts-BqlGKKaE.js +0 -50
  1080. package/build/server/chunks/_server.ts-BqlGKKaE.js.map +0 -1
  1081. package/build/server/chunks/_server.ts-C-MiDKCm.js +0 -31
  1082. package/build/server/chunks/_server.ts-C-MiDKCm.js.map +0 -1
  1083. package/build/server/chunks/_server.ts-C05I9RVA.js +0 -40
  1084. package/build/server/chunks/_server.ts-C05I9RVA.js.map +0 -1
  1085. package/build/server/chunks/_server.ts-C4BZG5kA.js +0 -32
  1086. package/build/server/chunks/_server.ts-C4BZG5kA.js.map +0 -1
  1087. package/build/server/chunks/_server.ts-CEE9G3nv.js +0 -80
  1088. package/build/server/chunks/_server.ts-CEE9G3nv.js.map +0 -1
  1089. package/build/server/chunks/_server.ts-CJ37R1sx.js +0 -37
  1090. package/build/server/chunks/_server.ts-CJ37R1sx.js.map +0 -1
  1091. package/build/server/chunks/_server.ts-CJ5P0_cD.js +0 -75
  1092. package/build/server/chunks/_server.ts-CJ5P0_cD.js.map +0 -1
  1093. package/build/server/chunks/_server.ts-Ca-ZnaSe.js +0 -51
  1094. package/build/server/chunks/_server.ts-Ca-ZnaSe.js.map +0 -1
  1095. package/build/server/chunks/_server.ts-CewoOx5S.js +0 -60
  1096. package/build/server/chunks/_server.ts-CewoOx5S.js.map +0 -1
  1097. package/build/server/chunks/_server.ts-ChhV0tlQ.js +0 -86
  1098. package/build/server/chunks/_server.ts-ChhV0tlQ.js.map +0 -1
  1099. package/build/server/chunks/_server.ts-Ck5KHS5f.js +0 -36
  1100. package/build/server/chunks/_server.ts-Ck5KHS5f.js.map +0 -1
  1101. package/build/server/chunks/_server.ts-ClymRXMH.js +0 -44
  1102. package/build/server/chunks/_server.ts-ClymRXMH.js.map +0 -1
  1103. package/build/server/chunks/_server.ts-CsWWoLDJ.js +0 -41
  1104. package/build/server/chunks/_server.ts-CsWWoLDJ.js.map +0 -1
  1105. package/build/server/chunks/_server.ts-CtJaazcE.js +0 -83
  1106. package/build/server/chunks/_server.ts-CtJaazcE.js.map +0 -1
  1107. package/build/server/chunks/_server.ts-CyjVVRiT.js +0 -84
  1108. package/build/server/chunks/_server.ts-CyjVVRiT.js.map +0 -1
  1109. package/build/server/chunks/_server.ts-D0PjwFdv.js +0 -39
  1110. package/build/server/chunks/_server.ts-D0PjwFdv.js.map +0 -1
  1111. package/build/server/chunks/_server.ts-D7tgGcoB.js +0 -33
  1112. package/build/server/chunks/_server.ts-D7tgGcoB.js.map +0 -1
  1113. package/build/server/chunks/_server.ts-D9Jw0wGY.js +0 -398
  1114. package/build/server/chunks/_server.ts-D9Jw0wGY.js.map +0 -1
  1115. package/build/server/chunks/_server.ts-DBV9dA6A.js +0 -105
  1116. package/build/server/chunks/_server.ts-DBV9dA6A.js.map +0 -1
  1117. package/build/server/chunks/_server.ts-DLUA6_Lf.js +0 -327
  1118. package/build/server/chunks/_server.ts-DLUA6_Lf.js.map +0 -1
  1119. package/build/server/chunks/_server.ts-DM01ishT.js +0 -88
  1120. package/build/server/chunks/_server.ts-DM01ishT.js.map +0 -1
  1121. package/build/server/chunks/_server.ts-DNeVKrs8.js +0 -96
  1122. package/build/server/chunks/_server.ts-DNeVKrs8.js.map +0 -1
  1123. package/build/server/chunks/_server.ts-DWCKRNAG.js +0 -60
  1124. package/build/server/chunks/_server.ts-DWCKRNAG.js.map +0 -1
  1125. package/build/server/chunks/_server.ts-Db9C0y4L.js +0 -162
  1126. package/build/server/chunks/_server.ts-Db9C0y4L.js.map +0 -1
  1127. package/build/server/chunks/_server.ts-DlDf2qpE.js +0 -41
  1128. package/build/server/chunks/_server.ts-DlDf2qpE.js.map +0 -1
  1129. package/build/server/chunks/_server.ts-DmqbBNeI.js +0 -65
  1130. package/build/server/chunks/_server.ts-DmqbBNeI.js.map +0 -1
  1131. package/build/server/chunks/_server.ts-DwqLpa_k.js +0 -73
  1132. package/build/server/chunks/_server.ts-DwqLpa_k.js.map +0 -1
  1133. package/build/server/chunks/_server.ts-IVIAzAUs.js +0 -63
  1134. package/build/server/chunks/_server.ts-IVIAzAUs.js.map +0 -1
  1135. package/build/server/chunks/_server.ts-Xpgu2-ka.js +0 -101
  1136. package/build/server/chunks/_server.ts-Xpgu2-ka.js.map +0 -1
  1137. package/build/server/chunks/_server.ts-eVLE380Q.js +0 -31
  1138. package/build/server/chunks/_server.ts-eVLE380Q.js.map +0 -1
  1139. package/build/server/chunks/_server.ts-kighVn_d.js +0 -39
  1140. package/build/server/chunks/_server.ts-kighVn_d.js.map +0 -1
  1141. package/build/server/chunks/_server.ts-r2RVYvYA.js +0 -83
  1142. package/build/server/chunks/_server.ts-r2RVYvYA.js.map +0 -1
  1143. package/build/server/chunks/access.server-ByXvmWyF.js +0 -413
  1144. package/build/server/chunks/access.server-ByXvmWyF.js.map +0 -1
  1145. package/build/server/chunks/activity-BjtW_4T-.js +0 -18
  1146. package/build/server/chunks/activity-BjtW_4T-.js.map +0 -1
  1147. package/build/server/chunks/alert-description-CUK0afmb.js +0 -59
  1148. package/build/server/chunks/alert-description-CUK0afmb.js.map +0 -1
  1149. package/build/server/chunks/api-errors-C0SWfJj5.js +0 -101
  1150. package/build/server/chunks/api-errors-C0SWfJj5.js.map +0 -1
  1151. package/build/server/chunks/arrow-left-D0KqaESK.js +0 -14
  1152. package/build/server/chunks/arrow-left-D0KqaESK.js.map +0 -1
  1153. package/build/server/chunks/arrow-right-Bi1uWbBU.js +0 -14
  1154. package/build/server/chunks/arrow-right-Bi1uWbBU.js.map +0 -1
  1155. package/build/server/chunks/auth-bootstrap.server-zvPqZ6kt.js +0 -99
  1156. package/build/server/chunks/auth-bootstrap.server-zvPqZ6kt.js.map +0 -1
  1157. package/build/server/chunks/badge-Dslv369v.js +0 -50
  1158. package/build/server/chunks/badge-Dslv369v.js.map +0 -1
  1159. package/build/server/chunks/bootHealth.server-CLLVkbZZ.js +0 -58
  1160. package/build/server/chunks/bootHealth.server-CLLVkbZZ.js.map +0 -1
  1161. package/build/server/chunks/building-2-DJFEkZmC.js +0 -22
  1162. package/build/server/chunks/building-2-DJFEkZmC.js.map +0 -1
  1163. package/build/server/chunks/button-1GF48U_O.js +0 -73
  1164. package/build/server/chunks/button-1GF48U_O.js.map +0 -1
  1165. package/build/server/chunks/card-content-CLRedGcu.js +0 -46
  1166. package/build/server/chunks/card-content-CLRedGcu.js.map +0 -1
  1167. package/build/server/chunks/card-description-Cvz9Nl_J.js +0 -26
  1168. package/build/server/chunks/card-description-Cvz9Nl_J.js.map +0 -1
  1169. package/build/server/chunks/card-title-f3nMy4Cc.js +0 -46
  1170. package/build/server/chunks/card-title-f3nMy4Cc.js.map +0 -1
  1171. package/build/server/chunks/chevron-down-Cqowxf45.js +0 -11
  1172. package/build/server/chunks/chevron-down-Cqowxf45.js.map +0 -1
  1173. package/build/server/chunks/chevron-down2-HiD5tdXf.js +0 -11
  1174. package/build/server/chunks/chevron-down2-HiD5tdXf.js.map +0 -1
  1175. package/build/server/chunks/chevron-right-BZ8x48EK.js +0 -11
  1176. package/build/server/chunks/chevron-right-BZ8x48EK.js.map +0 -1
  1177. package/build/server/chunks/circle-CeSIvmWj.js +0 -11
  1178. package/build/server/chunks/circle-CeSIvmWj.js.map +0 -1
  1179. package/build/server/chunks/circle-alert-DNsq-x3V.js +0 -18
  1180. package/build/server/chunks/circle-alert-DNsq-x3V.js.map +0 -1
  1181. package/build/server/chunks/circle-alert2-Doldk45G.js +0 -18
  1182. package/build/server/chunks/circle-alert2-Doldk45G.js.map +0 -1
  1183. package/build/server/chunks/computeLimits-5PaWFMYq.js +0 -27
  1184. package/build/server/chunks/computeLimits-5PaWFMYq.js.map +0 -1
  1185. package/build/server/chunks/context-DKDYb-He.js +0 -138
  1186. package/build/server/chunks/context-DKDYb-He.js.map +0 -1
  1187. package/build/server/chunks/copy-DbzeZFQN.js +0 -29
  1188. package/build/server/chunks/copy-DbzeZFQN.js.map +0 -1
  1189. package/build/server/chunks/dialog-description-8UnYiAMX.js +0 -523
  1190. package/build/server/chunks/dialog-description-8UnYiAMX.js.map +0 -1
  1191. package/build/server/chunks/dialog-footer-CqbKEEQ-.js +0 -36
  1192. package/build/server/chunks/dialog-footer-CqbKEEQ-.js.map +0 -1
  1193. package/build/server/chunks/folder-kanban-BzEQk9ZB.js +0 -21
  1194. package/build/server/chunks/folder-kanban-BzEQk9ZB.js.map +0 -1
  1195. package/build/server/chunks/folder-open-CUgA3M22.js +0 -18
  1196. package/build/server/chunks/folder-open-CUgA3M22.js.map +0 -1
  1197. package/build/server/chunks/folders-DPJPvoz3.js +0 -24
  1198. package/build/server/chunks/folders-DPJPvoz3.js.map +0 -1
  1199. package/build/server/chunks/footerContext.svelte-oP__zW9C.js +0 -495
  1200. package/build/server/chunks/footerContext.svelte-oP__zW9C.js.map +0 -1
  1201. package/build/server/chunks/gauge-Az8B3w7C.js +0 -87
  1202. package/build/server/chunks/gauge-Az8B3w7C.js.map +0 -1
  1203. package/build/server/chunks/hooks.server-CwDixHQc.js +0 -218
  1204. package/build/server/chunks/hooks.server-CwDixHQc.js.map +0 -1
  1205. package/build/server/chunks/index2-D4a590Kd.js +0 -438
  1206. package/build/server/chunks/index2-D4a590Kd.js.map +0 -1
  1207. package/build/server/chunks/index3-0Z1R1__W.js +0 -4388
  1208. package/build/server/chunks/index3-0Z1R1__W.js.map +0 -1
  1209. package/build/server/chunks/index4-DWNr0jIL.js +0 -541
  1210. package/build/server/chunks/index4-DWNr0jIL.js.map +0 -1
  1211. package/build/server/chunks/input-DGJ03-ia.js +0 -53
  1212. package/build/server/chunks/input-DGJ03-ia.js.map +0 -1
  1213. package/build/server/chunks/label-Df1UqzdF.js +0 -112
  1214. package/build/server/chunks/label-Df1UqzdF.js.map +0 -1
  1215. package/build/server/chunks/link-2-dxaDBYcR.js +0 -15
  1216. package/build/server/chunks/link-2-dxaDBYcR.js.map +0 -1
  1217. package/build/server/chunks/mail-CXBfO_C7.js +0 -17
  1218. package/build/server/chunks/mail-CXBfO_C7.js.map +0 -1
  1219. package/build/server/chunks/noop-iPXixleG.js +0 -138
  1220. package/build/server/chunks/noop-iPXixleG.js.map +0 -1
  1221. package/build/server/chunks/package-CpyjZQq6.js +0 -29
  1222. package/build/server/chunks/package-CpyjZQq6.js.map +0 -1
  1223. package/build/server/chunks/permissions-compat.server-BDkKxDeZ.js +0 -19
  1224. package/build/server/chunks/permissions-compat.server-BDkKxDeZ.js.map +0 -1
  1225. package/build/server/chunks/permissions.server-7AwAAkY9.js +0 -8
  1226. package/build/server/chunks/permissions.server-7AwAAkY9.js.map +0 -1
  1227. package/build/server/chunks/plus-CY_pTStn.js +0 -11
  1228. package/build/server/chunks/plus-CY_pTStn.js.map +0 -1
  1229. package/build/server/chunks/providers.server-wGknM6CR.js +0 -4584
  1230. package/build/server/chunks/providers.server-wGknM6CR.js.map +0 -1
  1231. package/build/server/chunks/refresh-cw-CiiW6Kvx.js +0 -22
  1232. package/build/server/chunks/refresh-cw-CiiW6Kvx.js.map +0 -1
  1233. package/build/server/chunks/resolve.server-CvfANFCn.js +0 -50
  1234. package/build/server/chunks/resolve.server-CvfANFCn.js.map +0 -1
  1235. package/build/server/chunks/rotate-ccw-1C53L417.js +0 -17
  1236. package/build/server/chunks/rotate-ccw-1C53L417.js.map +0 -1
  1237. package/build/server/chunks/scroll-lock-BIz_BXmd.js +0 -1547
  1238. package/build/server/chunks/scroll-lock-BIz_BXmd.js.map +0 -1
  1239. package/build/server/chunks/scroll-text-CxtFfkcE.js +0 -21
  1240. package/build/server/chunks/scroll-text-CxtFfkcE.js.map +0 -1
  1241. package/build/server/chunks/server-C3-deqCy.js +0 -36
  1242. package/build/server/chunks/server-C3-deqCy.js.map +0 -1
  1243. package/build/server/chunks/settings-NH5q_HtF.js +0 -19
  1244. package/build/server/chunks/settings-NH5q_HtF.js.map +0 -1
  1245. package/build/server/chunks/shield-CHAFruKV.js +0 -18
  1246. package/build/server/chunks/shield-CHAFruKV.js.map +0 -1
  1247. package/build/server/chunks/shield-check-06Iz62as.js +0 -19
  1248. package/build/server/chunks/shield-check-06Iz62as.js.map +0 -1
  1249. package/build/server/chunks/star-bmBg3IsG.js +0 -18
  1250. package/build/server/chunks/star-bmBg3IsG.js.map +0 -1
  1251. package/build/server/chunks/textarea-A5IYPwqe.js +0 -685
  1252. package/build/server/chunks/textarea-A5IYPwqe.js.map +0 -1
  1253. package/build/server/chunks/trash-2-swQcKEqX.js +0 -17
  1254. package/build/server/chunks/trash-2-swQcKEqX.js.map +0 -1
  1255. package/build/server/chunks/triangle-alert-DuaFagu6.js +0 -20
  1256. package/build/server/chunks/triangle-alert-DuaFagu6.js.map +0 -1
  1257. package/build/server/chunks/user-plus-CPEDH5dh.js +0 -16
  1258. package/build/server/chunks/user-plus-CPEDH5dh.js.map +0 -1
  1259. package/build/server/chunks/users-Bd7CKN4d.js +0 -16
  1260. package/build/server/chunks/users-Bd7CKN4d.js.map +0 -1
  1261. package/build/server/chunks/utils2-BsnrDRob.js +0 -56
  1262. package/build/server/chunks/utils2-BsnrDRob.js.map +0 -1
  1263. package/build/server/chunks/utils3-B05Dmz_H.js +0 -9
  1264. package/build/server/chunks/utils3-B05Dmz_H.js.map +0 -1
  1265. package/build/server/chunks/x-e5o-84bg.js +0 -14
  1266. package/build/server/chunks/x-e5o-84bg.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.server-BYk2ehLM.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/\")) 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) 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(\n \"Image transcoding requires `sharp` to be installed. Add it as a dependency in your provider package.\",\n { cause: err }\n );\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) 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)) return { userId: \"\", valid: false };\n const decoded = Buffer.from(payload, \"base64url\").toString();\n const colon = decoded.lastIndexOf(\":\");\n if (colon === -1) 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) 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\") 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(\n (resolve2, reject) => crypto.pbkdf2(\n password,\n salt,\n PBKDF2_ITERATIONS,\n PBKDF2_KEYLEN,\n PBKDF2_DIGEST,\n (err, key) => err ? reject(err) : resolve2(key)\n )\n );\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\") return false;\n const [, digest, iterStr, salt, expectedHashB64] = parts;\n const iterations = parseInt(iterStr, 10);\n if (!Number.isFinite(iterations) || iterations <= 0) return false;\n const expected = Buffer.from(expectedHashB64, \"base64url\");\n const actual = await new Promise(\n (resolve2, reject) => crypto.pbkdf2(\n password,\n salt,\n iterations,\n PBKDF2_KEYLEN,\n digest,\n (err, key) => err ? reject(err) : resolve2(key)\n )\n );\n if (actual.length !== expected.length) 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) 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) 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) 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) 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) return -1 * mul;\n if (av > bv) 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 constructor(users, mintToken) {\n this.users = users;\n this.mintToken = mintToken;\n }\n users;\n mintToken;\n async verifyLogin(email, password) {\n if (!this.users) return { kind: \"failed\", reason: \"invalid_credentials\" };\n const user = await this.users.findByEmail(email);\n if (!user) return { kind: \"failed\", reason: \"invalid_credentials\" };\n if (user.disabled) 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(\n \"createUserWithPassword requires a users.json backend (DATA_PATH)\",\n 500\n );\n }\n return toAuthUser$1(await this.users.createUser(email, password));\n }\n async registerUser(email, password) {\n if (!this.users) 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(\n this.users,\n (user) => signHmacToken(this.hmacSecret, user.id, SESSION_MAX_AGE_MS)\n );\n }\n static fromEnv(env) {\n const hmacSecret = env.SELVA_HMAC_KEY;\n if (!hmacSecret) 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) return null;\n if (!this.users) return null;\n const u = await this.users.findById(userId);\n if (!u || u.disabled) 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) return;\n await this.users.touchLastLogin(id);\n }\n async getUser(id) {\n if (!this.users) 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) 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) return \"not_supported\";\n const target = await this.users.findById(id);\n if (!target) 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) return \"not_found\";\n throw err;\n }\n }\n async disableUser(id) {\n if (!this.users) return \"not_supported\";\n const target = await this.users.findById(id);\n if (!target) 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) return \"not_found\";\n throw err;\n }\n }\n}\nconst EMPTY$1 = { invites: [] };\nclass LocalInviteStore {\n constructor(dataPath, events = new NoopEventSink()) {\n this.events = events;\n this.filePath = path.join(dataPath, \"invites.json\");\n }\n events;\n filePath;\n static fromEnv(env, events = new NoopEventSink()) {\n if (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalInviteStore(env.DATA_PATH, events);\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) return null;\n if (invite.acceptedAt) return null;\n if (Date.parse(invite.expiresAt) <= Date.now()) 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) 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) 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) 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)) return Buffer.from(raw, \"hex\");\n const buf = Buffer.from(raw, \"base64\");\n if (buf.length === 32) return buf;\n throw new Error(\n `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 );\n}\nconst EMPTY = { servers: [], orgDefaults: {} };\nclass LocalComputeServerStore {\n constructor(configFilePath, secretKey) {\n this.configFilePath = configFilePath;\n this.secretKey = secretKey;\n }\n configFilePath;\n secretKey;\n static fromEnv(env) {\n if (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n if (!env.SELVA_AT_REST_KEY) {\n throw new Error(\n `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 }\n return new LocalComputeServerStore(\n path.join(env.DATA_PATH, \"compute.config.json\"),\n decodeSecretKey(env.SELVA_AT_REST_KEY)\n );\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) return s;\n if (!isEncryptedSecret(s.apiKey)) {\n throw new Error(\n `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 }\n try {\n return { ...s, apiKey: decryptSecret(s.apiKey, this.secretKey) };\n } catch (cause) {\n console.warn(\n `[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.`,\n cause\n );\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) 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) return s;\n if (isEncryptedSecret(s.apiKey)) 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(\n servers.filter((_s) => true).map(\n (s) => isOrgServer(s) ? { ...s, ownerOrgId: orgId } : (\n // Coerce — caller passed something with the wrong/missing scope.\n { ...s, scope: \"org\", ownerOrgId: orgId }\n )\n )\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)) return s;\n if (s.sharedWith === \"all\") return s;\n if (!s.sharedWith.includes(orgId)) 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) 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) throw new Error(\"Missing required env var: DATA_PATH\");\n return new LocalPlatformProjectGrantStore(\n path.join(env.DATA_PATH, \"platform-project-grants.json\")\n );\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(\n (g) => g.projectId === grant.projectId && g.granteeType === grant.granteeType && g.granteeId === grant.granteeId\n );\n if (duplicate) {\n throw new ProviderError(\n `A grant for this ${grant.granteeType} already exists on this project`,\n 409\n );\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) 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) 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) 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) 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) 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) 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) 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(\n (m) => m.orgId === id && isLive$1(m) ? { ...m, ...stamp } : m\n );\n const orgProjectIds = new Set(\n store.projects.filter((p) => p.orgId === id && isLive$1(p)).map((p) => p.id)\n );\n store.projects = store.projects.map(\n (p) => p.orgId === id && isLive$1(p) ? { ...p, ...stamp } : p\n );\n store.projectMembers = store.projectMembers.map(\n (m) => orgProjectIds.has(m.projectId) && isLive$1(m) ? { ...m, ...stamp } : m\n );\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(\n orgMembers.filter((m) => m.orgId === orgId && isLive$1(m)),\n opts\n );\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) return null;\n const org = store.orgs.find((o) => o.id === member.orgId);\n if (!org || !isLive$1(org)) 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(\n (m) => m.orgId === member.orgId && m.userId === member.userId\n );\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) 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) 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) return;\n const stamp = auditSoftDelete(ctx, m.updatedBy);\n Object.assign(m, stamp);\n const projectIdsInOrg = new Set(\n store.projects.filter((p) => p.orgId === orgId).map((p) => p.id)\n );\n store.projectMembers = store.projectMembers.map(\n (pm) => pm.userId === userId && projectIdsInOrg.has(pm.projectId) && isLive$1(pm) ? { ...pm, ...stamp } : pm\n );\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(\n applyOrder(\n projects.filter((p) => p.orgId === orgId && isLive(p)),\n opts\n ),\n opts\n );\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(\n (p) => p.orgId === project.orgId && isLive(p) && p.name.toLowerCase() === nameKey\n )) {\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) 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(\n (p) => p.orgId === current.orgId && p.id !== id && isLive(p) && p.name.toLowerCase() === nameKey\n )) {\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(\n (p) => p.orgId === current.orgId && p.slug === patch.slug && p.id !== id && isLive(p)\n )) {\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) throw new ProviderError(`Project '${id}' not found`, 404);\n const stamp = auditSoftDelete(\n ctx,\n store.projects[idx].updatedBy ?? store.projects[idx].ownerId\n );\n store.projects[idx] = { ...store.projects[idx], ...stamp };\n store.projectMembers = store.projectMembers.map(\n (m) => m.projectId === id && isLive(m) ? { ...m, ...stamp } : m\n );\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 reactivateProject(ctx, orgId, slug) {\n const store = await this.loader.get();\n const idx = store.projects.findIndex((p) => p.orgId === orgId && p.slug === slug && !isLive(p));\n if (idx === -1) return null;\n const now = (/* @__PURE__ */ new Date()).toISOString();\n store.projects[idx] = { ...store.projects[idx], deletedAt: null, updatedAt: now };\n const ownerId = store.projects[idx].ownerId;\n const pmIdx = store.projectMembers.findIndex(\n (m) => m.projectId === store.projects[idx].id && m.userId === ownerId && !isLive(m)\n );\n if (pmIdx !== -1) {\n store.projectMembers[pmIdx] = {\n ...store.projectMembers[pmIdx],\n deletedAt: null,\n updatedAt: now\n };\n }\n await this.loader.write(store);\n const project = { ...store.projects[idx] };\n await this.events.emit({\n type: \"project.created\",\n projectId: project.id,\n orgId: project.orgId,\n actorId: actorFrom(ctx)\n });\n return project;\n }\n async listProjectMembers(_ctx, projectId, opts) {\n const { projectMembers } = await this.loader.get();\n return paginate(\n projectMembers.filter((m) => m.projectId === projectId && isLive(m)),\n opts\n );\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(\n (m) => m.projectId === member.projectId && m.userId === member.userId\n );\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(\n (m2) => m2.projectId === projectId && m2.userId === userId && isLive(m2)\n );\n if (!m) 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(\n (m2) => m2.projectId === projectId && m2.userId === userId && isLive(m2)\n );\n if (!m) 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) 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\") return r.displayName.toLowerCase();\n if (field === \"solveCount\") 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) return false;\n if (r.status === \"archived\" && !opts?.includeArchived) 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(\n Object.values(config.definitions).filter((r) => r?.projectId === projectId),\n opts\n );\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(\n (r) => Boolean(r?.displayName && this.live(r))\n );\n const projectIds = Array.from(new Set(records.map((r) => r.projectId)));\n const projects = await Promise.all(\n projectIds.map((id) => this.projectProvider.getProject(ctx, id))\n );\n const publicProjectIds = new Set(\n projects.filter(\n (p) => p !== null && p.visibility === \"public\" && (!opts?.orgId || p.orgId === opts.orgId)\n ).map((p) => p.id)\n );\n const publicRecords = this.visibleRecords(\n records.filter((r) => publicProjectIds.has(r.projectId)),\n opts\n );\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)) 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)) 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)) 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)) 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) 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) return;\n const parent = config.definitions[version.definitionId];\n if (parent && (parent.liveVersionId === versionId || parent.draftVersionId === versionId)) {\n throw new ProviderError(\n `Version '${versionId}' is referenced by liveVersionId or draftVersionId`,\n 409\n );\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)) 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)) 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\") record.liveVersionId = versionId;\n else 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) 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)) return null;\n if (this.definitionProvider) {\n const parent = await this.definitionProvider.get(SYSTEM_CONTEXT, found.definitionId);\n if (!parent) 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)) 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)) return null;\n if (l.maxSolves != null && l.solveCount >= l.maxSolves) 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) 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)) 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) 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) 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) 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) 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) return \"not_found\";\n throw err;\n }\n }\n}\nfunction assertCanAccess$1(ctx, userId) {\n if (ctx.system) return;\n if (ctx.userId === userId) return;\n if (hasPermission(ctx, \"instance_admin\")) 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) 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)) 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) 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) 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) 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(\n (u) => u.userId !== excludeUserId && u.platformPermissions.includes(\"instance_admin\")\n ).length;\n }\n}\nfunction assertCanRead$1(ctx, userId) {\n if (ctx.system) return;\n if (ctx.userId === userId) return;\n if (hasPermission(ctx, \"instance_admin\")) return;\n throw new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin$1(ctx) {\n if (ctx.system) return;\n if (hasPermission(ctx, \"instance_admin\")) return;\n throw new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction assertCanReadBatch(ctx) {\n if (ctx.system) return;\n if (hasPermission(ctx, \"instance_admin\")) return;\n if (hasPermission(ctx, \"manage_instance_users\")) 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) 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 {\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 },\n userData\n );\n }\n}\nclass LocalStorageProvider {\n basePath;\n publicUrlBase;\n static fromEnv(env) {\n if (!env.DATA_PATH) 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\") 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\") 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) throw new Error(\"Missing required env var: SUPABASE_URL\");\n if (!serviceRoleKey) 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)) 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) 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) 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) 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) 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) 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) 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 constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n clients;\n events;\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) 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) 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) 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) throw mapError$7(error);\n const { error: memberError } = await client.from(\"org_members\").upsert(\n {\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 },\n { onConflict: \"org_id,user_id\" }\n );\n if (memberError) 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) row.name = patch.name;\n if (patch.slug !== void 0) row.slug = patch.slug;\n if (Object.keys(row).length === 0) return;\n if (ctx.userId) 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) throw mapError$7(error);\n if (!data || data.length === 0) 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) throw mapError$7(orgErr);\n if (!orgData || orgData.length === 0) 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) 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) 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) 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) 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) throw mapError$7(defErr);\n }\n const { error: invErr } = await client.from(\"invites\").delete().eq(\"org_id\", id);\n if (invErr) throw mapError$7(invErr);\n const { error: cdErr } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", id);\n if (cdErr) throw mapError$7(cdErr);\n const { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", id);\n if (shErr) 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) 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) 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) 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) throw mapError$7(error);\n if (!data) return null;\n const row = data;\n const orgRow = Array.isArray(row.org) ? row.org[0] : row.org;\n if (!orgRow) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n clients;\n events;\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) 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) 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) 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) throw mapError$6(error);\n const { error: memberError } = await client.from(\"project_members\").upsert(\n {\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 },\n { onConflict: \"project_id,user_id\" }\n );\n if (memberError) 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) row.name = patch.name;\n if (patch.slug !== void 0) row.slug = patch.slug;\n if (patch.description !== void 0) row.description = patch.description;\n if (patch.visibility !== void 0) row.visibility = patch.visibility;\n if (patch.autoJoinOnUpload !== void 0) row.auto_join_on_upload = patch.autoJoinOnUpload;\n if (Object.keys(row).length === 0) return;\n if (ctx.userId) 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) throw mapError$6(error);\n if (!data || data.length === 0) 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) throw mapError$6(error);\n if (!data || data.length === 0) 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) 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) throw mapError$6(defErr);\n await this.events.emit({ type: \"project.deleted\", projectId: id, actorId: actorFrom(ctx) });\n }\n async reactivateProject(ctx, orgId, slug) {\n const client = this.clients.forRequest(ctx);\n const { data, error } = await client.from(\"projects\").update({ deleted_at: null }).eq(\"org_id\", orgId).eq(\"slug\", slug).not(\"deleted_at\", \"is\", null).select(\"*\").maybeSingle();\n if (error) throw mapError$6(error);\n if (!data) return null;\n const { error: pmErr } = await client.from(\"project_members\").update({ deleted_at: null }).eq(\"project_id\", data.id).eq(\"user_id\", data.owner_id).not(\"deleted_at\", \"is\", null);\n if (pmErr) throw mapError$6(pmErr);\n const project = rowToProject(data);\n await this.events.emit({\n type: \"project.created\",\n projectId: project.id,\n orgId: project.orgId,\n actorId: actorFrom(ctx)\n });\n return project;\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) 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) 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) 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) 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) 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) 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) 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) row.updated_by = stamp.updatedBy;\n return row;\n}\nfunction mapError$6(e) {\n const pg = e;\n if (pg?.code === \"23505\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error) 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 constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n clients;\n events;\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) 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) query = query.eq(\"project.org_id\", filter.orgId);\n if (filter.projectId) 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) excluded.push(\"pending\");\n if (!opts?.includeArchived) 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) 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) 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) 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) return;\n if (ctx.userId) 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) throw mapError$5(error);\n if (!data || data.length === 0) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) row.tags = r.tags;\n return row;\n}\nfunction patchToRow(patch) {\n const row = {};\n if (patch.displayName !== void 0) row.display_name = patch.displayName;\n if (patch.description !== void 0) row.description = patch.description;\n if (patch.category !== void 0) row.category = patch.category;\n if (patch.tags !== void 0) row.tags = patch.tags;\n if (patch.coverImage !== void 0) row.cover_image = patch.coverImage;\n if (patch.projectId !== void 0) row.project_id = patch.projectId;\n if (patch.computeServerId !== void 0) row.compute_server_id = patch.computeServerId;\n if (patch.status !== void 0) row.status = patch.status;\n if (patch.ownerId !== void 0) 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) row.change_note = v.changeNote;\n if (v.schema !== void 0) row.schema = v.schema;\n if (v.schemaExtractedAt !== void 0) 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\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error) 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 constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n clients;\n events;\n async create(ctx, invite) {\n const { error } = await this.clients.forRequest(ctx).from(\"invites\").insert(inviteToRow(invite));\n if (error) 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) 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) 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) throw mapError$4(error);\n const row = data?.[0];\n if (!row) 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) throw mapError$4(error);\n const row = data?.[0];\n if (!row) 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) 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\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error) 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 constructor(clients) {\n this.clients = clients;\n }\n clients;\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) throw mapError$3(serversRes.error);\n if (sharesRes.error) throw mapError$3(sharesRes.error);\n if (orgDefRes.error) throw mapError$3(orgDefRes.error);\n if (platDefRes.error) 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) 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) 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) throw mapError$3(insErr);\n const shareRows = platformOnly.flatMap(\n (s) => s.sharedWith === \"all\" ? [] : s.sharedWith.map((orgId) => ({ server_id: s.id, org_id: orgId }))\n );\n if (shareRows.length > 0) {\n const { error: shErr } = await client.from(\"compute_server_shares\").insert(shareRows);\n if (shErr) 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) 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) 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) 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) 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) 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) 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) 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) 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) throw mapError$3(srvErr);\n const { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", orgId);\n if (shErr) 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\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error) 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 constructor(clients, events = new NoopEventSink()) {\n this.clients = clients;\n this.events = events;\n }\n clients;\n events;\n async create(ctx, link) {\n const { error } = await this.clients.forRequest(ctx).from(\"share_links\").insert(linkToRow(link));\n if (error) 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) 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) 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) 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) 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(\n \"try_increment_share_link_solve_count\",\n { link_id: id }\n );\n if (error) 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\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error) 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 db: { schema: \"selva\" },\n auth: { persistSession: false, autoRefreshToken: false }\n });\n const anonClient = createClient(opts.supabaseUrl, opts.anonKey, {\n db: { schema: \"selva\" },\n auth: { persistSession: false, autoRefreshToken: false }\n });\n const perRequestCache = /* @__PURE__ */ new WeakMap();\n return {\n serviceClient,\n forRequest(ctx) {\n if (ctx.system) return serviceClient;\n const token = extractSessionToken(ctx.adapterContext);\n if (!token) return anonClient;\n const cached = perRequestCache.get(ctx);\n if (cached) return cached;\n const client = createClient(opts.supabaseUrl, opts.anonKey, {\n db: { schema: \"selva\" },\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\") return void 0;\n const maybe = adapterContext.sessionToken;\n return typeof maybe === \"string\" && maybe.length > 0 ? maybe : void 0;\n}\nclass SupabaseEventSink {\n constructor(clients) {\n this.clients = clients;\n }\n clients;\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 constructor(clients) {\n this.clients = clients;\n }\n clients;\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) return DEFAULT_LIMIT;\n if (requested > MAX_LIMIT) return MAX_LIMIT;\n return Math.floor(requested);\n}\nconst MAX_RECENT_RUNS = 20;\nclass SupabaseUserProfileProvider {\n constructor(clients) {\n this.clients = clients;\n }\n clients;\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) throw mapError$1(error);\n return data ? rowToProfile(data) : null;\n }\n async getProfiles(_ctx, userIds) {\n if (userIds.length === 0) 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) 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) row.display_name = patch.displayName;\n if (Object.keys(row).length === 0) return \"ok\";\n const { data, error } = await this.client().from(\"user_profiles\").update(row).eq(\"user_id\", userId).select(\"user_id\");\n if (error) 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) return \"not_found\";\n if (existing.starredDefinitions.includes(definitionId)) 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) 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) return \"not_found\";\n if (!existing.starredDefinitions.includes(definitionId)) 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) 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) 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) throw mapError$1(error);\n return data && data.length > 0 ? \"ok\" : \"not_found\";\n }\n}\nfunction assertCanAccess(ctx, userId) {\n if (ctx.system) return;\n if (ctx.userId === userId) return;\n if (hasPermission(ctx, \"instance_admin\")) 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\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error) 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 constructor(clients) {\n this.clients = clients;\n }\n clients;\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) 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) return out;\n const { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, platform_permissions\").in(\"user_id\", [...userIds]);\n if (error) 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) throw mapError(fetchError);\n if (!existing) 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) return \"last_admin\";\n }\n const { error } = await this.client().from(\"user_profiles\").update({ platform_permissions: [...permissions] }).eq(\"user_id\", userId);\n if (error) 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) throw mapError(error);\n const candidates = (data ?? []).map((r) => r.user_id);\n if (candidates.length === 0) 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) 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) throw mapError(error);\n const candidates = (data ?? []).map((r) => r.user_id);\n if (candidates.length === 0) 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) 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) return;\n if (ctx.userId === userId) return;\n if (hasPermission(ctx, \"instance_admin\")) return;\n throw new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin(ctx) {\n if (ctx.system) return;\n if (hasPermission(ctx, \"instance_admin\")) return;\n throw new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction mapError(e) {\n const pg = e;\n if (pg?.code === \"23505\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n if (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n if (e instanceof Error) 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 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 clients;\n orgs;\n projects;\n definitions;\n invites;\n computeServer;\n shareLinks;\n userProfile;\n permissions;\n platformProjectGrants;\n auditQuery;\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) throw new Error(\"Missing required env var: SUPABASE_URL\");\n if (!anonKey) throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n if (!serviceRoleKey) 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(\n this.admin,\n this.anon,\n (email, password) => this.signIn(email, password),\n config.enableSelfSignup ?? false,\n (user) => this.hydrate(user)\n );\n this.oauth = new SupabaseOAuthAuth(\n this.anon,\n (user) => this.hydrate(user),\n config.oauthProviders ?? []\n );\n this.emailLink = new SupabaseEmailLinkAuth(\n this.anon,\n (user) => this.hydrate(user),\n config.allowEmailLinkSignup ?? true\n );\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) throw new Error(\"Missing required env var: SUPABASE_URL\");\n if (!anonKey) throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n if (!serviceRoleKey) 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) return null;\n const { data, error } = await this.anon.auth.getUser(token);\n if (error || !data.user) return null;\n if (data.user.user_metadata?.disabled === true) 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) 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) 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) throw error;\n if (!data.user) 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 ?? \"\")) 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) 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 ?? \"\")) 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) 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) 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) return null;\n if (data.user.user_metadata?.disabled === true) 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 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 admin;\n anon;\n signIn;\n enableSelfSignup;\n hydrate;\n async verifyLogin(email, password) {\n const result = await this.signIn(email, password);\n if (!result) 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) throw error;\n if (!data.user) throw new Error(\"createUserWithPassword returned no user\");\n return this.hydrate(data.user);\n }\n async registerUser(email, password) {\n if (!this.enableSelfSignup) return null;\n const { data, error } = await this.anon.auth.signUp({ email, password });\n if (error || !data.user) return null;\n return this.hydrate(data.user);\n }\n}\nclass SupabaseOAuthAuth {\n constructor(anon, hydrate, providers2) {\n this.anon = anon;\n this.hydrate = hydrate;\n this.providers = providers2;\n }\n anon;\n hydrate;\n providers;\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) 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) return null;\n if (data.user.user_metadata?.disabled === true) 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) return null;\n return {\n sessionToken: data.session.access_token,\n refreshToken: data.session.refresh_token\n };\n }\n}\nclass SupabaseEmailLinkAuth {\n constructor(anon, hydrate, allowSignup) {\n this.anon = anon;\n this.hydrate = hydrate;\n this.allowSignup = allowSignup;\n }\n anon;\n hydrate;\n allowSignup;\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) 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) 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) return null;\n if (data.user.user_metadata?.disabled === true) 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) return null;\n const allowed = /* @__PURE__ */ new Set([\"magiclink\", \"email\", \"signup\", \"invite\", \"recovery\"]);\n if (!type || !allowed.has(type)) 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\") 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) 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) 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) return;\n if (file.users.some((u) => u.id !== id && u.upn === key)) 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) 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) 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) 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) 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 constructor(users, headers, bootstrapPolicy) {\n this.users = users;\n this.headers = headers;\n this.bootstrapPolicy = bootstrapPolicy;\n }\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 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(\n `[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 }\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) entry.email = email;\n if (displayName && !entry.displayName) 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(\n \"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 }\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) 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) return \"not_found\";\n throw err;\n }\n }\n async disableUser(id) {\n const target = await this.users.findById(id);\n if (!target) 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) 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();\nlet _providers;\nfunction resolveProviders() {\n if (_providers) return _providers;\n _providers = typeof _raw === \"function\" ? _raw(private_env) : _raw;\n console.info(\n `[selva] providers wired: auth=${_providers.auth.name} data=${_providers.data.constructor.name} storage=${_providers.storage.constructor.name} tenancy=${_providers.tenancy ?? \"single\"}` + (private_env.SELVA_CONFIG_PATH ? ` config=${private_env.SELVA_CONFIG_PATH}` : \"\")\n );\n return _providers;\n}\nconst providers = new Proxy({}, {\n get(_t, prop) {\n return Reflect.get(resolveProviders(), prop);\n }\n});\nfunction getTenancy() {\n return resolveProviders().tenancy ?? \"single\";\n}\nfunction getBranding() {\n const brand = resolveProviders().branding ?? {};\n const name = brand.name?.trim() || \"Selva\";\n return {\n 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 };\n}\nfunction flag(name) {\n return isFlagEnabled(resolveProviders(), name);\n}\nlet _definitionService;\nfunction getDefinitionService() {\n if (!_definitionService) {\n const p = resolveProviders();\n _definitionService = new DefinitionService(p.data, p.storage);\n }\n return _definitionService;\n}\nfunction getAuthProvider() {\n return resolveProviders().auth;\n}\nfunction getStorageProvider() {\n return resolveProviders().storage;\n}\nfunction getDataProvider() {\n return resolveProviders().data;\n}\nfunction getOrganizationProvider() {\n return resolveProviders().data.orgs;\n}\nfunction getProjectProvider() {\n return resolveProviders().data.projects;\n}\nfunction getDefinitionMeta() {\n return resolveProviders().data.definitions;\n}\nfunction getComputeServerConfigStore() {\n return resolveProviders().data.computeServer;\n}\nfunction getUserProfileStore() {\n return resolveProviders().data.userProfile;\n}\nfunction getInviteStore() {\n return resolveProviders().data.invites;\n}\nfunction getPermissionStore() {\n return resolveProviders().data.permissions;\n}\nfunction getPlatformProjectGrantStore() {\n return resolveProviders().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 getAuthProvider as a,\n getBranding as b,\n getComputeServerConfigStore as c,\n definitionPaths as d,\n getDataProvider as e,\n flag as f,\n getAuditQuery as g,\n getDefinitionMeta as h,\n getDefinitionService 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 getTenancy as p,\n getUserProfileStore as q,\n isOrgServer as r,\n isPlatformServer as s,\n providers as t\n};\n"],"names":[],"mappings":"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"}