@axium/server 0.24.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/build/client/_app/immutable/assets/account.dAAx7bby.css +1 -0
  2. package/build/client/_app/immutable/assets/account.dAAx7bby.css.br +0 -0
  3. package/build/client/_app/immutable/assets/account.dAAx7bby.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/list.DVGH0BeP.css +1 -0
  5. package/build/client/_app/immutable/assets/list.DVGH0BeP.css.br +0 -0
  6. package/build/client/_app/immutable/assets/list.DVGH0BeP.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css +1 -0
  8. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css.br +2 -0
  9. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css.gz +0 -0
  10. package/build/client/_app/immutable/chunks/46qGscyh.js +2 -0
  11. package/build/client/_app/immutable/chunks/46qGscyh.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/46qGscyh.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/B2Vkpbkw.js +2 -0
  14. package/build/client/_app/immutable/chunks/B2Vkpbkw.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/B2Vkpbkw.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BKixenYx.js +1 -0
  17. package/build/client/_app/immutable/chunks/BKixenYx.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/BKixenYx.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BLtAtlP3.js +1 -0
  20. package/build/client/_app/immutable/chunks/BLtAtlP3.js.br +2 -0
  21. package/build/client/_app/immutable/chunks/BLtAtlP3.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BNTlty5m.js +1 -0
  23. package/build/client/_app/immutable/chunks/BNTlty5m.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/BNTlty5m.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/Beh6Ec8J.js +1 -0
  26. package/build/client/_app/immutable/chunks/Beh6Ec8J.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/Beh6Ec8J.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/BrUe-Qen.js +1 -0
  29. package/build/client/_app/immutable/chunks/BrUe-Qen.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/BrUe-Qen.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/Bs4cD_pX.js +1 -0
  32. package/build/client/_app/immutable/chunks/Bs4cD_pX.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/Bs4cD_pX.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/C62F-tXu.js +1 -0
  35. package/build/client/_app/immutable/chunks/C62F-tXu.js.br +1 -0
  36. package/build/client/_app/immutable/chunks/C62F-tXu.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/CUBtP2L9.js +23 -0
  38. package/build/client/_app/immutable/chunks/CUBtP2L9.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/CUBtP2L9.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/Ch16TNvP.js +1 -0
  41. package/build/client/_app/immutable/chunks/Ch16TNvP.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/Ch16TNvP.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/CoYD6HNm.js +1 -0
  44. package/build/client/_app/immutable/chunks/CoYD6HNm.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/CoYD6HNm.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/D40Zn55h.js +1 -0
  47. package/build/client/_app/immutable/chunks/D40Zn55h.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/D40Zn55h.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/DW7-1esk.js +21 -0
  50. package/build/client/_app/immutable/chunks/DW7-1esk.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/DW7-1esk.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/DY4fWHx_.js +1 -0
  53. package/build/client/_app/immutable/chunks/DY4fWHx_.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/DY4fWHx_.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/DvOBbqVY.js +1 -0
  56. package/build/client/_app/immutable/chunks/DvOBbqVY.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/DvOBbqVY.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/DwZYWemd.js +1 -0
  59. package/build/client/_app/immutable/chunks/DwZYWemd.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/DwZYWemd.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/Dy2Ho0cF.js +1 -0
  62. package/build/client/_app/immutable/chunks/Dy2Ho0cF.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/Dy2Ho0cF.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/FTv0qR3w.js +1 -0
  65. package/build/client/_app/immutable/chunks/FTv0qR3w.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/FTv0qR3w.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/NeK0YGoY.js +1 -0
  68. package/build/client/_app/immutable/chunks/NeK0YGoY.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/NeK0YGoY.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/aArGsq9c.js +1 -0
  71. package/build/client/_app/immutable/chunks/aArGsq9c.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/aArGsq9c.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/lH47zGKU.js +1 -0
  74. package/build/client/_app/immutable/chunks/lH47zGKU.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/lH47zGKU.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/sMHjBQqw.js +1 -0
  77. package/build/client/_app/immutable/chunks/sMHjBQqw.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/sMHjBQqw.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/vQfHcJV6.js +2 -0
  80. package/build/client/_app/immutable/chunks/vQfHcJV6.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/vQfHcJV6.js.gz +0 -0
  82. package/build/client/_app/immutable/entry/app.pLVZKpSD.js +2 -0
  83. package/build/client/_app/immutable/entry/app.pLVZKpSD.js.br +0 -0
  84. package/build/client/_app/immutable/entry/app.pLVZKpSD.js.gz +0 -0
  85. package/build/client/_app/immutable/entry/start.CUaVsIrY.js +1 -0
  86. package/build/client/_app/immutable/entry/start.CUaVsIrY.js.br +2 -0
  87. package/build/client/_app/immutable/entry/start.CUaVsIrY.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/0.D7hET-Bq.js +1 -0
  89. package/build/client/_app/immutable/nodes/0.D7hET-Bq.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/0.D7hET-Bq.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/1.BWU-JJm_.js +1 -0
  92. package/build/client/_app/immutable/nodes/1.BWU-JJm_.js.br +2 -0
  93. package/build/client/_app/immutable/nodes/1.BWU-JJm_.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/10.C5N2XBee.js +1 -0
  95. package/build/client/_app/immutable/nodes/10.C5N2XBee.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/10.C5N2XBee.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/11.CerbuSAv.js +1 -0
  98. package/build/client/_app/immutable/nodes/11.CerbuSAv.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/11.CerbuSAv.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/12.Z4B9zS78.js +1 -0
  101. package/build/client/_app/immutable/nodes/12.Z4B9zS78.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/12.Z4B9zS78.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/13.CuICShck.js +1 -0
  104. package/build/client/_app/immutable/nodes/13.CuICShck.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/13.CuICShck.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/14.BSEF5oaF.js +1 -0
  107. package/build/client/_app/immutable/nodes/14.BSEF5oaF.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/14.BSEF5oaF.js.gz +0 -0
  109. package/build/client/_app/immutable/nodes/15.D1nsmo6j.js +1 -0
  110. package/build/client/_app/immutable/nodes/15.D1nsmo6j.js.br +0 -0
  111. package/build/client/_app/immutable/nodes/15.D1nsmo6j.js.gz +0 -0
  112. package/build/client/_app/immutable/nodes/2.DQ1JcYgz.js +1 -0
  113. package/build/client/_app/immutable/nodes/2.DQ1JcYgz.js.br +0 -0
  114. package/build/client/_app/immutable/nodes/2.DQ1JcYgz.js.gz +0 -0
  115. package/build/client/_app/immutable/nodes/3.BJp2JEtW.js +1 -0
  116. package/build/client/_app/immutable/nodes/3.BJp2JEtW.js.br +0 -0
  117. package/build/client/_app/immutable/nodes/3.BJp2JEtW.js.gz +0 -0
  118. package/build/client/_app/immutable/nodes/4.Cvn_QsIx.js +1 -0
  119. package/build/client/_app/immutable/nodes/4.Cvn_QsIx.js.br +0 -0
  120. package/build/client/_app/immutable/nodes/4.Cvn_QsIx.js.gz +0 -0
  121. package/build/client/_app/immutable/nodes/5.DgPP9GX3.js +1 -0
  122. package/build/client/_app/immutable/nodes/5.DgPP9GX3.js.br +0 -0
  123. package/build/client/_app/immutable/nodes/5.DgPP9GX3.js.gz +0 -0
  124. package/build/client/_app/immutable/nodes/6.DKIzms8i.js +2 -0
  125. package/build/client/_app/immutable/nodes/6.DKIzms8i.js.br +0 -0
  126. package/build/client/_app/immutable/nodes/6.DKIzms8i.js.gz +0 -0
  127. package/build/client/_app/immutable/nodes/7.3UigVXV4.js +1 -0
  128. package/build/client/_app/immutable/nodes/7.3UigVXV4.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/7.3UigVXV4.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/8.B8s2TdNQ.js +1 -0
  131. package/build/client/_app/immutable/nodes/8.B8s2TdNQ.js.br +0 -0
  132. package/build/client/_app/immutable/nodes/8.B8s2TdNQ.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/9.LBMMe2kc.js +1 -0
  134. package/build/client/_app/immutable/nodes/9.LBMMe2kc.js.br +0 -0
  135. package/build/client/_app/immutable/nodes/9.LBMMe2kc.js.gz +0 -0
  136. package/build/client/_app/version.json +1 -1
  137. package/build/client/_app/version.json.br +0 -0
  138. package/build/client/_app/version.json.gz +0 -0
  139. package/build/client/styles.css +28 -0
  140. package/build/client/styles.css.br +0 -0
  141. package/build/client/styles.css.gz +0 -0
  142. package/build/handler.js +20 -3
  143. package/build/server/chunks/0-CNbALTKz.js +9 -0
  144. package/build/server/chunks/0-CNbALTKz.js.map +1 -0
  145. package/build/server/chunks/1-Dgxy393u.js +9 -0
  146. package/build/server/chunks/1-Dgxy393u.js.map +1 -0
  147. package/build/server/chunks/10-DovmbqKa.js +14 -0
  148. package/build/server/chunks/10-DovmbqKa.js.map +1 -0
  149. package/build/server/chunks/11-CRK_ubcl.js +14 -0
  150. package/build/server/chunks/11-CRK_ubcl.js.map +1 -0
  151. package/build/server/chunks/12-SbQlwMfe.js +9 -0
  152. package/build/server/chunks/12-SbQlwMfe.js.map +1 -0
  153. package/build/server/chunks/13-CbniIW7F.js +14 -0
  154. package/build/server/chunks/13-CbniIW7F.js.map +1 -0
  155. package/build/server/chunks/14-D9Vb_8Yx.js +9 -0
  156. package/build/server/chunks/14-D9Vb_8Yx.js.map +1 -0
  157. package/build/server/chunks/15-D-75Hdef.js +9 -0
  158. package/build/server/chunks/15-D-75Hdef.js.map +1 -0
  159. package/build/server/chunks/2-57exN8ae.js +14 -0
  160. package/build/server/chunks/2-57exN8ae.js.map +1 -0
  161. package/build/server/chunks/3-DNQft-pY.js +9 -0
  162. package/build/server/chunks/{2-CXlrhpR6.js.map → 3-DNQft-pY.js.map} +1 -1
  163. package/build/server/chunks/4-D9Bwp-f8.js +14 -0
  164. package/build/server/chunks/4-D9Bwp-f8.js.map +1 -0
  165. package/build/server/chunks/5-COEQwZNP.js +14 -0
  166. package/build/server/chunks/5-COEQwZNP.js.map +1 -0
  167. package/build/server/chunks/6-RT4yiDcP.js +14 -0
  168. package/build/server/chunks/6-RT4yiDcP.js.map +1 -0
  169. package/build/server/chunks/7-CVqF_r5D.js +14 -0
  170. package/build/server/chunks/7-CVqF_r5D.js.map +1 -0
  171. package/build/server/chunks/8-C5SO-sVH.js +14 -0
  172. package/build/server/chunks/8-C5SO-sVH.js.map +1 -0
  173. package/build/server/chunks/9-DoCOKtY-.js +14 -0
  174. package/build/server/chunks/9-DoCOKtY-.js.map +1 -0
  175. package/build/server/chunks/FormDialog-ZCY0chY1.js +102 -0
  176. package/build/server/chunks/FormDialog-ZCY0chY1.js.map +1 -0
  177. package/build/server/chunks/Icon-BVo9qbDf.js +30 -0
  178. package/build/server/chunks/Icon-BVo9qbDf.js.map +1 -0
  179. package/build/server/chunks/Logout-CmBZgu0j.js +46 -0
  180. package/build/server/chunks/Logout-CmBZgu0j.js.map +1 -0
  181. package/build/server/chunks/_layout.svelte-DuS006VZ.js +33 -0
  182. package/build/server/chunks/_layout.svelte-DuS006VZ.js.map +1 -0
  183. package/build/server/chunks/_page.svelte-BFVobcI7.js +14 -0
  184. package/build/server/chunks/_page.svelte-BFVobcI7.js.map +1 -0
  185. package/build/server/chunks/_page.svelte-B_cvhWJS.js +66 -0
  186. package/build/server/chunks/_page.svelte-B_cvhWJS.js.map +1 -0
  187. package/build/server/chunks/_page.svelte-BriaBR9l.js +28 -0
  188. package/build/server/chunks/_page.svelte-BriaBR9l.js.map +1 -0
  189. package/build/server/chunks/_page.svelte-BtQQzT7H.js +72 -0
  190. package/build/server/chunks/_page.svelte-BtQQzT7H.js.map +1 -0
  191. package/build/server/chunks/_page.svelte-C8D3c3yB.js +64 -0
  192. package/build/server/chunks/_page.svelte-C8D3c3yB.js.map +1 -0
  193. package/build/server/chunks/_page.svelte-CVSb9eHQ.js +24 -0
  194. package/build/server/chunks/_page.svelte-CVSb9eHQ.js.map +1 -0
  195. package/build/server/chunks/_page.svelte-CwRjZqL7.js +107 -0
  196. package/build/server/chunks/_page.svelte-CwRjZqL7.js.map +1 -0
  197. package/build/server/chunks/_page.svelte-D9A9RYjx.js +233 -0
  198. package/build/server/chunks/_page.svelte-D9A9RYjx.js.map +1 -0
  199. package/build/server/chunks/_page.svelte-DGhwqWMM.js +34 -0
  200. package/build/server/chunks/_page.svelte-DGhwqWMM.js.map +1 -0
  201. package/build/server/chunks/_page.svelte-DTvnX95_.js +75 -0
  202. package/build/server/chunks/_page.svelte-DTvnX95_.js.map +1 -0
  203. package/build/server/chunks/_page.svelte-DUfwpXfC.js +122 -0
  204. package/build/server/chunks/_page.svelte-DUfwpXfC.js.map +1 -0
  205. package/build/server/chunks/_page.svelte-DxDoD3rZ.js +37 -0
  206. package/build/server/chunks/_page.svelte-DxDoD3rZ.js.map +1 -0
  207. package/build/server/chunks/_page.svelte-VDBvShZ8.js +6 -0
  208. package/build/server/chunks/_page.svelte-VDBvShZ8.js.map +1 -0
  209. package/build/server/chunks/account-Bf_llRe2.js +446 -0
  210. package/build/server/chunks/account-Bf_llRe2.js.map +1 -0
  211. package/build/server/chunks/auth_redirect-olBYiIF2.js +24 -0
  212. package/build/server/chunks/auth_redirect-olBYiIF2.js.map +1 -0
  213. package/build/server/chunks/color-K_MR7m8s.js +14 -0
  214. package/build/server/chunks/color-K_MR7m8s.js.map +1 -0
  215. package/build/server/chunks/context-R2425nfV.js +64 -0
  216. package/build/server/chunks/context-R2425nfV.js.map +1 -0
  217. package/build/server/chunks/{error.svelte-DNQXZmIO.js → error.svelte-CkSCwrMJ.js} +7 -6
  218. package/build/server/chunks/error.svelte-CkSCwrMJ.js.map +1 -0
  219. package/build/server/chunks/index-CIEcmmdN.js +890 -0
  220. package/build/server/chunks/index-CIEcmmdN.js.map +1 -0
  221. package/build/server/chunks/{index-CvHf_GW2.js → index-Tt4zVDIZ.js} +843 -438
  222. package/build/server/chunks/index-Tt4zVDIZ.js.map +1 -0
  223. package/build/server/chunks/layout.svelte-UxsTmhKc.js +8 -0
  224. package/build/server/chunks/layout.svelte-UxsTmhKc.js.map +1 -0
  225. package/build/server/chunks/{string-DLbvtT1R.js → numbers-DL8C9q4W.js} +1 -71
  226. package/build/server/chunks/numbers-DL8C9q4W.js.map +1 -0
  227. package/build/server/chunks/{FormDialog-CB-2YGWi.js → user2-CRfK67II.js} +12 -206
  228. package/build/server/chunks/user2-CRfK67II.js.map +1 -0
  229. package/build/server/chunks/utils-h74ns7K6.js.map +1 -1
  230. package/build/server/index.js +2304 -1140
  231. package/build/server/index.js.map +1 -1
  232. package/build/server/manifest.js +78 -13
  233. package/build/server/manifest.js.map +1 -1
  234. package/dist/acl.d.ts +1 -2
  235. package/dist/acl.js +1 -1
  236. package/dist/api/acl.js +4 -4
  237. package/dist/api/admin.d.ts +1 -0
  238. package/dist/api/admin.js +152 -0
  239. package/dist/api/index.d.ts +2 -0
  240. package/dist/api/index.js +2 -0
  241. package/dist/api/metadata.js +5 -5
  242. package/dist/api/passkeys.js +10 -10
  243. package/dist/api/register.js +4 -4
  244. package/dist/api/session.js +5 -5
  245. package/dist/api/users.js +52 -49
  246. package/dist/audit.d.ts +8 -39
  247. package/dist/audit.js +13 -16
  248. package/dist/auth.d.ts +4 -11
  249. package/dist/auth.js +4 -4
  250. package/dist/cli.js +515 -559
  251. package/dist/config.d.ts +26 -16
  252. package/dist/config.js +65 -36
  253. package/dist/database.d.ts +3 -4
  254. package/dist/database.js +19 -18
  255. package/dist/internal_requests.d.ts +3 -0
  256. package/dist/internal_requests.js +119 -0
  257. package/dist/io.d.ts +0 -49
  258. package/dist/io.js +23 -171
  259. package/dist/linking.d.ts +0 -1
  260. package/dist/linking.js +5 -8
  261. package/dist/requests.d.ts +10 -6
  262. package/dist/requests.js +17 -15
  263. package/dist/routes.d.ts +6 -10
  264. package/dist/routes.js +7 -8
  265. package/dist/serve.d.ts +7 -2
  266. package/dist/serve.js +170 -13
  267. package/dist/state.js +2 -1
  268. package/package.json +8 -7
  269. package/routes/account/+page.svelte +5 -109
  270. package/routes/admin/+layout.svelte +56 -0
  271. package/routes/admin/+layout.ts +31 -0
  272. package/routes/admin/+page.svelte +39 -0
  273. package/routes/admin/+page.ts +7 -0
  274. package/routes/admin/audit/+page.svelte +158 -0
  275. package/routes/admin/audit/+page.ts +22 -0
  276. package/routes/admin/audit/[id]/+page.svelte +43 -0
  277. package/routes/admin/audit/[id]/+page.ts +9 -0
  278. package/routes/admin/audit/styles.css +31 -0
  279. package/routes/admin/config/+page.svelte +28 -0
  280. package/routes/admin/config/+page.ts +9 -0
  281. package/routes/admin/plugins/+page.svelte +23 -0
  282. package/routes/admin/plugins/+page.ts +7 -0
  283. package/routes/admin/users/+page.svelte +60 -0
  284. package/routes/admin/users/+page.ts +9 -0
  285. package/routes/admin/users/[id]/+page.svelte +108 -0
  286. package/routes/admin/users/[id]/+page.ts +17 -0
  287. package/routes/login/client/+page.svelte +72 -0
  288. package/routes/login/client/+page.ts +27 -0
  289. package/routes/tsconfig.json +1 -1
  290. package/svelte.config.js +4 -10
  291. package/{web/template.html → template.html} +1 -1
  292. package/{web/tsconfig.json → web.tsconfig.json} +2 -2
  293. package/build/client/_app/immutable/chunks/B1E1cVbi.js +0 -1
  294. package/build/client/_app/immutable/chunks/B1E1cVbi.js.br +0 -0
  295. package/build/client/_app/immutable/chunks/B1E1cVbi.js.gz +0 -0
  296. package/build/client/_app/immutable/chunks/CIywFg5g.js +0 -3
  297. package/build/client/_app/immutable/chunks/CIywFg5g.js.br +0 -0
  298. package/build/client/_app/immutable/chunks/CIywFg5g.js.gz +0 -0
  299. package/build/client/_app/immutable/chunks/D3hk2v8y.js +0 -1
  300. package/build/client/_app/immutable/chunks/D3hk2v8y.js.br +0 -2
  301. package/build/client/_app/immutable/chunks/D3hk2v8y.js.gz +0 -0
  302. package/build/client/_app/immutable/chunks/D4Bce_hb.js +0 -1
  303. package/build/client/_app/immutable/chunks/D4Bce_hb.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/D4Bce_hb.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/D9TfJrfD.js +0 -1
  306. package/build/client/_app/immutable/chunks/D9TfJrfD.js.br +0 -0
  307. package/build/client/_app/immutable/chunks/D9TfJrfD.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/DJeR1n-B.js +0 -51
  309. package/build/client/_app/immutable/chunks/DJeR1n-B.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/DJeR1n-B.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/DsnmJJEf.js +0 -1
  312. package/build/client/_app/immutable/chunks/DsnmJJEf.js.br +0 -2
  313. package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/Dy1O3iBu.js +0 -2
  315. package/build/client/_app/immutable/chunks/Dy1O3iBu.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/Dy1O3iBu.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/pba7IodQ.js +0 -1
  318. package/build/client/_app/immutable/chunks/pba7IodQ.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/pba7IodQ.js.gz +0 -0
  320. package/build/client/_app/immutable/entry/app.ChtScU8h.js +0 -2
  321. package/build/client/_app/immutable/entry/app.ChtScU8h.js.br +0 -0
  322. package/build/client/_app/immutable/entry/app.ChtScU8h.js.gz +0 -0
  323. package/build/client/_app/immutable/entry/start.DdjgBKiR.js +0 -1
  324. package/build/client/_app/immutable/entry/start.DdjgBKiR.js.br +0 -2
  325. package/build/client/_app/immutable/entry/start.DdjgBKiR.js.gz +0 -0
  326. package/build/client/_app/immutable/nodes/0.DlE8ZTIF.js +0 -1
  327. package/build/client/_app/immutable/nodes/0.DlE8ZTIF.js.br +0 -0
  328. package/build/client/_app/immutable/nodes/0.DlE8ZTIF.js.gz +0 -0
  329. package/build/client/_app/immutable/nodes/1.DRjfV_5C.js +0 -1
  330. package/build/client/_app/immutable/nodes/1.DRjfV_5C.js.br +0 -0
  331. package/build/client/_app/immutable/nodes/1.DRjfV_5C.js.gz +0 -0
  332. package/build/client/_app/immutable/nodes/2.CvEpuMc7.js +0 -1
  333. package/build/client/_app/immutable/nodes/2.CvEpuMc7.js.br +0 -0
  334. package/build/client/_app/immutable/nodes/2.CvEpuMc7.js.gz +0 -0
  335. package/build/client/_app/immutable/nodes/3.CVudd8x2.js +0 -7
  336. package/build/client/_app/immutable/nodes/3.CVudd8x2.js.br +0 -0
  337. package/build/client/_app/immutable/nodes/3.CVudd8x2.js.gz +0 -0
  338. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js +0 -1
  339. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.br +0 -0
  340. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.gz +0 -0
  341. package/build/client/_app/immutable/nodes/5.CGoBaVII.js +0 -1
  342. package/build/client/_app/immutable/nodes/5.CGoBaVII.js.br +0 -0
  343. package/build/client/_app/immutable/nodes/5.CGoBaVII.js.gz +0 -0
  344. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js +0 -1
  345. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.br +0 -0
  346. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.gz +0 -0
  347. package/build/server/chunks/0-DgHTujtC.js +0 -9
  348. package/build/server/chunks/0-DgHTujtC.js.map +0 -1
  349. package/build/server/chunks/1-B3zVLOO8.js +0 -9
  350. package/build/server/chunks/1-B3zVLOO8.js.map +0 -1
  351. package/build/server/chunks/2-CXlrhpR6.js +0 -9
  352. package/build/server/chunks/3-CGT4Ugys.js +0 -13
  353. package/build/server/chunks/3-CGT4Ugys.js.map +0 -1
  354. package/build/server/chunks/4-BscEiwUk.js +0 -9
  355. package/build/server/chunks/4-BscEiwUk.js.map +0 -1
  356. package/build/server/chunks/5-H0ePIJBE.js +0 -9
  357. package/build/server/chunks/5-H0ePIJBE.js.map +0 -1
  358. package/build/server/chunks/6-BrPpcagX.js +0 -9
  359. package/build/server/chunks/6-BrPpcagX.js.map +0 -1
  360. package/build/server/chunks/FormDialog-CB-2YGWi.js.map +0 -1
  361. package/build/server/chunks/Logout-LKOt-AST.js +0 -45
  362. package/build/server/chunks/Logout-LKOt-AST.js.map +0 -1
  363. package/build/server/chunks/_page.svelte-B1LK5J87.js +0 -11
  364. package/build/server/chunks/_page.svelte-B1LK5J87.js.map +0 -1
  365. package/build/server/chunks/_page.svelte-CMtkwvbP.js +0 -68
  366. package/build/server/chunks/_page.svelte-CMtkwvbP.js.map +0 -1
  367. package/build/server/chunks/_page.svelte-CbI2KxeA.js +0 -62
  368. package/build/server/chunks/_page.svelte-CbI2KxeA.js.map +0 -1
  369. package/build/server/chunks/_page.svelte-D1_WJoyP.js +0 -6
  370. package/build/server/chunks/_page.svelte-D1_WJoyP.js.map +0 -1
  371. package/build/server/chunks/_page.svelte-d01Hl2Ia.js +0 -639
  372. package/build/server/chunks/_page.svelte-d01Hl2Ia.js.map +0 -1
  373. package/build/server/chunks/error.svelte-DNQXZmIO.js.map +0 -1
  374. package/build/server/chunks/hooks.server-CQhG9POo.js +0 -17298
  375. package/build/server/chunks/hooks.server-CQhG9POo.js.map +0 -1
  376. package/build/server/chunks/index-CvHf_GW2.js.map +0 -1
  377. package/build/server/chunks/index-RTKpMYZ1.js +0 -397
  378. package/build/server/chunks/index-RTKpMYZ1.js.map +0 -1
  379. package/build/server/chunks/layout.svelte-BSvrn-4a.js +0 -8
  380. package/build/server/chunks/layout.svelte-BSvrn-4a.js.map +0 -1
  381. package/build/server/chunks/string-DLbvtT1R.js.map +0 -1
  382. package/dist/apps.d.ts +0 -6
  383. package/dist/apps.js +0 -6
  384. package/dist/plugins.d.ts +0 -49
  385. package/dist/plugins.js +0 -80
  386. package/dist/sveltekit.d.ts +0 -8
  387. package/dist/sveltekit.js +0 -60
  388. package/web/hooks.server.ts +0 -4
  389. /package/{axiumd.service → axium.service} +0 -0
