@axium/server 0.24.0 → 0.25.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 (353) hide show
  1. package/axiumd.service +1 -1
  2. package/build/client/_app/immutable/assets/account.dAAx7bby.css +1 -0
  3. package/build/client/_app/immutable/assets/account.dAAx7bby.css.br +0 -0
  4. package/build/client/_app/immutable/assets/account.dAAx7bby.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/list.DVGH0BeP.css +1 -0
  6. package/build/client/_app/immutable/assets/list.DVGH0BeP.css.br +0 -0
  7. package/build/client/_app/immutable/assets/list.DVGH0BeP.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css +1 -0
  9. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css.br +2 -0
  10. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css.gz +0 -0
  11. package/build/client/_app/immutable/chunks/1taVrT-y.js +1 -0
  12. package/build/client/_app/immutable/chunks/1taVrT-y.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/1taVrT-y.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/BSFUgC2l.js +23 -0
  15. package/build/client/_app/immutable/chunks/BSFUgC2l.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BSFUgC2l.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/Bbzjahjl.js +2 -0
  18. package/build/client/_app/immutable/chunks/Bbzjahjl.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Bbzjahjl.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BxjargW5.js +1 -0
  21. package/build/client/_app/immutable/chunks/BxjargW5.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/BxjargW5.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/C2ewTgu8.js +1 -0
  24. package/build/client/_app/immutable/chunks/C2ewTgu8.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/C2ewTgu8.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/CFWAHLsq.js +1 -0
  27. package/build/client/_app/immutable/chunks/CFWAHLsq.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/CFWAHLsq.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/CPL43v-I.js +1 -0
  30. package/build/client/_app/immutable/chunks/CPL43v-I.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/CPL43v-I.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/CTKC36WM.js +1 -0
  33. package/build/client/_app/immutable/chunks/CTKC36WM.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/CTKC36WM.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/CekH6JMP.js +1 -0
  36. package/build/client/_app/immutable/chunks/CekH6JMP.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/CekH6JMP.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/Ch16TNvP.js +1 -0
  39. package/build/client/_app/immutable/chunks/Ch16TNvP.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/Ch16TNvP.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/CqfYW08-.js +1 -0
  42. package/build/client/_app/immutable/chunks/CqfYW08-.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/CqfYW08-.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/D1v6O410.js +1 -0
  45. package/build/client/_app/immutable/chunks/D1v6O410.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/D1v6O410.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/DY4fWHx_.js +1 -0
  48. package/build/client/_app/immutable/chunks/DY4fWHx_.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/DY4fWHx_.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/DdnE6dyJ.js +2 -0
  51. package/build/client/_app/immutable/chunks/DdnE6dyJ.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/DdnE6dyJ.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/DeieCYM0.js +22 -0
  54. package/build/client/_app/immutable/chunks/DeieCYM0.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/DeieCYM0.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/DfUzlYF5.js +1 -0
  57. package/build/client/_app/immutable/chunks/DfUzlYF5.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/DfUzlYF5.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/Dnk28BpG.js +1 -0
  60. package/build/client/_app/immutable/chunks/Dnk28BpG.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/Dnk28BpG.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/KNAS5R2A.js +3 -0
  63. package/build/client/_app/immutable/chunks/KNAS5R2A.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/KNAS5R2A.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/eyJgPND9.js +1 -0
  66. package/build/client/_app/immutable/chunks/eyJgPND9.js.br +1 -0
  67. package/build/client/_app/immutable/chunks/eyJgPND9.js.gz +0 -0
  68. package/build/client/_app/immutable/entry/app.CPF6A_DV.js +2 -0
  69. package/build/client/_app/immutable/entry/app.CPF6A_DV.js.br +0 -0
  70. package/build/client/_app/immutable/entry/app.CPF6A_DV.js.gz +0 -0
  71. package/build/client/_app/immutable/entry/start.Dos_Ttds.js +1 -0
  72. package/build/client/_app/immutable/entry/start.Dos_Ttds.js.br +2 -0
  73. package/build/client/_app/immutable/entry/start.Dos_Ttds.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/{0.DlE8ZTIF.js → 0.C5HgTRfT.js} +1 -1
  75. package/build/client/_app/immutable/nodes/0.C5HgTRfT.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/0.C5HgTRfT.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/1.CGcgSoA9.js +1 -0
  78. package/build/client/_app/immutable/nodes/1.CGcgSoA9.js.br +0 -0
  79. package/build/client/_app/immutable/nodes/1.CGcgSoA9.js.gz +0 -0
  80. package/build/client/_app/immutable/nodes/10.ukScuXwz.js +1 -0
  81. package/build/client/_app/immutable/nodes/10.ukScuXwz.js.br +5 -0
  82. package/build/client/_app/immutable/nodes/10.ukScuXwz.js.gz +0 -0
  83. package/build/client/_app/immutable/nodes/11.D3RDNx7M.js +1 -0
  84. package/build/client/_app/immutable/nodes/11.D3RDNx7M.js.br +0 -0
  85. package/build/client/_app/immutable/nodes/11.D3RDNx7M.js.gz +0 -0
  86. package/build/client/_app/immutable/nodes/12._vvpCcSG.js +1 -0
  87. package/build/client/_app/immutable/nodes/12._vvpCcSG.js.br +0 -0
  88. package/build/client/_app/immutable/nodes/12._vvpCcSG.js.gz +0 -0
  89. package/build/client/_app/immutable/nodes/13.BWPzZMQ5.js +1 -0
  90. package/build/client/_app/immutable/nodes/13.BWPzZMQ5.js.br +0 -0
  91. package/build/client/_app/immutable/nodes/13.BWPzZMQ5.js.gz +0 -0
  92. package/build/client/_app/immutable/nodes/14.Cr843Lep.js +1 -0
  93. package/build/client/_app/immutable/nodes/14.Cr843Lep.js.br +0 -0
  94. package/build/client/_app/immutable/nodes/14.Cr843Lep.js.gz +0 -0
  95. package/build/client/_app/immutable/nodes/2.DUpwDjw8.js +1 -0
  96. package/build/client/_app/immutable/nodes/2.DUpwDjw8.js.br +0 -0
  97. package/build/client/_app/immutable/nodes/2.DUpwDjw8.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/{2.CvEpuMc7.js → 3.DPH7xl7M.js} +1 -1
  99. package/build/client/_app/immutable/nodes/3.DPH7xl7M.js.br +0 -0
  100. package/build/client/_app/immutable/nodes/3.DPH7xl7M.js.gz +0 -0
  101. package/build/client/_app/immutable/nodes/4.Bk0knTIK.js +1 -0
  102. package/build/client/_app/immutable/nodes/4.Bk0knTIK.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/4.Bk0knTIK.js.gz +0 -0
  104. package/build/client/_app/immutable/nodes/5.DwnZ1Bh8.js +1 -0
  105. package/build/client/_app/immutable/nodes/5.DwnZ1Bh8.js.br +0 -0
  106. package/build/client/_app/immutable/nodes/5.DwnZ1Bh8.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/6.5U-KxFgt.js +2 -0
  108. package/build/client/_app/immutable/nodes/6.5U-KxFgt.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/6.5U-KxFgt.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/7.DFc4sJix.js +1 -0
  111. package/build/client/_app/immutable/nodes/7.DFc4sJix.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/7.DFc4sJix.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/8.BG4bv5P5.js +1 -0
  114. package/build/client/_app/immutable/nodes/8.BG4bv5P5.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/8.BG4bv5P5.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/9.BKljyhOi.js +1 -0
  117. package/build/client/_app/immutable/nodes/9.BKljyhOi.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/9.BKljyhOi.js.gz +0 -0
  119. package/build/client/_app/version.json +1 -1
  120. package/build/client/_app/version.json.br +0 -0
  121. package/build/client/_app/version.json.gz +0 -0
  122. package/build/client/styles.css +7 -0
  123. package/build/client/styles.css.br +0 -0
  124. package/build/client/styles.css.gz +0 -0
  125. package/build/handler.js +20 -3
  126. package/build/server/chunks/0-CZBaNtSI.js +9 -0
  127. package/build/server/chunks/{0-DgHTujtC.js.map → 0-CZBaNtSI.js.map} +1 -1
  128. package/build/server/chunks/1-D_3BtEbe.js +9 -0
  129. package/build/server/chunks/{1-k30i-hic.js.map → 1-D_3BtEbe.js.map} +1 -1
  130. package/build/server/chunks/10-CLkNMKHU.js +13 -0
  131. package/build/server/chunks/10-CLkNMKHU.js.map +1 -0
  132. package/build/server/chunks/11-5xPYR_1w.js +13 -0
  133. package/build/server/chunks/11-5xPYR_1w.js.map +1 -0
  134. package/build/server/chunks/12-N7UaQj7u.js +9 -0
  135. package/build/server/chunks/12-N7UaQj7u.js.map +1 -0
  136. package/build/server/chunks/13-QYVLpXli.js +9 -0
  137. package/build/server/chunks/13-QYVLpXli.js.map +1 -0
  138. package/build/server/chunks/14-CPY578rT.js +9 -0
  139. package/build/server/chunks/14-CPY578rT.js.map +1 -0
  140. package/build/server/chunks/2-_1jFrcvz.js +13 -0
  141. package/build/server/chunks/2-_1jFrcvz.js.map +1 -0
  142. package/build/server/chunks/3-B1CwnVF_.js +9 -0
  143. package/build/server/chunks/{2-CXlrhpR6.js.map → 3-B1CwnVF_.js.map} +1 -1
  144. package/build/server/chunks/4-CcxCcH4F.js +13 -0
  145. package/build/server/chunks/4-CcxCcH4F.js.map +1 -0
  146. package/build/server/chunks/5-CrlH6VoB.js +13 -0
  147. package/build/server/chunks/5-CrlH6VoB.js.map +1 -0
  148. package/build/server/chunks/6-FkP678Uz.js +13 -0
  149. package/build/server/chunks/6-FkP678Uz.js.map +1 -0
  150. package/build/server/chunks/7-B1iCe7VA.js +13 -0
  151. package/build/server/chunks/7-B1iCe7VA.js.map +1 -0
  152. package/build/server/chunks/8-p6n9G-P_.js +13 -0
  153. package/build/server/chunks/8-p6n9G-P_.js.map +1 -0
  154. package/build/server/chunks/9-fc3lKB7X.js +13 -0
  155. package/build/server/chunks/9-fc3lKB7X.js.map +1 -0
  156. package/build/server/chunks/Icon-CG7XnWX5.js +30 -0
  157. package/build/server/chunks/Icon-CG7XnWX5.js.map +1 -0
  158. package/build/server/chunks/Logout-BwzK1P29.js +45 -0
  159. package/build/server/chunks/Logout-BwzK1P29.js.map +1 -0
  160. package/build/server/chunks/_layout.svelte-9KMUotip.js +31 -0
  161. package/build/server/chunks/_layout.svelte-9KMUotip.js.map +1 -0
  162. package/build/server/chunks/_page.svelte-BD3HmLo_.js +28 -0
  163. package/build/server/chunks/_page.svelte-BD3HmLo_.js.map +1 -0
  164. package/build/server/chunks/_page.svelte-BFzPdJ6z.js +105 -0
  165. package/build/server/chunks/_page.svelte-BFzPdJ6z.js.map +1 -0
  166. package/build/server/chunks/_page.svelte-BIxxuzff.js +64 -0
  167. package/build/server/chunks/_page.svelte-BIxxuzff.js.map +1 -0
  168. package/build/server/chunks/_page.svelte-Bou2_u6i.js +13 -0
  169. package/build/server/chunks/_page.svelte-Bou2_u6i.js.map +1 -0
  170. package/build/server/chunks/_page.svelte-C25oQ2NT.js +80 -0
  171. package/build/server/chunks/_page.svelte-C25oQ2NT.js.map +1 -0
  172. package/build/server/chunks/_page.svelte-CAzWL4aq.js +66 -0
  173. package/build/server/chunks/_page.svelte-CAzWL4aq.js.map +1 -0
  174. package/build/server/chunks/_page.svelte-Ci5V-DhL.js +72 -0
  175. package/build/server/chunks/_page.svelte-Ci5V-DhL.js.map +1 -0
  176. package/build/server/chunks/_page.svelte-CnfRSJsl.js +37 -0
  177. package/build/server/chunks/_page.svelte-CnfRSJsl.js.map +1 -0
  178. package/build/server/chunks/_page.svelte-DgyZKeaF.js +231 -0
  179. package/build/server/chunks/_page.svelte-DgyZKeaF.js.map +1 -0
  180. package/build/server/chunks/_page.svelte-VDBvShZ8.js +6 -0
  181. package/build/server/chunks/_page.svelte-VDBvShZ8.js.map +1 -0
  182. package/build/server/chunks/_page.svelte-cAsZlwLs.js +24 -0
  183. package/build/server/chunks/_page.svelte-cAsZlwLs.js.map +1 -0
  184. package/build/server/chunks/_page.svelte-rrN2zFNa.js +66 -0
  185. package/build/server/chunks/_page.svelte-rrN2zFNa.js.map +1 -0
  186. package/build/server/chunks/account-BZSP6KBP.js +445 -0
  187. package/build/server/chunks/account-BZSP6KBP.js.map +1 -0
  188. package/build/server/chunks/color-K_MR7m8s.js +14 -0
  189. package/build/server/chunks/color-K_MR7m8s.js.map +1 -0
  190. package/build/server/chunks/context-R2425nfV.js +64 -0
  191. package/build/server/chunks/context-R2425nfV.js.map +1 -0
  192. package/build/server/chunks/{error.svelte-DNQXZmIO.js → error.svelte-DTrQqomO.js} +8 -7
  193. package/build/server/chunks/error.svelte-DTrQqomO.js.map +1 -0
  194. package/build/server/chunks/index-DJrm8BZm.js +844 -0
  195. package/build/server/chunks/index-DJrm8BZm.js.map +1 -0
  196. package/build/server/chunks/{index-CvHf_GW2.js → index-eKiDBuyI.js} +826 -438
  197. package/build/server/chunks/index-eKiDBuyI.js.map +1 -0
  198. package/build/server/chunks/layout.svelte-UxsTmhKc.js +8 -0
  199. package/build/server/chunks/layout.svelte-UxsTmhKc.js.map +1 -0
  200. package/build/server/chunks/{string-DLbvtT1R.js → numbers-DL8C9q4W.js} +1 -71
  201. package/build/server/chunks/numbers-DL8C9q4W.js.map +1 -0
  202. package/build/server/chunks/{FormDialog-CB-2YGWi.js → user2-Coq3Frtw.js} +102 -203
  203. package/build/server/chunks/user2-Coq3Frtw.js.map +1 -0
  204. package/build/server/chunks/{utils-h74ns7K6.js → utils-DlBYhQz7.js} +2 -1
  205. package/build/server/chunks/utils-DlBYhQz7.js.map +1 -0
  206. package/build/server/index.js +1787 -994
  207. package/build/server/index.js.map +1 -1
  208. package/build/server/manifest.js +70 -13
  209. package/build/server/manifest.js.map +1 -1
  210. package/dist/acl.d.ts +1 -2
  211. package/dist/api/acl.js +4 -4
  212. package/dist/api/admin.d.ts +1 -0
  213. package/dist/api/admin.js +135 -0
  214. package/dist/api/index.d.ts +2 -0
  215. package/dist/api/index.js +2 -0
  216. package/dist/api/metadata.js +3 -3
  217. package/dist/api/passkeys.js +10 -10
  218. package/dist/api/register.js +4 -4
  219. package/dist/api/session.js +5 -5
  220. package/dist/api/users.js +48 -48
  221. package/dist/audit.d.ts +7 -39
  222. package/dist/audit.js +10 -13
  223. package/dist/auth.d.ts +4 -11
  224. package/dist/auth.js +4 -4
  225. package/dist/cli.js +40 -54
  226. package/dist/config.d.ts +24 -14
  227. package/dist/config.js +42 -25
  228. package/dist/database.d.ts +3 -4
  229. package/dist/database.js +12 -12
  230. package/dist/internal_requests.d.ts +3 -0
  231. package/dist/internal_requests.js +119 -0
  232. package/dist/io.d.ts +1 -1
  233. package/dist/io.js +2 -5
  234. package/dist/linking.d.ts +0 -1
  235. package/dist/linking.js +2 -5
  236. package/dist/plugins.d.ts +4 -39
  237. package/dist/plugins.js +35 -51
  238. package/dist/requests.d.ts +5 -5
  239. package/dist/requests.js +14 -14
  240. package/dist/routes.d.ts +6 -10
  241. package/dist/routes.js +4 -5
  242. package/dist/serve.d.ts +3 -2
  243. package/dist/serve.js +165 -13
  244. package/dist/state.js +2 -1
  245. package/package.json +6 -5
  246. package/routes/account/+page.svelte +5 -109
  247. package/routes/admin/+layout.svelte +56 -0
  248. package/routes/admin/+layout.ts +29 -0
  249. package/routes/admin/+page.svelte +39 -0
  250. package/routes/admin/+page.ts +7 -0
  251. package/routes/admin/audit/+page.svelte +137 -0
  252. package/routes/admin/audit/+page.ts +20 -0
  253. package/routes/admin/audit/[id]/+page.svelte +43 -0
  254. package/routes/admin/audit/[id]/+page.ts +9 -0
  255. package/routes/admin/audit/styles.css +31 -0
  256. package/routes/admin/config/+page.svelte +28 -0
  257. package/routes/admin/config/+page.ts +9 -0
  258. package/routes/admin/plugins/+page.svelte +23 -0
  259. package/routes/admin/plugins/+page.ts +7 -0
  260. package/routes/admin/users/+page.svelte +60 -0
  261. package/routes/admin/users/+page.ts +9 -0
  262. package/routes/admin/users/[id]/+page.svelte +108 -0
  263. package/routes/admin/users/[id]/+page.ts +17 -0
  264. package/routes/tsconfig.json +1 -1
  265. package/svelte.config.js +4 -10
  266. package/{web/template.html → template.html} +1 -1
  267. package/{web/tsconfig.json → web.tsconfig.json} +2 -2
  268. package/build/client/_app/immutable/chunks/B1E1cVbi.js +0 -1
  269. package/build/client/_app/immutable/chunks/B1E1cVbi.js.br +0 -0
  270. package/build/client/_app/immutable/chunks/B1E1cVbi.js.gz +0 -0
  271. package/build/client/_app/immutable/chunks/D3hk2v8y.js +0 -1
  272. package/build/client/_app/immutable/chunks/D3hk2v8y.js.br +0 -2
  273. package/build/client/_app/immutable/chunks/D3hk2v8y.js.gz +0 -0
  274. package/build/client/_app/immutable/chunks/D4Bce_hb.js +0 -1
  275. package/build/client/_app/immutable/chunks/D4Bce_hb.js.br +0 -0
  276. package/build/client/_app/immutable/chunks/D4Bce_hb.js.gz +0 -0
  277. package/build/client/_app/immutable/chunks/D9TfJrfD.js +0 -1
  278. package/build/client/_app/immutable/chunks/D9TfJrfD.js.br +0 -0
  279. package/build/client/_app/immutable/chunks/D9TfJrfD.js.gz +0 -0
  280. package/build/client/_app/immutable/chunks/DJeR1n-B.js +0 -51
  281. package/build/client/_app/immutable/chunks/DJeR1n-B.js.br +0 -0
  282. package/build/client/_app/immutable/chunks/DJeR1n-B.js.gz +0 -0
  283. package/build/client/_app/immutable/chunks/Dy1O3iBu.js +0 -2
  284. package/build/client/_app/immutable/chunks/Dy1O3iBu.js.br +0 -0
  285. package/build/client/_app/immutable/chunks/Dy1O3iBu.js.gz +0 -0
  286. package/build/client/_app/immutable/chunks/NhZR8nmR.js +0 -3
  287. package/build/client/_app/immutable/chunks/NhZR8nmR.js.br +0 -0
  288. package/build/client/_app/immutable/chunks/NhZR8nmR.js.gz +0 -0
  289. package/build/client/_app/immutable/chunks/pba7IodQ.js +0 -1
  290. package/build/client/_app/immutable/chunks/pba7IodQ.js.br +0 -0
  291. package/build/client/_app/immutable/chunks/pba7IodQ.js.gz +0 -0
  292. package/build/client/_app/immutable/entry/app.DJWgFLyv.js +0 -2
  293. package/build/client/_app/immutable/entry/app.DJWgFLyv.js.br +0 -0
  294. package/build/client/_app/immutable/entry/app.DJWgFLyv.js.gz +0 -0
  295. package/build/client/_app/immutable/entry/start.CM7y0WAo.js +0 -1
  296. package/build/client/_app/immutable/entry/start.CM7y0WAo.js.br +0 -2
  297. package/build/client/_app/immutable/entry/start.CM7y0WAo.js.gz +0 -0
  298. package/build/client/_app/immutable/nodes/0.DlE8ZTIF.js.br +0 -0
  299. package/build/client/_app/immutable/nodes/0.DlE8ZTIF.js.gz +0 -0
  300. package/build/client/_app/immutable/nodes/1.BER4lkmI.js +0 -1
  301. package/build/client/_app/immutable/nodes/1.BER4lkmI.js.br +0 -0
  302. package/build/client/_app/immutable/nodes/1.BER4lkmI.js.gz +0 -0
  303. package/build/client/_app/immutable/nodes/2.CvEpuMc7.js.br +0 -0
  304. package/build/client/_app/immutable/nodes/2.CvEpuMc7.js.gz +0 -0
  305. package/build/client/_app/immutable/nodes/3.CVudd8x2.js +0 -7
  306. package/build/client/_app/immutable/nodes/3.CVudd8x2.js.br +0 -0
  307. package/build/client/_app/immutable/nodes/3.CVudd8x2.js.gz +0 -0
  308. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js +0 -1
  309. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.br +0 -0
  310. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.gz +0 -0
  311. package/build/client/_app/immutable/nodes/5.CGoBaVII.js +0 -1
  312. package/build/client/_app/immutable/nodes/5.CGoBaVII.js.br +0 -0
  313. package/build/client/_app/immutable/nodes/5.CGoBaVII.js.gz +0 -0
  314. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js +0 -1
  315. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.br +0 -0
  316. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.gz +0 -0
  317. package/build/server/chunks/0-DgHTujtC.js +0 -9
  318. package/build/server/chunks/1-k30i-hic.js +0 -9
  319. package/build/server/chunks/2-CXlrhpR6.js +0 -9
  320. package/build/server/chunks/3-CGT4Ugys.js +0 -13
  321. package/build/server/chunks/3-CGT4Ugys.js.map +0 -1
  322. package/build/server/chunks/4-BscEiwUk.js +0 -9
  323. package/build/server/chunks/4-BscEiwUk.js.map +0 -1
  324. package/build/server/chunks/5-H0ePIJBE.js +0 -9
  325. package/build/server/chunks/5-H0ePIJBE.js.map +0 -1
  326. package/build/server/chunks/6-BrPpcagX.js +0 -9
  327. package/build/server/chunks/6-BrPpcagX.js.map +0 -1
  328. package/build/server/chunks/FormDialog-CB-2YGWi.js.map +0 -1
  329. package/build/server/chunks/Logout-LKOt-AST.js +0 -45
  330. package/build/server/chunks/Logout-LKOt-AST.js.map +0 -1
  331. package/build/server/chunks/_page.svelte-B1LK5J87.js +0 -11
  332. package/build/server/chunks/_page.svelte-B1LK5J87.js.map +0 -1
  333. package/build/server/chunks/_page.svelte-CMtkwvbP.js +0 -68
  334. package/build/server/chunks/_page.svelte-CMtkwvbP.js.map +0 -1
  335. package/build/server/chunks/_page.svelte-CbI2KxeA.js +0 -62
  336. package/build/server/chunks/_page.svelte-CbI2KxeA.js.map +0 -1
  337. package/build/server/chunks/_page.svelte-D1_WJoyP.js +0 -6
  338. package/build/server/chunks/_page.svelte-D1_WJoyP.js.map +0 -1
  339. package/build/server/chunks/_page.svelte-d01Hl2Ia.js +0 -639
  340. package/build/server/chunks/_page.svelte-d01Hl2Ia.js.map +0 -1
  341. package/build/server/chunks/error.svelte-DNQXZmIO.js.map +0 -1
  342. package/build/server/chunks/hooks.server-BQqilaHv.js +0 -17301
  343. package/build/server/chunks/hooks.server-BQqilaHv.js.map +0 -1
  344. package/build/server/chunks/index-CvHf_GW2.js.map +0 -1
  345. package/build/server/chunks/index-RTKpMYZ1.js +0 -397
  346. package/build/server/chunks/index-RTKpMYZ1.js.map +0 -1
  347. package/build/server/chunks/layout.svelte-BSvrn-4a.js +0 -8
  348. package/build/server/chunks/layout.svelte-BSvrn-4a.js.map +0 -1
  349. package/build/server/chunks/string-DLbvtT1R.js.map +0 -1
  350. package/build/server/chunks/utils-h74ns7K6.js.map +0 -1
  351. package/dist/sveltekit.d.ts +0 -8
  352. package/dist/sveltekit.js +0 -60
  353. package/web/hooks.server.ts +0 -4
