@selvajs/selva 4.6.17 → 4.6.18

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 (233) hide show
  1. package/build/client/_app/immutable/chunks/{_i811ba7.js → 1u1kwnk_.js} +1 -1
  2. package/build/client/_app/immutable/chunks/1u1kwnk_.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/1u1kwnk_.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{pQhmY_wH.js → CWckDDc_.js} +1 -1
  5. package/build/client/_app/immutable/chunks/CWckDDc_.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/CWckDDc_.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{BOnmqX01.js → Ct4PQB2N.js} +1 -1
  8. package/build/client/_app/immutable/chunks/Ct4PQB2N.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/Ct4PQB2N.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{CbNz9-CM.js → DF27cg_X.js} +1 -1
  11. package/build/client/_app/immutable/chunks/DF27cg_X.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/DF27cg_X.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{rfOa0BQR.js → DkGkEWye.js} +1 -1
  14. package/build/client/_app/immutable/chunks/DkGkEWye.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/DkGkEWye.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{BY3o31MW.js → MkJsWBxy.js} +1 -1
  17. package/build/client/_app/immutable/chunks/MkJsWBxy.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/MkJsWBxy.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/Zux0n3kg.js +3 -0
  20. package/build/client/_app/immutable/chunks/Zux0n3kg.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/Zux0n3kg.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/{app.D9cDSDOn.js → app.C-b-l_6C.js} +2 -2
  23. package/build/client/_app/immutable/entry/app.C-b-l_6C.js.br +0 -0
  24. package/build/client/_app/immutable/entry/app.C-b-l_6C.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/start.C4SEq0Pb.js +1 -0
  26. package/build/client/_app/immutable/entry/start.C4SEq0Pb.js.br +2 -0
  27. package/build/client/_app/immutable/entry/start.C4SEq0Pb.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{1.CZ6ti3QK.js → 1.y5YV9e0l.js} +1 -1
  29. package/build/client/_app/immutable/nodes/1.y5YV9e0l.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/1.y5YV9e0l.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{11.C_GwV9Bj.js → 11.BrmBFxsq.js} +1 -1
  32. package/build/client/_app/immutable/nodes/11.BrmBFxsq.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/11.BrmBFxsq.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{13.B6HunFXY.js → 13.DoS_efV2.js} +1 -1
  35. package/build/client/_app/immutable/nodes/13.DoS_efV2.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/13.DoS_efV2.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{14.CApA_dlI.js → 14.CrepvoOX.js} +1 -1
  38. package/build/client/_app/immutable/nodes/14.CrepvoOX.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/14.CrepvoOX.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{15.HPNMduTX.js → 15.5R75lvSv.js} +1 -1
  41. package/build/client/_app/immutable/nodes/15.5R75lvSv.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/15.5R75lvSv.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{16.SCUiwN43.js → 16.BUNOKDtO.js} +1 -1
  44. package/build/client/_app/immutable/nodes/16.BUNOKDtO.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/16.BUNOKDtO.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{17.DjaXtpMT.js → 17.WNxh7RgK.js} +1 -1
  47. package/build/client/_app/immutable/nodes/17.WNxh7RgK.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/17.WNxh7RgK.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{19.CN2i4AVz.js → 19.BvKHjOT8.js} +1 -1
  50. package/build/client/_app/immutable/nodes/19.BvKHjOT8.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/19.BvKHjOT8.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{2.CprEjS64.js → 2.lfn_Ap2G.js} +1 -1
  53. package/build/client/_app/immutable/nodes/2.lfn_Ap2G.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/2.lfn_Ap2G.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/20.CM3IW0NJ.js +5021 -0
  56. package/build/client/_app/immutable/nodes/20.CM3IW0NJ.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/20.CM3IW0NJ.js.gz +0 -0
  58. package/build/client/_app/immutable/nodes/{21.C_4vpZgh.js → 21.BSCpY3ux.js} +1 -1
  59. package/build/client/_app/immutable/nodes/21.BSCpY3ux.js.br +0 -0
  60. package/build/client/_app/immutable/nodes/21.BSCpY3ux.js.gz +0 -0
  61. package/build/client/_app/immutable/nodes/{23.oeDvNaab.js → 23.Ba_tSly1.js} +1 -1
  62. package/build/client/_app/immutable/nodes/23.Ba_tSly1.js.br +0 -0
  63. package/build/client/_app/immutable/nodes/23.Ba_tSly1.js.gz +0 -0
  64. package/build/client/_app/immutable/nodes/{24.C4jPz0M0.js → 24.DLv3u_AH.js} +1 -1
  65. package/build/client/_app/immutable/nodes/24.DLv3u_AH.js.br +0 -0
  66. package/build/client/_app/immutable/nodes/24.DLv3u_AH.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/{27.Bjv06_yW.js → 27.DRmKIj3E.js} +1 -1
  68. package/build/client/_app/immutable/nodes/27.DRmKIj3E.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/27.DRmKIj3E.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/{28.C5NQCChS.js → 28.CymYXMXC.js} +1 -1
  71. package/build/client/_app/immutable/nodes/28.CymYXMXC.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/28.CymYXMXC.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{29.D7jOFlYP.js → 29.B2Vg5C4Y.js} +1 -1
  74. package/build/client/_app/immutable/nodes/29.B2Vg5C4Y.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/29.B2Vg5C4Y.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/{3.BsAOhKfW.js → 3.D4iBNgD_.js} +1 -1
  77. package/build/client/_app/immutable/nodes/3.D4iBNgD_.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/3.D4iBNgD_.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/{30.fXdhn2fS.js → 30.B1f9wd9k.js} +1 -1
  80. package/build/client/_app/immutable/nodes/30.B1f9wd9k.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/30.B1f9wd9k.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/{5.B1gLU4nT.js → 5.WUf-8TLN.js} +1 -1
  83. package/build/client/_app/immutable/nodes/5.WUf-8TLN.js.br +1 -0
  84. package/build/client/_app/immutable/nodes/5.WUf-8TLN.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/{6.gBHoQstg.js → 6.BdCBDiTe.js} +1 -1
  86. package/build/client/_app/immutable/nodes/6.BdCBDiTe.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/6.BdCBDiTe.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/{7.D8R5mnRo.js → 7.DPTc3zUO.js} +1 -1
  89. package/build/client/_app/immutable/nodes/7.DPTc3zUO.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/7.DPTc3zUO.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/{8.xxszvZmC.js → 8.LKMUCtqV.js} +1 -1
  92. package/build/client/_app/immutable/nodes/8.LKMUCtqV.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/8.LKMUCtqV.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/{9.BZTQg6F_.js → 9.hYsm0yzU.js} +1 -1
  95. package/build/client/_app/immutable/nodes/9.hYsm0yzU.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/9.hYsm0yzU.js.gz +0 -0
  97. package/build/client/_app/version.json +1 -1
  98. package/build/client/_app/version.json.br +0 -0
  99. package/build/client/_app/version.json.gz +0 -0
  100. package/build/handler.js +4 -4
  101. package/build/index.js +4 -4
  102. package/build/server/chunks/chunks/{internal.js-DUldHjE3.js → internal.js-CSbIfVJO.js} +3 -3
  103. package/build/server/chunks/chunks/{internal.js-DUldHjE3.js.map → internal.js-CSbIfVJO.js.map} +1 -1
  104. package/build/server/chunks/chunks/{package.js-FSG5sWFK.js → package.js-DXXa4mq9.js} +2 -2
  105. package/build/server/chunks/chunks/{package.js-FSG5sWFK.js.map → package.js-DXXa4mq9.js.map} +1 -1
  106. package/build/server/chunks/entries/{hooks.server.js-CEJghe6K.js → hooks.server.js-C3YMifQe.js} +11 -5
  107. package/build/server/chunks/entries/{hooks.server.js-CEJghe6K.js.map → hooks.server.js-C3YMifQe.js.map} +1 -1
  108. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-COIP__Oi.js → _page.server.ts.js-Cmg0t3cP.js} +2 -2
  109. package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-COIP__Oi.js.map → _page.server.ts.js-Cmg0t3cP.js.map} +1 -1
  110. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-BQ7XQXcR.js → _page.server.ts.js-BdyAMz5d.js} +2 -2
  111. package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-BQ7XQXcR.js.map → _page.server.ts.js-BdyAMz5d.js.map} +1 -1
  112. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-DIG1xRoj.js → _page.svelte.js-CX89JLcg.js} +12 -3
  113. package/build/server/chunks/entries/pages/library/_guid_/{_page.svelte.js-DIG1xRoj.js.map → _page.svelte.js-CX89JLcg.js.map} +1 -1
  114. package/build/server/chunks/{handler-8WbYsqTN.js → handler-ChMa4swI.js} +3 -3
  115. package/build/server/chunks/{handler-8WbYsqTN.js.map → handler-ChMa4swI.js.map} +1 -1
  116. package/build/server/chunks/{index.js-DQiiVGnK.js → index.js-BT9EM2t1.js} +2 -2
  117. package/build/server/chunks/{index.js-DQiiVGnK.js.map → index.js-BT9EM2t1.js.map} +1 -1
  118. package/build/server/chunks/{manifest.js-4bS33Rny.js → manifest.js-BMofdSe5.js} +25 -25
  119. package/build/server/chunks/{manifest.js-4bS33Rny.js.map → manifest.js-BMofdSe5.js.map} +1 -1
  120. package/build/server/chunks/nodes/{1.js-BRkGtLuf.js → 1.js-Cycg5M7H.js} +2 -2
  121. package/build/server/chunks/nodes/{1.js-BRkGtLuf.js.map → 1.js-Cycg5M7H.js.map} +1 -1
  122. package/build/server/chunks/nodes/{11.js-Cd5i4qnV.js → 11.js-C7iIxjhX.js} +2 -2
  123. package/build/server/chunks/nodes/{11.js-Cd5i4qnV.js.map → 11.js-C7iIxjhX.js.map} +1 -1
  124. package/build/server/chunks/nodes/{13.js-tStcvtm0.js → 13.js-Bi_osv6Z.js} +2 -2
  125. package/build/server/chunks/nodes/{13.js-tStcvtm0.js.map → 13.js-Bi_osv6Z.js.map} +1 -1
  126. package/build/server/chunks/nodes/{14.js-BTua6A4z.js → 14.js-Dmyem_Cl.js} +2 -2
  127. package/build/server/chunks/nodes/{14.js-BTua6A4z.js.map → 14.js-Dmyem_Cl.js.map} +1 -1
  128. package/build/server/chunks/nodes/{15.js-DbGAIzD7.js → 15.js-C57JlznM.js} +4 -4
  129. package/build/server/chunks/nodes/{15.js-DbGAIzD7.js.map → 15.js-C57JlznM.js.map} +1 -1
  130. package/build/server/chunks/nodes/{16.js-CpyZ3DN9.js → 16.js-CdzlaYXn.js} +2 -2
  131. package/build/server/chunks/nodes/{16.js-CpyZ3DN9.js.map → 16.js-CdzlaYXn.js.map} +1 -1
  132. package/build/server/chunks/nodes/{17.js-DdufYTa7.js → 17.js-uJfAMf1s.js} +2 -2
  133. package/build/server/chunks/nodes/{17.js-DdufYTa7.js.map → 17.js-uJfAMf1s.js.map} +1 -1
  134. package/build/server/chunks/nodes/{19.js-BjYa0tRp.js → 19.js-Cee7cuSc.js} +2 -2
  135. package/build/server/chunks/nodes/{19.js-BjYa0tRp.js.map → 19.js-Cee7cuSc.js.map} +1 -1
  136. package/build/server/chunks/nodes/{2.js-BpaTME37.js → 2.js-CXCNaNpi.js} +2 -2
  137. package/build/server/chunks/nodes/{2.js-BpaTME37.js.map → 2.js-CXCNaNpi.js.map} +1 -1
  138. package/build/server/chunks/nodes/{20.js-0s-R-Oe5.js → 20.js-CqNctoTV.js} +3 -3
  139. package/build/server/chunks/nodes/{20.js-0s-R-Oe5.js.map → 20.js-CqNctoTV.js.map} +1 -1
  140. package/build/server/chunks/nodes/{21.js-redDeL3V.js → 21.js-FSki90yK.js} +2 -2
  141. package/build/server/chunks/nodes/{21.js-redDeL3V.js.map → 21.js-FSki90yK.js.map} +1 -1
  142. package/build/server/chunks/nodes/{23.js-BtuPZz_g.js → 23.js-BQrf4Npl.js} +2 -2
  143. package/build/server/chunks/nodes/{23.js-BtuPZz_g.js.map → 23.js-BQrf4Npl.js.map} +1 -1
  144. package/build/server/chunks/nodes/{24.js-BKoTscF1.js → 24.js-BpSV0rAh.js} +2 -2
  145. package/build/server/chunks/nodes/{24.js-BKoTscF1.js.map → 24.js-BpSV0rAh.js.map} +1 -1
  146. package/build/server/chunks/nodes/{27.js-DKlcY_J1.js → 27.js-Bdt9Xgid.js} +2 -2
  147. package/build/server/chunks/nodes/{27.js-DKlcY_J1.js.map → 27.js-Bdt9Xgid.js.map} +1 -1
  148. package/build/server/chunks/nodes/{28.js-BnSQFmRX.js → 28.js-BTp9Km2q.js} +2 -2
  149. package/build/server/chunks/nodes/{28.js-BnSQFmRX.js.map → 28.js-BTp9Km2q.js.map} +1 -1
  150. package/build/server/chunks/nodes/{29.js-B_bPY-3I.js → 29.js-n2p9iraT.js} +2 -2
  151. package/build/server/chunks/nodes/{29.js-B_bPY-3I.js.map → 29.js-n2p9iraT.js.map} +1 -1
  152. package/build/server/chunks/nodes/{3.js-B_nXNZOS.js → 3.js-DjsKKWxJ.js} +2 -2
  153. package/build/server/chunks/nodes/{3.js-B_nXNZOS.js.map → 3.js-DjsKKWxJ.js.map} +1 -1
  154. package/build/server/chunks/nodes/{30.js-B4h8tS3c.js → 30.js-B5CP7MHc.js} +2 -2
  155. package/build/server/chunks/nodes/{30.js-B4h8tS3c.js.map → 30.js-B5CP7MHc.js.map} +1 -1
  156. package/build/server/chunks/nodes/{5.js-CBQKVVJP.js → 5.js-BAKBRMYw.js} +2 -2
  157. package/build/server/chunks/nodes/{5.js-CBQKVVJP.js.map → 5.js-BAKBRMYw.js.map} +1 -1
  158. package/build/server/chunks/nodes/{6.js-DMRDoUK2.js → 6.js-QrUqOWZX.js} +2 -2
  159. package/build/server/chunks/nodes/{6.js-DMRDoUK2.js.map → 6.js-QrUqOWZX.js.map} +1 -1
  160. package/build/server/chunks/nodes/{7.js-BLtxA4EF.js → 7.js-BvjgrYGl.js} +2 -2
  161. package/build/server/chunks/nodes/{7.js-BLtxA4EF.js.map → 7.js-BvjgrYGl.js.map} +1 -1
  162. package/build/server/chunks/nodes/{8.js-xTfoLU7r.js → 8.js-D1sbrbPg.js} +2 -2
  163. package/build/server/chunks/nodes/{8.js-xTfoLU7r.js.map → 8.js-D1sbrbPg.js.map} +1 -1
  164. package/build/server/chunks/nodes/{9.js-DH7S4_91.js → 9.js-DL6jyGGv.js} +4 -4
  165. package/build/server/chunks/nodes/{9.js-DH7S4_91.js.map → 9.js-DL6jyGGv.js.map} +1 -1
  166. package/package.json +2 -2
  167. package/build/client/_app/immutable/chunks/BOnmqX01.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/BOnmqX01.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/BY3o31MW.js.br +0 -0
  170. package/build/client/_app/immutable/chunks/BY3o31MW.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/CbNz9-CM.js.br +0 -0
  172. package/build/client/_app/immutable/chunks/CbNz9-CM.js.gz +0 -0
  173. package/build/client/_app/immutable/chunks/Pte7A6Om.js +0 -3
  174. package/build/client/_app/immutable/chunks/Pte7A6Om.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/Pte7A6Om.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/_i811ba7.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/_i811ba7.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/pQhmY_wH.js.br +0 -0
  179. package/build/client/_app/immutable/chunks/pQhmY_wH.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/rfOa0BQR.js.br +0 -0
  181. package/build/client/_app/immutable/chunks/rfOa0BQR.js.gz +0 -0
  182. package/build/client/_app/immutable/entry/app.D9cDSDOn.js.br +0 -0
  183. package/build/client/_app/immutable/entry/app.D9cDSDOn.js.gz +0 -0
  184. package/build/client/_app/immutable/entry/start.PySZ-94o.js +0 -1
  185. package/build/client/_app/immutable/entry/start.PySZ-94o.js.br +0 -2
  186. package/build/client/_app/immutable/entry/start.PySZ-94o.js.gz +0 -0
  187. package/build/client/_app/immutable/nodes/1.CZ6ti3QK.js.br +0 -0
  188. package/build/client/_app/immutable/nodes/1.CZ6ti3QK.js.gz +0 -0
  189. package/build/client/_app/immutable/nodes/11.C_GwV9Bj.js.br +0 -0
  190. package/build/client/_app/immutable/nodes/11.C_GwV9Bj.js.gz +0 -0
  191. package/build/client/_app/immutable/nodes/13.B6HunFXY.js.br +0 -0
  192. package/build/client/_app/immutable/nodes/13.B6HunFXY.js.gz +0 -0
  193. package/build/client/_app/immutable/nodes/14.CApA_dlI.js.br +0 -0
  194. package/build/client/_app/immutable/nodes/14.CApA_dlI.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/15.HPNMduTX.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/15.HPNMduTX.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/16.SCUiwN43.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/16.SCUiwN43.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/17.DjaXtpMT.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/17.DjaXtpMT.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/19.CN2i4AVz.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/19.CN2i4AVz.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/2.CprEjS64.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/2.CprEjS64.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/20.pVjIXbFX.js +0 -5021
  206. package/build/client/_app/immutable/nodes/20.pVjIXbFX.js.br +0 -0
  207. package/build/client/_app/immutable/nodes/20.pVjIXbFX.js.gz +0 -0
  208. package/build/client/_app/immutable/nodes/21.C_4vpZgh.js.br +0 -0
  209. package/build/client/_app/immutable/nodes/21.C_4vpZgh.js.gz +0 -0
  210. package/build/client/_app/immutable/nodes/23.oeDvNaab.js.br +0 -0
  211. package/build/client/_app/immutable/nodes/23.oeDvNaab.js.gz +0 -0
  212. package/build/client/_app/immutable/nodes/24.C4jPz0M0.js.br +0 -0
  213. package/build/client/_app/immutable/nodes/24.C4jPz0M0.js.gz +0 -0
  214. package/build/client/_app/immutable/nodes/27.Bjv06_yW.js.br +0 -0
  215. package/build/client/_app/immutable/nodes/27.Bjv06_yW.js.gz +0 -0
  216. package/build/client/_app/immutable/nodes/28.C5NQCChS.js.br +0 -0
  217. package/build/client/_app/immutable/nodes/28.C5NQCChS.js.gz +0 -0
  218. package/build/client/_app/immutable/nodes/29.D7jOFlYP.js.br +0 -0
  219. package/build/client/_app/immutable/nodes/29.D7jOFlYP.js.gz +0 -0
  220. package/build/client/_app/immutable/nodes/3.BsAOhKfW.js.br +0 -0
  221. package/build/client/_app/immutable/nodes/3.BsAOhKfW.js.gz +0 -0
  222. package/build/client/_app/immutable/nodes/30.fXdhn2fS.js.br +0 -0
  223. package/build/client/_app/immutable/nodes/30.fXdhn2fS.js.gz +0 -0
  224. package/build/client/_app/immutable/nodes/5.B1gLU4nT.js.br +0 -0
  225. package/build/client/_app/immutable/nodes/5.B1gLU4nT.js.gz +0 -0
  226. package/build/client/_app/immutable/nodes/6.gBHoQstg.js.br +0 -0
  227. package/build/client/_app/immutable/nodes/6.gBHoQstg.js.gz +0 -0
  228. package/build/client/_app/immutable/nodes/7.D8R5mnRo.js.br +0 -0
  229. package/build/client/_app/immutable/nodes/7.D8R5mnRo.js.gz +0 -0
  230. package/build/client/_app/immutable/nodes/8.xxszvZmC.js.br +0 -0
  231. package/build/client/_app/immutable/nodes/8.xxszvZmC.js.gz +0 -0
  232. package/build/client/_app/immutable/nodes/9.BZTQg6F_.js.br +0 -0
  233. package/build/client/_app/immutable/nodes/9.BZTQg6F_.js.gz +0 -0
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as le,f,d as i,t as E,c as U,r as P,g as n,h as T,n as ee,a as de,s as oe,u as R,e as ve,$ as ge}from"../chunks/BtOVeLcI.js";import{d as he,s as H,a as pe}from"../chunks/BNpXeuQ_.js";import{c as te,a as r,t as _e,f as c}from"../chunks/BoLtD6vo.js";import{i as J}from"../chunks/DAQN5y4A.js";import{a as Z,e as xe}from"../chunks/22C0ZkpD.js";import{s as O,r as re,c as x,b as $e}from"../chunks/ChEZL1UP.js";import{h as we}from"../chunks/CTTkX-27.js";import{p as be}from"../chunks/BY3o31MW.js";import{S as ye}from"../chunks/DLMu-EPf.js";import{i as ie}from"../chunks/Pte7A6Om.js";import{C as ce,a as me}from"../chunks/CY6l1SkO.js";import{B as ae}from"../chunks/3KyAYBE4.js";import{C as ue,a as fe}from"../chunks/BawNisij.js";import{B as ne}from"../chunks/mlApEF2J.js";import{I as se}from"../chunks/BuC_QZkR.js";import{C as Pe}from"../chunks/C0Xb3vka.js";import{T as Ce}from"../chunks/BuBobyR7.js";import{t as y}from"../chunks/DTLLn7uD.js";import{S as Se}from"../chunks/Bixcgta2.js";import{U as ke}from"../chunks/BYQ2KYuV.js";import{S as Ae}from"../chunks/BRHPfB44.js";function Ge(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"}],["path",{d:"m14 19.5 3-3 3 3"}],["path",{d:"M17 22v-5.5"}],["circle",{cx:"9",cy:"9",r:"2"}]];se(v,O({name:"image-up"},()=>l,{get iconNode(){return s}}))}function Ie(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1"}]];se(v,O({name:"layout-dashboard"},()=>l,{get iconNode(){return s}}))}function Ue(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];se(v,O({name:"package"},()=>l,{get iconNode(){return s}}))}var Ne=c("<!> ",1),je=c("<!> <!>",1),Me=c('<img class="h-full w-full object-contain"/>'),ze=c("<!> ",1),Be=c("<!> Remove",1),Te=c('<div class="flex items-center gap-4"><div class="bg-muted/40 flex h-20 w-20 shrink-0 items-center justify-center overflow-hidden rounded-lg border"><!></div> <div class="flex flex-col gap-2"><p class="text-muted-foreground text-xs">PNG, JPG, WebP, GIF, or SVG. Stored at up to 1200px as WebP.</p> <div class="flex gap-2"><input type="file" class="hidden"/> <!> <!></div></div></div>'),Ee=c("<!> <!>",1);function Fe(v,e){le(e,!0);const l="image/png,image/jpeg,image/webp,image/gif,image/svg+xml",s=10*1024*1024,F=R(()=>`/admin/api/orgs/${e.orgId}/assets/${e.kind}`);let C=oe(null),m=oe(!1);async function M(t){const u=t.target,$=u.files?.[0];if(u.value="",!!$){if(!l.split(",").includes($.type)){y.error("Unsupported image type. Use PNG, JPG, WebP, GIF, or SVG.");return}if($.size>s){y.error(`Image too large. Max ${s/(1024*1024)} MB.`);return}T(m,!0);try{const D=new FormData;D.append("image",$);const g=await fetch(n(F),{method:"POST",body:D});if(g.ok)y.success(`${e.title} updated`),await ie();else{const w=await g.json().catch(()=>({}));y.error(w.message||w.error||`Upload failed (${g.status})`)}}catch{y.error("Failed to upload")}finally{T(m,!1)}}}async function V(){T(m,!0);try{const t=await fetch(n(F),{method:"DELETE"});t.ok?(y.success(`${e.title} removed`),await ie()):y.error(`Remove failed (${t.status})`)}catch{y.error("Failed to remove")}finally{T(m,!1)}}var W=te(),X=f(W);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=Ee(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=je(),d=f(o);x(d,()=>me,(h,b)=>{b(h,{class:"flex items-center gap-2 text-sm font-medium",children:(p,_)=>{var I=Ne(),N=f(I);ae(N,{class:"text-muted-foreground h-4 w-4"});var L=i(N);E(()=>H(L,` ${e.title??""}`)),r(p,I)},$$slots:{default:!0}})});var G=i(d,2);{var z=h=>{var b=te(),p=f(b);x(p,()=>Pe,(_,I)=>{I(_,{children:(N,L)=>{ee();var a=_e();E(()=>H(a,e.description)),r(N,a)},$$slots:{default:!0}})}),r(h,b)};J(G,h=>{e.description&&h(z)})}r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=Te(),d=U(o),G=U(d);{var z=a=>{var j=Me();E(()=>{Z(j,"src",e.url),Z(j,"alt",e.title)}),r(a,j)},h=a=>{ae(a,{class:"text-muted-foreground/50 h-8 w-8"})};J(G,a=>{e.url?a(z):a(h,-1)})}P(d);var b=i(d,2),p=i(U(b),2),_=U(p);Z(_,"accept",l),$e(_,a=>T(C,a),()=>n(C));var I=i(_,2);ne(I,{variant:"outline",size:"sm",get disabled(){return n(m)},onclick:()=>n(C)?.click(),class:"h-8",children:(a,j)=>{var K=ze(),B=f(K);Ge(B,{class:"mr-1.5 h-3.5 w-3.5"});var Q=i(B);E(()=>H(Q,` ${n(m)?"Working…":e.url?"Replace":"Upload"}`)),r(a,K)},$$slots:{default:!0}});var N=i(I,2);{var L=a=>{ne(a,{variant:"ghost",size:"sm",get disabled(){return n(m)},onclick:V,class:"text-destructive hover:text-destructive h-8",children:(j,K)=>{var B=Be(),Q=f(B);Ce(Q,{class:"mr-1.5 h-3.5 w-3.5"}),ee(),r(j,B)},$$slots:{default:!0}})};J(N,a=>{e.url&&a(L)})}P(p),P(b),P(o),pe("change",_,M),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),r(v,W),de()}he(["change"]);var Ve=c("<!> Installed version",1),We=c('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs"> </span></div>'),De=c("<!> <!>",1),Le=c('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!> <!></div>');function ut(v,e){le(e,!0);const l=R(()=>be.data.branding.name),s=t=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(t),F=R(()=>[{href:"/admin/users",icon:ke,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:s("manage_instance_users")},{href:"/admin/organizations",icon:ae,value:"Organizations",label:"All orgs on this instance",show:s("instance_admin")},{href:"/admin/compute",icon:Ae,value:"Compute",label:"Servers, status & config",show:s("manage_compute")},{href:"/projects",icon:Ie,value:"Content",label:"Definitions & projects",show:s("instance_admin")}].filter(t=>t.show));var C=Le();we("1jef3w8",t=>{ve(()=>{ge.title="Admin · General"})});var m=U(C);Se(m,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${n(l)??""} instance — users, compute, and content.`}});var M=i(m,2);xe(M,21,()=>n(F),t=>t.href,(t,u)=>{ye(t,O(()=>n(u)))}),P(M);var V=i(M,2);{var W=t=>{{let u=R(()=>e.data.org.assets.logo??null);Fe(t,{get orgId(){return e.data.org.id},kind:"logo",get url(){return n(u)},title:"Company logo",get description(){return`Upload a logo to reuse across ${n(l)??""}. Shown in the viewer header; more surfaces will pick it up.`}})}};J(V,t=>{e.data.org&&t(W)})}var X=i(V,2);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=De(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=te(),d=f(o);x(d,()=>me,(G,z)=>{z(G,{class:"flex items-center gap-2 text-sm font-medium",children:(h,b)=>{var p=Ve(),_=f(p);Ue(_,{class:"text-muted-foreground h-4 w-4"}),ee(),r(h,p)},$$slots:{default:!0}})}),r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=We(),d=i(U(o),2),G=U(d);P(d),P(o),E(()=>H(G,`v${e.data.version??""}`)),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),P(C),r(v,C),de()}export{ut as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as le,f,d as i,t as E,c as U,r as P,g as n,h as T,n as ee,a as de,s as oe,u as R,e as ve,$ as ge}from"../chunks/BtOVeLcI.js";import{d as he,s as H,a as pe}from"../chunks/BNpXeuQ_.js";import{c as te,a as r,t as _e,f as c}from"../chunks/BoLtD6vo.js";import{i as J}from"../chunks/DAQN5y4A.js";import{a as Z,e as xe}from"../chunks/22C0ZkpD.js";import{s as O,r as re,c as x,b as $e}from"../chunks/ChEZL1UP.js";import{h as we}from"../chunks/CTTkX-27.js";import{p as be}from"../chunks/MkJsWBxy.js";import{S as ye}from"../chunks/DLMu-EPf.js";import{i as ie}from"../chunks/Zux0n3kg.js";import{C as ce,a as me}from"../chunks/CY6l1SkO.js";import{B as ae}from"../chunks/3KyAYBE4.js";import{C as ue,a as fe}from"../chunks/BawNisij.js";import{B as ne}from"../chunks/mlApEF2J.js";import{I as se}from"../chunks/BuC_QZkR.js";import{C as Pe}from"../chunks/C0Xb3vka.js";import{T as Ce}from"../chunks/BuBobyR7.js";import{t as y}from"../chunks/DTLLn7uD.js";import{S as Se}from"../chunks/Bixcgta2.js";import{U as ke}from"../chunks/BYQ2KYuV.js";import{S as Ae}from"../chunks/BRHPfB44.js";function Ge(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"}],["path",{d:"m14 19.5 3-3 3 3"}],["path",{d:"M17 22v-5.5"}],["circle",{cx:"9",cy:"9",r:"2"}]];se(v,O({name:"image-up"},()=>l,{get iconNode(){return s}}))}function Ie(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1"}]];se(v,O({name:"layout-dashboard"},()=>l,{get iconNode(){return s}}))}function Ue(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];se(v,O({name:"package"},()=>l,{get iconNode(){return s}}))}var Ne=c("<!> ",1),je=c("<!> <!>",1),Me=c('<img class="h-full w-full object-contain"/>'),ze=c("<!> ",1),Be=c("<!> Remove",1),Te=c('<div class="flex items-center gap-4"><div class="bg-muted/40 flex h-20 w-20 shrink-0 items-center justify-center overflow-hidden rounded-lg border"><!></div> <div class="flex flex-col gap-2"><p class="text-muted-foreground text-xs">PNG, JPG, WebP, GIF, or SVG. Stored at up to 1200px as WebP.</p> <div class="flex gap-2"><input type="file" class="hidden"/> <!> <!></div></div></div>'),Ee=c("<!> <!>",1);function Fe(v,e){le(e,!0);const l="image/png,image/jpeg,image/webp,image/gif,image/svg+xml",s=10*1024*1024,F=R(()=>`/admin/api/orgs/${e.orgId}/assets/${e.kind}`);let C=oe(null),m=oe(!1);async function M(t){const u=t.target,$=u.files?.[0];if(u.value="",!!$){if(!l.split(",").includes($.type)){y.error("Unsupported image type. Use PNG, JPG, WebP, GIF, or SVG.");return}if($.size>s){y.error(`Image too large. Max ${s/(1024*1024)} MB.`);return}T(m,!0);try{const D=new FormData;D.append("image",$);const g=await fetch(n(F),{method:"POST",body:D});if(g.ok)y.success(`${e.title} updated`),await ie();else{const w=await g.json().catch(()=>({}));y.error(w.message||w.error||`Upload failed (${g.status})`)}}catch{y.error("Failed to upload")}finally{T(m,!1)}}}async function V(){T(m,!0);try{const t=await fetch(n(F),{method:"DELETE"});t.ok?(y.success(`${e.title} removed`),await ie()):y.error(`Remove failed (${t.status})`)}catch{y.error("Failed to remove")}finally{T(m,!1)}}var W=te(),X=f(W);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=Ee(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=je(),d=f(o);x(d,()=>me,(h,b)=>{b(h,{class:"flex items-center gap-2 text-sm font-medium",children:(p,_)=>{var I=Ne(),N=f(I);ae(N,{class:"text-muted-foreground h-4 w-4"});var L=i(N);E(()=>H(L,` ${e.title??""}`)),r(p,I)},$$slots:{default:!0}})});var G=i(d,2);{var z=h=>{var b=te(),p=f(b);x(p,()=>Pe,(_,I)=>{I(_,{children:(N,L)=>{ee();var a=_e();E(()=>H(a,e.description)),r(N,a)},$$slots:{default:!0}})}),r(h,b)};J(G,h=>{e.description&&h(z)})}r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=Te(),d=U(o),G=U(d);{var z=a=>{var j=Me();E(()=>{Z(j,"src",e.url),Z(j,"alt",e.title)}),r(a,j)},h=a=>{ae(a,{class:"text-muted-foreground/50 h-8 w-8"})};J(G,a=>{e.url?a(z):a(h,-1)})}P(d);var b=i(d,2),p=i(U(b),2),_=U(p);Z(_,"accept",l),$e(_,a=>T(C,a),()=>n(C));var I=i(_,2);ne(I,{variant:"outline",size:"sm",get disabled(){return n(m)},onclick:()=>n(C)?.click(),class:"h-8",children:(a,j)=>{var K=ze(),B=f(K);Ge(B,{class:"mr-1.5 h-3.5 w-3.5"});var Q=i(B);E(()=>H(Q,` ${n(m)?"Working…":e.url?"Replace":"Upload"}`)),r(a,K)},$$slots:{default:!0}});var N=i(I,2);{var L=a=>{ne(a,{variant:"ghost",size:"sm",get disabled(){return n(m)},onclick:V,class:"text-destructive hover:text-destructive h-8",children:(j,K)=>{var B=Be(),Q=f(B);Ce(Q,{class:"mr-1.5 h-3.5 w-3.5"}),ee(),r(j,B)},$$slots:{default:!0}})};J(N,a=>{e.url&&a(L)})}P(p),P(b),P(o),pe("change",_,M),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),r(v,W),de()}he(["change"]);var Ve=c("<!> Installed version",1),We=c('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs"> </span></div>'),De=c("<!> <!>",1),Le=c('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!> <!></div>');function ut(v,e){le(e,!0);const l=R(()=>be.data.branding.name),s=t=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(t),F=R(()=>[{href:"/admin/users",icon:ke,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:s("manage_instance_users")},{href:"/admin/organizations",icon:ae,value:"Organizations",label:"All orgs on this instance",show:s("instance_admin")},{href:"/admin/compute",icon:Ae,value:"Compute",label:"Servers, status & config",show:s("manage_compute")},{href:"/projects",icon:Ie,value:"Content",label:"Definitions & projects",show:s("instance_admin")}].filter(t=>t.show));var C=Le();we("1jef3w8",t=>{ve(()=>{ge.title="Admin · General"})});var m=U(C);Se(m,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${n(l)??""} instance — users, compute, and content.`}});var M=i(m,2);xe(M,21,()=>n(F),t=>t.href,(t,u)=>{ye(t,O(()=>n(u)))}),P(M);var V=i(M,2);{var W=t=>{{let u=R(()=>e.data.org.assets.logo??null);Fe(t,{get orgId(){return e.data.org.id},kind:"logo",get url(){return n(u)},title:"Company logo",get description(){return`Upload a logo to reuse across ${n(l)??""}. Shown in the viewer header; more surfaces will pick it up.`}})}};J(V,t=>{e.data.org&&t(W)})}var X=i(V,2);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=De(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=te(),d=f(o);x(d,()=>me,(G,z)=>{z(G,{class:"flex items-center gap-2 text-sm font-medium",children:(h,b)=>{var p=Ve(),_=f(p);Ue(_,{class:"text-muted-foreground h-4 w-4"}),ee(),r(h,p)},$$slots:{default:!0}})}),r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=We(),d=i(U(o),2),G=U(d);P(d),P(o),E(()=>H(G,`v${e.data.version??""}`)),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),P(C),r(v,C),de()}export{ut as component};
@@ -1 +1 @@
1
- {"version":"1783412077798"}
1
+ {"version":"1783413648019"}
Binary file
Binary file
package/build/handler.js CHANGED
@@ -2,10 +2,10 @@ import './shims.js';
2
2
  import 'node:fs';