package/dist/io.js CHANGED
@@ -1,8 +1,7 @@
1
+ import * as io from '@axium/core/node/io';
1
2
  import { Logger } from 'logzen';
2
- import { exec } from 'node:child_process';
3
3
  import * as fs from 'node:fs';
4
4
  import { dirname, join, resolve } from 'node:path/posix';
5
- import { styleText } from 'node:util';
6
5
  import { _unique } from './state.js';
7
6
  export const systemDir = '/etc/axium';
8
7
  export const dirs = _unique('dirs', [systemDir]);
@@ -22,130 +21,7 @@ export const logger = new Logger({
22
21
  hideWarningStack: true,
23
22
  noGlobalConsole: true,
24
23
  });
25
- /**
26
- * @internal
27
- */
28
- export const output = {
29
- constructor: { name: 'Console' },
30
- error(message) {
31
- console.error(message.startsWith('\x1b') ? message : styleText('red', message));
32
- },
33
- warn(message) {
34
- console.warn(message.startsWith('\x1b') ? message : styleText('yellow', message));
35
- },
36
- info(message) {
37
- console.info(message.startsWith('\x1b') ? message : styleText('blue', message));
38
- },
39
- log(message) {
40
- console.log(message);
41
- },
42
- debug(message) {
43
- _debugOutput && console.debug(message.startsWith('\x1b') ? message : styleText('gray', message));
44
- },
45
- };
46
- logger.attach(output);
47
- let timeout = 1000;
48
- export function setCommandTimeout(value) {
49
- timeout = value;
50
- }
51
- /**
52
- * Run a system command with the fancy "Example... done."
53
- * @internal
54
- */
55
- export async function run(message, command) {
56
- let stderr;
57
- try {
58
- start(message);
59
- const { promise, resolve, reject } = Promise.withResolvers();
60
- exec(command, { timeout }, (err, stdout, _stderr) => {
61
- stderr = _stderr.startsWith('ERROR:') ? _stderr.slice(6).trim() : _stderr;
62
- if (err)
63
- reject('[command]');
64
- else
65
- resolve(stdout);
66
- });
67
- const value = await promise;
68
- done();
69
- return value;
70
- }
71
- catch (error) {
72
- throw error == '[command]'
73
- ? stderr?.slice(0, 100) || 'failed.'
74
- : typeof error == 'object' && 'message' in error
75
- ? error.message
76
- : error;
77
- }
78
- }
79
- /** Yet another convenience function */
80
- export function exit(message, code = 1) {
81
- if (message instanceof Error)
82
- message = message.message;
83
- output.error(message);
84
- process.exit(code);
85
- }
86
- export function handleError(e) {
87
- if (typeof e == 'number')
88
- process.exit(e);
89
- else
90
- exit(e);
91
- }
92
- let _debugOutput = false;
93
- /**
94
- * Enable or disable debug output.
95
- */
96
- export function _setDebugOutput(enabled) {
97
- _debugOutput = enabled;
98
- }
99
- function defaultOutput(tag, message = '') {
100
- switch (tag) {
101
- case 'debug':
102
- _debugOutput && output.debug(message);
103
- break;
104
- case 'info':
105
- console.log(message);
106
- break;
107
- case 'warn':
108
- console.warn(styleText('yellow', message));
109
- break;
110
- case 'error':
111
- console.error(styleText('red', message));
112
- break;
113
- case 'start':
114
- process.stdout.write(message + '... ');
115
- break;
116
- case 'done':
117
- console.log('done.');
118
- break;
119
- case 'plugin':
120
- console.log(styleText('whiteBright', 'Running plugin: ' + message));
121
- }
122
- }
123
- let _taggedOutput = defaultOutput;
124
- export function useTaggedOutput(output) {
125
- _taggedOutput = output;
126
- }
127
- // Shortcuts for tagged output
128
- export function done() {
129
- _taggedOutput?.('done');
130
- }
131
- export function start(message) {
132
- _taggedOutput?.('start', message);
133
- }
134
- export function plugin(name) {
135
- _taggedOutput?.('plugin', name);
136
- }
137
- export function debug(message) {
138
- _taggedOutput?.('debug', message);
139
- }
140
- export function info(message) {
141
- _taggedOutput?.('info', message);
142
- }
143
- export function warn(message) {
144
- _taggedOutput?.('warn', message);
145
- }
146
- export function error(message) {
147
- _taggedOutput?.('error', message);
148
- }
24
+ logger.attach(io);
149
25
  /** @internal */
