@selvajs/selva 4.9.0 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (886) hide show
  1. package/build/client/_app/immutable/chunks/9mBCG_FT2.js +1 -0
  2. package/build/client/_app/immutable/chunks/9mBCG_FT2.js.br +2 -0
  3. package/build/client/_app/immutable/chunks/9mBCG_FT2.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/BCG5w5A8.js +1 -0
  5. package/build/client/_app/immutable/chunks/BCG5w5A8.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BCG5w5A8.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/BHKtwUjY2.js +1 -0
  8. package/build/client/_app/immutable/chunks/BHKtwUjY2.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BHKtwUjY2.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/BVIsLQjq.js +3 -0
  11. package/build/client/_app/immutable/chunks/BVIsLQjq.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/BVIsLQjq.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/BqT90Slr2.js +1 -0
  14. package/build/client/_app/immutable/chunks/BqT90Slr2.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BqT90Slr2.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/CovsCXmD.js +1 -0
  17. package/build/client/_app/immutable/chunks/CovsCXmD.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/CovsCXmD.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/Cu1Pj0zN.js +1 -0
  20. package/build/client/_app/immutable/chunks/Cu1Pj0zN.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/Cu1Pj0zN.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/Dp78q_D4.js +2 -0
  23. package/build/client/_app/immutable/chunks/Dp78q_D4.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/Dp78q_D4.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/app.CIEerh5X.js +2 -0
  26. package/build/client/_app/immutable/entry/app.CIEerh5X.js.br +0 -0
  27. package/build/client/_app/immutable/entry/app.CIEerh5X.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/start.K3e5D1g5.js +1 -0
  29. package/build/client/_app/immutable/entry/start.K3e5D1g5.js.br +0 -0
  30. package/build/client/_app/immutable/entry/start.K3e5D1g5.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/1.CHYu4LOJ.js +1 -0
  32. package/build/client/_app/immutable/nodes/1.CHYu4LOJ.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/1.CHYu4LOJ.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/11.D53oPUUY.js +3 -0
  35. package/build/client/_app/immutable/nodes/11.D53oPUUY.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/11.D53oPUUY.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/13.JiVbt7fT.js +2 -0
  38. package/build/client/_app/immutable/nodes/13.JiVbt7fT.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/13.JiVbt7fT.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/14.CBAysUst.js +2 -0
  41. package/build/client/_app/immutable/nodes/14.CBAysUst.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/14.CBAysUst.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/15.CbP8eRy4.js +25 -0
  44. package/build/client/_app/immutable/nodes/15.CbP8eRy4.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/15.CbP8eRy4.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/16.DMh--pkW.js +7 -0
  47. package/build/client/_app/immutable/nodes/16.DMh--pkW.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/16.DMh--pkW.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/17.CDv1mRBH.js +2 -0
  50. package/build/client/_app/immutable/nodes/17.CDv1mRBH.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/17.CDv1mRBH.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/19.prMdq9pK.js +7 -0
  53. package/build/client/_app/immutable/nodes/19.prMdq9pK.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/19.prMdq9pK.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/2.COQ7b3lI.js +1 -0
  56. package/build/client/_app/immutable/nodes/2.COQ7b3lI.js.br +5 -0
  57. package/build/client/_app/immutable/nodes/2.COQ7b3lI.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/20.CxSsjn8U.js +2 -0
  59. package/build/client/_app/immutable/nodes/20.CxSsjn8U.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/20.CxSsjn8U.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/21.BYgwZP4H.js +5495 -0
  62. package/build/client/_app/immutable/nodes/21.BYgwZP4H.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/21.BYgwZP4H.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/22.DGWjw_73.js +6 -0
  65. package/build/client/_app/immutable/nodes/22.DGWjw_73.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/22.DGWjw_73.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/24.DWZbzpWX.js +16 -0
  68. package/build/client/_app/immutable/nodes/24.DWZbzpWX.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/24.DWZbzpWX.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/25.dXIz-84R.js +6 -0
  71. package/build/client/_app/immutable/nodes/25.dXIz-84R.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/25.dXIz-84R.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/28.DibqsAF3.js +4 -0
  74. package/build/client/_app/immutable/nodes/28.DibqsAF3.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/28.DibqsAF3.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/29.Caai20kZ.js +4 -0
  77. package/build/client/_app/immutable/nodes/29.Caai20kZ.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/29.Caai20kZ.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/3.COHLplPG.js +1 -0
  80. package/build/client/_app/immutable/nodes/3.COHLplPG.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/3.COHLplPG.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/30.DqFl7zvG.js +2 -0
  83. package/build/client/_app/immutable/nodes/30.DqFl7zvG.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/30.DqFl7zvG.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/31.C0MTcxhb.js +2 -0
  86. package/build/client/_app/immutable/nodes/31.C0MTcxhb.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/31.C0MTcxhb.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/5.Dof3W5qn.js +1 -0
  89. package/build/client/_app/immutable/nodes/5.Dof3W5qn.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/5.Dof3W5qn.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/6.BwaZq6eW.js +1 -0
  92. package/build/client/_app/immutable/nodes/6.BwaZq6eW.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/6.BwaZq6eW.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/7.CxsuWGVu.js +1 -0
  95. package/build/client/_app/immutable/nodes/7.CxsuWGVu.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/7.CxsuWGVu.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/8.CdgZOv_N.js +2 -0
  98. package/build/client/_app/immutable/nodes/8.CdgZOv_N.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/8.CdgZOv_N.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/9.CvThUr2X.js +1 -0
  101. package/build/client/_app/immutable/nodes/9.CvThUr2X.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/9.CvThUr2X.js.gz +0 -0
  103. package/build/client/_app/version.json +1 -1
  104. package/build/client/_app/version.json.br +0 -0
  105. package/build/client/_app/version.json.gz +0 -0
  106. package/build/handler.js +4 -4
  107. package/build/index.js +4 -4
  108. package/build/server/chunks/chunks/AppHeader.js-BqqIT9_a.js +281 -0
  109. package/build/server/chunks/chunks/AppHeader.js-BqqIT9_a.js.map +1 -0
  110. package/build/server/chunks/chunks/DefinitionCard.js-Cd6Ugiya.js +256 -0
  111. package/build/server/chunks/chunks/DefinitionCard.js-Cd6Ugiya.js.map +1 -0
  112. package/build/server/chunks/chunks/SideNav.js-DSPpqjie.js +67 -0
  113. package/build/server/chunks/chunks/SideNav.js-DSPpqjie.js.map +1 -0
  114. package/build/server/chunks/chunks/UserChip.js-U7u7sT5N.js +1162 -0
  115. package/build/server/chunks/chunks/UserChip.js-U7u7sT5N.js.map +1 -0
  116. package/build/server/chunks/chunks/access.server.js-CtByiPfW.js +459 -0
  117. package/build/server/chunks/chunks/access.server.js-CtByiPfW.js.map +1 -0
  118. package/build/server/chunks/chunks/access2.server.js-DbGrdjPC.js +22 -0
  119. package/build/server/chunks/chunks/access2.server.js-DbGrdjPC.js.map +1 -0
  120. package/build/server/chunks/chunks/admin-config.js-Dg_fjIrF.js +3 -0
  121. package/build/server/chunks/chunks/admin-config.js-Dg_fjIrF.js.map +1 -0
  122. package/build/server/chunks/chunks/api-errors.js-BxgJsaxY.js +139 -0
  123. package/build/server/chunks/chunks/api-errors.js-BxgJsaxY.js.map +1 -0
  124. package/build/server/chunks/chunks/auth-bootstrap.server.js-B8cpS58t.js +152 -0
  125. package/build/server/chunks/chunks/auth-bootstrap.server.js-B8cpS58t.js.map +1 -0
  126. package/build/server/chunks/chunks/auth.server.js-BJ7UbJRt.js +2 -0
  127. package/build/server/chunks/chunks/auth.server.js-BJ7UbJRt.js.map +1 -0
  128. package/build/server/chunks/chunks/bootHealth.server.js-DMMDGqBg.js +89 -0
  129. package/build/server/chunks/chunks/bootHealth.server.js-DMMDGqBg.js.map +1 -0
  130. package/build/server/chunks/chunks/client.js-gE7PkUOx.js +59 -0
  131. package/build/server/chunks/chunks/client.js-gE7PkUOx.js.map +1 -0
  132. package/build/server/chunks/chunks/compute.js-CLbxijB0.js +276 -0
  133. package/build/server/chunks/chunks/compute.js-CLbxijB0.js.map +1 -0
  134. package/build/server/chunks/chunks/computeLimits.js-BW8Girbw.js +44 -0
  135. package/build/server/chunks/chunks/computeLimits.js-BW8Girbw.js.map +1 -0
  136. package/build/server/chunks/chunks/engine.server.js-17hYtiXl.js +569 -0
  137. package/build/server/chunks/chunks/engine.server.js-17hYtiXl.js.map +1 -0
  138. package/build/server/chunks/chunks/forms.js-mdPo9YOJ.js +2 -0
  139. package/build/server/chunks/chunks/forms.js-mdPo9YOJ.js.map +1 -0
  140. package/build/server/chunks/chunks/internal.js-CkVehOOc.js.map +1 -1
  141. package/build/server/chunks/chunks/internal2.js-DmDzNPL8.js +224 -0
  142. package/build/server/chunks/chunks/internal2.js-DmDzNPL8.js.map +1 -0
  143. package/build/server/chunks/chunks/limits.js-DRxCN6Nq.js +140 -0
  144. package/build/server/chunks/chunks/limits.js-DRxCN6Nq.js.map +1 -0
  145. package/build/server/chunks/chunks/navigation.js-mdPo9YOJ.js +2 -0
  146. package/build/server/chunks/chunks/navigation.js-mdPo9YOJ.js.map +1 -0
  147. package/build/server/chunks/chunks/org-members.server.js-CFxu11S8.js +35 -0
  148. package/build/server/chunks/chunks/org-members.server.js-CFxu11S8.js.map +1 -0
  149. package/build/server/chunks/chunks/package.js-DGZfun5T.js +78 -0
  150. package/build/server/chunks/chunks/package.js-DGZfun5T.js.map +1 -0
  151. package/build/server/chunks/chunks/paths.js-D2qVOK2I.js +19 -0
  152. package/build/server/chunks/chunks/paths.js-D2qVOK2I.js.map +1 -0
  153. package/build/server/chunks/chunks/permissions.server.js-CkFRL-d3.js +15 -0
  154. package/build/server/chunks/chunks/permissions.server.js-CkFRL-d3.js.map +1 -0
  155. package/build/server/chunks/chunks/providers.server.js-DidbFirI.js +6139 -0
  156. package/build/server/chunks/chunks/providers.server.js-DidbFirI.js.map +1 -0
  157. package/build/server/chunks/chunks/resolve.server.js-0mH_FvvO.js +62 -0
  158. package/build/server/chunks/chunks/resolve.server.js-0mH_FvvO.js.map +1 -0
  159. package/build/server/chunks/chunks/responses.js-CrxH502H.js +91 -0
  160. package/build/server/chunks/chunks/responses.js-CrxH502H.js.map +1 -0
  161. package/build/server/chunks/chunks/route.js-D4ygOdcI.js +166 -0
  162. package/build/server/chunks/chunks/route.js-D4ygOdcI.js.map +1 -0
  163. package/build/server/chunks/chunks/search.js-DlGNRpd8.js +19 -0
  164. package/build/server/chunks/chunks/search.js-DlGNRpd8.js.map +1 -0
  165. package/build/server/chunks/chunks/selfUpdate.server.js-DgOltfDI.js +149 -0
  166. package/build/server/chunks/chunks/selfUpdate.server.js-DgOltfDI.js.map +1 -0
  167. package/build/server/chunks/chunks/serverConfigWrite.js-D7Ys--kd.js +80 -0
  168. package/build/server/chunks/chunks/serverConfigWrite.js-D7Ys--kd.js.map +1 -0
  169. package/build/server/chunks/chunks/solve.server.js-DGACE4Pn.js +300 -0
  170. package/build/server/chunks/chunks/solve.server.js-DGACE4Pn.js.map +1 -0
  171. package/build/server/chunks/chunks/state.js-ChDEmDWa.js +76 -0
  172. package/build/server/chunks/chunks/state.js-ChDEmDWa.js.map +1 -0
  173. package/build/server/chunks/chunks/stores.js-BA_asgTq.js +35 -0
  174. package/build/server/chunks/chunks/stores.js-BA_asgTq.js.map +1 -0
  175. package/build/server/chunks/chunks/utils2.js-DPcucOBl.js +56 -0
  176. package/build/server/chunks/chunks/utils2.js-DPcucOBl.js.map +1 -0
  177. package/build/server/chunks/chunks/visibility.server.js-C2GlXeqe.js +107 -0
  178. package/build/server/chunks/chunks/visibility.server.js-C2GlXeqe.js.map +1 -0
  179. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-D8TKd93c.js +84 -0
  180. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-D8TKd93c.js.map +1 -0
  181. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-DcGdczKi.js +54 -0
  182. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-DcGdczKi.js.map +1 -0
  183. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CmDEN3Zj.js +80 -0
  184. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-CmDEN3Zj.js.map +1 -0
  185. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-C22Amph3.js +51 -0
  186. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-C22Amph3.js.map +1 -0
  187. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-8kVdLD4e.js +72 -0
  188. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-8kVdLD4e.js.map +1 -0
  189. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-CuFT5UYK.js +75 -0
  190. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-CuFT5UYK.js.map +1 -0
  191. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-buPp6WBB.js +34 -0
  192. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-buPp6WBB.js.map +1 -0
  193. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-ByFepiSi.js +72 -0
  194. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-ByFepiSi.js.map +1 -0
  195. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-BMFX9kWJ.js +103 -0
  196. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-BMFX9kWJ.js.map +1 -0
  197. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-Wd55F6z4.js +194 -0
  198. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-Wd55F6z4.js.map +1 -0
  199. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-CLGsobSr.js +90 -0
  200. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-CLGsobSr.js.map +1 -0
  201. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-CbMz3wmb.js +564 -0
  202. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-CbMz3wmb.js.map +1 -0
  203. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-Qy_amyG3.js +76 -0
  204. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-Qy_amyG3.js.map +1 -0
  205. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-Fkq-f51-.js +46 -0
  206. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-Fkq-f51-.js.map +1 -0
  207. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-R-RlaNof.js +84 -0
  208. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-R-RlaNof.js.map +1 -0
  209. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-D5rstuc9.js +60 -0
  210. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-D5rstuc9.js.map +1 -0
  211. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-DDCo989-.js +89 -0
  212. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-DDCo989-.js.map +1 -0
  213. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-2rT5V9Qg.js +57 -0
  214. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-2rT5V9Qg.js.map +1 -0
  215. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Dby6985v.js +60 -0
  216. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-Dby6985v.js.map +1 -0
  217. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-CtOccShJ.js +83 -0
  218. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-CtOccShJ.js.map +1 -0
  219. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-I6Ata7-b.js +61 -0
  220. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-I6Ata7-b.js.map +1 -0
  221. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-ENn5Un43.js +63 -0
  222. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-ENn5Un43.js.map +1 -0
  223. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-C9U4v9SK.js +37 -0
  224. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-C9U4v9SK.js.map +1 -0
  225. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-Cz4t6Pw4.js +33 -0
  226. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-Cz4t6Pw4.js.map +1 -0
  227. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-DPWOMh0N.js +39 -0
  228. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-DPWOMh0N.js.map +1 -0
  229. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-CCPMelZ3.js +39 -0
  230. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-CCPMelZ3.js.map +1 -0
  231. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-IisAh27x.js +81 -0
  232. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-IisAh27x.js.map +1 -0
  233. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-CU_hEfWw.js +0 -0
  234. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-CU_hEfWw.js.map +1 -0
  235. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-BOkikAzQ.js +54 -0
  236. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-BOkikAzQ.js.map +1 -0
  237. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CR-wSySw.js +48 -0
  238. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CR-wSySw.js.map +1 -0
  239. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-BH9xWvlR.js +40 -0
  240. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-BH9xWvlR.js.map +1 -0
  241. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-fXnpb3gt.js +113 -0
  242. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-fXnpb3gt.js.map +1 -0
  243. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DG1apOg2.js +39 -0
  244. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-DG1apOg2.js.map +1 -0
  245. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-h8LQFRmx.js +36 -0
  246. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-h8LQFRmx.js.map +1 -0
  247. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-Cdg3heqW.js +30 -0
  248. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-Cdg3heqW.js.map +1 -0
  249. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-CpyN_qYd.js +74 -0
  250. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-CpyN_qYd.js.map +1 -0
  251. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-BqRLXi8N.js +101 -0
  252. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-BqRLXi8N.js.map +1 -0
  253. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-B68WN_od.js +46 -0
  254. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-B68WN_od.js.map +1 -0
  255. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CCK8e3MY.js +64 -0
  256. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-CCK8e3MY.js.map +1 -0
  257. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-DZLKVRtE.js +33 -0
  258. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-DZLKVRtE.js.map +1 -0
  259. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-DQsDdRNm.js +90 -0
  260. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-DQsDdRNm.js.map +1 -0
  261. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-slgXt3YW.js +84 -0
  262. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-slgXt3YW.js.map +1 -0
  263. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-C60DdAoA.js +51 -0
  264. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-C60DdAoA.js.map +1 -0
  265. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-4Q6hl2nQ.js +51 -0
  266. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-4Q6hl2nQ.js.map +1 -0
  267. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-CcyCqNun.js +44 -0
  268. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-CcyCqNun.js.map +1 -0
  269. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-Ct7moAo7.js +83 -0
  270. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-Ct7moAo7.js.map +1 -0
  271. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-BWJq3jJi.js +45 -0
  272. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-BWJq3jJi.js.map +1 -0
  273. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-cEVdkBgC.js +49 -0
  274. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-cEVdkBgC.js.map +1 -0
  275. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-BOUF3if-.js +52 -0
  276. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-BOUF3if-.js.map +1 -0
  277. package/build/server/chunks/entries/hooks.server.js-YjRSJtzl.js +314 -0
  278. package/build/server/chunks/entries/hooks.server.js-YjRSJtzl.js.map +1 -0
  279. package/build/server/chunks/entries/pages/_error.svelte.js-B9oCN23V.js +36 -0
  280. package/build/server/chunks/entries/pages/_error.svelte.js-B9oCN23V.js.map +1 -0
  281. package/build/server/chunks/entries/pages/_layout.server.ts.js-XXU_UHt9.js +34 -0
  282. package/build/server/chunks/entries/pages/_layout.server.ts.js-XXU_UHt9.js.map +1 -0
  283. package/build/server/chunks/entries/pages/_page.svelte.js-BQdj8Qyn.js +77 -0
  284. package/build/server/chunks/entries/pages/_page.svelte.js-BQdj8Qyn.js.map +1 -0
  285. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DcW2WrPT.js +116 -0
  286. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DcW2WrPT.js.map +1 -0
  287. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-YPa6-wl1.js +149 -0
  288. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-YPa6-wl1.js.map +1 -0
  289. package/build/server/chunks/entries/pages/admin/_error.svelte.js-D-PHsom9.js +37 -0
  290. package/build/server/chunks/entries/pages/admin/_error.svelte.js-D-PHsom9.js.map +1 -0
  291. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BIDgiygf.js +31 -0
  292. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-BIDgiygf.js.map +1 -0
  293. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-bkdXRNJA.js +122 -0
  294. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-bkdXRNJA.js.map +1 -0
  295. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DX6Tdo-7.js +75 -0
  296. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DX6Tdo-7.js.map +1 -0
  297. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DpI_koon.js +360 -0
  298. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DpI_koon.js.map +1 -0
  299. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DH_BS6lc.js +245 -0
  300. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-DH_BS6lc.js.map +1 -0
  301. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-BOBDx9Jh.js +74 -0
  302. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-BOBDx9Jh.js.map +1 -0
  303. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-D9V2VQsk.js +673 -0
  304. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-D9V2VQsk.js.map +1 -0
  305. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-48PQEk5e.js +35 -0
  306. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-48PQEk5e.js.map +1 -0
  307. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-Cw7O8f6m.js +86 -0
  308. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-Cw7O8f6m.js.map +1 -0
  309. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-siYf9Q4a.js +617 -0
  310. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-siYf9Q4a.js.map +1 -0
  311. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-D-xaRX4J.js +42 -0
  312. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-D-xaRX4J.js.map +1 -0
  313. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CsnZchUj.js +283 -0
  314. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CsnZchUj.js.map +1 -0
  315. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-C9cWn9JR.js +86 -0
  316. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-C9cWn9JR.js.map +1 -0
  317. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DP8y8a3W.js +1475 -0
  318. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DP8y8a3W.js.map +1 -0
  319. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-CKlsGxgO.js +70 -0
  320. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-CKlsGxgO.js.map +1 -0
  321. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BWngOGES.js +805 -0
  322. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BWngOGES.js.map +1 -0
  323. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-DcBkxE2N.js +63 -0
  324. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-DcBkxE2N.js.map +1 -0
  325. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-B1IikTvV.js +62 -0
  326. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-B1IikTvV.js.map +1 -0
  327. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-CEEnV5ld.js +527 -0
  328. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-CEEnV5ld.js.map +1 -0
  329. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-BpA6hqVU.js +90 -0
  330. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-BpA6hqVU.js.map +1 -0
  331. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-BWip5kRc.js +118 -0
  332. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-BWip5kRc.js.map +1 -0
  333. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-Bq7zfAi6.js +12881 -0
  334. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-Bq7zfAi6.js.map +1 -0
  335. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DdBljSPR.js +48 -0
  336. package/build/server/chunks/entries/pages/library/_page.server.ts.js-DdBljSPR.js.map +1 -0
  337. package/build/server/chunks/entries/pages/library/_page.svelte.js-BOaWIY84.js +323 -0
  338. package/build/server/chunks/entries/pages/library/_page.svelte.js-BOaWIY84.js.map +1 -0
  339. package/build/server/chunks/entries/pages/login/_page.server.ts.js-CcIqkImB.js +83 -0
  340. package/build/server/chunks/entries/pages/login/_page.server.ts.js-CcIqkImB.js.map +1 -0
  341. package/build/server/chunks/entries/pages/login/_page.svelte.js-BZF2SPGZ.js +257 -0
  342. package/build/server/chunks/entries/pages/login/_page.svelte.js-BZF2SPGZ.js.map +1 -0
  343. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-CMAdRDUJ.js +50 -0
  344. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-CMAdRDUJ.js.map +1 -0
  345. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BK0No9tN.js +92 -0
  346. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BK0No9tN.js.map +1 -0
  347. package/build/server/chunks/entries/pages/projects/_page.svelte.js-CWGZYH86.js +3745 -0
  348. package/build/server/chunks/entries/pages/projects/_page.svelte.js-CWGZYH86.js.map +1 -0
  349. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Bwbv2byC.js +114 -0
  350. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Bwbv2byC.js.map +1 -0
  351. package/build/server/chunks/entries/pages/setup/_page.svelte.js-Ci0h_3Y0.js +322 -0
  352. package/build/server/chunks/entries/pages/setup/_page.svelte.js-Ci0h_3Y0.js.map +1 -0
  353. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-CGsNm3GK.js +28 -0
  354. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-CGsNm3GK.js.map +1 -0
  355. package/build/server/chunks/entries/pages/team/_layout.svelte.js-B7V8rmk_.js +163 -0
  356. package/build/server/chunks/entries/pages/team/_layout.svelte.js-B7V8rmk_.js.map +1 -0
  357. package/build/server/chunks/entries/pages/team/_page.server.ts.js-BTHBuOfN.js +35 -0
  358. package/build/server/chunks/entries/pages/team/_page.server.ts.js-BTHBuOfN.js.map +1 -0
  359. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CbGtMo68.js +42 -0
  360. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CbGtMo68.js.map +1 -0
  361. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-URIaf15M.js +594 -0
  362. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-URIaf15M.js.map +1 -0
  363. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CA_qsfOy.js +58 -0
  364. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-CA_qsfOy.js.map +1 -0
  365. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-Bp1rcYA8.js +540 -0
  366. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-Bp1rcYA8.js.map +1 -0
  367. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CldH9eBq.js +42 -0
  368. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-CldH9eBq.js.map +1 -0
  369. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CeGAmMEB.js +437 -0
  370. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-CeGAmMEB.js.map +1 -0
  371. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BBRg2eHu.js +50 -0
  372. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-BBRg2eHu.js.map +1 -0
  373. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-BqeVJ5u4.js +263 -0
  374. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-BqeVJ5u4.js.map +1 -0
  375. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-DwhZp-tF.js +32 -0
  376. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-DwhZp-tF.js.map +1 -0
  377. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-COka0di6.js +16 -0
  378. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-COka0di6.js.map +1 -0
  379. package/build/server/chunks/handler-BcqCh2dp.js +1206 -0
  380. package/build/server/chunks/handler-BcqCh2dp.js.map +1 -0
  381. package/build/server/chunks/index.js-Cxzt7Vsw.js +3757 -0
  382. package/build/server/chunks/index.js-Cxzt7Vsw.js.map +1 -0
  383. package/build/server/chunks/manifest.js-D0-7SmM1.js +605 -0
  384. package/build/server/chunks/manifest.js-D0-7SmM1.js.map +1 -0
  385. package/build/server/chunks/nodes/0.js-CLwe0gsI.js +25 -0
  386. package/build/server/chunks/nodes/0.js-CLwe0gsI.js.map +1 -0
  387. package/build/server/chunks/nodes/1.js-ihy9Wwkl.js +9 -0
  388. package/build/server/chunks/nodes/1.js-ihy9Wwkl.js.map +1 -0
  389. package/build/server/chunks/nodes/10.js-CFBHLaAR.js +29 -0
  390. package/build/server/chunks/nodes/10.js-CFBHLaAR.js.map +1 -0
  391. package/build/server/chunks/nodes/11.js-BRf_avb7.js +35 -0
  392. package/build/server/chunks/nodes/11.js-BRf_avb7.js.map +1 -0
  393. package/build/server/chunks/nodes/12.js-CWP3hyMG.js +26 -0
  394. package/build/server/chunks/nodes/12.js-CWP3hyMG.js.map +1 -0
  395. package/build/server/chunks/nodes/13.js-C51jLglF.js +26 -0
  396. package/build/server/chunks/nodes/13.js-C51jLglF.js.map +1 -0
  397. package/build/server/chunks/nodes/14.js-BzZSvZhb.js +26 -0
  398. package/build/server/chunks/nodes/14.js-BzZSvZhb.js.map +1 -0
  399. package/build/server/chunks/nodes/15.js-Dyk8djqm.js +36 -0
  400. package/build/server/chunks/nodes/15.js-Dyk8djqm.js.map +1 -0
  401. package/build/server/chunks/nodes/16.js-CQac7tXW.js +31 -0
  402. package/build/server/chunks/nodes/16.js-CQac7tXW.js.map +1 -0
  403. package/build/server/chunks/nodes/17.js-iB1jet_M.js +9 -0
  404. package/build/server/chunks/nodes/17.js-iB1jet_M.js.map +1 -0
  405. package/build/server/chunks/nodes/18.js-4fzwYkSG.js +30 -0
  406. package/build/server/chunks/nodes/18.js-4fzwYkSG.js.map +1 -0
  407. package/build/server/chunks/nodes/19.js-BYPfbf-y.js +29 -0
  408. package/build/server/chunks/nodes/19.js-BYPfbf-y.js.map +1 -0
  409. package/build/server/chunks/nodes/2.js-Be9hoYTU.js +29 -0
  410. package/build/server/chunks/nodes/2.js-Be9hoYTU.js.map +1 -0
  411. package/build/server/chunks/nodes/20.js-pZnyCvmY.js +30 -0
  412. package/build/server/chunks/nodes/20.js-pZnyCvmY.js.map +1 -0
  413. package/build/server/chunks/nodes/21.js-vWOn41x-.js +38 -0
  414. package/build/server/chunks/nodes/21.js-vWOn41x-.js.map +1 -0
  415. package/build/server/chunks/nodes/22.js-DZ9wgC1W.js +30 -0
  416. package/build/server/chunks/nodes/22.js-DZ9wgC1W.js.map +1 -0
  417. package/build/server/chunks/nodes/24.js-oV8e5WCa.js +29 -0
  418. package/build/server/chunks/nodes/24.js-oV8e5WCa.js.map +1 -0
  419. package/build/server/chunks/nodes/25.js-Ddk8sxcP.js +30 -0
  420. package/build/server/chunks/nodes/25.js-Ddk8sxcP.js.map +1 -0
  421. package/build/server/chunks/nodes/26.js-3O9AxOJG.js +26 -0
  422. package/build/server/chunks/nodes/26.js-3O9AxOJG.js.map +1 -0
  423. package/build/server/chunks/nodes/28.js-DzGJtNjX.js +27 -0
  424. package/build/server/chunks/nodes/28.js-DzGJtNjX.js.map +1 -0
  425. package/build/server/chunks/nodes/29.js-B5Rpt8XA.js +26 -0
  426. package/build/server/chunks/nodes/29.js-B5Rpt8XA.js.map +1 -0
  427. package/build/server/chunks/nodes/3.js-zvN4l2Te.js +9 -0
  428. package/build/server/chunks/nodes/3.js-zvN4l2Te.js.map +1 -0
  429. package/build/server/chunks/nodes/30.js-C4gYJEb3.js +26 -0
  430. package/build/server/chunks/nodes/30.js-C4gYJEb3.js.map +1 -0
  431. package/build/server/chunks/nodes/31.js-CZDfpsl2.js +26 -0
  432. package/build/server/chunks/nodes/31.js-CZDfpsl2.js.map +1 -0
  433. package/build/server/chunks/nodes/32.js-CiwBKGgV.js +26 -0
  434. package/build/server/chunks/nodes/32.js-CiwBKGgV.js.map +1 -0
  435. package/build/server/chunks/nodes/33.js-DB1zIgiV.js +26 -0
  436. package/build/server/chunks/nodes/33.js-DB1zIgiV.js.map +1 -0
  437. package/build/server/chunks/nodes/5.js-BoIy95vq.js +15 -0
  438. package/build/server/chunks/nodes/5.js-BoIy95vq.js.map +1 -0
  439. package/build/server/chunks/nodes/6.js-DYNDdl9-.js +26 -0
  440. package/build/server/chunks/nodes/6.js-DYNDdl9-.js.map +1 -0
  441. package/build/server/chunks/nodes/7.js-DDQo7vSf.js +12 -0
  442. package/build/server/chunks/nodes/7.js-DDQo7vSf.js.map +1 -0
  443. package/build/server/chunks/nodes/8.js-DNADmqSk.js +32 -0
  444. package/build/server/chunks/nodes/8.js-DNADmqSk.js.map +1 -0
  445. package/build/server/chunks/nodes/9.js-DPPBQ5sI.js +26 -0
  446. package/build/server/chunks/nodes/9.js-DPPBQ5sI.js.map +1 -0
  447. package/package.json +6 -6
  448. package/templates/.env.example +6 -6
  449. package/build/client/_app/immutable/chunks/BJ1titjr.js +0 -1
  450. package/build/client/_app/immutable/chunks/BJ1titjr.js.br +0 -0
  451. package/build/client/_app/immutable/chunks/BJ1titjr.js.gz +0 -0
  452. package/build/client/_app/immutable/chunks/Ba5e_Szc2.js +0 -1
  453. package/build/client/_app/immutable/chunks/Ba5e_Szc2.js.br +0 -2
  454. package/build/client/_app/immutable/chunks/Ba5e_Szc2.js.gz +0 -0
  455. package/build/client/_app/immutable/chunks/CR6AN07v.js +0 -1
  456. package/build/client/_app/immutable/chunks/CR6AN07v.js.br +0 -2
  457. package/build/client/_app/immutable/chunks/CR6AN07v.js.gz +0 -0
  458. package/build/client/_app/immutable/chunks/CXk7zzxB.js +0 -2
  459. package/build/client/_app/immutable/chunks/CXk7zzxB.js.br +0 -0
  460. package/build/client/_app/immutable/chunks/CXk7zzxB.js.gz +0 -0
  461. package/build/client/_app/immutable/chunks/D9e_QTet2.js +0 -1
  462. package/build/client/_app/immutable/chunks/D9e_QTet2.js.br +0 -0
  463. package/build/client/_app/immutable/chunks/D9e_QTet2.js.gz +0 -0
  464. package/build/client/_app/immutable/chunks/DJgkiyc_.js +0 -1
  465. package/build/client/_app/immutable/chunks/DJgkiyc_.js.br +0 -0
  466. package/build/client/_app/immutable/chunks/DJgkiyc_.js.gz +0 -0
  467. package/build/client/_app/immutable/chunks/DhW_r4Se2.js +0 -1
  468. package/build/client/_app/immutable/chunks/DhW_r4Se2.js.br +0 -0
  469. package/build/client/_app/immutable/chunks/DhW_r4Se2.js.gz +0 -0
  470. package/build/client/_app/immutable/chunks/QnE7Zhsu.js +0 -3
  471. package/build/client/_app/immutable/chunks/QnE7Zhsu.js.br +0 -0
  472. package/build/client/_app/immutable/chunks/QnE7Zhsu.js.gz +0 -0
  473. package/build/client/_app/immutable/entry/app.C7z1DYdd.js +0 -2
  474. package/build/client/_app/immutable/entry/app.C7z1DYdd.js.br +0 -0
  475. package/build/client/_app/immutable/entry/app.C7z1DYdd.js.gz +0 -0
  476. package/build/client/_app/immutable/entry/start.CzaR1gTK.js +0 -1
  477. package/build/client/_app/immutable/entry/start.CzaR1gTK.js.br +0 -0
  478. package/build/client/_app/immutable/entry/start.CzaR1gTK.js.gz +0 -0
  479. package/build/client/_app/immutable/nodes/1.DgxQBbm4.js +0 -1
  480. package/build/client/_app/immutable/nodes/1.DgxQBbm4.js.br +0 -0
  481. package/build/client/_app/immutable/nodes/1.DgxQBbm4.js.gz +0 -0
  482. package/build/client/_app/immutable/nodes/11.KerihFoX.js +0 -3
  483. package/build/client/_app/immutable/nodes/11.KerihFoX.js.br +0 -0
  484. package/build/client/_app/immutable/nodes/11.KerihFoX.js.gz +0 -0
  485. package/build/client/_app/immutable/nodes/13.sF4TjXx5.js +0 -2
  486. package/build/client/_app/immutable/nodes/13.sF4TjXx5.js.br +0 -0
  487. package/build/client/_app/immutable/nodes/13.sF4TjXx5.js.gz +0 -0
  488. package/build/client/_app/immutable/nodes/14.BHIi-huz.js +0 -2
  489. package/build/client/_app/immutable/nodes/14.BHIi-huz.js.br +0 -0
  490. package/build/client/_app/immutable/nodes/14.BHIi-huz.js.gz +0 -0
  491. package/build/client/_app/immutable/nodes/15.B7FPhaeG.js +0 -26
  492. package/build/client/_app/immutable/nodes/15.B7FPhaeG.js.br +0 -0
  493. package/build/client/_app/immutable/nodes/15.B7FPhaeG.js.gz +0 -0
  494. package/build/client/_app/immutable/nodes/16.C_jemWZO.js +0 -6
  495. package/build/client/_app/immutable/nodes/16.C_jemWZO.js.br +0 -0
  496. package/build/client/_app/immutable/nodes/16.C_jemWZO.js.gz +0 -0
  497. package/build/client/_app/immutable/nodes/17.CHk2EqVG.js +0 -2
  498. package/build/client/_app/immutable/nodes/17.CHk2EqVG.js.br +0 -0
  499. package/build/client/_app/immutable/nodes/17.CHk2EqVG.js.gz +0 -0
  500. package/build/client/_app/immutable/nodes/19.k_KEtYk4.js +0 -7
  501. package/build/client/_app/immutable/nodes/19.k_KEtYk4.js.br +0 -0
  502. package/build/client/_app/immutable/nodes/19.k_KEtYk4.js.gz +0 -0
  503. package/build/client/_app/immutable/nodes/2.BMyoGr5f.js +0 -1
  504. package/build/client/_app/immutable/nodes/2.BMyoGr5f.js.br +0 -2
  505. package/build/client/_app/immutable/nodes/2.BMyoGr5f.js.gz +0 -0
  506. package/build/client/_app/immutable/nodes/20.CqvBzYHe.js +0 -2
  507. package/build/client/_app/immutable/nodes/20.CqvBzYHe.js.br +0 -0
  508. package/build/client/_app/immutable/nodes/20.CqvBzYHe.js.gz +0 -0
  509. package/build/client/_app/immutable/nodes/21.Bdq7i9gx.js +0 -5495
  510. package/build/client/_app/immutable/nodes/21.Bdq7i9gx.js.br +0 -0
  511. package/build/client/_app/immutable/nodes/21.Bdq7i9gx.js.gz +0 -0
  512. package/build/client/_app/immutable/nodes/22.DiDjt5np.js +0 -6
  513. package/build/client/_app/immutable/nodes/22.DiDjt5np.js.br +0 -0
  514. package/build/client/_app/immutable/nodes/22.DiDjt5np.js.gz +0 -0
  515. package/build/client/_app/immutable/nodes/24.CUdJe1ye.js +0 -16
  516. package/build/client/_app/immutable/nodes/24.CUdJe1ye.js.br +0 -0
  517. package/build/client/_app/immutable/nodes/24.CUdJe1ye.js.gz +0 -0
  518. package/build/client/_app/immutable/nodes/25.D7y_AcOn.js +0 -6
  519. package/build/client/_app/immutable/nodes/25.D7y_AcOn.js.br +0 -0
  520. package/build/client/_app/immutable/nodes/25.D7y_AcOn.js.gz +0 -0
  521. package/build/client/_app/immutable/nodes/28.DHXKEO_W.js +0 -4
  522. package/build/client/_app/immutable/nodes/28.DHXKEO_W.js.br +0 -0
  523. package/build/client/_app/immutable/nodes/28.DHXKEO_W.js.gz +0 -0
  524. package/build/client/_app/immutable/nodes/29.CWD7F418.js +0 -4
  525. package/build/client/_app/immutable/nodes/29.CWD7F418.js.br +0 -0
  526. package/build/client/_app/immutable/nodes/29.CWD7F418.js.gz +0 -0
  527. package/build/client/_app/immutable/nodes/3.CB4c2xi-.js +0 -1
  528. package/build/client/_app/immutable/nodes/3.CB4c2xi-.js.br +0 -0
  529. package/build/client/_app/immutable/nodes/3.CB4c2xi-.js.gz +0 -0
  530. package/build/client/_app/immutable/nodes/30.BkiRE7Ol.js +0 -2
  531. package/build/client/_app/immutable/nodes/30.BkiRE7Ol.js.br +0 -0
  532. package/build/client/_app/immutable/nodes/30.BkiRE7Ol.js.gz +0 -0
  533. package/build/client/_app/immutable/nodes/31.BB3I96IL.js +0 -2
  534. package/build/client/_app/immutable/nodes/31.BB3I96IL.js.br +0 -0
  535. package/build/client/_app/immutable/nodes/31.BB3I96IL.js.gz +0 -0
  536. package/build/client/_app/immutable/nodes/5.Ds9zNfwn.js +0 -1
  537. package/build/client/_app/immutable/nodes/5.Ds9zNfwn.js.br +0 -1
  538. package/build/client/_app/immutable/nodes/5.Ds9zNfwn.js.gz +0 -0
  539. package/build/client/_app/immutable/nodes/6.Do62ld3o.js +0 -1
  540. package/build/client/_app/immutable/nodes/6.Do62ld3o.js.br +0 -0
  541. package/build/client/_app/immutable/nodes/6.Do62ld3o.js.gz +0 -0
  542. package/build/client/_app/immutable/nodes/7.CkGkeL0k.js +0 -1
  543. package/build/client/_app/immutable/nodes/7.CkGkeL0k.js.br +0 -0
  544. package/build/client/_app/immutable/nodes/7.CkGkeL0k.js.gz +0 -0
  545. package/build/client/_app/immutable/nodes/8.ClQG8D8_.js +0 -2
  546. package/build/client/_app/immutable/nodes/8.ClQG8D8_.js.br +0 -0
  547. package/build/client/_app/immutable/nodes/8.ClQG8D8_.js.gz +0 -0
  548. package/build/client/_app/immutable/nodes/9.DD2KpKEh.js +0 -1
  549. package/build/client/_app/immutable/nodes/9.DD2KpKEh.js.br +0 -0
  550. package/build/client/_app/immutable/nodes/9.DD2KpKEh.js.gz +0 -0
  551. package/build/server/chunks/chunks/AppHeader.js-COKMHUFV.js +0 -281
  552. package/build/server/chunks/chunks/AppHeader.js-COKMHUFV.js.map +0 -1
  553. package/build/server/chunks/chunks/DefinitionCard.js-DfFQHn2b.js +0 -269
  554. package/build/server/chunks/chunks/DefinitionCard.js-DfFQHn2b.js.map +0 -1
  555. package/build/server/chunks/chunks/SideNav.js-aNokKDwy.js +0 -67
  556. package/build/server/chunks/chunks/SideNav.js-aNokKDwy.js.map +0 -1
  557. package/build/server/chunks/chunks/UserChip.js-dJO0x2VB.js +0 -1162
  558. package/build/server/chunks/chunks/UserChip.js-dJO0x2VB.js.map +0 -1
  559. package/build/server/chunks/chunks/access.server.js-KIv3puod.js +0 -459
  560. package/build/server/chunks/chunks/access.server.js-KIv3puod.js.map +0 -1
  561. package/build/server/chunks/chunks/access2.server.js-BokNZvPS.js +0 -22
  562. package/build/server/chunks/chunks/access2.server.js-BokNZvPS.js.map +0 -1
  563. package/build/server/chunks/chunks/admin-config.js-tTdM2Wip.js +0 -3
  564. package/build/server/chunks/chunks/admin-config.js-tTdM2Wip.js.map +0 -1
  565. package/build/server/chunks/chunks/api-errors.js-BtMe4WGg.js +0 -139
  566. package/build/server/chunks/chunks/api-errors.js-BtMe4WGg.js.map +0 -1
  567. package/build/server/chunks/chunks/auth-bootstrap.server.js-Dut0f6uo.js +0 -152
  568. package/build/server/chunks/chunks/auth-bootstrap.server.js-Dut0f6uo.js.map +0 -1
  569. package/build/server/chunks/chunks/auth.server.js-Cwiabui9.js +0 -2
  570. package/build/server/chunks/chunks/auth.server.js-Cwiabui9.js.map +0 -1
  571. package/build/server/chunks/chunks/bootHealth.server.js-DZ06O6u8.js +0 -89
  572. package/build/server/chunks/chunks/bootHealth.server.js-DZ06O6u8.js.map +0 -1
  573. package/build/server/chunks/chunks/client.js-BelvuVWm.js +0 -59
  574. package/build/server/chunks/chunks/client.js-BelvuVWm.js.map +0 -1
  575. package/build/server/chunks/chunks/compute.js-DWhW1bj0.js +0 -276
  576. package/build/server/chunks/chunks/compute.js-DWhW1bj0.js.map +0 -1
  577. package/build/server/chunks/chunks/computeLimits.js-DX7I53Ag.js +0 -44
  578. package/build/server/chunks/chunks/computeLimits.js-DX7I53Ag.js.map +0 -1
  579. package/build/server/chunks/chunks/engine.server.js-DUbkj2fs.js +0 -569
  580. package/build/server/chunks/chunks/engine.server.js-DUbkj2fs.js.map +0 -1
  581. package/build/server/chunks/chunks/forms.js-jAyrBZP9.js +0 -2
  582. package/build/server/chunks/chunks/forms.js-jAyrBZP9.js.map +0 -1
  583. package/build/server/chunks/chunks/internal2.js-CnaYURQz.js +0 -224
  584. package/build/server/chunks/chunks/internal2.js-CnaYURQz.js.map +0 -1
  585. package/build/server/chunks/chunks/limits.js-D4RlAe6O.js +0 -140
  586. package/build/server/chunks/chunks/limits.js-D4RlAe6O.js.map +0 -1
  587. package/build/server/chunks/chunks/navigation.js-jAyrBZP9.js +0 -2
  588. package/build/server/chunks/chunks/navigation.js-jAyrBZP9.js.map +0 -1
  589. package/build/server/chunks/chunks/org-members.server.js-CZALYdt0.js +0 -35
  590. package/build/server/chunks/chunks/org-members.server.js-CZALYdt0.js.map +0 -1
  591. package/build/server/chunks/chunks/package.js-CFVjSCfG.js +0 -78
  592. package/build/server/chunks/chunks/package.js-CFVjSCfG.js.map +0 -1
  593. package/build/server/chunks/chunks/paths.js-lLmRr8a7.js +0 -19
  594. package/build/server/chunks/chunks/paths.js-lLmRr8a7.js.map +0 -1
  595. package/build/server/chunks/chunks/permissions.server.js-C1JSu6oo.js +0 -15
  596. package/build/server/chunks/chunks/permissions.server.js-C1JSu6oo.js.map +0 -1
  597. package/build/server/chunks/chunks/providers.server.js-BpypQ-ag.js +0 -6137
  598. package/build/server/chunks/chunks/providers.server.js-BpypQ-ag.js.map +0 -1
  599. package/build/server/chunks/chunks/resolve.server.js-DowwOYiM.js +0 -62
  600. package/build/server/chunks/chunks/resolve.server.js-DowwOYiM.js.map +0 -1
  601. package/build/server/chunks/chunks/responses.js-CfP2Jx_z.js +0 -90
  602. package/build/server/chunks/chunks/responses.js-CfP2Jx_z.js.map +0 -1
  603. package/build/server/chunks/chunks/route.js-DglhoMVE.js +0 -166
  604. package/build/server/chunks/chunks/route.js-DglhoMVE.js.map +0 -1
  605. package/build/server/chunks/chunks/selfUpdate.server.js-CGNtPK19.js +0 -149
  606. package/build/server/chunks/chunks/selfUpdate.server.js-CGNtPK19.js.map +0 -1
  607. package/build/server/chunks/chunks/serverConfigWrite.js-B16P1-k3.js +0 -80
  608. package/build/server/chunks/chunks/serverConfigWrite.js-B16P1-k3.js.map +0 -1
  609. package/build/server/chunks/chunks/solve.server.js-BRfN6hQN.js +0 -300
  610. package/build/server/chunks/chunks/solve.server.js-BRfN6hQN.js.map +0 -1
  611. package/build/server/chunks/chunks/state.js-De6VXlTk.js +0 -76
  612. package/build/server/chunks/chunks/state.js-De6VXlTk.js.map +0 -1
  613. package/build/server/chunks/chunks/stores.js-Cw8_ifn0.js +0 -35
  614. package/build/server/chunks/chunks/stores.js-Cw8_ifn0.js.map +0 -1
  615. package/build/server/chunks/chunks/utils2.js-BCcPTZc4.js +0 -56
  616. package/build/server/chunks/chunks/utils2.js-BCcPTZc4.js.map +0 -1
  617. package/build/server/chunks/chunks/visibility.server.js-Cww3wle8.js +0 -107
  618. package/build/server/chunks/chunks/visibility.server.js-Cww3wle8.js.map +0 -1
  619. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-zotQnnwE.js +0 -84
  620. package/build/server/chunks/entries/endpoints/api/admin/compute/_server.ts.js-zotQnnwE.js.map +0 -1
  621. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-2pviCfwJ.js +0 -54
  622. package/build/server/chunks/entries/endpoints/api/admin/compute/actions/_server.ts.js-2pviCfwJ.js.map +0 -1
  623. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-C-dLHvzz.js +0 -80
  624. package/build/server/chunks/entries/endpoints/api/admin/compute/status/_server.ts.js-C-dLHvzz.js.map +0 -1
  625. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-BkQ4lXhg.js +0 -51
  626. package/build/server/chunks/entries/endpoints/api/admin/orgs/_id_/_server.ts.js-BkQ4lXhg.js.map +0 -1
  627. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-BTKNf-Pj.js +0 -72
  628. package/build/server/chunks/entries/endpoints/api/admin/orgs/_server.ts.js-BTKNf-Pj.js.map +0 -1
  629. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-BPdaOcxV.js +0 -75
  630. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/_server.ts.js-BPdaOcxV.js.map +0 -1
  631. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-DdZGgimp.js +0 -34
  632. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_grantId_/_server.ts.js-DdZGgimp.js.map +0 -1
  633. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-Cr2s36a-.js +0 -72
  634. package/build/server/chunks/entries/endpoints/api/admin/projects/_id_/grants/_server.ts.js-Cr2s36a-.js.map +0 -1
  635. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-Qroduy81.js +0 -103
  636. package/build/server/chunks/entries/endpoints/api/admin/projects/_server.ts.js-Qroduy81.js.map +0 -1
  637. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-BrcMxNJn.js +0 -194
  638. package/build/server/chunks/entries/endpoints/api/admin/system/health/_server.ts.js-BrcMxNJn.js.map +0 -1
  639. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-iRPDMlfy.js +0 -90
  640. package/build/server/chunks/entries/endpoints/api/admin/system/throughput/_server.ts.js-iRPDMlfy.js.map +0 -1
  641. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-lTI2X7bC.js +0 -564
  642. package/build/server/chunks/entries/endpoints/api/admin/system/update/_server.ts.js-lTI2X7bC.js.map +0 -1
  643. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-C8C0nD-T.js +0 -76
  644. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/_server.ts.js-C8C0nD-T.js.map +0 -1
  645. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-D52POyrY.js +0 -46
  646. package/build/server/chunks/entries/endpoints/api/admin/users/_id_/disable/_server.ts.js-D52POyrY.js.map +0 -1
  647. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-C3N5-cml.js +0 -87
  648. package/build/server/chunks/entries/endpoints/api/admin/users/_server.ts.js-C3N5-cml.js.map +0 -1
  649. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-BI0hFm0Z.js +0 -60
  650. package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-BI0hFm0Z.js.map +0 -1
  651. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-tq63wtVW.js +0 -89
  652. package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-tq63wtVW.js.map +0 -1
  653. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-C0ZfVsNj.js +0 -57
  654. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-C0ZfVsNj.js.map +0 -1
  655. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-BKpBoptM.js +0 -60
  656. package/build/server/chunks/entries/endpoints/api/health/ready/_server.ts.js-BKpBoptM.js.map +0 -1
  657. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BvMZG8C_.js +0 -83
  658. package/build/server/chunks/entries/endpoints/api/v1/compute/_server.ts.js-BvMZG8C_.js.map +0 -1
  659. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BHEw2UwC.js +0 -61
  660. package/build/server/chunks/entries/endpoints/api/v1/compute/schema/_server.ts.js-BHEw2UwC.js.map +0 -1
  661. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-CqpkXcBj.js +0 -63
  662. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/_server.ts.js-CqpkXcBj.js.map +0 -1
  663. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-ZOoGqeVd.js +0 -37
  664. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/image/_server.ts.js-ZOoGqeVd.js.map +0 -1
  665. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-DOAaHMMo.js +0 -33
  666. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/publish/_server.ts.js-DOAaHMMo.js.map +0 -1
  667. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-qpus6Drw.js +0 -39
  668. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/schema/_server.ts.js-qpus6Drw.js.map +0 -1
  669. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-DqC52TdS.js +0 -39
  670. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_linkId_/_server.ts.js-DqC52TdS.js.map +0 -1
  671. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-C6X94r1j.js +0 -81
  672. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/share-links/_server.ts.js-C6X94r1j.js.map +0 -1
  673. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-BmpSoUjd.js +0 -0
  674. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/solve/_server.ts.js-BmpSoUjd.js.map +0 -1
  675. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-B9_13-zg.js +0 -54
  676. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_server.ts.js-B9_13-zg.js.map +0 -1
  677. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CNAbhih6.js +0 -48
  678. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/_server.ts.js-CNAbhih6.js.map +0 -1
  679. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-1LTOuS1n.js +0 -40
  680. package/build/server/chunks/entries/endpoints/api/v1/definitions/_guid_/versions/_versionId_/schema/_server.ts.js-1LTOuS1n.js.map +0 -1
  681. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-DHSwgJBs.js +0 -113
  682. package/build/server/chunks/entries/endpoints/api/v1/definitions/_server.ts.js-DHSwgJBs.js.map +0 -1
  683. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-Dr_7kY9j.js +0 -39
  684. package/build/server/chunks/entries/endpoints/api/v1/me/_server.ts.js-Dr_7kY9j.js.map +0 -1
  685. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-C1gdlWjq.js +0 -36
  686. package/build/server/chunks/entries/endpoints/api/v1/me/starred/_guid_/_server.ts.js-C1gdlWjq.js.map +0 -1
  687. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-DljeDCvn.js +0 -30
  688. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/_server.ts.js-DljeDCvn.js.map +0 -1
  689. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-CIZPfGzX.js +0 -74
  690. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/assets/_kind_/_server.ts.js-CIZPfGzX.js.map +0 -1
  691. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-DPcRgBKA.js +0 -101
  692. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/compute/_server.ts.js-DPcRgBKA.js.map +0 -1
  693. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-240QOyTt.js +0 -46
  694. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_id_/_server.ts.js-240QOyTt.js.map +0 -1
  695. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-Dc6JZqNX.js +0 -62
  696. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/invites/_server.ts.js-Dc6JZqNX.js.map +0 -1
  697. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-DEXGMNhN.js +0 -33
  698. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_server.ts.js-DEXGMNhN.js.map +0 -1
  699. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-wXirb6Vd.js +0 -90
  700. package/build/server/chunks/entries/endpoints/api/v1/orgs/_orgId_/members/_userId_/_server.ts.js-wXirb6Vd.js.map +0 -1
  701. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-DnzcWgv0.js +0 -84
  702. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/_server.ts.js-DnzcWgv0.js.map +0 -1
  703. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-Crr-BCUw.js +0 -51
  704. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_server.ts.js-Crr-BCUw.js.map +0 -1
  705. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-C7R2G5fz.js +0 -51
  706. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/members/_userId_/_server.ts.js-C7R2G5fz.js.map +0 -1
  707. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-C_5m6bFh.js +0 -44
  708. package/build/server/chunks/entries/endpoints/api/v1/projects/_id_/reclaim/_server.ts.js-C_5m6bFh.js.map +0 -1
  709. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-CJCqaYMB.js +0 -83
  710. package/build/server/chunks/entries/endpoints/api/v1/projects/_server.ts.js-CJCqaYMB.js.map +0 -1
  711. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-DYzvCPpc.js +0 -45
  712. package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-DYzvCPpc.js.map +0 -1
  713. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CMNnJWOd.js +0 -49
  714. package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-CMNnJWOd.js.map +0 -1
  715. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-CZzWVeKD.js +0 -52
  716. package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-CZzWVeKD.js.map +0 -1
  717. package/build/server/chunks/entries/hooks.server.js-BuB_EHBZ.js +0 -314
  718. package/build/server/chunks/entries/hooks.server.js-BuB_EHBZ.js.map +0 -1
  719. package/build/server/chunks/entries/pages/_error.svelte.js-Do1Jsdl4.js +0 -36
  720. package/build/server/chunks/entries/pages/_error.svelte.js-Do1Jsdl4.js.map +0 -1
  721. package/build/server/chunks/entries/pages/_layout.server.ts.js-8z31ltCX.js +0 -34
  722. package/build/server/chunks/entries/pages/_layout.server.ts.js-8z31ltCX.js.map +0 -1
  723. package/build/server/chunks/entries/pages/_page.svelte.js-AeMomx7x.js +0 -77
  724. package/build/server/chunks/entries/pages/_page.svelte.js-AeMomx7x.js.map +0 -1
  725. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DKZSFiL7.js +0 -110
  726. package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-DKZSFiL7.js.map +0 -1
  727. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-hWqdfF86.js +0 -149
  728. package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-hWqdfF86.js.map +0 -1
  729. package/build/server/chunks/entries/pages/admin/_error.svelte.js-Czgteonq.js +0 -37
  730. package/build/server/chunks/entries/pages/admin/_error.svelte.js-Czgteonq.js.map +0 -1
  731. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-DWZm-oAx.js +0 -31
  732. package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-DWZm-oAx.js.map +0 -1
  733. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-pAZZ33Bq.js +0 -122
  734. package/build/server/chunks/entries/pages/admin/_layout.svelte.js-pAZZ33Bq.js.map +0 -1
  735. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DL41BXc_.js +0 -75
  736. package/build/server/chunks/entries/pages/admin/_page.server.ts.js-DL41BXc_.js.map +0 -1
  737. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DCKLQ3Uh.js +0 -360
  738. package/build/server/chunks/entries/pages/admin/_page.svelte.js-DCKLQ3Uh.js.map +0 -1
  739. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-D61-dH-g.js +0 -245
  740. package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-D61-dH-g.js.map +0 -1
  741. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-kl5QhscP.js +0 -74
  742. package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-kl5QhscP.js.map +0 -1
  743. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3cOj5sHJ.js +0 -673
  744. package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3cOj5sHJ.js.map +0 -1
  745. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-D-wvMuGM.js +0 -35
  746. package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-D-wvMuGM.js.map +0 -1
  747. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-BMd9ZfTQ.js +0 -86
  748. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-BMd9ZfTQ.js.map +0 -1
  749. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-Bxkj7Gsh.js +0 -617
  750. package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-Bxkj7Gsh.js.map +0 -1
  751. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-C0VOnAQI.js +0 -42
  752. package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-C0VOnAQI.js.map +0 -1
  753. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CfdfOtxT.js +0 -283
  754. package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-CfdfOtxT.js.map +0 -1
  755. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-DZMwr-0a.js +0 -86
  756. package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-DZMwr-0a.js.map +0 -1
  757. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-n3gn5t0X.js +0 -1477
  758. package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-n3gn5t0X.js.map +0 -1
  759. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-BLbF-Hj6.js +0 -70
  760. package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-BLbF-Hj6.js.map +0 -1
  761. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-DtcpmAeX.js +0 -683
  762. package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-DtcpmAeX.js.map +0 -1
  763. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-6NjWsq5P.js +0 -63
  764. package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-6NjWsq5P.js.map +0 -1
  765. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DT8_85b7.js +0 -62
  766. package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DT8_85b7.js.map +0 -1
  767. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-BqeheCE8.js +0 -527
  768. package/build/server/chunks/entries/pages/docs/api/_page.server.ts.js-BqeheCE8.js.map +0 -1
  769. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-k5vGXNVr.js +0 -90
  770. package/build/server/chunks/entries/pages/docs/api/_page.svelte.js-k5vGXNVr.js.map +0 -1
  771. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-B1cX5Uq1.js +0 -118
  772. package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-B1cX5Uq1.js.map +0 -1
  773. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BAIOKkAi.js +0 -12881
  774. package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-BAIOKkAi.js.map +0 -1
  775. package/build/server/chunks/entries/pages/library/_page.server.ts.js-Bx5yDpep.js +0 -48
  776. package/build/server/chunks/entries/pages/library/_page.server.ts.js-Bx5yDpep.js.map +0 -1
  777. package/build/server/chunks/entries/pages/library/_page.svelte.js-CVCUJqmw.js +0 -322
  778. package/build/server/chunks/entries/pages/library/_page.svelte.js-CVCUJqmw.js.map +0 -1
  779. package/build/server/chunks/entries/pages/login/_page.server.ts.js-4Unxr1h3.js +0 -80
  780. package/build/server/chunks/entries/pages/login/_page.server.ts.js-4Unxr1h3.js.map +0 -1
  781. package/build/server/chunks/entries/pages/login/_page.svelte.js-Cqupgev3.js +0 -257
  782. package/build/server/chunks/entries/pages/login/_page.svelte.js-Cqupgev3.js.map +0 -1
  783. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-jvdSPmb6.js +0 -50
  784. package/build/server/chunks/entries/pages/projects/_layout.svelte.js-jvdSPmb6.js.map +0 -1
  785. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-C6eDCGeG.js +0 -92
  786. package/build/server/chunks/entries/pages/projects/_page.server.ts.js-C6eDCGeG.js.map +0 -1
  787. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BZXgGiq0.js +0 -3744
  788. package/build/server/chunks/entries/pages/projects/_page.svelte.js-BZXgGiq0.js.map +0 -1
  789. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-1Zcy9HKS.js +0 -114
  790. package/build/server/chunks/entries/pages/setup/_page.server.ts.js-1Zcy9HKS.js.map +0 -1
  791. package/build/server/chunks/entries/pages/setup/_page.svelte.js-BeZMxOF-.js +0 -322
  792. package/build/server/chunks/entries/pages/setup/_page.svelte.js-BeZMxOF-.js.map +0 -1
  793. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-QLLDK67J.js +0 -28
  794. package/build/server/chunks/entries/pages/team/_layout.server.ts.js-QLLDK67J.js.map +0 -1
  795. package/build/server/chunks/entries/pages/team/_layout.svelte.js-DZa0TX9t.js +0 -163
  796. package/build/server/chunks/entries/pages/team/_layout.svelte.js-DZa0TX9t.js.map +0 -1
  797. package/build/server/chunks/entries/pages/team/_page.server.ts.js-DVWxwpm6.js +0 -35
  798. package/build/server/chunks/entries/pages/team/_page.server.ts.js-DVWxwpm6.js.map +0 -1
  799. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CMwFsb3A.js +0 -42
  800. package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-CMwFsb3A.js.map +0 -1
  801. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CBFrurXA.js +0 -594
  802. package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CBFrurXA.js.map +0 -1
  803. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-DNcDmicu.js +0 -58
  804. package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-DNcDmicu.js.map +0 -1
  805. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-A68WMCw4.js +0 -540
  806. package/build/server/chunks/entries/pages/team/members/_page.svelte.js-A68WMCw4.js.map +0 -1
  807. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DSIHjnMZ.js +0 -42
  808. package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DSIHjnMZ.js.map +0 -1
  809. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-BVqcMVMi.js +0 -437
  810. package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-BVqcMVMi.js.map +0 -1
  811. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-D0g7B4DG.js +0 -50
  812. package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-D0g7B4DG.js.map +0 -1
  813. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js--x8s2UX5.js +0 -263
  814. package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js--x8s2UX5.js.map +0 -1
  815. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-lYu81Glj.js +0 -32
  816. package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-lYu81Glj.js.map +0 -1
  817. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js--YdsT8Pk.js +0 -16
  818. package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js--YdsT8Pk.js.map +0 -1
  819. package/build/server/chunks/handler-DFFztY7q.js +0 -1206
  820. package/build/server/chunks/handler-DFFztY7q.js.map +0 -1
  821. package/build/server/chunks/index.js-CiK5-Da7.js +0 -3757
  822. package/build/server/chunks/index.js-CiK5-Da7.js.map +0 -1
  823. package/build/server/chunks/manifest.js-nUN8Vr9X.js +0 -605
  824. package/build/server/chunks/manifest.js-nUN8Vr9X.js.map +0 -1
  825. package/build/server/chunks/nodes/0.js-Dwvd8OwG.js +0 -25
  826. package/build/server/chunks/nodes/0.js-Dwvd8OwG.js.map +0 -1
  827. package/build/server/chunks/nodes/1.js-utRBlyJq.js +0 -9
  828. package/build/server/chunks/nodes/1.js-utRBlyJq.js.map +0 -1
  829. package/build/server/chunks/nodes/10.js-B_JzbP71.js +0 -29
  830. package/build/server/chunks/nodes/10.js-B_JzbP71.js.map +0 -1
  831. package/build/server/chunks/nodes/11.js-CnlYeU4X.js +0 -35
  832. package/build/server/chunks/nodes/11.js-CnlYeU4X.js.map +0 -1
  833. package/build/server/chunks/nodes/12.js-Bl77K4iV.js +0 -26
  834. package/build/server/chunks/nodes/12.js-Bl77K4iV.js.map +0 -1
  835. package/build/server/chunks/nodes/13.js-CTEpADXd.js +0 -26
  836. package/build/server/chunks/nodes/13.js-CTEpADXd.js.map +0 -1
  837. package/build/server/chunks/nodes/14.js-BcaggEyP.js +0 -26
  838. package/build/server/chunks/nodes/14.js-BcaggEyP.js.map +0 -1
  839. package/build/server/chunks/nodes/15.js-BGexRY-n.js +0 -36
  840. package/build/server/chunks/nodes/15.js-BGexRY-n.js.map +0 -1
  841. package/build/server/chunks/nodes/16.js-BHaeHvyv.js +0 -31
  842. package/build/server/chunks/nodes/16.js-BHaeHvyv.js.map +0 -1
  843. package/build/server/chunks/nodes/17.js-Df8OkYc3.js +0 -9
  844. package/build/server/chunks/nodes/17.js-Df8OkYc3.js.map +0 -1
  845. package/build/server/chunks/nodes/18.js-BehzCH_m.js +0 -30
  846. package/build/server/chunks/nodes/18.js-BehzCH_m.js.map +0 -1
  847. package/build/server/chunks/nodes/19.js-CeaNwViH.js +0 -29
  848. package/build/server/chunks/nodes/19.js-CeaNwViH.js.map +0 -1
  849. package/build/server/chunks/nodes/2.js-D05a6wui.js +0 -29
  850. package/build/server/chunks/nodes/2.js-D05a6wui.js.map +0 -1
  851. package/build/server/chunks/nodes/20.js-nOgKt5U0.js +0 -30
  852. package/build/server/chunks/nodes/20.js-nOgKt5U0.js.map +0 -1
  853. package/build/server/chunks/nodes/21.js-Bv9ybDFn.js +0 -38
  854. package/build/server/chunks/nodes/21.js-Bv9ybDFn.js.map +0 -1
  855. package/build/server/chunks/nodes/22.js-BrDqfY0g.js +0 -30
  856. package/build/server/chunks/nodes/22.js-BrDqfY0g.js.map +0 -1
  857. package/build/server/chunks/nodes/24.js-Cqc44jmx.js +0 -29
  858. package/build/server/chunks/nodes/24.js-Cqc44jmx.js.map +0 -1
  859. package/build/server/chunks/nodes/25.js-BsBFeaZT.js +0 -30
  860. package/build/server/chunks/nodes/25.js-BsBFeaZT.js.map +0 -1
  861. package/build/server/chunks/nodes/26.js-CqPtsI5D.js +0 -26
  862. package/build/server/chunks/nodes/26.js-CqPtsI5D.js.map +0 -1
  863. package/build/server/chunks/nodes/28.js-phZLqKD9.js +0 -27
  864. package/build/server/chunks/nodes/28.js-phZLqKD9.js.map +0 -1
  865. package/build/server/chunks/nodes/29.js-JUf_q3Am.js +0 -26
  866. package/build/server/chunks/nodes/29.js-JUf_q3Am.js.map +0 -1
  867. package/build/server/chunks/nodes/3.js-Bjabqh0U.js +0 -9
  868. package/build/server/chunks/nodes/3.js-Bjabqh0U.js.map +0 -1
  869. package/build/server/chunks/nodes/30.js-CP124JZ4.js +0 -26
  870. package/build/server/chunks/nodes/30.js-CP124JZ4.js.map +0 -1
  871. package/build/server/chunks/nodes/31.js-CDO9relg.js +0 -26
  872. package/build/server/chunks/nodes/31.js-CDO9relg.js.map +0 -1
  873. package/build/server/chunks/nodes/32.js-BcfBm-gH.js +0 -26
  874. package/build/server/chunks/nodes/32.js-BcfBm-gH.js.map +0 -1
  875. package/build/server/chunks/nodes/33.js-Dn5XVqNq.js +0 -26
  876. package/build/server/chunks/nodes/33.js-Dn5XVqNq.js.map +0 -1
  877. package/build/server/chunks/nodes/5.js-CXpMpKRu.js +0 -15
  878. package/build/server/chunks/nodes/5.js-CXpMpKRu.js.map +0 -1
  879. package/build/server/chunks/nodes/6.js-Cmgpied0.js +0 -26
  880. package/build/server/chunks/nodes/6.js-Cmgpied0.js.map +0 -1
  881. package/build/server/chunks/nodes/7.js-DSrveoKI.js +0 -12
  882. package/build/server/chunks/nodes/7.js-DSrveoKI.js.map +0 -1
  883. package/build/server/chunks/nodes/8.js-BjKhtcps.js +0 -31
  884. package/build/server/chunks/nodes/8.js-BjKhtcps.js.map +0 -1
  885. package/build/server/chunks/nodes/9.js-D_IzjKEW.js +0 -26
  886. package/build/server/chunks/nodes/9.js-D_IzjKEW.js.map +0 -1