3
3
  import 'node:path';
4
4
  import 'node:process';
5
- export { h as handler } from './server/chunks/handler-8WbYsqTN.js';
5
+ export { h as handler } from './server/chunks/handler-ChMa4swI.js';
6
6
  import '@sveltejs/kit/node';
7
- import './server/chunks/index.js-DQiiVGnK.js';
8
- import './server/chunks/manifest.js-4bS33Rny.js';
7
+ import './server/chunks/index.js-BT9EM2t1.js';
8
+ import './server/chunks/manifest.js-BMofdSe5.js';
9
9
  import './env.js';
10
10
  import '@sveltejs/kit/node/polyfills';
11
11
  import 'node:http';
@@ -24,7 +24,7 @@ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
24
24
  import './server/chunks/chunks/index.js-CC8M6P-h.js';
25
25
  import './server/chunks/chunks/renderer.js-CtAppMtw.js';
26
26
  import './server/chunks/chunks/shared-server.js-DaWdgxVh.js';
27
- import './server/chunks/chunks/internal.js-DUldHjE3.js';
27
+ import './server/chunks/chunks/internal.js-CSbIfVJO.js';
28
28
  import './server/chunks/chunks/root.js-BKNoOlLU.js';
29
29
  import './server/chunks/chunks/events.js-CzuTO9ni.js';
