@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,381 @@
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
+ Mail: () => Mail
31
+ });
32
+ module.exports = __toCommonJS(stdin_exports);
33
+ var nodemailer = __toESM(require("nodemailer"));
34
+ var vlib = __toESM(require("@vandenberghinc/vlib"));
35
+ var UI = __toESM(require("./ui.js"));
36
+ var import_errors = require("../../errors/index.js");
37
+ var import_status = require("../../status.js");
38
+ class Mail {
39
+ /** the smpt mailer. */
40
+ smtp;
41
+ /** the smtp sender address. */
42
+ sender;
43
+ // is defined when `smtp` is defined.
44
+ /** the default mail style. */
45
+ style;
46
+ /** construct a new server instance. */
47
+ constructor({ smtp, style = {
48
+ font: '"Helvetica", sans-serif',
49
+ title_fg: "#121B23",
50
+ subtitle_fg: "#121B23",
51
+ text_fg: "#1F2F3D",
52
+ button_fg: "#FFFFFF",
53
+ footer_fg: "#686B80",
54
+ bg: "#EEEEEE",
55
+ widget_bg: "#FFFFFF",
56
+ widget_border: "#E6E6E6",
57
+ button_bg: "#1F2F3D",
58
+ divider_bg: "#706780"
59
+ } }) {
60
+ this.style = style;
61
+ this.sender = smtp.sender;
62
+ this.smtp = nodemailer.createTransport({
63
+ ...smtp,
64
+ ...smtp.override ?? {}
65
+ });
66
+ }
67
+ // ---------------------------------------------------------
68
+ // public methods.
69
+ /**
70
+ * send one or multiple mails.
71
+ *
72
+ * @note ensure SPF/DKIM are configured when sending attachments.
73
+ * @returns resolves/rejects when the mail has been sent.
74
+ *
75
+ * @param sender optional sender override.
76
+ * @param recipients recipient addresses.
77
+ * @param subject subject line.
78
+ * @param body html string or `UI.MailElement`.
79
+ * @param attachments supported inputs (paths, backend model, REST model, or nodemailer attachment).
80
+ * @param max_attachments limit on number of attachments; -1 disables.
81
+ * @param max_attachment_size max size (bytes) per attachment; -1 disables.
82
+ * @param max_attachments_size max total size (bytes) across attachments; -1 disables.
83
+ *
84
+ * @docs
85
+ */
86
+ async send({ sender = void 0, recipients = [], subject = void 0, body = "", attachments = [], max_attachments = -1, max_attachment_size = -1, max_attachments_size = -1, allow_untrusted_urls = false }) {
87
+ if (!this.smtp) {
88
+ throw new Error("smtp is not enabled, define the required server argument on initialization to enable smtp.");
89
+ }
90
+ if (body instanceof UI.MailElement) {
91
+ body = body.html();
92
+ }
93
+ if (sender == null && this.sender != null) {
94
+ sender = this.sender;
95
+ }
96
+ if (!recipients || recipients.length === 0) {
97
+ throw new Error("the mail has no recipients.");
98
+ }
99
+ if (sender == null) {
100
+ throw new Error('parameter "sender" should be a defined value of type "string" or "array".');
101
+ }
102
+ const format_address = (address) => {
103
+ if (Array.isArray(address))
104
+ return `${address[0]} <${address[1]}>`;
105
+ return address;
106
+ };
107
+ const to = [];
108
+ recipients.forEach((address) => to.push(format_address(address)));
109
+ const { nodemailer_attachments } = this.normalize_and_validate_attachments(attachments, {
110
+ max_attachments,
111
+ max_attachment_size,
112
+ max_attachments_size,
113
+ allow_untrusted_urls
114
+ });
115
+ try {
116
+ await this.smtp.sendMail({
117
+ from: format_address(sender),
118
+ to,
119
+ subject,
120
+ html: body,
121
+ attachments: nodemailer_attachments
122
+ });
123
+ } catch (error) {
124
+ throw new Error(error?.message ?? String(error));
125
+ }
126
+ }
127
+ // ---------------------------------------------------------
128
+ // attachment handling (normalization + validation).
129
+ // ---------------------------------------------------------
130
+ /**
131
+ * convert a single generic attachment input into a nodemailer attachment.
132
+ */
133
+ build_attachment(it, opts = {}) {
134
+ if (typeof it === "string" || it instanceof vlib.Path) {
135
+ const path = it instanceof vlib.Path ? it : new vlib.Path(it);
136
+ const file_name = path.full_name();
137
+ const buf = path.load_sync();
138
+ return {
139
+ filename: file_name,
140
+ path: path.str(),
141
+ content: buf
142
+ };
143
+ }
144
+ if (Mail.Attachment.RestAPI.is(it)) {
145
+ const { name, mime_type, charset, compressed } = it;
146
+ if (typeof it.content === "string") {
147
+ const enc = (it.encoding ?? "base64").toLowerCase();
148
+ let payload = it.content;
149
+ if (enc === "base64") {
150
+ payload = Buffer.from(this.normalize_base64(it.content), "base64");
151
+ } else if (enc === "hex" || enc === "latin1" || enc === "binary" || enc === "utf8" || enc === "utf-8") {
152
+ const node_enc = enc === "utf-8" ? "utf8" : enc;
153
+ payload = Buffer.from(it.content, node_enc);
154
+ } else {
155
+ throw new import_errors.ExternalError({
156
+ status: import_status.Status.bad_request,
157
+ type: "InvalidAttachment",
158
+ message: `Unsupported encoding '${it.encoding}'.`
159
+ });
160
+ }
161
+ return {
162
+ filename: name ?? "attachment",
163
+ content: payload,
164
+ contentType: mime_type,
165
+ headers: this.build_content_headers({ charset, compressed })
166
+ };
167
+ }
168
+ if (it.url) {
169
+ if (!opts.allow_untrusted_urls && this.is_http_url(it.url)) {
170
+ throw new import_errors.ExternalError({
171
+ status: import_status.Status.bad_request,
172
+ type: "UntrustedUrlBlocked",
173
+ message: "http/https attachment urls are blocked by default. set 'allow_untrusted_urls' to true to allow."
174
+ });
175
+ }
176
+ return {
177
+ filename: name ?? "attachment",
178
+ path: it.url,
179
+ contentType: mime_type,
180
+ headers: this.build_content_headers({ charset, compressed })
181
+ };
182
+ }
183
+ throw new import_errors.ExternalError({
184
+ status: import_status.Status.bad_request,
185
+ type: "InvalidAttachment",
186
+ message: "Attachment payload missing { content, encoding } or { url }."
187
+ });
188
+ }
189
+ if (Mail.Attachment.is(it)) {
190
+ const { name, mime_type, charset, compressed } = it;
191
+ if (it.bytes) {
192
+ const buf = Buffer.isBuffer(it.bytes) ? it.bytes : Buffer.from(it.bytes);
193
+ return {
194
+ filename: name ?? "attachment",
195
+ content: buf,
196
+ contentType: mime_type,
197
+ headers: this.build_content_headers({ charset, compressed })
198
+ };
199
+ }
200
+ if (typeof it.content === "string") {
201
+ const enc = (it.encoding ?? "base64").toLowerCase();
202
+ let payload;
203
+ if (enc === "base64") {
204
+ payload = Buffer.from(this.normalize_base64(it.content), "base64");
205
+ } else if (enc === "hex" || enc === "latin1" || enc === "binary" || enc === "utf8" || enc === "utf-8") {
206
+ const node_enc = enc === "utf-8" ? "utf8" : enc;
207
+ payload = Buffer.from(it.content, node_enc);
208
+ } else {
209
+ throw new import_errors.ExternalError({
210
+ status: import_status.Status.bad_request,
211
+ type: "InvalidAttachment",
212
+ message: `Unsupported encoding '${it.encoding}'.`
213
+ });
214
+ }
215
+ return {
216
+ filename: name ?? "attachment",
217
+ content: payload,
218
+ contentType: mime_type,
219
+ headers: this.build_content_headers({ charset, compressed })
220
+ };
221
+ }
222
+ if (Mail.Attachment.Native.is(it)) {
223
+ return { ...it };
224
+ }
225
+ throw new import_errors.ExternalError({
226
+ status: import_status.Status.bad_request,
227
+ type: "InvalidAttachment",
228
+ message: "Attachment missing content: provide bytes or { content, encoding }."
229
+ });
230
+ }
231
+ throw new import_errors.ExternalError({
232
+ status: import_status.Status.bad_request,
233
+ type: "InvalidAttachment",
234
+ message: "Unsupported attachment input."
235
+ });
236
+ }
237
+ /** returns true when url starts with http:// or https:// */
238
+ is_http_url(u) {
239
+ const s = typeof u === "string" ? u : String(u);
240
+ return /^https?:\/\//i.test(s);
241
+ }
242
+ /**
243
+ * normalize and validate a mixed attachment input into nodemailer attachments.
244
+ * @param input mixed list of attachments.
245
+ * @param limits size/count validation limits.
246
+ * @returns normalized nodemailer attachments.
247
+ * @throws {ExternalError} when limits are exceeded.
248
+ */
249
+ normalize_and_validate_attachments(input, limits = {}) {
250
+ const items = input ?? [];
251
+ const nm_attachments = [];
252
+ for (const it of items) {
253
+ const built = this.build_attachment(it, limits);
254
+ nm_attachments.push(built);
255
+ }
256
+ const { max_attachments, max_attachment_size, max_attachments_size } = limits;
257
+ if (typeof max_attachments === "number" && max_attachments !== -1 && nm_attachments.length > max_attachments) {
258
+ throw new import_errors.ExternalError({
259
+ status: import_status.Status.bad_request,
260
+ type: "TooManyAttachments",
261
+ message: `Too many attachments. max is ${max_attachments}.`
262
+ });
263
+ }
264
+ if (typeof max_attachment_size === "number" && max_attachment_size !== -1) {
265
+ for (const a of nm_attachments) {
266
+ const size = this.measure_attachment_bytes(a);
267
+ if (size > max_attachment_size) {
268
+ throw new import_errors.ExternalError({
269
+ status: import_status.Status.bad_request,
270
+ type: "AttachmentTooLarge",
271
+ message: `Attachment '${a.filename ?? "unnamed"}' exceeds max size of ${max_attachment_size} bytes.`
272
+ });
273
+ }
274
+ }
275
+ }
276
+ if (typeof max_attachments_size === "number" && max_attachments_size !== -1) {
277
+ let total = 0;
278
+ for (const a of nm_attachments)
279
+ total += this.measure_attachment_bytes(a);
280
+ if (total > max_attachments_size) {
281
+ throw new import_errors.ExternalError({
282
+ status: import_status.Status.bad_request,
283
+ type: "AttachmentsTooLarge",
284
+ message: `Total attachments size ${total} bytes exceeds max of ${max_attachments_size} bytes.`
285
+ });
286
+ }
287
+ }
288
+ return { nodemailer_attachments: nm_attachments };
289
+ }
290
+ /**
291
+ * measure the on-wire payload size (approx) of a nodemailer attachment content.
292
+ * note: if `encoding: "base64"` is set, we decode to compute raw byte size.
293
+ */
294
+ measure_attachment_bytes(a) {
295
+ if (a.content) {
296
+ if (Buffer.isBuffer(a.content))
297
+ return a.content.length;
298
+ if (typeof a.content === "string") {
299
+ if (a.encoding === "base64") {
300
+ try {
301
+ return Buffer.from(a.content, "base64").length;
302
+ } catch {
303
+ return a.content.length;
304
+ }
305
+ }
306
+ return Buffer.byteLength(a.content);
307
+ }
308
+ return 0;
309
+ }
310
+ if (a.path) {
311
+ try {
312
+ const p = new vlib.Path(String(a.path));
313
+ return p.size ?? 0;
314
+ } catch {
315
+ return 0;
316
+ }
317
+ }
318
+ return 0;
319
+ }
320
+ /**
321
+ * normalize a base64 or url-safe base64 string to standard base64 (no decoding).
322
+ * trims whitespace and converts url-safe chars.
323
+ */
324
+ normalize_base64(b64) {
325
+ let t = String(b64).trim().replace(/-/g, "+").replace(/_/g, "/");
326
+ const mod = t.length % 4;
327
+ if (mod)
328
+ t += "=".repeat(4 - mod);
329
+ return t;
330
+ }
331
+ /**
332
+ * optional content headers for charset/compression hints.
333
+ * email clients usually ignore custom headers; added for traceability.
334
+ */
335
+ build_content_headers({ charset, compressed }) {
336
+ const headers = {};
337
+ if (charset)
338
+ headers["X-Attachment-Charset"] = charset;
339
+ if (typeof compressed === "boolean")
340
+ headers["X-Attachment-Compressed"] = compressed ? "gzip" : "none";
341
+ return Object.keys(headers).length ? headers : void 0;
342
+ }
343
+ }
344
+ (function(Mail2) {
345
+ let Attachment;
346
+ (function(Attachment2) {
347
+ Attachment2.encodings = /* @__PURE__ */ new Set(["base64", "hex", "utf8", "utf-8", "binary", "latin1"]);
348
+ function is(a) {
349
+ return a && typeof a === "object" && "name" in a && (!("path" in a) || typeof a.path === "string") && (!("mime_type" in a) || typeof a.mime_type === "string") && (!("charset" in a) || typeof a.charset === "string") && (!("bytes" in a) || (Buffer.isBuffer(a.bytes) || a.bytes instanceof Uint8Array)) && (!("content" in a) || typeof a.content === "string") && (!("encoding" in a) || Attachment2.encodings.has(a.encoding)) && (!("compressed" in a) || typeof a.compressed === "boolean");
350
+ }
351
+ Attachment2.is = is;
352
+ let RestAPI;
353
+ (function(RestAPI2) {
354
+ function is2(a) {
355
+ return a && typeof a === "object" && "name" in a && (!("path" in a) || typeof a.path === "string") && (!("mime_type" in a) || typeof a.mime_type === "string") && (!("charset" in a) || typeof a.charset === "string") && (!("compressed" in a) || typeof a.compressed === "boolean") && (!("content" in a) || typeof a.content === "string") && (!("encoding" in a) || Attachment2.encodings.has(a.encoding)) && (!("url" in a) || typeof a.url === "string");
356
+ }
357
+ RestAPI2.is = is2;
358
+ RestAPI2.Schema = {
359
+ name: { type: "string", required: true },
360
+ path: { type: "string", required: false },
361
+ mime_type: { type: "string", required: false },
362
+ charset: { type: "string", required: false },
363
+ compressed: { type: "boolean", required: false },
364
+ content: { type: "string", required: false },
365
+ encoding: { type: "string", enum: Array.from(Attachment2.encodings), required: false },
366
+ url: { type: "string", required: false }
367
+ };
368
+ })(RestAPI = Attachment2.RestAPI || (Attachment2.RestAPI = {}));
369
+ let Native;
370
+ (function(Native2) {
371
+ function is2(a) {
372
+ return a && typeof a === "object" && ("content" in a || "path" in a || "filename" in a);
373
+ }
374
+ Native2.is = is2;
375
+ })(Native = Attachment2.Native || (Attachment2.Native = {}));
376
+ })(Attachment = Mail2.Attachment || (Mail2.Attachment = {}));
377
+ })(Mail || (Mail = {}));
378
+ // Annotate the CommonJS export names for ESM import in node:
379
+ 0 && (module.exports = {
380
+ Mail
381
+ });
@@ -0,0 +1,297 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2022 - 2025 Daan van den Bergh. All rights reserved
4
+ */
5
+ type none = undefined | null;
6
+ export declare class Element {
7
+ type: string;
8
+ element_type: string;
9
+ tag: string;
10
+ _style: Record<string, string>;
11
+ _attrs: Record<string, any>;
12
+ classes: string[];
13
+ _inner_html: string | null;
14
+ children: any[];
15
+ _lang?: string;
16
+ _charset?: string;
17
+ _viewport?: string;
18
+ _title?: string;
19
+ _links?: (string | Record<string, string>)[];
20
+ _disabled?: boolean;
21
+ constructor({ type, tag, default_style, default_attributes, default_events, }: {
22
+ type?: string;
23
+ tag?: string;
24
+ default_style?: Record<string, string> | null;
25
+ default_attributes?: Record<string, string> | null;
26
+ default_events?: Record<string, (event: Event) => any> | null;
27
+ });
28
+ pad_numeric(value: string | number, padding?: string): string;
29
+ html(): string;
30
+ links(links: (string | Record<string, string>)[]): this;
31
+ /**
32
+ * Get or set the background color of the element.
33
+ * @param value The color value to set.
34
+ * @returns The current value when getting, or the element instance when setting.
35
+ * @funcs 3
36
+ */
37
+ background_color(): string | undefined;
38
+ background_color(value: string): this;
39
+ /**
40
+ * Get or set the display property.
41
+ * @funcs 3
42
+ */
43
+ display(): string | undefined;
44
+ display(value: string): this;
45
+ /**
46
+ * Get or set the background image.
47
+ * @funcs 3
48
+ */
49
+ background_image(): string | undefined;
50
+ background_image(value: string): this;
51
+ background_repeat(): string | undefined;
52
+ background_repeat(value: string): this;
53
+ border_top(): string | undefined;
54
+ border_top(value: string): this;
55
+ border_bottom(): string | undefined;
56
+ border_bottom(value: string): this;
57
+ border_right(): string | undefined;
58
+ border_right(value: string): this;
59
+ border_left(): string | undefined;
60
+ border_left(value: string): this;
61
+ border_color(): string | undefined;
62
+ border_color(value: string): this;
63
+ border_style(): string | undefined;
64
+ border_style(value: string): this;
65
+ cursor(): string | undefined;
66
+ cursor(value: string): this;
67
+ justify_items(): string | undefined;
68
+ justify_items(value: string): this;
69
+ letter_spacing(): string | undefined;
70
+ letter_spacing(value: string): this;
71
+ line_height(): string | undefined;
72
+ line_height(value: string): this;
73
+ outline(): string | undefined;
74
+ outline(value: string): this;
75
+ overflow(): string | undefined;
76
+ overflow(value: string): this;
77
+ overflow_x(): string | undefined;
78
+ overflow_x(value: string): this;
79
+ overflow_y(): string | undefined;
80
+ overflow_y(value: string): this;
81
+ text_align(): string | undefined;
82
+ text_align(value: string): this;
83
+ text_align_last(): string | undefined;
84
+ text_align_last(value: string): this;
85
+ text_decoration(): string | undefined;
86
+ text_decoration(value: string): this;
87
+ text_decoration_color(): string | undefined;
88
+ text_decoration_color(value: string): this;
89
+ text_wrap(): string | undefined;
90
+ text_wrap(value: string): this;
91
+ white_space(): string | undefined;
92
+ white_space(value: string): this;
93
+ overflow_wrap(): string | undefined;
94
+ overflow_wrap(value: string): this;
95
+ word_wrap(): string | undefined;
96
+ word_wrap(value: string): this;
97
+ box_shadow(): string | undefined;
98
+ box_shadow(value: string): this;
99
+ drop_shadow(): string | undefined;
100
+ drop_shadow(value: string): this;
101
+ font_size(): string | undefined;
102
+ font_size(value: string | number): this;
103
+ font(): string | undefined;
104
+ font(value: string | number): this;
105
+ font_family(): string | undefined;
106
+ font_family(value: string | number): this;
107
+ font_style(): string | undefined;
108
+ font_style(value: string | number): this;
109
+ font_weight(): string | undefined;
110
+ font_weight(value: string | number): this;
111
+ width(): string | undefined;
112
+ width(value: string | number): this;
113
+ min_width(): string | undefined;
114
+ min_width(value: string | number): this;
115
+ max_width(): string | undefined;
116
+ max_width(value: string | number): this;
117
+ height(): string | undefined;
118
+ height(value: string | number): this;
119
+ min_height(): string | undefined;
120
+ min_height(value: string | number): this;
121
+ max_height(): string | undefined;
122
+ max_height(value: string | number): this;
123
+ margin_top(): string | undefined;
124
+ margin_top(value: string | number): this;
125
+ margin_bottom(): string | undefined;
126
+ margin_bottom(value: string | number): this;
127
+ margin_right(): string | undefined;
128
+ margin_right(value: string | number): this;
129
+ margin_left(): string | undefined;
130
+ margin_left(value: string | number): this;
131
+ padding_top(): string | undefined;
132
+ padding_top(value: string | number): this;
133
+ padding_bottom(): string | undefined;
134
+ padding_bottom(value: string | number): this;
135
+ padding_right(): string | undefined;
136
+ padding_right(value: string | number): this;
137
+ padding_left(): string | undefined;
138
+ padding_left(value: string | number): this;
139
+ border_width(): string | undefined;
140
+ border_width(value: string | number): this;
141
+ align_items(): string | undefined;
142
+ align_items(value: string): this;
143
+ align_content(): string | undefined;
144
+ align_content(value: string): this;
145
+ background_size(): string | undefined;
146
+ background_size(value: string): this;
147
+ box_sizing(): string | undefined;
148
+ box_sizing(value: string): this;
149
+ flex(): string | undefined;
150
+ flex(value: string): this;
151
+ flex_grow(): string | undefined;
152
+ flex_grow(value: string): this;
153
+ flex_shrink(): string | undefined;
154
+ flex_shrink(value: string): this;
155
+ justify_content(): string | undefined;
156
+ justify_content(value: string): this;
157
+ mask(): string | undefined;
158
+ mask(value: string): this;
159
+ user_select(): string | undefined;
160
+ user_select(value: string): this;
161
+ styles(styles: Record<string, string>): this;
162
+ attrs(attrs: Record<string, string>): this;
163
+ events(events: Record<string, (event: Event) => void>): this;
164
+ add_class(name: string): this;
165
+ remove_class(name: string): this;
166
+ append(...children: (Element | any[] | Function | none)[]): this;
167
+ inner_html(): string | null;
168
+ inner_html(value: string): this;
169
+ center(): this;
170
+ padding(): string;
171
+ padding(value: string | number): this;
172
+ padding(top_bottom: string | number, left_right: string | number): this;
173
+ padding(top: string | number, right: string | number, bottom: string | number, left: string | number): this;
174
+ margin(): string | undefined;
175
+ margin(value: string | number): this;
176
+ margin(value: none | string | number, value2: none | string | number): this;
177
+ margin(value: none | string | number, value2: none | string | number, value3: none | string | number, value4: none | string | number): this;
178
+ fixed_width(): string | undefined;
179
+ fixed_width(value: string | number): this;
180
+ fixed_height(): string | undefined;
181
+ fixed_height(value: string | number): this;
182
+ frame(width: string | number | undefined, height: string | number | undefined): this;
183
+ min_frame(width: string | number | undefined, height: string | number | undefined): this;
184
+ max_frame(width: string | number | undefined, height: string | number | undefined): this;
185
+ fixed_frame(width: string | number | undefined, height: string | number | undefined): this;
186
+ color(): string | undefined;
187
+ color(value: string): this;
188
+ border(): string | undefined;
189
+ border(a: string): this;
190
+ border(a: string | number, b: string | number): this;
191
+ border(a: string | number, b: string | number, c: string | number): this;
192
+ border_radius(): string | undefined;
193
+ border_radius(value: string | number): this;
194
+ background(): string | undefined;
195
+ background(value: string): this;
196
+ ellipsis_overflow(): boolean | undefined;
197
+ ellipsis_overflow(to: boolean): this;
198
+ on_click(): ((e: this, t: Event) => void) | undefined;
199
+ on_click(callback: (e: this, t: Event) => void): this;
200
+ lang(): string | undefined;
201
+ lang(value: string): this;
202
+ charset(): string | undefined;
203
+ charset(value: string): this;
204
+ viewport(): string | undefined;
205
+ viewport(value: string): this;
206
+ title(): string | undefined;
207
+ title(value: string): this;
208
+ }
209
+ export declare class TitleElement extends Element {
210
+ constructor(text?: string);
211
+ }
212
+ export declare const Title: <Extensions extends object = {}>(text?: string | undefined) => TitleElement & Extensions;
213
+ export declare const NullTitle: <Extensions extends object = {}>() => TitleElement & Extensions;
214
+ export declare class SubtitleElement extends Element {
215
+ constructor(text?: string);
216
+ }
217
+ export declare const Subtitle: <Extensions extends object = {}>(text?: string | undefined) => SubtitleElement & Extensions;
218
+ export declare const NullSubtitle: <Extensions extends object = {}>() => SubtitleElement & Extensions;
219
+ export declare class TextElement extends Element {
220
+ constructor(text?: string);
221
+ }
222
+ export declare const Text: <Extensions extends object = {}>(text?: string | undefined) => TextElement & Extensions;
223
+ export declare const NullText: <Extensions extends object = {}>() => TextElement & Extensions;
224
+ export declare class ImageElement extends Element {
225
+ constructor(src?: string);
226
+ }
227
+ export declare const Image: <Extensions extends object = {}>(src?: string | undefined) => ImageElement & Extensions;
228
+ export declare const NullImageElement: <Extensions extends object = {}>() => ImageElement & Extensions;
229
+ export declare class ImageMaskElement extends Element {
230
+ mask_child: VStackElement;
231
+ _src?: string;
232
+ constructor(src?: string);
233
+ mask_color(): string | undefined;
234
+ mask_color(value: string): this;
235
+ src(): string | undefined;
236
+ src(value: string): this;
237
+ mask(): string | undefined;
238
+ mask(value: string): this;
239
+ }
240
+ export declare const ImageMask: <Extensions extends object = {}>(src?: string | undefined) => ImageMaskElement & Extensions;
241
+ export declare const NullImageMaskElement: <Extensions extends object = {}>() => ImageMaskElement & Extensions;
242
+ export declare class VStackElement extends Element {
243
+ constructor(...children: any[]);
244
+ }
245
+ export declare const VStack: <Extensions extends object = {}>(...args: any[]) => VStackElement & Extensions;
246
+ export declare const NullVStackElement: <Extensions extends object = {}>() => VStackElement & Extensions;
247
+ export declare class DividerElement extends Element {
248
+ constructor(text?: string);
249
+ }
250
+ export declare const Divider: <Extensions extends object = {}>(text?: string | undefined) => DividerElement & Extensions;
251
+ export declare const NullDividerElement: <Extensions extends object = {}>() => DividerElement & Extensions;
252
+ export declare class TableDataElement extends Element {
253
+ constructor(...children: any[]);
254
+ center(): this;
255
+ center_vertical(): this;
256
+ leading_vertical(): this;
257
+ trailing_vertical(): this;
258
+ }
259
+ export declare const TableData: <Extensions extends object = {}>(...args: any[]) => TableDataElement & Extensions;
260
+ export declare const NullTableDataElement: <Extensions extends object = {}>() => TableDataElement & Extensions;
261
+ export declare class TableRowElement extends Element {
262
+ private current_cell;
263
+ private _wrap;
264
+ constructor(...children: any[]);
265
+ append(...children: any[]): this;
266
+ wrap(): boolean;
267
+ wrap(value: boolean): this;
268
+ center(): this;
269
+ center_vertical(): this;
270
+ leading_vertical(): this;
271
+ trailing_vertical(): this;
272
+ }
273
+ export declare const TableRow: <Extensions extends object = {}>(...args: any[]) => TableRowElement & Extensions;
274
+ export declare const NullTableRowElement: <Extensions extends object = {}>() => TableRowElement & Extensions;
275
+ export declare class TableElement extends Element {
276
+ current_cell?: TableDataElement;
277
+ current_row: TableRowElement;
278
+ constructor(...children: any[]);
279
+ row(...children: any[]): this;
280
+ append(...children: any[]): this;
281
+ }
282
+ export declare const Table: <Extensions extends object = {}>(...args: any[]) => TableElement & Extensions;
283
+ export declare const NullTableElement: <Extensions extends object = {}>() => TableElement & Extensions;
284
+ export declare class CSSElement extends Element {
285
+ constructor(style?: string);
286
+ }
287
+ export declare const CSS: <Extensions extends object = {}>(style?: string | undefined) => CSSElement & Extensions;
288
+ export declare const NullCSSElement: <Extensions extends object = {}>() => CSSElement & Extensions;
289
+ export declare class MailElement extends Element {
290
+ private _subject?;
291
+ constructor(...children: any[]);
292
+ subject(): string | undefined;
293
+ subject(subj: string): this;
294
+ }
295
+ export declare const Mail: <Extensions extends object = {}>(...args: any[]) => MailElement & Extensions;
296
+ export declare const NullMailElement: <Extensions extends object = {}>() => MailElement & Extensions;
297
+ export {};