@vandenberghinc/volt 1.2.6 → 1.2.7

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 (462) hide show
  1. package/backend/dist/cjs/backend/src/blacklist.d.ts +12 -0
  2. package/backend/dist/cjs/backend/src/blacklist.js +78 -0
  3. package/backend/dist/cjs/backend/src/cli.d.ts +2 -0
  4. package/backend/dist/cjs/backend/src/cli.js +198 -0
  5. package/backend/dist/cjs/backend/src/database/collection.d.ts +1765 -0
  6. package/backend/dist/cjs/backend/src/database/collection.js +3301 -0
  7. package/backend/dist/cjs/backend/src/database/database.d.ts +92 -0
  8. package/backend/dist/cjs/backend/src/database/database.js +170 -0
  9. package/backend/dist/cjs/backend/src/database/document.d.ts +1 -0
  10. package/backend/dist/cjs/backend/src/database/document.js +15 -0
  11. package/backend/dist/cjs/backend/src/database/filters/filters.d.ts +6 -0
  12. package/backend/dist/cjs/backend/src/database/filters/filters.js +15 -0
  13. package/backend/dist/cjs/backend/src/database/filters/strict_filter.d.ts +223 -0
  14. package/backend/dist/cjs/backend/src/database/filters/strict_filter.js +15 -0
  15. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  16. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.js +443 -0
  17. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  18. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.js +15 -0
  19. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  20. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.js +15 -0
  21. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  22. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.js +15 -0
  23. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  24. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.js +15 -0
  25. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  26. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.js +15 -0
  27. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  28. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.js +15 -0
  29. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  30. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.js +355 -0
  31. package/backend/dist/cjs/backend/src/database/flatten.d.ts +78 -0
  32. package/backend/dist/cjs/backend/src/database/flatten.js +53 -0
  33. package/backend/dist/cjs/backend/src/database/flatten_test.d.ts +1 -0
  34. package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
  35. package/backend/dist/cjs/backend/src/database/quota/quoata_v2.d.ts +533 -0
  36. package/backend/dist/cjs/backend/src/database/quota/quoata_v2.js +1046 -0
  37. package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +551 -0
  38. package/backend/dist/cjs/backend/src/database/quota/quota.js +1108 -0
  39. package/backend/dist/cjs/backend/src/database/quota/quota_v1.d.ts +534 -0
  40. package/backend/dist/cjs/backend/src/database/quota/quota_v1.js +1087 -0
  41. package/backend/dist/cjs/backend/src/database/quota/safe_int.d.ts +412 -0
  42. package/backend/dist/cjs/backend/src/database/quota/safe_int.js +745 -0
  43. package/backend/dist/cjs/backend/src/endpoint.d.ts +346 -0
  44. package/backend/dist/cjs/backend/src/endpoint.js +468 -0
  45. package/backend/dist/cjs/backend/src/errors/index.d.ts +7 -0
  46. package/backend/dist/cjs/backend/src/errors/index.js +25 -0
  47. package/backend/dist/cjs/backend/src/errors/internal_external.d.ts +52 -0
  48. package/backend/dist/cjs/backend/src/errors/internal_external.js +95 -0
  49. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +41 -0
  50. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.js +47 -0
  51. package/backend/dist/cjs/backend/src/errors/system_error.d.ts +261 -0
  52. package/backend/dist/cjs/backend/src/errors/system_error.js +436 -0
  53. package/backend/dist/cjs/backend/src/events.d.ts +97 -0
  54. package/backend/dist/cjs/backend/src/events.js +15 -0
  55. package/backend/dist/cjs/backend/src/frontend.d.ts +13 -0
  56. package/backend/dist/cjs/backend/src/frontend.js +56 -0
  57. package/backend/dist/cjs/backend/src/image_endpoint.d.ts +44 -0
  58. package/backend/dist/cjs/backend/src/image_endpoint.js +185 -0
  59. package/backend/dist/cjs/backend/src/index.d.ts +23 -0
  60. package/backend/dist/cjs/backend/src/index.js +70 -0
  61. package/backend/dist/cjs/backend/src/logger.d.ts +5 -0
  62. package/backend/dist/cjs/backend/src/logger.js +15 -0
  63. package/backend/dist/cjs/backend/src/meta.d.ts +112 -0
  64. package/backend/dist/cjs/backend/src/meta.js +181 -0
  65. package/backend/dist/cjs/backend/src/payments/paddle.d.ts +329 -0
  66. package/backend/dist/cjs/backend/src/payments/paddle.js +1996 -0
  67. package/backend/dist/cjs/backend/src/payments/stripe/checkout.d.ts +113 -0
  68. package/backend/dist/cjs/backend/src/payments/stripe/checkout.js +295 -0
  69. package/backend/dist/cjs/backend/src/payments/stripe/customers.d.ts +17 -0
  70. package/backend/dist/cjs/backend/src/payments/stripe/customers.js +164 -0
  71. package/backend/dist/cjs/backend/src/payments/stripe/error.d.ts +74 -0
  72. package/backend/dist/cjs/backend/src/payments/stripe/error.js +64 -0
  73. package/backend/dist/cjs/backend/src/payments/stripe/events.d.ts +155 -0
  74. package/backend/dist/cjs/backend/src/payments/stripe/events.js +15 -0
  75. package/backend/dist/cjs/backend/src/payments/stripe/meters.d.ts +105 -0
  76. package/backend/dist/cjs/backend/src/payments/stripe/meters.js +230 -0
  77. package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  78. package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.js +109 -0
  79. package/backend/dist/cjs/backend/src/payments/stripe/products.d.ts +519 -0
  80. package/backend/dist/cjs/backend/src/payments/stripe/products.js +650 -0
  81. package/backend/dist/cjs/backend/src/payments/stripe/stripe.d.ts +215 -0
  82. package/backend/dist/cjs/backend/src/payments/stripe/stripe.js +468 -0
  83. package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  84. package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.js +557 -0
  85. package/backend/dist/cjs/backend/src/payments/stripe/utils.d.ts +63 -0
  86. package/backend/dist/cjs/backend/src/payments/stripe/utils.js +118 -0
  87. package/backend/dist/cjs/backend/src/payments/stripe/webhooks.d.ts +105 -0
  88. package/backend/dist/cjs/backend/src/payments/stripe/webhooks.js +627 -0
  89. package/backend/dist/cjs/backend/src/plugins/browser.d.ts +1 -0
  90. package/backend/dist/cjs/backend/src/plugins/browser.js +15 -0
  91. package/backend/dist/cjs/backend/src/plugins/communication.d.ts +70 -0
  92. package/backend/dist/cjs/backend/src/plugins/communication.js +196 -0
  93. package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +255 -0
  94. package/backend/dist/cjs/backend/src/plugins/mail/mail.js +381 -0
  95. package/backend/dist/cjs/backend/src/plugins/mail/ui.d.ts +297 -0
  96. package/backend/dist/cjs/backend/src/plugins/mail/ui.js +1370 -0
  97. package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
  98. package/backend/dist/cjs/backend/src/plugins/pdf.js +1456 -0
  99. package/backend/dist/cjs/backend/src/plugins/thread_monitor.d.ts +18 -0
  100. package/backend/dist/cjs/backend/src/plugins/thread_monitor.js +116 -0
  101. package/backend/dist/cjs/backend/src/rate_limit.d.ts +148 -0
  102. package/backend/dist/cjs/backend/src/rate_limit.js +543 -0
  103. package/backend/dist/cjs/backend/src/route.d.ts +39 -0
  104. package/backend/dist/cjs/backend/src/route.js +172 -0
  105. package/backend/dist/cjs/backend/src/server.d.ts +502 -0
  106. package/backend/dist/cjs/backend/src/server.js +1710 -0
  107. package/backend/dist/cjs/backend/src/server.old.d.ts +594 -0
  108. package/backend/dist/cjs/backend/src/server.old.js +2058 -0
  109. package/backend/dist/cjs/backend/src/splash_screen.d.ts +93 -0
  110. package/backend/dist/cjs/backend/src/splash_screen.js +119 -0
  111. package/backend/dist/cjs/backend/src/status.d.ts +89 -0
  112. package/backend/dist/cjs/backend/src/status.js +211 -0
  113. package/backend/dist/cjs/backend/src/stream.d.ts +494 -0
  114. package/backend/dist/cjs/backend/src/stream.js +1370 -0
  115. package/backend/dist/cjs/backend/src/users.d.ts +926 -0
  116. package/backend/dist/cjs/backend/src/users.js +2223 -0
  117. package/backend/dist/cjs/backend/src/utils.d.ts +22 -0
  118. package/backend/dist/cjs/backend/src/utils.js +626 -0
  119. package/backend/dist/cjs/backend/src/view.d.ts +115 -0
  120. package/backend/dist/cjs/backend/src/view.js +519 -0
  121. package/backend/dist/cjs/backend/src/vinc.d.ts +6 -0
  122. package/backend/dist/cjs/backend/src/vinc.js +40 -0
  123. package/backend/dist/cjs/backend/src/volt.d.ts +24 -0
  124. package/backend/dist/cjs/backend/src/volt.js +72 -0
  125. package/backend/dist/cjs/frontend/src/modules/request.d.ts +70 -0
  126. package/backend/dist/cjs/frontend/src/modules/request.js +99 -0
  127. package/backend/dist/cjs/package.json +1 -0
  128. package/backend/dist/esm/backend/src/blacklist.d.ts +12 -0
  129. package/backend/dist/esm/backend/src/blacklist.js +52 -0
  130. package/backend/dist/esm/backend/src/cli.d.ts +2 -0
  131. package/backend/dist/esm/backend/src/cli.js +211 -0
  132. package/backend/dist/esm/backend/src/database/collection.d.ts +1765 -0
  133. package/backend/dist/esm/backend/src/database/collection.js +3779 -0
  134. package/backend/dist/esm/backend/src/database/database.d.ts +92 -0
  135. package/backend/dist/esm/backend/src/database/database.js +214 -0
  136. package/backend/dist/esm/backend/src/database/document.d.ts +1 -0
  137. package/backend/dist/esm/backend/src/database/document.js +558 -0
  138. package/backend/dist/esm/backend/src/database/filters/filters.d.ts +6 -0
  139. package/backend/dist/esm/backend/src/database/filters/filters.js +1 -0
  140. package/backend/dist/esm/backend/src/database/filters/strict_filter.d.ts +223 -0
  141. package/backend/dist/esm/backend/src/database/filters/strict_filter.js +3 -0
  142. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  143. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.js +505 -0
  144. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  145. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.js +712 -0
  146. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  147. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.js +5 -0
  148. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  149. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.js +44 -0
  150. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  151. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.js +5 -0
  152. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  153. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.js +1 -0
  154. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  155. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.js +5 -0
  156. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  157. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.js +415 -0
  158. package/backend/dist/esm/backend/src/database/flatten.d.ts +78 -0
  159. package/backend/dist/esm/backend/src/database/flatten.js +22 -0
  160. package/backend/dist/esm/backend/src/database/flatten_test.d.ts +1 -0
  161. package/backend/dist/esm/backend/src/database/flatten_test.js +174 -0
  162. package/backend/dist/esm/backend/src/database/quota/quoata_v2.d.ts +533 -0
  163. package/backend/dist/esm/backend/src/database/quota/quoata_v2.js +1155 -0
  164. package/backend/dist/esm/backend/src/database/quota/quota.d.ts +551 -0
  165. package/backend/dist/esm/backend/src/database/quota/quota.js +1219 -0
  166. package/backend/dist/esm/backend/src/database/quota/quota_v1.d.ts +534 -0
  167. package/backend/dist/esm/backend/src/database/quota/quota_v1.js +1242 -0
  168. package/backend/dist/esm/backend/src/database/quota/safe_int.d.ts +412 -0
  169. package/backend/dist/esm/backend/src/database/quota/safe_int.js +810 -0
  170. package/backend/dist/esm/backend/src/endpoint.d.ts +346 -0
  171. package/backend/dist/esm/backend/src/endpoint.js +479 -0
  172. package/backend/dist/esm/backend/src/errors/index.d.ts +7 -0
  173. package/backend/dist/esm/backend/src/errors/index.js +7 -0
  174. package/backend/dist/esm/backend/src/errors/internal_external.d.ts +52 -0
  175. package/backend/dist/esm/backend/src/errors/internal_external.js +86 -0
  176. package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +41 -0
  177. package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +33 -0
  178. package/backend/dist/esm/backend/src/errors/system_error.d.ts +261 -0
  179. package/backend/dist/esm/backend/src/errors/system_error.js +444 -0
  180. package/backend/dist/esm/backend/src/events.d.ts +97 -0
  181. package/backend/dist/esm/backend/src/events.js +5 -0
  182. package/backend/dist/esm/backend/src/frontend.d.ts +13 -0
  183. package/backend/dist/esm/backend/src/frontend.js +23 -0
  184. package/backend/dist/esm/backend/src/image_endpoint.d.ts +44 -0
  185. package/backend/dist/esm/backend/src/image_endpoint.js +196 -0
  186. package/backend/dist/esm/backend/src/index.d.ts +23 -0
  187. package/backend/dist/esm/backend/src/index.js +26 -0
  188. package/backend/dist/esm/backend/src/logger.d.ts +5 -0
  189. package/backend/dist/esm/backend/src/logger.js +8 -0
  190. package/backend/dist/esm/backend/src/meta.d.ts +112 -0
  191. package/backend/dist/esm/backend/src/meta.js +152 -0
  192. package/backend/dist/esm/backend/src/payments/paddle.d.ts +329 -0
  193. package/backend/dist/esm/backend/src/payments/paddle.js +2276 -0
  194. package/backend/dist/esm/backend/src/payments/stripe/checkout.d.ts +113 -0
  195. package/backend/dist/esm/backend/src/payments/stripe/checkout.js +356 -0
  196. package/backend/dist/esm/backend/src/payments/stripe/customers.d.ts +17 -0
  197. package/backend/dist/esm/backend/src/payments/stripe/customers.js +193 -0
  198. package/backend/dist/esm/backend/src/payments/stripe/error.d.ts +74 -0
  199. package/backend/dist/esm/backend/src/payments/stripe/error.js +51 -0
  200. package/backend/dist/esm/backend/src/payments/stripe/events.d.ts +155 -0
  201. package/backend/dist/esm/backend/src/payments/stripe/events.js +5 -0
  202. package/backend/dist/esm/backend/src/payments/stripe/meters.d.ts +105 -0
  203. package/backend/dist/esm/backend/src/payments/stripe/meters.js +318 -0
  204. package/backend/dist/esm/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  205. package/backend/dist/esm/backend/src/payments/stripe/payment_methods.js +135 -0
  206. package/backend/dist/esm/backend/src/payments/stripe/products.d.ts +519 -0
  207. package/backend/dist/esm/backend/src/payments/stripe/products.js +896 -0
  208. package/backend/dist/esm/backend/src/payments/stripe/stripe.d.ts +215 -0
  209. package/backend/dist/esm/backend/src/payments/stripe/stripe.js +464 -0
  210. package/backend/dist/esm/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  211. package/backend/dist/esm/backend/src/payments/stripe/subscriptions.js +754 -0
  212. package/backend/dist/esm/backend/src/payments/stripe/utils.d.ts +63 -0
  213. package/backend/dist/esm/backend/src/payments/stripe/utils.js +131 -0
  214. package/backend/dist/esm/backend/src/payments/stripe/webhooks.d.ts +105 -0
  215. package/backend/dist/esm/backend/src/payments/stripe/webhooks.js +752 -0
  216. package/backend/dist/esm/backend/src/plugins/browser.d.ts +1 -0
  217. package/backend/dist/esm/backend/src/plugins/browser.js +170 -0
  218. package/backend/dist/esm/backend/src/plugins/communication.d.ts +70 -0
  219. package/backend/dist/esm/backend/src/plugins/communication.js +169 -0
  220. package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +255 -0
  221. package/backend/dist/esm/backend/src/plugins/mail/mail.js +396 -0
  222. package/backend/dist/esm/backend/src/plugins/mail/ui.d.ts +297 -0
  223. package/backend/dist/esm/backend/src/plugins/mail/ui.js +1400 -0
  224. package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
  225. package/backend/dist/esm/backend/src/plugins/pdf.js +1694 -0
  226. package/backend/dist/esm/backend/src/plugins/thread_monitor.d.ts +18 -0
  227. package/backend/dist/esm/backend/src/plugins/thread_monitor.js +120 -0
  228. package/backend/dist/esm/backend/src/rate_limit.d.ts +148 -0
  229. package/backend/dist/esm/backend/src/rate_limit.js +667 -0
  230. package/backend/dist/esm/backend/src/route.d.ts +39 -0
  231. package/backend/dist/esm/backend/src/route.js +222 -0
  232. package/backend/dist/esm/backend/src/server.d.ts +502 -0
  233. package/backend/dist/esm/backend/src/server.js +2031 -0
  234. package/backend/dist/esm/backend/src/server.old.d.ts +594 -0
  235. package/backend/dist/esm/backend/src/server.old.js +2630 -0
  236. package/backend/dist/esm/backend/src/splash_screen.d.ts +93 -0
  237. package/backend/dist/esm/backend/src/splash_screen.js +156 -0
  238. package/backend/dist/esm/backend/src/status.d.ts +89 -0
  239. package/backend/dist/esm/backend/src/status.js +213 -0
  240. package/backend/dist/esm/backend/src/stream.d.ts +494 -0
  241. package/backend/dist/esm/backend/src/stream.js +1611 -0
  242. package/backend/dist/esm/backend/src/users.d.ts +926 -0
  243. package/backend/dist/esm/backend/src/users.js +2423 -0
  244. package/backend/dist/esm/backend/src/utils.d.ts +22 -0
  245. package/backend/dist/esm/backend/src/utils.js +463 -0
  246. package/backend/dist/esm/backend/src/view.d.ts +115 -0
  247. package/backend/dist/esm/backend/src/view.js +584 -0
  248. package/backend/dist/esm/backend/src/vinc.d.ts +6 -0
  249. package/backend/dist/esm/backend/src/vinc.js +6 -0
  250. package/backend/dist/esm/backend/src/volt.d.ts +24 -0
  251. package/backend/dist/esm/backend/src/volt.js +27 -0
  252. package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
  253. package/backend/dist/esm/frontend/src/modules/request.js +117 -0
  254. package/frontend/dist/backend/src/database/collection.d.ts +1765 -0
  255. package/frontend/dist/backend/src/database/collection.js +3779 -0
  256. package/frontend/dist/backend/src/database/database.d.ts +92 -0
  257. package/frontend/dist/backend/src/database/database.js +214 -0
  258. package/frontend/dist/backend/src/database/filters/filters.d.ts +6 -0
  259. package/frontend/dist/backend/src/database/filters/filters.js +1 -0
  260. package/frontend/dist/backend/src/database/filters/strict_filter.d.ts +223 -0
  261. package/frontend/dist/backend/src/database/filters/strict_filter.js +3 -0
  262. package/frontend/dist/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  263. package/frontend/dist/backend/src/database/filters/strict_update_filter.js +5 -0
  264. package/frontend/dist/backend/src/database/flatten.d.ts +78 -0
  265. package/frontend/dist/backend/src/database/flatten.js +22 -0
  266. package/frontend/dist/backend/src/endpoint.d.ts +346 -0
  267. package/frontend/dist/backend/src/endpoint.js +479 -0
  268. package/frontend/dist/backend/src/errors/index.d.ts +7 -0
  269. package/frontend/dist/backend/src/errors/index.js +7 -0
  270. package/frontend/dist/backend/src/errors/internal_external.d.ts +52 -0
  271. package/frontend/dist/backend/src/errors/internal_external.js +86 -0
  272. package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +41 -0
  273. package/frontend/dist/backend/src/errors/invalid_usage_error.js +33 -0
  274. package/frontend/dist/backend/src/errors/system_error.d.ts +261 -0
  275. package/frontend/dist/backend/src/errors/system_error.js +444 -0
  276. package/frontend/dist/backend/src/events.d.ts +97 -0
  277. package/frontend/dist/backend/src/events.js +5 -0
  278. package/frontend/dist/backend/src/frontend.d.ts +13 -0
  279. package/frontend/dist/backend/src/frontend.js +23 -0
  280. package/frontend/dist/backend/src/image_endpoint.d.ts +44 -0
  281. package/frontend/dist/backend/src/image_endpoint.js +196 -0
  282. package/frontend/dist/backend/src/meta.d.ts +112 -0
  283. package/frontend/dist/backend/src/meta.js +152 -0
  284. package/frontend/dist/backend/src/payments/paddle.d.ts +329 -0
  285. package/frontend/dist/backend/src/payments/paddle.js +2276 -0
  286. package/frontend/dist/backend/src/payments/stripe/checkout.d.ts +113 -0
  287. package/frontend/dist/backend/src/payments/stripe/checkout.js +356 -0
  288. package/frontend/dist/backend/src/payments/stripe/customers.d.ts +17 -0
  289. package/frontend/dist/backend/src/payments/stripe/customers.js +193 -0
  290. package/frontend/dist/backend/src/payments/stripe/error.d.ts +74 -0
  291. package/frontend/dist/backend/src/payments/stripe/error.js +51 -0
  292. package/frontend/dist/backend/src/payments/stripe/events.d.ts +155 -0
  293. package/frontend/dist/backend/src/payments/stripe/events.js +5 -0
  294. package/frontend/dist/backend/src/payments/stripe/meters.d.ts +105 -0
  295. package/frontend/dist/backend/src/payments/stripe/meters.js +318 -0
  296. package/frontend/dist/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  297. package/frontend/dist/backend/src/payments/stripe/payment_methods.js +135 -0
  298. package/frontend/dist/backend/src/payments/stripe/products.d.ts +519 -0
  299. package/frontend/dist/backend/src/payments/stripe/products.js +896 -0
  300. package/frontend/dist/backend/src/payments/stripe/stripe.d.ts +215 -0
  301. package/frontend/dist/backend/src/payments/stripe/stripe.js +464 -0
  302. package/frontend/dist/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  303. package/frontend/dist/backend/src/payments/stripe/subscriptions.js +754 -0
  304. package/frontend/dist/backend/src/payments/stripe/utils.d.ts +63 -0
  305. package/frontend/dist/backend/src/payments/stripe/utils.js +131 -0
  306. package/frontend/dist/backend/src/payments/stripe/webhooks.d.ts +105 -0
  307. package/frontend/dist/backend/src/payments/stripe/webhooks.js +752 -0
  308. package/frontend/dist/backend/src/plugins/mail/mail.d.ts +255 -0
  309. package/frontend/dist/backend/src/plugins/mail/mail.js +396 -0
  310. package/frontend/dist/backend/src/plugins/mail/ui.d.ts +297 -0
  311. package/frontend/dist/backend/src/plugins/mail/ui.js +1400 -0
  312. package/frontend/dist/backend/src/rate_limit.d.ts +148 -0
  313. package/frontend/dist/backend/src/rate_limit.js +667 -0
  314. package/frontend/dist/backend/src/route.d.ts +39 -0
  315. package/frontend/dist/backend/src/route.js +222 -0
  316. package/frontend/dist/backend/src/server.d.ts +502 -0
  317. package/frontend/dist/backend/src/server.js +2031 -0
  318. package/frontend/dist/backend/src/splash_screen.d.ts +93 -0
  319. package/frontend/dist/backend/src/splash_screen.js +156 -0
  320. package/frontend/dist/backend/src/status.d.ts +89 -0
  321. package/frontend/dist/backend/src/status.js +213 -0
  322. package/frontend/dist/backend/src/stream.d.ts +494 -0
  323. package/frontend/dist/backend/src/stream.js +1611 -0
  324. package/frontend/dist/backend/src/users.d.ts +926 -0
  325. package/frontend/dist/backend/src/users.js +2423 -0
  326. package/frontend/dist/backend/src/utils.d.ts +22 -0
  327. package/frontend/dist/backend/src/utils.js +463 -0
  328. package/frontend/dist/backend/src/view.d.ts +115 -0
  329. package/frontend/dist/backend/src/view.js +584 -0
  330. package/frontend/dist/frontend/src/css/adyen.css +92 -0
  331. package/frontend/dist/frontend/src/css/volt.css +75 -0
  332. package/frontend/dist/frontend/src/elements/base.d.ts +3743 -0
  333. package/frontend/dist/frontend/src/elements/base.js +12151 -0
  334. package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
  335. package/frontend/dist/frontend/src/elements/module.js +216 -0
  336. package/frontend/dist/frontend/src/elements/register_element.d.ts +3 -0
  337. package/frontend/dist/frontend/src/elements/register_element.js +22 -0
  338. package/frontend/dist/frontend/src/elements/resize_query_manager.d.ts +0 -0
  339. package/frontend/dist/frontend/src/elements/resize_query_manager.js +150 -0
  340. package/frontend/dist/frontend/src/elements/types.d.ts +52 -0
  341. package/frontend/dist/frontend/src/elements/types.js +5 -0
  342. package/frontend/dist/frontend/src/index.d.ts +21 -0
  343. package/frontend/dist/frontend/src/index.js +29 -0
  344. package/frontend/dist/frontend/src/modules/attachment.d.ts +126 -0
  345. package/frontend/dist/frontend/src/modules/attachment.js +306 -0
  346. package/frontend/dist/frontend/src/modules/auth.d.ts +44 -0
  347. package/frontend/dist/frontend/src/modules/auth.js +80 -0
  348. package/frontend/dist/frontend/src/modules/color.d.ts +160 -0
  349. package/frontend/dist/frontend/src/modules/color.js +316 -0
  350. package/frontend/dist/frontend/src/modules/compression.d.ts +39 -0
  351. package/frontend/dist/frontend/src/modules/compression.js +102 -0
  352. package/frontend/dist/frontend/src/modules/cookies.d.ts +44 -0
  353. package/frontend/dist/frontend/src/modules/cookies.js +143 -0
  354. package/frontend/dist/frontend/src/modules/events.d.ts +31 -0
  355. package/frontend/dist/frontend/src/modules/events.js +79 -0
  356. package/frontend/dist/frontend/src/modules/google.d.ts +23 -0
  357. package/frontend/dist/frontend/src/modules/google.js +52 -0
  358. package/frontend/dist/frontend/src/modules/meta.d.ts +14 -0
  359. package/frontend/dist/frontend/src/modules/meta.js +48 -0
  360. package/frontend/dist/frontend/src/modules/paddle.d.ts +1207 -0
  361. package/frontend/dist/frontend/src/modules/paddle.js +2594 -0
  362. package/frontend/dist/frontend/src/modules/request.d.ts +70 -0
  363. package/frontend/dist/frontend/src/modules/request.js +117 -0
  364. package/frontend/dist/frontend/src/modules/settings.d.ts +3 -0
  365. package/frontend/dist/frontend/src/modules/settings.js +5 -0
  366. package/frontend/dist/frontend/src/modules/statics.d.ts +21 -0
  367. package/frontend/dist/frontend/src/modules/statics.js +43 -0
  368. package/frontend/dist/frontend/src/modules/stripe/cart.d.ts +112 -0
  369. package/frontend/dist/frontend/src/modules/stripe/cart.js +321 -0
  370. package/frontend/dist/frontend/src/modules/stripe/checkout.d.ts +7 -0
  371. package/frontend/dist/frontend/src/modules/stripe/checkout.js +37 -0
  372. package/frontend/dist/frontend/src/modules/stripe/index.m.d.ts +6 -0
  373. package/frontend/dist/frontend/src/modules/stripe/index.m.js +6 -0
  374. package/frontend/dist/frontend/src/modules/stripe/payments.d.ts +58 -0
  375. package/frontend/dist/frontend/src/modules/stripe/payments.js +92 -0
  376. package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
  377. package/frontend/dist/frontend/src/modules/support.js +53 -0
  378. package/frontend/dist/frontend/src/modules/theme.d.ts +133 -0
  379. package/frontend/dist/frontend/src/modules/theme.js +406 -0
  380. package/frontend/dist/frontend/src/modules/themes.d.ts +12 -0
  381. package/frontend/dist/frontend/src/modules/themes.js +22 -0
  382. package/frontend/dist/frontend/src/modules/user.d.ts +164 -0
  383. package/frontend/dist/frontend/src/modules/user.js +270 -0
  384. package/frontend/dist/frontend/src/modules/utils.d.ts +176 -0
  385. package/frontend/dist/frontend/src/modules/utils.js +569 -0
  386. package/frontend/dist/frontend/src/types/gradient.d.ts +29 -0
  387. package/frontend/dist/frontend/src/types/gradient.js +79 -0
  388. package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
  389. package/frontend/dist/frontend/src/ui/border_button.js +228 -0
  390. package/frontend/dist/frontend/src/ui/button.d.ts +241 -0
  391. package/frontend/dist/frontend/src/ui/button.js +682 -0
  392. package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
  393. package/frontend/dist/frontend/src/ui/canvas.js +444 -0
  394. package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
  395. package/frontend/dist/frontend/src/ui/checkbox.js +321 -0
  396. package/frontend/dist/frontend/src/ui/code.d.ts +235 -0
  397. package/frontend/dist/frontend/src/ui/code.js +1007 -0
  398. package/frontend/dist/frontend/src/ui/context_menu.d.ts +36 -0
  399. package/frontend/dist/frontend/src/ui/context_menu.js +205 -0
  400. package/frontend/dist/frontend/src/ui/css.d.ts +16 -0
  401. package/frontend/dist/frontend/src/ui/css.js +48 -0
  402. package/frontend/dist/frontend/src/ui/divider.d.ts +15 -0
  403. package/frontend/dist/frontend/src/ui/divider.js +78 -0
  404. package/frontend/dist/frontend/src/ui/dropdown.d.ts +176 -0
  405. package/frontend/dist/frontend/src/ui/dropdown.js +481 -0
  406. package/frontend/dist/frontend/src/ui/for_each.d.ts +37 -0
  407. package/frontend/dist/frontend/src/ui/for_each.js +92 -0
  408. package/frontend/dist/frontend/src/ui/form.d.ts +34 -0
  409. package/frontend/dist/frontend/src/ui/form.js +233 -0
  410. package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
  411. package/frontend/dist/frontend/src/ui/frame_modes.js +108 -0
  412. package/frontend/dist/frontend/src/ui/google_map.d.ts +24 -0
  413. package/frontend/dist/frontend/src/ui/google_map.js +106 -0
  414. package/frontend/dist/frontend/src/ui/gradient.d.ts +25 -0
  415. package/frontend/dist/frontend/src/ui/gradient.js +131 -0
  416. package/frontend/dist/frontend/src/ui/image.d.ts +111 -0
  417. package/frontend/dist/frontend/src/ui/image.js +576 -0
  418. package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
  419. package/frontend/dist/frontend/src/ui/input.js +1201 -0
  420. package/frontend/dist/frontend/src/ui/link.d.ts +25 -0
  421. package/frontend/dist/frontend/src/ui/link.js +140 -0
  422. package/frontend/dist/frontend/src/ui/list.d.ts +37 -0
  423. package/frontend/dist/frontend/src/ui/list.js +170 -0
  424. package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
  425. package/frontend/dist/frontend/src/ui/loader_button.js +193 -0
  426. package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
  427. package/frontend/dist/frontend/src/ui/loaders.js +157 -0
  428. package/frontend/dist/frontend/src/ui/popup.d.ts +94 -0
  429. package/frontend/dist/frontend/src/ui/popup.js +510 -0
  430. package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
  431. package/frontend/dist/frontend/src/ui/pseudo.js +154 -0
  432. package/frontend/dist/frontend/src/ui/scroller.d.ts +105 -0
  433. package/frontend/dist/frontend/src/ui/scroller.js +1253 -0
  434. package/frontend/dist/frontend/src/ui/slider.d.ts +45 -0
  435. package/frontend/dist/frontend/src/ui/slider.js +217 -0
  436. package/frontend/dist/frontend/src/ui/spacer.d.ts +15 -0
  437. package/frontend/dist/frontend/src/ui/spacer.js +78 -0
  438. package/frontend/dist/frontend/src/ui/span.d.ts +15 -0
  439. package/frontend/dist/frontend/src/ui/span.js +73 -0
  440. package/frontend/dist/frontend/src/ui/stack.d.ts +66 -0
  441. package/frontend/dist/frontend/src/ui/stack.js +335 -0
  442. package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
  443. package/frontend/dist/frontend/src/ui/steps.js +308 -0
  444. package/frontend/dist/frontend/src/ui/style.d.ts +17 -0
  445. package/frontend/dist/frontend/src/ui/style.js +73 -0
  446. package/frontend/dist/frontend/src/ui/switch.d.ts +69 -0
  447. package/frontend/dist/frontend/src/ui/switch.js +357 -0
  448. package/frontend/dist/frontend/src/ui/table.d.ts +100 -0
  449. package/frontend/dist/frontend/src/ui/table.js +405 -0
  450. package/frontend/dist/frontend/src/ui/tabs.d.ts +111 -0
  451. package/frontend/dist/frontend/src/ui/tabs.js +424 -0
  452. package/frontend/dist/frontend/src/ui/text.d.ts +15 -0
  453. package/frontend/dist/frontend/src/ui/text.js +83 -0
  454. package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
  455. package/frontend/dist/frontend/src/ui/title.js +272 -0
  456. package/frontend/dist/frontend/src/ui/ui.d.ts +35 -0
  457. package/frontend/dist/frontend/src/ui/ui.js +38 -0
  458. package/frontend/dist/frontend/src/ui/view.d.ts +15 -0
  459. package/frontend/dist/frontend/src/ui/view.js +88 -0
  460. package/frontend/dist/frontend/src/volt.d.ts +20 -0
  461. package/frontend/dist/frontend/src/volt.js +27 -0
  462. package/package.json +7 -2