package/dist/audit.d.ts CHANGED
@@ -1,35 +1,8 @@
1
- import type { Insertable } from 'kysely';
1
+ import { Severity, type AuditEvent, type AuditFilter } from '@axium/core/audit';
2
+ import type { Insertable, SelectQueryBuilder } from 'kysely';
2
3
  import * as z from 'zod';
3
4
  import { type Schema } from './database.js';
4
- export declare enum Severity {
5
- Emergency = 0,
6
- Alert = 1,
7
- Critical = 2,
8
- Error = 3,
9
- Warning = 4,
10
- Notice = 5,
11
- Info = 6,
12
- Debug = 7
13
- }
14
5
  export declare function styleSeverity(sev: Severity, align?: boolean): string;
15
- export interface AuditEvent<T extends Record<string, unknown> = Record<string, unknown>> {
16
- /** UUID of the event */
17
- id: string;
18
- /** UUID of the user that triggered the event. `null` for events triggered via the server CLI */
19
- userId?: string | null;
20
- /** When the event happened */
21
- timestamp: Date;
22
- /** How severe the event is */
23
- severity: Severity;
24
- /** Snake case name for the event */
25
- name: string;
26
- /** The source of the event. This should be a package name */
27
- source: string;
28
- /** Tags for the event. For example, `auth` for authentication events */
29
- tags: string[];
30
- /** Additional event specific data. */
31
- extra: T;
32
- }
33
6
  export interface AuditEventInit extends Insertable<Schema['audit_log']> {
34
7
  }
