@vandenberghinc/volt 1.1.26 → 1.1.28

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 (502) hide show
  1. package/backend/dist/cjs/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
  2. package/backend/dist/cjs/{blacklist.js → backend/src/blacklist.js} +8 -5
  3. package/backend/dist/cjs/{cli.js → backend/src/cli.js} +29 -47
  4. package/backend/dist/cjs/backend/src/database/collection.d.ts +1543 -0
  5. package/backend/dist/cjs/backend/src/database/collection.js +3042 -0
  6. package/backend/dist/cjs/backend/src/database/database.d.ts +66 -0
  7. package/backend/dist/cjs/{database → backend/src/database}/database.js +48 -43
  8. package/backend/dist/cjs/backend/src/database/filters/filters.d.ts +6 -0
  9. package/backend/dist/cjs/backend/src/database/filters/filters.js +15 -0
  10. package/backend/dist/cjs/backend/src/database/filters/strict_filter.d.ts +223 -0
  11. package/backend/dist/cjs/backend/src/database/filters/strict_filter.js +15 -0
  12. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.js +443 -0
  13. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.js +15 -0
  14. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  15. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.js +15 -0
  16. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  17. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.js +15 -0
  18. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  19. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.js +15 -0
  20. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  21. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.js +15 -0
  22. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  23. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.js +15 -0
  24. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  25. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.js +355 -0
  26. package/backend/dist/cjs/backend/src/database/flatten.d.ts +75 -0
  27. package/backend/dist/cjs/{logger.js → backend/src/database/flatten.js} +18 -7
  28. package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
  29. package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +461 -0
  30. package/backend/dist/cjs/backend/src/database/quota/quota.js +1014 -0
  31. package/backend/dist/cjs/backend/src/database/quota/quota_v1.d.ts +534 -0
  32. package/backend/dist/cjs/backend/src/database/quota/quota_v1.js +1087 -0
  33. package/backend/dist/cjs/backend/src/database/quota/safe_int.d.ts +293 -0
  34. package/backend/dist/cjs/backend/src/database/quota/safe_int.js +573 -0
  35. package/backend/dist/{esm → cjs/backend/src}/endpoint.d.ts +69 -46
  36. package/backend/dist/cjs/{endpoint.js → backend/src/endpoint.js} +87 -101
  37. package/backend/dist/cjs/backend/src/errors/index.d.ts +7 -0
  38. package/backend/dist/cjs/backend/src/errors/index.js +25 -0
  39. package/backend/dist/{esm/utils.d.ts → cjs/backend/src/errors/internal_external.d.ts} +14 -22
  40. package/backend/dist/cjs/backend/src/errors/internal_external.js +85 -0
  41. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +38 -0
  42. package/backend/dist/cjs/{mutex.js → backend/src/errors/invalid_usage_error.js} +20 -37
  43. package/backend/dist/cjs/backend/src/errors/system_error.d.ts +230 -0
  44. package/backend/dist/cjs/backend/src/errors/system_error.js +393 -0
  45. package/backend/dist/cjs/backend/src/events.d.ts +54 -0
  46. package/backend/dist/cjs/backend/src/events.js +15 -0
  47. package/backend/dist/cjs/{frontend.js → backend/src/frontend.js} +1 -1
  48. package/backend/dist/cjs/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
  49. package/backend/dist/cjs/{image_endpoint.js → backend/src/image_endpoint.js} +3 -5
  50. package/backend/dist/cjs/backend/src/logger.d.ts +5 -0
  51. package/backend/dist/cjs/backend/src/logger.js +15 -0
  52. package/backend/dist/cjs/backend/src/meta.d.ts +64 -0
  53. package/backend/dist/cjs/{meta.js → backend/src/meta.js} +9 -12
  54. package/backend/dist/cjs/backend/src/payments/paddle.d.ts +326 -0
  55. package/backend/dist/cjs/{payments → backend/src/payments}/paddle.js +377 -327
  56. package/backend/dist/cjs/backend/src/plugins/browser.d.ts +1 -0
  57. package/backend/dist/cjs/backend/src/plugins/browser.js +15 -0
  58. package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +248 -0
  59. package/backend/dist/cjs/backend/src/plugins/mail/mail.js +379 -0
  60. package/backend/dist/{esm → cjs/backend/src}/plugins/mail/ui.d.ts +23 -0
  61. package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
  62. package/backend/dist/cjs/backend/src/rate_limit.d.ts +145 -0
  63. package/backend/dist/cjs/backend/src/rate_limit.js +549 -0
  64. package/backend/dist/cjs/{route.d.ts → backend/src/route.d.ts} +3 -10
  65. package/backend/dist/cjs/{route.js → backend/src/route.js} +23 -21
  66. package/backend/dist/cjs/backend/src/server.d.ts +485 -0
  67. package/backend/dist/cjs/{server.js → backend/src/server.js} +688 -873
  68. package/backend/dist/cjs/backend/src/splash_screen.d.ts +80 -0
  69. package/backend/dist/cjs/{splash_screen.js → backend/src/splash_screen.js} +24 -3
  70. package/backend/dist/cjs/backend/src/status.d.ts +74 -0
  71. package/backend/dist/cjs/{status.js → backend/src/status.js} +64 -64
  72. package/backend/dist/cjs/backend/src/stream.d.ts +376 -0
  73. package/backend/dist/cjs/{stream.js → backend/src/stream.js} +299 -276
  74. package/backend/dist/cjs/backend/src/users.d.ts +807 -0
  75. package/backend/dist/cjs/backend/src/users.js +1971 -0
  76. package/backend/dist/cjs/backend/src/utils.d.ts +16 -0
  77. package/backend/dist/cjs/{utils.js → backend/src/utils.js} +14 -77
  78. package/backend/dist/{esm → cjs/backend/src}/view.d.ts +33 -11
  79. package/backend/dist/cjs/backend/src/view.js +508 -0
  80. package/backend/dist/{esm → cjs/backend/src}/volt.d.ts +10 -1
  81. package/backend/dist/cjs/{volt.js → backend/src/volt.js} +8 -5
  82. package/backend/dist/cjs/frontend/src/modules/request.d.ts +70 -0
  83. package/backend/dist/cjs/frontend/src/modules/request.js +99 -0
  84. package/backend/dist/esm/{blacklist.d.ts → backend/src/blacklist.d.ts} +5 -3
  85. package/backend/dist/esm/{blacklist.js → backend/src/blacklist.js} +9 -6
  86. package/backend/dist/esm/{cli.js → backend/src/cli.js} +43 -60
  87. package/backend/dist/esm/backend/src/database/collection.d.ts +1543 -0
  88. package/backend/dist/esm/backend/src/database/collection.js +3510 -0
  89. package/backend/dist/esm/backend/src/database/database.d.ts +66 -0
  90. package/backend/dist/esm/{database → backend/src/database}/database.js +62 -103
  91. package/backend/dist/esm/backend/src/database/document.d.ts +1 -0
  92. package/backend/dist/esm/backend/src/database/document.js +558 -0
  93. package/backend/dist/esm/backend/src/database/filters/filters.d.ts +6 -0
  94. package/backend/dist/esm/backend/src/database/filters/filters.js +1 -0
  95. package/backend/dist/esm/backend/src/database/filters/strict_filter.d.ts +223 -0
  96. package/backend/dist/esm/backend/src/database/filters/strict_filter.js +3 -0
  97. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  98. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.js +505 -0
  99. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  100. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.js +712 -0
  101. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  102. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.js +5 -0
  103. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  104. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.js +44 -0
  105. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  106. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.js +5 -0
  107. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  108. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.js +1 -0
  109. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  110. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.js +5 -0
  111. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  112. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.js +405 -0
  113. package/backend/dist/esm/backend/src/database/flatten.d.ts +75 -0
  114. package/backend/dist/esm/backend/src/database/flatten.js +22 -0
  115. package/backend/dist/esm/backend/src/database/flatten_test.d.ts +1 -0
  116. package/backend/dist/esm/backend/src/database/flatten_test.js +174 -0
  117. package/backend/dist/esm/backend/src/database/quota/quota.d.ts +461 -0
  118. package/backend/dist/esm/backend/src/database/quota/quota.js +1118 -0
  119. package/backend/dist/esm/backend/src/database/quota/quota_v1.d.ts +534 -0
  120. package/backend/dist/esm/backend/src/database/quota/quota_v1.js +1242 -0
  121. package/backend/dist/esm/backend/src/database/quota/safe_int.d.ts +293 -0
  122. package/backend/dist/esm/backend/src/database/quota/safe_int.js +602 -0
  123. package/backend/dist/{cjs → esm/backend/src}/endpoint.d.ts +69 -46
  124. package/backend/dist/esm/{endpoint.js → backend/src/endpoint.js} +136 -127
  125. package/backend/dist/esm/backend/src/errors/index.d.ts +7 -0
  126. package/backend/dist/esm/backend/src/errors/index.js +7 -0
  127. package/backend/dist/{cjs/utils.d.ts → esm/backend/src/errors/internal_external.d.ts} +14 -22
  128. package/backend/dist/esm/backend/src/errors/internal_external.js +70 -0
  129. package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +38 -0
  130. package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +30 -0
  131. package/backend/dist/esm/backend/src/errors/system_error.d.ts +230 -0
  132. package/backend/dist/esm/backend/src/errors/system_error.js +402 -0
  133. package/backend/dist/esm/backend/src/events.d.ts +54 -0
  134. package/backend/dist/esm/backend/src/events.js +5 -0
  135. package/backend/dist/esm/{frontend.js → backend/src/frontend.js} +1 -1
  136. package/backend/dist/esm/{image_endpoint.d.ts → backend/src/image_endpoint.d.ts} +16 -1
  137. package/backend/dist/esm/{image_endpoint.js → backend/src/image_endpoint.js} +16 -20
  138. package/backend/dist/esm/backend/src/logger.d.ts +5 -0
  139. package/backend/dist/esm/backend/src/logger.js +8 -0
  140. package/backend/dist/esm/backend/src/meta.d.ts +64 -0
  141. package/backend/dist/esm/{meta.js → backend/src/meta.js} +15 -54
  142. package/backend/dist/esm/backend/src/payments/paddle.d.ts +326 -0
  143. package/backend/dist/esm/{payments → backend/src/payments}/paddle.js +417 -452
  144. package/backend/dist/esm/backend/src/plugins/browser.d.ts +1 -0
  145. package/backend/dist/esm/backend/src/plugins/browser.js +170 -0
  146. package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +248 -0
  147. package/backend/dist/esm/backend/src/plugins/mail/mail.js +389 -0
  148. package/backend/dist/{cjs → esm/backend/src}/plugins/mail/ui.d.ts +23 -0
  149. package/backend/dist/esm/{plugins → backend/src/plugins}/mail/ui.js +3 -6
  150. package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
  151. package/backend/dist/esm/{plugins → backend/src/plugins}/pdf.js +3 -3
  152. package/backend/dist/esm/backend/src/rate_limit.d.ts +145 -0
  153. package/backend/dist/esm/backend/src/rate_limit.js +667 -0
  154. package/backend/dist/esm/{route.d.ts → backend/src/route.d.ts} +3 -10
  155. package/backend/dist/esm/{route.js → backend/src/route.js} +26 -21
  156. package/backend/dist/esm/backend/src/server.d.ts +485 -0
  157. package/backend/dist/esm/{server.js → backend/src/server.js} +891 -1441
  158. package/backend/dist/esm/backend/src/splash_screen.d.ts +80 -0
  159. package/backend/dist/esm/{splash_screen.js → backend/src/splash_screen.js} +42 -55
  160. package/backend/dist/esm/backend/src/status.d.ts +74 -0
  161. package/backend/dist/esm/backend/src/status.js +199 -0
  162. package/backend/dist/esm/backend/src/stream.d.ts +376 -0
  163. package/backend/dist/esm/{stream.js → backend/src/stream.js} +327 -292
  164. package/backend/dist/esm/backend/src/users.d.ts +809 -0
  165. package/backend/dist/esm/backend/src/users.js +2140 -0
  166. package/backend/dist/esm/backend/src/utils.d.ts +16 -0
  167. package/backend/dist/esm/{utils.js → backend/src/utils.js} +20 -81
  168. package/backend/dist/{cjs → esm/backend/src}/view.d.ts +33 -11
  169. package/backend/dist/esm/{view.js → backend/src/view.js} +266 -86
  170. package/backend/dist/{cjs → esm/backend/src}/volt.d.ts +10 -1
  171. package/backend/dist/esm/{volt.js → backend/src/volt.js} +7 -4
  172. package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
  173. package/backend/dist/esm/frontend/src/modules/request.js +117 -0
  174. package/frontend/dist/backend/src/database/collection.d.ts +1543 -0
  175. package/frontend/dist/backend/src/database/collection.js +3510 -0
  176. package/frontend/dist/backend/src/database/database.d.ts +66 -0
  177. package/frontend/dist/backend/src/database/database.js +196 -0
  178. package/frontend/dist/backend/src/database/filters/filters.d.ts +6 -0
  179. package/frontend/dist/backend/src/database/filters/filters.js +1 -0
  180. package/frontend/dist/backend/src/database/filters/strict_filter.d.ts +223 -0
  181. package/frontend/dist/backend/src/database/filters/strict_filter.js +3 -0
  182. package/frontend/dist/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  183. package/frontend/dist/backend/src/database/filters/strict_update_filter.js +5 -0
  184. package/frontend/dist/backend/src/database/flatten.d.ts +75 -0
  185. package/frontend/dist/backend/src/database/flatten.js +22 -0
  186. package/frontend/dist/backend/src/endpoint.d.ts +204 -0
  187. package/frontend/dist/backend/src/endpoint.js +570 -0
  188. package/frontend/dist/backend/src/errors/index.d.ts +7 -0
  189. package/frontend/dist/backend/src/errors/index.js +7 -0
  190. package/frontend/dist/backend/src/errors/internal_external.d.ts +38 -0
  191. package/frontend/dist/backend/src/errors/internal_external.js +70 -0
  192. package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +38 -0
  193. package/frontend/dist/backend/src/errors/invalid_usage_error.js +30 -0
  194. package/frontend/dist/backend/src/errors/system_error.d.ts +230 -0
  195. package/frontend/dist/backend/src/errors/system_error.js +402 -0
  196. package/frontend/dist/backend/src/events.d.ts +54 -0
  197. package/frontend/dist/backend/src/events.js +5 -0
  198. package/frontend/dist/backend/src/frontend.d.ts +11 -0
  199. package/frontend/dist/backend/src/frontend.js +12 -0
  200. package/frontend/dist/backend/src/image_endpoint.d.ts +39 -0
  201. package/frontend/dist/backend/src/image_endpoint.js +202 -0
  202. package/frontend/dist/backend/src/meta.d.ts +64 -0
  203. package/frontend/dist/backend/src/meta.js +110 -0
  204. package/frontend/dist/backend/src/payments/paddle.d.ts +326 -0
  205. package/frontend/dist/backend/src/payments/paddle.js +2256 -0
  206. package/frontend/dist/backend/src/plugins/mail/mail.d.ts +248 -0
  207. package/frontend/dist/backend/src/plugins/mail/mail.js +389 -0
  208. package/{backend/dist/esm/plugins/mail.d.ts → frontend/dist/backend/src/plugins/mail/ui.d.ts} +23 -0
  209. package/{backend/dist/esm/plugins/mail.js → frontend/dist/backend/src/plugins/mail/ui.js} +3 -6
  210. package/frontend/dist/backend/src/rate_limit.d.ts +145 -0
  211. package/frontend/dist/backend/src/rate_limit.js +673 -0
  212. package/frontend/dist/backend/src/route.d.ts +35 -0
  213. package/frontend/dist/backend/src/route.js +212 -0
  214. package/frontend/dist/backend/src/server.d.ts +485 -0
  215. package/frontend/dist/backend/src/server.js +2670 -0
  216. package/frontend/dist/backend/src/splash_screen.d.ts +80 -0
  217. package/frontend/dist/backend/src/splash_screen.js +135 -0
  218. package/frontend/dist/backend/src/status.d.ts +74 -0
  219. package/frontend/dist/backend/src/status.js +199 -0
  220. package/frontend/dist/backend/src/stream.d.ts +376 -0
  221. package/frontend/dist/backend/src/stream.js +1007 -0
  222. package/frontend/dist/backend/src/users.d.ts +807 -0
  223. package/frontend/dist/backend/src/users.js +2118 -0
  224. package/frontend/dist/backend/src/utils.d.ts +16 -0
  225. package/frontend/dist/backend/src/utils.js +241 -0
  226. package/frontend/dist/backend/src/view.d.ts +162 -0
  227. package/frontend/dist/backend/src/view.js +720 -0
  228. package/frontend/dist/frontend/src/elements/base.d.ts +4414 -0
  229. package/frontend/dist/{elements → frontend/src/elements}/base.js +3624 -260
  230. package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
  231. package/frontend/dist/{elements → frontend/src/elements}/module.js +53 -52
  232. package/frontend/dist/frontend/src/elements/types.d.ts +52 -0
  233. package/frontend/dist/frontend/src/elements/types.js +5 -0
  234. package/frontend/dist/frontend/src/modules/attachment.d.ts +126 -0
  235. package/frontend/dist/frontend/src/modules/attachment.js +306 -0
  236. package/frontend/dist/frontend/src/modules/auth.d.ts +44 -0
  237. package/frontend/dist/frontend/src/modules/auth.js +80 -0
  238. package/frontend/dist/{modules → frontend/src/modules}/color.js +2 -2
  239. package/frontend/dist/frontend/src/modules/compression.d.ts +39 -0
  240. package/frontend/dist/frontend/src/modules/compression.js +102 -0
  241. package/frontend/dist/frontend/src/modules/cookies.d.ts +44 -0
  242. package/frontend/dist/frontend/src/modules/cookies.js +143 -0
  243. package/frontend/dist/frontend/src/modules/events.d.ts +31 -0
  244. package/frontend/dist/frontend/src/modules/events.js +74 -0
  245. package/frontend/dist/frontend/src/modules/google.d.ts +23 -0
  246. package/frontend/dist/frontend/src/modules/google.js +52 -0
  247. package/frontend/dist/frontend/src/modules/meta.d.ts +14 -0
  248. package/frontend/dist/{modules → frontend/src/modules}/meta.js +9 -7
  249. package/frontend/dist/{modules → frontend/src/modules}/paddle.d.ts +37 -134
  250. package/frontend/dist/{modules → frontend/src/modules}/paddle.js +620 -568
  251. package/frontend/dist/frontend/src/modules/request.d.ts +70 -0
  252. package/frontend/dist/frontend/src/modules/request.js +117 -0
  253. package/frontend/dist/frontend/src/modules/settings.d.ts +3 -0
  254. package/frontend/dist/frontend/src/modules/settings.js +5 -0
  255. package/frontend/dist/frontend/src/modules/statics.d.ts +21 -0
  256. package/frontend/dist/{modules → frontend/src/modules}/statics.js +15 -18
  257. package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
  258. package/frontend/dist/frontend/src/modules/support.js +53 -0
  259. package/frontend/dist/{modules → frontend/src/modules}/theme.d.ts +67 -0
  260. package/frontend/dist/{modules → frontend/src/modules}/theme.js +68 -38
  261. package/frontend/dist/frontend/src/modules/themes.d.ts +12 -0
  262. package/frontend/dist/frontend/src/modules/themes.js +22 -0
  263. package/frontend/dist/frontend/src/modules/user.d.ts +164 -0
  264. package/frontend/dist/frontend/src/modules/user.js +268 -0
  265. package/frontend/dist/frontend/src/modules/utils.d.ts +176 -0
  266. package/frontend/dist/frontend/src/modules/utils.js +569 -0
  267. package/frontend/dist/frontend/src/types/gradient.d.ts +29 -0
  268. package/frontend/dist/{types → frontend/src/types}/gradient.js +14 -18
  269. package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
  270. package/frontend/dist/{ui → frontend/src/ui}/border_button.js +7 -13
  271. package/frontend/dist/frontend/src/ui/button.d.ts +28 -0
  272. package/frontend/dist/{ui → frontend/src/ui}/button.js +21 -12
  273. package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
  274. package/frontend/dist/{ui → frontend/src/ui}/canvas.js +88 -55
  275. package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
  276. package/frontend/dist/{ui → frontend/src/ui}/checkbox.js +80 -41
  277. package/frontend/dist/{ui → frontend/src/ui}/code.d.ts +73 -6
  278. package/frontend/dist/{ui → frontend/src/ui}/code.js +55 -52
  279. package/frontend/dist/{ui → frontend/src/ui}/context_menu.d.ts +4 -0
  280. package/frontend/dist/{ui → frontend/src/ui}/context_menu.js +12 -17
  281. package/frontend/dist/{ui → frontend/src/ui}/css.d.ts +4 -0
  282. package/frontend/dist/{ui → frontend/src/ui}/css.js +3 -3
  283. package/frontend/dist/{ui → frontend/src/ui}/divider.d.ts +4 -0
  284. package/frontend/dist/{ui → frontend/src/ui}/divider.js +3 -3
  285. package/frontend/dist/{ui → frontend/src/ui}/dropdown.d.ts +57 -2
  286. package/frontend/dist/{ui → frontend/src/ui}/dropdown.js +87 -94
  287. package/frontend/dist/{ui → frontend/src/ui}/for_each.d.ts +4 -0
  288. package/frontend/dist/{ui → frontend/src/ui}/for_each.js +3 -3
  289. package/frontend/dist/{ui → frontend/src/ui}/form.d.ts +6 -2
  290. package/frontend/dist/{ui → frontend/src/ui}/form.js +10 -7
  291. package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
  292. package/frontend/dist/{ui → frontend/src/ui}/frame_modes.js +16 -22
  293. package/frontend/dist/{ui → frontend/src/ui}/google_map.d.ts +4 -0
  294. package/frontend/dist/{ui → frontend/src/ui}/google_map.js +4 -4
  295. package/frontend/dist/{ui → frontend/src/ui}/gradient.d.ts +4 -0
  296. package/frontend/dist/{ui → frontend/src/ui}/gradient.js +3 -3
  297. package/frontend/dist/{ui → frontend/src/ui}/image.d.ts +4 -0
  298. package/frontend/dist/{ui → frontend/src/ui}/image.js +5 -5
  299. package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
  300. package/frontend/dist/{ui → frontend/src/ui}/input.js +346 -360
  301. package/frontend/dist/{ui → frontend/src/ui}/link.d.ts +4 -0
  302. package/frontend/dist/{ui → frontend/src/ui}/link.js +3 -3
  303. package/frontend/dist/{ui → frontend/src/ui}/list.d.ts +4 -0
  304. package/frontend/dist/{ui → frontend/src/ui}/list.js +12 -6
  305. package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
  306. package/frontend/dist/{ui → frontend/src/ui}/loader_button.js +35 -47
  307. package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
  308. package/frontend/dist/{ui → frontend/src/ui}/loaders.js +11 -11
  309. package/frontend/dist/{ui → frontend/src/ui}/popup.d.ts +11 -6
  310. package/frontend/dist/{ui → frontend/src/ui}/popup.js +32 -18
  311. package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
  312. package/frontend/dist/{ui → frontend/src/ui}/pseudo.js +84 -8
  313. package/frontend/dist/{ui → frontend/src/ui}/scroller.d.ts +14 -2
  314. package/frontend/dist/{ui → frontend/src/ui}/scroller.js +37 -43
  315. package/frontend/dist/{ui → frontend/src/ui}/slider.d.ts +5 -1
  316. package/frontend/dist/{ui → frontend/src/ui}/slider.js +4 -4
  317. package/frontend/dist/{ui → frontend/src/ui}/spacer.d.ts +4 -0
  318. package/frontend/dist/{ui → frontend/src/ui}/spacer.js +3 -3
  319. package/frontend/dist/{ui → frontend/src/ui}/span.d.ts +4 -0
  320. package/frontend/dist/{ui → frontend/src/ui}/span.js +3 -3
  321. package/frontend/dist/{ui → frontend/src/ui}/stack.d.ts +4 -0
  322. package/frontend/dist/{ui → frontend/src/ui}/stack.js +3 -9
  323. package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
  324. package/frontend/dist/{ui → frontend/src/ui}/steps.js +30 -45
  325. package/frontend/dist/{ui → frontend/src/ui}/style.d.ts +4 -0
  326. package/frontend/dist/{ui → frontend/src/ui}/style.js +3 -3
  327. package/frontend/dist/{ui → frontend/src/ui}/switch.d.ts +5 -1
  328. package/frontend/dist/{ui → frontend/src/ui}/switch.js +4 -4
  329. package/frontend/dist/{ui → frontend/src/ui}/table.d.ts +4 -0
  330. package/frontend/dist/{ui → frontend/src/ui}/table.js +6 -6
  331. package/frontend/dist/{ui → frontend/src/ui}/tabs.d.ts +45 -3
  332. package/frontend/dist/{ui → frontend/src/ui}/tabs.js +65 -40
  333. package/frontend/dist/{ui → frontend/src/ui}/text.d.ts +4 -0
  334. package/frontend/dist/{ui → frontend/src/ui}/text.js +3 -3
  335. package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
  336. package/frontend/dist/frontend/src/ui/title.js +272 -0
  337. package/frontend/dist/{ui → frontend/src/ui}/view.d.ts +4 -0
  338. package/frontend/dist/{ui → frontend/src/ui}/view.js +3 -3
  339. package/frontend/dist/{volt.d.ts → frontend/src/volt.d.ts} +3 -0
  340. package/frontend/dist/{volt.js → frontend/src/volt.js} +4 -0
  341. package/frontend/tools/bundle_d_ts.js +71 -0
  342. package/frontend/tools/convert_to_jsdoc_input.txt +9452 -0
  343. package/frontend/tools/convert_to_jsdoc_output.txt +7626 -0
  344. package/frontend/tools/convert_to_jsdoc_tmp.js +345 -0
  345. package/package.json +11 -12
  346. package/backend/dist/cjs/database/collection.d.ts +0 -160
  347. package/backend/dist/cjs/database/collection.js +0 -842
  348. package/backend/dist/cjs/database/database.d.ts +0 -121
  349. package/backend/dist/cjs/database/document.d.ts +0 -131
  350. package/backend/dist/cjs/database/document.js +0 -224
  351. package/backend/dist/cjs/database.d.ts +0 -502
  352. package/backend/dist/cjs/database.js +0 -2248
  353. package/backend/dist/cjs/logger.d.ts +0 -3
  354. package/backend/dist/cjs/meta.d.ts +0 -50
  355. package/backend/dist/cjs/mutex.d.ts +0 -24
  356. package/backend/dist/cjs/payments/paddle.d.ts +0 -160
  357. package/backend/dist/cjs/plugins/browser.d.ts +0 -36
  358. package/backend/dist/cjs/plugins/browser.js +0 -198
  359. package/backend/dist/cjs/plugins/css.d.ts +0 -11
  360. package/backend/dist/cjs/plugins/css.js +0 -80
  361. package/backend/dist/cjs/plugins/mail.d.ts +0 -277
  362. package/backend/dist/cjs/plugins/mail.js +0 -1370
  363. package/backend/dist/cjs/plugins/ts/compiler.d.ts +0 -139
  364. package/backend/dist/cjs/plugins/ts/compiler.js +0 -750
  365. package/backend/dist/cjs/plugins/ts/preprocessing.d.ts +0 -14
  366. package/backend/dist/cjs/plugins/ts/preprocessing.js +0 -440
  367. package/backend/dist/cjs/rate_limit.d.ts +0 -63
  368. package/backend/dist/cjs/rate_limit.js +0 -348
  369. package/backend/dist/cjs/request.deprc.d.ts +0 -48
  370. package/backend/dist/cjs/request.deprc.js +0 -572
  371. package/backend/dist/cjs/response.deprc.d.ts +0 -55
  372. package/backend/dist/cjs/response.deprc.js +0 -275
  373. package/backend/dist/cjs/server.d.ts +0 -342
  374. package/backend/dist/cjs/splash_screen.d.ts +0 -35
  375. package/backend/dist/cjs/status.d.ts +0 -61
  376. package/backend/dist/cjs/stream.d.ts +0 -79
  377. package/backend/dist/cjs/users.d.ts +0 -111
  378. package/backend/dist/cjs/users.js +0 -1817
  379. package/backend/dist/cjs/view.js +0 -352
  380. package/backend/dist/cjs/vinc.dev.d.ts +0 -3
  381. package/backend/dist/cjs/vinc.dev.js +0 -7
  382. package/backend/dist/css/adyen.css +0 -92
  383. package/backend/dist/css/volt.css +0 -70
  384. package/backend/dist/esm/database/collection.d.ts +0 -160
  385. package/backend/dist/esm/database/collection.js +0 -1328
  386. package/backend/dist/esm/database/database.d.ts +0 -121
  387. package/backend/dist/esm/database/document.d.ts +0 -131
  388. package/backend/dist/esm/database/document.js +0 -247
  389. package/backend/dist/esm/database.d.ts +0 -502
  390. package/backend/dist/esm/database.js +0 -2423
  391. package/backend/dist/esm/file_watcher.js +0 -329
  392. package/backend/dist/esm/logger.d.ts +0 -3
  393. package/backend/dist/esm/logger.js +0 -11
  394. package/backend/dist/esm/meta.d.ts +0 -50
  395. package/backend/dist/esm/mutex.d.ts +0 -24
  396. package/backend/dist/esm/mutex.js +0 -48
  397. package/backend/dist/esm/payments/paddle.d.ts +0 -160
  398. package/backend/dist/esm/plugins/browser.d.ts +0 -36
  399. package/backend/dist/esm/plugins/browser.js +0 -176
  400. package/backend/dist/esm/plugins/css.d.ts +0 -11
  401. package/backend/dist/esm/plugins/css.js +0 -90
  402. package/backend/dist/esm/plugins/ts/compiler.d.ts +0 -139
  403. package/backend/dist/esm/plugins/ts/compiler.js +0 -1194
  404. package/backend/dist/esm/plugins/ts/preprocessing.d.ts +0 -14
  405. package/backend/dist/esm/plugins/ts/preprocessing.js +0 -726
  406. package/backend/dist/esm/rate_limit.d.ts +0 -63
  407. package/backend/dist/esm/rate_limit.js +0 -417
  408. package/backend/dist/esm/request.deprc.d.ts +0 -48
  409. package/backend/dist/esm/request.deprc.js +0 -572
  410. package/backend/dist/esm/response.deprc.d.ts +0 -55
  411. package/backend/dist/esm/response.deprc.js +0 -275
  412. package/backend/dist/esm/server.d.ts +0 -342
  413. package/backend/dist/esm/splash_screen.d.ts +0 -35
  414. package/backend/dist/esm/status.d.ts +0 -61
  415. package/backend/dist/esm/status.js +0 -197
  416. package/backend/dist/esm/stream.d.ts +0 -79
  417. package/backend/dist/esm/users.d.ts +0 -111
  418. package/backend/dist/esm/users.js +0 -1935
  419. package/backend/dist/esm/vinc.dev.d.ts +0 -3
  420. package/backend/dist/esm/vinc.dev.js +0 -7
  421. package/frontend/dist/elements/base.d.ts +0 -9889
  422. package/frontend/dist/elements/module.d.ts +0 -30
  423. package/frontend/dist/modules/array.d.ts +0 -94
  424. package/frontend/dist/modules/array.js +0 -634
  425. package/frontend/dist/modules/auth.d.ts +0 -46
  426. package/frontend/dist/modules/auth.js +0 -139
  427. package/frontend/dist/modules/colors.d.ts +0 -1
  428. package/frontend/dist/modules/colors.js +0 -417
  429. package/frontend/dist/modules/compression.d.ts +0 -6
  430. package/frontend/dist/modules/compression.js +0 -999
  431. package/frontend/dist/modules/cookies.d.ts +0 -18
  432. package/frontend/dist/modules/cookies.js +0 -167
  433. package/frontend/dist/modules/date.d.ts +0 -142
  434. package/frontend/dist/modules/date.js +0 -493
  435. package/frontend/dist/modules/events.d.ts +0 -8
  436. package/frontend/dist/modules/events.js +0 -91
  437. package/frontend/dist/modules/google.d.ts +0 -11
  438. package/frontend/dist/modules/google.js +0 -54
  439. package/frontend/dist/modules/meta.d.ts +0 -10
  440. package/frontend/dist/modules/mutex.d.ts +0 -7
  441. package/frontend/dist/modules/mutex.js +0 -51
  442. package/frontend/dist/modules/number.d.ts +0 -16
  443. package/frontend/dist/modules/number.js +0 -23
  444. package/frontend/dist/modules/object.d.ts +0 -52
  445. package/frontend/dist/modules/object.js +0 -383
  446. package/frontend/dist/modules/scheme.d.ts +0 -227
  447. package/frontend/dist/modules/scheme.js +0 -531
  448. package/frontend/dist/modules/settings.d.ts +0 -3
  449. package/frontend/dist/modules/settings.js +0 -4
  450. package/frontend/dist/modules/statics.d.ts +0 -5
  451. package/frontend/dist/modules/string.d.ts +0 -124
  452. package/frontend/dist/modules/string.js +0 -745
  453. package/frontend/dist/modules/support.d.ts +0 -19
  454. package/frontend/dist/modules/support.js +0 -103
  455. package/frontend/dist/modules/themes.d.ts +0 -8
  456. package/frontend/dist/modules/themes.js +0 -18
  457. package/frontend/dist/modules/user.d.ts +0 -59
  458. package/frontend/dist/modules/user.js +0 -280
  459. package/frontend/dist/modules/utils.d.ts +0 -87
  460. package/frontend/dist/modules/utils.js +0 -923
  461. package/frontend/dist/types/gradient.d.ts +0 -12
  462. package/frontend/dist/ui/border_button.d.ts +0 -152
  463. package/frontend/dist/ui/button.d.ts +0 -21
  464. package/frontend/dist/ui/canvas.d.ts +0 -56
  465. package/frontend/dist/ui/checkbox.d.ts +0 -52
  466. package/frontend/dist/ui/frame_modes.d.ts +0 -25
  467. package/frontend/dist/ui/input.d.ts +0 -241
  468. package/frontend/dist/ui/loader_button.d.ts +0 -93
  469. package/frontend/dist/ui/loaders.d.ts +0 -57
  470. package/frontend/dist/ui/pseudo.d.ts +0 -16
  471. package/frontend/dist/ui/steps.d.ts +0 -59
  472. package/frontend/dist/ui/title.d.ts +0 -21
  473. package/frontend/dist/ui/title.js +0 -121
  474. package/frontend/examples/dashboard/dashboard.ts +0 -776
  475. /package/backend/dist/cjs/{cli.d.ts → backend/src/cli.d.ts} +0 -0
  476. /package/backend/dist/cjs/{file_watcher.d.ts → backend/src/database/document.d.ts} +0 -0
  477. /package/backend/dist/cjs/{file_watcher.js → backend/src/database/document.js} +0 -0
  478. /package/backend/dist/cjs/{plugins/pdf.d.ts → backend/src/database/filters/strict_filter_test.d.ts} +0 -0
  479. /package/backend/dist/{esm/file_watcher.d.ts → cjs/backend/src/database/filters/strict_filter_test_v0.d.ts} +0 -0
  480. /package/backend/dist/{esm/plugins/pdf.d.ts → cjs/backend/src/database/flatten_test.d.ts} +0 -0
  481. /package/backend/dist/cjs/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
  482. /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.d.ts +0 -0
  483. /package/backend/dist/cjs/{plugins → backend/src/plugins}/communication.js +0 -0
  484. /package/backend/dist/cjs/{plugins → backend/src/plugins}/mail/ui.js +0 -0
  485. /package/backend/dist/cjs/{plugins → backend/src/plugins}/pdf.js +0 -0
  486. /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
  487. /package/backend/dist/cjs/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
  488. /package/backend/dist/cjs/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
  489. /package/backend/dist/cjs/{vinc.js → backend/src/vinc.js} +0 -0
  490. /package/backend/dist/esm/{cli.d.ts → backend/src/cli.d.ts} +0 -0
  491. /package/backend/dist/esm/{frontend.d.ts → backend/src/frontend.d.ts} +0 -0
  492. /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.d.ts +0 -0
  493. /package/backend/dist/esm/{plugins → backend/src/plugins}/communication.js +0 -0
  494. /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.d.ts +0 -0
  495. /package/backend/dist/esm/{plugins → backend/src/plugins}/thread_monitor.js +0 -0
  496. /package/backend/dist/esm/{vinc.d.ts → backend/src/vinc.d.ts} +0 -0
  497. /package/backend/dist/esm/{vinc.js → backend/src/vinc.js} +0 -0
  498. /package/frontend/dist/{elements → frontend/src/elements}/register_element.d.ts +0 -0
  499. /package/frontend/dist/{elements → frontend/src/elements}/register_element.js +0 -0
  500. /package/frontend/dist/{modules → frontend/src/modules}/color.d.ts +0 -0
  501. /package/frontend/dist/{ui → frontend/src/ui}/ui.d.ts +0 -0
  502. /package/frontend/dist/{ui → frontend/src/ui}/ui.js +0 -0
