@selvajs/selva 4.7.0 → 4.7.2

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 (830) hide show
  1. package/build/client/_app/immutable/assets/0.C_NYyhEq.css +2 -0
  2. package/build/client/_app/immutable/assets/0.C_NYyhEq.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.C_NYyhEq.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/rhino3dm.c7Dt22ey.wasm +0 -0
  5. package/build/client/_app/immutable/assets/rhino3dm.c7Dt22ey.wasm.br +0 -0
  6. package/build/client/_app/immutable/assets/rhino3dm.c7Dt22ey.wasm.gz +0 -0
  7. package/build/client/_app/immutable/chunks/BFoE6XI72.js +7 -0
  8. package/build/client/_app/immutable/chunks/BFoE6XI72.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BFoE6XI72.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/BH_AsplL.js +2 -0
  11. package/build/client/_app/immutable/chunks/BH_AsplL.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/BH_AsplL.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/BY-g58bE.js +1 -0
  14. package/build/client/_app/immutable/chunks/BY-g58bE.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BY-g58bE.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BbD3QanV2.js +1 -0
  17. package/build/client/_app/immutable/chunks/BbD3QanV2.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/BbD3QanV2.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/Bq18tj_a2.js +1 -0
  20. package/build/client/_app/immutable/chunks/Bq18tj_a2.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/Bq18tj_a2.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/C5qitKDD2.js +1 -0
  23. package/build/client/_app/immutable/chunks/C5qitKDD2.js.br +2 -0
  24. package/build/client/_app/immutable/chunks/C5qitKDD2.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/CQAfTXcm.js +1 -0
  26. package/build/client/_app/immutable/chunks/CQAfTXcm.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/CQAfTXcm.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/CVGG5cou.js +2 -0
  29. package/build/client/_app/immutable/chunks/CVGG5cou.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/CVGG5cou.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/DexxF51_.js +1 -0
  32. package/build/client/_app/immutable/chunks/DexxF51_.js.br +3 -0
  33. package/build/client/_app/immutable/chunks/DexxF51_.js.gz +0 -0
  34. package/build/client/_app/immutable/entry/app.D-RJkHIt.js +2 -0
  35. package/build/client/_app/immutable/entry/app.D-RJkHIt.js.br +0 -0
  36. package/build/client/_app/immutable/entry/app.D-RJkHIt.js.gz +0 -0
  37. package/build/client/_app/immutable/entry/start.I2pqBGf4.js +1 -0
  38. package/build/client/_app/immutable/entry/start.I2pqBGf4.js.br +0 -0
  39. package/build/client/_app/immutable/entry/start.I2pqBGf4.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/1.DVyoAMuu.js +1 -0
  41. package/build/client/_app/immutable/nodes/1.DVyoAMuu.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/1.DVyoAMuu.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/11.CQbreiqk.js +2 -0
  44. package/build/client/_app/immutable/nodes/11.CQbreiqk.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/11.CQbreiqk.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/13.C4vZxwnQ.js +2 -0
  47. package/build/client/_app/immutable/nodes/13.C4vZxwnQ.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/13.C4vZxwnQ.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/14.DASy3nb-.js +2 -0
  50. package/build/client/_app/immutable/nodes/14.DASy3nb-.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/14.DASy3nb-.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/15.BC1C3cKb.js +21 -0
  53. package/build/client/_app/immutable/nodes/15.BC1C3cKb.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/15.BC1C3cKb.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/16.ndEU45yq.js +6 -0
  56. package/build/client/_app/immutable/nodes/16.ndEU45yq.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/16.ndEU45yq.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/17.LLtsCwzz.js +2 -0
  59. package/build/client/_app/immutable/nodes/17.LLtsCwzz.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/17.LLtsCwzz.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/19.CD3DqCqe.js +2 -0
  62. package/build/client/_app/immutable/nodes/19.CD3DqCqe.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/19.CD3DqCqe.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/2.BlsyZJiA.js +1 -0
  65. package/build/client/_app/immutable/nodes/2.BlsyZJiA.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/2.BlsyZJiA.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/20.BFohqiKN.js +12 -0
  68. package/build/client/_app/immutable/nodes/20.BFohqiKN.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/20.BFohqiKN.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/21.DZiGzC7Z.js +6 -0
  71. package/build/client/_app/immutable/nodes/21.DZiGzC7Z.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/21.DZiGzC7Z.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/23.C46hjmtc.js +16 -0
  74. package/build/client/_app/immutable/nodes/23.C46hjmtc.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/23.C46hjmtc.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/24.DCmyEKJz.js +6 -0
  77. package/build/client/_app/immutable/nodes/24.DCmyEKJz.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/24.DCmyEKJz.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/27.DyMg91My.js +4 -0
  80. package/build/client/_app/immutable/nodes/27.DyMg91My.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/27.DyMg91My.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/28.CPR6YRXC.js +4 -0
  83. package/build/client/_app/immutable/nodes/28.CPR6YRXC.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/28.CPR6YRXC.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/29.Coy1qPJ_.js +2 -0
  86. package/build/client/_app/immutable/nodes/29.Coy1qPJ_.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/29.Coy1qPJ_.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/3.CZJ4gpKN.js +1 -0
  89. package/build/client/_app/immutable/nodes/3.CZJ4gpKN.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/3.CZJ4gpKN.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/30.CzJyrCok.js +2 -0
  92. package/build/client/_app/immutable/nodes/30.CzJyrCok.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/30.CzJyrCok.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/5.DNdojkB1.js +1 -0
  95. package/build/client/_app/immutable/nodes/5.DNdojkB1.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/5.DNdojkB1.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/6.4pxciwO2.js +1 -0
  98. package/build/client/_app/immutable/nodes/6.4pxciwO2.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/6.4pxciwO2.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/7.DvXhnRZv.js +1 -0
  101. package/build/client/_app/immutable/nodes/7.DvXhnRZv.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/7.DvXhnRZv.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/8.DVVhiAKi.js +2 -0
  104. package/build/client/_app/immutable/nodes/8.DVVhiAKi.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/8.DVVhiAKi.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/9.Brd0DUUz.js +1 -0
  107. package/build/client/_app/immutable/nodes/9.Brd0DUUz.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/9.Brd0DUUz.js.gz +0 -0
  109. package/build/client/_app/version.json +1 -1
  110. package/build/client/_app/version.json.br +0 -0
  111. package/build/client/_app/version.json.gz +0 -0
  112. package/build/handler.js +4 -4
  113. package/build/index.js +4 -4
  114. package/build/server/chunks/chunks/AppHeader.js-CNlN8xDO.js +281 -0
  115. package/build/server/chunks/chunks/AppHeader.js-CNlN8xDO.js.map +1 -0
  116. package/build/server/chunks/chunks/SideNav.js-CU5TFjXQ.js +67 -0
  117. package/build/server/chunks/chunks/SideNav.js-CU5TFjXQ.js.map +1 -0
  118. package/build/server/chunks/chunks/UserChip.js-DwXHanLA.js +1163 -0
  119. package/build/server/chunks/chunks/UserChip.js-DwXHanLA.js.map +1 -0
  120. package/build/server/chunks/chunks/access.server.js-CzBCyDoD.js +453 -0
  121. package/build/server/chunks/chunks/access.server.js-CzBCyDoD.js.map +1 -0
  122. package/build/server/chunks/chunks/access2.server.js-BONknTul.js +20 -0
  123. package/build/server/chunks/chunks/access2.server.js-BONknTul.js.map +1 -0
  124. package/build/server/chunks/chunks/admin-config.js-BXnSbuRl.js +3 -0
  125. package/build/server/chunks/chunks/admin-config.js-BXnSbuRl.js.map +1 -0
  126. package/build/server/chunks/chunks/api-errors.js-BLGSIpxK.js +141 -0
  127. package/build/server/chunks/chunks/api-errors.js-BLGSIpxK.js.map +1 -0
  128. package/build/server/chunks/chunks/auth-bootstrap.server.js-2xuTUNHO.js +162 -0
  129. package/build/server/chunks/chunks/auth-bootstrap.server.js-2xuTUNHO.js.map +1 -0
  130. package/build/server/chunks/chunks/auth.server.js-CnOciBEi.js +2 -0
  131. package/build/server/chunks/chunks/auth.server.js-CnOciBEi.js.map +1 -0
  132. package/build/server/chunks/chunks/bootHealth.server.js-MXd4euZW.js +91 -0
  133. package/build/server/chunks/chunks/bootHealth.server.js-MXd4euZW.js.map +1 -0
  134. package/build/server/chunks/chunks/client.js-D-cqOdzj.js +58 -0
  135. package/build/server/chunks/chunks/client.js-D-cqOdzj.js.map +1 -0
  136. package/build/server/chunks/chunks/clientCache.server.js-DB1NkYeo.js +195 -0
  137. package/build/server/chunks/chunks/clientCache.server.js-DB1NkYeo.js.map +1 -0
  138. package/build/server/chunks/chunks/computeLimits.js-B_SlcTdp.js +48 -0
  139. package/build/server/chunks/chunks/computeLimits.js-B_SlcTdp.js.map +1 -0
  140. package/build/server/chunks/chunks/evictChangedServers.js-G5on-4-K.js +29 -0
  141. package/build/server/chunks/chunks/evictChangedServers.js-G5on-4-K.js.map +1 -0
  142. package/build/server/chunks/chunks/forms.js-DT1udT9D.js +2 -0
  143. package/build/server/chunks/chunks/forms.js-DT1udT9D.js.map +1 -0
  144. package/build/server/chunks/chunks/internal.js-WBVEU67X.js.map +1 -1
  145. package/build/server/chunks/chunks/internal2.js-CWvNgH57.js +224 -0
  146. package/build/server/chunks/chunks/internal2.js-CWvNgH57.js.map +1 -0
  147. package/build/server/chunks/chunks/navigation.js-DT1udT9D.js +2 -0
  148. package/build/server/chunks/chunks/navigation.js-DT1udT9D.js.map +1 -0
  149. package/build/server/chunks/chunks/org-members.server.js-CWd6Guql.js +35 -0
  150. package/build/server/chunks/chunks/org-members.server.js-CWd6Guql.js.map +1 -0
  151. package/build/server/chunks/chunks/package.js-fCdNMx2E.js +76 -0
  152. package/build/server/chunks/chunks/package.js-fCdNMx2E.js.map +1 -0
  153. package/build/server/chunks/chunks/permissions.server.js-CTvpP-8K.js +15 -0
  154. package/build/server/chunks/chunks/permissions.server.js-CTvpP-8K.js.map +1 -0
  155. package/build/server/chunks/chunks/providers.server.js-Wjp7cRza.js +6312 -0
  156. package/build/server/chunks/chunks/providers.server.js-Wjp7cRza.js.map +1 -0
  157. package/build/server/chunks/chunks/resolve.server.js-sJadSbGv.js +62 -0
  158. package/build/server/chunks/chunks/resolve.server.js-sJadSbGv.js.map +1 -0
  159. package/build/server/chunks/chunks/selfUpdate.server.js-CUzx8d4Z.js +152 -0
  160. package/build/server/chunks/chunks/selfUpdate.server.js-CUzx8d4Z.js.map +1 -0
  161. package/build/server/chunks/chunks/state.js-0D9l5k29.js +64 -0
  162. package/build/server/chunks/chunks/state.js-0D9l5k29.js.map +1 -0
  163. package/build/server/chunks/chunks/stores.js-ByO7j12C.js +35 -0
  164. package/build/server/chunks/chunks/stores.js-ByO7j12C.js.map +1 -0
  165. package/build/server/chunks/chunks/utils2.js-DzUQOoCX.js +62 -0
  166. package/build/server/chunks/chunks/utils2.js-DzUQOoCX.js.map +1 -0
  167. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-CSSjL1aU.js +93 -0
  168. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-CSSjL1aU.js.map +1 -0
  169. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CMq4u8W0.js +53 -0
  170. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CMq4u8W0.js.map +1 -0
  171. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-fdh4b1g6.js +79 -0
  172. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-fdh4b1g6.js.map +1 -0
  173. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-BpJ3JwCW.js +50 -0
  174. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-BpJ3JwCW.js.map +1 -0
  175. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C7N8_NaN.js +86 -0
  176. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-C7N8_NaN.js.map +1 -0
  177. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-NEuAvShS.js +72 -0
  178. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-NEuAvShS.js.map +1 -0
  179. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-D97Zcsl3.js +74 -0
  180. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-D97Zcsl3.js.map +1 -0
  181. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-B6TojUBT.js +34 -0
  182. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-B6TojUBT.js.map +1 -0
  183. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-CQfCYMlk.js +71 -0
  184. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-CQfCYMlk.js.map +1 -0
  185. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-Gyjialsx.js +103 -0
  186. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-Gyjialsx.js.map +1 -0
  187. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-DSpJSpmq.js +208 -0
  188. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-DSpJSpmq.js.map +1 -0
  189. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-BjnIUQv7.js +90 -0
  190. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-BjnIUQv7.js.map +1 -0
  191. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-CXE4GneZ.js +403 -0
  192. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-CXE4GneZ.js.map +1 -0
  193. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-Bk8THYuD.js +76 -0
  194. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-Bk8THYuD.js.map +1 -0
  195. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js-B4doN1wn.js +46 -0
  196. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js-B4doN1wn.js.map +1 -0
  197. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-C4oeSdME.js +86 -0
  198. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-C4oeSdME.js.map +1 -0
  199. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-DEYsMeB-.js +0 -0
  200. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-DEYsMeB-.js.map +1 -0
  201. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-DFfzNLtj.js +68 -0
  202. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-DFfzNLtj.js.map +1 -0
  203. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-DcdyTQq_.js +75 -0
  204. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-DcdyTQq_.js.map +1 -0
  205. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BvxZZthH.js +46 -0
  206. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BvxZZthH.js.map +1 -0
  207. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-CO3TnH5n.js +44 -0
  208. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-CO3TnH5n.js.map +1 -0
  209. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-CQLfmHeQ.js +40 -0
  210. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-CQLfmHeQ.js.map +1 -0
  211. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-CmX16JIT.js +46 -0
  212. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-CmX16JIT.js.map +1 -0
  213. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-Xi54QgJT.js +84 -0
  214. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-Xi54QgJT.js.map +1 -0
  215. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-DArge1B-.js +47 -0
  216. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-DArge1B-.js.map +1 -0
  217. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-CA5kyuF4.js +40 -0
  218. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-CA5kyuF4.js.map +1 -0
  219. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-D8V5knOs.js +94 -0
  220. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-D8V5knOs.js.map +1 -0
  221. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-8fiP1Kvb.js +59 -0
  222. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-8fiP1Kvb.js.map +1 -0
  223. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D00SGxLm.js +89 -0
  224. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-D00SGxLm.js.map +1 -0
  225. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-2iVLHYFq.js +56 -0
  226. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-2iVLHYFq.js.map +1 -0
  227. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-BAC7u5_k.js +49 -0
  228. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-BAC7u5_k.js.map +1 -0
  229. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-BsGsD_EG.js +77 -0
  230. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-BsGsD_EG.js.map +1 -0
  231. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-Bg1VMXkr.js +45 -0
  232. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-Bg1VMXkr.js.map +1 -0
  233. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BgM1YoUT.js +110 -0
  234. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BgM1YoUT.js.map +1 -0
  235. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-DTBgdsQ-.js +79 -0
  236. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-DTBgdsQ-.js.map +1 -0
  237. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-CkxHsZUH.js +71 -0
  238. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-CkxHsZUH.js.map +1 -0
  239. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-Gw2Y_4NQ.js +65 -0
  240. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-Gw2Y_4NQ.js.map +1 -0
  241. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-UbN3QXPq.js +64 -0
  242. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-UbN3QXPq.js.map +1 -0
  243. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-CPI5Lgo_.js +48 -0
  244. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-CPI5Lgo_.js.map +1 -0
  245. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-B8r1kMW3.js +85 -0
  246. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-B8r1kMW3.js.map +1 -0
  247. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Bb915SbG.js +48 -0
  248. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-Bb915SbG.js.map +1 -0
  249. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-5SMFLI8g.js +52 -0
  250. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-5SMFLI8g.js.map +1 -0
  251. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-lGwb9U-4.js +51 -0
  252. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-lGwb9U-4.js.map +1 -0
  253. package/build/server/chunks/entries/hooks.server.js-DePwqtK0.js +341 -0
  254. package/build/server/chunks/entries/hooks.server.js-DePwqtK0.js.map +1 -0
  255. package/build/server/chunks/entries/pages/_error.svelte.js-CWCmCecR.js +35 -0
  256. package/build/server/chunks/entries/pages/_error.svelte.js-CWCmCecR.js.map +1 -0
  257. package/build/server/chunks/entries/pages/_layout.server.ts.js-B6KYjzmH.js +34 -0
  258. package/build/server/chunks/entries/pages/_layout.server.ts.js-B6KYjzmH.js.map +1 -0
  259. package/build/server/chunks/entries/pages/_page.svelte.js-CI8uwVff.js +76 -0
  260. package/build/server/chunks/entries/pages/_page.svelte.js-CI8uwVff.js.map +1 -0
  261. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DSfBzMqL.js +109 -0
  262. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DSfBzMqL.js.map +1 -0
  263. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CQQAFwl1.js +148 -0
  264. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-CQQAFwl1.js.map +1 -0
  265. package/build/server/chunks/entries/pages/admin/_error.svelte.js-C96JJBHE.js +36 -0
  266. package/build/server/chunks/entries/pages/admin/_error.svelte.js-C96JJBHE.js.map +1 -0
  267. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CXC4E9hR.js +31 -0
  268. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CXC4E9hR.js.map +1 -0
  269. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-VKAqu-dr.js +121 -0
  270. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-VKAqu-dr.js.map +1 -0
  271. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DCjhQohV.js +75 -0
  272. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DCjhQohV.js.map +1 -0
  273. package/build/server/chunks/entries/pages/admin/_page.svelte.js-CaRZ22CF.js +359 -0
  274. package/build/server/chunks/entries/pages/admin/_page.svelte.js-CaRZ22CF.js.map +1 -0
  275. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DXv7dWhK.js +245 -0
  276. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DXv7dWhK.js.map +1 -0
  277. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-DTScln2J.js +45 -0
  278. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-DTScln2J.js.map +1 -0
  279. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BheaUvpz.js +612 -0
  280. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-BheaUvpz.js.map +1 -0
  281. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-Cmg3zFs-.js +35 -0
  282. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-Cmg3zFs-.js.map +1 -0
  283. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-CpVVJpVi.js +86 -0
  284. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-CpVVJpVi.js.map +1 -0
  285. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DMOvTFjN.js +616 -0
  286. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DMOvTFjN.js.map +1 -0
  287. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-d_rFu7ap.js +42 -0
  288. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-d_rFu7ap.js.map +1 -0
  289. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-DvO9y2XD.js +282 -0
  290. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-DvO9y2XD.js.map +1 -0
  291. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BOGl22j9.js +79 -0
  292. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-BOGl22j9.js.map +1 -0
  293. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CovWU5Af.js +1363 -0
  294. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-CovWU5Af.js.map +1 -0
  295. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-jrtfuXDZ.js +70 -0
  296. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-jrtfuXDZ.js.map +1 -0
  297. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-2mav2es6.js +681 -0
  298. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-2mav2es6.js.map +1 -0
  299. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-TqjhNJn4.js +62 -0
  300. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-TqjhNJn4.js.map +1 -0
  301. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-CsEVG4Qi.js +62 -0
  302. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-CsEVG4Qi.js.map +1 -0
  303. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-D4BsGogS.js +124 -0
  304. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-D4BsGogS.js.map +1 -0
  305. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-02voe6h3.js +12096 -0
  306. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-02voe6h3.js.map +1 -0
  307. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DoZYMSFL.js +73 -0
  308. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DoZYMSFL.js.map +1 -0
  309. package/build/server/chunks/entries/pages/library/_page.svelte.js-kQg7prrI.js +328 -0
  310. package/build/server/chunks/entries/pages/library/_page.svelte.js-kQg7prrI.js.map +1 -0
  311. package/build/server/chunks/entries/pages/login/_page.server.ts.js-crSVM6nE.js +76 -0
  312. package/build/server/chunks/entries/pages/login/_page.server.ts.js-crSVM6nE.js.map +1 -0
  313. package/build/server/chunks/entries/pages/login/_page.svelte.js-DFc8B7zz.js +256 -0
  314. package/build/server/chunks/entries/pages/login/_page.svelte.js-DFc8B7zz.js.map +1 -0
  315. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-C0WQJqig.js +49 -0
  316. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-C0WQJqig.js.map +1 -0
  317. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-DF1WeYyF.js +101 -0
  318. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-DF1WeYyF.js.map +1 -0
  319. package/build/server/chunks/entries/pages/projects/_page.svelte.js-UA4Ub5QH.js +3770 -0
  320. package/build/server/chunks/entries/pages/projects/_page.svelte.js-UA4Ub5QH.js.map +1 -0
  321. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DH6_gIb7.js +113 -0
  322. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-DH6_gIb7.js.map +1 -0
  323. package/build/server/chunks/entries/pages/setup/_page.svelte.js-DdjWjdMZ.js +321 -0
  324. package/build/server/chunks/entries/pages/setup/_page.svelte.js-DdjWjdMZ.js.map +1 -0
  325. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-DLa2-7lS.js +28 -0
  326. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-DLa2-7lS.js.map +1 -0
  327. package/build/server/chunks/entries/pages/team/_layout.svelte.js-DcS_pi8Q.js +162 -0
  328. package/build/server/chunks/entries/pages/team/_layout.svelte.js-DcS_pi8Q.js.map +1 -0
  329. package/build/server/chunks/entries/pages/team/_page.server.ts.js-DGAiQdZI.js +35 -0
  330. package/build/server/chunks/entries/pages/team/_page.server.ts.js-DGAiQdZI.js.map +1 -0
  331. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CYiX10yQ.js +42 -0
  332. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CYiX10yQ.js.map +1 -0
  333. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-x-kNR95q.js +593 -0
  334. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-x-kNR95q.js.map +1 -0
  335. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-C2oNd-tt.js +58 -0
  336. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-C2oNd-tt.js.map +1 -0
  337. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BnZELsgA.js +539 -0
  338. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-BnZELsgA.js.map +1 -0
  339. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DbK6fG9x.js +42 -0
  340. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DbK6fG9x.js.map +1 -0
  341. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CNvUx0-V.js +436 -0
  342. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CNvUx0-V.js.map +1 -0
  343. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-Covcwasu.js +50 -0
  344. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-Covcwasu.js.map +1 -0
  345. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-BI6Y_-xD.js +262 -0
  346. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-BI6Y_-xD.js.map +1 -0
  347. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Cts7JADL.js +32 -0
  348. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-Cts7JADL.js.map +1 -0
  349. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DrDde3K0.js +16 -0
  350. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-DrDde3K0.js.map +1 -0
  351. package/build/server/chunks/handler-ZE5xWjCD.js +1206 -0
  352. package/build/server/chunks/handler-ZE5xWjCD.js.map +1 -0
  353. package/build/server/chunks/index.js-B6xuXumZ.js +3747 -0
  354. package/build/server/chunks/index.js-B6xuXumZ.js.map +1 -0
  355. package/build/server/chunks/manifest.js-BwdukJwC.js +548 -0
  356. package/build/server/chunks/manifest.js-BwdukJwC.js.map +1 -0
  357. package/build/server/chunks/nodes/0.js-DKuQ3PA2.js +25 -0
  358. package/build/server/chunks/nodes/0.js-DKuQ3PA2.js.map +1 -0
  359. package/build/server/chunks/nodes/1.js-mHFYMGF2.js +9 -0
  360. package/build/server/chunks/nodes/1.js-mHFYMGF2.js.map +1 -0
  361. package/build/server/chunks/nodes/10.js-BN9OT7So.js +27 -0
  362. package/build/server/chunks/nodes/10.js-BN9OT7So.js.map +1 -0
  363. package/build/server/chunks/nodes/11.js-DM3Hz345.js +28 -0
  364. package/build/server/chunks/nodes/11.js-DM3Hz345.js.map +1 -0
  365. package/build/server/chunks/nodes/12.js-D0tJacZx.js +26 -0
  366. package/build/server/chunks/nodes/12.js-D0tJacZx.js.map +1 -0
  367. package/build/server/chunks/nodes/13.js-BqvfcLwo.js +26 -0
  368. package/build/server/chunks/nodes/13.js-BqvfcLwo.js.map +1 -0
  369. package/build/server/chunks/nodes/14.js-CngfosqV.js +26 -0
  370. package/build/server/chunks/nodes/14.js-CngfosqV.js.map +1 -0
  371. package/build/server/chunks/nodes/15.js-DwNNUCsj.js +38 -0
  372. package/build/server/chunks/nodes/15.js-DwNNUCsj.js.map +1 -0
  373. package/build/server/chunks/nodes/16.js-D_LnVEKm.js +29 -0
  374. package/build/server/chunks/nodes/16.js-D_LnVEKm.js.map +1 -0
  375. package/build/server/chunks/nodes/17.js-Cae_zNwu.js +9 -0
  376. package/build/server/chunks/nodes/17.js-Cae_zNwu.js.map +1 -0
  377. package/build/server/chunks/nodes/18.js-BiSh_xo0.js +34 -0
  378. package/build/server/chunks/nodes/18.js-BiSh_xo0.js.map +1 -0
  379. package/build/server/chunks/nodes/19.js-Di2BtNSf.js +27 -0
  380. package/build/server/chunks/nodes/19.js-Di2BtNSf.js.map +1 -0
  381. package/build/server/chunks/nodes/2.js-DIKJP0o1.js +27 -0
  382. package/build/server/chunks/nodes/2.js-DIKJP0o1.js.map +1 -0
  383. package/build/server/chunks/nodes/20.js-Drhlsfzl.js +40 -0
  384. package/build/server/chunks/nodes/20.js-Drhlsfzl.js.map +1 -0
  385. package/build/server/chunks/nodes/21.js-CWGLNePo.js +34 -0
  386. package/build/server/chunks/nodes/21.js-CWGLNePo.js.map +1 -0
  387. package/build/server/chunks/nodes/23.js-Brf-hDaf.js +28 -0
  388. package/build/server/chunks/nodes/23.js-Brf-hDaf.js.map +1 -0
  389. package/build/server/chunks/nodes/24.js-B99rorTq.js +34 -0
  390. package/build/server/chunks/nodes/24.js-B99rorTq.js.map +1 -0
  391. package/build/server/chunks/nodes/25.js-D9rFPXHZ.js +26 -0
  392. package/build/server/chunks/nodes/25.js-D9rFPXHZ.js.map +1 -0
  393. package/build/server/chunks/nodes/27.js-C7PvXWdZ.js +27 -0
  394. package/build/server/chunks/nodes/27.js-C7PvXWdZ.js.map +1 -0
  395. package/build/server/chunks/nodes/28.js-DJNPfQkg.js +26 -0
  396. package/build/server/chunks/nodes/28.js-DJNPfQkg.js.map +1 -0
  397. package/build/server/chunks/nodes/29.js-C_MjxADb.js +26 -0
  398. package/build/server/chunks/nodes/29.js-C_MjxADb.js.map +1 -0
  399. package/build/server/chunks/nodes/3.js-DjlKd1FC.js +9 -0
  400. package/build/server/chunks/nodes/3.js-DjlKd1FC.js.map +1 -0
  401. package/build/server/chunks/nodes/30.js-BHRjlMrP.js +26 -0
  402. package/build/server/chunks/nodes/30.js-BHRjlMrP.js.map +1 -0
  403. package/build/server/chunks/nodes/31.js-C7qEcMAp.js +26 -0
  404. package/build/server/chunks/nodes/31.js-C7qEcMAp.js.map +1 -0
  405. package/build/server/chunks/nodes/32.js-z0efXLLV.js +26 -0
  406. package/build/server/chunks/nodes/32.js-z0efXLLV.js.map +1 -0
  407. package/build/server/chunks/nodes/5.js-CFhg0Xbu.js +15 -0
  408. package/build/server/chunks/nodes/5.js-CFhg0Xbu.js.map +1 -0
  409. package/build/server/chunks/nodes/6.js-D_hWn87f.js +26 -0
  410. package/build/server/chunks/nodes/6.js-D_hWn87f.js.map +1 -0
  411. package/build/server/chunks/nodes/7.js-D5_GW-qV.js +12 -0
  412. package/build/server/chunks/nodes/7.js-D5_GW-qV.js.map +1 -0
  413. package/build/server/chunks/nodes/8.js-C-l5tKPg.js +35 -0
  414. package/build/server/chunks/nodes/8.js-C-l5tKPg.js.map +1 -0
  415. package/build/server/chunks/nodes/9.js-CxwOKm_Y.js +26 -0
  416. package/build/server/chunks/nodes/9.js-CxwOKm_Y.js.map +1 -0
  417. package/package.json +6 -6
  418. package/build/client/_app/immutable/assets/0.CHkzgE-e.css +0 -2
  419. package/build/client/_app/immutable/assets/0.CHkzgE-e.css.br +0 -0
  420. package/build/client/_app/immutable/assets/0.CHkzgE-e.css.gz +0 -0
  421. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm +0 -0
  422. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm.br +0 -0
  423. package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm.gz +0 -0
  424. package/build/client/_app/immutable/chunks/0M2DDHMf.js +0 -2
  425. package/build/client/_app/immutable/chunks/0M2DDHMf.js.br +0 -0
  426. package/build/client/_app/immutable/chunks/0M2DDHMf.js.gz +0 -0
  427. package/build/client/_app/immutable/chunks/BG2iwmg_.js +0 -1
  428. package/build/client/_app/immutable/chunks/BG2iwmg_.js.br +0 -0
  429. package/build/client/_app/immutable/chunks/BG2iwmg_.js.gz +0 -0
  430. package/build/client/_app/immutable/chunks/BGbIB54K2.js +0 -35
  431. package/build/client/_app/immutable/chunks/BGbIB54K2.js.br +0 -0
  432. package/build/client/_app/immutable/chunks/BGbIB54K2.js.gz +0 -0
  433. package/build/client/_app/immutable/chunks/BHKDoXDm2.js +0 -1
  434. package/build/client/_app/immutable/chunks/BHKDoXDm2.js.br +0 -2
  435. package/build/client/_app/immutable/chunks/BHKDoXDm2.js.gz +0 -0
  436. package/build/client/_app/immutable/chunks/C-eh-BYT2.js +0 -1
  437. package/build/client/_app/immutable/chunks/C-eh-BYT2.js.br +0 -0
  438. package/build/client/_app/immutable/chunks/C-eh-BYT2.js.gz +0 -0
  439. package/build/client/_app/immutable/chunks/Cg_4c8n32.js +0 -1
  440. package/build/client/_app/immutable/chunks/Cg_4c8n32.js.br +0 -0
  441. package/build/client/_app/immutable/chunks/Cg_4c8n32.js.gz +0 -0
  442. package/build/client/_app/immutable/chunks/D9DFvnxj.js +0 -1
  443. package/build/client/_app/immutable/chunks/D9DFvnxj.js.br +0 -3
  444. package/build/client/_app/immutable/chunks/D9DFvnxj.js.gz +0 -0
  445. package/build/client/_app/immutable/chunks/DFsxVbse.js +0 -1
  446. package/build/client/_app/immutable/chunks/DFsxVbse.js.br +0 -0
  447. package/build/client/_app/immutable/chunks/DFsxVbse.js.gz +0 -0
  448. package/build/client/_app/immutable/chunks/qU0FhiPD.js +0 -2
  449. package/build/client/_app/immutable/chunks/qU0FhiPD.js.br +0 -0
  450. package/build/client/_app/immutable/chunks/qU0FhiPD.js.gz +0 -0
  451. package/build/client/_app/immutable/entry/app.ChwO476H.js +0 -2
  452. package/build/client/_app/immutable/entry/app.ChwO476H.js.br +0 -0
  453. package/build/client/_app/immutable/entry/app.ChwO476H.js.gz +0 -0
  454. package/build/client/_app/immutable/entry/start.CUuVPYpM.js +0 -1
  455. package/build/client/_app/immutable/entry/start.CUuVPYpM.js.br +0 -0
  456. package/build/client/_app/immutable/entry/start.CUuVPYpM.js.gz +0 -0
  457. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js +0 -1
  458. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.br +0 -0
  459. package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.gz +0 -0
  460. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js +0 -2
  461. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.br +0 -0
  462. package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.gz +0 -0
  463. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js +0 -2
  464. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.br +0 -0
  465. package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.gz +0 -0
  466. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js +0 -2
  467. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.br +0 -0
  468. package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.gz +0 -0
  469. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js +0 -21
  470. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.br +0 -0
  471. package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.gz +0 -0
  472. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js +0 -6
  473. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.br +0 -0
  474. package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.gz +0 -0
  475. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js +0 -2
  476. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.br +0 -0
  477. package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.gz +0 -0
  478. package/build/client/_app/immutable/nodes/19.lXobnwX1.js +0 -2
  479. package/build/client/_app/immutable/nodes/19.lXobnwX1.js.br +0 -0
  480. package/build/client/_app/immutable/nodes/19.lXobnwX1.js.gz +0 -0
  481. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js +0 -1
  482. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.br +0 -0
  483. package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.gz +0 -0
  484. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js +0 -12
  485. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.br +0 -0
  486. package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.gz +0 -0
  487. package/build/client/_app/immutable/nodes/21.x1LrYfez.js +0 -6
  488. package/build/client/_app/immutable/nodes/21.x1LrYfez.js.br +0 -0
  489. package/build/client/_app/immutable/nodes/21.x1LrYfez.js.gz +0 -0
  490. package/build/client/_app/immutable/nodes/23.BtInHilP.js +0 -16
  491. package/build/client/_app/immutable/nodes/23.BtInHilP.js.br +0 -0
  492. package/build/client/_app/immutable/nodes/23.BtInHilP.js.gz +0 -0
  493. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js +0 -6
  494. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.br +0 -0
  495. package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.gz +0 -0
  496. package/build/client/_app/immutable/nodes/27.BiurRrzb.js +0 -4
  497. package/build/client/_app/immutable/nodes/27.BiurRrzb.js.br +0 -0
  498. package/build/client/_app/immutable/nodes/27.BiurRrzb.js.gz +0 -0
  499. package/build/client/_app/immutable/nodes/28.TVh72E_-.js +0 -4
  500. package/build/client/_app/immutable/nodes/28.TVh72E_-.js.br +0 -0
  501. package/build/client/_app/immutable/nodes/28.TVh72E_-.js.gz +0 -0
  502. package/build/client/_app/immutable/nodes/29.KA_Czrio.js +0 -2
  503. package/build/client/_app/immutable/nodes/29.KA_Czrio.js.br +0 -0
  504. package/build/client/_app/immutable/nodes/29.KA_Czrio.js.gz +0 -0
  505. package/build/client/_app/immutable/nodes/3.De6eJ76N.js +0 -1
  506. package/build/client/_app/immutable/nodes/3.De6eJ76N.js.br +0 -0
  507. package/build/client/_app/immutable/nodes/3.De6eJ76N.js.gz +0 -0
  508. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js +0 -2
  509. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.br +0 -0
  510. package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.gz +0 -0
  511. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js +0 -1
  512. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.br +0 -3
  513. package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.gz +0 -0
  514. package/build/client/_app/immutable/nodes/6.CXaFpK04.js +0 -1
  515. package/build/client/_app/immutable/nodes/6.CXaFpK04.js.br +0 -0
  516. package/build/client/_app/immutable/nodes/6.CXaFpK04.js.gz +0 -0
  517. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js +0 -1
  518. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.br +0 -0
  519. package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.gz +0 -0
  520. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js +0 -2
  521. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.br +0 -0
  522. package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.gz +0 -0
  523. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js +0 -1
  524. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.br +0 -0
  525. package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.gz +0 -0
  526. package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js +0 -281
  527. package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js.map +0 -1
  528. package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js +0 -67
  529. package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js.map +0 -1
  530. package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js +0 -1163
  531. package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js.map +0 -1
  532. package/build/server/chunks/chunks/access.server.js-55bmpUSo.js +0 -453
  533. package/build/server/chunks/chunks/access.server.js-55bmpUSo.js.map +0 -1
  534. package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js +0 -20
  535. package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js.map +0 -1
  536. package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js +0 -3
  537. package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js.map +0 -1
  538. package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js +0 -141
  539. package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js.map +0 -1
  540. package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js +0 -162
  541. package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js.map +0 -1
  542. package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js +0 -2
  543. package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js.map +0 -1
  544. package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js +0 -91
  545. package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js.map +0 -1
  546. package/build/server/chunks/chunks/client.js-ChMP-ADp.js +0 -58
  547. package/build/server/chunks/chunks/client.js-ChMP-ADp.js.map +0 -1
  548. package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js +0 -195
  549. package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js.map +0 -1
  550. package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js +0 -48
  551. package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js.map +0 -1
  552. package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js +0 -29
  553. package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js.map +0 -1
  554. package/build/server/chunks/chunks/forms.js-pYfsLUaH.js +0 -2
  555. package/build/server/chunks/chunks/forms.js-pYfsLUaH.js.map +0 -1
  556. package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js +0 -224
  557. package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js.map +0 -1
  558. package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js +0 -2
  559. package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js.map +0 -1
  560. package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js +0 -35
  561. package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js.map +0 -1
  562. package/build/server/chunks/chunks/package.js-CzPJLFIP.js +0 -76
  563. package/build/server/chunks/chunks/package.js-CzPJLFIP.js.map +0 -1
  564. package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js +0 -15
  565. package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js.map +0 -1
  566. package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js +0 -6252
  567. package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js.map +0 -1
  568. package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js +0 -62
  569. package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js.map +0 -1
  570. package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js +0 -152
  571. package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js.map +0 -1
  572. package/build/server/chunks/chunks/state.js-CSskG5O4.js +0 -64
  573. package/build/server/chunks/chunks/state.js-CSskG5O4.js.map +0 -1
  574. package/build/server/chunks/chunks/stores.js-DHkf0lFO.js +0 -35
  575. package/build/server/chunks/chunks/stores.js-DHkf0lFO.js.map +0 -1
  576. package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js +0 -62
  577. package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js.map +0 -1
  578. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js +0 -93
  579. package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js.map +0 -1
  580. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js +0 -53
  581. package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js.map +0 -1
  582. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js +0 -79
  583. package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js.map +0 -1
  584. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js +0 -50
  585. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js.map +0 -1
  586. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js +0 -86
  587. package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js.map +0 -1
  588. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js +0 -72
  589. package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js.map +0 -1
  590. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js +0 -74
  591. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js.map +0 -1
  592. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js +0 -34
  593. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js.map +0 -1
  594. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js +0 -71
  595. package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js.map +0 -1
  596. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js +0 -103
  597. package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js.map +0 -1
  598. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js +0 -208
  599. package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js.map +0 -1
  600. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js +0 -90
  601. package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js.map +0 -1
  602. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js +0 -403
  603. package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js.map +0 -1
  604. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js +0 -76
  605. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js.map +0 -1
  606. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js +0 -46
  607. package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js.map +0 -1
  608. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js +0 -86
  609. package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js.map +0 -1
  610. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js +0 -0
  611. package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js.map +0 -1
  612. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js +0 -68
  613. package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js.map +0 -1
  614. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js +0 -75
  615. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js.map +0 -1
  616. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js +0 -46
  617. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js.map +0 -1
  618. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js +0 -44
  619. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js.map +0 -1
  620. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js +0 -40
  621. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js.map +0 -1
  622. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js +0 -46
  623. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js.map +0 -1
  624. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js +0 -84
  625. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js.map +0 -1
  626. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js +0 -47
  627. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js.map +0 -1
  628. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js +0 -40
  629. package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js.map +0 -1
  630. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js +0 -94
  631. package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js.map +0 -1
  632. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js +0 -59
  633. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js.map +0 -1
  634. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js +0 -89
  635. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js.map +0 -1
  636. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js +0 -56
  637. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js.map +0 -1
  638. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js +0 -49
  639. package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js.map +0 -1
  640. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js +0 -77
  641. package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js.map +0 -1
  642. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js +0 -45
  643. package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js.map +0 -1
  644. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js +0 -110
  645. package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js.map +0 -1
  646. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js +0 -79
  647. package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js.map +0 -1
  648. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js +0 -71
  649. package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js.map +0 -1
  650. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js +0 -65
  651. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js.map +0 -1
  652. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js +0 -64
  653. package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js.map +0 -1
  654. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js +0 -48
  655. package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js.map +0 -1
  656. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js +0 -85
  657. package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js.map +0 -1
  658. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js +0 -48
  659. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js.map +0 -1
  660. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js +0 -52
  661. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js.map +0 -1
  662. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js +0 -51
  663. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js.map +0 -1
  664. package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js +0 -341
  665. package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js.map +0 -1
  666. package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js +0 -35
  667. package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js.map +0 -1
  668. package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js +0 -34
  669. package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js.map +0 -1
  670. package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js +0 -76
  671. package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js.map +0 -1
  672. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js +0 -109
  673. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js.map +0 -1
  674. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js +0 -148
  675. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js.map +0 -1
  676. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js +0 -36
  677. package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js.map +0 -1
  678. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js +0 -31
  679. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js.map +0 -1
  680. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js +0 -121
  681. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js.map +0 -1
  682. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js +0 -75
  683. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js.map +0 -1
  684. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js +0 -359
  685. package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js.map +0 -1
  686. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js +0 -245
  687. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js.map +0 -1
  688. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js +0 -45
  689. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js.map +0 -1
  690. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js +0 -612
  691. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js.map +0 -1
  692. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js +0 -35
  693. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js.map +0 -1
  694. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js +0 -86
  695. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js.map +0 -1
  696. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js +0 -616
  697. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js.map +0 -1
  698. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js +0 -42
  699. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js.map +0 -1
  700. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js +0 -282
  701. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js.map +0 -1
  702. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js +0 -79
  703. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js.map +0 -1
  704. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js +0 -1363
  705. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js.map +0 -1
  706. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js +0 -70
  707. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js.map +0 -1
  708. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js +0 -681
  709. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js.map +0 -1
  710. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js +0 -62
  711. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js.map +0 -1
  712. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js +0 -62
  713. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js.map +0 -1
  714. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js +0 -124
  715. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js.map +0 -1
  716. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js +0 -12096
  717. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js.map +0 -1
  718. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js +0 -73
  719. package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js.map +0 -1
  720. package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js +0 -328
  721. package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js.map +0 -1
  722. package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js +0 -76
  723. package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js.map +0 -1
  724. package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js +0 -256
  725. package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js.map +0 -1
  726. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js +0 -49
  727. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js.map +0 -1
  728. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js +0 -101
  729. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js.map +0 -1
  730. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js +0 -3745
  731. package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js.map +0 -1
  732. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js +0 -113
  733. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js.map +0 -1
  734. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js +0 -321
  735. package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js.map +0 -1
  736. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js +0 -28
  737. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js.map +0 -1
  738. package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js +0 -162
  739. package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js.map +0 -1
  740. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js +0 -35
  741. package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js.map +0 -1
  742. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js +0 -42
  743. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js.map +0 -1
  744. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js +0 -593
  745. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js.map +0 -1
  746. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js +0 -58
  747. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js.map +0 -1
  748. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js +0 -539
  749. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js.map +0 -1
  750. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js +0 -42
  751. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js.map +0 -1
  752. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js +0 -436
  753. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js.map +0 -1
  754. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js +0 -50
  755. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js.map +0 -1
  756. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js +0 -262
  757. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js.map +0 -1
  758. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js +0 -32
  759. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js.map +0 -1
  760. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js +0 -16
  761. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js.map +0 -1
  762. package/build/server/chunks/handler-C_oBT0th.js +0 -1206
  763. package/build/server/chunks/handler-C_oBT0th.js.map +0 -1
  764. package/build/server/chunks/index.js-B-RhTrwV.js +0 -3747
  765. package/build/server/chunks/index.js-B-RhTrwV.js.map +0 -1
  766. package/build/server/chunks/manifest.js-DbaT8xLo.js +0 -548
  767. package/build/server/chunks/manifest.js-DbaT8xLo.js.map +0 -1
  768. package/build/server/chunks/nodes/0.js-CEpLefNw.js +0 -25
  769. package/build/server/chunks/nodes/0.js-CEpLefNw.js.map +0 -1
  770. package/build/server/chunks/nodes/1.js-DgRzBm1_.js +0 -9
  771. package/build/server/chunks/nodes/1.js-DgRzBm1_.js.map +0 -1
  772. package/build/server/chunks/nodes/10.js-DdhhLQJt.js +0 -27
  773. package/build/server/chunks/nodes/10.js-DdhhLQJt.js.map +0 -1
  774. package/build/server/chunks/nodes/11.js-Dn1bMnHV.js +0 -28
  775. package/build/server/chunks/nodes/11.js-Dn1bMnHV.js.map +0 -1
  776. package/build/server/chunks/nodes/12.js-pdOO2q2s.js +0 -26
  777. package/build/server/chunks/nodes/12.js-pdOO2q2s.js.map +0 -1
  778. package/build/server/chunks/nodes/13.js-D0HebxbI.js +0 -26
  779. package/build/server/chunks/nodes/13.js-D0HebxbI.js.map +0 -1
  780. package/build/server/chunks/nodes/14.js-CqSx1wax.js +0 -26
  781. package/build/server/chunks/nodes/14.js-CqSx1wax.js.map +0 -1
  782. package/build/server/chunks/nodes/15.js-CVKsi7kp.js +0 -38
  783. package/build/server/chunks/nodes/15.js-CVKsi7kp.js.map +0 -1
  784. package/build/server/chunks/nodes/16.js-Q_Bu1thc.js +0 -29
  785. package/build/server/chunks/nodes/16.js-Q_Bu1thc.js.map +0 -1
  786. package/build/server/chunks/nodes/17.js-CZ8hiAKX.js +0 -9
  787. package/build/server/chunks/nodes/17.js-CZ8hiAKX.js.map +0 -1
  788. package/build/server/chunks/nodes/18.js-7XdBdlyl.js +0 -34
  789. package/build/server/chunks/nodes/18.js-7XdBdlyl.js.map +0 -1
  790. package/build/server/chunks/nodes/19.js--QTqW8Rg.js +0 -27
  791. package/build/server/chunks/nodes/19.js--QTqW8Rg.js.map +0 -1
  792. package/build/server/chunks/nodes/2.js-DlRr_y1E.js +0 -27
  793. package/build/server/chunks/nodes/2.js-DlRr_y1E.js.map +0 -1
  794. package/build/server/chunks/nodes/20.js-DuurViiQ.js +0 -40
  795. package/build/server/chunks/nodes/20.js-DuurViiQ.js.map +0 -1
  796. package/build/server/chunks/nodes/21.js-DLPsGBUe.js +0 -34
  797. package/build/server/chunks/nodes/21.js-DLPsGBUe.js.map +0 -1
  798. package/build/server/chunks/nodes/23.js-DeF7i6MK.js +0 -28
  799. package/build/server/chunks/nodes/23.js-DeF7i6MK.js.map +0 -1
  800. package/build/server/chunks/nodes/24.js-IGhSaU-_.js +0 -34
  801. package/build/server/chunks/nodes/24.js-IGhSaU-_.js.map +0 -1
  802. package/build/server/chunks/nodes/25.js-DfgGSsw1.js +0 -26
  803. package/build/server/chunks/nodes/25.js-DfgGSsw1.js.map +0 -1
  804. package/build/server/chunks/nodes/27.js-C5yOaHre.js +0 -27
  805. package/build/server/chunks/nodes/27.js-C5yOaHre.js.map +0 -1
  806. package/build/server/chunks/nodes/28.js-DRt6k5eX.js +0 -26
  807. package/build/server/chunks/nodes/28.js-DRt6k5eX.js.map +0 -1
  808. package/build/server/chunks/nodes/29.js-BpciAAsH.js +0 -26
  809. package/build/server/chunks/nodes/29.js-BpciAAsH.js.map +0 -1
  810. package/build/server/chunks/nodes/3.js-D2dw1aIG.js +0 -9
  811. package/build/server/chunks/nodes/3.js-D2dw1aIG.js.map +0 -1
  812. package/build/server/chunks/nodes/30.js-B19f3CLv.js +0 -26
  813. package/build/server/chunks/nodes/30.js-B19f3CLv.js.map +0 -1
  814. package/build/server/chunks/nodes/31.js-DIaImYmw.js +0 -26
  815. package/build/server/chunks/nodes/31.js-DIaImYmw.js.map +0 -1
  816. package/build/server/chunks/nodes/32.js-Btz0fZDj.js +0 -26
  817. package/build/server/chunks/nodes/32.js-Btz0fZDj.js.map +0 -1
  818. package/build/server/chunks/nodes/5.js-BjxuAVp4.js +0 -15
  819. package/build/server/chunks/nodes/5.js-BjxuAVp4.js.map +0 -1
  820. package/build/server/chunks/nodes/6.js-BqjMGg59.js +0 -26
  821. package/build/server/chunks/nodes/6.js-BqjMGg59.js.map +0 -1
  822. package/build/server/chunks/nodes/7.js-BLQSVoBK.js +0 -12
  823. package/build/server/chunks/nodes/7.js-BLQSVoBK.js.map +0 -1
  824. package/build/server/chunks/nodes/8.js-BEznbukO.js +0 -35
  825. package/build/server/chunks/nodes/8.js-BEznbukO.js.map +0 -1
  826. package/build/server/chunks/nodes/9.js-yf_0hC1V.js +0 -26
  827. package/build/server/chunks/nodes/9.js-yf_0hC1V.js.map +0 -1
  828. /package/build/client/_app/immutable/nodes/{0.D7urdCm3.js → 0.Bn31RLpu.js} +0 -0
  829. /package/build/client/_app/immutable/nodes/{0.D7urdCm3.js.br → 0.Bn31RLpu.js.br} +0 -0
  830. /package/build/client/_app/immutable/nodes/{0.D7urdCm3.js.gz → 0.Bn31RLpu.js.gz} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.server.js-Wjp7cRza.js","sources":["../../../../.svelte-kit/output/server/chunks/providers.server.js"],"sourcesContent":["import { t as private_env } from \"./shared-server.js\";\nimport { T as ALL_PLATFORM_PERMISSIONS, _ as DEFAULT_ORG_PERMISSIONS, i as transcodeImageIfNeeded, n as hasPermission, r as classifyAssetPath, t as SYSTEM_CONTEXT } from \"./src.js\";\nimport { r as NoopLogger, t as readBool } from \"./limits.js\";\nimport { n as D } from \"./chunk-Y3M7P3BW.js\";\nimport { t as UI_SCHEMA_VERSION } from \"./schema.js\";\nimport * as crypto from \"node:crypto\";\nimport { createCipheriv, createDecipheriv, createHash, createHmac, randomBytes, randomUUID, timingSafeEqual } from \"node:crypto\";\nimport { pathToFileURL } from \"node:url\";\nimport * as path from \"node:path\";\nimport { resolve } from \"node:path\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport { createClient } from \"@supabase/supabase-js\";\n//#region ../platform/src/organizations/paths.ts\n/**\n* Path-segment safety check. Blocks traversal, separators, NUL, and empty\n* segments. Allowed alphabet `[A-Za-z0-9._-]+` covers GUIDs and sanitized\n* refs. Called by every helper so a malicious `id` can't escape the\n* `orgs/` prefix. Mirrors `definitionPaths`' guard.\n*/\nfunction assertSafeKey$1(value, label) {\n\tif (!value || !/^[A-Za-z0-9._-]+$/.test(value) || value === \".\" || value === \"..\") throw new Error(`Unsafe ${label}: ${JSON.stringify(value)}`);\n}\n/**\n* Storage keys for org-scoped assets. Every branding asset is stored as `.webp`\n* (uploads are rasterized through the shared transcoder), so the path per kind\n* is fixed — a re-upload overwrites in place via `IStorageProvider.put`'s\n* upsert. The filename IS the kind, so the layout is generic: a new branding\n* kind needs no new helper.\n*\n* Branding lives under `orgs/{id}/branding/` because it is a *public* asset\n* class — anyone, incl. logged-out viewers, may read a company logo. The\n* `branding/` segment keeps it distinguishable from future org-private blobs\n* under `orgs/{id}/private/` (e.g. pricing sheets), which are members-only.\n* The serving route and `getPublicUrl` decide public-vs-private by classifying\n* these prefixes — see `classifyAssetPath` / `ASSET_CLASSES`.\n*/\nvar orgPaths = {\n\tasset: (id, kind) => {\n\t\tassertSafeKey$1(id, \"orgId\");\n\t\tassertSafeKey$1(kind, \"assetKind\");\n\t\treturn `orgs/${id}/branding/${kind}.webp`;\n\t},\n\t/** Members-only blob under the org's private tier. `name` includes the extension. */\n\tprivateAsset: (id, name) => {\n\t\tassertSafeKey$1(id, \"orgId\");\n\t\tassertSafeKey$1(name, \"assetName\");\n\t\treturn `orgs/${id}/private/${name}`;\n\t},\n\tprefix: (id) => {\n\t\tassertSafeKey$1(id, \"orgId\");\n\t\treturn `orgs/${id}/`;\n\t}\n};\n//#endregion\n//#region ../platform/src/definitions/paths.ts\n/**\n* Path-segment safety check. Blocks traversal, separators, NUL, and empty\n* segments. Allowed alphabet `[A-Za-z0-9._-]+` covers GUIDs and sanitized\n* refs. Called by every helper so a malicious `guid` can't escape the\n* `definitions/` prefix.\n*/\nfunction assertSafeKey(value, label) {\n\tif (!value || !/^[A-Za-z0-9._-]+$/.test(value) || value === \".\" || value === \"..\") throw new Error(`Unsafe ${label}: ${JSON.stringify(value)}`);\n}\nvar definitionPaths = {\n\tversion: (guid, versionNumber, ext) => {\n\t\tassertSafeKey(guid, \"guid\");\n\t\tif (!Number.isInteger(versionNumber) || versionNumber < 1) throw new Error(`Unsafe versionNumber: ${versionNumber}`);\n\t\treturn `definitions/${guid}/versions/v${versionNumber}.${ext}`;\n\t},\n\timage: (guid) => {\n\t\tassertSafeKey(guid, \"guid\");\n\t\treturn `definitions/${guid}/cover.webp`;\n\t},\n\tprefix: (guid) => {\n\t\tassertSafeKey(guid, \"guid\");\n\t\treturn `definitions/${guid}/`;\n\t}\n};\n//#endregion\n//#region ../platform/src/storage/cacheBust.ts\n/**\n* Append a cache-busting token to a stored-asset URL.\n*\n* Mutable blobs are overwritten **in place** (`IStorageProvider.put` is upsert),\n* so a re-upload keeps the same storage path — and therefore the same public\n* URL. A browser/CDN that cached the old bytes under that URL keeps serving them\n* until the TTL expires, which reads as \"the replace didn't work\". Appending a\n* token that changes only when the content changes gives each new version a\n* distinct URL (forcing a refetch) while letting unchanged assets stay cached.\n*\n* Generic over asset kind: the caller supplies the token from whatever it has\n* that tracks the blob's version — a content hash, the owning record's\n* `updatedAt`, a version counter. The serving route ignores the query string\n* (SvelteKit's `[...path]` param never includes it), so this is purely a\n* client-cache key and needs no route support.\n*\n* Empty/whitespace tokens are dropped (returns the URL unchanged) so a missing\n* token degrades to \"no cache-bust\" rather than `?v=`.\n*/\nfunction withCacheBust(url, token) {\n\tif (token === void 0 || token === null) return url;\n\tconst value = String(token).trim();\n\tif (value === \"\") return url;\n\treturn `${url}${url.includes(\"?\") ? \"&\" : \"?\"}v=${encodeURIComponent(value)}`;\n}\n//#endregion\n//#region ../platform/src/data/interface.ts\n/**\n* Sentinel written to `solve_metrics.actor_id` when a user is erased, so the\n* retention telemetry survives (capacity/billing aggregates) without\n* identifying the person. Distinct from `'system'`, which marks solves that\n* were never attributed to a user (share-link / server flows).\n*/\nvar ERASED_ACTOR_ID = \"deleted\";\n//#endregion\n//#region ../platform/src/computeServer/types.ts\nfunction isPlatformServer(s) {\n\treturn s.scope === \"platform\";\n}\nfunction isOrgServer(s) {\n\treturn s.scope === \"org\";\n}\n//#endregion\n//#region ../platform/src/events/interface.ts\n/**\n* Resolve the actor id from a RequestContext. Returns `ctx.userId` when set,\n* `'system'` otherwise — matches the `SYSTEM_CONTEXT` convention where\n* `userId === ''` denotes a server-internal caller (bootstrap, janitors,\n* migrations).\n*/\nfunction actorFrom(ctx) {\n\treturn ctx.userId || \"system\";\n}\n/**\n* Default `IEventSink` — discards every event. Used when `SelvaConfig.events`\n* is omitted, and as the safe fallback for adapters whose data layer has no\n* event log (local-provider). Drop-in replace via `SelvaConfig.events` once a\n* real dispatcher is wired.\n*/\nvar NoopEventSink = class {\n\tasync emit(_event) {}\n};\n//#endregion\n//#region ../platform/src/metrics/interface.ts\n/**\n* Default `ISolveMetricSink` — discards every metric. Used when\n* `SelvaConfig.solveMetrics` is omitted. Swap in a real sink to persist or\n* aggregate solve timings.\n*/\nvar NoopSolveMetricSink = class {\n\tasync record(_ctx, _metric) {}\n};\n//#endregion\n//#region ../platform/src/errors/interface.ts\n/**\n* Default `IErrorReporter` — discards every report. Used when no error-tracking\n* backend is configured (e.g. `SENTRY_DSN` unset), so call sites can report\n* unconditionally. Swap in a real reporter to ship errors off-box.\n*/\nvar NoopErrorReporter = class {\n\tcapture(_error, _context) {}\n};\n//#endregion\n//#region ../platform/src/utils/audit.ts\n/**\n* Audit-field stamping helpers. Every mutable entity carries `createdAt` /\n* `createdBy` / `updatedAt` / `updatedBy` / `deletedAt`.\n*\n* `createdAt` / `createdBy` are stamped by the consumer when constructing\n* the record. `updatedAt` / `updatedBy` and `deletedAt` are stamped by\n* stores on every mutation.\n*\n* `fallbackActor` is used when `ctx.userId` is empty (system contexts) —\n* pass the record's prior `updatedBy` (or `ownerId` / `createdBy` if unset).\n*/\nvar nowIso = () => (/* @__PURE__ */ new Date()).toISOString();\nfunction auditUpdate(ctx, fallbackActor) {\n\treturn {\n\t\tupdatedAt: nowIso(),\n\t\tupdatedBy: ctx.userId || fallbackActor || \"\"\n\t};\n}\nfunction auditSoftDelete(ctx, fallbackActor) {\n\tconst now = nowIso();\n\treturn {\n\t\tdeletedAt: now,\n\t\tupdatedAt: now,\n\t\tupdatedBy: ctx.userId || fallbackActor || \"\"\n\t};\n}\n//#endregion\n//#region ../platform/src/errors.ts\n/**\n* Thrown by providers to signal an expected failure that the API layer\n* should forward with a specific status. Unknown errors should propagate as\n* plain `Error` and become 500s.\n*\n* Conventional values: 400, 401, 403, 404, 409, 422, 429, 500.\n*/\nvar ProviderError = class extends Error {\n\tstatusCode;\n\tconstructor(message, statusCode = 400) {\n\t\tsuper(message);\n\t\tthis.name = \"ProviderError\";\n\t\tthis.statusCode = statusCode;\n\t}\n};\n//#endregion\n//#region ../platform/src/config.ts\n/** Safe accessor — omitted flags resolve to false. */\nfunction isFlagEnabled(config, flag) {\n\treturn Boolean(config.flags?.[flag]);\n}\n//#endregion\n//#region ../server/src/definitions/definition-service.ts\n/**\n* Orchestrates writes that span IDataProvider + IStorageProvider for the\n* spec §6 versioning model. Lives in @selvajs/selva (not @selvajs/platform)\n* because it is application orchestration, not platform contract.\n*\n* Ordering rules:\n*\n* create — metadata-first, then v1:\n* 1. Write record with status='pending', both pointers null\n* 2. Upload v1 blob to versions/v1.{ext}\n* 3. Insert DefinitionVersion row v1\n* 4. `attachInitialVersion` — atomically set live + draft pointers and\n* flip status to 'draft' in a single store operation.\n* Step 4 is one round-trip so a mid-flight failure can't leave a partial\n* state (status='draft' with null pointers, or status='pending' with\n* pointers set). If step 2 fails the record stays 'pending' with no\n* blob and is filtered out of list endpoints by default.\n*\n* uploadVersion — append-only:\n* 1. Reserve next versionNumber from the record's monotonic counter\n* 2. Upload blob to versions/v{N}.{ext}\n* 3. Insert DefinitionVersion row\n* 4. Advance draft pointer (live unchanged)\n*\n* publish — pointer flip only, no blob writes.\n*\n* deleteVersion — store enforces \"not referenced by live/draft\"; on\n* success, delete the underlying blob.\n*/\nvar DefinitionService = class {\n\tdata;\n\tstorage;\n\tconstructor(data, storage) {\n\t\tthis.data = data;\n\t\tthis.storage = storage;\n\t}\n\tasync create(ctx, input, file, schema) {\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tconst actor = ctx.userId || input.ownerId;\n\t\tconst record = {\n\t\t\tguid: input.guid,\n\t\t\tprojectId: input.projectId,\n\t\t\townerId: input.ownerId,\n\t\t\tcreatedBy: actor,\n\t\t\tupdatedBy: actor,\n\t\t\tdisplayName: input.displayName,\n\t\t\tdescription: input.description,\n\t\t\tcategory: input.category,\n\t\t\ttags: input.tags,\n\t\t\tcoverImage: input.coverImage,\n\t\t\tcomputeServerId: input.computeServerId,\n\t\t\tstatus: \"pending\",\n\t\t\tsolveCount: 0,\n\t\t\tnextVersionNumber: 2,\n\t\t\tliveVersionId: null,\n\t\t\tdraftVersionId: null,\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now,\n\t\t\tdeletedAt: null\n\t\t};\n\t\tawait this.data.definitions.create(ctx, record);\n\t\tconst versionId = randomUUID();\n\t\tconst fileKey = definitionPaths.version(input.guid, 1, input.fileExt);\n\t\tawait this.storage.put(fileKey, file, \"application/octet-stream\");\n\t\tconst version = {\n\t\t\tid: versionId,\n\t\t\tdefinitionId: input.guid,\n\t\t\tversionNumber: 1,\n\t\t\tfileExt: input.fileExt,\n\t\t\tfileKey,\n\t\t\toriginalFilename: input.originalFilename,\n\t\t\tuploadedBy: actor,\n\t\t\tuploadedAt: now,\n\t\t\tschema,\n\t\t\tschemaExtractedAt: now\n\t\t};\n\t\tawait this.data.definitions.createVersion(ctx, version);\n\t\tawait this.data.definitions.attachInitialVersion(ctx, input.guid, versionId);\n\t\treturn {\n\t\t\trecord: {\n\t\t\t\t...record,\n\t\t\t\tstatus: \"draft\",\n\t\t\t\tliveVersionId: versionId,\n\t\t\t\tdraftVersionId: versionId\n\t\t\t},\n\t\t\tversion\n\t\t};\n\t}\n\t/**\n\t* Upload a new version of an existing definition. Writes the blob, inserts\n\t* the version row, and advances the draft pointer. `live` is unchanged —\n\t* use `publish` to promote.\n\t*/\n\tasync uploadVersion(ctx, guid, file, ext, originalName, schema, changeNote) {\n\t\tconst existing = await this.data.definitions.get(ctx, guid);\n\t\tif (!existing) throw new ProviderError(`Definition not found: ${guid}`, 404);\n\t\tconst next = await this.data.definitions.reserveNextVersionNumber(ctx, guid);\n\t\tconst versionId = randomUUID();\n\t\tconst fileKey = definitionPaths.version(guid, next, ext);\n\t\tawait this.storage.put(fileKey, file, \"application/octet-stream\");\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tconst version = {\n\t\t\tid: versionId,\n\t\t\tdefinitionId: guid,\n\t\t\tversionNumber: next,\n\t\t\tfileExt: ext,\n\t\t\tfileKey,\n\t\t\toriginalFilename: originalName,\n\t\t\tuploadedBy: ctx.userId || existing.ownerId,\n\t\t\tuploadedAt: now,\n\t\t\tchangeNote: changeNote?.trim() || void 0,\n\t\t\tschema,\n\t\t\tschemaExtractedAt: now\n\t\t};\n\t\tawait this.data.definitions.createVersion(ctx, version);\n\t\tawait this.data.definitions.setDraftVersion(ctx, guid, versionId);\n\t\treturn version;\n\t}\n\t/**\n\t* Advance the live channel. If `versionId` is omitted, promotes the\n\t* current draft. Pass an arbitrary version id to roll forward/back —\n\t* spec §6 makes rollback a first-class operation.\n\t*/\n\tasync publish(ctx, guid, versionId) {\n\t\tconst existing = await this.data.definitions.get(ctx, guid);\n\t\tif (!existing) throw new ProviderError(`Definition not found: ${guid}`, 404);\n\t\tconst target = versionId ?? existing.draftVersionId;\n\t\tif (!target) throw new ProviderError(\"No version to publish\", 400);\n\t\tconst version = await this.data.definitions.getVersion(ctx, target);\n\t\tif (!version || version.definitionId !== guid) throw new ProviderError(`Version '${target}' not found for this definition`, 404);\n\t\tawait this.data.definitions.setLiveVersion(ctx, guid, target);\n\t\tif (existing.status === \"draft\" || existing.status === \"pending\") await this.data.definitions.update(ctx, guid, { status: \"published\" });\n\t\treturn version;\n\t}\n\tasync deleteVersion(ctx, guid, versionId) {\n\t\tconst version = await this.data.definitions.getVersion(ctx, versionId);\n\t\tif (!version || version.definitionId !== guid) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tawait this.data.definitions.deleteVersion(ctx, versionId);\n\t\tawait this.storage.delete(version.fileKey);\n\t}\n\tasync updateMeta(ctx, guid, patch) {\n\t\tawait this.data.definitions.update(ctx, guid, patch);\n\t}\n\tasync saveCoverImage(ctx, guid, imageData) {\n\t\tconst path = definitionPaths.image(guid);\n\t\tawait this.storage.put(path, imageData, \"image/webp\");\n\t\tconst url = this.storage.getPublicUrl(path);\n\t\tawait this.data.definitions.update(ctx, guid, { coverImage: url });\n\t\treturn url;\n\t}\n\tasync delete(ctx, guid) {\n\t\tawait this.data.definitions.delete(ctx, guid);\n\t\tawait this.storage.deletePrefix(definitionPaths.prefix(guid));\n\t}\n};\n//#endregion\n//#region ../server/src/definitions/schema-extraction.ts\n/** Thrown when compute is reachable but the definition yields no usable schema. */\nvar SchemaExtractionError = class extends Error {\n\tkind;\n\tconstructor(kind, message) {\n\t\tsuper(message);\n\t\tthis.kind = kind;\n\t\tthis.name = \"SchemaExtractionError\";\n\t}\n};\nfunction parseSemver(version) {\n\tconst m = /^(\\d+)\\.(\\d+)\\.(\\d+)$/.exec(version);\n\treturn m ? [\n\t\tNumber(m[1]),\n\t\tNumber(m[2]),\n\t\tNumber(m[3])\n\t] : null;\n}\n/**\n* Plugin↔app compat gate: reject a schema emitted by a NEWER plugin than this\n* app was built against — its shape may contain constructs the renderer does\n* not know. Older (or missing) versions pass: the compute-side C# migrator\n* always emits its own current version, and an older shape only lacks\n* optional additions.\n*/\nfunction assertSupportedSchemaVersion(schema) {\n\tconst version = schema.schemaVersion;\n\tif (!version) return;\n\tconst extracted = parseSemver(version);\n\tconst supported = parseSemver(UI_SCHEMA_VERSION);\n\tif (!extracted || !supported) return;\n\tif (extracted[0] > supported[0] || extracted[0] === supported[0] && (extracted[1] > supported[1] || extracted[1] === supported[1] && extracted[2] > supported[2])) throw new SchemaExtractionError(\"unsupported\", `This definition was authored with a newer Selva plugin (schema format ${version}); this server supports schema format ≤ ${UI_SCHEMA_VERSION}. Update the server, or re-save the definition with a matching plugin version.`);\n}\n/**\n* Fetch the UI schema from Rhino Compute's `/grasshopper/schema` endpoint (no\n* solve required). Throws `SchemaExtractionError` so callers can map to the\n* right HTTP status (503 unreachable / 422 invalid or unsupported).\n*/\nasync function fetchSchemaFromCompute(definitionBytes, server) {\n\tconst schemaUrl = new URL(\"/grasshopper/schema\", server.serverUrl).toString();\n\tconst formData = new FormData();\n\tconst blob = new Blob([new Uint8Array(definitionBytes)], { type: \"application/octet-stream\" });\n\tformData.append(\"file\", blob, \"definition.gh\");\n\tconst headers = {};\n\tif (server.apiKey) headers[\"RhinoComputeKey\"] = server.apiKey;\n\tlet response;\n\ttry {\n\t\tresponse = await fetch(schemaUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: formData\n\t\t});\n\t} catch (err) {\n\t\tthrow new SchemaExtractionError(\"unreachable\", `Compute server is unreachable: ${err instanceof Error ? err.message : String(err)}`);\n\t}\n\tif (!response.ok) throw new SchemaExtractionError(\"unreachable\", `Schema endpoint returned ${response.status}: ${response.statusText}`);\n\tconst raw = await response.json();\n\tconst results = (Array.isArray(raw) ? raw : [raw]).map((r) => D(r));\n\tconst schemas = results.flatMap((r) => r.schemas ?? []);\n\tif (schemas.length === 0) {\n\t\tconst diagnosis = results.map((r) => r.error).filter(Boolean);\n\t\tif (diagnosis.length > 0) throw new SchemaExtractionError(\"invalid\", diagnosis.join(\"\\n\"));\n\t\tthrow new SchemaExtractionError(\"invalid\", \"No schemas found in definition.\\n\\nIn Grasshopper, verify a Context Bake component with the output name \\\"Schema\\\" is present and wired to the solver.\");\n\t}\n\tassertSupportedSchemaVersion(schemas[0]);\n\treturn schemas[0];\n}\n//#endregion\n//#region ../server/src/definitions/load-for-render.ts\nvar DefinitionLoadError = class extends Error {\n\tkind;\n\tcause;\n\tconstructor(kind, message, cause) {\n\t\tsuper(message);\n\t\tthis.kind = kind;\n\t\tthis.cause = cause;\n\t\tthis.name = \"DefinitionLoadError\";\n\t}\n};\n/**\n* Build a definition loader over the injected stores/compute wiring.\n*\n* The returned function loads a definition's version blob + schema (with\n* merged compute defaults). By default it resolves the `channel` pointer\n* (live/draft); pass `explicitVersionId` to render an arbitrary historical\n* version instead — the caller must gate that behind edit permission\n* (editor-only, like the draft channel). Throws `DefinitionLoadError` for\n* classified failures so the caller can translate to HTTP status codes.\n*/\nfunction createDefinitionLoader(deps) {\n\tconst { storage, definitions, projects, resolveServer, getClient, fetchSchema = fetchSchemaFromCompute, computeDebug = false, onWarn, logger = new NoopLogger() } = deps;\n\treturn async function loadDefinitionForRender(ctx, record, channel, explicitVersionId) {\n\t\tconst versionId = explicitVersionId ?? (channel === \"draft\" ? record.draftVersionId : record.liveVersionId);\n\t\tif (!versionId) throw new DefinitionLoadError(\"data\", `Definition '${record.guid}' has no ${channel} version`);\n\t\tconst version = await definitions.getVersion(ctx, versionId);\n\t\tif (!version) throw new DefinitionLoadError(\"data\", `version missing for '${record.guid}'`);\n\t\tif (version.definitionId !== record.guid) throw new DefinitionLoadError(\"data\", `version does not belong to '${record.guid}'`);\n\t\tconst definitionSource = await storage.get(version.fileKey);\n\t\tif (!definitionSource) throw new DefinitionLoadError(\"data\", `Definition file for '${record.guid}' not found on disk`);\n\t\tconst project = await projects.getProject(ctx, record.projectId);\n\t\tlet computeServer;\n\t\ttry {\n\t\t\tcomputeServer = await resolveServer(ctx, project?.orgId ?? null, { definitionPin: record.computeServerId ?? null });\n\t\t} catch (err) {\n\t\t\tthrow new DefinitionLoadError(\"missing-config\", \"No compute server configured for this definition\", err);\n\t\t}\n\t\tlet client;\n\t\ttry {\n\t\t\tclient = (await getClient(computeServer, { definitionGuid: record.guid })).client;\n\t\t} catch (err) {\n\t\t\tthrow new DefinitionLoadError(\"connect\", `Failed to connect to Rhino Compute server: ${err instanceof Error ? err.message : String(err)}`, err);\n\t\t}\n\t\ttry {\n\t\t\tconst cachedSchema = version.schema;\n\t\t\tconst freshCache = cachedSchema && cachedSchema.schemaVersion === \"2.12.0\" ? cachedSchema : null;\n\t\t\tconst [definition, fetchedSchema] = await Promise.all([client.getIO(definitionSource), freshCache ? Promise.resolve(freshCache) : fetchSchema(definitionSource, computeServer)]);\n\t\t\tif (!freshCache && fetchedSchema.schemaVersion === \"2.12.0\") definitions.setVersionSchema(ctx, version.id, fetchedSchema).catch((err) => {\n\t\t\t\tif (onWarn) {\n\t\t\t\t\tonWarn(`[loadForRender] schema cache refresh failed for version ${version.id}: ${err instanceof Error ? err.message : String(err)}`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.warn(\"Schema cache refresh failed\", {\n\t\t\t\t\tcomponent: \"loadForRender\",\n\t\t\t\t\tversionId: version.id,\n\t\t\t\t\terr: err instanceof Error ? err.stack ?? err.message : String(err)\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!definition) throw new Error(`Failed to get definition IO — server returned undefined`);\n\t\t\tconst ioParseErrors = definition.parseErrors ?? [];\n\t\t\tconst ioLoadErrors = definition.loadErrors ?? [];\n\t\t\tif (definition.inputs.length === 0 || ioParseErrors.length > 0 || ioLoadErrors.length > 0) {\n\t\t\t\tconst health = {\n\t\t\t\t\tinputCount: definition.inputs.length,\n\t\t\t\t\toutputCount: definition.outputs?.length,\n\t\t\t\t\tparseErrors: ioParseErrors,\n\t\t\t\t\tloadErrors: ioLoadErrors,\n\t\t\t\t\tloadWarnings: definition.loadWarnings\n\t\t\t\t};\n\t\t\t\tif (onWarn) onWarn(`[loadForRender] IO health for '${record.guid}':`, JSON.stringify(health));\n\t\t\t\telse logger.warn(\"Definition IO looks unhealthy\", {\n\t\t\t\t\tcomponent: \"loadForRender\",\n\t\t\t\t\tdefinitionGuid: record.guid,\n\t\t\t\t\t...health\n\t\t\t\t});\n\t\t\t\tif (computeDebug) {\n\t\t\t\t\tconst rawIO = await client.getRawIO(definitionSource).catch((e) => ({ error: String(e) }));\n\t\t\t\t\tconst rendered = JSON.stringify(rawIO).slice(0, 3e3);\n\t\t\t\t\tif (onWarn) onWarn(\"[loadForRender] raw /io:\", rendered);\n\t\t\t\t\telse logger.debug(\"Raw /io wire shape\", {\n\t\t\t\t\t\tcomponent: \"loadForRender\",\n\t\t\t\t\t\tdefinitionGuid: record.guid,\n\t\t\t\t\t\trawIO: rendered\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tdefinitionSource,\n\t\t\t\tcomputeServer,\n\t\t\t\tschema: mergeComputeDefaults(fetchedSchema, definition.inputs)\n\t\t\t};\n\t\t} catch (err) {\n\t\t\tif (err instanceof DefinitionLoadError) throw err;\n\t\t\tthrow new DefinitionLoadError(\"schema\", err instanceof Error ? err.message : String(err), err);\n\t\t}\n\t};\n}\nfunction mergeComputeDefaults(schema, computeInputs) {\n\tconst byParamId = new Map(computeInputs.map((input) => [input.id, input]));\n\treturn {\n\t\t...schema,\n\t\tinputs: schema.inputs.map((schemaInput) => {\n\t\t\tconst computeInput = byParamId.get(schemaInput.id);\n\t\t\tif (computeInput?.paramType === \"Color\" && computeInput.default !== void 0) {\n\t\t\t\tconst toHex = (value) => value.toString(16).padStart(2, \"0\");\n\t\t\t\tconst parts = String(computeInput.default).split(\",\").map((s) => parseInt(s.trim(), 10));\n\t\t\t\tif (parts.length === 3) computeInput.default = `#${toHex(parts[0])}${toHex(parts[1])}${toHex(parts[2])}`;\n\t\t\t\telse if (parts.length === 4) computeInput.default = `#${toHex(parts[1])}${toHex(parts[2])}${toHex(parts[3])}`;\n\t\t\t}\n\t\t\tif (computeInput && computeInput.default !== void 0) return {\n\t\t\t\t...schemaInput,\n\t\t\t\tdefault: computeInput.default\n\t\t\t};\n\t\t\treturn schemaInput;\n\t\t})\n\t};\n}\n//#endregion\n//#region ../server/src/providers/create-selva-providers.ts\nvar FLAG_KEYS = [\n\t\"ALLOW_CROSS_ORG_PUBLIC\",\n\t\"ALLOW_ORG_COMPUTE_OVERRIDE\",\n\t\"ALLOW_ORG_CREATION\",\n\t\"ENABLE_PLATFORM_PROJECTS\",\n\t\"ENABLE_SHARING\"\n];\nfunction pick(env, envVar, slot, fallback) {\n\tconst choice = (env[envVar] ?? fallback).toLowerCase();\n\tconst factory = slot[choice];\n\tif (!factory) throw new Error(`Unknown ${envVar}=\"${choice}\". Expected: ${Object.keys(slot).join(\" | \")}.`);\n\treturn factory(env);\n}\nfunction pickTenancy(env) {\n\tconst choice = (env.SELVA_TENANCY ?? \"single\").toLowerCase();\n\tif (choice !== \"single\" && choice !== \"multi\") throw new Error(`Unknown SELVA_TENANCY=\"${choice}\". Expected: single | multi.`);\n\treturn choice;\n}\n/**\n* Per-solve metric sink. Supabase's data provider carries a `solveMetrics`\n* sink built from its own client bundle — reuse it so timings persist\n* automatically. Backends without a metrics table leave it undefined, which\n* falls back to `NoopSolveMetricSink` in `solveMetricSink()`.\n*/\nfunction pickSolveMetrics(data) {\n\tconst candidate = data.solveMetrics;\n\tif (candidate && typeof candidate.record === \"function\") return candidate;\n}\nfunction buildDefaultFactory(options) {\n\tconst { registry, defaults } = options;\n\treturn (env) => {\n\t\tconst data = pick(env, \"SELVA_DATA_PROVIDER\", registry.data, defaults?.data ?? \"local\");\n\t\treturn {\n\t\t\ttenancy: pickTenancy(env),\n\t\t\tflags: Object.fromEntries(FLAG_KEYS.map((key) => [key, readBool(env, `SELVA_FLAG_${key}`, false)])),\n\t\t\tbranding: {\n\t\t\t\tname: env.SELVA_BRAND_NAME,\n\t\t\t\tcopyrightName: env.SELVA_BRAND_COPYRIGHT_NAME,\n\t\t\t\ttagline: env.SELVA_BRAND_TAGLINE,\n\t\t\t\tdescription: env.SELVA_BRAND_DESCRIPTION\n\t\t\t},\n\t\t\tauth: pick(env, \"SELVA_AUTH_PROVIDER\", registry.auth, defaults?.auth ?? \"local\"),\n\t\t\tdata,\n\t\t\tstorage: pick(env, \"SELVA_STORAGE_PROVIDER\", registry.storage, defaults?.storage ?? \"local\"),\n\t\t\tsolveMetrics: pickSolveMetrics(data)\n\t\t};\n\t};\n}\nasync function loadConfigSource(options) {\n\tif (!options.configPath) return buildDefaultFactory(options);\n\tconst abs = resolve(process.cwd(), options.configPath);\n\tif (!existsSync(abs)) throw new Error(`Config override path ${options.configPath} resolved to ${abs} which does not exist.`);\n\treturn (await import(\n\t\t/* @vite-ignore */\n\t\tpathToFileURL(abs).href\n)).default;\n}\n/**\n* Build the provider runtime. Loading the *config source* (default factory,\n* or the `configPath` override module) happens here and is cheap and\n* secret-free — a factory is just a function. The factory is NOT invoked:\n* that runs the registry's `fromEnv` factories, which validate required\n* secrets, and doing it at import/build time would make merely building the\n* app require a full runtime env. Provider instantiation is deferred to the\n* first `resolve()`.\n*/\nasync function createSelvaProviders(env, options) {\n\tconst raw = await loadConfigSource(options);\n\tconst logger = options.logger ?? new NoopLogger();\n\tlet config;\n\tlet solveMetricSink;\n\tfunction resolve() {\n\t\tif (config) return config;\n\t\tconfig = typeof raw === \"function\" ? raw(env) : raw;\n\t\tconst wiring = {\n\t\t\tcomponent: \"selva\",\n\t\t\tauth: config.auth.name,\n\t\t\tdata: config.data.constructor.name,\n\t\t\tstorage: config.storage.constructor.name,\n\t\t\ttenancy: config.tenancy ?? \"single\",\n\t\t\t...options.configPath ? { configPath: options.configPath } : {}\n\t\t};\n\t\tif (options.onBoot) options.onBoot(`[selva] providers wired: auth=${wiring.auth} data=${wiring.data} storage=${wiring.storage} tenancy=${wiring.tenancy}` + (options.configPath ? ` config=${options.configPath}` : \"\"));\n\t\telse logger.info(\"Providers wired\", wiring);\n\t\treturn config;\n\t}\n\treturn {\n\t\tresolve,\n\t\ttenancy: () => resolve().tenancy ?? \"single\",\n\t\tbranding: () => {\n\t\t\tconst brand = resolve().branding ?? {};\n\t\t\tconst name = brand.name?.trim() || \"Selva\";\n\t\t\treturn {\n\t\t\t\tname,\n\t\t\t\tcopyrightName: brand.copyrightName?.trim() || name,\n\t\t\t\ttagline: brand.tagline?.trim() || \"Turn Grasshopper definitions into tools anyone can use.\",\n\t\t\t\tdescription: brand.description?.trim() || `Build and deploy interactive web applications powered by Grasshopper definitions with ${name}.`\n\t\t\t};\n\t\t},\n\t\tflag: (name) => isFlagEnabled(resolve(), name),\n\t\tsolveMetricSink: () => {\n\t\t\tif (!solveMetricSink) solveMetricSink = resolve().solveMetrics ?? new NoopSolveMetricSink();\n\t\t\treturn solveMetricSink;\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/local/src/auth/hmac.ts\nvar DEFAULT_MAX_AGE_MS = 480 * 60 * 1e3;\n/**\n* Token format: base64url(userId + ':' + expiry) + '.' + hmac(payload)\n*\n* The userId is embedded so verifyToken can look up the live user record\n* (and therefore always reflect the current permissions, not stale ones\n* baked into the token at login time).\n*/\nfunction signHmacToken(secret, userId, maxAgeMs = DEFAULT_MAX_AGE_MS) {\n\tconst expiry = Date.now() + maxAgeMs;\n\tconst payload = Buffer.from(`${userId}:${expiry}`).toString(\"base64url\");\n\treturn `${payload}.${createHmac(\"sha256\", secret).update(payload).digest(\"base64url\")}`;\n}\n/**\n* Verify an HMAC token. Returns the userId if valid and unexpired, or\n* { valid: false } if the signature is wrong or the token has expired.\n*/\nfunction verifyHmacToken(token, secret) {\n\tconst dot = token.lastIndexOf(\".\");\n\tif (dot === -1) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\tconst payload = token.slice(0, dot);\n\tconst sig = token.slice(dot + 1);\n\tconst expectedSig = createHmac(\"sha256\", secret).update(payload).digest(\"base64url\");\n\tconst a = Buffer.from(sig);\n\tconst b = Buffer.from(expectedSig);\n\tif (a.length !== b.length || !timingSafeEqual(a, b)) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\tconst decoded = Buffer.from(payload, \"base64url\").toString();\n\tconst colon = decoded.lastIndexOf(\":\");\n\tif (colon === -1) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\tconst userId = decoded.slice(0, colon);\n\tconst expiry = parseInt(decoded.slice(colon + 1), 10);\n\tif (!Number.isFinite(expiry) || Date.now() >= expiry) return {\n\t\tuserId: \"\",\n\t\tvalid: false\n\t};\n\treturn {\n\t\tuserId,\n\t\tvalid: true\n\t};\n}\n//#endregion\n//#region ../providers/local/src/data/fsJson.ts\n/**\n* Read a JSON file, returning a fallback if the file does not exist.\n* Any other error propagates.\n*/\nasync function readJsonFile(filePath, fallback) {\n\ttry {\n\t\tconst raw = await fs.readFile(filePath, \"utf-8\");\n\t\treturn JSON.parse(raw);\n\t} catch (err) {\n\t\tif (err.code === \"ENOENT\") return fallback;\n\t\tthrow err;\n\t}\n}\n/**\n* Atomically write JSON: ensure the parent directory exists, write to a\n* sibling temp file, then rename into place. Prevents partial writes from\n* corrupting the target on crash or interrupt.\n*\n* The temp name carries a random suffix so concurrent writers to the same\n* target never share it. A fixed `.tmp` made overlapping writes destroy each\n* other — the first `rename` moved the shared temp away and every other writer\n* then failed with ENOENT renaming a file that no longer existed. Each writer\n* now renames its own file; last rename wins, which is the same last-write-wins\n* the read-modify-write callers already have.\n*/\nasync function writeJsonFile(filePath, data) {\n\tawait fs.mkdir(path.dirname(filePath), { recursive: true });\n\tconst tmp = `${filePath}.${randomUUID()}.tmp`;\n\ttry {\n\t\tawait fs.writeFile(tmp, JSON.stringify(data, null, \"\t\"), \"utf-8\");\n\t\tawait fs.rename(tmp, filePath);\n\t} catch (err) {\n\t\tawait fs.rm(tmp, { force: true }).catch(() => {});\n\t\tthrow err;\n\t}\n}\n//#endregion\n//#region ../providers/local/src/auth/users.ts\n/** Debounce window for lastLoginAt writes — skip if prior stamp is newer than this. */\nvar LAST_LOGIN_DEBOUNCE_MS$1 = 6e4;\nvar PBKDF2_ITERATIONS = 1e5;\nvar PBKDF2_KEYLEN = 32;\nvar PBKDF2_DIGEST = \"sha256\";\nasync function hashPassword(password) {\n\tconst salt = crypto.randomBytes(16).toString(\"base64url\");\n\treturn `pbkdf2:${PBKDF2_DIGEST}:${PBKDF2_ITERATIONS}:${salt}:${(await new Promise((resolve, reject) => crypto.pbkdf2(password, salt, PBKDF2_ITERATIONS, PBKDF2_KEYLEN, PBKDF2_DIGEST, (err, key) => err ? reject(err) : resolve(key)))).toString(\"base64url\")}`;\n}\nasync function verifyPasswordHash(password, storedHash) {\n\tconst parts = storedHash.split(\":\");\n\tif (parts.length !== 5 || parts[0] !== \"pbkdf2\") return false;\n\tconst [, digest, iterStr, salt, expectedHashB64] = parts;\n\tconst iterations = parseInt(iterStr, 10);\n\tif (!Number.isFinite(iterations) || iterations <= 0) return false;\n\tconst expected = Buffer.from(expectedHashB64, \"base64url\");\n\tconst actual = await new Promise((resolve, reject) => crypto.pbkdf2(password, salt, iterations, PBKDF2_KEYLEN, digest, (err, key) => err ? reject(err) : resolve(key)));\n\tif (actual.length !== expected.length) return false;\n\treturn crypto.timingSafeEqual(actual, expected);\n}\nvar empty$7 = () => ({ users: [] });\nfunction createLocalAuthUserStore(usersFilePath) {\n\tlet cache = null;\n\tlet loading = null;\n\tasync function load() {\n\t\tif (cache) return cache;\n\t\tloading ??= readJsonFile(usersFilePath, empty$7()).then((data) => {\n\t\t\tcache = data;\n\t\t\tloading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn loading;\n\t}\n\tasync function persist(file) {\n\t\tcache = file;\n\t\tawait writeJsonFile(usersFilePath, file);\n\t}\n\treturn {\n\t\tasync findByEmail(email) {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.find((u) => u.email.toLowerCase() === email.toLowerCase()) ?? null;\n\t\t},\n\t\tasync findById(id) {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.find((u) => u.id === id) ?? null;\n\t\t},\n\t\tasync listUsers() {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.map(({ passwordHash: _ph, ...rest }) => rest);\n\t\t},\n\t\tasync createUser(email, password) {\n\t\t\tconst file = await load();\n\t\t\tif (file.users.some((u) => u.email.toLowerCase() === email.toLowerCase())) throw new ProviderError(`User with email \"${email}\" already exists`, 409);\n\t\t\tconst user = {\n\t\t\t\tid: randomUUID(),\n\t\t\t\temail,\n\t\t\t\tpasswordHash: password !== null ? await hashPassword(password) : null,\n\t\t\t\tcreatedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t\t\t};\n\t\t\tfile.users.push(user);\n\t\t\tawait persist(file);\n\t\t\treturn user;\n\t\t},\n\t\tasync setDisabled(id, disabled) {\n\t\t\tconst file = await load();\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tuser.disabled = disabled;\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync touchLastLogin(id) {\n\t\t\tconst file = await load();\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) return;\n\t\t\tconst now = Date.now();\n\t\t\tif (user.lastLoginAt) {\n\t\t\t\tconst prev = Date.parse(user.lastLoginAt);\n\t\t\t\tif (Number.isFinite(prev) && now - prev < LAST_LOGIN_DEBOUNCE_MS$1) return;\n\t\t\t}\n\t\t\tuser.lastLoginAt = new Date(now).toISOString();\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync deleteUser(id) {\n\t\t\tconst file = await load();\n\t\t\tconst before = file.users.length;\n\t\t\tfile.users = file.users.filter((u) => u.id !== id);\n\t\t\tif (file.users.length === before) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tawait persist(file);\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/local/src/data/pagination.ts\n/**\n* In-memory pagination for filesystem-backed adapters.\n* Cursor is an offset encoded as a string. Good enough for single-node local use.\n*/\nfunction paginate(items, opts) {\n\tconst limit = Math.min(Math.max(1, opts?.limit ?? 50), 200);\n\tconst offset = Math.max(0, opts?.cursor ? parseInt(opts.cursor, 10) || 0 : 0);\n\tconst slice = items.slice(offset, offset + limit);\n\tconst nextOffset = offset + slice.length;\n\treturn {\n\t\titems: slice,\n\t\tnextCursor: nextOffset < items.length ? String(nextOffset) : void 0\n\t};\n}\n/**\n* Sort a list in place per ListOptions. Mutates the input.\n* Pass `keyFn` to customize how the comparison value is derived (e.g. nested\n* fields, case-folded strings).\n*/\nfunction applyOrder(items, opts, keyFn = (item, field) => item[field]) {\n\tconst field = opts?.orderBy ?? \"createdAt\";\n\tconst mul = (opts?.orderDir ?? \"desc\") === \"asc\" ? 1 : -1;\n\titems.sort((a, b) => {\n\t\tconst av = keyFn(a, field) ?? \"\";\n\t\tconst bv = keyFn(b, field) ?? \"\";\n\t\tif (av < bv) return -1 * mul;\n\t\tif (av > bv) return 1 * mul;\n\t\treturn 0;\n\t});\n\treturn items;\n}\n//#endregion\n//#region ../providers/local/src/auth/LocalAuthProvider.ts\nvar SESSION_MAX_AGE_MS = 480 * 60 * 1e3;\nvar MIN_HMAC_SECRET_LENGTH = 32;\nfunction toAuthUser$1(u) {\n\treturn {\n\t\tid: u.id,\n\t\temail: u.email,\n\t\tcreatedAt: u.createdAt,\n\t\tlastLoginAt: u.lastLoginAt,\n\t\tdisabled: u.disabled\n\t};\n}\nvar LocalPasswordAuth = class {\n\tusers;\n\tmintToken;\n\tconstructor(users, mintToken) {\n\t\tthis.users = users;\n\t\tthis.mintToken = mintToken;\n\t}\n\tasync verifyLogin(email, password) {\n\t\tif (!this.users) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\tconst user = await this.users.findByEmail(email);\n\t\tif (!user) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\tif (user.disabled) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"disabled\"\n\t\t};\n\t\tif (!user.passwordHash || !await verifyPasswordHash(password, user.passwordHash)) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\tawait this.users.touchLastLogin(user.id).catch(() => {});\n\t\tconst auth = toAuthUser$1(user);\n\t\treturn {\n\t\t\tkind: \"success\",\n\t\t\tuser: auth,\n\t\t\tsessionToken: this.mintToken(auth)\n\t\t};\n\t}\n\tasync createUserWithPassword(email, password) {\n\t\tif (!this.users) throw new ProviderError(\"createUserWithPassword requires a users.json backend (DATA_PATH)\", 500);\n\t\treturn toAuthUser$1(await this.users.createUser(email, password));\n\t}\n\tasync registerUser(email, password) {\n\t\tif (!this.users) return null;\n\t\treturn toAuthUser$1(await this.users.createUser(email, password));\n\t}\n};\nvar LocalAuthProvider = class LocalAuthProvider {\n\thmacSecret;\n\tusers;\n\tname = \"Local\";\n\tpasswordAuth;\n\tconstructor(config) {\n\t\tthis.hmacSecret = config.hmacSecret;\n\t\tif (config.usersFilePath) this.users = createLocalAuthUserStore(config.usersFilePath);\n\t\tthis.passwordAuth = new LocalPasswordAuth(this.users, (user) => signHmacToken(this.hmacSecret, user.id, SESSION_MAX_AGE_MS));\n\t}\n\t/**\n\t* The underlying identity store, or undefined in stateless (no-DATA_PATH)\n\t* mode. Exposed so callers that need direct seed/read access (tests,\n\t* advanced wiring) share THIS provider's store — and thus its load-once\n\t* write-through cache — instead of constructing a second store on the same\n\t* file, which would run a divergent cache. §3a.\n\t*/\n\tget userStore() {\n\t\treturn this.users;\n\t}\n\tstatic fromEnv(env) {\n\t\tconst hmacSecret = env.SELVA_HMAC_KEY;\n\t\tif (!hmacSecret) throw new Error(\"Missing required env var: SELVA_HMAC_KEY\");\n\t\tif (hmacSecret.length < MIN_HMAC_SECRET_LENGTH) throw new Error(`SELVA_HMAC_KEY must be at least ${MIN_HMAC_SECRET_LENGTH} characters (got ${hmacSecret.length}). Generate one with: openssl rand -base64 32`);\n\t\treturn new LocalAuthProvider({\n\t\t\thmacSecret,\n\t\t\tusersFilePath: env.DATA_PATH ? path.join(env.DATA_PATH, \"auth-users.json\") : void 0\n\t\t});\n\t}\n\t/**\n\t* Verify an HMAC session token and return the live user record.\n\t*\n\t* Runs on EVERY authenticated request, so it stays read-only: one\n\t* `findById` (a cached `auth-users.json` read), no writes. `lastLoginAt` is\n\t* stamped at actual login time in `verifyLogin` — it is a login concern, not\n\t* a per-request activity clock, and the only consumers use it as a\n\t* has-ever-signed-in flag (invited vs. active in the admin/team lists). The\n\t* previous per-request `touchLastLogin` here cost a second full file\n\t* read+parse just to decide (usually) not to write.\n\t*/\n\tasync verifyToken(token) {\n\t\tconst { valid, userId } = verifyHmacToken(token, this.hmacSecret);\n\t\tif (!valid) return null;\n\t\tif (!this.users) return null;\n\t\tconst u = await this.users.findById(userId);\n\t\tif (!u || u.disabled) return null;\n\t\treturn toAuthUser$1(u);\n\t}\n\tasync touchLastLogin(id) {\n\t\tif (!this.users) return;\n\t\tawait this.users.touchLastLogin(id);\n\t}\n\tasync getUser(id) {\n\t\tif (!this.users) return null;\n\t\tconst u = await this.users.findById(id);\n\t\treturn u ? toAuthUser$1(u) : null;\n\t}\n\tasync listUsers(opts) {\n\t\tif (!this.users) return null;\n\t\treturn paginate((await this.users.listUsers()).map(toAuthUser$1), opts);\n\t}\n\tasync deleteUser(id) {\n\t\tif (!this.users) return \"not_supported\";\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.deleteUser(id);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync disableUser(id) {\n\t\tif (!this.users) return \"not_supported\";\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.setDisabled(id, true);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalInviteStore.ts\nvar empty$6 = () => ({ invites: [] });\n/**\n* Filesystem-backed invite store. No per-call scoping by ctx.userId — the\n* route layer gates admin actions. `getByTokenHash` is the sole unauthenticated\n* read and is scoped by the hashed token (caller hashes the raw URL token\n* before lookup); it hides expired and already-accepted invites so a reused\n* link surfaces a clean error.\n*/\nvar LocalInviteStore = class LocalInviteStore {\n\tevents;\n\tfilePath;\n\tstatic fromEnv(env, events = new NoopEventSink()) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalInviteStore(env.DATA_PATH, events);\n\t}\n\tconstructor(dataPath, events = new NoopEventSink()) {\n\t\tthis.events = events;\n\t\tthis.filePath = path.join(dataPath, \"invites.json\");\n\t}\n\tasync load() {\n\t\treturn readJsonFile(this.filePath, empty$6());\n\t}\n\tasync save(file) {\n\t\tawait writeJsonFile(this.filePath, file);\n\t}\n\tasync create(ctx, invite) {\n\t\tconst file = await this.load();\n\t\tfile.invites.push(invite);\n\t\tawait this.save(file);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.created\",\n\t\t\tinviteId: invite.id,\n\t\t\torgId: invite.orgId,\n\t\t\temail: invite.email,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync getByTokenHash(_ctx, tokenHash) {\n\t\tconst { invites } = await this.load();\n\t\tconst invite = invites.find((i) => i.tokenHash === tokenHash);\n\t\tif (!invite) return null;\n\t\tif (invite.acceptedAt) return null;\n\t\tif (Date.parse(invite.expiresAt) <= Date.now()) return null;\n\t\treturn invite;\n\t}\n\tasync listByOrg(_ctx, orgId, opts) {\n\t\tconst { invites } = await this.load();\n\t\treturn paginate(applyOrder(invites.filter((i) => i.orgId === orgId), opts), opts);\n\t}\n\tasync markAccepted(ctx, id, userId) {\n\t\tconst file = await this.load();\n\t\tconst invite = file.invites.find((i) => i.id === id);\n\t\tif (!invite || invite.acceptedAt) return;\n\t\tinvite.acceptedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tinvite.acceptedByUserId = userId;\n\t\tawait this.save(file);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.accepted\",\n\t\t\tinviteId: invite.id,\n\t\t\torgId: invite.orgId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst file = await this.load();\n\t\tconst target = file.invites.find((i) => i.id === id && !i.acceptedAt);\n\t\tif (!target) return;\n\t\tfile.invites = file.invites.filter((i) => i.id !== id || i.acceptedAt);\n\t\tawait this.save(file);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.revoked\",\n\t\t\tinviteId: id,\n\t\t\torgId: target.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByOrg(_ctx, orgId) {\n\t\tconst file = await this.load();\n\t\tconst before = file.invites.length;\n\t\tfile.invites = file.invites.filter((i) => i.orgId !== orgId);\n\t\tif (file.invites.length === before) return;\n\t\tawait this.save(file);\n\t}\n};\n//#endregion\n//#region ../platform/src/computeServer/secrets.ts\nvar ALGO = \"aes-256-gcm\";\nvar IV_BYTES = 12;\nvar PREFIX = \"enc:v1:\";\n/**\n* AES-256-GCM envelope for at-rest secrets (e.g. compute API keys).\n*\n* Wire format: `enc:v1:<base64(iv|tag|ciphertext)>`. The version prefix lets\n* us migrate to a new algorithm later without ambiguity. Plaintext never sits\n* at rest — on disk (local provider) or in the DB (Supabase provider).\n*\n* Security model: defends against backup leaks, accidental file/DB sharing,\n* and read-only storage access. An attacker with both the stored ciphertext\n* *and* the master key (`SELVA_AT_REST_KEY` env var, process memory) can still\n* decrypt — this is encryption at rest, not a secret manager.\n*\n* Provider-agnostic: pure `node:crypto`, no fs or DB coupling, so both the\n* local and Supabase compute-server stores share this one implementation.\n*/\nfunction isEncryptedSecret(value) {\n\treturn value.startsWith(PREFIX);\n}\nfunction encryptSecret(plaintext, key) {\n\tif (key.length !== 32) throw new Error(`Secret key must be 32 bytes; got ${key.length}`);\n\tif (isEncryptedSecret(plaintext)) throw new Error(\"Refusing to encrypt a value that is already encrypted\");\n\tconst iv = randomBytes(IV_BYTES);\n\tconst cipher = createCipheriv(ALGO, key, iv);\n\tconst ciphertext = Buffer.concat([cipher.update(plaintext, \"utf8\"), cipher.final()]);\n\tconst tag = cipher.getAuthTag();\n\treturn PREFIX + Buffer.concat([\n\t\tiv,\n\t\ttag,\n\t\tciphertext\n\t]).toString(\"base64\");\n}\nfunction decryptSecret(envelope, key) {\n\tif (key.length !== 32) throw new Error(`Secret key must be 32 bytes; got ${key.length}`);\n\tif (!isEncryptedSecret(envelope)) throw new Error(\"Value is not an encrypted secret envelope\");\n\tconst buf = Buffer.from(envelope.slice(7), \"base64\");\n\tconst iv = buf.subarray(0, IV_BYTES);\n\tconst tag = buf.subarray(IV_BYTES, 28);\n\tconst ciphertext = buf.subarray(28);\n\tconst decipher = createDecipheriv(ALGO, key, iv);\n\tdecipher.setAuthTag(tag);\n\treturn Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString(\"utf8\");\n}\n/**\n* Decode a `SELVA_AT_REST_KEY` env var into a 32-byte buffer. Accepts either\n* 64-char hex or base64 (with or without padding). Throws on anything else\n* so misconfiguration fails loudly at boot rather than silently producing\n* an undecryptable value.\n*/\nfunction decodeSecretKey(raw) {\n\tif (/^[0-9a-fA-F]{64}$/.test(raw)) return Buffer.from(raw, \"hex\");\n\tconst buf = Buffer.from(raw, \"base64\");\n\tif (buf.length === 32) return buf;\n\tthrow new Error(\"SELVA_AT_REST_KEY must be 32 bytes encoded as 64-char hex or base64. Generate one with: node -e \\\"console.log(require('crypto').randomBytes(32).toString('hex'))\\\"\");\n}\n//#endregion\n//#region ../providers/local/src/data/LocalComputeServerStore.ts\nvar empty$5 = () => ({\n\tservers: [],\n\torgDefaults: {}\n});\n/**\n* Reads/writes compute.config.json. The file is re-read on every read call\n* so changes take effect without a restart.\n*\n* Mutation methods are scope-targeted (`savePlatformServers`,\n* `saveOrgServers`, `setOrgDefault`) — each preserves rows in the other\n* scopes untouched.\n*/\nvar LocalComputeServerStore = class LocalComputeServerStore {\n\tconfigFilePath;\n\tsecretKey;\n\tstatic fromEnv(env, logger) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\tif (!env.SELVA_AT_REST_KEY) throw new Error(\"Missing required env var: SELVA_AT_REST_KEY (32-byte hex or base64). Generate one with: node -e \\\"console.log(require('crypto').randomBytes(32).toString('hex'))\\\"\");\n\t\treturn new LocalComputeServerStore(path.join(env.DATA_PATH, \"compute.config.json\"), decodeSecretKey(env.SELVA_AT_REST_KEY), logger);\n\t}\n\t/**\n\t* `logger` is optional and defaults to `NoopLogger` — library code stays\n\t* silent unless the app wires a real logger in.\n\t*/\n\tlogger;\n\tconstructor(configFilePath, secretKey, logger) {\n\t\tthis.configFilePath = configFilePath;\n\t\tthis.secretKey = secretKey;\n\t\tthis.logger = logger ?? new NoopLogger();\n\t}\n\tasync readAll() {\n\t\tconst raw = await readJsonFile(this.configFilePath, empty$5());\n\t\treturn {\n\t\t\tservers: raw.servers ?? [],\n\t\t\tdefaultServerId: raw.defaultServerId,\n\t\t\torgDefaults: raw.orgDefaults ?? {}\n\t\t};\n\t}\n\t/**\n\t* Per-row tolerant decrypt. A row whose ciphertext can't be authenticated\n\t* under the current `SELVA_AT_REST_KEY` is returned with `apiKey: undefined`\n\t* and a warning logged once. The page that loaded the config keeps\n\t* rendering; solves against that server will fail later when Rhino.Compute\n\t* rejects the missing key.\n\t*\n\t* Boot-time `verifySecrets()` is the strict counterpart — call that from\n\t* the app entrypoint to refuse to start when this state is detected.\n\t*\n\t* Plaintext-on-disk is still hard-fail. That state is never produced by\n\t* the store itself (every write goes through `encryptApiKeys`), so seeing\n\t* it means someone hand-edited the file with a real secret in plaintext —\n\t* which is a security issue we should surface loudly, not paper over.\n\t*/\n\tdecryptApiKeys(servers) {\n\t\treturn servers.map((s) => {\n\t\t\tif (!s.apiKey) return s;\n\t\t\tif (!isEncryptedSecret(s.apiKey)) throw new Error(`compute.config.json contains an unencrypted apiKey for server \"${s.label}\" (${s.id}). Re-enter the key via /admin/compute so it is stored encrypted.`);\n\t\t\ttry {\n\t\t\t\treturn {\n\t\t\t\t\t...s,\n\t\t\t\t\tapiKey: decryptSecret(s.apiKey, this.secretKey)\n\t\t\t\t};\n\t\t\t} catch (cause) {\n\t\t\t\tthis.logger.warn(\"Could not decrypt apiKey: the stored ciphertext does not match the current SELVA_AT_REST_KEY. This server is returned without an apiKey and 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\t\t\t\t\tcomponent: \"selva\",\n\t\t\t\t\tserverLabel: s.label,\n\t\t\t\t\tserverId: s.id,\n\t\t\t\t\terr: cause instanceof Error ? cause.stack ?? cause.message : String(cause)\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\t...s,\n\t\t\t\t\tapiKey: void 0\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Boot-time integrity check. Reads every server row and attempts to\n\t* decrypt each encrypted `apiKey`. Returns a structured report — does NOT\n\t* throw. The caller decides what to do (refuse boot, log + degrade, etc.).\n\t*\n\t* Use this from app startup (`hooks.server.ts`) so a key mismatch fails\n\t* loudly at deploy time instead of as a blank page when a user first hits\n\t* a route that loads compute config.\n\t*/\n\tasync verifySecrets() {\n\t\tconst all = await this.readAll();\n\t\tconst failures = [];\n\t\tlet plaintextFound = false;\n\t\tfor (const s of all.servers) {\n\t\t\tif (!s.apiKey) continue;\n\t\t\tif (!isEncryptedSecret(s.apiKey)) {\n\t\t\t\tplaintextFound = true;\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: s.id,\n\t\t\t\t\tserverLabel: s.label,\n\t\t\t\t\treason: \"plaintext_on_disk\"\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tdecryptSecret(s.apiKey, this.secretKey);\n\t\t\t} catch (cause) {\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: s.id,\n\t\t\t\t\tserverLabel: s.label,\n\t\t\t\t\treason: \"key_mismatch\",\n\t\t\t\t\tcause: cause instanceof Error ? cause.message : String(cause)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tok: failures.length === 0,\n\t\t\tfailures,\n\t\t\tplaintextFound\n\t\t};\n\t}\n\tencryptApiKeys(servers) {\n\t\treturn servers.map((s) => {\n\t\t\tif (!s.apiKey) return s;\n\t\t\tif (isEncryptedSecret(s.apiKey)) return s;\n\t\t\treturn {\n\t\t\t\t...s,\n\t\t\t\tapiKey: encryptSecret(s.apiKey, this.secretKey)\n\t\t\t};\n\t\t});\n\t}\n\tasync getConfig(_ctx, opts = {}) {\n\t\tconst all = await this.readAll();\n\t\treturn {\n\t\t\tservers: (opts.includeApiKeys ? this.decryptApiKeys(all.servers) : all.servers.map((s) => ({\n\t\t\t\t...s,\n\t\t\t\tapiKey: void 0\n\t\t\t}))).map((s, i) => ({\n\t\t\t\t...s,\n\t\t\t\thasApiKey: !!all.servers[i].apiKey\n\t\t\t})),\n\t\t\tdefaultServerId: all.defaultServerId,\n\t\t\torgDefaults: all.orgDefaults\n\t\t};\n\t}\n\t/**\n\t* One server's decrypted key. The local store reads the whole file anyway, so\n\t* this exists for interface parity with Supabase (where it saves a table scan\n\t* plus N decrypts) — and it still avoids decrypting the other servers' keys.\n\t*/\n\tasync getServerApiKey(_ctx, serverId) {\n\t\tconst server = (await this.readAll()).servers.find((s) => s.id === serverId);\n\t\tif (!server?.apiKey) return void 0;\n\t\treturn this.decryptApiKeys([server])[0].apiKey;\n\t}\n\tasync savePlatformServers(_ctx, servers, defaultServerId) {\n\t\tconst all = await this.readAll();\n\t\tconst orgRows = all.servers.filter(isOrgServer);\n\t\tconst platformRows = this.encryptApiKeys(servers.filter(isPlatformServer));\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\tservers: [...platformRows, ...orgRows],\n\t\t\tdefaultServerId,\n\t\t\torgDefaults: all.orgDefaults\n\t\t});\n\t}\n\tasync saveOrgServers(_ctx, orgId, servers, defaultServerId) {\n\t\tconst all = await this.readAll();\n\t\tconst platformRows = all.servers.filter(isPlatformServer);\n\t\tconst otherOrgRows = all.servers.filter((s) => isOrgServer(s) && s.ownerOrgId !== orgId);\n\t\tconst thisOrgRows = this.encryptApiKeys(servers.filter((_s) => true).map((s) => isOrgServer(s) ? {\n\t\t\t...s,\n\t\t\townerOrgId: orgId\n\t\t} : {\n\t\t\t...s,\n\t\t\tscope: \"org\",\n\t\t\townerOrgId: orgId\n\t\t}));\n\t\tconst orgDefaults = { ...all.orgDefaults ?? {} };\n\t\tif (defaultServerId === null) delete orgDefaults[orgId];\n\t\telse if (typeof defaultServerId === \"string\") orgDefaults[orgId] = defaultServerId;\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\tservers: [\n\t\t\t\t...platformRows,\n\t\t\t\t...otherOrgRows,\n\t\t\t\t...thisOrgRows\n\t\t\t],\n\t\t\tdefaultServerId: all.defaultServerId,\n\t\t\torgDefaults\n\t\t});\n\t}\n\tasync setOrgDefault(_ctx, orgId, serverId) {\n\t\tconst all = await this.readAll();\n\t\tconst orgDefaults = { ...all.orgDefaults ?? {} };\n\t\tif (serverId === null) delete orgDefaults[orgId];\n\t\telse orgDefaults[orgId] = serverId;\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\t...all,\n\t\t\torgDefaults\n\t\t});\n\t}\n\tasync deleteByOrg(_ctx, orgId) {\n\t\tconst all = await this.readAll();\n\t\tconst cleaned = all.servers.filter((s) => !(isOrgServer(s) && s.ownerOrgId === orgId)).map((s) => {\n\t\t\tif (!isPlatformServer(s)) return s;\n\t\t\tif (s.sharedWith === \"all\") return s;\n\t\t\tif (!s.sharedWith.includes(orgId)) return s;\n\t\t\treturn {\n\t\t\t\t...s,\n\t\t\t\tsharedWith: s.sharedWith.filter((id) => id !== orgId)\n\t\t\t};\n\t\t});\n\t\tconst orgDefaults = { ...all.orgDefaults ?? {} };\n\t\tconst hadDefault = orgId in orgDefaults;\n\t\tdelete orgDefaults[orgId];\n\t\tif (!(cleaned.length !== all.servers.length || hadDefault || cleaned.some((c, i) => c !== all.servers[i]))) return;\n\t\tawait writeJsonFile(this.configFilePath, {\n\t\t\tservers: cleaned,\n\t\t\tdefaultServerId: all.defaultServerId,\n\t\t\torgDefaults\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalPlatformProjectGrantStore.ts\nvar empty$4 = () => ({ grants: [] });\nvar LocalPlatformProjectGrantStore = class LocalPlatformProjectGrantStore {\n\tfilePath;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalPlatformProjectGrantStore(path.join(env.DATA_PATH, \"platform-project-grants.json\"));\n\t}\n\tconstructor(filePath) {\n\t\tthis.filePath = filePath;\n\t}\n\tasync read() {\n\t\treturn readJsonFile(this.filePath, empty$4());\n\t}\n\tasync write(data) {\n\t\tawait writeJsonFile(this.filePath, data);\n\t}\n\tasync listByProject(_ctx, projectId) {\n\t\tconst { grants } = await this.read();\n\t\treturn grants.filter((g) => g.projectId === projectId);\n\t}\n\tasync create(_ctx, grant) {\n\t\tconst data = await this.read();\n\t\tif (data.grants.some((g) => g.id === grant.id)) throw new ProviderError(`Grant '${grant.id}' already exists`, 409);\n\t\tif (data.grants.find((g) => g.projectId === grant.projectId && g.granteeType === grant.granteeType && g.granteeId === grant.granteeId)) throw new ProviderError(`A grant for this ${grant.granteeType} already exists on this project`, 409);\n\t\tdata.grants.push(grant);\n\t\tawait this.write(data);\n\t}\n\tasync delete(_ctx, id) {\n\t\tconst data = await this.read();\n\t\tconst idx = data.grants.findIndex((g) => g.id === id);\n\t\tif (idx === -1) throw new ProviderError(`Grant '${id}' not found`, 404);\n\t\tdata.grants.splice(idx, 1);\n\t\tawait this.write(data);\n\t}\n\tasync deleteByProject(_ctx, projectId) {\n\t\tconst data = await this.read();\n\t\tconst before = data.grants.length;\n\t\tdata.grants = data.grants.filter((g) => g.projectId !== projectId);\n\t\tif (data.grants.length !== before) await this.write(data);\n\t}\n\tasync deleteByGranteeOrg(_ctx, orgId) {\n\t\tconst data = await this.read();\n\t\tconst before = data.grants.length;\n\t\tdata.grants = data.grants.filter((g) => !(g.granteeType === \"org\" && g.granteeId === orgId));\n\t\tif (data.grants.length !== before) await this.write(data);\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalOrgStore.ts\n/** Data-access-layer filter: row is live (not soft-deleted). */\nfunction isLive$1(row) {\n\treturn row.deletedAt == null;\n}\n/**\n* Shared by LocalOrgStore and LocalProjectStore — one instance so all\n* reads/writes go through one cache and one atomic write path. The store\n* starts empty; orgs are created explicitly via `createOrg`.\n*\n* Concurrent first-callers share a single in-flight read promise so they\n* end up with the same cached object reference. Mutations after that point\n* stack on the shared object, and `writeJsonFile`'s temp+rename keeps the\n* on-disk view atomic.\n*/\nvar LocalOrgStoreLoader = class {\n\tstorePath;\n\tstore = null;\n\tloading = null;\n\tconstructor(dataPath) {\n\t\tthis.storePath = path.join(dataPath, \"local-org.json\");\n\t}\n\tasync get() {\n\t\tif (this.store) return this.store;\n\t\tthis.loading ??= readJsonFile(this.storePath, {\n\t\t\torgs: [],\n\t\t\tprojects: [],\n\t\t\torgMembers: [],\n\t\t\tprojectMembers: []\n\t\t}).then((data) => {\n\t\t\tthis.store = data;\n\t\t\tthis.loading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn this.loading;\n\t}\n\tasync write(store) {\n\t\tthis.store = store;\n\t\tawait writeJsonFile(this.storePath, store);\n\t}\n};\nvar LocalOrgStore = class LocalOrgStore {\n\tloader;\n\tevents;\n\tinvites;\n\tcomputeServer;\n\tgrants;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalOrgStore({\n\t\t\tloader: new LocalOrgStoreLoader(env.DATA_PATH),\n\t\t\tinvites: LocalInviteStore.fromEnv(env),\n\t\t\tcomputeServer: LocalComputeServerStore.fromEnv(env),\n\t\t\tgrants: LocalPlatformProjectGrantStore.fromEnv(env)\n\t\t});\n\t}\n\tconstructor(opts) {\n\t\tthis.loader = opts.loader;\n\t\tthis.invites = opts.invites;\n\t\tthis.computeServer = opts.computeServer;\n\t\tthis.grants = opts.grants;\n\t\tthis.events = opts.events ?? new NoopEventSink();\n\t}\n\tasync listOrgs(_ctx, opts) {\n\t\tconst { orgs } = await this.loader.get();\n\t\treturn paginate(applyOrder(orgs.filter(isLive$1), opts), opts);\n\t}\n\tasync getOrg(_ctx, id) {\n\t\tconst { orgs } = await this.loader.get();\n\t\tconst o = orgs.find((o) => o.id === id);\n\t\treturn o && isLive$1(o) ? o : null;\n\t}\n\tasync getOrgBySlug(_ctx, slug) {\n\t\tconst { orgs } = await this.loader.get();\n\t\tconst o = orgs.find((o) => o.slug === slug);\n\t\treturn o && isLive$1(o) ? o : null;\n\t}\n\tasync createOrg(ctx, org) {\n\t\tconst store = await this.loader.get();\n\t\tif (store.orgs.some((o) => o.id === org.id && isLive$1(o))) throw new ProviderError(`Org '${org.id}' already exists`, 409);\n\t\tif (store.orgs.some((o) => o.slug === org.slug && isLive$1(o))) throw new ProviderError(`Org slug '${org.slug}' already in use`, 409);\n\t\tstore.orgs.push({\n\t\t\t...org,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tstore.orgMembers.push({\n\t\t\torgId: org.id,\n\t\t\tuserId: org.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tpermissions: [...DEFAULT_ORG_PERMISSIONS.owner],\n\t\t\tjoinedAt: now,\n\t\t\t...auditUpdate(ctx, org.ownerId),\n\t\t\tdeletedAt: null\n\t\t});\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.created\",\n\t\t\torgId: org.id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrg(ctx, id, patch) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.orgs.findIndex((o) => o.id === id && isLive$1(o));\n\t\tif (idx === -1) throw new ProviderError(`Org '${id}' not found`, 404);\n\t\tif (patch.slug && patch.slug !== store.orgs[idx].slug) {\n\t\t\tif (store.orgs.some((o) => o.id !== id && o.slug === patch.slug && isLive$1(o))) throw new ProviderError(`Org slug '${patch.slug}' already in use`, 409);\n\t\t}\n\t\tstore.orgs[idx] = {\n\t\t\t...store.orgs[idx],\n\t\t\t...patch,\n\t\t\t...auditUpdate(ctx, store.orgs[idx].updatedBy ?? store.orgs[idx].ownerId)\n\t\t};\n\t\tawait this.loader.write(store);\n\t}\n\tasync deleteOrg(ctx, id) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.orgs.findIndex((o) => o.id === id && isLive$1(o));\n\t\tif (idx === -1) throw new ProviderError(`Org '${id}' not found`, 404);\n\t\tconst stamp = auditSoftDelete(ctx, store.orgs[idx].updatedBy ?? store.orgs[idx].ownerId);\n\t\tstore.orgs[idx] = {\n\t\t\t...store.orgs[idx],\n\t\t\t...stamp\n\t\t};\n\t\tstore.orgMembers = store.orgMembers.map((m) => m.orgId === id && isLive$1(m) ? {\n\t\t\t...m,\n\t\t\t...stamp\n\t\t} : m);\n\t\tconst orgProjectIds = new Set(store.projects.filter((p) => p.orgId === id && isLive$1(p)).map((p) => p.id));\n\t\tstore.projects = store.projects.map((p) => p.orgId === id && isLive$1(p) ? {\n\t\t\t...p,\n\t\t\t...stamp\n\t\t} : p);\n\t\tstore.projectMembers = store.projectMembers.map((m) => orgProjectIds.has(m.projectId) && isLive$1(m) ? {\n\t\t\t...m,\n\t\t\t...stamp\n\t\t} : m);\n\t\tawait this.loader.write(store);\n\t\tawait this.invites.deleteByOrg(ctx, id);\n\t\tawait this.computeServer.deleteByOrg(ctx, id);\n\t\tfor (const projectId of orgProjectIds) await this.grants.deleteByProject(ctx, projectId);\n\t\tawait this.grants.deleteByGranteeOrg(ctx, id);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.deleted\",\n\t\t\torgId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listOrgMembers(_ctx, orgId, opts) {\n\t\tconst { orgMembers } = await this.loader.get();\n\t\treturn paginate(orgMembers.filter((m) => m.orgId === orgId && isLive$1(m)), opts);\n\t}\n\tasync getOrgMember(_ctx, orgId, userId) {\n\t\tconst { orgMembers } = await this.loader.get();\n\t\tconst m = orgMembers.find((m) => m.orgId === orgId && m.userId === userId);\n\t\treturn m && isLive$1(m) ? m : null;\n\t}\n\tasync findUserMembership(_ctx, userId) {\n\t\tconst store = await this.loader.get();\n\t\tconst member = store.orgMembers.find((m) => m.userId === userId && isLive$1(m));\n\t\tif (!member) return null;\n\t\tconst org = store.orgs.find((o) => o.id === member.orgId);\n\t\tif (!org || !isLive$1(org)) return null;\n\t\treturn {\n\t\t\torg,\n\t\t\tmember\n\t\t};\n\t}\n\tasync addOrgMember(ctx, member) {\n\t\tconst store = await this.loader.get();\n\t\tconst existing = store.orgMembers.find((m) => m.orgId === member.orgId && m.userId === member.userId);\n\t\tif (existing) Object.assign(existing, member, {\n\t\t\t...auditUpdate(ctx, member.userId),\n\t\t\tdeletedAt: null\n\t\t});\n\t\telse store.orgMembers.push({\n\t\t\t...member,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.added\",\n\t\t\torgId: member.orgId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberRole(ctx, orgId, userId, role) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.orgMembers.find((m) => m.orgId === orgId && m.userId === userId && isLive$1(m));\n\t\tif (!m) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tm.role = role;\n\t\tm.permissions = [...DEFAULT_ORG_PERMISSIONS[role]];\n\t\tObject.assign(m, auditUpdate(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.role_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberPermissions(ctx, orgId, userId, permissions) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.orgMembers.find((m) => m.orgId === orgId && m.userId === userId && isLive$1(m));\n\t\tif (!m) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tm.permissions = [...permissions];\n\t\tObject.assign(m, auditUpdate(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.permissions_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tpermissions: [...permissions],\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeOrgMember(ctx, orgId, userId) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.orgMembers.find((m) => m.orgId === orgId && m.userId === userId && isLive$1(m));\n\t\tif (!m) return;\n\t\tconst stamp = auditSoftDelete(ctx, m.updatedBy);\n\t\tObject.assign(m, stamp);\n\t\tconst projectIdsInOrg = new Set(store.projects.filter((p) => p.orgId === orgId).map((p) => p.id));\n\t\tstore.projectMembers = store.projectMembers.map((pm) => pm.userId === userId && projectIdsInOrg.has(pm.projectId) && isLive$1(pm) ? {\n\t\t\t...pm,\n\t\t\t...stamp\n\t\t} : pm);\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.removed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalProjectStore.ts\n/** Data-access-layer filter — never let a soft-deleted row surface to callers. */\nfunction isLive(row) {\n\treturn row.deletedAt == null;\n}\nvar LocalProjectStore = class {\n\tloader;\n\tevents;\n\tgrants;\n\tdefinitions;\n\tconstructor(opts) {\n\t\tthis.loader = opts.loader;\n\t\tthis.grants = opts.grants;\n\t\tthis.events = opts.events ?? new NoopEventSink();\n\t}\n\t/**\n\t* Wire the definition store used by the `deleteProject` cascade. Injected\n\t* via a setter rather than the constructor because the composition root\n\t* builds the project store before the definition store (the definition\n\t* store's `setProjectProvider` already depends on this one). Unwired, the\n\t* cascade is skipped — an unwired project store leaks live definitions of a\n\t* deleted project into the library/public listings.\n\t*/\n\tsetDefinitionProvider(definitions) {\n\t\tthis.definitions = definitions;\n\t}\n\tasync listProjects(_ctx, orgId, opts) {\n\t\tconst { projects } = await this.loader.get();\n\t\treturn paginate(applyOrder(projects.filter((p) => p.orgId === orgId && isLive(p)), opts), opts);\n\t}\n\tasync getProject(_ctx, id) {\n\t\tconst { projects } = await this.loader.get();\n\t\tconst p = projects.find((p) => p.id === id);\n\t\treturn p && isLive(p) ? p : null;\n\t}\n\tasync getProjectBySlug(_ctx, orgId, slug) {\n\t\tconst { projects } = await this.loader.get();\n\t\tconst p = projects.find((p) => p.orgId === orgId && p.slug === slug);\n\t\treturn p && isLive(p) ? p : null;\n\t}\n\tasync createProject(ctx, project) {\n\t\tconst store = await this.loader.get();\n\t\tif (!store.orgs.some((o) => o.id === project.orgId && isLive(o))) throw new ProviderError(`Org '${project.orgId}' not found`, 404);\n\t\tif (store.projects.some((p) => p.id === project.id && isLive(p))) throw new ProviderError(`Project '${project.id}' already exists`, 409);\n\t\tconst nameKey = project.name.toLowerCase();\n\t\tif (store.projects.some((p) => p.orgId === project.orgId && isLive(p) && p.name.toLowerCase() === nameKey)) throw new ProviderError(\"projects_org_name_unique: project name already in use\", 409);\n\t\tif (store.projects.some((p) => p.orgId === project.orgId && isLive(p) && p.slug === project.slug)) throw new ProviderError(\"projects_org_id_slug_key: project slug already in use\", 409);\n\t\tstore.projects.push({\n\t\t\t...project,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tstore.projectMembers.push({\n\t\t\tprojectId: project.id,\n\t\t\tuserId: project.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tjoinedAt: project.createdAt,\n\t\t\tupdatedAt: project.createdAt,\n\t\t\tupdatedBy: project.ownerId,\n\t\t\tdeletedAt: null\n\t\t});\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProject(ctx, id, patch) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.projects.findIndex((p) => p.id === id && isLive(p));\n\t\tif (idx === -1) throw new ProviderError(`Project '${id}' not found`, 404);\n\t\tconst current = store.projects[idx];\n\t\tif (patch.name && patch.name.toLowerCase() !== current.name.toLowerCase()) {\n\t\t\tconst nameKey = patch.name.toLowerCase();\n\t\t\tif (store.projects.some((p) => p.orgId === current.orgId && p.id !== id && isLive(p) && p.name.toLowerCase() === nameKey)) throw new ProviderError(\"projects_org_name_unique: project name already in use\", 409);\n\t\t}\n\t\tif (patch.slug && patch.slug !== current.slug) {\n\t\t\tif (store.projects.some((p) => p.orgId === current.orgId && p.slug === patch.slug && p.id !== id && isLive(p))) throw new ProviderError(\"projects_org_id_slug_key: project slug already in use\", 409);\n\t\t}\n\t\tstore.projects[idx] = {\n\t\t\t...current,\n\t\t\t...patch,\n\t\t\t...auditUpdate(ctx, current.updatedBy ?? current.ownerId)\n\t\t};\n\t\tawait this.loader.write(store);\n\t}\n\tasync deleteProject(ctx, id) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.projects.findIndex((p) => p.id === id && isLive(p));\n\t\tif (idx === -1) throw new ProviderError(`Project '${id}' not found`, 404);\n\t\tconst stamp = auditSoftDelete(ctx, store.projects[idx].updatedBy ?? store.projects[idx].ownerId);\n\t\tstore.projects[idx] = {\n\t\t\t...store.projects[idx],\n\t\t\t...stamp\n\t\t};\n\t\tstore.projectMembers = store.projectMembers.map((m) => m.projectId === id && isLive(m) ? {\n\t\t\t...m,\n\t\t\t...stamp\n\t\t} : m);\n\t\tawait this.loader.write(store);\n\t\tawait this.definitions?.deleteByProject(ctx, id);\n\t\tawait this.grants.deleteByProject(ctx, id);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.deleted\",\n\t\t\tprojectId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync reactivateProject(ctx, orgId, slug) {\n\t\tconst store = await this.loader.get();\n\t\tconst idx = store.projects.findIndex((p) => p.orgId === orgId && p.slug === slug && !isLive(p));\n\t\tif (idx === -1) return null;\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString();\n\t\tstore.projects[idx] = {\n\t\t\t...store.projects[idx],\n\t\t\tdeletedAt: null,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tconst ownerId = store.projects[idx].ownerId;\n\t\tconst pmIdx = store.projectMembers.findIndex((m) => m.projectId === store.projects[idx].id && m.userId === ownerId && !isLive(m));\n\t\tif (pmIdx !== -1) store.projectMembers[pmIdx] = {\n\t\t\t...store.projectMembers[pmIdx],\n\t\t\tdeletedAt: null,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tawait this.loader.write(store);\n\t\tconst project = { ...store.projects[idx] };\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t\treturn project;\n\t}\n\tasync listProjectMembers(_ctx, projectId, opts) {\n\t\tconst { projectMembers } = await this.loader.get();\n\t\treturn paginate(projectMembers.filter((m) => m.projectId === projectId && isLive(m)), opts);\n\t}\n\tasync getProjectMember(_ctx, projectId, userId) {\n\t\tconst { projectMembers } = await this.loader.get();\n\t\tconst m = projectMembers.find((m) => m.projectId === projectId && m.userId === userId);\n\t\treturn m && isLive(m) ? m : null;\n\t}\n\tasync addProjectMember(ctx, member) {\n\t\tconst store = await this.loader.get();\n\t\tconst existing = store.projectMembers.find((m) => m.projectId === member.projectId && m.userId === member.userId);\n\t\tif (existing) Object.assign(existing, member, {\n\t\t\t...auditUpdate(ctx, member.userId),\n\t\t\tdeletedAt: null\n\t\t});\n\t\telse {\n\t\t\tconst stamp = auditUpdate(ctx, member.userId);\n\t\t\tstore.projectMembers.push({\n\t\t\t\t...member,\n\t\t\t\tupdatedAt: member.updatedAt ?? stamp.updatedAt,\n\t\t\t\tupdatedBy: member.updatedBy ?? stamp.updatedBy,\n\t\t\t\tdeletedAt: null\n\t\t\t});\n\t\t}\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.added\",\n\t\t\tprojectId: member.projectId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProjectMemberRole(ctx, projectId, userId, role) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.projectMembers.find((m) => m.projectId === projectId && m.userId === userId && isLive(m));\n\t\tif (!m) throw new ProviderError(`Project member '${userId}' not found`, 404);\n\t\tm.role = role;\n\t\tObject.assign(m, auditUpdate(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.role_changed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeProjectMember(ctx, projectId, userId) {\n\t\tconst store = await this.loader.get();\n\t\tconst m = store.projectMembers.find((m) => m.projectId === projectId && m.userId === userId && isLive(m));\n\t\tif (!m) return;\n\t\tObject.assign(m, auditSoftDelete(ctx, m.updatedBy));\n\t\tawait this.loader.write(store);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.removed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalDefinitionStore.ts\n/** Always return a fresh object — `readJsonFile` returns its fallback by\n* reference when the file is missing, so a shared singleton would let one\n* read pollute the next. */\nvar empty$3 = () => ({\n\tdefinitions: {},\n\tdefinitionVersions: {}\n});\nvar LocalDefinitionStore = class LocalDefinitionStore {\n\tconfigPath;\n\tevents;\n\tprojectProvider;\n\tcache = null;\n\tloading = null;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalDefinitionStore(env.DATA_PATH);\n\t}\n\tconstructor(definitionsPath, projectProvider, events = new NoopEventSink()) {\n\t\tthis.configPath = path.join(definitionsPath, \"definitions-config.json\");\n\t\tthis.projectProvider = projectProvider;\n\t\tthis.events = events;\n\t}\n\tsetProjectProvider(projectProvider) {\n\t\tthis.projectProvider = projectProvider;\n\t}\n\tasync readConfig() {\n\t\tif (this.cache) return this.cache;\n\t\tthis.loading ??= readJsonFile(this.configPath, empty$3()).then((data) => {\n\t\t\tthis.cache = data;\n\t\t\tthis.loading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn this.loading;\n\t}\n\tlive(record) {\n\t\treturn Boolean(record && record.deletedAt == null);\n\t}\n\tasync writeConfig(config) {\n\t\tthis.cache = config;\n\t\tawait writeJsonFile(this.configPath, config);\n\t}\n\tsortedRecords(records, opts) {\n\t\tconst defaulted = {\n\t\t\t...opts,\n\t\t\torderBy: opts?.orderBy ?? \"name\",\n\t\t\torderDir: opts?.orderDir ?? \"asc\"\n\t\t};\n\t\treturn applyOrder([...records], defaulted, (r, field) => {\n\t\t\tif (field === \"name\") return r.displayName.toLowerCase();\n\t\t\tif (field === \"solveCount\") return r.solveCount ?? 0;\n\t\t\treturn r[field];\n\t\t});\n\t}\n\tvisibleRecords(records, opts) {\n\t\tconst filtered = records.filter((r) => r?.displayName && this.live(r));\n\t\tif (opts?.statuses?.length) {\n\t\t\tconst allowed = new Set(opts.statuses);\n\t\t\treturn filtered.filter((r) => allowed.has(r.status));\n\t\t}\n\t\treturn filtered.filter((r) => {\n\t\t\tif (r.status === \"pending\" && !opts?.includePending) return false;\n\t\t\tif (r.status === \"archived\" && !opts?.includeArchived) return false;\n\t\t\treturn true;\n\t\t});\n\t}\n\tasync list(_ctx, opts) {\n\t\tconst config = await this.readConfig();\n\t\tconst records = this.visibleRecords(Object.values(config.definitions), opts);\n\t\treturn paginate(this.sortedRecords(records, opts), opts);\n\t}\n\tasync listByProject(_ctx, projectId, opts) {\n\t\tconst config = await this.readConfig();\n\t\tconst records = this.visibleRecords(Object.values(config.definitions).filter((r) => r?.projectId === projectId), opts);\n\t\treturn paginate(this.sortedRecords(records, opts), opts);\n\t}\n\tasync listPublic(ctx, opts) {\n\t\tif (!this.projectProvider) return this.list(ctx, opts);\n\t\tconst config = await this.readConfig();\n\t\tconst records = Object.values(config.definitions).filter((r) => Boolean(r?.displayName && this.live(r)));\n\t\tconst projectIds = Array.from(new Set(records.map((r) => r.projectId)));\n\t\tconst projects = await Promise.all(projectIds.map((id) => this.projectProvider.getProject(ctx, id)));\n\t\tconst publicProjectIds = new Set(projects.filter((p) => p !== null && p.visibility === \"public\" && (!opts?.orgId || p.orgId === opts.orgId)).map((p) => p.id));\n\t\tconst publicRecords = this.visibleRecords(records.filter((r) => publicProjectIds.has(r.projectId)), opts);\n\t\treturn paginate(this.sortedRecords(publicRecords, opts), opts);\n\t}\n\tasync get(_ctx, guid) {\n\t\tconst r = (await this.readConfig()).definitions[guid];\n\t\treturn this.live(r) ? r : null;\n\t}\n\tasync create(ctx, record) {\n\t\tconst config = await this.readConfig();\n\t\tconst actor = ctx.userId || record.ownerId;\n\t\tconfig.definitions[record.guid] = {\n\t\t\t...record,\n\t\t\tcreatedBy: record.createdBy || actor,\n\t\t\tupdatedBy: record.updatedBy || actor,\n\t\t\tliveVersionId: record.liveVersionId ?? null,\n\t\t\tdraftVersionId: record.draftVersionId ?? null,\n\t\t\tdeletedAt: null\n\t\t};\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.created\",\n\t\t\tdefinitionId: record.guid,\n\t\t\tprojectId: record.projectId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync update(ctx, guid, patch) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t\tconst clearable = (v) => v === null ? void 0 : v;\n\t\tconfig.definitions[guid] = {\n\t\t\t...existing,\n\t\t\t...patch.displayName !== void 0 && { displayName: patch.displayName },\n\t\t\t...patch.description !== void 0 && { description: clearable(patch.description) },\n\t\t\t...patch.category !== void 0 && { category: clearable(patch.category) },\n\t\t\t...patch.tags !== void 0 && { tags: clearable(patch.tags) },\n\t\t\t...patch.coverImage !== void 0 && { coverImage: clearable(patch.coverImage) },\n\t\t\t...patch.projectId !== void 0 && { projectId: patch.projectId },\n\t\t\t...patch.computeServerId !== void 0 && { computeServerId: clearable(patch.computeServerId) },\n\t\t\t...patch.solveCacheLimit !== void 0 && { solveCacheLimit: clearable(patch.solveCacheLimit) },\n\t\t\t...patch.status !== void 0 && { status: patch.status },\n\t\t\t...patch.ownerId !== void 0 && { ownerId: patch.ownerId },\n\t\t\t...auditUpdate(ctx, existing.updatedBy ?? existing.ownerId)\n\t\t};\n\t\tawait this.writeConfig(config);\n\t}\n\tasync delete(ctx, guid) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) return;\n\t\tObject.assign(existing, auditSoftDelete(ctx, existing.updatedBy ?? existing.ownerId));\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByProject(ctx, projectId) {\n\t\tconst config = await this.readConfig();\n\t\tconst affected = [];\n\t\tfor (const record of Object.values(config.definitions)) if (record.projectId === projectId && this.live(record)) {\n\t\t\tObject.assign(record, auditSoftDelete(ctx, record.updatedBy ?? record.ownerId));\n\t\t\taffected.push(record);\n\t\t}\n\t\tif (affected.length === 0) return;\n\t\tawait this.writeConfig(config);\n\t\tfor (const record of affected) await this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: record.guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync incrementSolveCount(_ctx, guid) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) return;\n\t\texisting.solveCount = (existing.solveCount ?? 0) + 1;\n\t\texisting.updatedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeConfig(config);\n\t}\n\tasync reserveNextVersionNumber(_ctx, guid) {\n\t\tconst config = await this.readConfig();\n\t\tconst existing = config.definitions[guid];\n\t\tif (!this.live(existing)) throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t\tconst current = existing.nextVersionNumber ?? this.highestVersionNumber(config, guid) + 1;\n\t\texisting.nextVersionNumber = current + 1;\n\t\texisting.updatedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeConfig(config);\n\t\treturn current;\n\t}\n\t/**\n\t* Highest `versionNumber` currently on disk for a definition (0 if none). Only\n\t* used as the seed when a legacy record predates `nextVersionNumber`; new\n\t* records carry the counter and never take this path.\n\t*/\n\thighestVersionNumber(config, definitionId) {\n\t\tlet max = 0;\n\t\tfor (const v of Object.values(config.definitionVersions)) if (v.definitionId === definitionId && v.versionNumber > max) max = v.versionNumber;\n\t\treturn max;\n\t}\n\tasync createVersion(ctx, version) {\n\t\tconst config = await this.readConfig();\n\t\tconst parent = config.definitions[version.definitionId];\n\t\tif (!this.live(parent)) throw new ProviderError(`Definition '${version.definitionId}' not found`, 404);\n\t\tif (config.definitionVersions[version.id]) throw new ProviderError(`Version '${version.id}' already exists`, 409);\n\t\tconfig.definitionVersions[version.id] = { ...version };\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.created\",\n\t\t\tversionId: version.id,\n\t\t\tdefinitionId: version.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listVersions(_ctx, definitionId, opts) {\n\t\tconst config = await this.readConfig();\n\t\tconst parent = config.definitions[definitionId];\n\t\tif (!this.live(parent)) return paginate([], opts);\n\t\treturn paginate(Object.values(config.definitionVersions).filter((v) => v.definitionId === definitionId).sort((a, b) => b.versionNumber - a.versionNumber).map(({ schema: _schema, ...rest }) => rest), opts);\n\t}\n\tasync getVersion(_ctx, versionId) {\n\t\treturn (await this.readConfig()).definitionVersions[versionId] ?? null;\n\t}\n\tasync setVersionSchema(_ctx, versionId, schema) {\n\t\tconst config = await this.readConfig();\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version) return;\n\t\tversion.schema = schema;\n\t\tversion.schemaExtractedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeConfig(config);\n\t}\n\tasync deleteVersion(ctx, versionId) {\n\t\tconst config = await this.readConfig();\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version) return;\n\t\tconst parent = config.definitions[version.definitionId];\n\t\tif (parent && (parent.liveVersionId === versionId || parent.draftVersionId === versionId)) throw new ProviderError(`Version '${versionId}' is referenced by liveVersionId or draftVersionId`, 409);\n\t\tdelete config.definitionVersions[versionId];\n\t\tawait this.writeConfig(config);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.deleted\",\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync setLiveVersion(ctx, definitionId, versionId) {\n\t\tawait this.repoint(\"live\", ctx, definitionId, versionId);\n\t}\n\tasync setDraftVersion(ctx, definitionId, versionId) {\n\t\tawait this.repoint(\"draft\", ctx, definitionId, versionId);\n\t}\n\tasync attachInitialVersion(ctx, definitionId, versionId) {\n\t\tconst config = await this.readConfig();\n\t\tconst record = config.definitions[definitionId];\n\t\tif (!this.live(record)) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version || version.definitionId !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\trecord.liveVersionId = versionId;\n\t\trecord.draftVersionId = versionId;\n\t\trecord.status = \"draft\";\n\t\tObject.assign(record, auditUpdate(ctx, record.updatedBy ?? record.ownerId));\n\t\tawait this.writeConfig(config);\n\t}\n\tasync repoint(channel, ctx, definitionId, versionId) {\n\t\tconst config = await this.readConfig();\n\t\tconst record = config.definitions[definitionId];\n\t\tif (!this.live(record)) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t\tconst version = config.definitionVersions[versionId];\n\t\tif (!version || version.definitionId !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tif (channel === \"live\") record.liveVersionId = versionId;\n\t\telse record.draftVersionId = versionId;\n\t\tObject.assign(record, auditUpdate(ctx, record.updatedBy ?? record.ownerId));\n\t\tawait this.writeConfig(config);\n\t\tif (channel === \"live\") await this.events.emit({\n\t\t\ttype: \"definition.published\",\n\t\t\tdefinitionId,\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/LocalShareLinkStore.ts\nvar empty$2 = () => ({ links: {} });\n/**\n* Spec §7 — share-link store backed by share-links.json.\n*\n* `tryIncrementSolveCount` is the load-bearing race-sensitive method; in\n* the local provider we read-modify-write under a single fs round-trip,\n* which is acceptable at single-node scale. Postgres adapters use a true\n* atomic UPDATE.\n*/\nvar LocalShareLinkStore = class LocalShareLinkStore {\n\tdefinitionProvider;\n\tevents;\n\tconfigFilePath;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalShareLinkStore({ filePath: path.join(env.DATA_PATH, \"share-links.json\") });\n\t}\n\tconstructor(opts) {\n\t\tthis.configFilePath = opts.filePath;\n\t\tthis.events = opts.events ?? new NoopEventSink();\n\t}\n\t/**\n\t* Wire the definition store so token resolution can check the parent\n\t* definition's `deletedAt` (Permissions.md §7 cascade contract). Mirrors\n\t* Supabase, which performs the equivalent JOIN. Optional: when unset, the\n\t* store falls back to the local-only revoke check; the route layer in\n\t* the selva app does the parent lookup as a safety net either way.\n\t*/\n\tsetDefinitionProvider(definitions) {\n\t\tthis.definitionProvider = definitions;\n\t}\n\tasync readAll() {\n\t\treturn readJsonFile(this.configFilePath, empty$2());\n\t}\n\tasync writeAll(data) {\n\t\tawait writeJsonFile(this.configFilePath, data);\n\t}\n\tisLive(l) {\n\t\treturn Boolean(l && l.revokedAt == null);\n\t}\n\tasync create(ctx, link) {\n\t\tconst all = await this.readAll();\n\t\tif (all.links[link.id]) throw new ProviderError(`Share link '${link.id}' already exists`, 409);\n\t\tall.links[link.id] = {\n\t\t\t...link,\n\t\t\trevokedAt: null\n\t\t};\n\t\tawait this.writeAll(all);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.minted\",\n\t\t\tlinkId: link.id,\n\t\t\tdefinitionId: link.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listByDefinition(_ctx, definitionId, opts) {\n\t\tconst all = await this.readAll();\n\t\treturn paginate(Object.values(all.links).filter((l) => l.definitionId === definitionId && this.isLive(l)).sort((a, b) => b.createdAt.localeCompare(a.createdAt)), opts);\n\t}\n\tasync getById(_ctx, id) {\n\t\treturn (await this.readAll()).links[id] ?? null;\n\t}\n\tasync getByTokenHash(_ctx, tokenHash) {\n\t\tconst all = await this.readAll();\n\t\tconst found = Object.values(all.links).find((l) => l.tokenHash === tokenHash);\n\t\tif (!this.isLive(found)) return null;\n\t\tif (this.definitionProvider) {\n\t\t\tif (!await this.definitionProvider.get(SYSTEM_CONTEXT, found.definitionId)) return null;\n\t\t}\n\t\treturn found;\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst all = await this.readAll();\n\t\tconst l = all.links[id];\n\t\tif (!l || !this.isLive(l)) return;\n\t\tl.revokedAt = (/* @__PURE__ */ new Date()).toISOString();\n\t\tawait this.writeAll(all);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.revoked\",\n\t\t\tlinkId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync tryIncrementSolveCount(_ctx, id) {\n\t\tconst all = await this.readAll();\n\t\tconst l = all.links[id];\n\t\tif (!l || !this.isLive(l)) return null;\n\t\tif (l.maxSolves != null && l.solveCount >= l.maxSolves) return null;\n\t\tl.solveCount += 1;\n\t\tawait this.writeAll(all);\n\t\treturn l.solveCount;\n\t}\n};\n//#endregion\n//#region ../providers/local/src/data/userData.ts\nvar MAX_RECENT_RUNS$1 = 20;\nvar empty$1 = () => ({ users: [] });\nfunction emptyRow(userId) {\n\treturn {\n\t\tuserId,\n\t\tplatformPermissions: [],\n\t\tstarredDefinitions: [],\n\t\trecentRuns: []\n\t};\n}\nfunction createLocalUserDataStore(filePath) {\n\tlet cache = null;\n\tlet loading = null;\n\tasync function load() {\n\t\tif (cache) return cache;\n\t\tloading ??= readJsonFile(filePath, empty$1()).then((data) => {\n\t\t\tcache = data;\n\t\t\tloading = null;\n\t\t\treturn data;\n\t\t});\n\t\treturn loading;\n\t}\n\tasync function persist(file) {\n\t\tcache = file;\n\t\tawait writeJsonFile(filePath, file);\n\t}\n\tasync function findOrThrow(userId) {\n\t\tconst file = await load();\n\t\tconst row = file.users.find((u) => u.userId === userId);\n\t\tif (!row) throw new ProviderError(`User-data row \"${userId}\" not found`, 404);\n\t\treturn {\n\t\t\tfile,\n\t\t\trow\n\t\t};\n\t}\n\treturn {\n\t\tasync ensure(userId) {\n\t\t\tconst file = await load();\n\t\t\tif (file.users.some((u) => u.userId === userId)) return;\n\t\t\tfile.users.push(emptyRow(userId));\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync findById(userId) {\n\t\t\tconst { users } = await load();\n\t\t\treturn users.find((u) => u.userId === userId) ?? null;\n\t\t},\n\t\tasync listAll() {\n\t\t\tconst { users } = await load();\n\t\t\treturn users;\n\t\t},\n\t\tasync updatePermissions(userId, permissions) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\trow.platformPermissions = permissions;\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync updateDisplayName(userId, displayName) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\tif (displayName === void 0) delete row.displayName;\n\t\t\telse row.displayName = displayName;\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync starDefinition(userId, definitionId) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\tif (!row.starredDefinitions.includes(definitionId)) {\n\t\t\t\trow.starredDefinitions.push(definitionId);\n\t\t\t\tawait persist(file);\n\t\t\t}\n\t\t},\n\t\tasync unstarDefinition(userId, definitionId) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\trow.starredDefinitions = row.starredDefinitions.filter((d) => d !== definitionId);\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync recordRun(userId, run) {\n\t\t\tconst { file, row } = await findOrThrow(userId);\n\t\t\trow.recentRuns = [run, ...row.recentRuns.filter((r) => r.definitionId !== run.definitionId)].slice(0, MAX_RECENT_RUNS$1);\n\t\t\tawait persist(file);\n\t\t},\n\t\tasync deleteUser(userId) {\n\t\t\tconst file = await load();\n\t\t\tconst before = file.users.length;\n\t\t\tfile.users = file.users.filter((u) => u.userId !== userId);\n\t\t\tif (file.users.length === before) throw new ProviderError(`User-data row \"${userId}\" not found`, 404);\n\t\t\tawait persist(file);\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/local/src/userProfile/LocalUserProfileProvider.ts\nfunction toProfile(u) {\n\treturn {\n\t\tuserId: u.userId,\n\t\tdisplayName: u.displayName,\n\t\tstarredDefinitions: u.starredDefinitions ?? [],\n\t\trecentRuns: u.recentRuns ?? []\n\t};\n}\n/**\n* Filesystem-backed user-profile store. Reads and writes `user-data.json`,\n* shared with `LocalPlatformPermissionStore`. Identity (email, password\n* hash) lives separately on the auth provider — this store keys exclusively\n* by user ID.\n*\n* `IDataProvider.ensureUser` (called from `hooks.server.ts`) seeds an empty\n* row for every authed user, mirroring Supabase's `handle_new_auth_user`\n* trigger.\n*/\nvar LocalUserProfileProvider = class LocalUserProfileProvider {\n\tdata;\n\t/**\n\t* Accepts a file path (constructs its own store — for `fromEnv` and\n\t* standalone conformance tests) OR a shared `LocalUserDataStore`. In the\n\t* full provider, `LocalDataProvider` injects ONE store shared with the\n\t* permission store and the data provider, so all three see the same\n\t* load-once write-through cache over `user-data.json` (§3a). Constructing\n\t* separate stores on the same file would run divergent caches.\n\t*/\n\tconstructor(userData) {\n\t\tthis.data = typeof userData === \"string\" ? createLocalUserDataStore(userData) : userData;\n\t}\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalUserProfileProvider(path.join(env.DATA_PATH, \"user-data.json\"));\n\t}\n\tasync getProfile(ctx, userId) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\tconst u = await this.data.findById(userId);\n\t\treturn u ? toProfile(u) : null;\n\t}\n\tasync getProfiles(_ctx, userIds) {\n\t\tconst all = await this.data.listAll();\n\t\tconst wanted = new Set(userIds);\n\t\treturn all.filter((u) => wanted.has(u.userId)).map(toProfile);\n\t}\n\tasync updateProfile(ctx, userId, patch) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tif (patch.displayName !== void 0) await this.data.updateDisplayName(userId, patch.displayName);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync starDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tawait this.data.starDefinition(userId, definitionId);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync unstarDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tawait this.data.unstarDefinition(userId, definitionId);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync recordRun(ctx, userId, run) {\n\t\tassertCanAccess$1(ctx, userId);\n\t\ttry {\n\t\t\tawait this.data.recordRun(userId, run);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n};\n/**\n* Profile reads/writes are scoped to the user themselves. `instance_admin`\n* bypasses for admin tooling. `system: true` (background jobs, signup\n* auto-seed) also passes — those flows have already authorized.\n*/\nfunction assertCanAccess$1(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot access another user’s profile\", 403);\n}\n//#endregion\n//#region ../providers/local/src/permissions/LocalPlatformPermissionStore.ts\n/**\n* Filesystem-backed platform-permission store. Reads and writes the\n* `platformPermissions` field on `user-data.json` — a data-layer file owned\n* by `LocalDataProvider`, distinct from `auth-users.json` which the\n* `LocalAuthProvider` owns. This split lets the local data layer pair with\n* any auth provider (local, Supabase, Entra, Eterna, …): the data layer only\n* cares about the user ID, never about how identity is stored.\n*\n* The \"user is known to the data layer\" precondition is established by\n* `IDataProvider.ensureUser`, called from `hooks.server.ts` on every authed\n* request — the local equivalent of the Supabase `handle_new_auth_user`\n* trigger. After that call, `set` finds a row and `getFor` reads it; before\n* it, `set` returns `not_found` (matching the conformance contract).\n*\n* Enforces:\n* - The §2 sole-`instance_admin` invariant on `set` (refuses to drop the\n* last admin)\n* - Authorization on read/write (`assertCanRead` / `assertCanWrite`)\n*\n* \"Disabled\" state lives on the auth provider's user record. The local\n* provider's permission store can't see across that boundary, so the\n* invariant counters here treat every row in `user-data.json` as enabled.\n* Code that disables a user is expected to also drop their `instance_admin`\n* grant via `set` (the §2 invariant kicks in there) before the auth-side\n* disable lands — see `LocalAuthProvider.disableUser`.\n*/\nvar LocalPlatformPermissionStore = class LocalPlatformPermissionStore {\n\tdata;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalPlatformPermissionStore(path.join(env.DATA_PATH, \"user-data.json\"));\n\t}\n\t/**\n\t* Accepts a file path (constructs its own store) OR a shared\n\t* `LocalUserDataStore`. `LocalDataProvider` injects one shared store so the\n\t* permission, profile, and data-provider views of `user-data.json` share a\n\t* single load-once write-through cache (§3a).\n\t*/\n\tconstructor(userData) {\n\t\tthis.data = typeof userData === \"string\" ? createLocalUserDataStore(userData) : userData;\n\t}\n\tasync getFor(ctx, userId) {\n\t\tassertCanRead$1(ctx, userId);\n\t\treturn (await this.data.findById(userId))?.platformPermissions ?? [];\n\t}\n\tasync getForBatch(ctx, userIds) {\n\t\tassertCanReadBatch(ctx);\n\t\tconst all = await this.data.listAll();\n\t\tconst wanted = new Set(userIds);\n\t\tconst out = /* @__PURE__ */ new Map();\n\t\tfor (const u of all) if (wanted.has(u.userId)) out.set(u.userId, u.platformPermissions ?? []);\n\t\treturn out;\n\t}\n\tasync set(ctx, userId, permissions) {\n\t\tassertAdmin$1(ctx);\n\t\tconst target = await this.data.findById(userId);\n\t\tif (!target) return \"not_found\";\n\t\tconst wasAdmin = target.platformPermissions.includes(\"instance_admin\");\n\t\tconst willBeAdmin = permissions.includes(\"instance_admin\");\n\t\tif (wasAdmin && !willBeAdmin) {\n\t\t\tif (await this.countOtherAdmins(userId) === 0) return \"last_admin\";\n\t\t}\n\t\ttry {\n\t\t\tawait this.data.updatePermissions(userId, [...permissions]);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync hasInstanceAdmin(_ctx) {\n\t\treturn (await this.data.listAll()).some((u) => u.platformPermissions.includes(\"instance_admin\"));\n\t}\n\tasync countInstanceAdminsExcluding(_ctx, excludeUserId) {\n\t\treturn this.countOtherAdmins(excludeUserId);\n\t}\n\tasync countOtherAdmins(excludeUserId) {\n\t\treturn (await this.data.listAll()).filter((u) => u.userId !== excludeUserId && u.platformPermissions.includes(\"instance_admin\")).length;\n\t}\n};\nfunction assertCanRead$1(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin$1(ctx) {\n\tif (ctx.system) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction assertCanReadBatch(ctx) {\n\tif (ctx.system) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tif (hasPermission(ctx, \"manage_instance_users\")) return;\n\tthrow new ProviderError(\"Forbidden: instance admin or manage_instance_users required\", 403);\n}\n//#endregion\n//#region ../providers/local/src/data/LocalDataProvider.ts\n/**\n* Composition of every local-provider data store. One `LocalOrgStoreLoader`\n* is shared across org + project stores so they see the same cache and\n* atomic write path.\n*\n* The `LocalUserDataStore` is similarly shared across the permissions and\n* profile stores: both write to `user-data.json`, and `ensureUser` seeds\n* exactly the same row both stores read from. This is the local equivalent\n* of Supabase's `handle_new_auth_user` trigger.\n*\n* Stores are passed as a record so adding a new store doesn't ripple through\n* test fixtures and call sites.\n*/\nvar LocalDataProvider = class LocalDataProvider {\n\torgs;\n\tprojects;\n\tdefinitions;\n\tcomputeServer;\n\tinvites;\n\tshareLinks;\n\tuserProfile;\n\tpermissions;\n\tplatformProjectGrants;\n\t/** The sink the stores emit into (Noop unless injected) — per `IDataProvider.events`. */\n\tevents;\n\tuserData;\n\tconstructor(stores, userData) {\n\t\tthis.events = stores.events;\n\t\tthis.orgs = stores.orgs;\n\t\tthis.projects = stores.projects;\n\t\tthis.definitions = stores.definitions;\n\t\tthis.computeServer = stores.computeServer;\n\t\tthis.invites = stores.invites;\n\t\tthis.shareLinks = stores.shareLinks;\n\t\tthis.userProfile = stores.userProfile;\n\t\tthis.permissions = stores.permissions;\n\t\tthis.platformProjectGrants = stores.platformProjectGrants;\n\t\tthis.userData = userData;\n\t}\n\t/**\n\t* Idempotently register a user in the data layer. Called from\n\t* `hooks.server.ts` on every authed request — the local equivalent of\n\t* Supabase's `handle_new_auth_user` trigger. After this completes the\n\t* user has an empty row in `user-data.json` that the permissions and\n\t* profile stores can read and update.\n\t*\n\t* `ctx` is unused — registration runs as a system operation regardless of\n\t* the calling user. Argument is kept for interface symmetry with adapters\n\t* that need it.\n\t*/\n\tasync ensureUser(_ctx, userId) {\n\t\tawait this.userData.ensure(userId);\n\t}\n\t/**\n\t* Cascade hook called after the auth provider deletes a user. Removes the\n\t* matching `user-data.json` row and every live org membership so the data\n\t* layer doesn't accumulate orphans — a leftover membership renders as a\n\t* bare user ID in the team roster forever. (Supabase gets the membership\n\t* cascade from FK constraints; local must do it explicitly.) Tolerates\n\t* missing rows.\n\t*\n\t* `opts.email` is accepted for interface parity but unused: the local\n\t* provider persists no audit_events or solve_metrics (Supabase-only tables),\n\t* and its invite set is small and operator-visible on disk. The email-keyed\n\t* erasure that closes audit P1 is a Supabase concern.\n\t*/\n\tasync onUserDeleted(ctx, userId, _opts) {\n\t\ttry {\n\t\t\tawait this.userData.deleteUser(userId);\n\t\t} catch {}\n\t\tfor (let i = 0; i < 100; i++) {\n\t\t\tconst membership = await this.orgs.findUserMembership(ctx, userId);\n\t\t\tif (!membership) break;\n\t\t\tawait this.orgs.removeOrgMember(ctx, membership.org.id, userId);\n\t\t}\n\t}\n\tstatic fromEnv(env, events = new NoopEventSink()) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\tconst dataPath = env.DATA_PATH;\n\t\tconst userDataFilePath = path.join(dataPath, \"user-data.json\");\n\t\tconst loader = new LocalOrgStoreLoader(dataPath);\n\t\tconst platformProjectGrants = LocalPlatformProjectGrantStore.fromEnv(env);\n\t\tconst invites = LocalInviteStore.fromEnv(env, events);\n\t\tconst computeServer = LocalComputeServerStore.fromEnv(env);\n\t\tconst projects = new LocalProjectStore({\n\t\t\tloader,\n\t\t\tgrants: platformProjectGrants,\n\t\t\tevents\n\t\t});\n\t\tconst definitions = new LocalDefinitionStore(dataPath, void 0, events);\n\t\tconst shareLinks = new LocalShareLinkStore({\n\t\t\tfilePath: path.join(dataPath, \"share-links.json\"),\n\t\t\tevents\n\t\t});\n\t\tconst orgs = new LocalOrgStore({\n\t\t\tloader,\n\t\t\tinvites,\n\t\t\tcomputeServer,\n\t\t\tgrants: platformProjectGrants,\n\t\t\tevents\n\t\t});\n\t\tdefinitions.setProjectProvider(projects);\n\t\tshareLinks.setDefinitionProvider(definitions);\n\t\tprojects.setDefinitionProvider(definitions);\n\t\tconst userData = createLocalUserDataStore(userDataFilePath);\n\t\treturn new LocalDataProvider({\n\t\t\torgs,\n\t\t\tprojects,\n\t\t\tdefinitions,\n\t\t\tcomputeServer,\n\t\t\tinvites,\n\t\t\tshareLinks,\n\t\t\tuserProfile: new LocalUserProfileProvider(userData),\n\t\t\tpermissions: new LocalPlatformPermissionStore(userData),\n\t\t\tplatformProjectGrants,\n\t\t\tevents\n\t\t}, userData);\n\t}\n};\n//#endregion\n//#region ../providers/local/src/storage/LocalStorageProvider.ts\n/**\n* Filesystem implementation of IStorageProvider.\n* Files are stored under DATA_PATH/{path}.\n* Images are auto-transcoded to WebP on put() via the shared platform helper\n* (`transcodeImageIfNeeded`) — the same helper the Supabase adapter uses,\n* so both providers produce identical bytes for the same upload.\n*/\nvar LocalStorageProvider = class LocalStorageProvider {\n\tbasePath;\n\tpublicUrlBase;\n\tstatic fromEnv(env) {\n\t\tif (!env.DATA_PATH) throw new Error(\"Missing required env var: DATA_PATH\");\n\t\treturn new LocalStorageProvider(env.DATA_PATH, \"/api/files\");\n\t}\n\tconstructor(basePath, publicUrlBase = \"/api/files\") {\n\t\tthis.basePath = basePath;\n\t\tthis.publicUrlBase = publicUrlBase;\n\t}\n\t/**\n\t* Resolve a caller-provided path under basePath, rejecting anything that\n\t* would escape the root. Last line of defense against traversal — while\n\t* platform-side helpers (definitionPaths) also assert safe keys, this\n\t* adapter is reached by any IStorageProvider caller.\n\t*/\n\tresolvePath(storagePath) {\n\t\tconst base = path.resolve(this.basePath);\n\t\tconst full = path.resolve(base, storagePath);\n\t\tif (full !== base && !full.startsWith(base + path.sep)) throw new Error(`Path escapes base: ${storagePath}`);\n\t\treturn full;\n\t}\n\tasync get(storagePath) {\n\t\ttry {\n\t\t\tconst buffer = await fs.readFile(this.resolvePath(storagePath));\n\t\t\treturn new Uint8Array(buffer);\n\t\t} catch (err) {\n\t\t\tif (err.code === \"ENOENT\") return null;\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync put(storagePath, data, contentType) {\n\t\tconst transcoded = await transcodeImageIfNeeded(data, contentType, storagePath);\n\t\tconst fullPath = this.resolvePath(transcoded.path);\n\t\tawait fs.mkdir(path.dirname(fullPath), { recursive: true });\n\t\tawait fs.writeFile(fullPath, Buffer.from(transcoded.data));\n\t}\n\tasync delete(storagePath) {\n\t\ttry {\n\t\t\tawait fs.unlink(this.resolvePath(storagePath));\n\t\t} catch (err) {\n\t\t\tif (err.code !== \"ENOENT\") throw err;\n\t\t}\n\t}\n\tasync deletePrefix(prefix) {\n\t\tconst fullPath = this.resolvePath(prefix);\n\t\tawait fs.rm(fullPath, {\n\t\t\trecursive: true,\n\t\t\tforce: true\n\t\t});\n\t}\n\tgetPublicUrl(storagePath) {\n\t\treturn `${this.publicUrlBase}/${storagePath}`;\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/storage/SupabaseStorageProvider.ts\nvar SupabaseStorageProvider = class SupabaseStorageProvider {\n\tclient;\n\tpublicBucket;\n\tprivateBucket;\n\tpublicBaseUrl;\n\tprivateUrlPrefix;\n\tstatic fromEnv(env) {\n\t\tconst supabaseUrl = env.SUPABASE_URL;\n\t\tconst serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n\t\tif (!supabaseUrl) throw new Error(\"Missing required env var: SUPABASE_URL\");\n\t\tif (!serviceRoleKey) throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n\t\treturn new SupabaseStorageProvider({\n\t\t\tsupabaseUrl,\n\t\t\tserviceRoleKey,\n\t\t\tpublicBucket: env.SUPABASE_PUBLIC_BUCKET,\n\t\t\tprivateBucket: env.SUPABASE_PRIVATE_BUCKET,\n\t\t\tprivateUrlPrefix: env.SUPABASE_PRIVATE_URL_PREFIX\n\t\t});\n\t}\n\tconstructor(config) {\n\t\tthis.client = createClient(config.supabaseUrl, config.serviceRoleKey, { auth: {\n\t\t\tpersistSession: false,\n\t\t\tautoRefreshToken: false\n\t\t} });\n\t\tthis.publicBucket = config.publicBucket ?? \"selva-public\";\n\t\tthis.privateBucket = config.privateBucket ?? \"selva-private\";\n\t\tthis.publicBaseUrl = `${config.supabaseUrl.replace(/\\/$/, \"\")}/storage/v1/object/public/${this.publicBucket}`;\n\t\tthis.privateUrlPrefix = (config.privateUrlPrefix ?? \"/api/files\").replace(/\\/$/, \"\");\n\t}\n\t/**\n\t* Route a storage path to a bucket. A path is private when either:\n\t* - it's a `.gh`/`.ghx` source file — confidentiality by extension, so a\n\t* path-scheme rename can't silently move sources into the public bucket;\n\t* - it classifies as a non-`public` asset class (`classifyAssetPath`) —\n\t* e.g. `orgs/{id}/private/*` pricing sheets are members-only and must\n\t* never land in the CDN-readable bucket.\n\t* Everything else (branding, covers, archives, thumbnails) is public.\n\t*/\n\tbucketFor(storagePath) {\n\t\tif (/\\.(gh|ghx)$/i.test(storagePath)) return this.privateBucket;\n\t\tconst cls = classifyAssetPath(storagePath);\n\t\tif (cls && cls.class.visibility !== \"public\") return this.privateBucket;\n\t\treturn this.publicBucket;\n\t}\n\tasync get(storagePath) {\n\t\tconst bucket = this.bucketFor(storagePath);\n\t\tconst { data, error } = await this.client.storage.from(bucket).download(storagePath);\n\t\tif (error) {\n\t\t\tconst msg = error.message ?? \"\";\n\t\t\tif (/not found/i.test(msg) || /no such key/i.test(msg)) return null;\n\t\t\tthrow error;\n\t\t}\n\t\tconst buffer = await data.arrayBuffer();\n\t\treturn new Uint8Array(buffer);\n\t}\n\tasync put(storagePath, data, contentType) {\n\t\tconst transcoded = await transcodeImageIfNeeded(data, contentType, storagePath);\n\t\tconst bucket = this.bucketFor(transcoded.path);\n\t\tconst { error } = await this.client.storage.from(bucket).upload(transcoded.path, transcoded.data, {\n\t\t\tcontentType: transcoded.contentType,\n\t\t\tcacheControl: \"31536000\",\n\t\t\tupsert: true\n\t\t});\n\t\tif (error) throw error;\n\t}\n\tasync delete(storagePath) {\n\t\tconst bucket = this.bucketFor(storagePath);\n\t\tconst { error } = await this.client.storage.from(bucket).remove([storagePath]);\n\t\tif (error) throw error;\n\t}\n\tasync deletePrefix(prefix) {\n\t\tawait Promise.all([this.deletePrefixInBucket(this.publicBucket, prefix), this.deletePrefixInBucket(this.privateBucket, prefix)]);\n\t}\n\tasync deletePrefixInBucket(bucket, prefix) {\n\t\tconst normalized = prefix.replace(/\\/+$/, \"\");\n\t\tconst keys = await this.listAllKeys(bucket, normalized);\n\t\tif (keys.length === 0) return;\n\t\tfor (let i = 0; i < keys.length; i += 1e3) {\n\t\t\tconst slice = keys.slice(i, i + 1e3);\n\t\t\tconst { error } = await this.client.storage.from(bucket).remove(slice);\n\t\t\tif (error) throw error;\n\t\t}\n\t}\n\t/**\n\t* Recursively list every key under a prefix. `storage-js`'s `list` API\n\t* only returns the immediate children of a \"folder\", so we DFS.\n\t*/\n\tasync listAllKeys(bucket, prefix) {\n\t\tconst out = [];\n\t\tconst stack = [prefix];\n\t\twhile (stack.length > 0) {\n\t\t\tconst dir = stack.pop();\n\t\t\tconst { data, error } = await this.client.storage.from(bucket).list(dir, {\n\t\t\t\tlimit: 1e3,\n\t\t\t\tsortBy: {\n\t\t\t\t\tcolumn: \"name\",\n\t\t\t\t\torder: \"asc\"\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (error) throw error;\n\t\t\tfor (const entry of data ?? []) {\n\t\t\t\tconst full = dir ? `${dir}/${entry.name}` : entry.name;\n\t\t\t\tif (entry.id === null) stack.push(full);\n\t\t\t\telse out.push(full);\n\t\t\t}\n\t\t}\n\t\treturn out;\n\t}\n\tgetPublicUrl(storagePath) {\n\t\tif (this.bucketFor(storagePath) === this.publicBucket) return `${this.publicBaseUrl}/${storagePath}`;\n\t\treturn `${this.privateUrlPrefix}/${storagePath}`;\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/data/errors.ts\nfunction mapPostgrestError(e) {\n\tconst pg = e;\n\tswitch (pg?.code) {\n\t\tcase \"PGRST116\": return new ProviderError(pg.message ?? \"Not found\", 404);\n\t\tcase \"23505\": return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n\t\tcase \"23503\": return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n\t}\n\tif (e instanceof Error) return e;\n\tif (e && typeof e === \"object\") {\n\t\tconst obj = e;\n\t\tconst msg = obj.message ?? obj.details ?? obj.hint ?? \"Unknown Postgres error\";\n\t\tconst err = new Error(obj.code ? `[${obj.code}] ${msg}` : msg);\n\t\tObject.assign(err, obj);\n\t\treturn err;\n\t}\n\treturn new Error(String(e));\n}\n//#endregion\n//#region ../providers/supabase/src/data/pagination.ts\n/**\n* Pagination helpers shared across Supabase stores.\n*\n* The platform contract specifies cursor pagination (`ListOptions.cursor`).\n* Because Supabase/Postgres has no built-in opaque cursor format, we encode\n* an offset as the cursor — simple, correct for stable sorts, and good\n* enough for the volumes Selva deals with (admin/definition lists are\n* bounded; nothing is infinite scroll over millions of rows).\n*\n* Keyset pagination would be faster at scale if it ever matters.\n*/\n/** Decode an opaque cursor string. Returns 0 for missing/invalid cursors. */\nfunction decodeCursor(cursor) {\n\tif (!cursor) return 0;\n\tconst n = parseInt(cursor, 10);\n\treturn Number.isFinite(n) && n >= 0 ? n : 0;\n}\nfunction encodeCursor(offset) {\n\treturn String(offset);\n}\n/** Clamp limit + compute the PostgREST `range(from, to)` bounds. */\nfunction toRange(opts) {\n\tconst limit = Math.min(Math.max(opts?.limit ?? 50, 1), 200);\n\tconst from = decodeCursor(opts?.cursor);\n\treturn {\n\t\tfrom,\n\t\tto: from + limit - 1,\n\t\tlimit\n\t};\n}\n/**\n* Build the `nextCursor` from the count returned by PostgREST. Returns\n* undefined when there is no next page.\n*/\nfunction nextCursorFromRange(range, returnedCount, totalCount) {\n\tconst consumed = range.from + returnedCount;\n\tif (totalCount != null) return consumed < totalCount ? encodeCursor(consumed) : void 0;\n\treturn returnedCount >= range.limit ? encodeCursor(consumed) : void 0;\n}\n/** Map `ListOptions.orderBy` to a Postgres column name. */\nfunction orderColumn(orderBy) {\n\tswitch (orderBy) {\n\t\tcase \"name\": return \"name\";\n\t\tcase \"updatedAt\": return \"updated_at\";\n\t\tdefault: return \"created_at\";\n\t}\n}\n//#endregion\n//#region ../providers/supabase/src/data/rowStamp.ts\n/**\n* Row-level (snake_case) audit-stamp helpers for Supabase stores.\n*\n* Platform's `auditUpdate` / `auditSoftDelete` emit camelCase *domain* fields\n* (`updatedAt` / `updatedBy`), but Postgres rows are snake_case, so every store\n* hand-translated them. These helpers own that translation once. Row-column\n* naming is a provider concern, so they live here rather than in platform.\n*\n* Two deliberate rules, matched to how the engine's stores already write rows:\n* - `updated_by` is written ONLY when `ctx.userId` is set. On system contexts\n* it's the empty string, and the column FKs `auth.users(id)` with\n* `ON DELETE SET NULL` — writing `''` would violate the FK, so it's omitted\n* and the existing value is left untouched.\n* - Plain updates DON'T stamp `updated_at`: a per-table `updated_at` trigger\n* already sets it. Only the soft-delete stamp writes `updated_at` explicitly,\n* so it matches `deleted_at` (a single timestamp for the deletion event).\n*/\n/**\n* Stamp for a plain UPDATE: `{ updated_by }` when the context carries a user,\n* `{}` otherwise (the DB trigger handles `updated_at`). Spread into the row:\n* `const row = { ...patch, ...stampUpdate(ctx) }`.\n*/\nfunction stampUpdate(ctx) {\n\treturn ctx.userId ? { updated_by: ctx.userId } : {};\n}\n/**\n* Stamp for a soft-delete: `{ deleted_at, updated_at, updated_by? }`. `updated_at`\n* is set explicitly to equal `deleted_at`; `updated_by` follows the same\n* omit-when-empty rule as {@link stampUpdate}. `fallbackActor` defaults to\n* `ctx.userId` (matching the engine stores' `auditSoftDelete(ctx, ctx.userId)`).\n*/\nfunction stampSoftDelete(ctx, fallbackActor = ctx.userId) {\n\tconst stamp = auditSoftDelete(ctx, fallbackActor);\n\tconst row = {\n\t\tdeleted_at: stamp.deletedAt,\n\t\tupdated_at: stamp.updatedAt\n\t};\n\tif (stamp.updatedBy) row.updated_by = stamp.updatedBy;\n\treturn row;\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseOrgStore.ts\n/** Explicit column list for `orgs` — every field `rowToOrg` consumes. */\nvar ORG_COLUMNS = \"id, name, slug, owner_id, assets, created_by, updated_by, created_at, updated_at, deleted_at\";\n/** Explicit column list for `org_members` — every field `rowToOrgMember` consumes. */\nvar ORG_MEMBER_COLUMNS = \"org_id, user_id, role, permissions, joined_at, updated_at, updated_by, deleted_at\";\n/**\n* Org + org-membership store backed by Postgres. The queries rely on RLS\n* for per-user visibility; the service-role client bypasses those policies\n* for admin paths (setup, janitor, tests).\n*\n* `createOrg` atomically seeds the creator as `owner` with every\n* `OrgPermission` — otherwise under user-scoped RLS the creator would\n* immediately lose visibility of their own org.\n*/\nvar SupabaseOrgStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync listOrgs(ctx, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst direction = opts?.orderDir ?? \"desc\";\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"orgs\").select(ORG_COLUMNS, { count: \"exact\" }).is(\"deleted_at\", null).order(orderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToOrg);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getOrg(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"orgs\").select(ORG_COLUMNS).eq(\"id\", id).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToOrg(data) : null;\n\t}\n\tasync getOrgBySlug(ctx, slug) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"orgs\").select(ORG_COLUMNS).eq(\"slug\", slug).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToOrg(data) : null;\n\t}\n\tasync createOrg(ctx, org) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { error } = await client.from(\"orgs\").insert(orgToRow(org));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst { error: memberError } = await client.from(\"org_members\").upsert({\n\t\t\torg_id: org.id,\n\t\t\tuser_id: org.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tpermissions: [...DEFAULT_ORG_PERMISSIONS.owner],\n\t\t\tjoined_at: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\tdeleted_at: null\n\t\t}, { onConflict: \"org_id,user_id\" });\n\t\tif (memberError) throw mapPostgrestError(memberError);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.created\",\n\t\t\torgId: org.id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrg(ctx, id, patch) {\n\t\tconst row = {};\n\t\tif (patch.name !== void 0) row.name = patch.name;\n\t\tif (patch.slug !== void 0) row.slug = patch.slug;\n\t\tif (patch.assets !== void 0) row.assets = patch.assets;\n\t\tif (Object.keys(row).length === 0) return;\n\t\tObject.assign(row, stampUpdate(ctx));\n\t\tconst { error, data } = await this.clients.forRequest(ctx).from(\"orgs\").update(row).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Org '${id}' not found`, 404);\n\t}\n\tasync deleteOrg(ctx, id) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst stampRow = stampSoftDelete(ctx);\n\t\tconst { error: orgErr, data: orgData } = await client.from(\"orgs\").update(stampRow).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (orgErr) throw mapPostgrestError(orgErr);\n\t\tif (!orgData || orgData.length === 0) throw new ProviderError(`Org '${id}' not found`, 404);\n\t\tconst { error: omErr } = await client.from(\"org_members\").update(stampRow).eq(\"org_id\", id).is(\"deleted_at\", null);\n\t\tif (omErr) throw mapPostgrestError(omErr);\n\t\tconst { data: orgProjects, error: projFetchErr } = await client.from(\"projects\").select(\"id\").eq(\"org_id\", id).is(\"deleted_at\", null);\n\t\tif (projFetchErr) throw mapPostgrestError(projFetchErr);\n\t\tconst projectIds = (orgProjects ?? []).map((p) => p.id);\n\t\tconst { error: projErr } = await client.from(\"projects\").update(stampRow).eq(\"org_id\", id).is(\"deleted_at\", null);\n\t\tif (projErr) throw mapPostgrestError(projErr);\n\t\tif (projectIds.length > 0) {\n\t\t\tconst { error: pmErr } = await client.from(\"project_members\").update(stampRow).in(\"project_id\", projectIds).is(\"deleted_at\", null);\n\t\t\tif (pmErr) throw mapPostgrestError(pmErr);\n\t\t\tconst { error: defErr } = await client.from(\"definitions\").update(stampRow).in(\"project_id\", projectIds).is(\"deleted_at\", null);\n\t\t\tif (defErr) throw mapPostgrestError(defErr);\n\t\t}\n\t\tconst { error: invErr } = await client.from(\"invites\").delete().eq(\"org_id\", id);\n\t\tif (invErr) throw mapPostgrestError(invErr);\n\t\tconst { error: cdErr } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", id);\n\t\tif (cdErr) throw mapPostgrestError(cdErr);\n\t\tconst { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", id);\n\t\tif (shErr) throw mapPostgrestError(shErr);\n\t\tconst { error: csErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", id);\n\t\tif (csErr) throw mapPostgrestError(csErr);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org.deleted\",\n\t\t\torgId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listOrgMembers(ctx, orgId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"org_members\").select(ORG_MEMBER_COLUMNS, { count: \"exact\" }).eq(\"org_id\", orgId).is(\"deleted_at\", null).order(\"joined_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToOrgMember);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getOrgMember(ctx, orgId, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").select(ORG_MEMBER_COLUMNS).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToOrgMember(data) : null;\n\t}\n\tasync findUserMembership(ctx, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"org_members\").select(`${ORG_MEMBER_COLUMNS}, org:orgs!inner(${ORG_COLUMNS})`).eq(\"user_id\", userId).is(\"deleted_at\", null).is(\"org.deleted_at\", null).order(\"joined_at\", { ascending: true }).limit(1).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data) return null;\n\t\tconst row = data;\n\t\tconst orgRow = Array.isArray(row.org) ? row.org[0] : row.org;\n\t\tif (!orgRow) return null;\n\t\tconst { org: _omit, ...memberRow } = row;\n\t\treturn {\n\t\t\torg: rowToOrg(orgRow),\n\t\t\tmember: rowToOrgMember(memberRow)\n\t\t};\n\t}\n\tasync addOrgMember(ctx, member) {\n\t\tconst row = {\n\t\t\t...memberToRow(member),\n\t\t\tdeleted_at: null,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"org_members\").upsert(row, { onConflict: \"org_id,user_id\" });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.added\",\n\t\t\torgId: member.orgId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberRole(ctx, orgId, userId, role) {\n\t\tconst row = {\n\t\t\trole,\n\t\t\tpermissions: [...DEFAULT_ORG_PERMISSIONS[role]],\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { 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\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.role_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateOrgMemberPermissions(ctx, orgId, userId, permissions) {\n\t\tconst row = {\n\t\t\tpermissions: [...permissions],\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { 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\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Org member '${userId}' not found`, 404);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.permissions_changed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tpermissions: [...permissions],\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeOrgMember(ctx, orgId, userId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst stampRow = stampSoftDelete(ctx);\n\t\tconst { data: orgProjects, error: projError } = await client.from(\"projects\").select(\"id\").eq(\"org_id\", orgId).is(\"deleted_at\", null);\n\t\tif (projError) throw mapPostgrestError(projError);\n\t\tconst projectIds = (orgProjects ?? []).map((p) => p.id);\n\t\tif (projectIds.length > 0) {\n\t\t\tconst { error: pmError } = await client.from(\"project_members\").update(stampRow).in(\"project_id\", projectIds).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\t\tif (pmError) throw mapPostgrestError(pmError);\n\t\t}\n\t\tconst { error } = await client.from(\"org_members\").update(stampRow).eq(\"org_id\", orgId).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"org_member.removed\",\n\t\t\torgId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\nfunction rowToOrg(row) {\n\treturn {\n\t\tid: row.id,\n\t\tname: row.name,\n\t\tslug: row.slug,\n\t\townerId: row.owner_id,\n\t\tassets: row.assets ?? void 0,\n\t\tcreatedBy: row.created_by ?? row.owner_id,\n\t\tupdatedBy: row.updated_by ?? row.owner_id,\n\t\tcreatedAt: row.created_at,\n\t\tupdatedAt: row.updated_at,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction orgToRow(org) {\n\treturn {\n\t\tid: org.id,\n\t\tname: org.name,\n\t\tslug: org.slug,\n\t\towner_id: org.ownerId,\n\t\tassets: org.assets ?? null,\n\t\tcreated_by: org.createdBy,\n\t\tupdated_by: org.updatedBy,\n\t\tcreated_at: org.createdAt,\n\t\tupdated_at: org.updatedAt,\n\t\tdeleted_at: org.deletedAt ?? null\n\t};\n}\nfunction rowToOrgMember(row) {\n\treturn {\n\t\torgId: row.org_id,\n\t\tuserId: row.user_id,\n\t\trole: row.role,\n\t\tpermissions: row.permissions ?? [],\n\t\tjoinedAt: row.joined_at,\n\t\tupdatedAt: row.updated_at ?? row.joined_at,\n\t\tupdatedBy: row.updated_by ?? row.user_id,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction memberToRow(m) {\n\treturn {\n\t\torg_id: m.orgId,\n\t\tuser_id: m.userId,\n\t\trole: m.role,\n\t\tpermissions: m.permissions ?? [],\n\t\tjoined_at: m.joinedAt\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseProjectStore.ts\n/** Explicit column list for `projects` — every field `rowToProject` consumes. */\nvar PROJECT_COLUMNS = \"id, org_id, name, slug, description, visibility, owner_id, created_by, updated_by, auto_join_on_upload, created_at, updated_at, deleted_at\";\n/** Explicit column list for `project_members` — every field `rowToProjectMember` consumes. */\nvar PROJECT_MEMBER_COLUMNS = \"project_id, user_id, role, joined_at, updated_at, updated_by, deleted_at\";\n/**\n* Project + project-membership store backed by Postgres. Visibility semantics\n* (public / org / private) are enforced by the `visible_project()` helper in\n* RLS. Access predicates (canEdit / canManage / canView etc.) live as pure\n* functions in `@selvajs/platform/access`; the route layer composes them with\n* pre-loaded entities. See `packages/selva/src/lib/server/access.server.ts`.\n*\n* `createProject` atomically seeds the creator as the project `owner` in\n* `project_members` so subsequent user-scoped reads can see it.\n*/\nvar SupabaseProjectStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync listProjects(ctx, orgId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst direction = opts?.orderDir ?? \"desc\";\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"projects\").select(PROJECT_COLUMNS, { count: \"exact\" }).eq(\"org_id\", orgId).is(\"deleted_at\", null).order(orderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToProject);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getProject(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"projects\").select(PROJECT_COLUMNS).eq(\"id\", id).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToProject(data) : null;\n\t}\n\tasync getProjectBySlug(ctx, orgId, slug) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"projects\").select(PROJECT_COLUMNS).eq(\"org_id\", orgId).eq(\"slug\", slug).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToProject(data) : null;\n\t}\n\tasync createProject(ctx, project) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { error } = await client.from(\"projects\").insert(projectToRow(project));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst { error: memberError } = await client.from(\"project_members\").upsert({\n\t\t\tproject_id: project.id,\n\t\t\tuser_id: project.ownerId,\n\t\t\trole: \"owner\",\n\t\t\tjoined_at: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\tdeleted_at: null\n\t\t}, { onConflict: \"project_id,user_id\" });\n\t\tif (memberError) throw mapPostgrestError(memberError);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProject(ctx, id, patch) {\n\t\tconst row = {};\n\t\tif (patch.name !== void 0) row.name = patch.name;\n\t\tif (patch.slug !== void 0) row.slug = patch.slug;\n\t\tif (patch.description !== void 0) row.description = patch.description;\n\t\tif (patch.visibility !== void 0) row.visibility = patch.visibility;\n\t\tif (patch.autoJoinOnUpload !== void 0) row.auto_join_on_upload = patch.autoJoinOnUpload;\n\t\tif (Object.keys(row).length === 0) return;\n\t\tObject.assign(row, stampUpdate(ctx));\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"projects\").update(row).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Project '${id}' not found`, 404);\n\t}\n\tasync deleteProject(ctx, id) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst stampRow = stampSoftDelete(ctx);\n\t\tconst { data, error } = await client.from(\"projects\").update(stampRow).eq(\"id\", id).is(\"deleted_at\", null).select(\"id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Project '${id}' not found`, 404);\n\t\tconst { error: pmErr } = await client.from(\"project_members\").update(stampRow).eq(\"project_id\", id).is(\"deleted_at\", null);\n\t\tif (pmErr) throw mapPostgrestError(pmErr);\n\t\tconst { data: deletedDefs, error: defErr } = await client.from(\"definitions\").update(stampRow).eq(\"project_id\", id).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (defErr) throw mapPostgrestError(defErr);\n\t\tfor (const row of deletedDefs ?? []) await this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: row.guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.deleted\",\n\t\t\tprojectId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync reactivateProject(ctx, orgId, slug) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { data, error } = await client.from(\"projects\").update({ deleted_at: null }).eq(\"org_id\", orgId).eq(\"slug\", slug).not(\"deleted_at\", \"is\", null).select(PROJECT_COLUMNS).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data) return null;\n\t\tconst { 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\t\tif (pmErr) throw mapPostgrestError(pmErr);\n\t\tconst project = rowToProject(data);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project.created\",\n\t\t\tprojectId: project.id,\n\t\t\torgId: project.orgId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t\treturn project;\n\t}\n\tasync listProjectMembers(ctx, projectId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"project_members\").select(PROJECT_MEMBER_COLUMNS, { count: \"exact\" }).eq(\"project_id\", projectId).is(\"deleted_at\", null).order(\"joined_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToProjectMember);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getProjectMember(ctx, projectId, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"project_members\").select(PROJECT_MEMBER_COLUMNS).eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToProjectMember(data) : null;\n\t}\n\tasync addProjectMember(ctx, member) {\n\t\tconst row = {\n\t\t\t...projectMemberToRow(member),\n\t\t\tdeleted_at: null,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"project_members\").upsert(row, { onConflict: \"project_id,user_id\" });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.added\",\n\t\t\tprojectId: member.projectId,\n\t\t\tuserId: member.userId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync updateProjectMemberRole(ctx, projectId, userId, role) {\n\t\tconst row = {\n\t\t\trole,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { 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\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Project member '${userId}' not found`, 404);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.role_changed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\trole,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync removeProjectMember(ctx, projectId, userId) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"project_members\").update(stampSoftDelete(ctx)).eq(\"project_id\", projectId).eq(\"user_id\", userId).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"project_member.removed\",\n\t\t\tprojectId,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n};\nfunction rowToProject(row) {\n\treturn {\n\t\tid: row.id,\n\t\torgId: row.org_id,\n\t\tname: row.name,\n\t\tslug: row.slug,\n\t\tdescription: row.description ?? void 0,\n\t\tvisibility: row.visibility,\n\t\townerId: row.owner_id,\n\t\tcreatedBy: row.created_by ?? row.owner_id,\n\t\tupdatedBy: row.updated_by ?? row.owner_id,\n\t\tautoJoinOnUpload: row.auto_join_on_upload ?? false,\n\t\tcreatedAt: row.created_at,\n\t\tupdatedAt: row.updated_at,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction projectToRow(p) {\n\treturn {\n\t\tid: p.id,\n\t\torg_id: p.orgId,\n\t\tname: p.name,\n\t\tslug: p.slug,\n\t\tdescription: p.description ?? null,\n\t\tvisibility: p.visibility,\n\t\towner_id: p.ownerId,\n\t\tcreated_by: p.createdBy,\n\t\tupdated_by: p.updatedBy,\n\t\tauto_join_on_upload: p.autoJoinOnUpload,\n\t\tcreated_at: p.createdAt,\n\t\tupdated_at: p.updatedAt,\n\t\tdeleted_at: p.deletedAt ?? null\n\t};\n}\nfunction rowToProjectMember(row) {\n\treturn {\n\t\tprojectId: row.project_id,\n\t\tuserId: row.user_id,\n\t\trole: row.role,\n\t\tjoinedAt: row.joined_at,\n\t\tupdatedAt: row.updated_at ?? row.joined_at,\n\t\tupdatedBy: row.updated_by ?? row.user_id,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction projectMemberToRow(m) {\n\treturn {\n\t\tproject_id: m.projectId,\n\t\tuser_id: m.userId,\n\t\trole: m.role,\n\t\tjoined_at: m.joinedAt\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseDefinitionStore.ts\n/** Explicit column list for `definitions` — every field `rowToRecord` consumes. */\nvar DEFINITION_COLUMNS = \"guid, project_id, owner_id, created_by, updated_by, compute_server_id, solve_cache_limit, display_name, description, category, tags, cover_image, status, run_count, next_version_number, live_version_id, draft_version_id, created_at, updated_at, deleted_at\";\n/**\n* Explicit column list for `definition_versions`, minus the `schema` JSONB.\n* `schema` can be hundreds of KB per row, so the list projection leaves it out\n* and `listVersions` returns rows with `schema: undefined`; only `getVersion`\n* (which reads one row, for a caller that needs the schema) pulls it in.\n*/\nvar DEFINITION_VERSION_COLUMNS = \"id, definition_guid, version_number, file_ext, file_key, original_filename, uploaded_by, uploaded_at, change_note, schema_extracted_at\";\n/**\n* `getVersion`'s projection — the list columns plus the `schema` JSONB. Spelled\n* out rather than interpolated: supabase-js infers the row type from the literal\n* column string, and a template literal degrades it to `string`.\n*/\nvar DEFINITION_VERSION_COLUMNS_WITH_SCHEMA = \"id, definition_guid, version_number, file_ext, file_key, original_filename, uploaded_by, uploaded_at, change_note, schema_extracted_at, schema\";\n/**\n* Definition metadata + version store backed by Postgres. Spec §6 versioning:\n* `definitions` carries the parent record and the `live`/`draft` channel\n* pointers; `definition_versions` carries the immutable per-upload rows.\n*\n* Deletion protection (§6) is enforced by FK constraints — `live_version_id`\n* and `draft_version_id` are ON DELETE RESTRICT. Trying to delete a\n* referenced version raises 23503 which `mapPostgrestError` turns into a 409.\n*\n* `incrementSolveCount` uses a SQL function for atomic UPDATE — no\n* read-modify-write race like the local provider has.\n*/\nvar SupabaseDefinitionStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync list(ctx, opts) {\n\t\treturn this.runList(ctx, void 0, opts);\n\t}\n\tasync listByProject(ctx, projectId, opts) {\n\t\treturn this.runList(ctx, { projectId }, opts);\n\t}\n\tasync listPublic(ctx, opts) {\n\t\treturn this.runList(ctx, {\n\t\t\tpublicOnly: true,\n\t\t\torgId: opts?.orgId\n\t\t}, opts);\n\t}\n\tasync runList(ctx, filter, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst direction = opts?.orderDir ?? \"desc\";\n\t\tconst selectColumns = filter?.publicOnly ? `${DEFINITION_COLUMNS}, project:projects!inner(visibility, org_id)` : DEFINITION_COLUMNS;\n\t\tlet query = this.clients.forRequest(ctx).from(\"definitions\").select(selectColumns, { count: \"exact\" }).is(\"deleted_at\", null);\n\t\tif (filter?.publicOnly) {\n\t\t\tquery = query.eq(\"project.visibility\", \"public\");\n\t\t\tif (filter.orgId) query = query.eq(\"project.org_id\", filter.orgId);\n\t\t}\n\t\tif (filter?.projectId) query = query.eq(\"project_id\", filter.projectId);\n\t\tif (opts?.statuses?.length) query = query.in(\"status\", opts.statuses);\n\t\telse {\n\t\t\tconst excluded = [];\n\t\t\tif (!opts?.includePending) excluded.push(\"pending\");\n\t\t\tif (!opts?.includeArchived) excluded.push(\"archived\");\n\t\t\tif (excluded.length) query = query.not(\"status\", \"in\", `(${excluded.join(\",\")})`);\n\t\t}\n\t\tquery = query.order(definitionOrderColumn(opts?.orderBy), { ascending: direction === \"asc\" }).range(range.from, range.to);\n\t\tconst { data, error, count } = await query;\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToRecord);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync get(ctx, guid) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").select(DEFINITION_COLUMNS).eq(\"guid\", guid).is(\"deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToRecord(data) : null;\n\t}\n\tasync create(ctx, record) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definitions\").insert(recordToRow(record));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.created\",\n\t\t\tdefinitionId: record.guid,\n\t\t\tprojectId: record.projectId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync update(ctx, guid, patch) {\n\t\tconst row = patchToRow(patch);\n\t\tif (Object.keys(row).length === 0) return;\n\t\tObject.assign(row, stampUpdate(ctx));\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").update(row).eq(\"guid\", guid).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t}\n\tasync delete(ctx, guid) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definitions\").update(stampSoftDelete(ctx)).eq(\"guid\", guid).is(\"deleted_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByProject(ctx, projectId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definitions\").update(stampSoftDelete(ctx)).eq(\"project_id\", projectId).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tfor (const row of data ?? []) await this.events.emit({\n\t\t\ttype: \"definition.deleted\",\n\t\t\tdefinitionId: row.guid,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync incrementSolveCount(ctx, guid) {\n\t\tconst { error } = await this.clients.forRequest(ctx).rpc(\"increment_run_count\", { g: guid });\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n\tasync reserveNextVersionNumber(ctx, guid) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).rpc(\"reserve_next_version_number\", { g: guid });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (typeof data !== \"number\") throw new ProviderError(`Definition '${guid}' not found`, 404);\n\t\treturn data;\n\t}\n\tasync createVersion(ctx, version) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").insert(versionToRow(version));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.created\",\n\t\t\tversionId: version.id,\n\t\t\tdefinitionId: version.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listVersions(ctx, definitionId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"definition_versions\").select(DEFINITION_VERSION_COLUMNS, { count: \"exact\" }).eq(\"definition_guid\", definitionId).order(\"version_number\", { ascending: false }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToVersion);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getVersion(ctx, versionId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"definition_versions\").select(DEFINITION_VERSION_COLUMNS_WITH_SCHEMA).eq(\"id\", versionId).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToVersion(data) : null;\n\t}\n\tasync setVersionSchema(ctx, versionId, schema) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").update({\n\t\t\tschema,\n\t\t\tschema_extracted_at: (/* @__PURE__ */ new Date()).toISOString()\n\t\t}).eq(\"id\", versionId);\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n\tasync deleteVersion(ctx, versionId) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"definition_versions\").delete().eq(\"id\", versionId);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition_version.deleted\",\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync setLiveVersion(ctx, definitionId, versionId) {\n\t\tawait this.repointChannel(ctx, definitionId, versionId, \"live_version_id\");\n\t\tawait this.events.emit({\n\t\t\ttype: \"definition.published\",\n\t\t\tdefinitionId,\n\t\t\tversionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync setDraftVersion(ctx, definitionId, versionId) {\n\t\tawait this.repointChannel(ctx, definitionId, versionId, \"draft_version_id\");\n\t}\n\tasync attachInitialVersion(ctx, definitionId, versionId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { data: version, error: vError } = await client.from(\"definition_versions\").select(\"id, definition_guid\").eq(\"id\", versionId).maybeSingle();\n\t\tif (vError) throw mapPostgrestError(vError);\n\t\tif (!version || version.definition_guid !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tconst row = {\n\t\t\tlive_version_id: versionId,\n\t\t\tdraft_version_id: versionId,\n\t\t\tstatus: \"draft\",\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { data, error } = await client.from(\"definitions\").update(row).eq(\"guid\", definitionId).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t}\n\tasync repointChannel(ctx, definitionId, versionId, column) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { data: version, error: vError } = await client.from(\"definition_versions\").select(\"id, definition_guid\").eq(\"id\", versionId).maybeSingle();\n\t\tif (vError) throw mapPostgrestError(vError);\n\t\tif (!version || version.definition_guid !== definitionId) throw new ProviderError(`Version '${versionId}' not found for this definition`, 404);\n\t\tconst row = {\n\t\t\t[column]: versionId,\n\t\t\t...stampUpdate(ctx)\n\t\t};\n\t\tconst { data, error } = await client.from(\"definitions\").update(row).eq(\"guid\", definitionId).is(\"deleted_at\", null).select(\"guid\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data || data.length === 0) throw new ProviderError(`Definition '${definitionId}' not found`, 404);\n\t}\n};\nfunction rowToRecord(row) {\n\treturn {\n\t\tguid: row.guid,\n\t\tprojectId: row.project_id,\n\t\townerId: row.owner_id,\n\t\tcreatedBy: row.created_by ?? row.owner_id,\n\t\tupdatedBy: row.updated_by ?? row.owner_id,\n\t\tliveVersionId: row.live_version_id,\n\t\tdraftVersionId: row.draft_version_id,\n\t\tcomputeServerId: row.compute_server_id ?? void 0,\n\t\tsolveCacheLimit: row.solve_cache_limit == null ? void 0 : typeof row.solve_cache_limit === \"string\" ? Number(row.solve_cache_limit) : row.solve_cache_limit,\n\t\tdisplayName: row.display_name,\n\t\tdescription: row.description ?? void 0,\n\t\tcategory: row.category ?? void 0,\n\t\ttags: row.tags ?? void 0,\n\t\tcoverImage: row.cover_image ?? void 0,\n\t\tstatus: row.status,\n\t\tsolveCount: typeof row.run_count === \"string\" ? Number(row.run_count) : row.run_count,\n\t\tnextVersionNumber: typeof row.next_version_number === \"string\" ? Number(row.next_version_number) : row.next_version_number,\n\t\tcreatedAt: row.created_at,\n\t\tupdatedAt: row.updated_at,\n\t\tdeletedAt: row.deleted_at ?? null\n\t};\n}\nfunction recordToRow(r) {\n\tconst row = {\n\t\tguid: r.guid,\n\t\tproject_id: r.projectId,\n\t\towner_id: r.ownerId,\n\t\tcreated_by: r.createdBy,\n\t\tupdated_by: r.updatedBy,\n\t\tlive_version_id: r.liveVersionId,\n\t\tdraft_version_id: r.draftVersionId,\n\t\tcompute_server_id: r.computeServerId ?? null,\n\t\tsolve_cache_limit: r.solveCacheLimit ?? null,\n\t\tdisplay_name: r.displayName,\n\t\tdescription: r.description ?? null,\n\t\tcategory: r.category ?? null,\n\t\tcover_image: r.coverImage ?? null,\n\t\tstatus: r.status,\n\t\trun_count: r.solveCount,\n\t\tnext_version_number: r.nextVersionNumber,\n\t\tcreated_at: r.createdAt,\n\t\tupdated_at: r.updatedAt,\n\t\tdeleted_at: r.deletedAt ?? null\n\t};\n\tif (r.tags !== void 0) row.tags = r.tags;\n\treturn row;\n}\nfunction patchToRow(patch) {\n\tconst row = {};\n\tif (patch.displayName !== void 0) row.display_name = patch.displayName;\n\tif (patch.description !== void 0) row.description = patch.description;\n\tif (patch.category !== void 0) row.category = patch.category;\n\tif (patch.tags !== void 0) row.tags = patch.tags;\n\tif (patch.coverImage !== void 0) row.cover_image = patch.coverImage;\n\tif (patch.projectId !== void 0) row.project_id = patch.projectId;\n\tif (patch.computeServerId !== void 0) row.compute_server_id = patch.computeServerId;\n\tif (patch.solveCacheLimit !== void 0) row.solve_cache_limit = patch.solveCacheLimit;\n\tif (patch.status !== void 0) row.status = patch.status;\n\tif (patch.ownerId !== void 0) row.owner_id = patch.ownerId;\n\treturn row;\n}\nfunction rowToVersion(row) {\n\treturn {\n\t\tid: row.id,\n\t\tdefinitionId: row.definition_guid,\n\t\tversionNumber: row.version_number,\n\t\tfileExt: row.file_ext,\n\t\tfileKey: row.file_key,\n\t\toriginalFilename: row.original_filename ?? void 0,\n\t\tuploadedBy: row.uploaded_by,\n\t\tuploadedAt: row.uploaded_at,\n\t\tchangeNote: row.change_note ?? void 0,\n\t\tschema: row.schema ?? void 0,\n\t\tschemaExtractedAt: row.schema_extracted_at ?? void 0\n\t};\n}\nfunction versionToRow(v) {\n\tconst row = {\n\t\tid: v.id,\n\t\tdefinition_guid: v.definitionId,\n\t\tversion_number: v.versionNumber,\n\t\tfile_ext: v.fileExt,\n\t\tfile_key: v.fileKey,\n\t\toriginal_filename: v.originalFilename ?? null,\n\t\tuploaded_by: v.uploadedBy,\n\t\tuploaded_at: v.uploadedAt\n\t};\n\tif (v.changeNote !== void 0) row.change_note = v.changeNote;\n\tif (v.schema !== void 0) row.schema = v.schema;\n\tif (v.schemaExtractedAt !== void 0) row.schema_extracted_at = v.schemaExtractedAt;\n\treturn row;\n}\nfunction definitionOrderColumn(orderBy) {\n\tswitch (orderBy) {\n\t\tcase \"name\": return \"display_name\";\n\t\tcase \"solveCount\": return \"run_count\";\n\t\tcase \"updatedAt\": return \"updated_at\";\n\t\tdefault: return \"created_at\";\n\t}\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseInviteStore.ts\n/** Explicit column list for `invites` — every field `rowToInvite` consumes. */\nvar INVITE_COLUMNS = \"id, token_hash, email, org_id, org_role, org_permissions, invited_by, created_at, expires_at, accepted_at, accepted_by_user_id\";\n/**\n* Invite store. `getByTokenHash` routes through a SECURITY DEFINER RPC so\n* unauthenticated / just-signed-up callers can validate and consume the\n* invite without RLS blocking them. The raw token is hashed at the route\n* layer (the selva app's `invites/token.server.ts`); the store sees only the\n* HMAC digest. Other operations (create, list, revoke) go through the normal\n* REST API with RLS enforcing `manage_org_members`.\n*/\nvar SupabaseInviteStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync create(ctx, invite) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"invites\").insert(inviteToRow(invite));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.created\",\n\t\t\tinviteId: invite.id,\n\t\t\torgId: invite.orgId,\n\t\t\temail: invite.email,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync getByTokenHash(ctx, tokenHash) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).rpc(\"get_invite_by_token_hash\", { h: tokenHash });\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst row = Array.isArray(data) ? data[0] : data;\n\t\treturn row ? rowToInvite(row) : null;\n\t}\n\tasync listByOrg(ctx, orgId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"invites\").select(INVITE_COLUMNS, { count: \"exact\" }).eq(\"org_id\", orgId).order(\"created_at\", { ascending: (opts?.orderDir ?? \"desc\") === \"asc\" }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToInvite);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync markAccepted(ctx, id, userId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"invites\").update({\n\t\t\taccepted_at: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\taccepted_by_user_id: userId\n\t\t}).eq(\"id\", id).is(\"accepted_at\", null).select(\"org_id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst row = data?.[0];\n\t\tif (!row) return;\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.accepted\",\n\t\t\tinviteId: id,\n\t\t\torgId: row.org_id,\n\t\t\tuserId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"invites\").delete().eq(\"id\", id).is(\"accepted_at\", null).select(\"org_id\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst row = data?.[0];\n\t\tif (!row) return;\n\t\tawait this.events.emit({\n\t\t\ttype: \"invite.revoked\",\n\t\t\tinviteId: id,\n\t\t\torgId: row.org_id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync deleteByOrg(ctx, orgId) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"invites\").delete().eq(\"org_id\", orgId);\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n};\nfunction rowToInvite(row) {\n\treturn {\n\t\tid: row.id,\n\t\ttokenHash: row.token_hash,\n\t\temail: row.email,\n\t\torgId: row.org_id,\n\t\torgRole: row.org_role,\n\t\torgPermissions: row.org_permissions,\n\t\tinvitedBy: row.invited_by,\n\t\tcreatedAt: row.created_at,\n\t\texpiresAt: row.expires_at,\n\t\tacceptedAt: row.accepted_at ?? void 0,\n\t\tacceptedByUserId: row.accepted_by_user_id ?? void 0\n\t};\n}\nfunction inviteToRow(i) {\n\treturn {\n\t\tid: i.id,\n\t\ttoken_hash: i.tokenHash,\n\t\temail: i.email,\n\t\torg_id: i.orgId,\n\t\torg_role: i.orgRole,\n\t\torg_permissions: i.orgPermissions,\n\t\tinvited_by: i.invitedBy,\n\t\tcreated_at: i.createdAt,\n\t\texpires_at: i.expiresAt,\n\t\taccepted_at: i.acceptedAt ?? null,\n\t\taccepted_by_user_id: i.acceptedByUserId ?? null\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseComputeServerStore.ts\n/**\n* Explicit column list for `compute_servers`, minus the encrypted `api_key`.\n* Reading a key costs a decrypt per row, so the default projection leaves it\n* out entirely and `getConfig` reports only whether one is set.\n*/\nvar SERVER_COLUMNS = \"id, scope, owner_org_id, shared_with_all, label, server_url, timeout_ms, retry_count, has_api_key\";\n/**\n* Projection for the `includeApiKeys` path — the base columns plus the secret.\n* Spelled out rather than interpolated: supabase-js infers the row type from\n* the literal column string, and a template literal degrades it to `string`.\n*/\nvar SERVER_COLUMNS_WITH_KEY = \"id, scope, owner_org_id, shared_with_all, label, server_url, timeout_ms, retry_count, has_api_key, api_key\";\n/** Columns from the share join table read in `getConfig`. */\nvar SHARE_COLUMNS = \"server_id, org_id\";\n/** Columns from the per-org default table read in `getConfig`. */\nvar ORG_DEFAULT_COLUMNS = \"org_id, default_server_id\";\n/**\n* Compute-server config backed by three tables:\n* - `compute_servers`: one row per server. `scope = 'platform' | 'org'`.\n* Platform rows carry a `shared_with_all` flag + `compute_server_shares`\n* allowlist; org rows carry `owner_org_id`.\n* - `compute_server_shares`: many-to-many for platform servers shared\n* with specific orgs (when `shared_with_all = false`).\n* - `compute_server_org_defaults`: per-org `orgDefaults[orgId]` choice.\n* - `compute_server_platform_default`: single-row sentinel for the global\n* `defaultServerId`.\n*\n* `getConfig` returns the full doc; the visibility predicate is applied by\n* callers (resolver, page loaders) using helpers in `@selvajs/platform`.\n*/\nvar SupabaseComputeServerStore = class {\n\tclients;\n\tsecretKey;\n\t/**\n\t* `secretKey` (from `SELVA_AT_REST_KEY`) encrypts `api_key` before it is\n\t* written to `compute_servers.api_key` and decrypts it on read, so the\n\t* Rhino.Compute credential never sits in the DB as plaintext — matching the\n\t* local provider's on-disk envelope. Optional only for legacy construction\n\t* paths (tests that never touch apiKeys); a store built without a key throws\n\t* if asked to write or read a secret. Wire it via `SupabaseDataProvider`.\n\t*\n\t* `logger` is optional and defaults to `NoopLogger` — this is library code, so\n\t* it stays silent unless the app wires a real logger in.\n\t*/\n\tlogger;\n\tconstructor(clients, secretKey, logger) {\n\t\tthis.clients = clients;\n\t\tthis.secretKey = secretKey;\n\t\tthis.logger = logger ?? new NoopLogger();\n\t}\n\tasync getConfig(ctx, opts = {}) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst withKeys = opts.includeApiKeys === true;\n\t\tconst [serversRes, sharesRes, orgDefRes, platDefRes] = await Promise.all([\n\t\t\twithKeys ? client.from(\"compute_servers\").select(SERVER_COLUMNS_WITH_KEY) : client.from(\"compute_servers\").select(SERVER_COLUMNS),\n\t\t\tclient.from(\"compute_server_shares\").select(SHARE_COLUMNS),\n\t\t\tclient.from(\"compute_server_org_defaults\").select(ORG_DEFAULT_COLUMNS),\n\t\t\tclient.from(\"compute_server_platform_default\").select(\"default_server_id\").eq(\"singleton\", true).maybeSingle()\n\t\t]);\n\t\tif (serversRes.error) throw mapPostgrestError(serversRes.error);\n\t\tif (sharesRes.error) throw mapPostgrestError(sharesRes.error);\n\t\tif (orgDefRes.error) throw mapPostgrestError(orgDefRes.error);\n\t\tif (platDefRes.error) throw mapPostgrestError(platDefRes.error);\n\t\tconst sharedByServer = /* @__PURE__ */ new Map();\n\t\tfor (const row of sharesRes.data ?? []) {\n\t\t\tconst list = sharedByServer.get(row.server_id) ?? [];\n\t\t\tlist.push(row.org_id);\n\t\t\tsharedByServer.set(row.server_id, list);\n\t\t}\n\t\tconst servers = (serversRes.data ?? []).map((row) => rowToServer(withKeys ? this.decryptRowApiKey(row) : row, sharedByServer, withKeys));\n\t\tconst orgDefaults = {};\n\t\tfor (const row of orgDefRes.data ?? []) if (row.default_server_id) orgDefaults[row.org_id] = row.default_server_id;\n\t\treturn {\n\t\t\tservers,\n\t\t\tdefaultServerId: platDefRes.data?.default_server_id ?? void 0,\n\t\t\torgDefaults\n\t\t};\n\t}\n\t/**\n\t* One server's decrypted key — the solve path's entry point, replacing a\n\t* whole-table read + N decrypts with a single-row lookup and one decrypt.\n\t* Tolerant in the same way `decryptRowApiKey` is: an unknown id or an\n\t* unreadable ciphertext yields `undefined` rather than throwing.\n\t*/\n\tasync getServerApiKey(ctx, serverId) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"compute_servers\").select(\"id, label, api_key\").eq(\"id\", serverId).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\tif (!data) return void 0;\n\t\treturn this.decryptRowApiKey(data).api_key ?? void 0;\n\t}\n\tasync savePlatformServers(ctx, servers, defaultServerId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst platformOnly = servers.filter(isPlatformServer);\n\t\tconst { error: delErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"platform\");\n\t\tif (delErr) throw mapPostgrestError(delErr);\n\t\tif (platformOnly.length > 0) {\n\t\t\tconst { error: insErr } = await client.from(\"compute_servers\").insert(platformOnly.map((s) => serverToRow(this.encryptServerApiKey(s))));\n\t\t\tif (insErr) throw mapPostgrestError(insErr);\n\t\t\tconst shareRows = platformOnly.flatMap((s) => s.sharedWith === \"all\" ? [] : s.sharedWith.map((orgId) => ({\n\t\t\t\tserver_id: s.id,\n\t\t\t\torg_id: orgId\n\t\t\t})));\n\t\t\tif (shareRows.length > 0) {\n\t\t\t\tconst { error: shErr } = await client.from(\"compute_server_shares\").insert(shareRows);\n\t\t\t\tif (shErr) throw mapPostgrestError(shErr);\n\t\t\t}\n\t\t}\n\t\tconst { error: defErr } = await client.from(\"compute_server_platform_default\").update({ default_server_id: defaultServerId ?? null }).eq(\"singleton\", true);\n\t\tif (defErr) throw mapPostgrestError(defErr);\n\t}\n\tasync saveOrgServers(ctx, orgId, servers, defaultServerId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst orgOnly = servers.filter(isOrgServer).map((s) => ({\n\t\t\t...s,\n\t\t\townerOrgId: orgId\n\t\t}));\n\t\tconst { error: delErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", orgId);\n\t\tif (delErr) throw mapPostgrestError(delErr);\n\t\tif (orgOnly.length > 0) {\n\t\t\tconst { error: insErr } = await client.from(\"compute_servers\").insert(orgOnly.map((s) => serverToRow(this.encryptServerApiKey(s))));\n\t\t\tif (insErr) throw mapPostgrestError(insErr);\n\t\t}\n\t\tif (defaultServerId === null) {\n\t\t\tconst { error } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n\t\t\tif (error) throw mapPostgrestError(error);\n\t\t} else if (typeof defaultServerId === \"string\") {\n\t\t\tconst { error } = await client.from(\"compute_server_org_defaults\").upsert({\n\t\t\t\torg_id: orgId,\n\t\t\t\tdefault_server_id: defaultServerId\n\t\t\t});\n\t\t\tif (error) throw mapPostgrestError(error);\n\t\t}\n\t}\n\tasync setOrgDefault(ctx, orgId, serverId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tif (serverId === null) {\n\t\t\tconst { error } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n\t\t\tif (error) throw mapPostgrestError(error);\n\t\t\treturn;\n\t\t}\n\t\tconst { error } = await client.from(\"compute_server_org_defaults\").upsert({\n\t\t\torg_id: orgId,\n\t\t\tdefault_server_id: serverId\n\t\t});\n\t\tif (error) throw mapPostgrestError(error);\n\t}\n\tasync deleteByOrg(ctx, orgId) {\n\t\tconst client = this.clients.forRequest(ctx);\n\t\tconst { error: defErr } = await client.from(\"compute_server_org_defaults\").delete().eq(\"org_id\", orgId);\n\t\tif (defErr) throw mapPostgrestError(defErr);\n\t\tconst { error: srvErr } = await client.from(\"compute_servers\").delete().eq(\"scope\", \"org\").eq(\"owner_org_id\", orgId);\n\t\tif (srvErr) throw mapPostgrestError(srvErr);\n\t\tconst { error: shErr } = await client.from(\"compute_server_shares\").delete().eq(\"org_id\", orgId);\n\t\tif (shErr) throw mapPostgrestError(shErr);\n\t}\n\t/**\n\t* Encrypt a server's `apiKey` before it is written to the DB. Idempotent —\n\t* an already-enveloped value is passed through, so a round-trip (read →\n\t* save) never double-encrypts. Throws if the store was built without a key\n\t* but a real secret needs writing, so we never silently persist plaintext.\n\t*/\n\tencryptServerApiKey(s) {\n\t\tif (!s.apiKey) return s;\n\t\tif (isEncryptedSecret(s.apiKey)) return s;\n\t\tif (!this.secretKey) throw new Error(\"Cannot store a compute-server apiKey: SELVA_AT_REST_KEY is not configured. Set it so secrets are encrypted at rest.\");\n\t\treturn {\n\t\t\t...s,\n\t\t\tapiKey: encryptSecret(s.apiKey, this.secretKey)\n\t\t};\n\t}\n\t/**\n\t* Decrypt a row's `api_key` on read. Tolerant, mirroring the local provider:\n\t* a row whose ciphertext can't be authenticated under the current key is\n\t* returned with `api_key: null` and a warning logged, so the page keeps\n\t* rendering (solves against that server fail later at Rhino.Compute). A\n\t* plaintext value that predates encryption is passed through unchanged and\n\t* surfaced by `verifySecrets()` — never silently dropped.\n\t*/\n\tdecryptRowApiKey(row) {\n\t\tif (!row.api_key) return row;\n\t\tif (!isEncryptedSecret(row.api_key)) {\n\t\t\tthis.logger.warn(\"Compute server row has a plaintext api_key; re-save it via /admin/compute so it is stored encrypted\", {\n\t\t\t\tcomponent: \"selva\",\n\t\t\t\tserverLabel: row.label,\n\t\t\t\tserverId: row.id\n\t\t\t});\n\t\t\treturn row;\n\t\t}\n\t\tif (!this.secretKey) {\n\t\t\tthis.logger.warn(\"Cannot decrypt api_key: SELVA_AT_REST_KEY is not configured. Returning without a key; solves will fail\", {\n\t\t\t\tcomponent: \"selva\",\n\t\t\t\tserverLabel: row.label,\n\t\t\t\tserverId: row.id\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...row,\n\t\t\t\tapi_key: null\n\t\t\t};\n\t\t}\n\t\ttry {\n\t\t\treturn {\n\t\t\t\t...row,\n\t\t\t\tapi_key: decryptSecret(row.api_key, this.secretKey)\n\t\t\t};\n\t\t} catch (cause) {\n\t\t\tthis.logger.warn(\"Could not decrypt api_key: the stored ciphertext does not match the current SELVA_AT_REST_KEY. This server is returned without an apiKey and solves against it will fail. Re-enter the key via /admin/compute, or restore the original SELVA_AT_REST_KEY\", {\n\t\t\t\tcomponent: \"selva\",\n\t\t\t\tserverLabel: row.label,\n\t\t\t\tserverId: row.id,\n\t\t\t\terr: cause instanceof Error ? cause.stack ?? cause.message : String(cause)\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...row,\n\t\t\t\tapi_key: null\n\t\t\t};\n\t\t}\n\t}\n\t/**\n\t* Boot-time integrity check over every `compute_servers` row. Uses the\n\t* service client (no request context at boot) to read raw ciphertext, then\n\t* attempts to decrypt each `api_key`. Does NOT throw — returns a structured\n\t* report for boot health to drive `/api/health`.\n\t*/\n\tasync verifySecrets() {\n\t\tconst { data, error } = await this.clients.serviceClient.from(\"compute_servers\").select(\"id, label, api_key\");\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst failures = [];\n\t\tlet plaintextFound = false;\n\t\tfor (const row of data ?? []) {\n\t\t\tconst apiKey = row.api_key;\n\t\t\tconst id = row.id;\n\t\t\tconst label = row.label;\n\t\t\tif (!apiKey) continue;\n\t\t\tif (!isEncryptedSecret(apiKey)) {\n\t\t\t\tplaintextFound = true;\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: id,\n\t\t\t\t\tserverLabel: label,\n\t\t\t\t\treason: \"plaintext_on_disk\"\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!this.secretKey) {\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: id,\n\t\t\t\t\tserverLabel: label,\n\t\t\t\t\treason: \"key_mismatch\",\n\t\t\t\t\tcause: \"SELVA_AT_REST_KEY is not configured\"\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tdecryptSecret(apiKey, this.secretKey);\n\t\t\t} catch (cause) {\n\t\t\t\tfailures.push({\n\t\t\t\t\tserverId: id,\n\t\t\t\t\tserverLabel: label,\n\t\t\t\t\treason: \"key_mismatch\",\n\t\t\t\t\tcause: cause instanceof Error ? cause.message : String(cause)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tok: failures.length === 0,\n\t\t\tfailures,\n\t\t\tplaintextFound\n\t\t};\n\t}\n};\n/**\n* `withKey` mirrors the projection the row was read with. It gates `apiKey`\n* explicitly rather than trusting the row's shape, so a key can never ride along\n* on a read that didn't ask for one.\n*/\nfunction rowToServer(row, sharedByServer, withKey) {\n\tconst common = {\n\t\tid: row.id,\n\t\tlabel: row.label,\n\t\tserverUrl: row.server_url,\n\t\tapiKey: withKey ? row.api_key ?? void 0 : void 0,\n\t\thasApiKey: row.has_api_key ?? !!row.api_key,\n\t\ttimeoutMs: row.timeout_ms ?? void 0,\n\t\tretryCount: row.retry_count ?? void 0\n\t};\n\tif (row.scope === \"platform\") return {\n\t\t...common,\n\t\tscope: \"platform\",\n\t\tsharedWith: row.shared_with_all ? \"all\" : sharedByServer.get(row.id) ?? []\n\t};\n\tif (!row.owner_org_id) throw new Error(`compute_servers row ${row.id} has scope='org' but null owner_org_id`);\n\treturn {\n\t\t...common,\n\t\tscope: \"org\",\n\t\townerOrgId: row.owner_org_id\n\t};\n}\nfunction serverToRow(s) {\n\tconst base = {\n\t\tid: s.id,\n\t\tlabel: s.label,\n\t\tserver_url: s.serverUrl,\n\t\tapi_key: s.apiKey ?? null,\n\t\ttimeout_ms: s.timeoutMs ?? null,\n\t\tretry_count: s.retryCount ?? null\n\t};\n\tif (isPlatformServer(s)) return {\n\t\t...base,\n\t\tscope: \"platform\",\n\t\towner_org_id: null,\n\t\tshared_with_all: s.sharedWith === \"all\"\n\t};\n\treturn {\n\t\t...base,\n\t\tscope: \"org\",\n\t\towner_org_id: s.ownerOrgId,\n\t\tshared_with_all: false\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseShareLinkStore.ts\n/** Explicit column list for `share_links` — every field `rowToLink` consumes. */\nvar SHARE_LINK_COLUMNS = \"id, definition_guid, channel, token_hash, name, created_by, created_at, expires_at, revoked_at, allow_solve, max_solves, solve_count\";\n/**\n* Spec §7 — share-link store backed by Postgres.\n*\n* Token resolution (`getByTokenHash`) and atomic increment use the\n* SECURITY DEFINER `try_increment_share_link_solve_count` RPC + service-\n* role client to bypass RLS — the token IS the credential, not the\n* authenticated user identity.\n*\n* `tryIncrementSolveCount` returns a single number on success or null when\n* the cap is hit. The RPC enforces \"increment iff under cap and live\" in\n* one statement, so even concurrent solves can't overshoot the cap.\n*/\nvar SupabaseShareLinkStore = class {\n\tclients;\n\tevents;\n\tconstructor(clients, events = new NoopEventSink()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t}\n\tasync create(ctx, link) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"share_links\").insert(linkToRow(link));\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.minted\",\n\t\t\tlinkId: link.id,\n\t\t\tdefinitionId: link.definitionId,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync listByDefinition(ctx, definitionId, opts) {\n\t\tconst range = toRange(opts);\n\t\tconst { data, error, count } = await this.clients.forRequest(ctx).from(\"share_links\").select(SHARE_LINK_COLUMNS, { count: \"exact\" }).eq(\"definition_guid\", definitionId).is(\"revoked_at\", null).order(\"created_at\", { ascending: false }).range(range.from, range.to);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tconst items = (data ?? []).map(rowToLink);\n\t\treturn {\n\t\t\titems,\n\t\t\tnextCursor: nextCursorFromRange(range, items.length, count)\n\t\t};\n\t}\n\tasync getById(ctx, id) {\n\t\tconst { data, error } = await this.clients.forRequest(ctx).from(\"share_links\").select(SHARE_LINK_COLUMNS).eq(\"id\", id).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToLink(data) : null;\n\t}\n\tasync getByTokenHash(_ctx, tokenHash) {\n\t\tconst { data, error } = await this.clients.serviceClient.from(\"share_links\").select(`${SHARE_LINK_COLUMNS}, definitions!inner(deleted_at)`).eq(\"token_hash\", tokenHash).is(\"revoked_at\", null).is(\"definitions.deleted_at\", null).maybeSingle();\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn data ? rowToLink(data) : null;\n\t}\n\tasync revoke(ctx, id) {\n\t\tconst { error } = await this.clients.forRequest(ctx).from(\"share_links\").update({ revoked_at: (/* @__PURE__ */ new Date()).toISOString() }).eq(\"id\", id).is(\"revoked_at\", null);\n\t\tif (error) throw mapPostgrestError(error);\n\t\tawait this.events.emit({\n\t\t\ttype: \"share_link.revoked\",\n\t\t\tlinkId: id,\n\t\t\tactorId: actorFrom(ctx)\n\t\t});\n\t}\n\tasync tryIncrementSolveCount(_ctx, id) {\n\t\tconst { data, error } = await this.clients.serviceClient.rpc(\"try_increment_share_link_solve_count\", { link_id: id });\n\t\tif (error) throw mapPostgrestError(error);\n\t\treturn typeof data === \"number\" ? data : null;\n\t}\n};\nfunction rowToLink(row) {\n\treturn {\n\t\tid: row.id,\n\t\tdefinitionId: row.definition_guid,\n\t\tchannel: row.channel,\n\t\ttokenHash: row.token_hash,\n\t\tname: row.name ?? void 0,\n\t\tcreatedBy: row.created_by,\n\t\tcreatedAt: row.created_at,\n\t\texpiresAt: row.expires_at,\n\t\trevokedAt: row.revoked_at,\n\t\tallowSolve: row.allow_solve,\n\t\tmaxSolves: row.max_solves,\n\t\tsolveCount: row.solve_count\n\t};\n}\nfunction linkToRow(l) {\n\treturn {\n\t\tid: l.id,\n\t\tdefinition_guid: l.definitionId,\n\t\tchannel: l.channel,\n\t\ttoken_hash: l.tokenHash,\n\t\tname: l.name ?? null,\n\t\tcreated_by: l.createdBy,\n\t\tcreated_at: l.createdAt,\n\t\texpires_at: l.expiresAt ?? null,\n\t\trevoked_at: l.revokedAt ?? null,\n\t\tallow_solve: l.allowSolve,\n\t\tmax_solves: l.maxSolves ?? null,\n\t\tsolve_count: l.solveCount\n\t};\n}\n//#endregion\n//#region ../providers/supabase/src/data/migrationHead.ts\n/**\n* The migration head this build of the provider expects the database to be at\n* — the timestamp prefix of the newest file in `supabase/migrations/`.\n*\n* Compared against `selva.migration_head()` (a SECURITY DEFINER function over\n* `supabase_migrations.schema_migrations`) in\n* `SupabaseDataProvider.verifySchemaVersion` to drive the boot-time app↔DB\n* schema handshake (audit O3).\n*\n* MUST be bumped whenever a migration is added — `migration-head.test.ts`\n* asserts this constant matches the migrations directory, so CI catches drift.\n*/\nvar EXPECTED_MIGRATION_HEAD = \"20260717120000\";\n//#endregion\n//#region ../providers/supabase/src/data/client.ts\n/** Default schema every engine store targets. */\nvar DEFAULT_SCHEMA = \"selva\";\nfunction buildClientBundle(opts) {\n\tconst serviceBySchema = /* @__PURE__ */ new Map();\n\tconst anonBySchema = /* @__PURE__ */ new Map();\n\tfunction serviceFor(schema) {\n\t\tlet client = serviceBySchema.get(schema);\n\t\tif (!client) {\n\t\t\tclient = createClient(opts.supabaseUrl, opts.serviceRoleKey, {\n\t\t\t\tdb: { schema },\n\t\t\t\tauth: {\n\t\t\t\t\tpersistSession: false,\n\t\t\t\t\tautoRefreshToken: false\n\t\t\t\t}\n\t\t\t});\n\t\t\tserviceBySchema.set(schema, client);\n\t\t}\n\t\treturn client;\n\t}\n\tfunction anonFor(schema) {\n\t\tlet client = anonBySchema.get(schema);\n\t\tif (!client) {\n\t\t\tclient = createClient(opts.supabaseUrl, opts.anonKey, {\n\t\t\t\tdb: { schema },\n\t\t\t\tauth: {\n\t\t\t\t\tpersistSession: false,\n\t\t\t\t\tautoRefreshToken: false\n\t\t\t\t}\n\t\t\t});\n\t\t\tanonBySchema.set(schema, client);\n\t\t}\n\t\treturn client;\n\t}\n\tconst serviceClient = serviceFor(DEFAULT_SCHEMA);\n\tconst perRequestCache = /* @__PURE__ */ new WeakMap();\n\treturn {\n\t\tserviceClient,\n\t\tforRequest(ctx, forOpts) {\n\t\t\tconst schema = forOpts?.schema ?? \"selva\";\n\t\t\tif (ctx.system) return serviceFor(schema);\n\t\t\tconst token = extractSessionToken(ctx.adapterContext);\n\t\t\tif (!token) return anonFor(schema);\n\t\t\tlet bySchema = perRequestCache.get(ctx);\n\t\t\tif (!bySchema) {\n\t\t\t\tbySchema = /* @__PURE__ */ new Map();\n\t\t\t\tperRequestCache.set(ctx, bySchema);\n\t\t\t}\n\t\t\tconst cached = bySchema.get(schema);\n\t\t\tif (cached) return cached;\n\t\t\tconst client = createClient(opts.supabaseUrl, opts.anonKey, {\n\t\t\t\tdb: { schema },\n\t\t\t\tauth: {\n\t\t\t\t\tpersistSession: false,\n\t\t\t\t\tautoRefreshToken: false\n\t\t\t\t},\n\t\t\t\tglobal: { headers: { Authorization: `Bearer ${token}` } }\n\t\t\t});\n\t\t\tbySchema.set(schema, client);\n\t\t\treturn client;\n\t\t}\n\t};\n}\n/**\n* Build a `ClientBundle` straight from environment variables — the\n* `SUPABASE_URL` / `SUPABASE_ANON_KEY` / `SUPABASE_SERVICE_ROLE_KEY` triple,\n* nothing else. Deliberately does NOT require `SELVA_AT_REST_KEY`: that key\n* only matters for compute-server secret encryption, which a consuming app\n* building its own `'public'` stores never touches. `SupabaseDataProvider.fromEnv`\n* layers the at-rest-key requirement on top of this.\n*/\nfunction clientBundleFromEnv(env) {\n\tconst supabaseUrl = env.SUPABASE_URL;\n\tconst anonKey = env.SUPABASE_ANON_KEY;\n\tconst serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n\tif (!supabaseUrl) throw new Error(\"Missing required env var: SUPABASE_URL\");\n\tif (!anonKey) throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n\tif (!serviceRoleKey) throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n\treturn buildClientBundle({\n\t\tsupabaseUrl,\n\t\tanonKey,\n\t\tserviceRoleKey\n\t});\n}\nfunction extractSessionToken(adapterContext) {\n\tif (!adapterContext || typeof adapterContext !== \"object\") return void 0;\n\tconst maybe = adapterContext.sessionToken;\n\treturn typeof maybe === \"string\" && maybe.length > 0 ? maybe : void 0;\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseEventSink.ts\n/**\n* Persists every domain event to `public.audit_events`. Writes use the\n* service-role client so RLS does not gate the audit trail — the sink runs\n* as a system process attached to whichever store emitted the event.\n*\n* Per the `IEventSink` contract, `emit` MUST NOT throw. The user-facing\n* mutation has already succeeded by the time we're here; a failed audit\n* write is logged and swallowed so the response still completes.\n*/\nvar SupabaseEventSink = class {\n\tclients;\n\tlogger;\n\tconstructor(clients, opts = {}) {\n\t\tthis.clients = clients;\n\t\tthis.logger = opts.logger ?? new NoopLogger();\n\t}\n\tasync emit(event) {\n\t\ttry {\n\t\t\tconst { error } = await this.clients.serviceClient.from(\"audit_events\").insert({\n\t\t\t\ttype: event.type,\n\t\t\t\tactor_id: event.actorId,\n\t\t\t\tevent_version: 1,\n\t\t\t\tdata: event\n\t\t\t});\n\t\t\tif (error) this.logger.error(\"Audit event insert failed\", {\n\t\t\t\tcomponent: \"SupabaseEventSink\",\n\t\t\t\teventType: event.type,\n\t\t\t\tactorId: event.actorId,\n\t\t\t\terr: error.message\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tthis.logger.error(\"Unexpected error writing audit event\", {\n\t\t\t\tcomponent: \"SupabaseEventSink\",\n\t\t\t\teventType: event.type,\n\t\t\t\tactorId: event.actorId,\n\t\t\t\terr: err instanceof Error ? err.stack ?? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseSolveMetricSink.ts\nvar DEFAULT_MAX_BATCH_SIZE = 100;\nvar DEFAULT_FLUSH_INTERVAL_MS = 2e3;\nvar DEFAULT_MAX_BUFFER_SIZE = 1e4;\n/**\n* Persists solves' timings to `selva.solve_metrics`. Writes use the\n* service-role client so RLS does not gate the telemetry — the sink runs as a\n* system process attached to the compute route, not the requesting user.\n*\n* Rows are buffered and written in batches: slider scrubbing produces solves\n* far faster than they are worth individual round-trips, and this Postgres also\n* serves auth. A batch goes out when the buffer reaches `maxBatchSize` or when\n* `flushIntervalMs` elapses with anything buffered, whichever comes first.\n*\n* Per the `ISolveMetricSink` contract, `record` MUST NOT throw. It sits on the\n* hot path of every solve and the response has already been produced by the\n* time we're here, so it only buffers; a failed flush is logged and swallowed.\n* Buffering means metrics are lost on an unclean shutdown — call `close()` to\n* drain deliberately.\n*/\nvar SupabaseSolveMetricSink = class {\n\tclients;\n\tbuffer = [];\n\ttimer = null;\n\tinFlight = Promise.resolve();\n\tclosed = false;\n\tmaxBatchSize;\n\tflushIntervalMs;\n\tmaxBufferSize;\n\tlogger;\n\tconstructor(clients, opts = {}) {\n\t\tthis.clients = clients;\n\t\tthis.maxBatchSize = opts.maxBatchSize ?? DEFAULT_MAX_BATCH_SIZE;\n\t\tthis.flushIntervalMs = opts.flushIntervalMs ?? DEFAULT_FLUSH_INTERVAL_MS;\n\t\tthis.maxBufferSize = opts.maxBufferSize ?? DEFAULT_MAX_BUFFER_SIZE;\n\t\tthis.logger = opts.logger ?? new NoopLogger();\n\t}\n\tasync record(ctx, metric) {\n\t\tif (this.closed) return;\n\t\tthis.buffer.push({\n\t\t\tactor_id: ctx.userId || \"system\",\n\t\t\tdefinition_url: metric.definitionUrl,\n\t\t\tdefinition_id: metric.definitionId,\n\t\t\tversion_id: metric.versionId,\n\t\t\tchannel: metric.channel,\n\t\t\torg_id: metric.orgId,\n\t\t\tduration_ms: metric.durationMs,\n\t\t\tok: metric.ok,\n\t\t\tfailure_kind: metric.failureKind,\n\t\t\terror_count: metric.errorCount,\n\t\t\twarning_count: metric.warningCount\n\t\t});\n\t\tif (this.buffer.length > this.maxBufferSize) {\n\t\t\tconst dropped = this.buffer.length - this.maxBufferSize;\n\t\t\tthis.buffer.splice(0, dropped);\n\t\t\tthis.logger.error(\"Metric buffer full, dropped oldest metrics\", {\n\t\t\t\tcomponent: \"SupabaseSolveMetricSink\",\n\t\t\t\tdropped\n\t\t\t});\n\t\t}\n\t\tif (this.buffer.length >= this.maxBatchSize) {\n\t\t\tthis.flush();\n\t\t\treturn;\n\t\t}\n\t\tthis.scheduleFlush();\n\t}\n\t/**\n\t* Writes everything buffered and resolves once the write settles. Serialized\n\t* against any in-flight flush so batches cannot interleave. Never throws.\n\t*/\n\tasync flush() {\n\t\tconst batch = this.buffer;\n\t\tthis.buffer = [];\n\t\tthis.clearTimer();\n\t\tif (batch.length === 0) return this.inFlight;\n\t\tthis.inFlight = this.inFlight.then(() => this.write(batch));\n\t\treturn this.inFlight;\n\t}\n\t/**\n\t* Stops the timer, drains the buffer, and rejects further records. Call on\n\t* shutdown so the last partial batch is not lost.\n\t*/\n\tasync close() {\n\t\tthis.closed = true;\n\t\tthis.clearTimer();\n\t\tawait this.flush();\n\t}\n\tscheduleFlush() {\n\t\tif (this.timer) return;\n\t\tthis.timer = setTimeout(() => {\n\t\t\tthis.timer = null;\n\t\t\tthis.flush();\n\t\t}, this.flushIntervalMs);\n\t\tthis.timer.unref?.();\n\t}\n\tclearTimer() {\n\t\tif (!this.timer) return;\n\t\tclearTimeout(this.timer);\n\t\tthis.timer = null;\n\t}\n\tasync write(batch) {\n\t\ttry {\n\t\t\tconst { error } = await this.clients.serviceClient.from(\"solve_metrics\").insert(batch);\n\t\t\tif (error) this.logger.error(\"Metric batch insert failed\", {\n\t\t\t\tcomponent: \"SupabaseSolveMetricSink\",\n\t\t\t\tcount: batch.length,\n\t\t\t\terr: error.message\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tthis.logger.error(\"Unexpected error writing metric batch\", {\n\t\t\t\tcomponent: \"SupabaseSolveMetricSink\",\n\t\t\t\tcount: batch.length,\n\t\t\t\terr: err instanceof Error ? err.stack ?? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseAuditQuery.ts\nvar MAX_LIMIT = 200;\nvar DEFAULT_LIMIT = 100;\nvar ISO_RE = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2})$/;\nvar 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}$/;\n/**\n* Read-side for `audit_events`. Always uses the service-role client — RLS\n* blocks all read access by design, so the route layer is the single trust\n* boundary (callers must gate on `instance_admin`).\n*\n* Pagination is keyset on `(occurred_at desc, id desc)`. The `id` tie-breaker\n* prevents skipped rows when multiple events land in the same millisecond.\n*/\nvar SupabaseAuditQuery = class {\n\tclients;\n\tconstructor(clients) {\n\t\tthis.clients = clients;\n\t}\n\tasync list(_ctx, filters) {\n\t\tconst limit = clampLimit(filters.limit);\n\t\tlet 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\t\tif (filters.types && filters.types.length > 0) q = q.in(\"type\", [...filters.types]);\n\t\tif (filters.actorId) q = q.eq(\"actor_id\", filters.actorId);\n\t\tif (filters.sinceIso) q = q.gte(\"occurred_at\", filters.sinceIso);\n\t\tif (filters.untilIso) q = q.lte(\"occurred_at\", filters.untilIso);\n\t\tif (filters.cursor) {\n\t\t\tconst ts = filters.cursor.occurredAt;\n\t\t\tconst id = filters.cursor.id;\n\t\t\tif (!ISO_RE.test(ts) || !UUID_RE.test(id)) throw new Error(\"audit_events query: malformed cursor\");\n\t\t\tq = q.or(`occurred_at.lt.${ts},and(occurred_at.eq.${ts},id.lt.${id})`);\n\t\t}\n\t\tconst { data, error } = await q;\n\t\tif (error) throw new Error(`audit_events query failed: ${error.message}`);\n\t\tconst fetched = data ?? [];\n\t\tconst hasMore = fetched.length > limit;\n\t\tconst page = hasMore ? fetched.slice(0, limit) : fetched;\n\t\tconst last = page[page.length - 1];\n\t\treturn {\n\t\t\trows: page.map((r) => ({\n\t\t\t\tid: r.id,\n\t\t\t\ttype: r.type,\n\t\t\t\tactorId: r.actor_id,\n\t\t\t\toccurredAt: r.occurred_at,\n\t\t\t\tdata: r.data\n\t\t\t})),\n\t\t\tnextCursor: hasMore && last ? {\n\t\t\t\toccurredAt: last.occurred_at,\n\t\t\t\tid: last.id\n\t\t\t} : null\n\t\t};\n\t}\n};\nfunction clampLimit(requested) {\n\tif (!requested || requested <= 0) return DEFAULT_LIMIT;\n\tif (requested > MAX_LIMIT) return MAX_LIMIT;\n\treturn Math.floor(requested);\n}\n//#endregion\n//#region ../providers/supabase/src/userProfile/SupabaseUserProfileProvider.ts\n/**\n* User profile backed by `public.user_profiles` (one row per `auth.users.id`).\n* The row is auto-seeded by the `handle_new_auth_user` trigger on signup, so\n* the store never inserts — only reads/updates.\n*\n* Uses the service-role client throughout (RLS on `user_profiles` is\n* coarse-grained — server-side flows like the hooks.server.ts profile load\n* need access regardless of the caller's identity). The `assertCanAccess`\n* check enforces \"you can only see/modify your own profile\" at the app layer\n* to match the `IUserProfileStore` contract.\n*/\nvar MAX_RECENT_RUNS = 20;\nvar SupabaseUserProfileProvider = class {\n\tclients;\n\tconstructor(clients) {\n\t\tthis.clients = clients;\n\t}\n\tclient() {\n\t\treturn this.clients.serviceClient;\n\t}\n\tasync getProfile(ctx, userId) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, display_name, starred_definitions, recent_runs\").eq(\"user_id\", userId).maybeSingle();\n\t\tif (error) throw mapError$1(error);\n\t\treturn data ? rowToProfile(data) : null;\n\t}\n\tasync getProfiles(_ctx, userIds) {\n\t\tif (userIds.length === 0) return [];\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, display_name, starred_definitions, recent_runs\").in(\"user_id\", [...userIds]);\n\t\tif (error) throw mapError$1(error);\n\t\treturn (data ?? []).map(rowToProfile);\n\t}\n\tasync updateProfile(ctx, userId, patch) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst row = {};\n\t\tif (patch.displayName !== void 0) row.display_name = patch.displayName;\n\t\tif (Object.keys(row).length === 0) return \"ok\";\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update(row).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n\tasync starDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst existing = await this.getProfile(ctx, userId);\n\t\tif (!existing) return \"not_found\";\n\t\tif (existing.starredDefinitions.includes(definitionId)) return \"ok\";\n\t\tconst next = [...existing.starredDefinitions, definitionId];\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update({ starred_definitions: next }).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n\tasync unstarDefinition(ctx, userId, definitionId) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst existing = await this.getProfile(ctx, userId);\n\t\tif (!existing) return \"not_found\";\n\t\tif (!existing.starredDefinitions.includes(definitionId)) return \"ok\";\n\t\tconst next = existing.starredDefinitions.filter((id) => id !== definitionId);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update({ starred_definitions: next }).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n\tasync recordRun(ctx, userId, run) {\n\t\tassertCanAccess(ctx, userId);\n\t\tconst existing = await this.getProfile(ctx, userId);\n\t\tif (!existing) return \"not_found\";\n\t\tconst next = [run, ...existing.recentRuns.filter((r) => r.definitionId !== run.definitionId)].slice(0, MAX_RECENT_RUNS);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").update({ recent_runs: next }).eq(\"user_id\", userId).select(\"user_id\");\n\t\tif (error) throw mapError$1(error);\n\t\treturn data && data.length > 0 ? \"ok\" : \"not_found\";\n\t}\n};\nfunction assertCanAccess(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot access another user’s profile\", 403);\n}\nfunction rowToProfile(row) {\n\treturn {\n\t\tuserId: row.user_id,\n\t\tdisplayName: row.display_name ?? void 0,\n\t\tstarredDefinitions: row.starred_definitions ?? [],\n\t\trecentRuns: row.recent_runs ?? []\n\t};\n}\nfunction mapError$1(e) {\n\tconst pg = e;\n\tif (pg?.code === \"23505\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n\tif (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n\tif (e instanceof Error) return e;\n\tif (e && typeof e === \"object\") {\n\t\tconst obj = e;\n\t\treturn new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n\t}\n\treturn new Error(String(e));\n}\n//#endregion\n//#region ../providers/supabase/src/permissions/SupabasePlatformPermissionStore.ts\n/**\n* Supabase-backed platform-permission store. Reads and writes\n* `public.user_profiles.platform_permissions` (auto-seeded by the\n* `handle_new_auth_user` trigger). Service-role throughout — the store's own\n* `assertAdmin` / `assertCanRead` enforce the auth boundary at the app level\n* since RLS on `user_profiles` is coarse-grained for cross-user reads.\n*\n* Disabled-user state is sourced from `auth.users.user_metadata.disabled` and\n* mirrored into `user_profiles.disabled` by the `sync_auth_user_disabled`\n* trigger, so the invariant counters exclude disabled admins in a single\n* indexed query (matches `Permissions.md §10` \"enabled instance_admin\"\n* semantics) instead of cross-referencing the auth admin API per candidate.\n*/\nvar SupabasePlatformPermissionStore = class {\n\tclients;\n\tconstructor(clients) {\n\t\tthis.clients = clients;\n\t}\n\tclient() {\n\t\treturn this.clients.serviceClient;\n\t}\n\tasync getFor(ctx, userId) {\n\t\tassertCanRead(ctx, userId);\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"platform_permissions\").eq(\"user_id\", userId).maybeSingle();\n\t\tif (error) throw mapError(error);\n\t\treturn filterValid(data?.platform_permissions ?? []);\n\t}\n\tasync getForBatch(ctx, userIds) {\n\t\tassertAdmin(ctx);\n\t\tconst out = /* @__PURE__ */ new Map();\n\t\tif (userIds.length === 0) return out;\n\t\tconst { data, error } = await this.client().from(\"user_profiles\").select(\"user_id, platform_permissions\").in(\"user_id\", [...userIds]);\n\t\tif (error) throw mapError(error);\n\t\tfor (const row of data ?? []) out.set(row.user_id, filterValid(row.platform_permissions ?? []));\n\t\treturn out;\n\t}\n\tasync set(ctx, userId, permissions) {\n\t\tassertAdmin(ctx);\n\t\tconst { data: existing, error: fetchError } = await this.client().from(\"user_profiles\").select(\"platform_permissions\").eq(\"user_id\", userId).maybeSingle();\n\t\tif (fetchError) throw mapError(fetchError);\n\t\tif (!existing) return \"not_found\";\n\t\tconst wasAdmin = (existing.platform_permissions ?? []).includes(\"instance_admin\");\n\t\tconst willBeAdmin = permissions.includes(\"instance_admin\");\n\t\tif (wasAdmin && !willBeAdmin) {\n\t\t\tif (await this.countOtherEnabledAdmins(userId) === 0) return \"last_admin\";\n\t\t}\n\t\tconst { error } = await this.client().from(\"user_profiles\").update({ platform_permissions: [...permissions] }).eq(\"user_id\", userId);\n\t\tif (error) throw mapError(error);\n\t\treturn \"ok\";\n\t}\n\tasync hasInstanceAdmin(_ctx) {\n\t\tconst { count, error } = await this.client().from(\"user_profiles\").select(\"user_id\", {\n\t\t\tcount: \"exact\",\n\t\t\thead: true\n\t\t}).contains(\"platform_permissions\", [\"instance_admin\"]).eq(\"disabled\", false);\n\t\tif (error) throw mapError(error);\n\t\treturn (count ?? 0) > 0;\n\t}\n\tasync countInstanceAdminsExcluding(_ctx, excludeUserId) {\n\t\treturn this.countOtherEnabledAdmins(excludeUserId);\n\t}\n\tasync countOtherEnabledAdmins(excludeUserId) {\n\t\tconst { count, error } = await this.client().from(\"user_profiles\").select(\"user_id\", {\n\t\t\tcount: \"exact\",\n\t\t\thead: true\n\t\t}).contains(\"platform_permissions\", [\"instance_admin\"]).eq(\"disabled\", false).neq(\"user_id\", excludeUserId);\n\t\tif (error) throw mapError(error);\n\t\treturn count ?? 0;\n\t}\n};\nvar VALID_PERMISSIONS = new Set(ALL_PLATFORM_PERMISSIONS);\nfunction filterValid(raw) {\n\treturn raw.filter((p) => VALID_PERMISSIONS.has(p));\n}\nfunction assertCanRead(ctx, userId) {\n\tif (ctx.system) return;\n\tif (ctx.userId === userId) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: cannot read another user’s permissions\", 403);\n}\nfunction assertAdmin(ctx) {\n\tif (ctx.system) return;\n\tif (hasPermission(ctx, \"instance_admin\")) return;\n\tthrow new ProviderError(\"Forbidden: instance admin required\", 403);\n}\nfunction mapError(e) {\n\tconst pg = e;\n\tif (pg?.code === \"23505\") return new ProviderError(pg.message ?? \"Duplicate record\", 409);\n\tif (pg?.code === \"23503\") return new ProviderError(pg.message ?? \"Foreign key violation\", 409);\n\tif (e instanceof Error) return e;\n\tif (e && typeof e === \"object\") {\n\t\tconst obj = e;\n\t\treturn new Error(obj.code ? `[${obj.code}] ${obj.message ?? \"\"}` : obj.message ?? String(e));\n\t}\n\treturn new Error(String(e));\n}\n//#endregion\n//#region ../providers/supabase/src/data/SupabaseDataProvider.ts\n/**\n* Stub until the Supabase implementation lands. Reads and mutations surface a\n* clear 501; cascade hooks are silent no-ops so deleting an org or project on\n* a Supabase deployment without the feature wired does not blow up.\n*/\nvar NOT_IMPLEMENTED_MSG = \"Platform projects are not supported on this deployment yet.\";\nvar notImplementedGrantStore = {\n\tlistByProject: async () => {\n\t\tthrow new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n\t},\n\tcreate: async () => {\n\t\tthrow new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n\t},\n\tdelete: async () => {\n\t\tthrow new ProviderError(NOT_IMPLEMENTED_MSG, 501);\n\t},\n\tdeleteByProject: async () => {},\n\tdeleteByGranteeOrg: async () => {}\n};\n/**\n* Composition of every data store for the Supabase backend. Instantiates one\n* `ClientBundle` (service-role + per-request factory) and wires each store\n* against it so every store in a single process shares the same pooled clients.\n*/\nvar SupabaseDataProvider = class SupabaseDataProvider {\n\tclients;\n\torgs;\n\tprojects;\n\tdefinitions;\n\tinvites;\n\tcomputeServer;\n\tshareLinks;\n\tuserProfile;\n\tpermissions;\n\tplatformProjectGrants;\n\tauditQuery;\n\t/** The sink every store emits into — exposed per `IDataProvider.events`. */\n\tevents;\n\t/**\n\t* Per-solve timing sink, built from the same client bundle. Exposed so the\n\t* app's provider wiring can hand it to `SelvaConfig.solveMetrics` without\n\t* constructing a second Supabase client.\n\t*/\n\tsolveMetrics;\n\tconstructor(clients, events, secretKey, logger = new NoopLogger()) {\n\t\tthis.clients = clients;\n\t\tthis.events = events;\n\t\tthis.solveMetrics = new SupabaseSolveMetricSink(clients, { logger });\n\t\tthis.orgs = new SupabaseOrgStore(clients, events);\n\t\tthis.projects = new SupabaseProjectStore(clients, events);\n\t\tthis.definitions = new SupabaseDefinitionStore(clients, events);\n\t\tthis.invites = new SupabaseInviteStore(clients, events);\n\t\tthis.computeServer = new SupabaseComputeServerStore(clients, secretKey, logger);\n\t\tthis.shareLinks = new SupabaseShareLinkStore(clients, events);\n\t\tthis.userProfile = new SupabaseUserProfileProvider(clients);\n\t\tthis.permissions = new SupabasePlatformPermissionStore(clients);\n\t\tthis.platformProjectGrants = notImplementedGrantStore;\n\t\tthis.auditQuery = new SupabaseAuditQuery(clients);\n\t}\n\tstatic fromEnv(env, events, logger = new NoopLogger()) {\n\t\tconst bundle = clientBundleFromEnv(env);\n\t\tif (!env.SELVA_AT_REST_KEY) throw new Error(\"Missing required env var: SELVA_AT_REST_KEY (32-byte hex or base64). Required to encrypt compute-server API keys at rest. Generate one with: node -e \\\"console.log(require('crypto').randomBytes(32).toString('hex'))\\\"\");\n\t\tconst secretKey = decodeSecretKey(env.SELVA_AT_REST_KEY);\n\t\treturn new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle, { logger }), secretKey, logger);\n\t}\n\tstatic create(opts, events, secretKey, logger = new NoopLogger()) {\n\t\tconst bundle = buildClientBundle(opts);\n\t\treturn new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle, { logger }), secretKey, logger);\n\t}\n\t/**\n\t* Build from a pre-existing `ClientBundle`. Useful for tests or advanced\n\t* cases that need to inject a custom event sink or share a bundle externally.\n\t* `secretKey` is optional here — omit it only when the caller never touches\n\t* compute-server apiKeys (writes without a key throw rather than persist\n\t* plaintext).\n\t*/\n\tstatic fromBundle(bundle, events, secretKey, logger = new NoopLogger()) {\n\t\treturn new SupabaseDataProvider(bundle, events ?? new SupabaseEventSink(bundle, { logger }), secretKey, logger);\n\t}\n\t/**\n\t* Expose the underlying bundle so other providers in the same package\n\t* (storage, user profile, auth) can share one set of clients per process.\n\t*/\n\tgetClientBundle() {\n\t\treturn this.clients;\n\t}\n\t/**\n\t* App↔DB schema handshake (audit O3). Calls `selva.migration_head()` — a\n\t* SECURITY DEFINER function shipped in this package's migrations — and\n\t* compares it against the head this build expects. Three failure shapes:\n\t* the RPC itself is missing (database never applied the handshake\n\t* migration), the head is empty (no migrations pushed at all), or the head\n\t* is lexicographically behind (operator updated the app but forgot\n\t* `supabase db push`). Never throws; boot health consumes the report.\n\t*/\n\tasync verifySchemaVersion() {\n\t\tconst expected = EXPECTED_MIGRATION_HEAD;\n\t\tconst pushHint = \"Apply the pending Supabase migrations: sync them into your project (see @selvajs/supabase-provider sync-migrations) and run `npx supabase db push`.\";\n\t\ttry {\n\t\t\tconst { data, error } = await this.clients.serviceClient.rpc(\"migration_head\");\n\t\t\tif (error) return {\n\t\t\t\tok: false,\n\t\t\t\texpected,\n\t\t\t\tactual: null,\n\t\t\t\tmessage: `selva.migration_head() is not available (${error.message ?? error.code ?? \"unknown error\"}) — the database schema is behind this app version. ${pushHint}`\n\t\t\t};\n\t\t\tconst actual = typeof data === \"string\" ? data : \"\";\n\t\t\tif (!actual) return {\n\t\t\t\tok: false,\n\t\t\t\texpected,\n\t\t\t\tactual: \"\",\n\t\t\t\tmessage: `The database reports no applied migrations. ${pushHint}`\n\t\t\t};\n\t\t\tconst ok = actual >= expected;\n\t\t\treturn {\n\t\t\t\tok,\n\t\t\t\texpected,\n\t\t\t\tactual,\n\t\t\t\tmessage: ok ? void 0 : `Database migration head ${actual} is behind the app's expected ${expected}. ${pushHint}`\n\t\t\t};\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\texpected,\n\t\t\t\tactual: null,\n\t\t\t\tmessage: `Schema handshake failed: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t};\n\t\t}\n\t}\n\t/**\n\t* No-op: `public.user_profiles` is auto-seeded by the `handle_new_auth_user`\n\t* trigger on every `auth.users` insert (see `0001_initial.sql`). The data\n\t* layer always has a row for any authenticated user without per-request work.\n\t*/\n\tasync ensureUser() {}\n\t/**\n\t* Erasure hook (audit P1). FK cascade against `auth.users` already removes\n\t* the profile, memberships, and owned rows — but three classes of personal\n\t* data are NOT reachable by those FKs and are scrubbed explicitly here with\n\t* the RLS-bypassing service client (this runs as a system erasure op):\n\t*\n\t* 1. `audit_events` keyed by a plain-text `actor_id` (no FK) — the deleted\n\t* user's own actions. Deleted.\n\t* 2. The user's email in `invites.email` (invites addressed to them) and in\n\t* `invite.created` audit payloads (`data->>'email'`). The invite rows are\n\t* deleted; the audit email is redacted in place (the audit *fact* that an\n\t* invite was created is preserved — only the PII is removed).\n\t* 3. `solve_metrics` — deliberately not FK-cascaded (retention telemetry).\n\t* `actor_id` is tombstoned to {@link ERASED_ACTOR_ID}, keeping the row's\n\t* aggregate value without identifying the person.\n\t*\n\t* Each step tolerates missing rows so the hook is idempotent on retry. Email\n\t* scrubs are skipped when `opts.email` is absent (the caller must capture it\n\t* before `deleteUser`).\n\t*/\n\tasync onUserDeleted(_ctx, userId, opts) {\n\t\tconst client = this.clients.serviceClient;\n\t\tconst email = opts?.email;\n\t\tconst deletedActions = await client.from(\"audit_events\").delete().eq(\"actor_id\", userId);\n\t\tif (deletedActions.error) throw new ProviderError(`Failed to erase audit_events for user: ${deletedActions.error.message}`, 500);\n\t\tconst tombstoned = await client.from(\"solve_metrics\").update({ actor_id: ERASED_ACTOR_ID }).eq(\"actor_id\", userId);\n\t\tif (tombstoned.error) throw new ProviderError(`Failed to anonymize solve_metrics for user: ${tombstoned.error.message}`, 500);\n\t\tif (!email) return;\n\t\tconst deletedInvites = await client.from(\"invites\").delete().eq(\"email\", email);\n\t\tif (deletedInvites.error) throw new ProviderError(`Failed to erase invites for user email: ${deletedInvites.error.message}`, 500);\n\t\tconst redacted = await client.rpc(\"redact_audit_event_email\", { p_email: email });\n\t\tif (redacted.error) throw new ProviderError(`Failed to redact audit_events email payloads: ${redacted.error.message}`, 500);\n\t}\n};\n//#endregion\n//#region ../providers/supabase/src/auth/SupabaseAuthProvider.ts\n/** Default hybrid recheck window — see `revalidateMs`. */\nvar DEFAULT_REVALIDATE_MS = 6e4;\n/** Parse a positive integer env var, or undefined if unset/invalid. */\nfunction parsePositiveInt(raw) {\n\tif (!raw) return void 0;\n\tconst n = Number.parseInt(raw, 10);\n\treturn Number.isFinite(n) && n > 0 ? n : void 0;\n}\nvar SupabaseAuthProvider = class SupabaseAuthProvider {\n\tname = \"Supabase Auth\";\n\tpasswordAuth;\n\toauth;\n\temailLink;\n\tsessionRefresh;\n\tadmin;\n\t/**\n\t* Service-role client pinned to the engine schema (`selva`). Engine tables\n\t* live there, not in `public` — `this.admin` is deliberately left unpinned\n\t* because it exists to drive `auth.admin.*` (GoTrue's own REST surface,\n\t* which the PostgREST schema setting does not affect). Any table read or\n\t* write from this provider MUST go through this client instead.\n\t*/\n\tdb;\n\tanon;\n\tanonKey;\n\tsupabaseUrl;\n\ttokenVerification;\n\trevalidateMs;\n\tlogger;\n\t/**\n\t* Last time a given session was re-validated against GoTrue (epoch ms),\n\t* keyed by the JWT `session_id`. Bounds the hybrid recheck to once per\n\t* `revalidateMs` per session. Swept lazily (see `verifyToken`) so a burst of\n\t* distinct sessions can't leak memory. Per-process; multi-instance drift is\n\t* harmless (each instance rechecks on its own schedule).\n\t*/\n\tlastRevalidatedAt = /* @__PURE__ */ new Map();\n\tconstructor(config) {\n\t\tthis.supabaseUrl = config.supabaseUrl;\n\t\tthis.anonKey = config.anonKey;\n\t\tthis.tokenVerification = config.tokenVerification ?? \"hybrid\";\n\t\tthis.revalidateMs = config.revalidateMs ?? DEFAULT_REVALIDATE_MS;\n\t\tthis.logger = config.logger ?? new NoopLogger();\n\t\tthis.admin = createClient(config.supabaseUrl, config.serviceRoleKey, { auth: {\n\t\t\tpersistSession: false,\n\t\t\tautoRefreshToken: false\n\t\t} });\n\t\tthis.db = createClient(config.supabaseUrl, config.serviceRoleKey, {\n\t\t\tdb: { schema: DEFAULT_SCHEMA },\n\t\t\tauth: {\n\t\t\t\tpersistSession: false,\n\t\t\t\tautoRefreshToken: false\n\t\t\t}\n\t\t});\n\t\tthis.anon = createClient(config.supabaseUrl, config.anonKey, { auth: {\n\t\t\tpersistSession: false,\n\t\t\tautoRefreshToken: false\n\t\t} });\n\t\tthis.passwordAuth = new SupabasePasswordAuth(this.admin, this.anon, (email, password) => this.signIn(email, password), config.enableSelfSignup ?? false, (user) => this.hydrate(user));\n\t\tthis.sessionRefresh = new SupabaseSessionRefresh(this.anon, this.admin, this.logger);\n\t\tthis.oauth = new SupabaseOAuthAuth(this.anon, (user) => this.hydrate(user), config.oauthProviders ?? [], this.sessionRefresh);\n\t\tthis.emailLink = new SupabaseEmailLinkAuth(this.anon, (user) => this.hydrate(user), config.allowEmailLinkSignup ?? true);\n\t}\n\tstatic fromEnv(env, logger) {\n\t\tconst supabaseUrl = env.SUPABASE_URL;\n\t\tconst anonKey = env.SUPABASE_ANON_KEY;\n\t\tconst serviceRoleKey = env.SUPABASE_SERVICE_ROLE_KEY;\n\t\tif (!supabaseUrl) throw new Error(\"Missing required env var: SUPABASE_URL\");\n\t\tif (!anonKey) throw new Error(\"Missing required env var: SUPABASE_ANON_KEY\");\n\t\tif (!serviceRoleKey) throw new Error(\"Missing required env var: SUPABASE_SERVICE_ROLE_KEY\");\n\t\tconst oauthProviders = (env.SUPABASE_OAUTH_PROVIDERS ?? \"\").split(\",\").map((p) => p.trim().toLowerCase()).filter((p) => p.length > 0);\n\t\tconst tokenVerification = env.SUPABASE_TOKEN_VERIFICATION === \"strict\" ? \"strict\" : \"hybrid\";\n\t\tconst revalidateMs = parsePositiveInt(env.SUPABASE_REVALIDATE_MS);\n\t\treturn new SupabaseAuthProvider({\n\t\t\tsupabaseUrl,\n\t\t\tanonKey,\n\t\t\tserviceRoleKey,\n\t\t\tenableSelfSignup: env.SUPABASE_ENABLE_SELF_SIGNUP === \"true\",\n\t\t\toauthProviders,\n\t\t\tallowEmailLinkSignup: env.SUPABASE_ALLOW_EMAIL_LINK_SIGNUP !== \"false\",\n\t\t\ttokenVerification,\n\t\t\t...revalidateMs !== void 0 ? { revalidateMs } : {},\n\t\t\t...logger ? { logger } : {}\n\t\t});\n\t}\n\t/**\n\t* Verify a session JWT and return the user, or null if invalid/disabled.\n\t* Runs on EVERY authenticated request, so the fast path avoids a network\n\t* round-trip.\n\t*\n\t* `'hybrid'` (default):\n\t* 1. `getClaims(token)` verifies the JWT. With asymmetric signing keys (the\n\t* modern Supabase default) this is LOCAL — the SDK verifies against the\n\t* cached JWKS via Web Crypto, no call to GoTrue. With a legacy symmetric\n\t* HS256 secret the SDK transparently falls back to a network verify, so\n\t* this is correct for both project types without us detecting the scheme\n\t* or hand-rolling JWKS handling (which the Supabase docs warn against —\n\t* it breaks under key rotation).\n\t* 2. Local verification can't see a server-side sign-out or a `disabled`\n\t* flip that happened AFTER the token was issued (the claims are a\n\t* snapshot). So we additionally re-check against GoTrue via `getUser`,\n\t* but at most once per `revalidateMs` per session — bounding revocation\n\t* latency to that window while eliminating ~all per-request network\n\t* calls under steady load.\n\t*\n\t* `'strict'`: `getUser` on every request — instant revocation, one round\n\t* trip per request. The pre-1b behavior, for operators who accept no lag.\n\t*/\n\tasync verifyToken(token) {\n\t\tif (!token) return null;\n\t\tif (this.tokenVerification === \"strict\") return this.verifyViaGetUser(token);\n\t\tconst claims = await this.getClaimsOrNull(token);\n\t\tif (!claims) return null;\n\t\tif (claims.user_metadata?.disabled === true) return null;\n\t\tconst sessionId = typeof claims.session_id === \"string\" ? claims.session_id : claims.sub;\n\t\tif (this.shouldRevalidate(sessionId)) {\n\t\t\tconst fresh = await this.verifyViaGetUser(token);\n\t\t\tif (!fresh) {\n\t\t\t\tthis.lastRevalidatedAt.delete(sessionId);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.markRevalidated(sessionId);\n\t\t\treturn fresh;\n\t\t}\n\t\treturn {\n\t\t\tid: claims.sub,\n\t\t\temail: typeof claims.email === \"string\" ? claims.email : void 0,\n\t\t\tdisabled: false,\n\t\t\tmetadata: claims.user_metadata\n\t\t};\n\t}\n\t/** Full network verify against GoTrue. Also the `'strict'`-mode path. */\n\tasync verifyViaGetUser(token) {\n\t\tconst { data, error } = await this.anon.auth.getUser(token);\n\t\tif (error || !data.user) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn this.hydrate(data.user);\n\t}\n\t/** Local JWT verification. Returns the claims, or null if invalid/expired. */\n\tasync getClaimsOrNull(token) {\n\t\ttry {\n\t\t\tconst { data, error } = await this.anon.auth.getClaims(token);\n\t\t\tif (error || !data) return null;\n\t\t\treturn data.claims;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\tshouldRevalidate(sessionId) {\n\t\tconst last = this.lastRevalidatedAt.get(sessionId);\n\t\treturn last === void 0 || Date.now() - last >= this.revalidateMs;\n\t}\n\tmarkRevalidated(sessionId) {\n\t\tconst now = Date.now();\n\t\tthis.lastRevalidatedAt.set(sessionId, now);\n\t\tif (this.lastRevalidatedAt.size > 1e4) {\n\t\t\tconst cutoff = now - this.revalidateMs * 2;\n\t\t\tfor (const [id, ts] of this.lastRevalidatedAt) if (ts < cutoff) this.lastRevalidatedAt.delete(id);\n\t\t}\n\t}\n\tasync getUser(id) {\n\t\tconst { data, error } = await this.admin.auth.admin.getUserById(id);\n\t\tif (error || !data.user) return null;\n\t\treturn this.hydrate(data.user);\n\t}\n\tasync listUsers(opts) {\n\t\tconst perPage = opts?.limit ?? 50;\n\t\tconst page = opts?.cursor ? parseInt(opts.cursor, 10) : 1;\n\t\tconst { data, error } = await this.admin.auth.admin.listUsers({\n\t\t\tpage: Number.isFinite(page) && page >= 1 ? page : 1,\n\t\t\tperPage\n\t\t});\n\t\tif (error) throw error;\n\t\tconst users = data.users;\n\t\treturn {\n\t\t\titems: users.map((u) => this.hydrate(u)),\n\t\t\tnextCursor: users.length >= perPage ? String(page + 1) : void 0\n\t\t};\n\t}\n\tasync createUser(email) {\n\t\tconst { data, error } = await this.admin.auth.admin.createUser({\n\t\t\temail,\n\t\t\temail_confirm: true\n\t\t});\n\t\tif (error) throw error;\n\t\tif (!data.user) throw new Error(\"createUser returned no user\");\n\t\treturn this.hydrate(data.user);\n\t}\n\tasync deleteUser(id) {\n\t\tconst { error } = await this.admin.auth.admin.deleteUser(id);\n\t\tif (error) {\n\t\t\tconst e = error;\n\t\t\tif (e.status === 404 || /not.?found/i.test(e.message ?? \"\")) return \"not_found\";\n\t\t\tthrow error;\n\t\t}\n\t\treturn \"ok\";\n\t}\n\tasync disableUser(id) {\n\t\tconst { data: existing, error: fetchError } = await this.admin.auth.admin.getUserById(id);\n\t\tif (fetchError || !existing.user) return \"not_found\";\n\t\tconst mergedMetadata = {\n\t\t\t...existing.user.user_metadata ?? {},\n\t\t\tdisabled: true\n\t\t};\n\t\tconst { error } = await this.admin.auth.admin.updateUserById(id, { user_metadata: mergedMetadata });\n\t\tif (error) {\n\t\t\tconst e = error;\n\t\t\tif (e.status === 404 || /not.?found/i.test(e.message ?? \"\")) return \"not_found\";\n\t\t\tthrow error;\n\t\t}\n\t\treturn \"ok\";\n\t}\n\tasync touchLastLogin(id) {\n\t\tconst cutoff = (/* @__PURE__ */ new Date(Date.now() - 6e4)).toISOString();\n\t\tconst { error } = await this.db.from(\"user_profiles\").update({ last_login_at: (/* @__PURE__ */ new Date()).toISOString() }).eq(\"user_id\", id).or(`last_login_at.is.null,last_login_at.lt.${cutoff}`);\n\t\tif (error) this.logger.warn(\"touchLastLogin failed\", {\n\t\t\tuserId: id,\n\t\t\tcode: error.code,\n\t\t\tmessage: error.message\n\t\t});\n\t}\n\t/**\n\t* Sign in via GoTrue. Returns the access token string and the hydrated\n\t* user. Called by `SupabasePasswordAuth.verifyLogin` — kept on the\n\t* provider class so it has access to the hydrate helper without plumbing.\n\t*/\n\tasync signIn(email, password) {\n\t\tconst { data, error } = await this.anon.auth.signInWithPassword({\n\t\t\temail,\n\t\t\tpassword\n\t\t});\n\t\tif (error || !data.user || !data.session) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tuser: this.hydrate(data.user),\n\t\t\tsessionToken: data.session.access_token\n\t\t};\n\t}\n\t/**\n\t* Map a GoTrue `User` to our identity-only `AuthUser`. Platform permissions\n\t* live on `IPlatformPermissionStore` and profile fields (displayName,\n\t* starred, recentRuns) on `IUserProfileStore` — neither is in AuthUser.\n\t*/\n\thydrate(user) {\n\t\treturn {\n\t\t\tid: user.id,\n\t\t\temail: user.email ?? void 0,\n\t\t\tcreatedAt: user.created_at ?? void 0,\n\t\t\tlastLoginAt: user.last_sign_in_at ?? void 0,\n\t\t\tdisabled: user.user_metadata?.disabled === true,\n\t\t\tmetadata: user.user_metadata\n\t\t};\n\t}\n\t/**\n\t* Expose the anon URL + key so other code (e.g. the same process's\n\t* storage provider or per-request client factories) can build user-scoped\n\t* clients without requiring a second config read.\n\t*/\n\tgetAnonClientConfig() {\n\t\treturn {\n\t\t\tsupabaseUrl: this.supabaseUrl,\n\t\t\tanonKey: this.anonKey\n\t\t};\n\t}\n};\nvar SupabasePasswordAuth = class {\n\tadmin;\n\tanon;\n\tsignIn;\n\tenableSelfSignup;\n\thydrate;\n\tconstructor(admin, anon, signIn, enableSelfSignup, hydrate) {\n\t\tthis.admin = admin;\n\t\tthis.anon = anon;\n\t\tthis.signIn = signIn;\n\t\tthis.enableSelfSignup = enableSelfSignup;\n\t\tthis.hydrate = hydrate;\n\t}\n\tasync verifyLogin(email, password) {\n\t\tconst result = await this.signIn(email, password);\n\t\tif (!result) return {\n\t\t\tkind: \"failed\",\n\t\t\treason: \"invalid_credentials\"\n\t\t};\n\t\treturn {\n\t\t\tkind: \"success\",\n\t\t\tuser: result.user,\n\t\t\tsessionToken: result.sessionToken\n\t\t};\n\t}\n\tasync createUserWithPassword(email, password) {\n\t\tconst { data, error } = await this.admin.auth.admin.createUser({\n\t\t\temail,\n\t\t\tpassword,\n\t\t\temail_confirm: true\n\t\t});\n\t\tif (error) throw error;\n\t\tif (!data.user) throw new Error(\"createUserWithPassword returned no user\");\n\t\treturn this.hydrate(data.user);\n\t}\n\tasync registerUser(email, password) {\n\t\tif (!this.enableSelfSignup) return null;\n\t\tconst { data, error } = await this.anon.auth.signUp({\n\t\t\temail,\n\t\t\tpassword\n\t\t});\n\t\tif (error || !data.user) return null;\n\t\treturn this.hydrate(data.user);\n\t}\n};\n/**\n* Supabase-backed `IOAuthAuth`. Thin wrappers over GoTrue's `signInWithOAuth`\n* / `exchangeCodeForSession` / `refreshSession` — the failure-shape mapping\n* (return null vs throw) is the only logic.\n*/\nvar SupabaseOAuthAuth = class {\n\tanon;\n\thydrate;\n\tproviders;\n\tsessionRefresh;\n\tconstructor(anon, hydrate, providers, sessionRefresh) {\n\t\tthis.anon = anon;\n\t\tthis.hydrate = hydrate;\n\t\tthis.providers = providers;\n\t\tthis.sessionRefresh = sessionRefresh;\n\t}\n\tlistProviders() {\n\t\treturn this.providers;\n\t}\n\tasync getOAuthAuthorizationUrl(provider, redirectTo) {\n\t\tconst { data, error } = await this.anon.auth.signInWithOAuth({\n\t\t\tprovider,\n\t\t\toptions: {\n\t\t\t\tredirectTo,\n\t\t\t\tskipBrowserRedirect: true\n\t\t\t}\n\t\t});\n\t\tif (error || !data.url) throw error ?? /* @__PURE__ */ new Error(\"signInWithOAuth returned no URL\");\n\t\treturn data.url;\n\t}\n\tasync exchangeOAuthCode(code) {\n\t\tconst { data, error } = await this.anon.auth.exchangeCodeForSession(code);\n\t\tif (error || !data.user || !data.session) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tuser: this.hydrate(data.user),\n\t\t\tsessionToken: data.session.access_token,\n\t\t\trefreshToken: data.session.refresh_token\n\t\t};\n\t}\n\t/** @deprecated Delegates to `IAuthProvider.sessionRefresh`. Removed next minor. */\n\tasync refreshSession(refreshToken) {\n\t\treturn this.sessionRefresh.refreshSession(refreshToken);\n\t}\n};\n/**\n* Supabase-backed `ISessionRefresh`. Owns session lifecycle independently of\n* OAuth: `refreshSession` swaps an expiring pair (anon client — a refresh\n* token authenticates itself), `revokeSession` signs the session out\n* server-side via GoTrue's admin API (service-role — revoking someone else's\n* session is privileged).\n*/\nvar SupabaseSessionRefresh = class {\n\tanon;\n\tadmin;\n\tlogger;\n\tconstructor(anon, admin, logger) {\n\t\tthis.anon = anon;\n\t\tthis.admin = admin;\n\t\tthis.logger = logger;\n\t}\n\tasync refreshSession(refreshToken) {\n\t\tconst { data, error } = await this.anon.auth.refreshSession({ refresh_token: refreshToken });\n\t\tif (error || !data.session) return null;\n\t\tif (data.user?.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tsessionToken: data.session.access_token,\n\t\t\trefreshToken: data.session.refresh_token\n\t\t};\n\t}\n\tasync revokeSession(token) {\n\t\tconst { error } = await this.admin.auth.admin.signOut(token, \"global\");\n\t\tif (!error) return true;\n\t\tconst e = error;\n\t\tif (e.status === 401 || e.status === 403 || e.status === 404) return true;\n\t\tthis.logger.warn(\"revokeSession failed\", {\n\t\t\tstatus: e.status,\n\t\t\tmessage: e.message\n\t\t});\n\t\treturn false;\n\t}\n};\n/**\n* Supabase-backed `IEmailLinkAuth`. Wraps GoTrue's `signInWithOtp` (send the\n* link) and `verifyOtp` with `type: 'magiclink' | 'email' | 'signup'`\n* (verify on click).\n*\n* Token shape: Supabase emails the user `{callbackUrl}?token_hash=…&type=…`.\n* `verifyMagicLink` accepts either the full URL or just the raw `token_hash`\n* — adapters MAY support either to give the route layer flexibility. The\n* `type` query param decides which OTP variant `verifyOtp` runs (signup vs\n* magic-link returning user vs invite acceptance), so we pass it through.\n*/\nvar SupabaseEmailLinkAuth = class {\n\tanon;\n\thydrate;\n\tallowSignup;\n\tconstructor(anon, hydrate, allowSignup) {\n\t\tthis.anon = anon;\n\t\tthis.hydrate = hydrate;\n\t\tthis.allowSignup = allowSignup;\n\t}\n\tasync sendMagicLink(email, callbackUrl) {\n\t\tconst { error } = await this.anon.auth.signInWithOtp({\n\t\t\temail,\n\t\t\toptions: {\n\t\t\t\temailRedirectTo: callbackUrl,\n\t\t\t\tshouldCreateUser: this.allowSignup\n\t\t\t}\n\t\t});\n\t\tif (!error) return { ok: true };\n\t\tconst status = error.status;\n\t\tconst code = error.code;\n\t\tconst message = error.message ?? \"\";\n\t\tif (status === 429 || /rate.?limit/i.test(message)) return {\n\t\t\tok: false,\n\t\t\treason: \"rate_limited\"\n\t\t};\n\t\tif (code === \"otp_disabled\" || code === \"signup_disabled\" || /signup.*disabled/i.test(message)) return {\n\t\t\tok: false,\n\t\t\treason: \"signup_disabled\"\n\t\t};\n\t\tif (code === \"validation_failed\" || /invalid.*email|email.*invalid/i.test(message)) return {\n\t\t\tok: false,\n\t\t\treason: \"invalid_email\"\n\t\t};\n\t\tthrow error;\n\t}\n\tasync verifyMagicLink(rawCallbackUrl) {\n\t\tconst params = parseCallbackParams(rawCallbackUrl);\n\t\tif (!params) return null;\n\t\tconst { tokenHash, type } = params;\n\t\tconst { data, error } = await this.anon.auth.verifyOtp({\n\t\t\ttoken_hash: tokenHash,\n\t\t\ttype\n\t\t});\n\t\tif (error || !data.user || !data.session) return null;\n\t\tif (data.user.user_metadata?.disabled === true) return null;\n\t\treturn {\n\t\t\tuser: this.hydrate(data.user),\n\t\t\tsessionToken: data.session.access_token,\n\t\t\trefreshToken: data.session.refresh_token\n\t\t};\n\t}\n};\n/**\n* Pull `token_hash` + `type` from either a full callback URL or a bare\n* `token_hash=…&type=…` query string. Tolerant of both shapes so the route\n* layer can pass whichever form is convenient.\n*\n* Returns null when the inputs aren't recognizable — the caller treats null\n* as \"send the user back to /login\".\n*/\nfunction parseCallbackParams(raw) {\n\tlet search;\n\ttry {\n\t\tsearch = new URL(raw).searchParams;\n\t} catch {\n\t\tsearch = new URLSearchParams(raw.startsWith(\"?\") ? raw.slice(1) : raw);\n\t}\n\tconst tokenHash = search.get(\"token_hash\");\n\tconst type = search.get(\"type\");\n\tif (!tokenHash) return null;\n\tif (!type || !(/* @__PURE__ */ new Set([\n\t\t\"magiclink\",\n\t\t\"email\",\n\t\t\"signup\",\n\t\t\"invite\",\n\t\t\"recovery\"\n\t])).has(type)) return null;\n\treturn {\n\t\ttokenHash,\n\t\ttype\n\t};\n}\n//#endregion\n//#region ../providers/header-auth/src/users.ts\nvar empty = () => ({ users: [] });\nvar LAST_LOGIN_DEBOUNCE_MS = 6e4;\nasync function readFile(filePath) {\n\ttry {\n\t\tconst raw = await fs.readFile(filePath, \"utf-8\");\n\t\treturn JSON.parse(raw);\n\t} catch (err) {\n\t\tif (err.code === \"ENOENT\") return empty();\n\t\tthrow err;\n\t}\n}\nasync function writeFile$1(filePath, data) {\n\tawait fs.mkdir(path.dirname(filePath), { recursive: true });\n\tconst tmp = `${filePath}.tmp`;\n\tawait fs.writeFile(tmp, JSON.stringify(data, null, \"\t\"), \"utf-8\");\n\tawait fs.rename(tmp, filePath);\n}\nfunction createAllowlistStore(filePath) {\n\tconst norm = (upn) => upn.trim().toLowerCase();\n\treturn {\n\t\tasync findByUpn(upn) {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\tconst key = norm(upn);\n\t\t\treturn users.find((u) => u.upn === key) ?? null;\n\t\t},\n\t\tasync findByEmail(email) {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\tconst key = norm(email);\n\t\t\treturn users.find((u) => norm(u.email ?? \"\") === key || u.upn === key) ?? null;\n\t\t},\n\t\tasync findById(id) {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\treturn users.find((u) => u.id === id) ?? null;\n\t\t},\n\t\tasync listUsers() {\n\t\t\tconst { users } = await readFile(filePath);\n\t\t\treturn users;\n\t\t},\n\t\tasync createUser(upn) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst key = norm(upn);\n\t\t\tif (file.users.some((u) => u.upn === key)) throw new ProviderError(`User with UPN \"${upn}\" already exists`, 409);\n\t\t\tconst entry = {\n\t\t\t\tid: randomUUID(),\n\t\t\t\tupn: key,\n\t\t\t\tcreatedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t\t\t};\n\t\t\tfile.users.push(entry);\n\t\t\tawait writeFile$1(filePath, file);\n\t\t\treturn entry;\n\t\t},\n\t\tasync syncFromHeaders(id, fields) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) return;\n\t\t\tlet dirty = false;\n\t\t\tif (fields.email && user.email !== fields.email) {\n\t\t\t\tuser.email = fields.email;\n\t\t\t\tdirty = true;\n\t\t\t}\n\t\t\tif (fields.displayName && user.displayName !== fields.displayName) {\n\t\t\t\tuser.displayName = fields.displayName;\n\t\t\t\tdirty = true;\n\t\t\t}\n\t\t\tif (dirty) await writeFile$1(filePath, file);\n\t\t},\n\t\tasync rebindUpn(id, upn) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst key = norm(upn);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user || user.upn === key) return;\n\t\t\tif (file.users.some((u) => u.id !== id && u.upn === key)) return;\n\t\t\tuser.upn = key;\n\t\t\tawait writeFile$1(filePath, file);\n\t\t},\n\t\tasync setDisabled(id, disabled) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tuser.disabled = disabled;\n\t\t\tawait writeFile$1(filePath, file);\n\t\t},\n\t\tasync touchLastLogin(id) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst user = file.users.find((u) => u.id === id);\n\t\t\tif (!user) return;\n\t\t\tconst now = Date.now();\n\t\t\tif (user.lastLoginAt) {\n\t\t\t\tconst prev = Date.parse(user.lastLoginAt);\n\t\t\t\tif (Number.isFinite(prev) && now - prev < LAST_LOGIN_DEBOUNCE_MS) return;\n\t\t\t}\n\t\t\tuser.lastLoginAt = new Date(now).toISOString();\n\t\t\tawait writeFile$1(filePath, file);\n\t\t},\n\t\tasync deleteUser(id) {\n\t\t\tconst file = await readFile(filePath);\n\t\t\tconst before = file.users.length;\n\t\t\tfile.users = file.users.filter((u) => u.id !== id);\n\t\t\tif (file.users.length === before) throw new ProviderError(`User \"${id}\" not found`, 404);\n\t\t\tawait writeFile$1(filePath, file);\n\t\t}\n\t};\n}\n//#endregion\n//#region ../providers/header-auth/src/HeaderAuthProvider.ts\nvar DEFAULT_HEADERS = {\n\tupn: \"SELVA-UserPrincipalName\",\n\temail: \"SELVA-Email\",\n\tdisplayName: \"SELVA-DisplayName\"\n};\nfunction toAuthUser(u) {\n\treturn {\n\t\tid: u.id,\n\t\temail: u.email ?? u.upn,\n\t\tmetadata: {\n\t\t\tupn: u.upn,\n\t\t\tdisplayName: u.displayName\n\t\t},\n\t\tcreatedAt: u.createdAt,\n\t\tlastLoginAt: u.lastLoginAt,\n\t\tdisabled: u.disabled\n\t};\n}\nvar HeaderProxyAuth = class {\n\tusers;\n\theaders;\n\tlogger;\n\tbootstrapPolicy;\n\tmissingHeadersWarned = false;\n\tconstructor(users, headers, bootstrapPolicy, logger = new NoopLogger()) {\n\t\tthis.users = users;\n\t\tthis.headers = headers;\n\t\tthis.logger = logger;\n\t\tthis.bootstrapPolicy = bootstrapPolicy;\n\t}\n\tsetBootstrapPolicy(policy) {\n\t\tthis.bootstrapPolicy = policy ?? void 0;\n\t}\n\t/**\n\t* Names of the configured identity headers, in priority order. Exposed so\n\t* the hook layer can emit per-page diagnostics (\"you hit /login without\n\t* these headers\") without having to know provider internals.\n\t*/\n\tget configuredHeaderNames() {\n\t\treturn [\n\t\t\tthis.headers.upn,\n\t\t\tthis.headers.email,\n\t\t\tthis.headers.displayName\n\t\t];\n\t}\n\t/** True iff none of the configured identity headers are present. */\n\thasNoIdentityHeaders(headers) {\n\t\treturn !headers.get(this.headers.upn) && !headers.get(this.headers.email) && !headers.get(this.headers.displayName);\n\t}\n\tasync identifyFromHeaders(headers) {\n\t\tconst upn = headers.get(this.headers.upn);\n\t\tif (!upn || !upn.trim()) {\n\t\t\tif (!this.missingHeadersWarned && this.hasNoIdentityHeaders(headers)) {\n\t\t\t\tthis.missingHeadersWarned = true;\n\t\t\t\tthis.logger.warn(\"No identity headers received on the first non-authed request. 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\t\t\t\t\tcomponent: \"HeaderAuth\",\n\t\t\t\t\texpectedHeaders: [\n\t\t\t\t\t\tthis.headers.upn,\n\t\t\t\t\t\tthis.headers.email,\n\t\t\t\t\t\tthis.headers.displayName\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tconst email = headers.get(this.headers.email)?.trim() || void 0;\n\t\tconst displayName = headers.get(this.headers.displayName)?.trim() || void 0;\n\t\tlet entry = await this.users.findByUpn(upn);\n\t\tif (!entry && email) {\n\t\t\tconst byEmail = await this.users.findByEmail(email);\n\t\t\tif (byEmail) {\n\t\t\t\tentry = byEmail;\n\t\t\t\tif (byEmail.upn !== upn.trim().toLowerCase()) await this.users.rebindUpn(byEmail.id, upn).catch(() => {});\n\t\t\t}\n\t\t}\n\t\tif (!entry && this.bootstrapPolicy) {\n\t\t\tif (await this.bootstrapPolicy({\n\t\t\t\tupn,\n\t\t\t\temail\n\t\t\t})) try {\n\t\t\t\tentry = await this.users.createUser(upn);\n\t\t\t} catch {\n\t\t\t\tentry = await this.users.findByUpn(upn);\n\t\t\t}\n\t\t}\n\t\tif (!entry || entry.disabled) return null;\n\t\tif (email && entry.email !== email || displayName && entry.displayName !== displayName) {\n\t\t\tawait this.users.syncFromHeaders(entry.id, {\n\t\t\t\temail,\n\t\t\t\tdisplayName\n\t\t\t}).catch(() => {});\n\t\t\tif (email) entry.email = email;\n\t\t\tif (displayName) entry.displayName = displayName;\n\t\t}\n\t\tawait this.users.touchLastLogin(entry.id).catch(() => {});\n\t\treturn toAuthUser(entry);\n\t}\n};\nvar HeaderAuthProvider = class HeaderAuthProvider {\n\tusers;\n\theaders;\n\tname = \"Header (Forward Auth)\";\n\tproxyAuth;\n\tconstructor(config) {\n\t\tthis.users = createAllowlistStore(config.allowlistFilePath);\n\t\tthis.headers = {\n\t\t\t...DEFAULT_HEADERS,\n\t\t\t...config.headers\n\t\t};\n\t\tthis.proxyAuth = new HeaderProxyAuth(this.users, this.headers, config.bootstrapAllowlistPolicy, config.logger ?? new NoopLogger());\n\t}\n\t/**\n\t* Late-bind a bootstrap-allowlist policy. Useful when the policy needs\n\t* runtime state the platform layer owns (e.g. `hasInstanceAdmin`) and\n\t* therefore can't be wired up at provider construction time. Pass `null`\n\t* to clear.\n\t*/\n\tsetBootstrapAllowlistPolicy(policy) {\n\t\tthis.proxyAuth.setBootstrapPolicy(policy);\n\t}\n\tstatic fromEnv(env, logger) {\n\t\tconst dir = env.HEADER_AUTH_DATA_DIR ?? env.DATA_PATH;\n\t\tif (!dir) throw new Error(\"Missing required env var: HEADER_AUTH_DATA_DIR (or DATA_PATH as fallback). This directory holds header-allowlist.json — the pre-provisioned UPN list.\");\n\t\treturn new HeaderAuthProvider({\n\t\t\tallowlistFilePath: path.join(dir, \"header-allowlist.json\"),\n\t\t\theaders: {\n\t\t\t\tupn: env.HEADER_AUTH_UPN_HEADER ?? DEFAULT_HEADERS.upn,\n\t\t\t\temail: env.HEADER_AUTH_EMAIL_HEADER ?? DEFAULT_HEADERS.email,\n\t\t\t\tdisplayName: env.HEADER_AUTH_DISPLAY_NAME_HEADER ?? DEFAULT_HEADERS.displayName\n\t\t\t},\n\t\t\tlogger\n\t\t});\n\t}\n\t/**\n\t* No tokens are issued by this provider — identity rides on every request\n\t* via the trusted-proxy headers. Always returns null; the hook layer\n\t* falls through to `proxyAuth.identifyFromHeaders`.\n\t*/\n\tasync verifyToken(_token) {\n\t\treturn null;\n\t}\n\tasync getUser(id) {\n\t\tconst u = await this.users.findById(id);\n\t\treturn u ? toAuthUser(u) : null;\n\t}\n\tasync listUsers(opts) {\n\t\tconst all = await this.users.listUsers();\n\t\tconst limit = Math.min(Math.max(1, opts?.limit ?? 25), 200);\n\t\tconst offset = opts?.cursor ? parseInt(opts.cursor, 10) || 0 : 0;\n\t\tconst slice = all.slice(offset, offset + limit).map(toAuthUser);\n\t\tconst nextOffset = offset + slice.length;\n\t\treturn {\n\t\t\titems: slice,\n\t\t\tnextCursor: nextOffset < all.length ? String(nextOffset) : void 0\n\t\t};\n\t}\n\t/**\n\t* Allowlist a UPN. Admin POST `/admin/api/users` with `{ email }`; the\n\t* email IS the UPN for M365 / Entra deployments where they match. For\n\t* other IdPs, document the UPN format in your README/onboarding.\n\t*/\n\tasync createUser(upn) {\n\t\treturn toAuthUser(await this.users.createUser(upn));\n\t}\n\tasync deleteUser(id) {\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.deleteUser(id);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync disableUser(id) {\n\t\tif (!await this.users.findById(id)) return \"not_found\";\n\t\ttry {\n\t\t\tawait this.users.setDisabled(id, true);\n\t\t\treturn \"ok\";\n\t\t} catch (err) {\n\t\t\tif (err instanceof ProviderError && err.statusCode === 404) return \"not_found\";\n\t\t\tthrow err;\n\t\t}\n\t}\n\tasync touchLastLogin(id) {\n\t\tawait this.users.touchLastLogin(id);\n\t}\n};\n//#endregion\n//#region src/lib/server/organizations/OrgAssetService.ts\n/**\n* Orchestrates org-asset writes that span IStorageProvider + IOrgStore — one\n* service for every asset kind (logo, favicon, …). Mirrors how\n* `DefinitionService.saveCoverImage` couples a blob write to a metadata update.\n*\n* Every upload is rasterized to WebP by the shared transcoder inside\n* `IStorageProvider.put`, so the stored blob is always\n* `orgs/{id}/branding/{kind}.webp` (the `branding/` segment marks the public\n* asset class — see `classifyAssetPath`).\n* SVG inputs are flattened to a 1200px raster — no vector blob is persisted,\n* which keeps the served bytes XSS-free without a sanitizer. Re-uploads\n* overwrite in place (put is upsert). The org's `assets` map is the source of\n* truth for which kinds exist and their public URLs; we read-merge-write it so\n* concurrent edits to *different* kinds don't clobber each other within a kind.\n*\n* Because re-uploads overwrite the same path, the stored URL is identical\n* across replaces — a cached browser/CDN would keep serving the old bytes. We\n* append a content-derived `?v=` token (`withCacheBust`) so a *different* image\n* gets a *different* URL and refetches immediately, while an identical\n* re-upload keeps the same URL and stays cached.\n*/\nvar OrgAssetService = class {\n\torgs;\n\tstorage;\n\tconstructor(orgs, storage) {\n\t\tthis.orgs = orgs;\n\t\tthis.storage = storage;\n\t}\n\t/**\n\t* Store `kind`'s blob and point the org's `assets[kind]` at its public URL.\n\t* `contentType` must be the *original* upload type (e.g. `image/svg+xml`) so\n\t* the transcoder recognizes the bytes as an image. Returns the public URL.\n\t*/\n\tasync saveAsset(ctx, orgId, kind, data, contentType) {\n\t\tconst path = orgPaths.asset(orgId, kind);\n\t\tawait this.storage.put(path, data, contentType);\n\t\tconst token = createHash(\"sha256\").update(data).digest(\"hex\").slice(0, 8);\n\t\tconst url = withCacheBust(this.storage.getPublicUrl(path), token);\n\t\tawait this.orgs.updateOrg(ctx, orgId, { assets: await this.mergedAssets(ctx, orgId, kind, url) });\n\t\treturn url;\n\t}\n\t/** Remove `kind`'s blob and drop it from the org's `assets` map. No-op-safe. */\n\tasync removeAsset(ctx, orgId, kind) {\n\t\tawait this.storage.delete(orgPaths.asset(orgId, kind));\n\t\tawait this.orgs.updateOrg(ctx, orgId, { assets: await this.mergedAssets(ctx, orgId, kind, void 0) });\n\t}\n\t/**\n\t* Read the org's current `assets` and return a copy with `kind` set to `url`\n\t* (or removed when `url` is undefined). Keeps the other kinds intact.\n\t*/\n\tasync mergedAssets(ctx, orgId, kind, url) {\n\t\tconst org = await this.orgs.getOrg(ctx, orgId);\n\t\tif (!org) throw new ProviderError(`Org '${orgId}' not found`, 404);\n\t\tconst next = { ...org.assets ?? {} };\n\t\tif (url === void 0) delete next[kind];\n\t\telse next[kind] = url;\n\t\treturn next;\n\t}\n};\n//#endregion\n//#region ../server/src/errors/SentryErrorReporter.ts\nvar SentryErrorReporter = class SentryErrorReporter {\n\tsentry;\n\tconstructor(sentry) {\n\t\tthis.sentry = sentry;\n\t}\n\t/**\n\t* Initialize Sentry and return a reporter, or `null` if `@sentry/node` is\n\t* not installed (optional dependency absent). Never throws — a broken\n\t* error-tracker must not take down boot.\n\t*/\n\tstatic async create(opts) {\n\t\ttry {\n\t\t\tconst sentry = await import(\n\t\t\t\t/* @vite-ignore */\n\t\t\t\t\"@sentry/node\"\n);\n\t\t\tsentry.init({\n\t\t\t\tdsn: opts.dsn,\n\t\t\t\tenvironment: opts.environment,\n\t\t\t\trelease: opts.release,\n\t\t\t\ttracesSampleRate: 0\n\t\t\t});\n\t\t\treturn new SentryErrorReporter(sentry);\n\t\t} catch (err) {\n\t\t\tconsole.error(\"[ErrorReporter] A Sentry DSN is set but @sentry/node could not be loaded. Install it (`pnpm add @sentry/node`) or unset the DSN. Falling back to no-op.\", err);\n\t\t\treturn null;\n\t\t}\n\t}\n\tcapture(error, context) {\n\t\ttry {\n\t\t\tconst tags = { ...context?.tags };\n\t\t\tif (context?.method) tags.method = context.method;\n\t\t\tif (context?.route) tags.route = context.route;\n\t\t\tif (context?.orgId) tags.orgId = context.orgId;\n\t\t\tthis.sentry.captureException(error, {\n\t\t\t\ttags,\n\t\t\t\tuser: context?.userId ? { id: context.userId } : void 0\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error(\"[ErrorReporter] Failed to capture error:\", err);\n\t\t}\n\t}\n};\n//#endregion\n//#region ../server/src/logging/PinoLogger.ts\n/**\n* Field paths scrubbed before a record is written. Defense-in-depth only — call\n* sites are required not to log secrets in the first place (see `LogFields`).\n* This catches the accident where a whole object is spread into fields and\n* happens to carry a token, which is exactly how credentials reach log indexes.\n*/\nvar REDACTED_PATHS = [\n\t\"token\",\n\t\"sessionToken\",\n\t\"refreshToken\",\n\t\"apiKey\",\n\t\"api_key\",\n\t\"password\",\n\t\"authorization\",\n\t\"cookie\",\n\t\"*.token\",\n\t\"*.sessionToken\",\n\t\"*.refreshToken\",\n\t\"*.apiKey\",\n\t\"*.password\"\n];\n/**\n* Minimal `ILogger` over `console.*`, used when pino isn't installed.\n*\n* Renders as `LEVEL message {fields}` — readable in a terminal, greppable, and\n* honest about not being machine-parseable. `child` fields are merged eagerly\n* so correlation still works without pino.\n*/\nvar ConsoleLogger = class ConsoleLogger {\n\tbound;\n\tminLevel;\n\tconstructor(bound = {}, minLevel = \"info\") {\n\t\tthis.bound = bound;\n\t\tthis.minLevel = minLevel;\n\t}\n\tstatic ORDER = {\n\t\tdebug: 10,\n\t\tinfo: 20,\n\t\twarn: 30,\n\t\terror: 40\n\t};\n\twrite(level, message, fields) {\n\t\tif (ConsoleLogger.ORDER[level] < ConsoleLogger.ORDER[this.minLevel]) return;\n\t\tconst merged = {\n\t\t\t...this.bound,\n\t\t\t...fields\n\t\t};\n\t\tconst suffix = Object.keys(merged).length > 0 ? ` ${safeStringify(merged)}` : \"\";\n\t\tconst line = `${level.toUpperCase()} ${message}${suffix}`;\n\t\tif (level === \"error\") console.error(line);\n\t\telse if (level === \"warn\") console.warn(line);\n\t\telse console.info(line);\n\t}\n\tdebug(message, fields) {\n\t\tthis.write(\"debug\", message, fields);\n\t}\n\tinfo(message, fields) {\n\t\tthis.write(\"info\", message, fields);\n\t}\n\twarn(message, fields) {\n\t\tthis.write(\"warn\", message, fields);\n\t}\n\terror(message, fields) {\n\t\tthis.write(\"error\", message, fields);\n\t}\n\tchild(fields) {\n\t\treturn new ConsoleLogger({\n\t\t\t...this.bound,\n\t\t\t...fields\n\t\t}, this.minLevel);\n\t}\n};\n/** Fields can hold anything, including cycles. Never let rendering throw. */\nfunction safeStringify(value) {\n\ttry {\n\t\treturn JSON.stringify(value) ?? String(value);\n\t} catch {\n\t\treturn \"[unserializable]\";\n\t}\n}\nvar PinoLogger = class PinoLogger {\n\tpino;\n\tconstructor(pino) {\n\t\tthis.pino = pino;\n\t}\n\tdebug(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.debug(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\tinfo(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.info(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\twarn(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.warn(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\terror(message, fields) {\n\t\ttry {\n\t\t\tthis.pino.error(fields ?? {}, message);\n\t\t} catch {}\n\t}\n\tchild(fields) {\n\t\ttry {\n\t\t\treturn new PinoLogger(this.pino.child(fields));\n\t\t} catch {\n\t\t\treturn this;\n\t\t}\n\t}\n};\n/**\n* Build the app's root logger. Never throws and never returns `null`: a\n* deployment with no pino installed gets {@link ConsoleLogger}, because losing\n* warnings and errors is a worse outcome than losing JSON formatting.\n*/\nasync function createLogger(opts = {}) {\n\tconst level = opts.level ?? \"info\";\n\ttry {\n\t\tconst factory = await loadPinoFactory();\n\t\tif (!factory) return new ConsoleLogger(opts.base ?? {}, level);\n\t\treturn new PinoLogger(factory({\n\t\t\tlevel,\n\t\t\tbase: opts.base,\n\t\t\tredact: {\n\t\t\t\tpaths: REDACTED_PATHS,\n\t\t\t\tcensor: \"[redacted]\"\n\t\t\t},\n\t\t\ttransport: opts.pretty ? {\n\t\t\t\ttarget: \"pino-pretty\",\n\t\t\t\toptions: {\n\t\t\t\t\tcolorize: true,\n\t\t\t\t\tignore: \"pid,hostname\"\n\t\t\t\t}\n\t\t\t} : void 0\n\t\t}));\n\t} catch (err) {\n\t\tconsole.warn(`[Logger] pino was found but could not be initialized; falling back to console logging. ${String(err)}`);\n\t\treturn new ConsoleLogger(opts.base ?? {}, level);\n\t}\n}\n/**\n* Load pino's factory, or `null` when it isn't installed.\n*\n* The indirection through a variable specifier is load-bearing, not stylistic.\n* A literal `import('pino')` is statically analyzable, so bundlers rewrite it —\n* and Vite, applying browser-field mapping to this server build, resolved it to\n* pino's `server_false` browser shim: a stub whose factory throws. That turned\n* \"use pino\" into a silent fall back to the console. Computing the specifier\n* defeats that resolution and leaves the import to Node at runtime, which is\n* exactly what an optional peer dependency needs.\n*\n* `@vite-ignore` alone was NOT sufficient — it suppressed the warning while the\n* rewrite happened anyway.\n*/\nasync function loadPinoFactory() {\n\tconst specifier = \"pino\";\n\ttry {\n\t\tconst mod = await import(\n\t\t\t/* @vite-ignore */\n\t\t\tspecifier\n);\n\t\tconst factory = mod.default ?? mod;\n\t\treturn typeof factory === \"function\" ? factory : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n//#endregion\n//#region ../server/src/logging/requestId.ts\n/**\n* Request-id resolution for log correlation.\n*\n* Every log record on a request path carries the same `requestId`, so an\n* operator handed one id can reconstruct that request's whole story — which is\n* the thing 199 uncorrelated `console.*` calls could never offer.\n*\n* Inbound ids are TRUSTED when present. Selva is documented as running behind a\n* reverse proxy (Caddy/nginx), and those proxies mint a request id for their own\n* access logs; generating a second one here would split a single request across\n* two ids and make cross-tier correlation impossible. The trade is that a direct\n* caller can choose their own id — acceptable, because a request id is a\n* correlation hint, never an authorization or uniqueness input. It is used only\n* as a log field and an echoed response header.\n*\n* That trust is exactly why {@link sanitizeRequestId} exists: an attacker-chosen\n* id is untrusted *content*. Unbounded or newline-carrying values would let a\n* caller forge log lines (log injection) or bloat every record on the request.\n*/\n/** Header carrying a caller/proxy-supplied id. The de-facto standard spelling. */\nvar REQUEST_ID_HEADER = \"x-request-id\";\n/** Max retained length. Long enough for a UUID or a W3C trace-id, short enough to bound a record. */\nvar MAX_REQUEST_ID_LENGTH = 128;\n/**\n* Characters allowed through verbatim. Deliberately strict: UUIDs, ULIDs, hex\n* trace-ids and nginx's `$request_id` all fit. Anything else (whitespace,\n* control chars, quotes, CR/LF) is dropped rather than escaped — there is no\n* legitimate id that needs them, and dropping can't be un-escaped downstream.\n*/\nvar UNSAFE_REQUEST_ID_CHARS = /[^A-Za-z0-9._:-]/g;\n/**\n* Reduce an untrusted inbound id to something safe to stamp on every record.\n* Returns `null` when nothing usable survives, so the caller generates instead.\n*/\nfunction sanitizeRequestId(raw) {\n\tif (!raw) return null;\n\tconst cleaned = raw.replace(UNSAFE_REQUEST_ID_CHARS, \"\").slice(0, MAX_REQUEST_ID_LENGTH);\n\treturn cleaned.length > 0 ? cleaned : null;\n}\n/**\n* Resolve the id for a request: reuse the proxy's when it survives\n* sanitization, otherwise mint a fresh UUID.\n*\n* @param headers the inbound request headers\n* @param generate id source; injectable so tests get deterministic ids\n*/\nfunction resolveRequestId(headers, generate = randomId) {\n\treturn sanitizeRequestId(headers.get(\"x-request-id\")) ?? generate();\n}\n/**\n* Render a thrown value into a log field.\n*\n* Not every rejection is an `Error` — provider adapters occasionally reject with\n* a plain `{ message, status }` object, which would otherwise stringify to a\n* useless `[object Object]` and destroy the only record of the failure. Errors\n* keep their stack (that's the diagnostic); anything else is JSON-serialized,\n* with `String()` as the last resort for cycles and exotic values.\n*/\nfunction renderThrown(error) {\n\tif (error instanceof Error) return error.stack ?? error.message;\n\ttry {\n\t\treturn JSON.stringify(error) ?? String(error);\n\t} catch {\n\t\treturn String(error);\n\t}\n}\n/**\n* `crypto.randomUUID` is available in every runtime Selva targets (Node 22+,\n* workers, modern browsers). The fallback covers non-secure contexts where\n* `randomUUID` is missing — ids only need to be collision-free enough to\n* correlate logs, never unguessable.\n*/\nfunction randomId() {\n\tconst c = globalThis.crypto;\n\tif (c && typeof c.randomUUID === \"function\") return c.randomUUID();\n\treturn `req-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;\n}\n//#endregion\n//#region src/lib/server/providers.server.ts\n/**\n* Forwards to whatever the root logger currently is, rather than capturing it.\n*\n* Provider wiring runs at module scope, while `_logger` starts as a console\n* placeholder and is swapped for pino once its async load resolves (see the\n* Logging section below). A provider handed `getLogger()` directly at\n* construction would pin the placeholder for the process's whole life; this\n* indirection keeps a long-lived provider on the current logger.\n*/\nvar lazyLogger = {\n\tdebug: (m, f) => getLogger().debug(m, f),\n\tinfo: (m, f) => getLogger().info(m, f),\n\twarn: (m, f) => getLogger().warn(m, f),\n\terror: (m, f) => getLogger().error(m, f),\n\tchild: (f) => getLogger().child(f)\n};\nvar runtime = await createSelvaProviders(private_env, {\n\tregistry: {\n\t\tauth: {\n\t\t\tlocal: (e) => LocalAuthProvider.fromEnv(e),\n\t\t\tsupabase: (e) => SupabaseAuthProvider.fromEnv(e, lazyLogger),\n\t\t\theader: (e) => HeaderAuthProvider.fromEnv(e, lazyLogger)\n\t\t},\n\t\tdata: {\n\t\t\tlocal: (e) => LocalDataProvider.fromEnv(e),\n\t\t\tsupabase: (e) => SupabaseDataProvider.fromEnv(e, void 0, lazyLogger)\n\t\t},\n\t\tstorage: {\n\t\t\tlocal: (e) => LocalStorageProvider.fromEnv(e),\n\t\t\tsupabase: (e) => SupabaseStorageProvider.fromEnv(e)\n\t\t}\n\t},\n\tconfigPath: private_env.SELVA_CONFIG_PATH,\n\tlogger: lazyLogger\n});\n/**\n* Memoized provider wiring. The first call instantiates providers from env\n* (and may throw if required secrets are missing); subsequent calls return the\n* cached config. Importing this module has no side effects — initialization\n* happens lazily on the first request, never at build time.\n*/\nfunction resolveProviders() {\n\treturn runtime.resolve();\n}\n/**\n* @deprecated Prefer {@link resolveProviders}. Kept as a property accessor so\n* existing `import { providers }` call sites resolve lazily instead of at\n* import time.\n*/\nvar providers = new Proxy({}, { get(_t, prop) {\n\treturn Reflect.get(resolveProviders(), prop);\n} });\nfunction getTenancy() {\n\treturn runtime.tenancy();\n}\n/**\n* Resolved branding — every field has a default so the UI never has to\n* null-check. White-label deployments override via SELVA_BRAND_* env vars.\n*/\nfunction getBranding() {\n\treturn runtime.branding();\n}\n/** Use this rather than reading flags directly — omitted flags resolve to false. */\nfunction flag(name) {\n\treturn runtime.flag(name);\n}\nvar _definitionService;\nfunction getDefinitionService() {\n\tif (!_definitionService) {\n\t\tconst p = resolveProviders();\n\t\t_definitionService = new DefinitionService(p.data, p.storage);\n\t}\n\treturn _definitionService;\n}\nvar _orgAssetService;\nfunction getOrgAssetService() {\n\tif (!_orgAssetService) {\n\t\tconst p = resolveProviders();\n\t\t_orgAssetService = new OrgAssetService(p.data.orgs, p.storage);\n\t}\n\treturn _orgAssetService;\n}\nfunction getAuthProvider() {\n\treturn resolveProviders().auth;\n}\nfunction getStorageProvider() {\n\treturn resolveProviders().storage;\n}\nfunction getDataProvider() {\n\treturn resolveProviders().data;\n}\nfunction getOrganizationProvider() {\n\treturn resolveProviders().data.orgs;\n}\nfunction getProjectProvider() {\n\treturn resolveProviders().data.projects;\n}\nfunction getDefinitionMeta() {\n\treturn resolveProviders().data.definitions;\n}\nfunction getComputeServerConfigStore() {\n\treturn resolveProviders().data.computeServer;\n}\nfunction getUserProfileStore() {\n\treturn resolveProviders().data.userProfile;\n}\nfunction getInviteStore() {\n\treturn resolveProviders().data.invites;\n}\nfunction getPermissionStore() {\n\treturn resolveProviders().data.permissions;\n}\nfunction getPlatformProjectGrantStore() {\n\treturn resolveProviders().data.platformProjectGrants;\n}\n/**\n* Per-solve timing sink. Defaults to `NoopSolveMetricSink` when the config\n* omits `solveMetrics`, so the compute route can always record unconditionally.\n*/\nfunction getSolveMetricSink() {\n\treturn runtime.solveMetricSink();\n}\n/**\n* Optional. Null on deployments where the audit log isn't queryable\n* (local-provider stays on `NoopEventSink`; the read-side has nothing to\n* surface). Routes that consume this MUST handle null and degrade their UI.\n*/\nfunction getAuditQuery() {\n\treturn providers.data.auditQuery ?? null;\n}\nvar noopEventSink = new NoopEventSink();\n/**\n* Write-side event sink for routes with no store mutation to piggyback on\n* (e.g. the self-update lifecycle events, audit O2). Prefers the explicit\n* `SelvaConfig.events`, then the data provider's own sink, then a no-op —\n* mirroring how the stores themselves are wired.\n*/\nfunction getEventSink() {\n\tconst p = resolveProviders();\n\treturn p.events ?? p.data.events ?? noopEventSink;\n}\nvar LOG_LEVEL = parseLogLevel(private_env.LOG_LEVEL);\nvar _logger = new ConsoleLogger({}, LOG_LEVEL);\n/**\n* The app's root logger. Structured, correlated, and pino-backed when `pino` is\n* installed (it ships with the app; the base `@selvajs/server` install treats it\n* as an optional peer and falls back to the console).\n*\n* Prefer a request-scoped child — `event.locals.log` — inside route handlers, so\n* records carry `requestId`/`route`. Use this root logger for boot, shutdown and\n* background work that belongs to no request.\n*/\nfunction getLogger() {\n\treturn _logger;\n}\n/**\n* `LOG_LEVEL` is operator input, so an unrecognized value must not crash boot\n* (or silently disable logging). Default to `info`, and to `debug` in dev where\n* the extra detail is the point.\n*/\nfunction parseLogLevel(raw) {\n\tconst value = raw?.trim().toLowerCase();\n\tif (value === \"debug\" || value === \"info\" || value === \"warn\" || value === \"error\") return value;\n\tif (isTruthyFlag(private_env.SELVA_FLAG_COMPUTE_DEBUG) || isTruthyFlag(private_env.SELVA_FLAG_COMPUTE_DEBUG_VERBOSE)) return \"debug\";\n\treturn private_env.NODE_ENV === \"development\" ? \"debug\" : \"info\";\n}\n/** Matches the flag spelling accepted elsewhere (`clientCache.server.ts`). */\nfunction isTruthyFlag(raw) {\n\treturn [\n\t\t\"true\",\n\t\t\"1\",\n\t\t\"yes\"\n\t].includes((raw ?? \"\").toLowerCase());\n}\ncreateLogger({\n\tlevel: LOG_LEVEL,\n\tpretty: private_env.NODE_ENV === \"development\",\n\tbase: {\n\t\tservice: \"selva\",\n\t\trelease: private_env.SELVA_RELEASE\n\t}\n}).then((logger) => {\n\t_logger = logger;\n});\nvar _errorReporter = new NoopErrorReporter();\n/**\n* Unexpected-error reporter. Ships errors off-box (Sentry) only when\n* `SENTRY_DSN` is configured; otherwise a no-op, so self-hosters opt in via\n* env and the base install carries no error-tracking dependency.\n*\n* This reports ONLY genuinely unexpected errors. Intentional HTTP outcomes —\n* including the compute route's `apiError(500, …)` on a failed solve — are\n* thrown as SvelteKit `HttpError`s and short-circuit in `handleError` before\n* ever reaching this reporter. Compute failures are not tracked here by design.\n*/\nfunction getErrorReporter() {\n\treturn _errorReporter;\n}\nif (private_env.SENTRY_DSN) SentryErrorReporter.create({\n\tdsn: private_env.SENTRY_DSN,\n\tenvironment: private_env.NODE_ENV,\n\trelease: private_env.SELVA_RELEASE\n}).then((reporter) => {\n\tif (reporter) {\n\t\t_errorReporter = reporter;\n\t\tgetLogger().info(\"Sentry error tracking enabled\", { component: \"ErrorReporter\" });\n\t}\n});\nvar ERROR_HOOKS_FLAG = \"__selvaProcessErrorHooksRegistered\";\nif (!globalThis[ERROR_HOOKS_FLAG]) {\n\tglobalThis[ERROR_HOOKS_FLAG] = true;\n\tprocess.on(\"unhandledRejection\", (reason) => {\n\t\tgetLogger().error(\"Unhandled promise rejection\", {\n\t\t\tcomponent: \"process\",\n\t\t\torigin: \"unhandledRejection\",\n\t\t\terr: renderThrown(reason)\n\t\t});\n\t\tgetErrorReporter().capture(reason, { tags: { origin: \"unhandledRejection\" } });\n\t});\n\tprocess.on(\"uncaughtException\", (error) => {\n\t\tconsole.error(\"[uncaughtException]\", error);\n\t\tgetLogger().error(\"Uncaught exception\", {\n\t\t\tcomponent: \"process\",\n\t\t\torigin: \"uncaughtException\",\n\t\t\terr: renderThrown(error)\n\t\t});\n\t\tgetErrorReporter().capture(error, { tags: { origin: \"uncaughtException\" } });\n\t});\n}\n//#endregion\nexport { SchemaExtractionError as A, providers as C, LocalComputeServerStore as D, resolveRequestId as E, isPlatformServer as F, definitionPaths as I, ProviderError as M, actorFrom as N, DefinitionLoadError as O, isOrgServer as P, lazyLogger as S, renderThrown as T, getProjectProvider as _, getComputeServerConfigStore as a, getTenancy as b, getDefinitionService as c, getInviteStore as d, getLogger as f, getPlatformProjectGrantStore as g, getPermissionStore as h, getBranding as i, fetchSchemaFromCompute as j, createDefinitionLoader as k, getErrorReporter as l, getOrganizationProvider as m, getAuditQuery as n, getDataProvider as o, getOrgAssetService as p, getAuthProvider as r, getDefinitionMeta as s, flag as t, getEventSink as u, getSolveMetricSink as v, REQUEST_ID_HEADER as w, getUserProfileStore as x, getStorageProvider as y };\n"],"names":[],"mappings":"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"}