150
26
  export const _portMethods = ['node-cap'];
151
27
  /** @internal */
@@ -156,72 +32,48 @@ export const _portActions = ['enable', 'disable'];
156
32
  * If the origin has a port, passkeys do not work correctly with some password managers.
157
33
  */
158
34
  export async function restrictedPorts(opt) {
159
- start('Checking for root privileges');
35
+ io.start('Checking for root privileges');
160
36
  if (process.getuid?.() != 0)
161
37
  throw 'root privileges are needed to change restricted ports.';
162
- done();
163
- start('Checking ports method');
38
+ io.done();
39
+ io.start('Checking ports method');
164
40
  if (!_portMethods.includes(opt.method))
165
41
  throw 'invalid';
166
- done();
167
- start('Checking ports action');
42
+ io.done();
43
+ io.start('Checking ports action');
168
44
  if (!_portActions.includes(opt.action))
169
45
  throw 'invalid';
170
- done();
46
+ io.done();
171
47
  switch (opt.method) {
172
48
  case 'node-cap': {
173
- const setcap = await run('Finding setcap', 'command -v setcap')
49
+ const setcap = await io
50
+ .run('Finding setcap', 'command -v setcap')
174
51
  .then(e => e.trim())
175
52
  .catch(() => {
176
- warn('not in path.');
177
- start('Checking for /usr/sbin/setcap');
53
+ io.warn('not in path.');
54
+ io.start('Checking for /usr/sbin/setcap');
178
55
  fs.accessSync('/usr/sbin/setcap', fs.constants.X_OK);
179
- done();
56
+ io.done();
180
57
  return '/usr/sbin/setcap';
181
58
  });
182
- debug('Using setcap at ' + setcap);
59
+ io.debug('Using setcap at ' + setcap);
183
60
  let { node } = opt;
184
- node ||= await run('Finding node', 'command -v node')
61
+ node ||= await io
62
+ .run('Finding node', 'command -v node')
185
63
  .then(e => e.trim())
186
64
  .catch(() => {
187
- warn('not in path.');
188
- start('Checking for /usr/bin/node');
65
+ io.warn('not in path.');
66
+ io.start('Checking for /usr/bin/node');
189
67
  fs.accessSync('/usr/bin/node', fs.constants.X_OK);
190
- done();
68
+ io.done();
191
69
  return '/usr/bin/node';
192
70
  });
193
- start('Resolving real path for node');
71
+ io.start('Resolving real path for node');
194
72
  node = fs.realpathSync(node);
195
- done();
196
- debug('Using node at ' + node);
197
- await run('Setting ports capability', `${setcap} cap_net_bind_service=${opt.action == 'enable' ? '+' : '-'}ep ${node}`);
73
+ io.done();
74
+ io.debug('Using node at ' + node);
75
+ await io.run('Setting ports capability', `${setcap} cap_net_bind_service=${opt.action == 'enable' ? '+' : '-'}ep ${node}`);
198
76
  break;
199
77
  }
200
78
  }
201
79
  }