@@ -0,0 +1,172 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ Route: () => Route
21
+ });
22
+ module.exports = __toCommonJS(stdin_exports);
23
+ class Route {
24
+ method;
25
+ endpoint;
26
+ endpoint_str;
27
+ id;
28
+ is_regex;
29
+ params = [];
30
+ // path param names.
31
+ matcher;
32
+ /**
33
+ *
34
+ * @param method HTTP method (e.g. "GET", "post", etc.)
35
+ * @param endpoint The endpoint parameter supports the following input type.
36
+ * - A regex to match against the request URL, or a string with colon-style path parameters.
37
+ * - A string supporting colon-style path parameters (e.g. "/user/:id"), and simple `*` and `**` wildcards.
38
+ * Ensure the wildcards are encapsulated by / or at the start of end of the string.
39
+ */
40
+ constructor(method, endpoint) {
41
+ this.method = method.trim().toUpperCase();
42
+ this.endpoint = endpoint;
43
+ this.is_regex = endpoint instanceof RegExp;
44
+ if (typeof this.endpoint === "string") {
45
+ this.endpoint = Route.clean_endpoint(this.endpoint).replace(/\/+$/, "") || "/";
46
+ }
47
+ if (typeof endpoint === "string" && (endpoint.includes(":") || endpoint.includes("*"))) {
48
+ this._create_route_matcher(endpoint);
49
+ this.endpoint_str = endpoint.replace(/\/+$/, "") || "/";
50
+ this.is_regex = true;
51
+ } else if (endpoint instanceof RegExp) {
52
+ this.matcher = void 0;
53
+ this.endpoint_str = Route._stringify_endpoint_regex(endpoint);
54
+ } else {
55
+ this.matcher = void 0;
56
+ this.endpoint_str = endpoint.replace(/\/+$/, "") || "/";
57
+ }
58
+ this.id = `${this.method}:${this.endpoint_str}`;
59
+ }
60
+ // /** Create match args
61
+ // * @warning this is required for the `match()` method
62
+ // */
63
+ // public static create_match_args(method: string, endpoint: string): { method: string, endpoint: string} {
64
+ // return {
65
+ // method: method.trim().toUpperCase(),
66
+ // endpoint: endpoint.replace(/\/+$/, "") || "/",
67
+ // };
68
+ // }
69
+ /**
70
+ * Tests this route against another Route (e.g. a “request” Route).
71
+ * @returns `false` when not matched, and a `params` object when matched.
72
+ * @docs
73
+ */
74
+ match(other) {
75
+ if (this.endpoint instanceof RegExp && other.endpoint instanceof RegExp) {
76
+ return false;
77
+ }
78
+ if (other.method !== this.method) {
79
+ return false;
80
+ }
81
+ if (this.endpoint instanceof RegExp) {
82
+ const m = this.endpoint.exec(other.endpoint_str);
83
+ if (!m) {
84
+ return false;
85
+ } else if (m.groups) {
86
+ const x = Object.fromEntries(Object.entries(m.groups).map(([name, val]) => {
87
+ return [name, val == null ? val : decodeURIComponent(val)];
88
+ }));
89
+ console.log("ROUTE PARAMS:", x);
90
+ return x;
91
+ }
92
+ return {};
93
+ }
94
+ if (this.matcher) {
95
+ const result = this.matcher.match(other.endpoint_str);
96
+ if (!result) {
97
+ return false;
98
+ }
99
+ const keys = Object.keys(result);
100
+ for (const k of keys) {
101
+ if (result[k] == null) {
102
+ result[k] = void 0;
103
+ } else {
104
+ result[k] = decodeURIComponent(result[k]);
105
+ }
106
+ }
107
+ return result;
108
+ }
109
+ return this.endpoint_str === other.endpoint_str ? {} : false;
110
+ }
111
+ // ─── Helper: compile colon-style patterns ───
112
+ _create_route_matcher(pattern) {
113
+ const normalized = pattern.replace(/\/+$/, "") || "/";
114
+ this.params.length = 0;
115
+ const source = normalized.split(/(\/:[A-Za-z_$][A-Za-z0-9_$]*\??|\*\*|\*)/).map((seg) => {
116
+ if (seg.startsWith("/:")) {
117
+ const optional = seg.endsWith("?");
118
+ const name = optional ? seg.slice(2, -1) : seg.slice(2);
119
+ this.params.push({ name, required: !optional });
120
+ return optional ? "(?:/([^/]+))?" : "/([^/]+)";
121
+ }
122
+ if (seg === "*") {
123
+ return "(?:[^/]+)";
124
+ }
125
+ if (seg === "**") {
126
+ return "(?:.*)";
127
+ }
128
+ return seg.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
129
+ }).join("");
130
+ const regex = normalized === "/" ? /^\/$/ : new RegExp(`^${source}/?$`);
131
+ this.matcher = {
132
+ regex,
133
+ match: (path) => {
134
+ const m = regex.exec(path);
135
+ if (!m)
136
+ return;
137
+ const out = {};
138
+ this.params.forEach((k, i) => {
139
+ out[k.name] = m[i + 1];
140
+ });
141
+ return out;
142
+ }
143
+ };
144
+ }
145
+ // Helper: stringify a RegExp into colon-style │:param placeholders.
146
+ static _stringify_endpoint_regex(re) {
147
+ let src = re.source;
148
+ src = src.replace(/^\^/, "").replace(/\$$/, "");
149
+ src = src.replace(/\\\//g, "/");
150
+ src = src.replace(/\(\?<([^>]+)>[^)]+\)/g, (_m, name) => `:${name}`);
151
+ let idx = 1;
152
+ src = src.replace(/\((?!\?)[^)]+\)/g, () => `:param${idx++}`);
153
+ return src;
154
+ }
155
+ static clean_endpoint(endpoint) {
156
+ if (endpoint == null || endpoint instanceof RegExp) {
157
+ return endpoint;
158
+ }
159
+ if (endpoint.charAt(0) != "/") {
160
+ endpoint = "/" + endpoint;
161
+ }
162
+ endpoint = endpoint.replaceAll("//", "/");
163
+ if (endpoint.length > 1 && endpoint.charAt(endpoint.length - 1) === "/") {
164
+ endpoint = endpoint.substr(0, endpoint.length - 1);
165
+ }
166
+ return endpoint;
167
+ }
168
+ }
169
+ // Annotate the CommonJS export names for ESM import in node:
170
+ 0 && (module.exports = {
171
+ Route
172
+ });
@@ -0,0 +1,502 @@
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 { Meta } from './meta.js';
7
+ import { Mail } from "./plugins/mail/mail.js";
8
+ import { Status } from "./status.js";
9
+ import { Endpoint } from "./endpoint.js";
10
+ import { Database } from "./database/database.js";
11
+ import { Users } from "./users.js";
12
+ import { RateLimits, RateLimitServer, RateLimitClient } from "./rate_limit.js";
13
+ import { Route } from "./route.js";
14
+ import { EventCallback, EventName, Events } from './events.js';
15
+ import { Stripe } from "./payments/stripe/stripe.js";
16
+ /** Nested types for the {@link Server} class. */
17
+ export declare namespace Server {
18
+ /**
19
+ * Options for constructing a server.
20
+ * @docs
21
+ */
22
+ interface Opts {
23
+ /** Whether the server is in production mode or in development mode. */
24
+ production?: boolean;
25
+ /** The IP address where the server will run. */
26
+ ip?: string;
27
+ /** The port where the server will run. Leave `null` to run on port `80` for HTTP and `443` for HTTPS. */
28
+ port?: number;
29
+ /** The full domain url without `http://` or `https://`. */
30
+ domain: string;
31
+ /** Used to indicate if the current server is the primary node. */
32
+ is_primary?: boolean;
33
+ /** The path to a persistent directory where some files such as logs, status info etc will be saved. */
34
+ source: string;
35
+ /** The database settings, see {@link Database.Opts}. */
36
+ database: string | Database.Opts;
37
+ /** Array with paths to static directories or static directory objects, see {@link Server.StaticDirectory}. */
38
+ statics?: Array<string | vlib.Path | Server.StaticDirectory>;
39
+ /** The path to the favicon. */
40
+ favicon?: string;
41
+ /** Your company information, see {@link Server.CompanyInfo}. */
42
+ company: Server.CompanyInfo;
43
+ /** The default meta object. */
44
+ meta?: Meta | Meta.Opts;
45
+ /** The TLS settings for HTTPS, see {@link Server.TLSConfig}. */
46
+ tls?: Server.TLSConfig;
47
+ /** The mail options. */
48
+ mail?: Mail.Opts;
49
+ /**
50
+ * The rate limit server and client settings. Rate limiting works with a centralizer websocket server and secondary clients.
51
+ * By default rate limiting is enabled but can be disabled by explicitly setting `rate_limit` to `false`.
52
+ */
53
+ rate_limit?: false | {
54
+ /** The primary server rate limit settings. */
55
+ server?: RateLimitServer.Opts;
56
+ /** The rate limit client settings. */
57
+ client?: RateLimitClient.Opts;
58
+ };
59
+ /** An array with names of crypto keys. Keys will be generated and stored in the database when they do not exist, and accessible as `Server.keys.$name`. Items may be a string (name) or an object with `name` and `length`, see {@link Server.KeyOpts}. */
60
+ keys?: (string | Server.KeyOpts)[];
61
+ /** The arguments for the payment class, see {@link Server.PaymentOpts}. */
62
+ payments?: Server.PaymentOpts;
63
+ /** Override the default headers generated by volt. Leave `default_headers` undefined to let volt automatically generate default headers. */
64
+ default_headers?: Record<string, any>;
65
+ /** The Google Tag ID. */
66
+ google_tag?: string;
67
+ /** Additional options for managing the {@link Users} class. */
68
+ users?: Users.Opts;
69
+ /** Enable threading behaviour when in production mode. */
70
+ threading?: false | true | {
71
+ /** Wether to enable threading behaviour. */
72
+ enabled: boolean;
73
+ /** The number of processes when threading is enabled. By default, the number of CPU's will be used. */
74
+ threads?: number;
75
+ };
76
+ /** Boolean indicating if the development server is being run offline. */
77
+ offline?: boolean;
78
+ /**
79
+ * Additional endpoints to add to the sitemap. By default all endpoints where attribute `view` is defined are added.
80
+ * @note Regex based endpoints are not added to the default sitemap so they should perhaps they should partially be included here.
81
+ */
82
+ additional_sitemap_endpoints?: string[];
83
+ /**
84
+ * Optional settings for the service daemons. Pass `false` to disable, see {@link vlib.Daemon.Opts}.
85
+ * The {@link vlib.Daemon.Opts.name} field will be defined with a default value of `domain.replaceAll(".", "")`.
86
+ * The {@link vlib.Daemon.Opts.logs}, {@link vlib.Daemon.Opts.errors} fields will be defined with a default value of `<source>/daemon/<name>`.
87
+ */
88
+ daemon?: false | vlib.Types.Optional<vlib.Daemon.Opts, "name">;
89
+ /** The active log level. */
90
+ log_level?: number;
91
+ }
92
+ /**
93
+ * Key options for the {@link Server.Opts} interface.
94
+ * @docs
95
+ */
96
+ interface KeyOpts {
97
+ /** The name of the key. */
98
+ name: string;
99
+ /** The length of the key. */
100
+ length: number;
101
+ }
102
+ /**
103
+ * Company profile information used in invoices, emails, and branding.
104
+ * @experimental
105
+ * @docs
106
+ */
107
+ interface CompanyInfo {
108
+ /** The name of your company. */
109
+ name: string;
110
+ /** The legal name of your company. */
111
+ legal_name: string;
112
+ /** The street name of your company's address. */
113
+ street: string;
114
+ /** The house number or house name of your company's address. */
115
+ house_number: string;
116
+ /** The postal/zip code of your company's address. */
117
+ postal_code: string;
118
+ /** The city of your company's address. */
119
+ city: string;
120
+ /** The province or state of your company's address. */
121
+ province: string;
122
+ /** The country name of your company's address. */
123
+ country: string;
124
+ /** The two-letter ISO country code of your company's location. */
125
+ country_code: string;
126
+ /** The tax ID of your company. */
127
+ tax_id?: string;
128
+ /** The type of company. */
129
+ type?: string;
130
+ /** The endpoint URL path of your company's icon (PNG). Must be an endpoint URL since access to the file path is also required for creating invoices. */
131
+ icon?: string;
132
+ /** The endpoint URL path of your company's stroke icon (PNG). In payment invoices the stroke icon precedes the default icon. Must be an endpoint URL since access to the file path is also required for creating invoices. */
133
+ stroke_icon?: string;
134
+ /** The file path of your company's icon (PNG), automatically retrieved from the {@link Server.CompanyInfo.icon} property when possible. */
135
+ icon_path?: string;
136
+ /** The file path of your company's stroke icon (PNG), automatically retrieved from the {@link Server.CompanyInfo.stroke_icon} property when possible. */
137
+ stroke_icon_path?: string;
138
+ }
139
+ /**
140
+ * TLS certificate configuration for enabling HTTPS.
141
+ * @docs
142
+ */
143
+ interface TLSConfig {
144
+ /** The path to the certificate. */
145
+ cert: string;
146
+ /** The path to the private key file. */
147
+ key: string;
148
+ /** The path to the CA bundle file. */
149
+ ca?: string | null;
150
+ /** The passphrase of the private key. */
151
+ passphrase?: string;
152
+ }
153
+ /**
154
+ * Description of a static directory or file that should be served.
155
+ * @docs
156
+ */
157
+ interface StaticDirectory {
158
+ /** The path to the static directory or file. */
159
+ path: string;
160
+ /** The base endpoint of the static directory, by default the path's name will be used.*/
161
+ endpoint?: string;
162
+ /** Enable caching for the static endpoints; this value will be used for parameter `Endpoint.cache`. */
163
+ cache?: number | boolean;
164
+ /** Define a specific cache policy per endpoint from this static directory as `{<endpoint>: <cache>}`; the cache value will be used for parameter `Endpoint.cache`. */
165
+ endpoints_cache?: Record<string, boolean | number>;
166
+ /** An array of paths to exclude. The array may contain regexes. */
167
+ exclude?: Array<string | RegExp>;
168
+ }
169
+ /**
170
+ * A definition of a registered endpoint, can be used to export params and response types to the frontend.
171
+ * @prop params The inferred interface of the endpoint parameters, note that the runtime value of this property is always `undefined`.
172
+ * @prop Params Alias for property {@link Server.RegisteredEndpoint.params}.
173
+ * @docs
174
+ */
175
+ type RegisteredEndpoint<M extends Endpoint.Method, E extends string | RegExp, P extends Record<string, any>> = {
176
+ /** The HTTP method for the endpoint (e.g. GET, POST). */
177
+ method: M;
178
+ /** A pascal cased alias for the endpoint, for type exports conforming with `Params`. */
179
+ Method: M;
180
+ /**
181
+ * The route's endpoint endpoint, string or regex,
182
+ * use `route.endpoint_str` for the string representation.
183
+ */
184
+ endpoint: E;
185
+ /** A pascal cased alias for the method, for type exports conforming with `Params`. */
186
+ Endpoint: E;
187
+ /** The endpoint route. */
188
+ route: Route;
189
+ /**
190
+ * The inferred params type, can be used to export the params payload type.
191
+ * @warning This value is `undefined` at runtime, but contains the correct params payload type at compile time.
192
+ */
193
+ Params: P;
194
+ };
195
+ /**
196
+ * The payment options.
197
+ * @docs
198
+ */
199
+ type PaymentOpts = (Stripe.Opts & {
200
+ /** The payment provider type. */
201
+ type: "stripe";
202
+ });
203
+ }
204
+ /**
205
+ * The server class.
206
+ * @note Automatically runs on HTTP/HTTPS depending on the constructor options.
207
+ *
208
+ * @nav Server
209
+ * @docs
210
+ */
211
+ export declare class Server {
212
+ /**
213
+ * A temporary directory which holds the cached endpoint data.
214
+ * For instance if we bundle JS then we save it to file and serve it from the file,
215
+ * similar for transformed image endpoints.
216
+ *
217
+ * Note that upon each server start, we should clear this cache and remove all files inside this dir.
218
+ */
219
+ endpoint_cache_dir: vlib.Path;
220
+ /** The binded ip address. */
221
+ ip: string;
222
+ /** The binded http port. */
223
+ port: number;
224
+ /** The binded https port. */
225
+ https_port: number;
226
+ /** The raw domain. */
227
+ domain: string;
228
+ /** The full domain name with http/https depending if tls is enabled. */
229
+ full_domain: string;
230
+ /** The persistent storage source directory. */
231
+ source: vlib.Path;
232
+ /** Is the primary thread. */
233
+ is_primary: boolean;
234
+ /** Is in production mode. */
235
+ production: boolean;
236
+ /** The company information. */
237
+ company: Server.CompanyInfo;
238
+ /** The default meta information. */
239
+ meta: Meta;
240
+ /** Is running in offline mode. */
241
+ offline: boolean;
242
+ /** The database instance. */
243
+ db: Database;
244
+ /** The rate limit instance. */
245
+ rate_limit?: RateLimitServer | RateLimitClient;
246
+ /** The added endpoints. */
247
+ endpoints: Map<string, Endpoint>;
248
+ /** The added error endpoints. */
249
+ err_endpoints: Map<number, Endpoint>;
250
+ /** A record of keys used for hashing. */
251
+ keys: Record<string, string>;
252
+ /** Alias for the `Status` module. */
253
+ status: typeof Status;
254
+ /** Alias for the `RateLimits` module. */
255
+ rate_limits: typeof RateLimits;
256
+ /** The file logger. */
257
+ log: vlib.logging.FileLogger;
258
+ /** The users instance. */
259
+ users: Users;
260
+ /** The payments instance. */
261
+ payments?: Stripe;
262
+ /** Daemon instance to manage a live daemon. */
263
+ daemon?: vlib.Daemon;
264
+ /** The mail instance. */
265
+ mail?: Mail;
266
+ csp: Record<string, string>;
267
+ statics_aspect_ratios: Map<string | RegExp, any>;
268
+ google_tag?: string;
269
+ rate_limit_api_key: string | undefined;
270
+ performance: vlib.Performance;
271
+ https_enabled: boolean;
272
+ /** The events map @internal */
273
+ events: vlib.Events<Events>;
274
+ private favicon?;
275
+ private statics;
276
+ private _user_keys_opts;
277
+ private additional_sitemap_endpoints;
278
+ private tls?;
279
+ private default_headers;
280
+ private http;
281
+ private https;
282
+ private threading;
283
+ private _keys_db;
284
+ private _sys_keys_db;
285
+ private _website_status_db;
286
+ /**
287
+ * Construct a new server instance.
288
+ * @docs
289
+ */
290
+ constructor({ ip, port, // leave undefined for blank detection.
291
+ domain, is_primary, source, database, statics, favicon, company, meta, tls, mail, rate_limit, keys, payments, default_headers, google_tag, users, production, threading, offline, additional_sitemap_endpoints, log_level, daemon, }: Server.Opts);
292
+ /** Get a content type (MIME) from a file extension. */
293
+ /**
294
+ * Get a content type (MIME) from a file extension. The file extension should include the leading dot, e.g. ".html".
295
+ * @docs
296
+ */
297
+ get_content_type(extension: string): string;
298
+ /**
299
+ * Set the logging verbosity level.
300
+ * @docs
301
+ */
302
+ set_log_level(level: number): void;
303
+ /**
304
+ * Generate a cryptographically secure random key as a hex string.
305
+ * @docs
306
+ */
307
+ generate_crypto_key(length?: number): string;
308
+ /**
309
+ * Create an HMAC hash using the provided key and data.
310
+ * @docs
311
+ */
312
+ hmac(key: string, data: string, algo?: string): string;
313
+ /**
314
+ * Create a hash (no key) of the given data using the specified algorithm.
315
+ * @docs
316
+ */
317
+ hash(data: string | object, algo?: string): string;
318
+ private _init_default_headers;
319
+ private _set_header_defaults;
320
+ private _create_default_endpoints;
321
+ private _create_sitemap;
322
+ private _create_robots_txt;
323
+ private _initialize_statics;
324
+ /** Initialize the system and user defined keys. */
325
+ _initialize_keys(): Promise<void>;
326
+ /**
327
+ * Checks if an endpoint route already exists.
328
+ * @param method HTTP method
329
+ * @param endpoint String path or RegExp
330
+ */
331
+ private _check_duplicate_route;
332
+ private _serve;
333
+ /** The promise of database initialization and connecting. */
334
+ private _db_init_promise;
335
+ /** Is initialized. */
336
+ private _initialized;
337
+ /** Is initialized by a worker. */
338
+ private _initialized_by_worker;
339
+ /**
340
+ * Initialize the server.
341
+ * @returns A promise that resolves when the server has been initialized.
342
+ * @docs
343
+ */
344
+ initialize({ worker, }?: {
345
+ /**
346
+ * By default the server is initialized as web server.
347
+ *
348
+ * However, when using worker threads, the web server parts are skipped.
349
+ * Only essential operations such as database, users, payments etc. are initialized.
350
+ * Therefore the server can still be used within a worker threads without
351
+ * the overhead of creating http/https servers, endpoints, static files, etc.
352
+ *
353
+ * The user-defined initialize callbacks are still executed but the `worker` is passed as indication.
354
+ */
355
+ worker?: boolean;
356
+ }): Promise<void>;
357
+ /**
358
+ * Find an endpoint by route or string.
359
+ * @docs
360
+ */
361
+ find_endpoint(route: Route): Endpoint | undefined;
362
+ find_endpoint(endpoint: string, method?: string): Endpoint | undefined;
363
+ /** Assert mail is configured. */
364
+ assert_mail(): asserts this is {
365
+ mail: Mail;
366
+ };
367
+ /**
368
+ * Start the server.
369
+ *
370
+ * @example
371
+ * {Start}
372
+ * Start the server.
373
+ * ```
374
+ * const server = new volt.Server({ ... });
375
+ * await server.start();
376
+ * ```
377
+ * @docs
378
+ */
379
+ start(): Promise<void>;
380
+ /**
381
+ * Stop the server.
382
+ * @note After stopping the server we can no longer restart the server.
383
+ *
384
+ * @example
385
+ * {Stop}
386
+ * Stop the server.
387
+ * ```
388
+ * const server = new volt.Server({ ... });
389
+ * await server.start();
390
+ * ...
391
+ * await server.stop();
392
+ * ```
393
+ *
394
+ * @docs
395
+ */
396
+ stop(): Promise<void>;
397
+ /**
398
+ * Add an event callback.
399
+ * See {@link Events} for more info.
400
+ * @docs
401
+ */
402
+ on<N extends EventName>(name: N, callback: EventCallback<N>): this;
403
+ /**
404
+ * Remove an event callback.
405
+ * See {@link Events} for more info.
406
+ * @docs
407
+ */
408
+ off<N extends EventName>(name: N, callback: EventCallback<N>): this;
409
+ /**
410
+ * Add a single endpoint.
411
+ * Only supports a single endpoint due to parameter inference.
412
+ * @note An error is thrown when the endpoint route already exists.
413
+ * @template Response User inputted response type that will be returned as response, optionaly typing used for consistency.
414
+ * @template S system template for inferring the endpoint callback parameters.
415
+ * @param endpoint The endpoint or endpoint options to add.
416
+ * @returns A registered endpoint object that can for instance be used to infer the endpoint parameters.
417
+ *
418
+ * @docs
419
+ */
420
+ endpoint<const M extends Endpoint.Method = "GET", const E extends string | RegExp = string, const S extends vlib.Schema.Entries.Opts = {}>(endpoint: Endpoint<M, E, S> | ConstructorParameters<typeof Endpoint<M, E, S>>[0]): Server.RegisteredEndpoint<M, E, vlib.Schema.Entries.Infer<S>>;
421
+ /**
422
+ * Add an endpoint per error status code.
423
+ * @param status_code
424
+ * The status code of the error.
425
+ *
426
+ * The supported status codes are:
427
+ * * `*` For all errors not specifically defined.
428
+ * * `status >= 400`
429
+ * @param endpoint The error endpoint or error endpoint options.
430
+ *
431
+ * @note
432
+ * Best practice is to define a universal `/error` endpoint using `Endpoint.templates` to render the error details.
433
+ * Then this endpoint can be cloned using `Endpoint.clone()` and defined with specific template values per status code.
434
+ *
435
+ * @docs
436
+ */
437
+ error_endpoint<const S extends vlib.Schema.Entries.Opts = {}>(status_code: "*" | number, endpoint: Endpoint<any, any, S> | Omit<Endpoint.Opts<any, any, S>, "method" | "endpoint">): this;
438
+ /**
439
+ * Add an url to the Content-Security-Policy. This function does not overwrite the existing key's value.
440
+ * @warning This function no longer has any effect when `Server.start()` has been called.
441
+ * @param key The Content-Security-Policy key, e.g. `script-src`.
442
+ * @param value The value to add to the Content-Security-Policy key.
443
+ * @example
444
+ * ...
445
+ * server.add_csp("script-src", "somewebsite.com");
446
+ * server.add_csp("upgrade-insecure-requests");
447
+ * @docs
448
+ */
449
+ add_csp(key: string, value?: null | string | string[]): void;
450
+ /**
451
+ * Remove an url from the Content-Security-Policy. This function does not overwrite the existing key's value.
452
+ * @warning This function no longer has any effect when `Server.start()` has been called.
453
+ * @param key The Content-Security-Policy key, e.g. `script-src`.
454
+ * @param value The value to remove from the Content-Security-Policy key.
455
+ * @example
456
+ * ...
457
+ * server.remove_csp("script-src", "somewebsite.com");
458
+ * server.remove_csp("upgrade-insecure-requests");
459
+ * @docs
460
+ */
461
+ remove_csp(key: string, value?: null | string): void;
462
+ /**
463
+ * Delete an key from the Content-Security-Policy.
464
+ * @warning This function no longer has any effect when `Server.start()` has been called.
465
+ * @param key The Content-Security-Policy key, e.g. `script-src`.
466
+ * @example
467
+ * ...
468
+ * server.del_csp("script-src");
469
+ * server.del_csp("upgrade-insecure-requests");
470
+ * @docs
471
+ */
472
+ del_csp(key: string): void;
473
+ /**
474
+ * This function is meant to be used when the server is in production mode, it will make an API request to your server through the defined `Server.domain` parameter.
475
+ * @note This function can be called without initializing the server.
476
+ * @param type The wanted output type. Either an `object` or a `string` type for CLI purposes.
477
+ * @docs
478
+ */
479
+ fetch_status(type?: "object" | "string"): Promise<string | Record<string, any>>;
480
+ /**
481
+ * Generate a key and csr for tls.
482
+ * @docs
483
+ */
484
+ generate_ssl_key({ output_path, ec, }: {
485
+ output_path: string;
486
+ ec?: boolean;
487
+ }): Promise<void>;
488
+ /**
489
+ * Generate a csr for tls.
490
+ * @docs
491
+ */
492
+ generate_csr({ output_path, key_path, name, domain, organization_unit, country_code, province, city, }: {
493
+ output_path: string;
494
+ key_path: string;
495
+ name: string;
496
+ domain: string;
497
+ organization_unit: string;
498
+ country_code: string;
499
+ province: string;
500
+ city: string;
501
+ }): Promise<void>;
502
+ }