@@ -0,0 +1,393 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var stdin_exports = {};
29
+ __export(stdin_exports, {
30
+ SystemError: () => SystemError
31
+ });
32
+ module.exports = __toCommonJS(stdin_exports);
33
+ var vlib = __toESM(require("@vandenberghinc/vlib"));
34
+ class SystemError extends Error {
35
+ /**
36
+ * The default logger to dump messages to.
37
+ * This can either be `console` or a custom logger such as `FileLogger`.
38
+ *
39
+ * This logger is shared across all system errors,
40
+ * unless a specific logger is passed to the {@link SystemError.Opts} constructor options.
41
+ */
42
+ static logger = console;
43
+ /**
44
+ * The default collection to save the error to.
45
+ *
46
+ * This collection is shared across all system errors,
47
+ * unless a specific collection is passed to the {@link SystemError.Opts} constructor options.
48
+ *
49
+ * @warning
50
+ * If both {@link SystemError.collection} and field {@link SystemError.Opts.collection} are undefined,
51
+ * the error will not be saved to the database.
52
+ *
53
+ * @note Ensure a database index is created for field `id`.
54
+ */
55
+ static collection;
56
+ /**
57
+ * Set a collection that will be used as default to save system errors to.
58
+ *
59
+ * @param collection The collection options to use.
60
+ */
61
+ static set_collection(opts) {
62
+ SystemError.collection = opts.server.db.collection({
63
+ name: opts.name,
64
+ ttl: opts.ttl,
65
+ indexes: [
66
+ { keys: { id: 1 }, unique: true, forced: true }
67
+ ],
68
+ record_version: 1
69
+ });
70
+ }
71
+ /**
72
+ * The generated identifier length (characters) for error IDs.
73
+ * Defaults to 256 to preserve existing behavior; tune per database constraints.
74
+ */
75
+ static id_length = 256;
76
+ /**
77
+ * The maximum length for the stringified {@link SystemError.details} field when saved to the database collection as a string.
78
+ * The `details` field is stringified when it (a) contains cycles or non-plain structures, or (b) its full JSON size exceeds
79
+ * {@link SystemError.max_details_length}. Otherwise, the redacted plain object/array is stored.
80
+ */
81
+ static max_details_length = 1e4;
82
+ /**
83
+ * A unique id for this error instance.
84
+ * Unique to this system error instance.
85
+ */
86
+ id;
87
+ /** The attached message. */
88
+ message;
89
+ /** The attached details. */
90
+ details;
91
+ /** A nested error cause. */
92
+ cause;
93
+ /** The collection to save the error to. */
94
+ collection;
95
+ /**
96
+ * The logger to dump messages to.
97
+ * Defaults to static attribute {@link SystemError.logger}.
98
+ */
99
+ logger;
100
+ /**
101
+ * An optional owner field.
102
+ * For instance system errors saved by the {@link QuotaManager} have an owner of `volt.QuotaManager`.
103
+ */
104
+ owner;
105
+ /** The creation timestamp in milliseconds since Unix epoch. */
106
+ timestamp;
107
+ /** The captured stacktrace of the creation of the system error. */
108
+ trace;
109
+ /** A cache for the result of format({ colored: true }). */
110
+ _format_colored;
111
+ /** A cache for the result of format({ colored: false }). */
112
+ _format_non_colored;
113
+ /**
114
+ * Private constructor.
115
+ * Use {@link SystemError.create} or {@link SystemError.create_detach} to create a new system error.
116
+ */
117
+ constructor(opts) {
118
+ super(opts.message);
119
+ Object.setPrototypeOf(this, new.target.prototype);
120
+ this.message = opts.message;
121
+ this.details = opts.details;
122
+ this.collection = opts.collection ?? SystemError.collection;
123
+ this.logger = opts.logger ?? SystemError.logger;
124
+ this.owner = opts.owner;
125
+ if (opts.cause) {
126
+ Object.defineProperty(this, "cause", {
127
+ value: opts.cause,
128
+ enumerable: false,
129
+ configurable: true,
130
+ writable: true
131
+ });
132
+ }
133
+ this.id = vlib.String.random(SystemError.id_length, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
134
+ this.name = "SystemError";
135
+ this.timestamp = Date.now();
136
+ const holder = { name: "X", message: "Y" };
137
+ let prev_limit;
138
+ try {
139
+ const has_capture = typeof Error.captureStackTrace === "function";
140
+ const has_limit = typeof Error.stackTraceLimit === "number";
141
+ if (has_limit) {
142
+ prev_limit = Error.stackTraceLimit;
143
+ Error.stackTraceLimit = 35;
144
+ }
145
+ if (has_capture) {
146
+ Error.captureStackTrace(holder, this.constructor);
147
+ } else {
148
+ holder.stack = this.stack;
149
+ }
150
+ } finally {
151
+ if (typeof prev_limit === "number") {
152
+ Error.stackTraceLimit = prev_limit;
153
+ }
154
+ }
155
+ this.trace = (holder.stack || "").split("\n").slice(1).map((line) => line.trim());
156
+ }
157
+ /** Construct a system error & save it to the database. */
158
+ static async create(opts) {
159
+ const error = new SystemError(opts);
160
+ error.logger.error(error.format({ colored: false }));
161
+ if (error.collection) {
162
+ await error.collection.set({ id: error.id }, error.document(), { retry: 25 });
163
+ }
164
+ return error;
165
+ }
166
+ /**
167
+ * Construct a system error & save it to the database.
168
+ * This is a synchronous version of the create method.
169
+ * Beware that this does not join the async save operation,
170
+ * Instead it detaches and catches and logs any errors that occur during saving
171
+ */
172
+ static create_detach(opts) {
173
+ const error = new SystemError(opts);
174
+ error.logger.error(error.format({ colored: false }));
175
+ if (error.collection) {
176
+ void error.collection.set({ id: error.id }, error.document(), { retry: 25 }).catch((e) => {
177
+ try {
178
+ error.logger.error(`Failed to save system error to database: ${e instanceof Error ? e.message : String(e)}
179
+ ` + error.format({ colored: false }));
180
+ } catch (_) {
181
+ }
182
+ });
183
+ }
184
+ return error;
185
+ }
186
+ /**
187
+ * Get the error as a database document.
188
+ *
189
+ * @returns A plain object representing the system error for database storage.
190
+ */
191
+ document() {
192
+ const doc = {
193
+ id: this.id,
194
+ message: this.message,
195
+ timestamp: this.timestamp,
196
+ trace: this.trace,
197
+ stack: this.stack,
198
+ format: vlib.String.truncate(this.format({ colored: false }), 1e4)
199
+ };
200
+ if (this.details) {
201
+ try {
202
+ doc.details = this.prepare_details_for_db();
203
+ } catch (e) {
204
+ doc.details = `Encountered an error while processing details: ${e instanceof Error ? e.message : String(e)}`;
205
+ }
206
+ }
207
+ if (this.owner != null) {
208
+ doc.owner = this.owner;
209
+ }
210
+ if (this.cause) {
211
+ doc.error = {
212
+ name: this.cause.name,
213
+ message: this.cause.message,
214
+ stack: this.cause.stack
215
+ };
216
+ }
217
+ return doc;
218
+ }
219
+ /**
220
+ * Format the error as a string.
221
+ * @param colored Present the formatted error with colors to make it more visually pleasing.
222
+ * Defaults to `false`.
223
+ * @returns A string representation of the system error.
224
+ */
225
+ format({ colored = false } = {}) {
226
+ if (colored && this._format_colored)
227
+ return this._format_colored;
228
+ else if (!colored && this._format_non_colored)
229
+ return this._format_non_colored;
230
+ try {
231
+ const green = (m) => colored ? vlib.Color.green(m) : m;
232
+ const lines = [
233
+ `SystemError: ${this.message}`
234
+ ];
235
+ if (this.trace) {
236
+ lines.push(...this.trace.map((l) => ` ${l}`));
237
+ }
238
+ lines.push(` error_id: ${green('"' + this.id + '"')}`);
239
+ if (this.owner != null) {
240
+ lines.push(` owner: ${green('"' + this.owner + '"')}`);
241
+ }
242
+ let details;
243
+ try {
244
+ details = vlib.Object.stringify(this.redact_secrets(this.details), {
245
+ indent: 2,
246
+ start_indent: 1,
247
+ colored,
248
+ max_length: 1e3
249
+ });
250
+ } catch (e) {
251
+ details = `Encountered an error while processing details: ${e instanceof Error ? e.message : String(e)}`;
252
+ }
253
+ lines.push(` created_at: ${green('"' + new Date(this.timestamp).toISOString() + '"')}`, ` details: ${details}`);
254
+ if (this.cause) {
255
+ lines.push(` nested error:`, ...(this.cause?.stack ?? this.cause.toString()).split("\n").map((line) => ` ${line.trim()}`));
256
+ }
257
+ if (colored) {
258
+ return this._format_colored = lines.join("\n");
259
+ } else {
260
+ return this._format_non_colored = lines.join("\n");
261
+ }
262
+ } catch (e) {
263
+ return `Encountered an error while formatting the system error: ${e instanceof Error ? e.message : String(e)}`;
264
+ }
265
+ }
266
+ /**
267
+ * Convert the error to a string without ANSI colors to avoid leaking escape codes into sinks
268
+ * (e.g., files, JSON logs) that assume plain text.
269
+ * @returns Non-colored string representation of the error.
270
+ */
271
+ toString() {
272
+ return this.format({ colored: false });
273
+ }
274
+ // ----------------------------------------------------------
275
+ // Private methods.
276
+ /**
277
+ * Detect a plain object (no custom prototype, not an array).
278
+ * @param v - The value to test.
279
+ */
280
+ is_plain_object(v) {
281
+ if (v === null || typeof v !== "object" || Array.isArray(v))
282
+ return false;
283
+ const proto = Object.getPrototypeOf(v);
284
+ return proto === Object.prototype || proto === null;
285
+ }
286
+ /**
287
+ * Inspect and prepare the details for safe storage in `SystemError.Document.details`.
288
+ *
289
+ * @returns
290
+ * - `undefined` if no details were defined.
291
+ * - A string if (a) the value contains circular references, (b) it is not a plain object / array,
292
+ * or (c) the full stringified representation exceeds {@link SystemError.max_details_length}.
293
+ * - Otherwise, the redacted raw object is returned.
294
+ */
295
+ prepare_details_for_db() {
296
+ if (!this.details)
297
+ return void 0;
298
+ const is_json_safe = (val, in_path = /* @__PURE__ */ new WeakSet()) => {
299
+ if (val == null)
300
+ return true;
301
+ const t = typeof val;
302
+ if (t === "undefined" || t === "boolean" || t === "number" || t === "string")
303
+ return true;
304
+ if (t === "function" || t === "symbol" || t === "bigint")
305
+ return false;
306
+ if (val instanceof String || val instanceof Date)
307
+ return true;
308
+ if (typeof val === "object") {
309
+ const obj = val;
310
+ if (in_path.has(obj))
311
+ return false;
312
+ in_path.add(obj);
313
+ if (Array.isArray(obj)) {
314
+ for (const item of obj) {
315
+ if (!is_json_safe(item, in_path)) {
316
+ in_path.delete(obj);
317
+ return false;
318
+ }
319
+ }
320
+ in_path.delete(obj);
321
+ return true;
322
+ }
323
+ if (this.is_plain_object(obj)) {
324
+ for (const v of Object.values(obj)) {
325
+ if (!is_json_safe(v, in_path)) {
326
+ in_path.delete(obj);
327
+ return false;
328
+ }
329
+ }
330
+ in_path.delete(obj);
331
+ return true;
332
+ }
333
+ in_path.delete(obj);
334
+ return false;
335
+ }
336
+ return false;
337
+ };
338
+ const redacted = this.redact_secrets(this.details);
339
+ if (!is_json_safe(redacted)) {
340
+ return vlib.Object.stringify(redacted, {
341
+ colored: false,
342
+ max_length: SystemError.max_details_length
343
+ });
344
+ }
345
+ let full_string;
346
+ try {
347
+ full_string = JSON.stringify(redacted);
348
+ } catch (_) {
349
+ full_string = vlib.Object.stringify(redacted, { colored: false });
350
+ }
351
+ if (full_string.length > SystemError.max_details_length) {
352
+ return vlib.String.truncate(full_string, SystemError.max_details_length);
353
+ }
354
+ return redacted;
355
+ }
356
+ /**
357
+ * Deep-clone arrays/plain objects and redact sensitive keys (best-effort).
358
+ * Does not mutate the source object.
359
+ * Uses a null-prototype object & explicit property definitions to prevent prototype pollution via magic keys.
360
+ * @param input - The value to clone & redact.
361
+ * @returns A redacted deep clone of the input.
362
+ */
363
+ redact_secrets(input) {
364
+ const sensitive = /^(password|pass|secret|api[_-]?key|token|access[_-]?token|refresh[_-]?token|authorization|auth|cookie|session|private[_-]?key|client[_-]?secret)$/i;
365
+ const define_plain = (obj, key, value) => {
366
+ Object.defineProperty(obj, key, { value, enumerable: true, writable: true, configurable: true });
367
+ };
368
+ const clone = (val) => {
369
+ if (val == null)
370
+ return val;
371
+ if (Array.isArray(val))
372
+ return val.map(clone);
373
+ if (this.is_plain_object(val)) {
374
+ const out = /* @__PURE__ */ Object.create(null);
375
+ for (const [k, v] of Object.entries(val)) {
376
+ if (sensitive.test(k)) {
377
+ define_plain(out, k, "[REDACTED]");
378
+ } else {
379
+ define_plain(out, k, clone(v));
380
+ }
381
+ }
382
+ return out;
383
+ }
384
+ return val;
385
+ };
386
+ return clone(input);
387
+ }
388
+ }
389
+ ;
390
+ // Annotate the CommonJS export names for ESM import in node:
391
+ 0 && (module.exports = {
392
+ SystemError
393
+ });
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh.
4
+ */
5
+ import * as vlib from "@vandenberghinc/vlib";
6
+ import { User } from "./users.js";
7
+ /** All events and their callback types. */
8
+ export type Events = {
9
+ /**
10
+ * Add an (async) callback executed at the end of `server.start()`. The callback may take arguments `({forked <boolean>})`.
11
+ * @example
12
+ * ...
13
+ * server.on("start", opts => console.log("Hello World!"));
14
+ */
15
+ start: (opts: {
16
+ forked: boolean;
17
+ }) => void | Promise<void>;
18
+ /**
19
+ * Set an (async) callback which will be executed at the start of `server.stop()`.
20
+ * @example
21
+ * ...
22
+ * server.on("stop", () => console.log("Hello World!"));
23
+ */
24
+ stop: () => void | Promise<void>;
25
+ /**
26
+ * Set an (async) callback which will be executed at the start of `server.initialize()`.
27
+ * @example
28
+ * ...
29
+ * server.on("initialize", () => console.log("Hello World!"));
30
+ */
31
+ initialize: () => void | Promise<void>;
32
+ /**
33
+ * This callback is executed when a user is created.
34
+ * @note Errors thrown in this callback will be logged but ignored.
35
+ */
36
+ create_user: (opts: {
37
+ user: User;
38
+ }) => void | Promise<void>;
39
+ /**
40
+ * This callback is executed when a user is deleted.
41
+ * @note Errors thrown in this callback will be logged but ignored.
42
+ */
43
+ delete_user: (opts: {
44
+ user: User;
45
+ }) => void | Promise<void>;
46
+ };
47
+ /** Event name. */
48
+ export type EventName = vlib.EventName<Events>;
49
+ /** Event callback. */
50
+ export type EventCallback<N extends EventName> = vlib.EventCallback<Events, N>;
51
+ /** Event parameters. */
52
+ export type EventParams<N extends EventName> = vlib.EventParams<Events, N>;
53
+ /** Event result type. */
54
+ export type EventResult<N extends EventName> = vlib.EventResult<Events, N>;
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var stdin_exports = {};
15
+ module.exports = __toCommonJS(stdin_exports);
@@ -27,7 +27,7 @@ const Frontend = {
27
27
  /** CSS exports. */
28
28
  css: {
29
29
  /** The default volt css export. */
30
- volt: __dirname + "/../../../frontend/src/css/volt.css"
30
+ volt: __dirname + "/../../../../../frontend/src/css/volt.css"
31
31
  }
32
32
  };
33
33
  var stdin_default = Frontend;
@@ -1,6 +1,21 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
4
+ */
1
5
  import * as vlib from "@vandenberghinc/vlib";
2
6
  import { Endpoint } from "./endpoint.js";
3
7
  import { RateLimitGroup } from "./rate_limit.js";
8
+ /**
9
+ * All static images are served through the `ImageEndpoint`.
10
+ *
11
+ * The image endpoint accepts three optional query parameters when retrieving the image to transform the image.
12
+ * - `type` string: The input type.
13
+ * - `width` number: The height of the image as a number `100` or percentage `50%` / `0.5x`. The aspect ratio will be maintained when `height` is undefined.
14
+ * - `height` number: The width of the image as a number `100` or percentage `50%` / `0.5x`. The aspect ratio will be maintained when `width` is undefined.
15
+ * - `aspect_ratio` boolean: Maintain the aspect ratio when only one resizing dimension has been defined.
16
+ * @docs
17
+ * @nav Backend/Endpoints
18
+ */
4
19
  declare class ImageEndpoint extends Endpoint implements Endpoint {
5
20
  static cache_in_memory: boolean;
6
21
  static supported_images: string[];
@@ -19,6 +34,6 @@ declare class ImageEndpoint extends Endpoint implements Endpoint {
19
34
  });
20
35
  transform(type?: string | null, width?: number | string | null, height?: number | string | null, aspect_ratio?: string | boolean | null): Promise<Buffer>;
21
36
  get_aspect_ratio(): Promise<string | null>;
22
- _clear_cache(): void;
37
+ private _clear_cache;
23
38
  }