35
8
  export declare function audit_raw(event: AuditEventInit): Promise<void>;
@@ -48,6 +21,10 @@ export interface $EventTypes {
48
21
  admin_change: {
49
22
  user: string;
50
23
  };
24
+ admin_api: {
25
+ route: string;
26
+ session: string;
27
+ };
51
28
  }
52
29
  export type EventName = keyof $EventTypes;
53
30
  export type EventExtra<T extends EventName> = $EventTypes[T];
@@ -71,13 +48,4 @@ export interface AuditEventConfig {
71
48
  }
72
49
  export declare function addEvent(init: AuditEventConfigInit): void;
73
50
  export declare function audit<T extends EventName>(eventName: T, userId?: string, extra?: EventExtra<T>): Promise<void>;
74
- export interface AuditFilter {
75
- since?: Date;
76
- until?: Date;
77
- user?: string | null;
78
- severity?: Severity;
79
- source?: string;
80
- tags?: string[];
81
- event?: string;
82
- }
83
- export declare function getEvents(filter: AuditFilter): Promise<AuditEvent[]>;
51
+ export declare function getEvents(filter: AuditFilter): SelectQueryBuilder<Schema, 'audit_log', AuditEvent>;
package/dist/audit.js CHANGED
@@ -1,20 +1,10 @@
1
+ import { Severity } from '@axium/core/audit';
1
2
  import { styleText } from 'node:util';