202
- /**
203
- * This is a factory for handling errors when performing operations.
204
- * The handler will allow the parent scope to continue if a relation already exists,
205
- * rather than fatally exiting.
206
- */
207
- export function someWarnings(...allowList) {
208
- return (error) => {
209
- error = typeof error == 'object' && 'message' in error ? error.message : error;
210
- for (const [pattern, message = error] of allowList) {
211
- if (!pattern.test(error))
212
- continue;
213
- warn(message);
214
- return;
215
- }
216
- throw error;
217
- };
218
- }
219
- const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
220
- // Shortcut to convert to 2-digit. Mostly used to make the line shorter.
221
- const _2 = (v) => v.toString().padStart(2, '0');
222
- /**
223
- * Get a human-readable string for a date that also fits into CLIs well (fixed-width)
224
- */
225
- export function prettyDate(date) {
226
- return `${date.getFullYear()} ${months[date.getMonth()]} ${_2(date.getDate())} ${_2(date.getHours())}:${_2(date.getMinutes())}:${_2(date.getSeconds())}.${date.getMilliseconds().toString().padStart(3, '0')}`;
227
- }
package/dist/linking.d.ts CHANGED
@@ -5,7 +5,6 @@ interface LinkInfo {
5
5
  text: string;
6
6
  }