30
30
  //# sourceMappingURL=handler.js.map
package/build/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import fs__default from 'node:fs';
3
3
  import process from 'node:process';
4
- import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-8WbYsqTN.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-ChMa4swI.js';
5
5
  import { env, timeout_env } from './env.js';
6
6
  import { rm } from 'node:fs/promises';
7
7
  import './shims.js';
@@ -10,7 +10,7 @@ import 'node:path';
10
10
  import 'node:timers';
11
11
  import 'node:querystring';
12
12
  import '@sveltejs/kit/node';
13
- import './server/chunks/index.js-DQiiVGnK.js';
13
+ import './server/chunks/index.js-BT9EM2t1.js';
14
14
  import './server/chunks/chunks/utils.js-B8oGSXiQ.js';
15
15
  import './server/chunks/chunks/utils2.js-DGYJFmnf.js';
16
16
  import './server/chunks/chunks/render-context.js-CK-yhMaE.js';
@@ -23,10 +23,10 @@ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
23
23
  import './server/chunks/chunks/index.js-CC8M6P-h.js';
24
24
  import './server/chunks/chunks/renderer.js-CtAppMtw.js';
25
25
  import './server/chunks/chunks/shared-server.js-DaWdgxVh.js';
26
- import './server/chunks/chunks/internal.js-DUldHjE3.js';
26
+ import './server/chunks/chunks/internal.js-CSbIfVJO.js';
27
27
  import './server/chunks/chunks/root.js-BKNoOlLU.js';