2
3
  import { capitalize, omit } from 'utilium';
3
4
  import * as z from 'zod';
4
5
  import config from './config.js';
5
6
  import { database } from './database.js';
6
7
  import * as io from './io.js';
7
- export var Severity;
8
- (function (Severity) {
9
- Severity[Severity["Emergency"] = 0] = "Emergency";
10
- Severity[Severity["Alert"] = 1] = "Alert";
11
- Severity[Severity["Critical"] = 2] = "Critical";
12
- Severity[Severity["Error"] = 3] = "Error";
13
- Severity[Severity["Warning"] = 4] = "Warning";
14
- Severity[Severity["Notice"] = 5] = "Notice";
15
- Severity[Severity["Info"] = 6] = "Info";
16
- Severity[Severity["Debug"] = 7] = "Debug";
17
- })(Severity || (Severity = {}));
18
8
  const severityFormat = {
19
9
  [Severity.Emergency]: ['bgRedBright', 'white', 'underline'],
20
10
  [Severity.Alert]: ['bgRedBright', 'white'],
@@ -83,7 +73,7 @@ export async function audit(eventName, userId, extra) {
83
73
  .catch(() => null);
84
74
  }
85
75
  }
86
- export async function getEvents(filter) {
76
+ export function getEvents(filter) {
87
77
  let query = database.selectFrom('audit_log').selectAll();
88
78
  if ('user' in filter && !filter.user)
89
79
  query = query.where('userId', 'is', null);
@@ -101,7 +91,7 @@ export async function getEvents(filter) {
101
91
  query = query.where('timestamp', '>=', filter.since);
102
92
  if (filter.until)
103
93
  query = query.where('timestamp', '<=', filter.until);
104
- return await query.execute();
94
+ return query;
105
95
  }
106
96
  // Register built-ins
107
97
  addEvent({ source: '@axium/server', name: 'user_created', severity: Severity.Info, tags: ['user'] });
@@ -123,3 +113,10 @@ addEvent({
123
113
  extra: { item: z.string() },
124
114
  noAutoSuspend: true,
125
115
  });
116
+ addEvent({
117
+ source: '@axium/server',
118
+ name: 'admin_api',
119
+ severity: Severity.Debug,
120
+ tags: ['auth'],
121
+ extra: { route: z.string(), session: z.string() },
122
+ });
package/dist/auth.d.ts CHANGED
@@ -1,14 +1,7 @@
1
- import type { Passkey, Permission, Session, User, Verification } from '@axium/core';
1
+ import type { Passkey, Permission, Session, UserInternal, Verification } from '@axium/core';
2
2
  import type { Insertable } from 'kysely';
3
3
  import * as acl from './acl.js';
4
4
  import { type Schema } from './database.js';
5
- import type { RequestEvent } from './requests.js';
6
- export interface UserInternal extends User {
7
- isAdmin: boolean;
8
- isSuspended: boolean;
9
- /** Tags are internal, roles are public */
10
- tags: string[];
11
- }
12
5
  export declare function getUser(id: string): Promise<UserInternal>;
13
6
  export declare function updateUser({ id, ...user }: Insertable<Schema['users']>): Promise<UserInternal>;
14
7
  export interface SessionInternal extends Session {
@@ -33,7 +26,7 @@ export interface VerificationInternal extends Verification {
33
26
  export declare function createVerification(role: VerificationRole, userId: string, expires: number): Promise<VerificationInternal>;
34
27
  export declare function useVerification(role: VerificationRole, userId: string, token: string): Promise<VerificationInternal | undefined>;
35
28
  export interface PasskeyInternal extends Passkey {
36
- publicKey: Uint8Array;
29
+ publicKey: Uint8Array<ArrayBuffer>;
37
30
  counter: number;
38
31
  }
39
32
  export declare function getPasskey(id: string): Promise<PasskeyInternal>;
@@ -44,11 +37,11 @@ export interface UserAuthResult extends SessionAndUser {
44
37
  /** The user authenticating the request. */
45
38
  accessor: UserInternal;
46
39
  }
47
- export declare function checkAuthForUser(event: RequestEvent, userId: string, sensitive?: boolean): Promise<UserAuthResult>;
40
+ export declare function checkAuthForUser(request: Request, userId: string, sensitive?: boolean): Promise<UserAuthResult>;
48
41
  export interface ItemAuthResult<T extends acl.Target> {
49
42
  fromACL: boolean;
50
43
  item: T;
51
44
  user?: UserInternal;
52
45
  session?: SessionInternal;
53
46
  }
54
- export declare function checkAuthForItem<const V extends acl.Target>(event: RequestEvent, itemType: acl.TargetName, itemId: string, permission: Permission): Promise<ItemAuthResult<V>>;
47
+ export declare function checkAuthForItem<const V extends acl.Target>(request: Request, itemType: acl.TargetName, itemId: string, permission: Permission): Promise<ItemAuthResult<V>>;
package/dist/auth.js CHANGED
@@ -87,8 +87,8 @@ export async function updatePasskeyCounter(id, newCounter) {
87
87
  throw new Error('Passkey not found');
88
88
  return passkey;
89
89
  }
90
- export async function checkAuthForUser(event, userId, sensitive = false) {
91
- const token = getToken(event, sensitive);
90
+ export async function checkAuthForUser(request, userId, sensitive = false) {
91
+ const token = getToken(request, sensitive);
92
92
  if (!token)
93
93
  throw error(401, 'Missing token');
94
94
  const session = await getSessionAndUser(token).catch(withError('Invalid or expired session', 401));
@@ -106,8 +106,8 @@ export async function checkAuthForUser(event, userId, sensitive = false) {
106
106
  error(403, 'This token can not be used for sensitive actions');
107
107
  return Object.assign(session, { accessor: session.user });
108
108
  }
109
- export async function checkAuthForItem(event, itemType, itemId, permission) {
110
- const token = getToken(event, false);
109
+ export async function checkAuthForItem(request, itemType, itemId, permission) {
110
+ const token = getToken(request, false);
111
111
  if (!token)
112
112
  error(401, 'Missing token');
113
113
  const session = await getSessionAndUser(token).catch(() => null);
package/dist/cli.js CHANGED
@@ -51,24 +51,26 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
51
51
  var e = new Error(message);
52
52
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
53
53
  });
54
+ import { AuditFilter } from '@axium/core/audit';
55
+ import { severityNames } from '@axium/core/audit';
54
56
  import { formatDateRange } from '@axium/core/format';
55
57
  import { Argument, Option, program } from 'commander';
56
58
  import { spawnSync } from 'node:child_process';
57
59
  import { access } from 'node:fs/promises';
58
- import { join } from 'node:path/posix';
60
+ import { join, resolve } from 'node:path/posix';
59
61
  import { createInterface } from 'node:readline/promises';
60
62
  import { styleText } from 'node:util';
61
- import { capitalize, getByString, isJSON, setByString, uncapitalize } from 'utilium';
63
+ import { getByString, isJSON, setByString } from 'utilium';
62
64
  import * as z from 'zod';
63
65
  import $pkg from '../package.json' with { type: 'json' };
64
66
  import { apps } from './apps.js';
65
- import { audit, getEvents, Severity, styleSeverity } from './audit.js';
67
+ import { audit, getEvents, styleSeverity } from './audit.js';
66
68
  import config, { configFiles, FileSchema, saveConfigTo } from './config.js';
67
69
  import * as db from './database.js';
68
70
  import * as io from './io.js';
69
71
  import { linkRoutes, listRouteLinks, unlinkRoutes } from './linking.js';
70
- import { getSpecifier, plugins, pluginText, resolvePlugin } from './plugins.js';
71
- import { serveSvelteKit } from './serve.js';
72
+ import { plugins, pluginText } from './plugins.js';
73
+ import { serve } from './serve.js';
72
74
  function readline() {
73
75
  const rl = createInterface({
74
76
  input: process.stdin,
@@ -82,19 +84,22 @@ function userText(user, bold = false) {
82
84
  const text = `${user.name} <${user.email}> (${user.id})`;
83
85
  return bold ? styleText('bold', text) : text;
84
86
  }
87
+ let safe = false;
85
88
  program
86
89
  .version($pkg.version)
87
90
  .name('axium')
88
91
  .description('Axium server CLI')
89
92
  .configureHelp({ showGlobalOptions: true })
93
+ .option('--safe', 'do not execute code from plugins')
90
94
  .option('--debug', 'override debug mode')
91
95
  .option('--no-debug', 'override debug mode')
92
96
  .option('-c, --config <path>', 'path to the config file');
97
+ program.on('option:safe', () => (safe = true));
93
98
  program.on('option:debug', () => config.set({ debug: true }));
94
- program.on('option:config', () => void config.load(program.opts().config));
99
+ program.on('option:config', () => void config.load(program.opts().config, { safe }));
95
100
  const noAutoDB = ['init', 'serve', 'check'];
96
101
  program.hook('preAction', async function (_, action) {
97
- await config.loadDefaults();
102
+ await config.loadDefaults(safe);
98
103
  const opt = action.optsWithGlobals();
99
104
  opt.force && io.output.warn('--force: Protections disabled.');
100
105
  if (typeof opt.debug == 'boolean') {
@@ -275,24 +280,26 @@ axiumPlugin
275
280
  return;
276
281
  }
277
282
  if (!opt.long) {
278
- console.log(Array.from(plugins)
279
- .map(plugin => plugin.name)
280
- .join(', '));
283
+ console.log(Array.from(plugins.keys()).join(', '));
281
284
  return;
282
285
  }
283
286
  console.log(styleText('whiteBright', plugins.size + ' plugin(s) loaded:'));
284
- for (const plugin of plugins) {
287
+ for (const plugin of plugins.values()) {
285
288
  console.log(plugin.name, opt.versions ? plugin.version : '');
286
289
  }
287
290
  });
291
+ function _findPlugin(search) {
292
+ const plugin = plugins.get(search) ?? plugins.values().find(p => p.specifier.toLowerCase() == search.toLowerCase());
293
+ if (!plugin)
294
+ io.exit(`Can't find a plugin matching "${search}"`);
295
+ return plugin;
296
+ }
288
297
  axiumPlugin
289
298
  .command('info')
290
299
  .description('Get information about a plugin')
291
300
  .argument('<plugin>', 'the plugin to get information about')
292
301
  .action((search) => {
293
- const plugin = resolvePlugin(search);
294
- if (!plugin)
295
- io.exit(`Can't find a plugin matching "${search}"`);
302
+ const plugin = _findPlugin(search);
296
303
  console.log(pluginText(plugin));
297
304
  });
298
305
  axiumPlugin
@@ -301,18 +308,15 @@ axiumPlugin
301
308
  .description('Remove a plugin')
302
309
  .argument('<plugin>', 'the plugin to remove')
303
310
  .action(async (search, opt) => {
304
- const plugin = resolvePlugin(search);
305
- if (!plugin)
306
- io.exit(`Can't find a plugin matching "${search}"`);
307
- const specifier = getSpecifier(plugin);
308
- await plugin.hooks.remove?.(opt);
311
+ const plugin = _findPlugin(search);
312
+ await plugin._hooks?.remove?.(opt);
309
313
  for (const [path, data] of configFiles) {
310
314
  if (!data.plugins)
311
315
  continue;
312
- data.plugins = data.plugins.filter(p => p !== specifier);
316
+ data.plugins = data.plugins.filter(p => p !== plugin.specifier);
313
317
  saveConfigTo(path, data);
314
318
  }
315
- plugins.delete(plugin);
319
+ plugins.delete(plugin.name);
316
320
  });
317
321
  axiumPlugin
318
322
  .command('init')
@@ -325,11 +329,11 @@ axiumPlugin
325
329
  .action(async (search, opt) => {
326
330
  const env_1 = { stack: [], error: void 0, hasError: false };
327
331
  try {
328
- const plugin = resolvePlugin(search);
332
+ const plugin = _findPlugin(search);
329
333
  if (!plugin)
330
334
  io.exit(`Can't find a plugin matching "${search}"`);
331
335
  const _ = __addDisposableResource(env_1, db.connect(), true);
332
- await plugin.hooks.db_init?.({ force: false, ...opt, skip: true });
336
+ await plugin._hooks?.db_init?.({ force: false, ...opt, skip: true });
333
337
  }
334
338
  catch (e_1) {
335
339
  env_1.error = e_1;
@@ -539,13 +543,11 @@ program
539
543
  catch {
540
544
  console.log(styleText('red', 'Unavailable'));
541
545
  }
542
- console.log(styleText('whiteBright', 'Loaded plugins:'), styleText(['dim', 'bold'], `(${plugins.size || 'none'})`), Array.from(plugins)
543
- .map(plugin => plugin.name)
544
- .join(', '));
545
- for (const plugin of plugins) {
546
- if (!plugin.statusText)
546
+ console.log(styleText('whiteBright', 'Loaded plugins:'), styleText(['dim', 'bold'], `(${plugins.size || 'none'})`), Array.from(plugins.keys()).join(', '));
547
+ for (const plugin of plugins.values()) {
548
+ if (!plugin._hooks?.statusText)
547
549
  continue;
548
- const text = await plugin.statusText();
550
+ const text = await plugin._hooks?.statusText();
549
551
  console.log(styleText('bold', plugin.name), plugin.version + ':', text.includes('\n') ? '\n' + text : text);
550
552
  }
551
553
  });
@@ -568,20 +570,19 @@ program
568
570
  .action(async (opt) => {
569
571
  await db.init({ ...opt, skip: opt.dbSkip }).catch(io.handleError);
570
572
  await io.restrictedPorts({ method: 'node-cap', action: 'enable' }).catch(io.handleError);
571
- linkRoutes(opt);
572
573
  });
573
574
  program
574
575
  .command('serve')
575
576
  .description('Start the Axium server')
576
577
  .option('-p, --port <port>', 'the port to listen on')
577
578
  .option('--ssl <prefix>', 'the prefix for the cert.pem and key.pem SSL files')
578
- .option('-B, --build', 'the path to a built SvelteKit server handler')
579
+ .option('-b, --build <path>', 'the path to the handler build')
579
580
  .action(async (opt) => {
580
- const server = await serveSvelteKit({
581
+ const server = await serve({
581
582
  secure: opt.ssl ? true : config.web.secure,
582
583
  ssl_cert: opt.ssl ? join(opt.ssl, 'cert.pem') : config.web.ssl_cert,
583
584
  ssl_key: opt.ssl ? join(opt.ssl, 'key.pem') : config.web.ssl_key,
584
- build: opt.build ?? config.web.build,
585
+ build: opt.build ? resolve(opt.build) : undefined,
585
586
  });
586
587
  const port = !Number.isNaN(Number.parseInt(opt.port ?? '')) ? Number.parseInt(opt.port) : config.web.port;
587
588
  server.listen(port, () => {
@@ -622,31 +623,16 @@ program
622
623
  .option('-t, --include-tags', 'Include tags when listing events')
623
624
  .addOption(new Option('-s, --summary', 'Summarize audit log entries instead of displaying individual ones').conflicts(['extra', 'includeTags']))
624
625
  .optionsGroup('Filters:')
625
- .addOption(new Option('--since <date>', 'Filter for events since a date').argParser(v => new Date(v)))
626
- .addOption(new Option('--until <date>', 'Filter for events until a date').argParser(v => new Date(v)))
627
- .addOption(new Option('--user <uuid|null>', 'Filter for events triggered by a user').argParser(v => {
628
- try {
629
- return z.union([z.uuid(), z.literal(['null', '']).transform(() => null)]).parse(v);
630
- }
631
- catch (e) {
632
- throw z.prettifyError(e);
633
- }
634
- }))
635
- .addOption(new Option('--severity <level>', 'Filter for events at or above a severity level')
636
- .choices(Object.keys(Severity)
637
- .filter(k => isNaN(Number(k)))
638
- .map(uncapitalize))
639
- .argParser(v => {
640
- const cap = capitalize(v);
641
- if (!(cap in Severity))
642
- throw new Error('Invalid severity: ' + v);
643
- return Severity[cap];
644
- }))
626
+ .option('--since <date>', 'Filter for events since a date')
627
+ .option('--until <date>', 'Filter for events until a date')
628
+ .option('--user <uuid|null>', 'Filter for events triggered by a user')
629
+ .addOption(new Option('--severity <level>', 'Filter for events at or above a severity level').choices(severityNames))
645
630
  .option('--source <source>', 'Filter by source')
646
631
  .option('--tag <tag...>', 'Filter by tag(s)')
647
632
  .option('--event <event>', 'Filter by event name')
648
633
  .action(async (opt) => {
649
- const events = await getEvents(opt);
634
+ const filter = await AuditFilter.parseAsync(opt).catch(e => io.exit('Invalid filter: ' + z.prettifyError(e)));
635
+ const events = await getEvents(filter).execute();
650
636
  if (opt.summary) {
651
637
  const groups = Object.groupBy(events, e => e.severity);
652
638
  const maxGroupLength = Math.max(...Object.values(groups).map(g => g.length.toString().length), 0);
package/dist/config.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type DeepRequired } from 'utilium';
2
2
  import * as z from 'zod';
3
3
  export declare const ConfigSchema: z.ZodObject<{
4
+ admin_api: z.ZodOptional<z.ZodBoolean>;
4
5
  allow_new_users: z.ZodOptional<z.ZodBoolean>;
5
6
  apps: z.ZodOptional<z.ZodObject<{
6
7
  disabled: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -8,8 +9,8 @@ export declare const ConfigSchema: z.ZodObject<{
8
9
  audit: z.ZodOptional<z.ZodObject<{
9
10
  allow_raw: z.ZodOptional<z.ZodBoolean>;
10
11
  retention: z.ZodOptional<z.ZodNumber>;
11
- min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
12
- auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
12
+ min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Emergency" | "Alert" | "Critical" | "Error" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical" | "warning" | "notice" | "info">>;
13
+ auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Emergency" | "Alert" | "Critical" | "Error" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical" | "warning" | "notice" | "info">>;
13
14
  }, z.core.$loose>>;
14
15
  auth: z.ZodOptional<z.ZodObject<{
15
16
  origin: z.ZodOptional<z.ZodString>;
@@ -34,16 +35,15 @@ export declare const ConfigSchema: z.ZodObject<{
34
35
  level: z.ZodOptional<z.ZodEnum<{
35
36
  error: "error";
36
37
  debug: "debug";
37
- warn: "warn";
38
38
  notice: "notice";
39
39
  info: "info";
40
+ warn: "warn";
40
41
  }>>;
41
42
  console: z.ZodOptional<z.ZodBoolean>;
42
43
  }, z.core.$loose>>;
44
+ request_size_limit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
43
45
  show_duplicate_state: z.ZodOptional<z.ZodBoolean>;
44
46
  web: z.ZodOptional<z.ZodObject<{
45
- assets: z.ZodOptional<z.ZodString>;
46
- build: z.ZodOptional<z.ZodString>;
47
47
  disable_cache: z.ZodOptional<z.ZodBoolean>;
48
48
  port: z.ZodOptional<z.ZodNumber>;
49
49
  prefix: z.ZodOptional<z.ZodString>;
@@ -51,13 +51,13 @@ export declare const ConfigSchema: z.ZodObject<{
51
51
  secure: z.ZodOptional<z.ZodBoolean>;
52
52
  ssl_key: z.ZodOptional<z.ZodString>;
53
53
  ssl_cert: z.ZodOptional<z.ZodString>;
54
- template: z.ZodOptional<z.ZodString>;
55
54
  }, z.core.$loose>>;
56
55
  }, z.core.$loose>;
57
56
  export interface Config extends z.infer<typeof ConfigSchema> {
58
57
  }
59
58
  export declare const configFiles: Map<string, File>;
60
59
  export declare function plainConfig(): Omit<DeepRequired<Config>, keyof typeof configShortcuts>;
60
+ export declare const defaultConfig: DeepRequired<Config>;
61
61
  declare const configShortcuts: {
62
62
  findPath: typeof findConfigPaths;
63
63
  load: typeof loadConfig;
@@ -67,12 +67,14 @@ declare const configShortcuts: {
67
67
  saveTo: typeof saveConfigTo;
68
68
  set: typeof setConfig;
69
69
  files: Map<string, File>;
70
+ defaults: DeepRequired<Config>;
70
71
  };
71
72
  export declare const config: DeepRequired<Config> & typeof configShortcuts;
72
73
  export default config;
73
74
  export declare const FileSchema: z.ZodObject<{
74
75
  include: z.ZodOptional<z.ZodArray<z.ZodString>>;
75
76
  plugins: z.ZodOptional<z.ZodArray<z.ZodString>>;
77
+ admin_api: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
76
78
  allow_new_users: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
77
79
  apps: z.ZodOptional<z.ZodOptional<z.ZodObject<{
78
80
  disabled: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -80,8 +82,8 @@ export declare const FileSchema: z.ZodObject<{
80
82
  audit: z.ZodOptional<z.ZodOptional<z.ZodObject<{
81
83
  allow_raw: z.ZodOptional<z.ZodBoolean>;
82
84
  retention: z.ZodOptional<z.ZodNumber>;
83
- min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
84
- auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Error" | "notice" | "info" | "warning" | "Emergency" | "Alert" | "Critical" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical">>;
85
+ min_severity: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Emergency" | "Alert" | "Critical" | "Error" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical" | "warning" | "notice" | "info">>;
86
+ auto_suspend: z.ZodOptional<z.ZodLiteral<"error" | "debug" | "Emergency" | "Alert" | "Critical" | "Error" | "Warning" | "Notice" | "Info" | "Debug" | "emergency" | "alert" | "critical" | "warning" | "notice" | "info">>;
85
87
  }, z.core.$loose>>>;
86
88
  auth: z.ZodOptional<z.ZodOptional<z.ZodObject<{
87
89
  origin: z.ZodOptional<z.ZodString>;
@@ -106,16 +108,15 @@ export declare const FileSchema: z.ZodObject<{
106
108
  level: z.ZodOptional<z.ZodEnum<{
107
109
  error: "error";
108
110
  debug: "debug";
109
- warn: "warn";
110
111
  notice: "notice";
111
112
  info: "info";
113
+ warn: "warn";
112
114
  }>>;
113
115
  console: z.ZodOptional<z.ZodBoolean>;
114
116
  }, z.core.$loose>>>;
117
+ request_size_limit: z.ZodOptional<z.ZodOptional<z.ZodOptional<z.ZodNumber>>>;
115
118
  show_duplicate_state: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
116
119
  web: z.ZodOptional<z.ZodOptional<z.ZodObject<{
117
- assets: z.ZodOptional<z.ZodString>;
118
- build: z.ZodOptional<z.ZodString>;
119
120
  disable_cache: z.ZodOptional<z.ZodBoolean>;
120
121
  port: z.ZodOptional<z.ZodNumber>;
121
122
  prefix: z.ZodOptional<z.ZodString>;
@@ -123,12 +124,11 @@ export declare const FileSchema: z.ZodObject<{
123
124
  secure: z.ZodOptional<z.ZodBoolean>;
124
125
  ssl_key: z.ZodOptional<z.ZodString>;
125
126
  ssl_cert: z.ZodOptional<z.ZodString>;
126
- template: z.ZodOptional<z.ZodString>;
127
127
  }, z.core.$loose>>>;
128
128
  }, z.core.$loose>;
129
129
  export interface File extends z.infer<typeof FileSchema> {
130
130
  }
131
- export declare function addConfigDefaults(other: Config, _target?: Record<string, any>): void;
131
+ export declare function addConfigDefaults(other: Config, _target?: Record<string, any>, _noDefault?: boolean): void;
132
132
  /**
133
133
  * Update the current config
134
134
  */
@@ -142,16 +142,26 @@ export interface LoadOptions {
142
142
  * If enabled, the config file will be skipped if it does not exist.
143
143
  */
144
144
  optional?: boolean;
145
+ /**
146
+ * If enabled, code from plugins will not be executed.
147
+ */
148
+ safe?: boolean;
145
149
  /**
146
150
  * If `optional`, this function will be called with the error if the config file is invalid or can't be read.
147
151
  */
148
152
  onError?(error: Error): void;
153
+ /**
154
+ * Used to mark included files
155
+ * @internal
156
+ */
157
+ _markIncluded?: boolean;
149
158
  }
150
159
  /**
151
160
  * Load the config from the provided path
152
161
  */
153
162
  export declare function loadConfig(path: string, options?: LoadOptions): Promise<void>;
154
- export declare function loadDefaultConfigs(): Promise<void>;
163
+ export declare function loadDefaultConfigs(safe?: boolean): Promise<void>;
164
+ export declare function reloadConfigs(safe?: boolean): Promise<void>;
155
165
  /**
156
166
  * Update the current config and write the updated config to the appropriate file
157
167
  */