24
39
  export { ImageEndpoint };
@@ -32,8 +32,6 @@ __export(stdin_exports, {
32
32
  module.exports = __toCommonJS(stdin_exports);
33
33
  var import_sharp = __toESM(require("sharp"));
34
34
  var import_endpoint = require("./endpoint.js");
35
- var import_logger = require("./logger.js");
36
- const { log, error } = import_logger.logger;
37
35
  class ImageEndpoint extends import_endpoint.Endpoint {
38
36
  // Cache the original and transformed image data in memory.
39
37
  static cache_in_memory = false;
@@ -69,7 +67,7 @@ class ImageEndpoint extends import_endpoint.Endpoint {
69
67
  "aspect_ratio": { type: "string", default: null }
70
68
  },
71
69
  rate_limit,
72
- _static_path: path.str(),
70
+ file_path: path,
73
71
  _is_static
74
72
  });
75
73
  this.i_path = path.abs();
@@ -175,10 +173,10 @@ class ImageEndpoint extends import_endpoint.Endpoint {
175
173
  // Get aspect ratio.
176
174
  async get_aspect_ratio() {
177
175
  try {
178
- const metadata = await (0, import_sharp.default)(this._static_path).metadata();
176
+ const metadata = await (0, import_sharp.default)(this.file_path?.str()).metadata();
179
177
  return `${metadata.width} / ${metadata.height}`;
180
178
  } catch (err) {
181
- error(`Unable to determine the aspect ratio of image ${this._static_path}: `, err);
179
+ this.server?.log.error(`Unable to determine the aspect ratio of image ${this.file_path}: `, err);
182
180
  return null;
183
181
  }
184
182
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
4
+ */
5
+ export {};
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var stdin_exports = {};
15
+ module.exports = __toCommonJS(stdin_exports);
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
4
+ */
5
+ /** Nested types for the {@link Meta} class. */
6
+ export declare namespace Meta {
7
+ /** Constructor options. */
8
+ interface Opts {
9
+ /** The author's name. */
10
+ author?: string;
11
+ /** The page's title. */
12
+ title?: string;
13
+ /** The page's description. */
14
+ description?: string;
15
+ /** The page's image source. */
16
+ image?: string;
17
+ /** The robots rules. */
18
+ robots?: string;
19
+ /** The used charset. */
20
+ charset?: string;
21
+ /** The viewport settings. */
22
+ viewport?: string;
23
+ /** The url to the favicon. */
24
+ favicon?: string;
25
+ }
26
+ }
27
+ /**
28
+ * The js view meta information class.
29
+ * @nav: Backend/Endpoints
30
+ */
31
+ export declare class Meta {
32
+ author?: string;
33
+ title?: string;
34
+ description?: string;
35
+ image?: string;
36
+ robots: string;
37
+ charset: string;
38
+ viewport: string;
39
+ favicon: string;
40
+ constructor({ author, title, description, image, robots, charset, viewport, favicon, }?: Meta.Opts);
41
+ /**
42
+ * Create a copy of the current meta object without any references.
43
+ * @param override - The <Type>Meta</Type> constructor arguments to override.
44
+ * @docs
45
+ */
46
+ copy(override?: Partial<Meta.Opts>): Meta;
47
+ /**
48
+ * Set value funcs that return the current object.
49
+ * @return: Returns the current <Type>Meta</Type> object.
50
+ * @funcs 8
51
+ * @docs
52
+ */
53
+ set_author(value: string | undefined): this;
54
+ set_title(value: string | undefined): this;
55
+ set_description(value: string | undefined): this;
56
+ set_image(value: string | undefined): this;
57
+ set_robots(value: string): this;
58
+ set_charset(value: string): this;
59
+ set_viewport(value: string): this;
60
+ set_favicon(value: string): this;
61
+ obj(): Meta.Opts;
62
+ build_html(domain?: string | null): string;
63
+ }
64
+ export default Meta;
@@ -30,7 +30,7 @@ class Meta {
30
30
  charset;
31
31
  viewport;
32
32
  favicon;
33
- constructor({ author = null, title = null, description = null, image = null, robots = "index, follow", charset = "UTF-8", viewport = "width=device-width, initial-scale=1", favicon = "/favicon.ico" } = {}) {
33
+ constructor({ author, title, description, image, robots = "index, follow", charset = "UTF-8", viewport = "width=device-width, initial-scale=1", favicon = "/favicon.ico" } = {}) {
34
34
  this.author = author;
35
35
  this.title = title;
36
36
  this.description = description;
@@ -41,12 +41,10 @@ class Meta {
41
41
  this.favicon = favicon;
42
42
  }
43
43
  // Copy.
44
- /* @docs:
45
- @title: Copy
46
- @description: Create a copy of the current meta object without any references.
47
- @param:
48
- @name: override
49
- @descr: The <Type>Meta</Type> constructor arguments to override.
44
+ /**
45
+ * Create a copy of the current meta object without any references.
46
+ * @param override - The <Type>Meta</Type> constructor arguments to override.
47
+ * @docs
50
48
  */
51
49
  copy(override = {}) {
52
50
  return new Meta({
@@ -61,12 +59,11 @@ class Meta {
61
59
  ...override
62
60
  });
63
61
  }
64
- /* @docs:
65
- * @title: Set value
66
- * @description: Set value funcs that return the current object.
62
+ /**
63
+ * Set value funcs that return the current object.
67
64
  * @return: Returns the current <Type>Meta</Type> object.
68
- * @type: Meta
69
- * @funcs: 8
65
+ * @funcs 8
66
+ * @docs
70
67
  */
71
68
  set_author(value) {
72
69
  this.author = value;