28
28
  import './server/chunks/chunks/events.js-CzuTO9ni.js';
29
- import './server/chunks/manifest.js-4bS33Rny.js';
29
+ import './server/chunks/manifest.js-BMofdSe5.js';
30
30
  import 'node:url';
31
31
 
32
32
  const path = env('SOCKET_PATH', false);
@@ -94,7 +94,7 @@ const options = {
94
94
  <div class="error">
95
95
  <span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
96
96
  },
97
- version_hash: "1tdl3cp"
97
+ version_hash: "v6r15o"
98
98
  };
99
99
  async function get_hooks() {
100
100
  let handle;
@@ -102,7 +102,7 @@ async function get_hooks() {
102
102
  let handleError;
103
103
  let handleValidationError;
104
104
  let init;
105
- ({ handle, handleFetch, handleError, handleValidationError, init } = await import('../entries/hooks.server.js-CEJghe6K.js'));
105
+ ({ handle, handleFetch, handleError, handleValidationError, init } = await import('../entries/hooks.server.js-C3YMifQe.js'));
106
106
  let reroute;
107
107
  let transport;
108
108
  return {
@@ -117,4 +117,4 @@ async function get_hooks() {
117
117
  }
118
118
 
119
119
  export { get_hooks as g, options as o, read_implementation as r, set_read_implementation as s };
120
- //# sourceMappingURL=internal.js-DUldHjE3.js.map
120
+ //# sourceMappingURL=internal.js-CSbIfVJO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js-DUldHjE3.js","sources":["../../../../.svelte-kit/output/server/chunks/internal.js"],"sourcesContent":["import { r as root } from \"./root.js\";\nimport \"./environment.js\";\nimport \"./shared-server.js\";\nlet read_implementation = null;\nfunction set_read_implementation(fn) {\n read_implementation = fn;\n}\nfunction set_manifest(_) {\n}\nconst options = {\n app_template_contains_nonce: false,\n async: false,\n csp: { \"mode\": \"auto\", \"directives\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false }, \"reportOnly\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false } },\n csrf_check_origin: true,\n csrf_trusted_origins: [],\n embedded: false,\n env_public_prefix: \"PUBLIC_\",\n env_private_prefix: \"\",\n hash_routing: false,\n hooks: null,\n // added lazily, via `get_hooks`\n preload_strategy: \"modulepreload\",\n root,\n service_worker: false,\n service_worker_options: void 0,\n server_error_boundaries: false,\n templates: {\n app: ({ head, body, assets, nonce, env }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\\n\t\t<link rel=\"icon\" type=\"image/png\" href=\"/favicon/favicon-96x96.png\" sizes=\"96x96\" />\\n\t\t<link rel=\"icon\" type=\"image/svg+xml\" href=\"/favicon/favicon.svg\" />\\n\t\t<link rel=\"shortcut icon\" href=\"/favicon/favicon.ico\" />\\n\t\t<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/favicon/apple-touch-icon.png\" />\\n\t\t<meta name=\"apple-mobile-web-app-title\" content=\"Selva\" />\\n\t\t<link rel=\"manifest\" href=\"/favicon/site.webmanifest\" crossorigin=\"use-credentials\" />\\n\t\t' + head + '\\n\t</head>\\n\t<body data-sveltekit-preload-data=\"hover\">\\n\t\t<div style=\"display: contents\">' + body + \"</div>\\n\t</body>\\n</html>\\n\",\n error: ({ status, message }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<title>' + message + `</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">` + status + '</span>\\n\t\t\t<div class=\"message\">\\n\t\t\t\t<h1>' + message + \"</h1>\\n\t\t\t</div>\\n\t\t</div>\\n\t</body>\\n</html>\\n\"\n },\n version_hash: \"1tdl3cp\"\n};\nasync function get_hooks() {\n let handle;\n let handleFetch;\n let handleError;\n let handleValidationError;\n let init;\n ({ handle, handleFetch, handleError, handleValidationError, init } = await import(\"../entries/hooks.server.js\"));\n let reroute;\n let transport;\n return {\n handle,\n handleFetch,\n handleError,\n handleValidationError,\n init,\n reroute,\n transport\n };\n}\nexport {\n set_manifest as a,\n get_hooks as g,\n options as o,\n read_implementation as r,\n set_read_implementation as s\n};\n"],"names":[],"mappings":";;AAGG,IAAC,mBAAmB,GAAG;AAC1B,SAAS,uBAAuB,CAAC,EAAE,EAAE;AACrC,EAAE,mBAAmB,GAAG,EAAE;AAC1B;AAGK,MAAC,OAAO,GAAG;AAChB,EAAE,2BAA2B,EAAE,KAAK;AACpC,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE;AACzM,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,oBAAoB,EAAE,EAAE;AAC1B,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,iBAAiB,EAAE,SAAS;AAC9B,EAAE,kBAAkB,EAAE,EAAE;AACxB,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,KAAK,EAAE,IAAI;AACb;AACA,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,IAAI;AACN,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,sBAAsB,EAAE,MAAM;AAChC,EAAE,uBAAuB,EAAE,KAAK;AAChC,EAAE,SAAS,EAAE;AACb,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,kmBAAkmB,GAAG,IAAI,GAAG,4FAA4F,GAAG,IAAI,GAAG,6BAA6B;AAChyB,IAAI,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,mFAAmF,GAAG,OAAO,GAAG,CAAC;;AAErI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,CAAC,GAAG,MAAM,GAAG,6CAA6C,GAAG,OAAO,GAAG;AAC/F,GAAG;AACH,EAAE,YAAY,EAAE;AAChB;AACA,eAAe,SAAS,GAAG;AAC3B,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,qBAAqB;AAC3B,EAAE,IAAI,IAAI;AACV,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,wCAA4B,CAAC;AACjH,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,SAAS;AACf,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,qBAAqB;AACzB,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"internal.js-CSbIfVJO.js","sources":["../../../../.svelte-kit/output/server/chunks/internal.js"],"sourcesContent":["import { r as root } from \"./root.js\";\nimport \"./environment.js\";\nimport \"./shared-server.js\";\nlet read_implementation = null;\nfunction set_read_implementation(fn) {\n read_implementation = fn;\n}\nfunction set_manifest(_) {\n}\nconst options = {\n app_template_contains_nonce: false,\n async: false,\n csp: { \"mode\": \"auto\", \"directives\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false }, \"reportOnly\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false } },\n csrf_check_origin: true,\n csrf_trusted_origins: [],\n embedded: false,\n env_public_prefix: \"PUBLIC_\",\n env_private_prefix: \"\",\n hash_routing: false,\n hooks: null,\n // added lazily, via `get_hooks`\n preload_strategy: \"modulepreload\",\n root,\n service_worker: false,\n service_worker_options: void 0,\n server_error_boundaries: false,\n templates: {\n app: ({ head, body, assets, nonce, env }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\\n\t\t<link rel=\"icon\" type=\"image/png\" href=\"/favicon/favicon-96x96.png\" sizes=\"96x96\" />\\n\t\t<link rel=\"icon\" type=\"image/svg+xml\" href=\"/favicon/favicon.svg\" />\\n\t\t<link rel=\"shortcut icon\" href=\"/favicon/favicon.ico\" />\\n\t\t<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/favicon/apple-touch-icon.png\" />\\n\t\t<meta name=\"apple-mobile-web-app-title\" content=\"Selva\" />\\n\t\t<link rel=\"manifest\" href=\"/favicon/site.webmanifest\" crossorigin=\"use-credentials\" />\\n\t\t' + head + '\\n\t</head>\\n\t<body data-sveltekit-preload-data=\"hover\">\\n\t\t<div style=\"display: contents\">' + body + \"</div>\\n\t</body>\\n</html>\\n\",\n error: ({ status, message }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<title>' + message + `</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">` + status + '</span>\\n\t\t\t<div class=\"message\">\\n\t\t\t\t<h1>' + message + \"</h1>\\n\t\t\t</div>\\n\t\t</div>\\n\t</body>\\n</html>\\n\"\n },\n version_hash: \"v6r15o\"\n};\nasync function get_hooks() {\n let handle;\n let handleFetch;\n let handleError;\n let handleValidationError;\n let init;\n ({ handle, handleFetch, handleError, handleValidationError, init } = await import(\"../entries/hooks.server.js\"));\n let reroute;\n let transport;\n return {\n handle,\n handleFetch,\n handleError,\n handleValidationError,\n init,\n reroute,\n transport\n };\n}\nexport {\n set_manifest as a,\n get_hooks as g,\n options as o,\n read_implementation as r,\n set_read_implementation as s\n};\n"],"names":[],"mappings":";;AAGG,IAAC,mBAAmB,GAAG;AAC1B,SAAS,uBAAuB,CAAC,EAAE,EAAE;AACrC,EAAE,mBAAmB,GAAG,EAAE;AAC1B;AAGK,MAAC,OAAO,GAAG;AAChB,EAAE,2BAA2B,EAAE,KAAK;AACpC,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE;AACzM,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,oBAAoB,EAAE,EAAE;AAC1B,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,iBAAiB,EAAE,SAAS;AAC9B,EAAE,kBAAkB,EAAE,EAAE;AACxB,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,KAAK,EAAE,IAAI;AACb;AACA,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,IAAI;AACN,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,sBAAsB,EAAE,MAAM;AAChC,EAAE,uBAAuB,EAAE,KAAK;AAChC,EAAE,SAAS,EAAE;AACb,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,kmBAAkmB,GAAG,IAAI,GAAG,4FAA4F,GAAG,IAAI,GAAG,6BAA6B;AAChyB,IAAI,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,mFAAmF,GAAG,OAAO,GAAG,CAAC;;AAErI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,CAAC,GAAG,MAAM,GAAG,6CAA6C,GAAG,OAAO,GAAG;AAC/F,GAAG;AACH,EAAE,YAAY,EAAE;AAChB;AACA,eAAe,SAAS,GAAG;AAC3B,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,qBAAqB;AAC3B,EAAE,IAAI,IAAI;AACV,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,wCAA4B,CAAC;AACjH,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,SAAS;AACf,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,qBAAqB;AACzB,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  const name = "@selvajs/selva";
2
- const version = "4.6.17";
2
+ const version = "4.6.18";
3
3
  const description = "Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.";
4
4
  const license = "MIT";
5
5
  const publishConfig = { "access": "public" };
@@ -26,4 +26,4 @@ const pkg = {
26
26
  };
27
27
 
28
28
  export { pkg as p };
29
- //# sourceMappingURL=package.js-FSG5sWFK.js.map
29
+ //# sourceMappingURL=package.js-DXXa4mq9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.js-FSG5sWFK.js","sources":["../../../../.svelte-kit/output/server/chunks/package.js"],"sourcesContent":["const name = \"@selvajs/selva\";\nconst version = \"4.6.17\";\nconst description = \"Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.\";\nconst license = \"MIT\";\nconst publishConfig = { \"access\": \"public\" };\nconst type = \"module\";\nconst main = \"./build/index.js\";\nconst files = [\"build\", \"templates\"];\nconst engines = { \"node\": \">=20.6.0\" };\nconst scripts = { \"dev\": \"vite dev\", \"build\": \"rimraf build && vite build && node ./scripts/generate-templates.js\", \"preview\": \"vite preview\", \"start\": \"node build/index.js\", \"clean\": \"rimraf build templates\", \"prepare\": \"svelte-kit sync || echo ''\", \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\", \"type-check\": \"tsc --noEmit\", \"test\": \"vitest run\", \"test:watch\": \"vitest\", \"test:e2e\": \"playwright test\" };\nconst dependencies = { \"@lucide/svelte\": \"catalog:\", \"@selvajs/compute\": \"catalog:\", \"@supabase/supabase-js\": \"^2.104.1\", \"@sveltejs/kit\": \"catalog:\", \"bits-ui\": \"^2.18.0\", \"clsx\": \"catalog:\", \"mode-watcher\": \"catalog:\", \"rhino3dm\": \"8.17.0\", \"sharp\": \"^0.34.5\", \"tailwind-merge\": \"catalog:\", \"tailwind-variants\": \"^3.2.2\", \"three\": \"catalog:\", \"zod\": \"^4.3.6\" };\nconst devDependencies = { \"@selvajs/config\": \"workspace:*\", \"@selvajs/header-auth-provider\": \"workspace:*\", \"@selvajs/local-provider\": \"workspace:*\", \"@selvajs/platform\": \"workspace:*\", \"@selvajs/schemas\": \"workspace:*\", \"@selvajs/supabase-provider\": \"workspace:*\", \"@selvajs/ui\": \"workspace:*\", \"@playwright/test\": \"catalog:\", \"@sveltejs/adapter-node\": \"^5.5.4\", \"@types/three\": \"catalog:\", \"rimraf\": \"catalog:\", \"tw-animate-css\": \"catalog:\", \"vitest\": \"catalog:\" };\nconst pkg = {\n name,\n version,\n description,\n license,\n publishConfig,\n type,\n main,\n files,\n engines,\n scripts,\n dependencies,\n devDependencies\n};\nexport {\n pkg as p\n};\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,gBAAgB;AAC7B,MAAM,OAAO,GAAG,QAAQ;AACxB,MAAM,WAAW,GAAG,yFAAyF;AAC7G,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5C,MAAM,IAAI,GAAG,QAAQ;AACrB,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACpC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;AACtC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oEAAoE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,4DAA4D,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAC7a,MAAM,YAAY,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1W,MAAM,eAAe,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,+BAA+B,EAAE,aAAa,EAAE,yBAAyB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,4BAA4B,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC7c,MAAC,GAAG,GAAG;AACZ,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"package.js-DXXa4mq9.js","sources":["../../../../.svelte-kit/output/server/chunks/package.js"],"sourcesContent":["const name = \"@selvajs/selva\";\nconst version = \"4.6.18\";\nconst description = \"Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.\";\nconst license = \"MIT\";\nconst publishConfig = { \"access\": \"public\" };\nconst type = \"module\";\nconst main = \"./build/index.js\";\nconst files = [\"build\", \"templates\"];\nconst engines = { \"node\": \">=20.6.0\" };\nconst scripts = { \"dev\": \"vite dev\", \"build\": \"rimraf build && vite build && node ./scripts/generate-templates.js\", \"preview\": \"vite preview\", \"start\": \"node build/index.js\", \"clean\": \"rimraf build templates\", \"prepare\": \"svelte-kit sync || echo ''\", \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\", \"type-check\": \"tsc --noEmit\", \"test\": \"vitest run\", \"test:watch\": \"vitest\", \"test:e2e\": \"playwright test\" };\nconst dependencies = { \"@lucide/svelte\": \"catalog:\", \"@selvajs/compute\": \"catalog:\", \"@supabase/supabase-js\": \"^2.104.1\", \"@sveltejs/kit\": \"catalog:\", \"bits-ui\": \"^2.18.0\", \"clsx\": \"catalog:\", \"mode-watcher\": \"catalog:\", \"rhino3dm\": \"8.17.0\", \"sharp\": \"^0.34.5\", \"tailwind-merge\": \"catalog:\", \"tailwind-variants\": \"^3.2.2\", \"three\": \"catalog:\", \"zod\": \"^4.3.6\" };\nconst devDependencies = { \"@selvajs/config\": \"workspace:*\", \"@selvajs/header-auth-provider\": \"workspace:*\", \"@selvajs/local-provider\": \"workspace:*\", \"@selvajs/platform\": \"workspace:*\", \"@selvajs/schemas\": \"workspace:*\", \"@selvajs/supabase-provider\": \"workspace:*\", \"@selvajs/ui\": \"workspace:*\", \"@playwright/test\": \"catalog:\", \"@sveltejs/adapter-node\": \"^5.5.4\", \"@types/three\": \"catalog:\", \"rimraf\": \"catalog:\", \"tw-animate-css\": \"catalog:\", \"vitest\": \"catalog:\" };\nconst pkg = {\n name,\n version,\n description,\n license,\n publishConfig,\n type,\n main,\n files,\n engines,\n scripts,\n dependencies,\n devDependencies\n};\nexport {\n pkg as p\n};\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,gBAAgB;AAC7B,MAAM,OAAO,GAAG,QAAQ;AACxB,MAAM,WAAW,GAAG,yFAAyF;AAC7G,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5C,MAAM,IAAI,GAAG,QAAQ;AACrB,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACpC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;AACtC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oEAAoE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,4DAA4D,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAC7a,MAAM,YAAY,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1W,MAAM,eAAe,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,+BAA+B,EAAE,aAAa,EAAE,yBAAyB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,4BAA4B,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC7c,MAAC,GAAG,GAAG;AACZ,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE;AACF;;;;"}
@@ -138,10 +138,16 @@ const handle = async ({ event, resolve }) => {
138
138
  if (!user) {
139
139
  if (isJsonApiRoute) {
140
140
  return applySecurityHeaders(
141
- new Response(JSON.stringify({ message: "Unauthorized", code: "UNAUTHORIZED" }), {
142
- status: 401,
143
- headers: { "Content-Type": "application/json" }
144
- }),
141
+ new Response(
142
+ JSON.stringify({
143
+ message: "Your session has expired. Sign in again to continue.",
144
+ code: "UNAUTHORIZED"
145
+ }),
146
+ {
147
+ status: 401,
148
+ headers: { "Content-Type": "application/json" }
149
+ }
150
+ ),
145
151
  pathname
146
152
  );
147
153
  }
@@ -229,4 +235,4 @@ const handleError = ({
229
235
  };
230
236
 
231
237
  export { handle, handleError, isPublicRoute, isSelfGatingApiRoute, isStaticAsset };
232
- //# sourceMappingURL=hooks.server.js-CEJghe6K.js.map
238
+ //# sourceMappingURL=hooks.server.js-C3YMifQe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.server.js-CEJghe6K.js","sources":["../../../../.svelte-kit/output/server/entries/hooks.server.js"],"sourcesContent":["import { redirect, isHttpError } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../chunks/context.js\";\nimport { p as providers } from \"../chunks/providers.server.js\";\nimport { g as getBootHealth } from \"../chunks/bootHealth.server.js\";\nimport { w as wireHeaderAuthBootstrap, b as bootstrapUserSession } from \"../chunks/auth-bootstrap.server.js\";\nimport { g as getRefreshToken, s as setSessionCookie, a as setRefreshCookie, c as clearRefreshCookie } from \"../chunks/admin-auth.server.js\";\nfunction emptyProfile(userId) {\n return { userId, starredDefinitions: [], recentRuns: [] };\n}\nlet headerAuthBootstrapWired = false;\nlet bootHealthKicked = false;\nlet proxyAuthLoginMissWarned = false;\nlet firstRunResolved = false;\nasync function isFirstRun() {\n if (firstRunResolved) return false;\n const usersPage = await providers.auth.listUsers({ limit: 1 });\n if (usersPage === null) {\n firstRunResolved = true;\n return false;\n }\n if (usersPage.items.length === 0) return true;\n firstRunResolved = true;\n return false;\n}\nasync function buildContext(user, sessionToken) {\n let actingOrgId;\n let orgPermissions = [];\n const platformPermissions = await providers.data.permissions.getFor(SYSTEM_CONTEXT, user.id);\n const membership = await providers.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id);\n if (membership) {\n actingOrgId = membership.org.id;\n orgPermissions = membership.member.permissions;\n }\n if (!actingOrgId && platformPermissions.includes(\"instance_admin\")) {\n const firstOrgPage = await providers.data.orgs.listOrgs(SYSTEM_CONTEXT, { limit: 1 });\n const firstOrg = firstOrgPage.items[0];\n if (firstOrg) actingOrgId = firstOrg.id;\n }\n return {\n userId: user.id,\n actingOrgId,\n platformPermissions,\n orgPermissions,\n adapterContext: sessionToken ? { sessionToken } : void 0\n };\n}\nconst PUBLIC_PAGE_ROUTES = /* @__PURE__ */ new Set([\n \"/\",\n // landing — guests see it; authed users get redirected by +page.server.ts\n \"/login\",\n \"/setup\",\n \"/accept-invite\"\n]);\nconst PUBLIC_PATH_PREFIXES = [\"/auth/\", \"/logout\"];\nconst PUBLIC_API_ROUTES = /* @__PURE__ */ new Set([\"/api/health\"]);\nconst SELF_GATING_API_PREFIX = \"/api/files/\";\nconst STATIC_ASSET_PREFIXES = [\"/_app/\", \"/favicon/\"];\nconst STATIC_ASSET_PATHS = /* @__PURE__ */ new Set([\"/favicon.svg\", \"/robots.txt\"]);\nfunction isStaticAsset(pathname) {\n if (STATIC_ASSET_PATHS.has(pathname)) return true;\n return STATIC_ASSET_PREFIXES.some((p) => pathname.startsWith(p));\n}\nfunction isSelfGatingApiRoute(pathname) {\n return pathname.startsWith(SELF_GATING_API_PREFIX);\n}\nfunction isPublicRoute(pathname) {\n if (PUBLIC_PAGE_ROUTES.has(pathname)) return true;\n if (PUBLIC_API_ROUTES.has(pathname)) return true;\n if (isSelfGatingApiRoute(pathname)) return true;\n return PUBLIC_PATH_PREFIXES.some((p) => pathname.startsWith(p));\n}\nconst handle = async ({ event, resolve }) => {\n event.locals.providers = providers;\n if (!headerAuthBootstrapWired) {\n wireHeaderAuthBootstrap();\n headerAuthBootstrapWired = true;\n }\n if (!bootHealthKicked) {\n bootHealthKicked = true;\n void getBootHealth();\n }\n const { pathname } = event.url;\n if (isStaticAsset(pathname)) {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n if (pathname === \"/api/health\") {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n const publicRoute = isPublicRoute(pathname);\n const isJsonApiRoute = pathname.startsWith(\"/api/\") || pathname.startsWith(\"/admin/api/\");\n if (!publicRoute) {\n if (await isFirstRun()) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(JSON.stringify({ message: \"Setup required\", code: \"SETUP_REQUIRED\" }), {\n status: 503,\n headers: { \"Content-Type\": \"application/json\" }\n }),\n pathname\n );\n }\n redirect(303, \"/setup\");\n }\n }\n const needsAuth = !publicRoute;\n if (needsAuth) {\n let token = event.cookies.get(\"admin_session\") ?? \"\";\n let user = await providers.auth.verifyToken(token);\n if (!user) {\n const refreshToken = getRefreshToken(event.cookies);\n const oauth = providers.auth.oauth;\n if (refreshToken && oauth) {\n const refreshed = await oauth.refreshSession(refreshToken);\n if (refreshed) {\n setSessionCookie(event.cookies, refreshed.sessionToken);\n setRefreshCookie(event.cookies, refreshed.refreshToken);\n token = refreshed.sessionToken;\n user = await providers.auth.verifyToken(token);\n } else {\n clearRefreshCookie(event.cookies);\n }\n }\n }\n if (!user && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (user) await bootstrapUserSession(user);\n }\n if (!user) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(JSON.stringify({ message: \"Unauthorized\", code: \"UNAUTHORIZED\" }), {\n status: 401,\n headers: { \"Content-Type\": \"application/json\" }\n }),\n pathname\n );\n }\n redirect(303, `/login?redirectTo=${encodeURIComponent(pathname)}`);\n }\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n } else {\n const isPublicPage = PUBLIC_PAGE_ROUTES.has(pathname);\n const wantsSessionAttach = isPublicPage || isSelfGatingApiRoute(pathname);\n const token = wantsSessionAttach ? event.cookies.get(\"admin_session\") ?? \"\" : \"\";\n let user = token ? await providers.auth.verifyToken(token) : null;\n if (!user && wantsSessionAttach && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (!user && pathname === \"/login\" && !proxyAuthLoginMissWarned) {\n proxyAuthLoginMissWarned = true;\n const proxyAuth = providers.auth.proxyAuth;\n const noHeaders = proxyAuth.hasNoIdentityHeaders(event.request.headers);\n const configured = proxyAuth.configuredHeaderNames.join(\", \");\n if (noHeaders) {\n console.warn(\n `[HeaderAuth] /login was hit and NONE of the configured identity headers (${configured}) arrived on the request. The forward-auth proxy is not reaching this process, or it is not forwarding the configured headers. See the @selvajs/header-auth-provider README \"Verification\" section.`\n );\n } else {\n console.warn(\n `[HeaderAuth] /login was hit but the UPN header was missing or the user is not allowlisted. Configured headers: ${configured}. Some headers arrived but identification still failed — check that the UPN header is populated and that the user has been added to header-allowlist.json.`\n );\n }\n }\n }\n if (user) {\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n }\n }\n return applySecurityHeaders(await resolve(event), pathname);\n};\nfunction applySecurityHeaders(response, pathname) {\n response.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n response.headers.set(\"Referrer-Policy\", \"strict-origin-when-cross-origin\");\n response.headers.set(\n \"Permissions-Policy\",\n \"accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()\"\n );\n if (process.env.NODE_ENV === \"production\") {\n response.headers.set(\"Strict-Transport-Security\", \"max-age=31536000; includeSubDomains\");\n }\n if (pathname.startsWith(\"/_app/\")) {\n response.headers.set(\"Cache-Control\", \"public, max-age=31536000, immutable\");\n } else if (pathname.startsWith(\"/favicon/\") || pathname === \"/favicon.svg\" || pathname === \"/robots.txt\") {\n response.headers.set(\"Cache-Control\", \"public, max-age=604800\");\n }\n return response;\n}\nconst handleError = ({\n error,\n status,\n event\n}) => {\n if (isHttpError(error)) {\n const body = error.body;\n return { message: body.message, code: body.code, fields: body.fields };\n }\n if (status === 404) {\n return { message: \"Page not found.\", code: \"NOT_FOUND\" };\n }\n const rendered = error instanceof Error ? error.stack ?? error.message : (() => {\n try {\n return JSON.stringify(error);\n } catch {\n return String(error);\n }\n })();\n const cause = error instanceof Error && error.cause ? `\n caused by: ${error.cause}` : \"\";\n console.error(\n `[Unhandled error] ${event.request.method} ${event.url.pathname}\n ${rendered}${cause}`\n );\n return { message: \"An unexpected error occurred.\", code: \"INTERNAL\" };\n};\nexport {\n handle,\n handleError,\n isPublicRoute,\n isSelfGatingApiRoute,\n isStaticAsset\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.server.js-C3YMifQe.js","sources":["../../../../.svelte-kit/output/server/entries/hooks.server.js"],"sourcesContent":["import { redirect, isHttpError } from \"@sveltejs/kit\";\nimport { S as SYSTEM_CONTEXT } from \"../chunks/context.js\";\nimport { p as providers } from \"../chunks/providers.server.js\";\nimport { g as getBootHealth } from \"../chunks/bootHealth.server.js\";\nimport { w as wireHeaderAuthBootstrap, b as bootstrapUserSession } from \"../chunks/auth-bootstrap.server.js\";\nimport { g as getRefreshToken, s as setSessionCookie, a as setRefreshCookie, c as clearRefreshCookie } from \"../chunks/admin-auth.server.js\";\nfunction emptyProfile(userId) {\n return { userId, starredDefinitions: [], recentRuns: [] };\n}\nlet headerAuthBootstrapWired = false;\nlet bootHealthKicked = false;\nlet proxyAuthLoginMissWarned = false;\nlet firstRunResolved = false;\nasync function isFirstRun() {\n if (firstRunResolved) return false;\n const usersPage = await providers.auth.listUsers({ limit: 1 });\n if (usersPage === null) {\n firstRunResolved = true;\n return false;\n }\n if (usersPage.items.length === 0) return true;\n firstRunResolved = true;\n return false;\n}\nasync function buildContext(user, sessionToken) {\n let actingOrgId;\n let orgPermissions = [];\n const platformPermissions = await providers.data.permissions.getFor(SYSTEM_CONTEXT, user.id);\n const membership = await providers.data.orgs.findUserMembership(SYSTEM_CONTEXT, user.id);\n if (membership) {\n actingOrgId = membership.org.id;\n orgPermissions = membership.member.permissions;\n }\n if (!actingOrgId && platformPermissions.includes(\"instance_admin\")) {\n const firstOrgPage = await providers.data.orgs.listOrgs(SYSTEM_CONTEXT, { limit: 1 });\n const firstOrg = firstOrgPage.items[0];\n if (firstOrg) actingOrgId = firstOrg.id;\n }\n return {\n userId: user.id,\n actingOrgId,\n platformPermissions,\n orgPermissions,\n adapterContext: sessionToken ? { sessionToken } : void 0\n };\n}\nconst PUBLIC_PAGE_ROUTES = /* @__PURE__ */ new Set([\n \"/\",\n // landing — guests see it; authed users get redirected by +page.server.ts\n \"/login\",\n \"/setup\",\n \"/accept-invite\"\n]);\nconst PUBLIC_PATH_PREFIXES = [\"/auth/\", \"/logout\"];\nconst PUBLIC_API_ROUTES = /* @__PURE__ */ new Set([\"/api/health\"]);\nconst SELF_GATING_API_PREFIX = \"/api/files/\";\nconst STATIC_ASSET_PREFIXES = [\"/_app/\", \"/favicon/\"];\nconst STATIC_ASSET_PATHS = /* @__PURE__ */ new Set([\"/favicon.svg\", \"/robots.txt\"]);\nfunction isStaticAsset(pathname) {\n if (STATIC_ASSET_PATHS.has(pathname)) return true;\n return STATIC_ASSET_PREFIXES.some((p) => pathname.startsWith(p));\n}\nfunction isSelfGatingApiRoute(pathname) {\n return pathname.startsWith(SELF_GATING_API_PREFIX);\n}\nfunction isPublicRoute(pathname) {\n if (PUBLIC_PAGE_ROUTES.has(pathname)) return true;\n if (PUBLIC_API_ROUTES.has(pathname)) return true;\n if (isSelfGatingApiRoute(pathname)) return true;\n return PUBLIC_PATH_PREFIXES.some((p) => pathname.startsWith(p));\n}\nconst handle = async ({ event, resolve }) => {\n event.locals.providers = providers;\n if (!headerAuthBootstrapWired) {\n wireHeaderAuthBootstrap();\n headerAuthBootstrapWired = true;\n }\n if (!bootHealthKicked) {\n bootHealthKicked = true;\n void getBootHealth();\n }\n const { pathname } = event.url;\n if (isStaticAsset(pathname)) {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n if (pathname === \"/api/health\") {\n return applySecurityHeaders(await resolve(event), pathname);\n }\n const publicRoute = isPublicRoute(pathname);\n const isJsonApiRoute = pathname.startsWith(\"/api/\") || pathname.startsWith(\"/admin/api/\");\n if (!publicRoute) {\n if (await isFirstRun()) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(JSON.stringify({ message: \"Setup required\", code: \"SETUP_REQUIRED\" }), {\n status: 503,\n headers: { \"Content-Type\": \"application/json\" }\n }),\n pathname\n );\n }\n redirect(303, \"/setup\");\n }\n }\n const needsAuth = !publicRoute;\n if (needsAuth) {\n let token = event.cookies.get(\"admin_session\") ?? \"\";\n let user = await providers.auth.verifyToken(token);\n if (!user) {\n const refreshToken = getRefreshToken(event.cookies);\n const oauth = providers.auth.oauth;\n if (refreshToken && oauth) {\n const refreshed = await oauth.refreshSession(refreshToken);\n if (refreshed) {\n setSessionCookie(event.cookies, refreshed.sessionToken);\n setRefreshCookie(event.cookies, refreshed.refreshToken);\n token = refreshed.sessionToken;\n user = await providers.auth.verifyToken(token);\n } else {\n clearRefreshCookie(event.cookies);\n }\n }\n }\n if (!user && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (user) await bootstrapUserSession(user);\n }\n if (!user) {\n if (isJsonApiRoute) {\n return applySecurityHeaders(\n new Response(\n JSON.stringify({\n message: \"Your session has expired. Sign in again to continue.\",\n code: \"UNAUTHORIZED\"\n }),\n {\n status: 401,\n headers: { \"Content-Type\": \"application/json\" }\n }\n ),\n pathname\n );\n }\n redirect(303, `/login?redirectTo=${encodeURIComponent(pathname)}`);\n }\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n } else {\n const isPublicPage = PUBLIC_PAGE_ROUTES.has(pathname);\n const wantsSessionAttach = isPublicPage || isSelfGatingApiRoute(pathname);\n const token = wantsSessionAttach ? event.cookies.get(\"admin_session\") ?? \"\" : \"\";\n let user = token ? await providers.auth.verifyToken(token) : null;\n if (!user && wantsSessionAttach && providers.auth.proxyAuth) {\n user = await providers.auth.proxyAuth.identifyFromHeaders(event.request.headers);\n if (!user && pathname === \"/login\" && !proxyAuthLoginMissWarned) {\n proxyAuthLoginMissWarned = true;\n const proxyAuth = providers.auth.proxyAuth;\n const noHeaders = proxyAuth.hasNoIdentityHeaders(event.request.headers);\n const configured = proxyAuth.configuredHeaderNames.join(\", \");\n if (noHeaders) {\n console.warn(\n `[HeaderAuth] /login was hit and NONE of the configured identity headers (${configured}) arrived on the request. The forward-auth proxy is not reaching this process, or it is not forwarding the configured headers. See the @selvajs/header-auth-provider README \"Verification\" section.`\n );\n } else {\n console.warn(\n `[HeaderAuth] /login was hit but the UPN header was missing or the user is not allowlisted. Configured headers: ${configured}. Some headers arrived but identification still failed — check that the UPN header is populated and that the user has been added to header-allowlist.json.`\n );\n }\n }\n }\n if (user) {\n await providers.data.ensureUser(SYSTEM_CONTEXT, user.id);\n event.locals.user = user;\n event.locals.profile = await providers.data.userProfile.getProfile(SYSTEM_CONTEXT, user.id) ?? emptyProfile(user.id);\n event.locals.ctx = await buildContext(user, token);\n }\n }\n return applySecurityHeaders(await resolve(event), pathname);\n};\nfunction applySecurityHeaders(response, pathname) {\n response.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n response.headers.set(\"Referrer-Policy\", \"strict-origin-when-cross-origin\");\n response.headers.set(\n \"Permissions-Policy\",\n \"accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()\"\n );\n if (process.env.NODE_ENV === \"production\") {\n response.headers.set(\"Strict-Transport-Security\", \"max-age=31536000; includeSubDomains\");\n }\n if (pathname.startsWith(\"/_app/\")) {\n response.headers.set(\"Cache-Control\", \"public, max-age=31536000, immutable\");\n } else if (pathname.startsWith(\"/favicon/\") || pathname === \"/favicon.svg\" || pathname === \"/robots.txt\") {\n response.headers.set(\"Cache-Control\", \"public, max-age=604800\");\n }\n return response;\n}\nconst handleError = ({\n error,\n status,\n event\n}) => {\n if (isHttpError(error)) {\n const body = error.body;\n return { message: body.message, code: body.code, fields: body.fields };\n }\n if (status === 404) {\n return { message: \"Page not found.\", code: \"NOT_FOUND\" };\n }\n const rendered = error instanceof Error ? error.stack ?? error.message : (() => {\n try {\n return JSON.stringify(error);\n } catch {\n return String(error);\n }\n })();\n const cause = error instanceof Error && error.cause ? `\n caused by: ${error.cause}` : \"\";\n console.error(\n `[Unhandled error] ${event.request.method} ${event.url.pathname}\n ${rendered}${cause}`\n );\n return { message: \"An unexpected error occurred.\", code: \"INTERNAL\" };\n};\nexport {\n handle,\n handleError,\n isPublicRoute,\n isSelfGatingApiRoute,\n isStaticAsset\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { g as getAuthProvider, d as getOrganizationProvider } from '../../../chunks/providers.server.js-Sbk117pY.js';
2
2
  import { h as hasPermission } from '../../../chunks/context.js-D8E0GFTw.js';
3
- import { p as pkg } from '../../../chunks/package.js-FSG5sWFK.js';
3
+ import { p as pkg } from '../../../chunks/package.js-DXXa4mq9.js';
4
4
 
5
5
  async function loadAdminOrg(ctx) {
6
6
  if (!ctx) return null;
@@ -43,4 +43,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
43
43
  });
44
44
 
45
45
  export { _page_server_ts as _ };
46
- //# sourceMappingURL=_page.server.ts.js-COIP__Oi.js.map
46
+ //# sourceMappingURL=_page.server.ts.js-Cmg0t3cP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.server.ts.js-COIP__Oi.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/admin/_page.server.ts.js"],"sourcesContent":["import { g as getAuthProvider, c as getOrganizationProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nimport { p as pkg } from \"../../../chunks/package.js\";\nasync function loadAdminOrg(ctx) {\n if (!ctx) return null;\n try {\n const page = await getOrganizationProvider().listOrgs(ctx, { limit: 1 });\n const org = page.items[0];\n return org ? { id: org.id, name: org.name, assets: org.assets ?? {} } : null;\n } catch (err) {\n console.error(\"Failed to load admin org for asset cards:\", err);\n return null;\n }\n}\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const canManageOrg = ctx ? hasPermission(ctx, \"manage_org_members\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n const org = canManageOrg ? await loadAdminOrg(ctx) : null;\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions,\n version: pkg.version,\n org\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) throw err;\n console.error(\"Failed to load admin dashboard:\", err);\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n};\nexport {\n load\n};\n"],"names":[],"mappings":";;;;AAGA,eAAe,YAAY,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI;AACvB,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,IAAI,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI;AAChF,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC;AACnE,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,KAAK;AACnF,EAAE,MAAM,YAAY,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,MAAM,GAAG,GAAG,YAAY,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;AAC3D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvE,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACvD,MAAM,mBAAmB;AACzB,MAAM,OAAO,EAAE,GAAG,CAAC,OAAO;AAC1B,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,MAAM,GAAG;AACpE,IAAI,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACzD,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,CAAC;;;;;;;;;"}
1
+ {"version":3,"file":"_page.server.ts.js-Cmg0t3cP.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/admin/_page.server.ts.js"],"sourcesContent":["import { g as getAuthProvider, c as getOrganizationProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nimport { p as pkg } from \"../../../chunks/package.js\";\nasync function loadAdminOrg(ctx) {\n if (!ctx) return null;\n try {\n const page = await getOrganizationProvider().listOrgs(ctx, { limit: 1 });\n const org = page.items[0];\n return org ? { id: org.id, name: org.name, assets: org.assets ?? {} } : null;\n } catch (err) {\n console.error(\"Failed to load admin org for asset cards:\", err);\n return null;\n }\n}\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const canManageOrg = ctx ? hasPermission(ctx, \"manage_org_members\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n const org = canManageOrg ? await loadAdminOrg(ctx) : null;\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions,\n version: pkg.version,\n org\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) throw err;\n console.error(\"Failed to load admin dashboard:\", err);\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n};\nexport {\n load\n};\n"],"names":[],"mappings":";;;;AAGA,eAAe,YAAY,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI;AACvB,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,IAAI,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI;AAChF,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC;AACnE,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,KAAK;AACnF,EAAE,MAAM,YAAY,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,MAAM,GAAG,GAAG,YAAY,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;AAC3D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvE,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACvD,MAAM,mBAAmB;AACzB,MAAM,OAAO,EAAE,GAAG,CAAC,OAAO;AAC1B,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,MAAM,GAAG;AACpE,IAAI,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACzD,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,CAAC;;;;;;;;;"}
@@ -4,7 +4,7 @@ import { f as flag } from '../../../../chunks/providers.server.js-Sbk117pY.js';
4
4
  import { w as writeChannel, r as readChannel, c as checkForUpdate } from '../../../../chunks/updateCheck.server.js-DdReI2pF.js';
5
5
  import { d as requirePermission } from '../../../../chunks/access.server.js-x_KrjYJP.js';
6
6
  import { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from '../../../../chunks/computeLimits.js-CVHW4MyF.js';
7
- import { p as pkg } from '../../../../chunks/package.js-FSG5sWFK.js';
7
+ import { p as pkg } from '../../../../chunks/package.js-DXXa4mq9.js';
8
8
 
9
9
  const load = async ({ locals, fetch }) => {
10
10
  const ctx = locals.ctx;
@@ -69,4 +69,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
69
69
  });
70
70
 
71
71
  export { _page_server_ts as _ };
72
- //# sourceMappingURL=_page.server.ts.js-BQ7XQXcR.js.map
72
+ //# sourceMappingURL=_page.server.ts.js-BdyAMz5d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.server.ts.js-BQ7XQXcR.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/admin/system/_page.server.ts.js"],"sourcesContent":["import { fail } from \"@sveltejs/kit\";\nimport { h as hasPermission } from \"../../../../chunks/context.js\";\nimport { f as flag } from \"../../../../chunks/providers.server.js\";\nimport { w as writeChannel, r as readChannel, c as checkForUpdate } from \"../../../../chunks/updateCheck.server.js\";\nimport { d as requirePermission } from \"../../../../chunks/access.server.js\";\nimport { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport { p as pkg } from \"../../../../chunks/package.js\";\nconst load = async ({ locals, fetch }) => {\n const ctx = locals.ctx;\n const canManageUpdates = ctx ? hasPermission(ctx, \"manage_updates\") : false;\n const isInstanceAdmin = ctx ? hasPermission(ctx, \"instance_admin\") : false;\n const flags = {\n ALLOW_CROSS_ORG_PUBLIC: flag(\"ALLOW_CROSS_ORG_PUBLIC\"),\n ALLOW_ORG_COMPUTE_OVERRIDE: flag(\"ALLOW_ORG_COMPUTE_OVERRIDE\"),\n ALLOW_ORG_CREATION: flag(\"ALLOW_ORG_CREATION\"),\n ENABLE_PLATFORM_PROJECTS: flag(\"ENABLE_PLATFORM_PROJECTS\"),\n ENABLE_SHARING: flag(\"ENABLE_SHARING\")\n };\n const limits = {\n MAX_SOLVE_DURATION_MS,\n RATE_LIMIT_WINDOW_MS,\n RATE_LIMIT_MAX_REQUESTS,\n MAX_GH_FILE_SIZE,\n MAX_IMAGE_FILE_SIZE,\n COMPUTE_REQUEST_MAX_BYTES,\n COMPUTE_RESPONSE_MAX_BYTES,\n REMOTE_DEFINITION_MAX_BYTES,\n REMOTE_DEFINITION_FETCH_TIMEOUT_MS,\n DEFINITION_CACHE_TTL_MS\n };\n const channel = readChannel();\n const update = canManageUpdates ? await checkForUpdate(fetch, channel) : { channel, current: null, latest: null, updateAvailable: false };\n return {\n canManageUpdates,\n isInstanceAdmin,\n flags,\n limits,\n version: pkg.version,\n channel,\n update\n };\n};\nconst actions = {\n // Persist the release channel. Switch-only: this does NOT trigger an update —\n // the operator then uses the Update runner to install from the chosen channel.\n setChannel: async ({ request, locals }) => {\n requirePermission(locals, \"manage_updates\");\n const data = await request.formData();\n const channel = data.get(\"channel\");\n if (channel !== \"stable\" && channel !== \"beta\") {\n return fail(400, { error: \"Invalid channel.\" });\n }\n try {\n writeChannel(channel);\n } catch (e) {\n return fail(500, {\n error: `Could not persist the channel: ${e instanceof Error ? e.message : \"unknown error\"}`\n });\n }\n return { channel };\n }\n};\nexport {\n actions,\n load\n};\n"],"names":[],"mappings":";;;;;;;;AAOA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AAC1C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,gBAAgB,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC5E,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;AAC1D,IAAI,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAClE,IAAI,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAClD,IAAI,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAC9D,IAAI,cAAc,EAAE,IAAI,CAAC,gBAAgB;AACzC,GAAG;AACH,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,yBAAyB;AAC7B,IAAI,0BAA0B;AAC9B,IAAI,2BAA2B;AAC/B,IAAI,kCAAkC;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,WAAW,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,gBAAgB,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;AAC3I,EAAE,OAAO;AACT,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO;AACxB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH,CAAC;AACD,MAAM,OAAO,GAAG;AAChB;AACA;AACA,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC7C,IAAI,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC/C,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,IAAI,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE;AACpD,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACrD,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,YAAY,CAAC,OAAO,CAAC;AAC3B,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE;AACvB,QAAQ,KAAK,EAAE,CAAC,+BAA+B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;AAClG,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,EAAE,OAAO,EAAE;AACtB,EAAE;AACF,CAAC;;;;;;;;;;"}
1
+ {"version":3,"file":"_page.server.ts.js-BdyAMz5d.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/admin/system/_page.server.ts.js"],"sourcesContent":["import { fail } from \"@sveltejs/kit\";\nimport { h as hasPermission } from \"../../../../chunks/context.js\";\nimport { f as flag } from \"../../../../chunks/providers.server.js\";\nimport { w as writeChannel, r as readChannel, c as checkForUpdate } from \"../../../../chunks/updateCheck.server.js\";\nimport { d as requirePermission } from \"../../../../chunks/access.server.js\";\nimport { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport { p as pkg } from \"../../../../chunks/package.js\";\nconst load = async ({ locals, fetch }) => {\n const ctx = locals.ctx;\n const canManageUpdates = ctx ? hasPermission(ctx, \"manage_updates\") : false;\n const isInstanceAdmin = ctx ? hasPermission(ctx, \"instance_admin\") : false;\n const flags = {\n ALLOW_CROSS_ORG_PUBLIC: flag(\"ALLOW_CROSS_ORG_PUBLIC\"),\n ALLOW_ORG_COMPUTE_OVERRIDE: flag(\"ALLOW_ORG_COMPUTE_OVERRIDE\"),\n ALLOW_ORG_CREATION: flag(\"ALLOW_ORG_CREATION\"),\n ENABLE_PLATFORM_PROJECTS: flag(\"ENABLE_PLATFORM_PROJECTS\"),\n ENABLE_SHARING: flag(\"ENABLE_SHARING\")\n };\n const limits = {\n MAX_SOLVE_DURATION_MS,\n RATE_LIMIT_WINDOW_MS,\n RATE_LIMIT_MAX_REQUESTS,\n MAX_GH_FILE_SIZE,\n MAX_IMAGE_FILE_SIZE,\n COMPUTE_REQUEST_MAX_BYTES,\n COMPUTE_RESPONSE_MAX_BYTES,\n REMOTE_DEFINITION_MAX_BYTES,\n REMOTE_DEFINITION_FETCH_TIMEOUT_MS,\n DEFINITION_CACHE_TTL_MS\n };\n const channel = readChannel();\n const update = canManageUpdates ? await checkForUpdate(fetch, channel) : { channel, current: null, latest: null, updateAvailable: false };\n return {\n canManageUpdates,\n isInstanceAdmin,\n flags,\n limits,\n version: pkg.version,\n channel,\n update\n };\n};\nconst actions = {\n // Persist the release channel. Switch-only: this does NOT trigger an update —\n // the operator then uses the Update runner to install from the chosen channel.\n setChannel: async ({ request, locals }) => {\n requirePermission(locals, \"manage_updates\");\n const data = await request.formData();\n const channel = data.get(\"channel\");\n if (channel !== \"stable\" && channel !== \"beta\") {\n return fail(400, { error: \"Invalid channel.\" });\n }\n try {\n writeChannel(channel);\n } catch (e) {\n return fail(500, {\n error: `Could not persist the channel: ${e instanceof Error ? e.message : \"unknown error\"}`\n });\n }\n return { channel };\n }\n};\nexport {\n actions,\n load\n};\n"],"names":[],"mappings":";;;;;;;;AAOA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AAC1C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,gBAAgB,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC5E,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;AAC1D,IAAI,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAClE,IAAI,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAClD,IAAI,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAC9D,IAAI,cAAc,EAAE,IAAI,CAAC,gBAAgB;AACzC,GAAG;AACH,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,yBAAyB;AAC7B,IAAI,0BAA0B;AAC9B,IAAI,2BAA2B;AAC/B,IAAI,kCAAkC;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,WAAW,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,gBAAgB,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;AAC3I,EAAE,OAAO;AACT,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO;AACxB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH,CAAC;AACD,MAAM,OAAO,GAAG;AAChB;AACA;AACA,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC7C,IAAI,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC/C,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,IAAI,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE;AACpD,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACrD,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,YAAY,CAAC,OAAO,CAAC;AAC3B,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE;AACvB,QAAQ,KAAK,EAAE,CAAC,+BAA+B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;AAClG,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,EAAE,OAAO,EAAE;AACtB,EAAE;AACF,CAAC;;;;;;;;;;"}
@@ -11879,6 +11879,10 @@ function _page($$renderer, $$props) {
11879
11879
  throw new Error("Request blocked — your session may have expired. Reload the page to sign in again.", { cause: err });
11880
11880
  }
11881
11881
  if (signal.aborted) return { outputs: {} };
11882
+ const redirectedToLogin = res.redirected && new URL(res.url).pathname === "/login";
11883
+ if (res.status === 401 || redirectedToLogin) {
11884
+ throw new Error("Your session has expired. Sign in again in a new tab, then re-run — your inputs are preserved.");
11885
+ }
11882
11886
  if (!res.ok) {
11883
11887
  if (res.status === 503) {
11884
11888
  throw new Error("Compute server is offline or unreachable. Please try again later.");
@@ -11890,7 +11894,7 @@ function _page($$renderer, $$props) {
11890
11894
  throw new Error(d2.message || `Rate limit reached. Try again in ${retryAfter}s.`);
11891
11895
  }
11892
11896
  const d = await res.json().catch(() => ({}));
11893
- throw new Error(d.message || "Compute error");
11897
+ throw new Error(d.message || `Compute error (HTTP ${res.status})`);
11894
11898
  }
11895
11899
  const ttfbMs = performance.now() - solveStart;
11896
11900
  const downloadStart = performance.now();
@@ -11899,7 +11903,12 @@ function _page($$renderer, $$props) {
11899
11903
  const downloadMs = performance.now() - downloadStart;
11900
11904
  const bytes = bodyText.length;
11901
11905
  const jsonStart = performance.now();
11902
- const solved = JSON.parse(bodyText);
11906
+ let solved;
11907
+ try {
11908
+ solved = JSON.parse(bodyText);
11909
+ } catch (err) {
11910
+ throw new Error("Received an invalid response from the server. Reload the page and try again.", { cause: err });
11911
+ }
11903
11912
  const processor = new GrasshopperResponseProcessor(solved, false);
11904
11913
  const jsonMs = performance.now() - jsonStart;
11905
11914
  const shouldShowViewer = data.schema.viewerOptions?.enableLocal || data.schema.viewerOptions?.enableRemote;
@@ -12001,4 +12010,4 @@ function _page($$renderer, $$props) {
12001
12010
  }
12002
12011
 
12003
12012
  export { _page as default };
12004
- //# sourceMappingURL=_page.svelte.js-DIG1xRoj.js.map
12013
+ //# sourceMappingURL=_page.svelte.js-CX89JLcg.js.map