7
7
  export interface LinkOptions {
8
- packagesDir?: string;
9
8
  only?: string[];
10
9
  }
11
10
  export declare function listRouteLinks(options?: LinkOptions): Generator<LinkInfo>;
package/dist/linking.js CHANGED
@@ -1,8 +1,8 @@
1
+ import * as io from '@axium/core/node/io';
2
+ import { plugins } from '@axium/core/plugins';
1
3
  import { existsSync, symlinkSync, unlinkSync } from 'node:fs';
2
4
  import { join, resolve } from 'node:path/posix';
3
5
  import config from './config.js';
4
- import * as io from './io.js';
5
- import { plugins } from './plugins.js';
6
6
  const textFor = {
7
7
  builtin: 'built-in routes',
8
8
  };
@@ -11,21 +11,18 @@ function info(id) {
11
11
  const link = join(config.web.routes, `(${id.startsWith('#') ? id.slice(1) : id.replaceAll('/', '__')})`);
12
12
  return [text, link];
13
13
  }
14
- const defaultPackagesDir = join(import.meta.dirname, '../../..');
15
14
  export function* listRouteLinks(options = {}) {
16
- const packagesDir = options.packagesDir || defaultPackagesDir;
17
- io.debug('Using packages from ' + packagesDir);
18
15
  if (!options.only) {
19
16
  const [text, link] = info('#builtin');
20
17
  yield { text, id: '#builtin', from: link, to: resolve(import.meta.dirname, '../routes') };
21
18
  }
22
- for (const plugin of plugins) {
23
- if (!plugin.routes)
19
+ for (const plugin of plugins.values()) {
20
+ if (!plugin.server?.routes)
24
21
  continue;
25
22
  if (options.only && !options.only.includes(plugin.name))
26
23
  continue;
27
24
  const [text, link] = info(plugin.name);
28
- const to = resolve(join(packagesDir, plugin.name, plugin.routes));
25
+ const to = resolve(join(plugin.dirname, plugin.server.routes));
29
26
  yield { text, id: plugin.name, from: link, to };
30
27
  }
31
28
  }
@@ -1,12 +1,12 @@
1
- import { type User } from '@axium/core/user';
1
+ import type { User, UserInternal } from '@axium/core';
2
2
  import * as z from 'zod';
3
- import { type UserInternal } from './auth.js';
4
3
  import type { ServerRoute } from './routes.js';
5
4
  /**
6
5
  * @todo Add parsing for Node.js `IncomingMessage` -> standard `Request` and standard `Response` -> Node.js `ServerResponse`
7
6
  */
8
7
  /**
9
8
  * A `Request` with some commonly used stuff pre-parsed for convenience.
9
+ * @deprecated
10
10
  */
11
11
  export interface RequestEvent<Params extends Partial<Record<string, string>> = Partial<Record<string, string>>> {
12
12
  request: Request;
@@ -32,12 +32,16 @@ export declare function isRedirect(e: unknown): e is Redirect;
32
32
  */
33
33
  export declare function redirect(location: string, status?: number): never;
34
34
  export declare function json(data: object, init?: ResponseInit): Response;
35
- export declare function parseBody<const Schema extends z.ZodType, const Result extends z.infer<Schema> = z.infer<Schema>>(event: RequestEvent, schema: Schema): Promise<Result>;
36
- export declare function getToken(event: RequestEvent, sensitive?: boolean): string | undefined;
37
- export declare function createSessionData(userId: string, elevated?: boolean): Promise<Response>;
35
+ export declare function parseBody<const Schema extends z.ZodType, const Result extends z.infer<Schema> = z.infer<Schema>>(request: Request, schema: Schema): Promise<Result>;
36
+ export declare function getToken(request: Request, sensitive?: boolean): string | undefined;
37
+ export interface CreateSessionOptions {
38
+ elevated?: boolean;
39
+ noCookie?: boolean;
40
+ }
41
+ export declare function createSessionData(userId: string, { elevated, noCookie }?: CreateSessionOptions): Promise<Response>;
38
42
  export declare function stripUser(user: UserInternal, includeProtected?: boolean): User;
39
43
  export declare function withError(text: string, code?: number): (e: Error | ResponseError) => never;
40
- export declare function handleAPIRequest(event: RequestEvent, route: ServerRoute): Promise<Response>;
44
+ export declare function handleAPIRequest(request: Request, params: Record<string, any>, route: ServerRoute): Promise<Response>;
41
45
  export declare function handleResponseError(e: Error | ResponseError | Redirect): Response;
42
46
  export declare const noCacheHeaders: {
43
47
  'Content-Type': string;
package/dist/requests.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { userProtectedFields, userPublicFields } from '@axium/core/user';
2
- import { serialize as serializeCookie } from 'cookie';
2
+ import * as cookie from 'cookie_v1';
3
3
  import { pick } from 'utilium';
4
4
  import * as z from 'zod';
5
5
  import { createSession } from './auth.js';
@@ -29,11 +29,11 @@ export function json(data, init) {
29
29
  }
30
30
  return response;
31
31
  }
32
- export async function parseBody(event, schema) {
33
- const contentType = event.request.headers.get('content-type');
32
+ export async function parseBody(request, schema) {
33
+ const contentType = request.headers.get('content-type');
34
34
  if (!contentType || !contentType.includes('application/json'))
35
35
  error(415, 'Invalid content type');
36
- const body = await event.request.json().catch(() => error(415, 'Invalid JSON'));
36
+ const body = await request.json().catch(() => error(415, 'Invalid JSON'));
37
37
  try {
38
38
  return schema.parse(body);
39
39
  }
@@ -41,18 +41,20 @@ export async function parseBody(event, schema) {
41
41
  error(400, e instanceof z.core.$ZodError ? z.prettifyError(e) : 'invalid body');
42
42
  }
43
43
  }
44
- export function getToken(event, sensitive = false) {
45
- const header_token = event.request.headers.get('Authorization')?.replace('Bearer ', '');
44
+ export function getToken(request, sensitive = false) {
45
+ const header_token = request.headers.get('Authorization')?.replace('Bearer ', '');
46
46
  if (header_token)
47
47
  return header_token;
48
48
  if (config.debug || !config.auth.header_only) {
49
- return event.cookies.get(sensitive ? 'elevated_token' : 'session_token');
49
+ return cookie.parse(request.headers.get('cookie') || '')[sensitive ? 'elevated_token' : 'session_token'];
50
50
  }
51
51
  }
52
- export async function createSessionData(userId, elevated = false) {
52
+ export async function createSessionData(userId, { elevated = false, noCookie } = {}) {
53
53
  const { token, expires } = await createSession(userId, elevated);
54
54
  const response = json({ userId, token: elevated ? '[[redacted:elevated]]' : token }, { status: 201 });
55
- const cookies = serializeCookie(elevated ? 'elevated_token' : 'session_token', token, {
55
+ if (noCookie)
56
+ return response;
57
+ const cookies = cookie.serialize(elevated ? 'elevated_token' : 'session_token', token, {
56
58
  httpOnly: true,
57
59
  path: '/',
58
60
  expires,
@@ -72,18 +74,18 @@ export function withError(text, code = 500) {
72
74
  error(code, text + (config.debug && e.message ? `: ${e.message}` : ''));
73
75
  };
74
76
  }
75
- export async function handleAPIRequest(event, route) {
76
- const method = event.request.method;
77
+ export async function handleAPIRequest(request, params, route) {
78
+ const method = request.method;
77
79
  const _warnings = [];
78
- if (route.api && !event.request.headers.get('Accept')?.includes('application/json')) {
80
+ if (route.api && !request.headers.get('Accept')?.includes('application/json')) {
79
81
  _warnings.push('Only application/json is supported');
80
- event.request.headers.set('Accept', 'application/json');
82
+ request.headers.set('Accept', 'application/json');
81
83
  }
82
84
  for (const [key, type] of Object.entries(route.params || {})) {
83
85
  if (!type)
84
86
  continue;
85
87
  try {
86
- event.params[key] = type.parse(event.params[key]);
88
+ params[key] = type.parse(params[key]);
87
89
  }
88
90
  catch (e) {
89
91
  error(400, `Invalid parameter: ${e instanceof z.core.$ZodError ? z.prettifyError(e) : '<unknown error>'}`);
@@ -91,7 +93,7 @@ export async function handleAPIRequest(event, route) {
91
93
  }
92
94
  if (typeof route[method] != 'function')
93
95
  error(405, `Method ${method} not allowed for ${route.path}`);
94
- const result = await route[method](event);
96
+ const result = await route[method].call(route, request, params);
95
97
  if (result instanceof Response)
96
98
  return result;
97
99
  if (typeof result == 'object' || typeof result == 'function') {
package/dist/routes.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import type { RequestMethod } from '@axium/core/requests';
2
2
  import type { Component } from 'svelte';
3
3
  import type z from 'zod';
4
- import type { RequestEvent } from './requests.js';
5
4
  type _Params = Partial<Record<string, string>>;
6
- type MaybePromise<T> = T | Promise<T>;
7
- export type EndpointHandlers<Params extends _Params = _Params> = Partial<Record<RequestMethod, (event: RequestEvent<Params>) => MaybePromise<object | Response>>>;
5
+ export type MaybePromise<T> = T | Promise<T>;
6
+ export type EndpointHandlers<Params extends _Params = _Params, This = unknown> = Partial<Record<RequestMethod, (this: This, request: Request, params: Params) => MaybePromise<object | Response>>>;
8
7
  export type RouteParamOptions = z.ZodType;
9
8
  export interface CommonRouteOptions<Params extends _Params = _Params> {
10
9
  path: string;
@@ -15,11 +14,11 @@ export interface CommonRouteOptions<Params extends _Params = _Params> {
15
14
  /**
16
15
  * A route with server-side handlers for different HTTP methods.
17
16
  */
18
- export interface ServerRouteOptions<Params extends _Params = _Params> extends CommonRouteOptions<Params>, EndpointHandlers<Params> {
17
+ export interface ServerRouteOptions<Params extends _Params = _Params> extends CommonRouteOptions<Params>, EndpointHandlers<Params, RouteCommon> {
19
18
  api?: boolean;
20
19
  }
21
20
  export interface WebRouteOptions extends CommonRouteOptions {
22
- load?(event: RequestEvent): object | Promise<object>;
21
+ load?(request: Request): object | Promise<object>;
23
22
  /** the Svelte page */
24
23
  page?: Component;
25
24
  }
@@ -34,7 +33,7 @@ export interface ServerRoute extends RouteCommon, EndpointHandlers {
34
33
  }
35
34
  export interface WebRoute extends RouteCommon {
36
35
  server: false;
37
- load?(event: RequestEvent): object | Promise<object>;
36
+ load?(request: Request): object | Promise<object>;
38
37
  page: Component;
39
38
  }
40
39
  export type Route = ServerRoute | WebRoute;
@@ -50,8 +49,5 @@ export declare function addRoute(opt: RouteOptions): void;
50
49
  * Resolve a request URL into a route.
51
50
  * This handles parsing of parameters in the URL.
52
51
  */
53
- export declare function resolveRoute(event: {
54
- url: URL;
55
- params?: object;
56
- }): Route | undefined;
52
+ export declare function resolveRoute(url: URL): [Route, params: object] | void;
57
53
  export {};
package/dist/routes.js CHANGED
@@ -1,6 +1,6 @@
1
- import { apps } from './apps.js';
1
+ import { apps } from '@axium/core';
2
+ import { debug } from '@axium/core/node/io';
2
3
  import config from './config.js';
3
- import { output } from './io.js';
4
4
  import { _unique } from './state.js';
5
5
  /**
6
6
  * @internal
@@ -19,16 +19,16 @@ export function addRoute(opt) {
19
19
  if (route.api && !route.server)
20
20
  throw new Error(`API routes cannot have a client page: ${route.path}`);
21
21
  routes.set(route.path, route);
22
- output.debug('Added route: ' + route.path);
22
+ debug('Added route: ' + route.path);
23
23
  }
24
24
  /**
25
25
  * Resolve a request URL into a route.
26
26
  * This handles parsing of parameters in the URL.
27
27
  */
28
- export function resolveRoute(event) {
29
- const { pathname } = event.url;
28
+ export function resolveRoute(url) {
29
+ const { pathname } = url;
30
30
  if (routes.has(pathname) && !pathname.split('/').some(p => p.startsWith(':')))
31
- return routes.get(pathname);
31
+ return [routes.get(pathname), {}];
32
32
  // Otherwise we must have a parameterized route
33
33
  _routes: for (const route of routes.values()) {
34
34
  const params = {};
@@ -50,7 +50,6 @@ export function resolveRoute(event) {
50
50
  // we didn't find a match, since an exact match would have been found already
51
51
  if (pathParts.length || !Object.keys(params).length)
52
52
  continue;
53
- event.params = params;
54
- return route;
53
+ return [route, params];
55
54
  }
56
55
  }
package/dist/serve.d.ts CHANGED
@@ -1,12 +1,17 @@
1
- import type { Server } from 'node:http';
2
1
  import '@axium/server/api/index';
2
+ import type { Server } from 'node:http';
3
+ export declare const appDisabledContent: {
4
+ head: string;
5
+ body: string;
6
+ };
3
7
  export interface ServeOptions {
4
8
  secure: boolean;
5
9
  ssl_key: string;
6
10
  ssl_cert: string;
7
11
  build: string;
12
+ multiBuild: boolean;
8
13
  }
9
- export declare function serveSvelteKit(opt: Partial<ServeOptions>): Promise<Server>;
14
+ export declare function serve(opt: Partial<ServeOptions>): Promise<Server>;
10
15
  /**
11
16
  * Perform initial setup for when the server is serving web pages.
12
17
  */