@@ -0,0 +1,62 @@
1
+ import { S as SYSTEM_CONTEXT } from './src.js-BT_hYA9R.js';
2
+ import { p as providers, o as getDefinitionMeta, f as getProjectProvider, k as flag } from './providers.server.js-DidbFirI.js';
3
+ import { h as hashToken, l as looksLikeShareToken } from './token.server.js-BCOtTlyV.js';
4
+ import { error } from '@sveltejs/kit';
5
+
6
+ //#region src/lib/server/shareLinks/resolve.server.ts
7
+ /**
8
+ * Extract a candidate share-link token from the request.
9
+ * - `?token=share_…` query param (most embeddable)
10
+ * - `Authorization: Bearer share_…` header (server-to-server)
11
+ *
12
+ * Returns the raw token string, or null when none present. Does NOT validate.
13
+ */
14
+ function readShareToken(request, url) {
15
+ if (!flag("ENABLE_SHARING")) return null;
16
+ const q = url.searchParams.get("token");
17
+ if (q && looksLikeShareToken(q)) return q;
18
+ const auth = request.headers.get("authorization");
19
+ if (auth?.startsWith("Bearer ")) {
20
+ const candidate = auth.slice(7).trim();
21
+ if (looksLikeShareToken(candidate)) return candidate;
22
+ }
23
+ return null;
24
+ }
25
+ /**
26
+ * Run before user-based auth on definition-scoped routes. Returns the
27
+ * resolved link + a synthetic ctx on success.
28
+ *
29
+ * Throws only when a token is *present but invalid* for the current request
30
+ * (wrong definition, wrong channel, expired, revoked, view-only when solve
31
+ * was requested) — those are deliberate 401/403/429 responses to a
32
+ * misbehaving consumer. When no token is present at all, returns null and
33
+ * the caller falls through to the user-based auth gate.
34
+ */
35
+ async function tryResolveShareToken(request, url, requestedDefinitionId, requestedChannel, opts) {
36
+ const raw = readShareToken(request, url);
37
+ if (!raw) return null;
38
+ const tokenHash = hashToken(raw);
39
+ const link = await providers.data.shareLinks.getByTokenHash(SYSTEM_CONTEXT, tokenHash);
40
+ if (!link) throw error(401, "Invalid or revoked share token.");
41
+ if (link.expiresAt && new Date(link.expiresAt).getTime() <= Date.now()) throw error(401, "Share token has expired.");
42
+ if (link.definitionId !== requestedDefinitionId) throw error(403, "Share token is not valid for this definition.");
43
+ if (link.channel !== requestedChannel) throw error(403, `Share token is for the '${link.channel}' channel only.`);
44
+ if (opts.requireSolve && !link.allowSolve) throw error(403, "Share token grants view-only access.");
45
+ const def = await getDefinitionMeta().get(SYSTEM_CONTEXT, link.definitionId);
46
+ if (!def) throw error(401, "Share token target no longer exists.");
47
+ const project = await getProjectProvider().getProject(SYSTEM_CONTEXT, def.projectId);
48
+ if (!project) throw error(401, "Share token target no longer exists.");
49
+ return {
50
+ link,
51
+ ctx: {
52
+ userId: "",
53
+ actingOrgId: project.orgId,
54
+ platformPermissions: [],
55
+ orgPermissions: [],
56
+ system: true
57
+ }
58
+ };
59
+ }
60
+
61
+ export { tryResolveShareToken as t };
62
+ //# sourceMappingURL=resolve.server.js-0mH_FvvO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.server.js-0mH_FvvO.js","sources":["../../../../.svelte-kit/output/server/chunks/resolve.server.js"],"sourcesContent":["import { t as SYSTEM_CONTEXT } from \"./src.js\";\nimport { C as providers, _ as getProjectProvider, s as getDefinitionMeta, t as flag } from \"./providers.server.js\";\nimport { n as looksLikeShareToken, t as hashToken } from \"./token.server.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/lib/server/shareLinks/resolve.server.ts\n/**\n* Extract a candidate share-link token from the request.\n* - `?token=share_…` query param (most embeddable)\n* - `Authorization: Bearer share_…` header (server-to-server)\n*\n* Returns the raw token string, or null when none present. Does NOT validate.\n*/\nfunction readShareToken(request, url) {\n\tif (!flag(\"ENABLE_SHARING\")) return null;\n\tconst q = url.searchParams.get(\"token\");\n\tif (q && looksLikeShareToken(q)) return q;\n\tconst auth = request.headers.get(\"authorization\");\n\tif (auth?.startsWith(\"Bearer \")) {\n\t\tconst candidate = auth.slice(7).trim();\n\t\tif (looksLikeShareToken(candidate)) return candidate;\n\t}\n\treturn null;\n}\n/**\n* Run before user-based auth on definition-scoped routes. Returns the\n* resolved link + a synthetic ctx on success.\n*\n* Throws only when a token is *present but invalid* for the current request\n* (wrong definition, wrong channel, expired, revoked, view-only when solve\n* was requested) — those are deliberate 401/403/429 responses to a\n* misbehaving consumer. When no token is present at all, returns null and\n* the caller falls through to the user-based auth gate.\n*/\nasync function tryResolveShareToken(request, url, requestedDefinitionId, requestedChannel, opts) {\n\tconst raw = readShareToken(request, url);\n\tif (!raw) return null;\n\tconst tokenHash = hashToken(raw);\n\tconst link = await providers.data.shareLinks.getByTokenHash(SYSTEM_CONTEXT, tokenHash);\n\tif (!link) throw error(401, \"Invalid or revoked share token.\");\n\tif (link.expiresAt && new Date(link.expiresAt).getTime() <= Date.now()) throw error(401, \"Share token has expired.\");\n\tif (link.definitionId !== requestedDefinitionId) throw error(403, \"Share token is not valid for this definition.\");\n\tif (link.channel !== requestedChannel) throw error(403, `Share token is for the '${link.channel}' channel only.`);\n\tif (opts.requireSolve && !link.allowSolve) throw error(403, \"Share token grants view-only access.\");\n\tconst def = await getDefinitionMeta().get(SYSTEM_CONTEXT, link.definitionId);\n\tif (!def) throw error(401, \"Share token target no longer exists.\");\n\tconst project = await getProjectProvider().getProject(SYSTEM_CONTEXT, def.projectId);\n\tif (!project) throw error(401, \"Share token target no longer exists.\");\n\treturn {\n\t\tlink,\n\t\tctx: {\n\t\t\tuserId: \"\",\n\t\t\tactingOrgId: project.orgId,\n\t\t\tplatformPermissions: [],\n\t\t\torgPermissions: [],\n\t\t\tsystem: true\n\t\t}\n\t};\n}\n//#endregion\nexport { tryResolveShareToken as t };\n"],"names":[],"mappings":";;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE;AACtC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,IAAI;AACzC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACxC,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AAC1C,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAClD,CAAC,IAAI,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;AAClC,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACxC,EAAE,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS;AACtD,CAAC;AACD,CAAC,OAAO,IAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,IAAI,EAAE;AACjG,CAAC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC;AACzC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI;AACtB,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC;AACjC,CAAC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,iCAAiC,CAAC;AAC/D,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,0BAA0B,CAAC;AACrH,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,qBAAqB,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,+CAA+C,CAAC;AACnH,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAClH,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,sCAAsC,CAAC;AACpG,CAAC,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7E,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,sCAAsC,CAAC;AACnE,CAAC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC;AACrF,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,sCAAsC,CAAC;AACvE,CAAC,OAAO;AACR,EAAE,IAAI;AACN,EAAE,GAAG,EAAE;AACP,GAAG,MAAM,EAAE,EAAE;AACb,GAAG,WAAW,EAAE,OAAO,CAAC,KAAK;AAC7B,GAAG,mBAAmB,EAAE,EAAE;AAC1B,GAAG,cAAc,EAAE,EAAE;AACrB,GAAG,MAAM,EAAE;AACX;AACA,EAAE;AACF;;;;"}
@@ -0,0 +1,91 @@
1
+ import { z } from 'zod';
2
+
3
+ //#region src/lib/server/api/v1/responses.ts
4
+ /**
5
+ * Response schemas for the v1 payloads that must not carry a stored secret.
6
+ *
7
+ * Three store types hold a credential next to fields a client legitimately
8
+ * reads: `ShareLink.tokenHash` and `Invite.tokenHash` are HMACs of a token,
9
+ * `ComputeServerCommon.apiKey` is a live Rhino.Compute key. Handlers used to
10
+ * strip them by destructuring — `const { tokenHash: _omit, ...rest } = invite`
11
+ * — which works until someone adds a field to the stored type or edits the line
12
+ * away. Nothing fails at build time; the credential just starts appearing in a
13
+ * response.
14
+ *
15
+ * Parsing through these schemas inverts the default: the response carries only
16
+ * what the schema names, so a new field on the stored type is invisible to
17
+ * clients until added here on purpose. Use them via `shaped`/`shapedCollection`
18
+ * in `./route.ts`.
19
+ *
20
+ * These describe **responses**, not stored records — where the two differ (an
21
+ * invite's one-time `acceptUrl`, a share link's `hasToken` sentinel) the
22
+ * response is the authority.
23
+ */
24
+ var ShareLinkResponseSchema = z.object({
25
+ id: z.string(),
26
+ definitionId: z.string(),
27
+ channel: z.enum(["live", "draft"]),
28
+ name: z.string().optional(),
29
+ createdBy: z.string(),
30
+ createdAt: z.string(),
31
+ expiresAt: z.string().nullish(),
32
+ revokedAt: z.string().nullish(),
33
+ allowSolve: z.boolean(),
34
+ maxSolves: z.number().nullish(),
35
+ solveCount: z.number(),
36
+ /** Sentinel replacing `tokenHash`: a token exists, its hash is not yours. */
37
+ hasToken: z.literal(true)
38
+ });
39
+ /** The mint response. `token` is the plaintext, returned exactly once. */
40
+ var CreatedShareLinkResponseSchema = z.object({
41
+ link: ShareLinkResponseSchema,
42
+ token: z.string()
43
+ });
44
+ var InviteResponseSchema = z.object({
45
+ id: z.string(),
46
+ email: z.string(),
47
+ orgId: z.string(),
48
+ orgRole: z.string(),
49
+ orgPermissions: z.array(z.string()),
50
+ platformPermissions: z.array(z.string()).default([]),
51
+ invitedBy: z.string(),
52
+ createdAt: z.string(),
53
+ expiresAt: z.string(),
54
+ acceptedAt: z.string().optional(),
55
+ acceptedByUserId: z.string().optional()
56
+ });
57
+ /** The create response: the invite plus the link to send, built per request. */
58
+ var CreatedInviteResponseSchema = InviteResponseSchema.extend({ acceptUrl: z.string() });
59
+ /**
60
+ * An org-owned compute server. `apiKey` is replaced by `hasApiKey`, so a picker
61
+ * can render "key set" without any store decrypting a secret to throw away.
62
+ */
63
+ var OrgComputeServerResponseSchema = z.object({
64
+ id: z.string(),
65
+ label: z.string(),
66
+ serverUrl: z.string(),
67
+ scope: z.literal("org"),
68
+ ownerOrgId: z.string(),
69
+ timeoutMs: z.number().optional(),
70
+ retryCount: z.number().optional(),
71
+ hasApiKey: z.boolean()
72
+ });
73
+ /** A server this org may select but not edit. Never carries a key either. */
74
+ var ComputeCatalogEntrySchema = z.object({
75
+ id: z.string(),
76
+ label: z.string(),
77
+ serverUrl: z.string(),
78
+ scope: z.enum(["platform", "org"]),
79
+ source: z.enum(["platform", "org"]),
80
+ timeoutMs: z.number().optional(),
81
+ retryCount: z.number().optional()
82
+ });
83
+ var OrgComputeResponseSchema = z.object({
84
+ servers: z.array(OrgComputeServerResponseSchema),
85
+ defaultServerId: z.string().nullish(),
86
+ globalDefaultServerId: z.string().nullish(),
87
+ catalog: z.array(ComputeCatalogEntrySchema)
88
+ });
89
+
90
+ export { CreatedShareLinkResponseSchema as C, InviteResponseSchema as I, OrgComputeResponseSchema as O, ShareLinkResponseSchema as S, CreatedInviteResponseSchema as a };
91
+ //# sourceMappingURL=responses.js-CrxH502H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.js-CrxH502H.js","sources":["../../../../.svelte-kit/output/server/chunks/responses.js"],"sourcesContent":["import { z } from \"zod\";\n//#region src/lib/server/api/v1/responses.ts\n/**\n* Response schemas for the v1 payloads that must not carry a stored secret.\n*\n* Three store types hold a credential next to fields a client legitimately\n* reads: `ShareLink.tokenHash` and `Invite.tokenHash` are HMACs of a token,\n* `ComputeServerCommon.apiKey` is a live Rhino.Compute key. Handlers used to\n* strip them by destructuring — `const { tokenHash: _omit, ...rest } = invite`\n* — which works until someone adds a field to the stored type or edits the line\n* away. Nothing fails at build time; the credential just starts appearing in a\n* response.\n*\n* Parsing through these schemas inverts the default: the response carries only\n* what the schema names, so a new field on the stored type is invisible to\n* clients until added here on purpose. Use them via `shaped`/`shapedCollection`\n* in `./route.ts`.\n*\n* These describe **responses**, not stored records — where the two differ (an\n* invite's one-time `acceptUrl`, a share link's `hasToken` sentinel) the\n* response is the authority.\n*/\nvar ShareLinkResponseSchema = z.object({\n\tid: z.string(),\n\tdefinitionId: z.string(),\n\tchannel: z.enum([\"live\", \"draft\"]),\n\tname: z.string().optional(),\n\tcreatedBy: z.string(),\n\tcreatedAt: z.string(),\n\texpiresAt: z.string().nullish(),\n\trevokedAt: z.string().nullish(),\n\tallowSolve: z.boolean(),\n\tmaxSolves: z.number().nullish(),\n\tsolveCount: z.number(),\n\t/** Sentinel replacing `tokenHash`: a token exists, its hash is not yours. */\n\thasToken: z.literal(true)\n});\n/** The mint response. `token` is the plaintext, returned exactly once. */\nvar CreatedShareLinkResponseSchema = z.object({\n\tlink: ShareLinkResponseSchema,\n\ttoken: z.string()\n});\nvar InviteResponseSchema = z.object({\n\tid: z.string(),\n\temail: z.string(),\n\torgId: z.string(),\n\torgRole: z.string(),\n\torgPermissions: z.array(z.string()),\n\tplatformPermissions: z.array(z.string()).default([]),\n\tinvitedBy: z.string(),\n\tcreatedAt: z.string(),\n\texpiresAt: z.string(),\n\tacceptedAt: z.string().optional(),\n\tacceptedByUserId: z.string().optional()\n});\n/** The create response: the invite plus the link to send, built per request. */\nvar CreatedInviteResponseSchema = InviteResponseSchema.extend({ acceptUrl: z.string() });\n/**\n* An org-owned compute server. `apiKey` is replaced by `hasApiKey`, so a picker\n* can render \"key set\" without any store decrypting a secret to throw away.\n*/\nvar OrgComputeServerResponseSchema = z.object({\n\tid: z.string(),\n\tlabel: z.string(),\n\tserverUrl: z.string(),\n\tscope: z.literal(\"org\"),\n\townerOrgId: z.string(),\n\ttimeoutMs: z.number().optional(),\n\tretryCount: z.number().optional(),\n\thasApiKey: z.boolean()\n});\n/** A server this org may select but not edit. Never carries a key either. */\nvar ComputeCatalogEntrySchema = z.object({\n\tid: z.string(),\n\tlabel: z.string(),\n\tserverUrl: z.string(),\n\tscope: z.enum([\"platform\", \"org\"]),\n\tsource: z.enum([\"platform\", \"org\"]),\n\ttimeoutMs: z.number().optional(),\n\tretryCount: z.number().optional()\n});\nvar OrgComputeResponseSchema = z.object({\n\tservers: z.array(OrgComputeServerResponseSchema),\n\tdefaultServerId: z.string().nullish(),\n\tglobalDefaultServerId: z.string().nullish(),\n\tcatalog: z.array(ComputeCatalogEntrySchema)\n});\n//#endregion\nexport { ShareLinkResponseSchema as a, OrgComputeResponseSchema as i, CreatedShareLinkResponseSchema as n, InviteResponseSchema as r, CreatedInviteResponseSchema as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;AACf,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;AACzB,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC5B,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AACtB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AACtB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;AAChC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;AAChC,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;AACxB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;AAChC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;AACvB;AACA,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;AACzB,CAAC;AACD;AACG,IAAC,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC,IAAI,EAAE,uBAAuB;AAC9B,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM;AAChB,CAAC;AACE,IAAC,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;AACpC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;AACf,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AAClB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AAClB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;AACpB,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACpC,CAAC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AACrD,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AACtB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AACtB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AACtB,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAClC,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ;AACtC,CAAC;AACD;AACG,IAAC,2BAA2B,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;AACvF;AACA;AACA;AACA;AACA,IAAI,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;AACf,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AAClB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AACtB,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;AACxB,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;AACvB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACjC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAClC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO;AACrB,CAAC,CAAC;AACF;AACA,IAAI,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;AACf,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AAClB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AACtB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACjC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ;AAChC,CAAC,CAAC;AACC,IAAC,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;AACjD,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;AACtC,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;AAC5C,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB;AAC3C,CAAC;;;;"}
@@ -0,0 +1,166 @@
1
+ import { h as handleApiError, a as apiError, A as ApiErrorCode, t as throwZodError } from './api-errors.js-BxgJsaxY.js';
2
+ import { json } from '@sveltejs/kit';
3
+
4
+ //#region src/lib/server/api/v1/route.ts
5
+ /**
6
+ * The shared shape of a v1 route handler: validate the path, parse the body,
7
+ * do the work, serialize. Before these helpers existed, every handler spelled
8
+ * all four out, and the boilerplate had already drifted — path params were
9
+ * validated two different ways, and list endpoints hand-rolled pagination
10
+ * clamps that disagreed with each other.
11
+ *
12
+ * The rule these helpers enforce: **a route handler parses, guards, delegates
13
+ * and serializes — nothing else.** Anything two endpoints must agree on lives
14
+ * here or in `@selvajs/server`, never copied into both.
15
+ */
16
+ /**
17
+ * The authenticated caller, or 401. Returns the narrowed pair so callers don't
18
+ * need `locals.ctx!` — if you have the result, the context exists.
19
+ *
20
+ * Guards in `access.server.ts` do their own 401 as a side effect of checking a
21
+ * permission. This is for handlers that need an identity without a permission
22
+ * check — the `/me` routes, and reads whose authorization is a visibility filter.
23
+ */
24
+ function requireCaller(locals) {
25
+ if (!locals.ctx || !locals.user) apiError(401, ApiErrorCode.UNAUTHORIZED, "Unauthorized");
26
+ return {
27
+ ctx: locals.ctx,
28
+ user: locals.user
29
+ };
30
+ }
31
+ /**
32
+ * Read required path params, 400ing on any that is missing or blank.
33
+ *
34
+ * SvelteKit types every param as `string`, but a route can be reached with an
35
+ * empty segment — this catches that instead of letting a stale non-null
36
+ * assertion paper over it.
37
+ *
38
+ * Does **not** validate format — a guid-shaped param still goes through
39
+ * `GuidSchema` where the route cares. Replaces the `if (!id) apiError(...)`
40
+ * preamble, not the schema check.
41
+ */
42
+ function requireParams(params, ...names) {
43
+ const out = {};
44
+ const missing = [];
45
+ for (const name of names) {
46
+ const value = params[name];
47
+ if (!value) {
48
+ missing.push(name);
49
+ continue;
50
+ }
51
+ out[name] = value;
52
+ }
53
+ if (missing.length) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Missing path parameter${missing.length > 1 ? "s" : ""}: ${missing.join(", ")}`);
54
+ return out;
55
+ }
56
+ /**
57
+ * Read a path param through a Zod schema, 400ing on a bad value.
58
+ *
59
+ * The format-checking counterpart to `requireParams` — for guids, enum-shaped
60
+ * segments, anything where "present" isn't the same as "valid".
61
+ */
62
+ function parseParam(value, schema, name) {
63
+ const parsed = schema.safeParse(value);
64
+ if (!parsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Invalid or missing ${name}`);
65
+ return parsed.data;
66
+ }
67
+ /**
68
+ * Parse and validate a JSON body. A malformed body becomes `null` rather than
69
+ * throwing, so it fails the schema as a validation error — broken JSON gets a
70
+ * 400 naming the problem, not a 500 from `request.json()`.
71
+ *
72
+ * `missingAs` covers endpoints whose fields are all optional: passing `{}` lets
73
+ * an empty body mean "no changes" instead of a validation failure.
74
+ */
75
+ async function parseBody(request, schema, { missingAs } = {}) {
76
+ const raw = await request.json().catch(() => null);
77
+ const parsed = schema.safeParse(raw ?? missingAs ?? null);
78
+ if (!parsed.success) throwZodError(parsed.error);
79
+ return parsed.data;
80
+ }
81
+ /**
82
+ * Pull a required file out of a multipart body and check its size and, where
83
+ * given, its extension. Caps themselves stay in `admin-config`; this only
84
+ * applies them.
85
+ *
86
+ * A second line of defence, not the first: `requireMaxBodySize` rejects an
87
+ * oversized request before it's buffered. This catches a file that's
88
+ * individually too large inside a request that isn't.
89
+ */
90
+ function requireUpload(form, field, { maxBytes, extensions, contentTypes, label = "File" }) {
91
+ const file = form.get(field);
92
+ if (!(file instanceof File) || file.size === 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, `A ${label.toLowerCase()} is required`);
93
+ const extension = file.name.slice(file.name.lastIndexOf(".")).toLowerCase();
94
+ if (extensions && !extensions.includes(extension)) apiError(400, ApiErrorCode.VALIDATION_FAILED, `File type not allowed. Allowed: ${extensions.join(", ")}`);
95
+ if (contentTypes && !contentTypes.allowed.has(file.type)) apiError(400, ApiErrorCode.VALIDATION_FAILED, contentTypes.message);
96
+ if (file.size > maxBytes) apiError(400, ApiErrorCode.VALIDATION_FAILED, `${label} too large. Max size: ${maxBytes / 1048576} MB`);
97
+ return {
98
+ file,
99
+ extension
100
+ };
101
+ }
102
+ /** A multipart text field, trimmed and length-capped. Absent stays `undefined`. */
103
+ function formText(form, field, { maxLength } = {}) {
104
+ const raw = form.get(field);
105
+ if (typeof raw !== "string") return void 0;
106
+ const trimmed = raw.trim();
107
+ if (!trimmed) return void 0;
108
+ return maxLength ? trimmed.slice(0, maxLength) : trimmed;
109
+ }
110
+ /** A paginated collection. The one envelope every v1 list endpoint returns. */
111
+ function collection(page) {
112
+ return json({
113
+ items: page.items,
114
+ nextCursor: page.nextCursor
115
+ });
116
+ }
117
+ /** A created resource. */
118
+ function created(body) {
119
+ return json(body, { status: 201 });
120
+ }
121
+ /** A successful mutation with nothing to say. */
122
+ function noContent() {
123
+ return new Response(null, { status: 204 });
124
+ }
125
+ /**
126
+ * Serialize a payload through an explicit response schema.
127
+ *
128
+ * **This is what keeps a secret from reaching a client by accident.** Several
129
+ * responses are store records with a credential removed — `tokenHash` on a
130
+ * share link or invite, `apiKey` on an org compute server. Parsing through a
131
+ * schema means the response carries only what the schema names, so a new field
132
+ * on the stored type is invisible until someone adds it here deliberately. See
133
+ * `responses.ts`.
134
+ */
135
+ function shaped(schema, payload, status = 200) {
136
+ return json(schema.parse(payload), { status });
137
+ }
138
+ /** `shaped`, mapped over a page of records. */
139
+ function shapedCollection(schema, page) {
140
+ return json({
141
+ items: page.items.map((item) => schema.parse(item)),
142
+ nextCursor: page.nextCursor
143
+ });
144
+ }
145
+ /**
146
+ * Wrap a handler so an unhandled error becomes a structured API error.
147
+ *
148
+ * Every route used to end in the same `try { … } catch (err) { handleApiError(
149
+ * err, '…') }`. A handler that forgot it surfaced a raw 500 with a provider
150
+ * message in it, with nothing flagging the omission.
151
+ *
152
+ * `fallback` is required — the message used when the error carries none of its
153
+ * own, and "something went wrong" tells a caller nothing.
154
+ */
155
+ function apiRoute(fallback, handler) {
156
+ return async (event) => {
157
+ try {
158
+ return await handler(event);
159
+ } catch (err) {
160
+ handleApiError(err, fallback);
161
+ }
162
+ };
163
+ }
164
+
165
+ export { apiRoute as a, requireUpload as b, collection as c, created as d, parseBody as e, formText as f, shaped as g, requireParams as h, noContent as n, parseParam as p, requireCaller as r, shapedCollection as s };
166
+ //# sourceMappingURL=route.js-D4ygOdcI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js-D4ygOdcI.js","sources":["../../../../.svelte-kit/output/server/chunks/route.js"],"sourcesContent":["import { i as throwZodError, n as apiError, r as handleApiError, t as ApiErrorCode } from \"./api-errors.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/lib/server/api/v1/route.ts\n/**\n* The shared shape of a v1 route handler: validate the path, parse the body,\n* do the work, serialize. Before these helpers existed, every handler spelled\n* all four out, and the boilerplate had already drifted — path params were\n* validated two different ways, and list endpoints hand-rolled pagination\n* clamps that disagreed with each other.\n*\n* The rule these helpers enforce: **a route handler parses, guards, delegates\n* and serializes — nothing else.** Anything two endpoints must agree on lives\n* here or in `@selvajs/server`, never copied into both.\n*/\n/**\n* The authenticated caller, or 401. Returns the narrowed pair so callers don't\n* need `locals.ctx!` — if you have the result, the context exists.\n*\n* Guards in `access.server.ts` do their own 401 as a side effect of checking a\n* permission. This is for handlers that need an identity without a permission\n* check — the `/me` routes, and reads whose authorization is a visibility filter.\n*/\nfunction requireCaller(locals) {\n\tif (!locals.ctx || !locals.user) apiError(401, ApiErrorCode.UNAUTHORIZED, \"Unauthorized\");\n\treturn {\n\t\tctx: locals.ctx,\n\t\tuser: locals.user\n\t};\n}\n/**\n* Read required path params, 400ing on any that is missing or blank.\n*\n* SvelteKit types every param as `string`, but a route can be reached with an\n* empty segment — this catches that instead of letting a stale non-null\n* assertion paper over it.\n*\n* Does **not** validate format — a guid-shaped param still goes through\n* `GuidSchema` where the route cares. Replaces the `if (!id) apiError(...)`\n* preamble, not the schema check.\n*/\nfunction requireParams(params, ...names) {\n\tconst out = {};\n\tconst missing = [];\n\tfor (const name of names) {\n\t\tconst value = params[name];\n\t\tif (!value) {\n\t\t\tmissing.push(name);\n\t\t\tcontinue;\n\t\t}\n\t\tout[name] = value;\n\t}\n\tif (missing.length) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Missing path parameter${missing.length > 1 ? \"s\" : \"\"}: ${missing.join(\", \")}`);\n\treturn out;\n}\n/**\n* Read a path param through a Zod schema, 400ing on a bad value.\n*\n* The format-checking counterpart to `requireParams` — for guids, enum-shaped\n* segments, anything where \"present\" isn't the same as \"valid\".\n*/\nfunction parseParam(value, schema, name) {\n\tconst parsed = schema.safeParse(value);\n\tif (!parsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, `Invalid or missing ${name}`);\n\treturn parsed.data;\n}\n/**\n* Parse and validate a JSON body. A malformed body becomes `null` rather than\n* throwing, so it fails the schema as a validation error — broken JSON gets a\n* 400 naming the problem, not a 500 from `request.json()`.\n*\n* `missingAs` covers endpoints whose fields are all optional: passing `{}` lets\n* an empty body mean \"no changes\" instead of a validation failure.\n*/\nasync function parseBody(request, schema, { missingAs } = {}) {\n\tconst raw = await request.json().catch(() => null);\n\tconst parsed = schema.safeParse(raw ?? missingAs ?? null);\n\tif (!parsed.success) throwZodError(parsed.error);\n\treturn parsed.data;\n}\n/**\n* Pull a required file out of a multipart body and check its size and, where\n* given, its extension. Caps themselves stay in `admin-config`; this only\n* applies them.\n*\n* A second line of defence, not the first: `requireMaxBodySize` rejects an\n* oversized request before it's buffered. This catches a file that's\n* individually too large inside a request that isn't.\n*/\nfunction requireUpload(form, field, { maxBytes, extensions, contentTypes, label = \"File\" }) {\n\tconst file = form.get(field);\n\tif (!(file instanceof File) || file.size === 0) apiError(400, ApiErrorCode.VALIDATION_FAILED, `A ${label.toLowerCase()} is required`);\n\tconst extension = file.name.slice(file.name.lastIndexOf(\".\")).toLowerCase();\n\tif (extensions && !extensions.includes(extension)) apiError(400, ApiErrorCode.VALIDATION_FAILED, `File type not allowed. Allowed: ${extensions.join(\", \")}`);\n\tif (contentTypes && !contentTypes.allowed.has(file.type)) apiError(400, ApiErrorCode.VALIDATION_FAILED, contentTypes.message);\n\tif (file.size > maxBytes) apiError(400, ApiErrorCode.VALIDATION_FAILED, `${label} too large. Max size: ${maxBytes / 1048576} MB`);\n\treturn {\n\t\tfile,\n\t\textension\n\t};\n}\n/** A multipart text field, trimmed and length-capped. Absent stays `undefined`. */\nfunction formText(form, field, { maxLength } = {}) {\n\tconst raw = form.get(field);\n\tif (typeof raw !== \"string\") return void 0;\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return void 0;\n\treturn maxLength ? trimmed.slice(0, maxLength) : trimmed;\n}\n/** A paginated collection. The one envelope every v1 list endpoint returns. */\nfunction collection(page) {\n\treturn json({\n\t\titems: page.items,\n\t\tnextCursor: page.nextCursor\n\t});\n}\n/** A created resource. */\nfunction created(body) {\n\treturn json(body, { status: 201 });\n}\n/** A successful mutation with nothing to say. */\nfunction noContent() {\n\treturn new Response(null, { status: 204 });\n}\n/**\n* Serialize a payload through an explicit response schema.\n*\n* **This is what keeps a secret from reaching a client by accident.** Several\n* responses are store records with a credential removed — `tokenHash` on a\n* share link or invite, `apiKey` on an org compute server. Parsing through a\n* schema means the response carries only what the schema names, so a new field\n* on the stored type is invisible until someone adds it here deliberately. See\n* `responses.ts`.\n*/\nfunction shaped(schema, payload, status = 200) {\n\treturn json(schema.parse(payload), { status });\n}\n/** `shaped`, mapped over a page of records. */\nfunction shapedCollection(schema, page) {\n\treturn json({\n\t\titems: page.items.map((item) => schema.parse(item)),\n\t\tnextCursor: page.nextCursor\n\t});\n}\n/**\n* Wrap a handler so an unhandled error becomes a structured API error.\n*\n* Every route used to end in the same `try { … } catch (err) { handleApiError(\n* err, '…') }`. A handler that forgot it surfaced a raw 500 with a provider\n* message in it, with nothing flagging the omission.\n*\n* `fallback` is required — the message used when the error carries none of its\n* own, and \"something went wrong\" tells a caller nothing.\n*/\nfunction apiRoute(fallback, handler) {\n\treturn async (event) => {\n\t\ttry {\n\t\t\treturn await handler(event);\n\t\t} catch (err) {\n\t\t\thandleApiError(err, fallback);\n\t\t}\n\t};\n}\n//#endregion\nexport { noContent as a, requireCaller as c, shaped as d, shapedCollection as f, formText as i, requireParams as l, collection as n, parseBody as o, created as r, parseParam as s, apiRoute as t, requireUpload as u };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Z as spread_props } from './server.js-BBls-Hb5.js';
2
+ import { I as Icon } from './utils3.js-AVgqWIzH.js';
3
+
4
+ //#region ../../node_modules/.pnpm/@lucide+svelte@1.31.0_svelte@5.56.8_@typescript-eslint+types@8.67.0_/node_modules/@lucide/svelte/dist/icons/search.svelte
5
+ function Search($$renderer, $$props) {
6
+ let { $$slots, $$events, ...props } = $$props;
7
+ Icon($$renderer, spread_props([
8
+ { name: "search" },
9
+ props,
10
+ { iconNode: [["path", { "d": "m21 21-4.34-4.34" }], ["circle", {
11
+ "cx": "11",
12
+ "cy": "11",
13
+ "r": "8"
14
+ }]] }
15
+ ]));
16
+ }
17
+
18
+ export { Search as S };
19
+ //# sourceMappingURL=search.js-DlGNRpd8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js-DlGNRpd8.js","sources":["../../../../.svelte-kit/output/server/chunks/search.js"],"sourcesContent":["import { d as spread_props } from \"./server.js\";\nimport { n as Icon } from \"./utils3.js\";\n//#region ../../node_modules/.pnpm/@lucide+svelte@1.31.0_svelte@5.56.8_@typescript-eslint+types@8.67.0_/node_modules/@lucide/svelte/dist/icons/search.svelte\nfunction Search($$renderer, $$props) {\n\tlet { $$slots, $$events, ...props } = $$props;\n\tIcon($$renderer, spread_props([\n\t\t{ name: \"search\" },\n\t\tprops,\n\t\t{ iconNode: [[\"path\", { \"d\": \"m21 21-4.34-4.34\" }], [\"circle\", {\n\t\t\t\"cx\": \"11\",\n\t\t\t\"cy\": \"11\",\n\t\t\t\"r\": \"8\"\n\t\t}]] }\n\t]));\n}\n//#endregion\nexport { Search as t };\n"],"names":[],"mappings":";;;AAEA;AACA,SAAS,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE;AACrC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO;AAC9C,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;AAC/B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;AACpB,EAAE,KAAK;AACP,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE;AACjE,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,GAAG,EAAE;AACR,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,149 @@
1
+ import { g as getLogger, r as renderThrown } from './providers.server.js-DidbFirI.js';
2
+ import { d as deriveOutcome } from './update-outcome.js-Djn7e2VC.js';
3
+ import { join } from 'node:path';
4
+ import { existsSync, readFileSync, rmSync } from 'node:fs';
5
+
6
+ //#region src/lib/server/selfUpdate.server.ts
7
+ /**
8
+ * Durable log/state paths for the update runner, plus post-restart
9
+ * reconciliation of the update's outcome into the audit event log.
10
+ *
11
+ * The process that launches an update is killed mid-update (`pm2 stop
12
+ * selva-compute` is a step of the update itself), so only the
13
+ * `system.update.started` event can be emitted synchronously by the POST
14
+ * handler. The terminal event (`finished` / `rolled_back` / `failed`) is
15
+ * derived AFTER the app is back up: the POST persists a pending-update state
16
+ * file next to the log, and the reconciler here polls the log until the
17
+ * runner's `[EXIT] code=N` marker appears, classifies it via `deriveOutcome`,
18
+ * emits the matching event, and consumes the state file. Kicked from both the
19
+ * POST (covers the no-restart "already up to date" path) and the first request
20
+ * after boot (covers the real update path, where the emitting process is new).
21
+ */
22
+ function isDeploymentDir(dir) {
23
+ return existsSync(join(dir, "node_modules", "@selvajs", "selva", "package.json"));
24
+ }
25
+ function findDeploymentDir(env) {
26
+ if (env.INSTALL_DIR && isDeploymentDir(env.INSTALL_DIR)) return env.INSTALL_DIR;
27
+ let dir = process.cwd();
28
+ for (let i = 0; i < 6; i++) {
29
+ if (isDeploymentDir(dir)) return dir;
30
+ const parent = join(dir, "..");
31
+ if (parent === dir) break;
32
+ dir = parent;
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * Where the update runner mirrors all its output. Lives in the deployment dir
38
+ * so it survives reboots; the `/tmp` fallback only applies outside a
39
+ * deployment (dev), where no update can actually run.
40
+ */
41
+ function updateLogPath(deploymentDir) {
42
+ return deploymentDir ? join(deploymentDir, "selva-update.log") : "/tmp/selva-update.log";
43
+ }
44
+ /** Pending-update marker consumed by the reconciler. Sits next to the log. */
45
+ function updateStatePath(deploymentDir) {
46
+ return join(deploymentDir, "selva-update-state.json");
47
+ }
48
+ /**
49
+ * One reconciliation attempt. Reads the pending-update state file; if the log
50
+ * carries the runner's terminal `[EXIT] code=N` marker, classifies the outcome,
51
+ * emits the terminal audit event, reports rollback/failure to the error
52
+ * tracker, and deletes the state file (exactly-once across restarts — the
53
+ * state file is the emission token).
54
+ */
55
+ async function reconcileUpdateOutcome(deps) {
56
+ const statePath = updateStatePath(deps.deploymentDir);
57
+ let state;
58
+ try {
59
+ state = JSON.parse(readFileSync(statePath, "utf8"));
60
+ } catch {
61
+ return "no_pending_update";
62
+ }
63
+ let logs = "";
64
+ try {
65
+ logs = readFileSync(updateLogPath(deps.deploymentDir), "utf8");
66
+ } catch {}
67
+ const exitMatch = /\[EXIT\] code=(\d+)/.exec(logs);
68
+ if (!exitMatch) return "still_running";
69
+ const exitCode = Number(exitMatch[1]);
70
+ const outcome = deriveOutcome(exitCode, logs);
71
+ const base = {
72
+ fromVersion: state.fromVersion ?? outcome.from,
73
+ toVersion: outcome.to,
74
+ actorId: state.actorId
75
+ };
76
+ let event;
77
+ if (outcome.severity === "critical") event = {
78
+ type: "system.update.failed",
79
+ ...base,
80
+ detail: outcome.title
81
+ };
82
+ else if (exitCode === 5 || logs.includes("Rolled back")) event = {
83
+ type: "system.update.rolled_back",
84
+ ...base,
85
+ detail: outcome.title
86
+ };
87
+ else if (outcome.severity === "success" || outcome.severity === "info") event = {
88
+ type: "system.update.finished",
89
+ ...base
90
+ };
91
+ else event = {
92
+ type: "system.update.finished",
93
+ ...base,
94
+ detail: outcome.title
95
+ };
96
+ await deps.emit(event);
97
+ if (event.type !== "system.update.finished") deps.report(/* @__PURE__ */ new Error(`[selfUpdate] ${outcome.title}`));
98
+ try {
99
+ rmSync(statePath);
100
+ } catch {}
101
+ return "reconciled";
102
+ }
103
+ var POLL_MS = 15e3;
104
+ var MAX_POLLS = 80;
105
+ var reconcilerActive = false;
106
+ /**
107
+ * Idempotent: safe to call on every boot and on every update POST — exits
108
+ * immediately when no state file exists and never runs twice concurrently.
109
+ */
110
+ function startUpdateOutcomeReconciler(deps) {
111
+ if (reconcilerActive) return;
112
+ if (!existsSync(updateStatePath(deps.deploymentDir))) return;
113
+ reconcilerActive = true;
114
+ let polls = 0;
115
+ const timer = setInterval(() => {
116
+ (async () => {
117
+ polls += 1;
118
+ let result;
119
+ try {
120
+ result = await reconcileUpdateOutcome(deps);
121
+ } catch (err) {
122
+ getLogger().error("Outcome reconciliation failed", {
123
+ component: "selfUpdate",
124
+ err: renderThrown(err)
125
+ });
126
+ result = "still_running";
127
+ }
128
+ if (result === "still_running" && polls < MAX_POLLS) return;
129
+ if (result === "still_running") try {
130
+ const statePath = updateStatePath(deps.deploymentDir);
131
+ const state = JSON.parse(readFileSync(statePath, "utf8"));
132
+ await deps.emit({
133
+ type: "system.update.failed",
134
+ fromVersion: state.fromVersion,
135
+ actorId: state.actorId,
136
+ detail: "No terminal marker in the update log within 20 minutes."
137
+ });
138
+ deps.report(/* @__PURE__ */ new Error("[selfUpdate] update never reached a terminal state"));
139
+ rmSync(statePath);
140
+ } catch {}
141
+ clearInterval(timer);
142
+ reconcilerActive = false;
143
+ })();
144
+ }, POLL_MS);
145
+ timer.unref?.();
146
+ }
147
+
148
+ export { updateStatePath as a, findDeploymentDir as f, startUpdateOutcomeReconciler as s, updateLogPath as u };
149
+ //# sourceMappingURL=selfUpdate.server.js-DgOltfDI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfUpdate.server.js-DgOltfDI.js","sources":["../../../../.svelte-kit/output/server/chunks/selfUpdate.server.js"],"sourcesContent":["import { T as renderThrown, f as getLogger } from \"./providers.server.js\";\nimport { t as deriveOutcome } from \"./update-outcome.js\";\nimport { join } from \"node:path\";\nimport { existsSync, readFileSync, rmSync } from \"node:fs\";\n//#region src/lib/server/selfUpdate.server.ts\n/**\n* Durable log/state paths for the update runner, plus post-restart\n* reconciliation of the update's outcome into the audit event log.\n*\n* The process that launches an update is killed mid-update (`pm2 stop\n* selva-compute` is a step of the update itself), so only the\n* `system.update.started` event can be emitted synchronously by the POST\n* handler. The terminal event (`finished` / `rolled_back` / `failed`) is\n* derived AFTER the app is back up: the POST persists a pending-update state\n* file next to the log, and the reconciler here polls the log until the\n* runner's `[EXIT] code=N` marker appears, classifies it via `deriveOutcome`,\n* emits the matching event, and consumes the state file. Kicked from both the\n* POST (covers the no-restart \"already up to date\" path) and the first request\n* after boot (covers the real update path, where the emitting process is new).\n*/\nfunction isDeploymentDir(dir) {\n\treturn existsSync(join(dir, \"node_modules\", \"@selvajs\", \"selva\", \"package.json\"));\n}\nfunction findDeploymentDir(env) {\n\tif (env.INSTALL_DIR && isDeploymentDir(env.INSTALL_DIR)) return env.INSTALL_DIR;\n\tlet dir = process.cwd();\n\tfor (let i = 0; i < 6; i++) {\n\t\tif (isDeploymentDir(dir)) return dir;\n\t\tconst parent = join(dir, \"..\");\n\t\tif (parent === dir) break;\n\t\tdir = parent;\n\t}\n\treturn null;\n}\n/**\n* Where the update runner mirrors all its output. Lives in the deployment dir\n* so it survives reboots; the `/tmp` fallback only applies outside a\n* deployment (dev), where no update can actually run.\n*/\nfunction updateLogPath(deploymentDir) {\n\treturn deploymentDir ? join(deploymentDir, \"selva-update.log\") : \"/tmp/selva-update.log\";\n}\n/** Pending-update marker consumed by the reconciler. Sits next to the log. */\nfunction updateStatePath(deploymentDir) {\n\treturn join(deploymentDir, \"selva-update-state.json\");\n}\n/**\n* One reconciliation attempt. Reads the pending-update state file; if the log\n* carries the runner's terminal `[EXIT] code=N` marker, classifies the outcome,\n* emits the terminal audit event, reports rollback/failure to the error\n* tracker, and deletes the state file (exactly-once across restarts — the\n* state file is the emission token).\n*/\nasync function reconcileUpdateOutcome(deps) {\n\tconst statePath = updateStatePath(deps.deploymentDir);\n\tlet state;\n\ttry {\n\t\tstate = JSON.parse(readFileSync(statePath, \"utf8\"));\n\t} catch {\n\t\treturn \"no_pending_update\";\n\t}\n\tlet logs = \"\";\n\ttry {\n\t\tlogs = readFileSync(updateLogPath(deps.deploymentDir), \"utf8\");\n\t} catch {}\n\tconst exitMatch = /\\[EXIT\\] code=(\\d+)/.exec(logs);\n\tif (!exitMatch) return \"still_running\";\n\tconst exitCode = Number(exitMatch[1]);\n\tconst outcome = deriveOutcome(exitCode, logs);\n\tconst base = {\n\t\tfromVersion: state.fromVersion ?? outcome.from,\n\t\ttoVersion: outcome.to,\n\t\tactorId: state.actorId\n\t};\n\tlet event;\n\tif (outcome.severity === \"critical\") event = {\n\t\ttype: \"system.update.failed\",\n\t\t...base,\n\t\tdetail: outcome.title\n\t};\n\telse if (exitCode === 5 || logs.includes(\"Rolled back\")) event = {\n\t\ttype: \"system.update.rolled_back\",\n\t\t...base,\n\t\tdetail: outcome.title\n\t};\n\telse if (outcome.severity === \"success\" || outcome.severity === \"info\") event = {\n\t\ttype: \"system.update.finished\",\n\t\t...base\n\t};\n\telse event = {\n\t\ttype: \"system.update.finished\",\n\t\t...base,\n\t\tdetail: outcome.title\n\t};\n\tawait deps.emit(event);\n\tif (event.type !== \"system.update.finished\") deps.report(/* @__PURE__ */ new Error(`[selfUpdate] ${outcome.title}`));\n\ttry {\n\t\trmSync(statePath);\n\t} catch {}\n\treturn \"reconciled\";\n}\nvar POLL_MS = 15e3;\nvar MAX_POLLS = 80;\nvar reconcilerActive = false;\n/**\n* Idempotent: safe to call on every boot and on every update POST — exits\n* immediately when no state file exists and never runs twice concurrently.\n*/\nfunction startUpdateOutcomeReconciler(deps) {\n\tif (reconcilerActive) return;\n\tif (!existsSync(updateStatePath(deps.deploymentDir))) return;\n\treconcilerActive = true;\n\tlet polls = 0;\n\tconst timer = setInterval(() => {\n\t\t(async () => {\n\t\t\tpolls += 1;\n\t\t\tlet result;\n\t\t\ttry {\n\t\t\t\tresult = await reconcileUpdateOutcome(deps);\n\t\t\t} catch (err) {\n\t\t\t\tgetLogger().error(\"Outcome reconciliation failed\", {\n\t\t\t\t\tcomponent: \"selfUpdate\",\n\t\t\t\t\terr: renderThrown(err)\n\t\t\t\t});\n\t\t\t\tresult = \"still_running\";\n\t\t\t}\n\t\t\tif (result === \"still_running\" && polls < MAX_POLLS) return;\n\t\t\tif (result === \"still_running\") try {\n\t\t\t\tconst statePath = updateStatePath(deps.deploymentDir);\n\t\t\t\tconst state = JSON.parse(readFileSync(statePath, \"utf8\"));\n\t\t\t\tawait deps.emit({\n\t\t\t\t\ttype: \"system.update.failed\",\n\t\t\t\t\tfromVersion: state.fromVersion,\n\t\t\t\t\tactorId: state.actorId,\n\t\t\t\t\tdetail: \"No terminal marker in the update log within 20 minutes.\"\n\t\t\t\t});\n\t\t\t\tdeps.report(/* @__PURE__ */ new Error(\"[selfUpdate] update never reached a terminal state\"));\n\t\t\t\trmSync(statePath);\n\t\t\t} catch {}\n\t\t\tclearInterval(timer);\n\t\t\treconcilerActive = false;\n\t\t})();\n\t}, POLL_MS);\n\ttimer.unref?.();\n}\n//#endregion\nexport { updateStatePath as i, startUpdateOutcomeReconciler as n, updateLogPath as r, findDeploymentDir as t };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { a as apiError, A as ApiErrorCode } from './api-errors.js-BxgJsaxY.js';
2
+ import { e as evictComputeClient } from './engine.server.js-17hYtiXl.js';
3
+
4
+ //#region src/lib/server/compute/evictChangedServers.ts
5
+ /**
6
+ * The client cache keys on server `id`, so a rotated `serverUrl`/`apiKey` keeps
7
+ * the same key with stale connection details — it won't age out on its own. The
8
+ * config-write path must evict explicitly: this diffs the previous scoped server
9
+ * set against the next one and drops the warm client for every server whose
10
+ * connection details changed or that was removed. Unchanged servers are untouched.
11
+ */
12
+ /**
13
+ * `prev` and `next` are the scoped server sets before/after the write.
14
+ */
15
+ function evictChangedServers(prev, next) {
16
+ const nextById = new Map(next.map((s) => [s.id, s]));
17
+ for (const before of prev) if (!nextById.has(before.id)) evictComputeClient(before.id);
18
+ const prevById = new Map(prev.map((s) => [s.id, s]));
19
+ for (const after of next) {
20
+ const before = prevById.get(after.id);
21
+ if (before && (before.serverUrl !== after.serverUrl || before.apiKey !== after.apiKey)) evictComputeClient(after.id);
22
+ }
23
+ }
24
+ //#endregion
25
+ //#region src/lib/server/compute/serverConfigWrite.ts
26
+ /**
27
+ * Shared write-path rules for compute server config.
28
+ *
29
+ * Two routes accept a server set: `/api/admin/compute` (platform scope,
30
+ * `manage_compute`) and `/api/v1/orgs/{orgId}/compute` (org scope,
31
+ * `manage_org_compute`). They differ in who may call them, what extra fields
32
+ * they carry (`sharedWith` vs `ownerOrgId`), and how they validate the default
33
+ * selection — but the field validation and the apiKey merge below must behave
34
+ * identically in both, so they live here rather than in either handler.
35
+ *
36
+ * The apiKey merge is why this file exists: if the two copies disagree, a
37
+ * stored credential silently gets cleared or leaked, and nothing fails at
38
+ * build time.
39
+ */
40
+ /**
41
+ * Validates the scope-independent fields of every submitted server. Throws the
42
+ * first failure as a 400; scope-specific fields (`sharedWith`, `ownerOrgId`)
43
+ * are the caller's business.
44
+ */
45
+ function validateIncomingServers(servers) {
46
+ for (const s of servers) {
47
+ if (!s.id || typeof s.id !== "string") apiError(400, ApiErrorCode.VALIDATION_FAILED, "Each server needs an id");
48
+ if (!s.label || typeof s.label !== "string") apiError(400, ApiErrorCode.VALIDATION_FAILED, "Each server needs a label");
49
+ if (!s.serverUrl || typeof s.serverUrl !== "string") apiError(400, ApiErrorCode.VALIDATION_FAILED, "Each server needs a serverUrl");
50
+ try {
51
+ new URL(s.serverUrl);
52
+ } catch {
53
+ apiError(400, ApiErrorCode.VALIDATION_FAILED, `Invalid serverUrl: ${s.serverUrl}`);
54
+ }
55
+ if (s.apiKey !== void 0 && s.apiKey !== null && typeof s.apiKey !== "string") apiError(400, ApiErrorCode.VALIDATION_FAILED, "apiKey must be a string, null, or omitted");
56
+ }
57
+ }
58
+ /**
59
+ * The UI never receives stored keys — it sends back `hasApiKey` and omits the
60
+ * field for servers the operator didn't touch. So "omitted" cannot mean "clear":
61
+ * it has to preserve, or every save through the settings form would wipe the
62
+ * keys of every server the operator left alone. Clearing is explicit (`null`);
63
+ * an empty string is treated as "not provided" since that's what an untouched
64
+ * password input submits.
65
+ */
66
+ function resolveApiKey(submitted, storedKey) {
67
+ if (submitted === null) return void 0;
68
+ return submitted ? submitted : storedKey;
69
+ }
70
+ /**
71
+ * Builds the id → stored-key lookup the merge reads. The caller passes only the
72
+ * servers in its own scope, so one scope's write can never resolve a key from
73
+ * another's rows.
74
+ */
75
+ function storedKeysById(scopedServers) {
76
+ return new Map(scopedServers.map((s) => [s.id, s.apiKey]));
77
+ }
78
+
79
+ export { evictChangedServers as e, resolveApiKey as r, storedKeysById as s, validateIncomingServers as v };
80
+ //# sourceMappingURL=serverConfigWrite.js-D7Ys--kd.js.map