@vandenberghinc/volt 1.2.6 → 1.2.8

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 (472) hide show
  1. package/.libris/config.json +82 -0
  2. package/backend/dist/cjs/backend/src/blacklist.d.ts +12 -0
  3. package/backend/dist/cjs/backend/src/blacklist.js +78 -0
  4. package/backend/dist/cjs/backend/src/cli.d.ts +2 -0
  5. package/backend/dist/cjs/backend/src/cli.js +198 -0
  6. package/backend/dist/cjs/backend/src/database/collection.d.ts +1765 -0
  7. package/backend/dist/cjs/backend/src/database/collection.js +3301 -0
  8. package/backend/dist/cjs/backend/src/database/database.d.ts +92 -0
  9. package/backend/dist/cjs/backend/src/database/database.js +170 -0
  10. package/backend/dist/cjs/backend/src/database/document.d.ts +1 -0
  11. package/backend/dist/cjs/backend/src/database/document.js +15 -0
  12. package/backend/dist/cjs/backend/src/database/filters/filters.d.ts +6 -0
  13. package/backend/dist/cjs/backend/src/database/filters/filters.js +15 -0
  14. package/backend/dist/cjs/backend/src/database/filters/strict_filter.d.ts +223 -0
  15. package/backend/dist/cjs/backend/src/database/filters/strict_filter.js +15 -0
  16. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  17. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test.js +443 -0
  18. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  19. package/backend/dist/cjs/backend/src/database/filters/strict_filter_test_v0.js +15 -0
  20. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  21. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v0.js +15 -0
  22. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  23. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v1.js +15 -0
  24. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  25. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v2.js +15 -0
  26. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  27. package/backend/dist/cjs/backend/src/database/filters/strict_filter_v3.js +15 -0
  28. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  29. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter.js +15 -0
  30. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  31. package/backend/dist/cjs/backend/src/database/filters/strict_update_filter_test.js +355 -0
  32. package/backend/dist/cjs/backend/src/database/flatten.d.ts +78 -0
  33. package/backend/dist/cjs/backend/src/database/flatten.js +53 -0
  34. package/backend/dist/cjs/backend/src/database/flatten_test.d.ts +1 -0
  35. package/backend/dist/cjs/backend/src/database/flatten_test.js +175 -0
  36. package/backend/dist/cjs/backend/src/database/quota/quoata_v2.d.ts +533 -0
  37. package/backend/dist/cjs/backend/src/database/quota/quoata_v2.js +1046 -0
  38. package/backend/dist/cjs/backend/src/database/quota/quota.d.ts +551 -0
  39. package/backend/dist/cjs/backend/src/database/quota/quota.js +1108 -0
  40. package/backend/dist/cjs/backend/src/database/quota/quota_v1.d.ts +534 -0
  41. package/backend/dist/cjs/backend/src/database/quota/quota_v1.js +1087 -0
  42. package/backend/dist/cjs/backend/src/database/quota/safe_int.d.ts +412 -0
  43. package/backend/dist/cjs/backend/src/database/quota/safe_int.js +745 -0
  44. package/backend/dist/cjs/backend/src/endpoint.d.ts +346 -0
  45. package/backend/dist/cjs/backend/src/endpoint.js +468 -0
  46. package/backend/dist/cjs/backend/src/errors/index.d.ts +7 -0
  47. package/backend/dist/cjs/backend/src/errors/index.js +25 -0
  48. package/backend/dist/cjs/backend/src/errors/internal_external.d.ts +52 -0
  49. package/backend/dist/cjs/backend/src/errors/internal_external.js +95 -0
  50. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.d.ts +41 -0
  51. package/backend/dist/cjs/backend/src/errors/invalid_usage_error.js +47 -0
  52. package/backend/dist/cjs/backend/src/errors/system_error.d.ts +261 -0
  53. package/backend/dist/cjs/backend/src/errors/system_error.js +436 -0
  54. package/backend/dist/cjs/backend/src/events.d.ts +97 -0
  55. package/backend/dist/cjs/backend/src/events.js +15 -0
  56. package/backend/dist/cjs/backend/src/frontend.d.ts +13 -0
  57. package/backend/dist/cjs/backend/src/frontend.js +56 -0
  58. package/backend/dist/cjs/backend/src/image_endpoint.d.ts +44 -0
  59. package/backend/dist/cjs/backend/src/image_endpoint.js +185 -0
  60. package/backend/dist/cjs/backend/src/index.d.ts +23 -0
  61. package/backend/dist/cjs/backend/src/index.js +70 -0
  62. package/backend/dist/cjs/backend/src/logger.d.ts +5 -0
  63. package/backend/dist/cjs/backend/src/logger.js +15 -0
  64. package/backend/dist/cjs/backend/src/meta.d.ts +112 -0
  65. package/backend/dist/cjs/backend/src/meta.js +181 -0
  66. package/backend/dist/cjs/backend/src/payments/paddle.d.ts +329 -0
  67. package/backend/dist/cjs/backend/src/payments/paddle.js +1996 -0
  68. package/backend/dist/cjs/backend/src/payments/stripe/checkout.d.ts +113 -0
  69. package/backend/dist/cjs/backend/src/payments/stripe/checkout.js +295 -0
  70. package/backend/dist/cjs/backend/src/payments/stripe/customers.d.ts +17 -0
  71. package/backend/dist/cjs/backend/src/payments/stripe/customers.js +164 -0
  72. package/backend/dist/cjs/backend/src/payments/stripe/error.d.ts +74 -0
  73. package/backend/dist/cjs/backend/src/payments/stripe/error.js +64 -0
  74. package/backend/dist/cjs/backend/src/payments/stripe/events.d.ts +155 -0
  75. package/backend/dist/cjs/backend/src/payments/stripe/events.js +15 -0
  76. package/backend/dist/cjs/backend/src/payments/stripe/meters.d.ts +105 -0
  77. package/backend/dist/cjs/backend/src/payments/stripe/meters.js +230 -0
  78. package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  79. package/backend/dist/cjs/backend/src/payments/stripe/payment_methods.js +109 -0
  80. package/backend/dist/cjs/backend/src/payments/stripe/products.d.ts +519 -0
  81. package/backend/dist/cjs/backend/src/payments/stripe/products.js +650 -0
  82. package/backend/dist/cjs/backend/src/payments/stripe/stripe.d.ts +215 -0
  83. package/backend/dist/cjs/backend/src/payments/stripe/stripe.js +468 -0
  84. package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  85. package/backend/dist/cjs/backend/src/payments/stripe/subscriptions.js +557 -0
  86. package/backend/dist/cjs/backend/src/payments/stripe/utils.d.ts +63 -0
  87. package/backend/dist/cjs/backend/src/payments/stripe/utils.js +118 -0
  88. package/backend/dist/cjs/backend/src/payments/stripe/webhooks.d.ts +105 -0
  89. package/backend/dist/cjs/backend/src/payments/stripe/webhooks.js +627 -0
  90. package/backend/dist/cjs/backend/src/plugins/browser.d.ts +1 -0
  91. package/backend/dist/cjs/backend/src/plugins/browser.js +15 -0
  92. package/backend/dist/cjs/backend/src/plugins/communication.d.ts +70 -0
  93. package/backend/dist/cjs/backend/src/plugins/communication.js +196 -0
  94. package/backend/dist/cjs/backend/src/plugins/mail/mail.d.ts +255 -0
  95. package/backend/dist/cjs/backend/src/plugins/mail/mail.js +381 -0
  96. package/backend/dist/cjs/backend/src/plugins/mail/ui.d.ts +297 -0
  97. package/backend/dist/cjs/backend/src/plugins/mail/ui.js +1370 -0
  98. package/backend/dist/cjs/backend/src/plugins/pdf.d.ts +1 -0
  99. package/backend/dist/cjs/backend/src/plugins/pdf.js +1456 -0
  100. package/backend/dist/cjs/backend/src/plugins/thread_monitor.d.ts +18 -0
  101. package/backend/dist/cjs/backend/src/plugins/thread_monitor.js +116 -0
  102. package/backend/dist/cjs/backend/src/rate_limit.d.ts +148 -0
  103. package/backend/dist/cjs/backend/src/rate_limit.js +543 -0
  104. package/backend/dist/cjs/backend/src/route.d.ts +39 -0
  105. package/backend/dist/cjs/backend/src/route.js +172 -0
  106. package/backend/dist/cjs/backend/src/server.d.ts +502 -0
  107. package/backend/dist/cjs/backend/src/server.js +1710 -0
  108. package/backend/dist/cjs/backend/src/server.old.d.ts +594 -0
  109. package/backend/dist/cjs/backend/src/server.old.js +2058 -0
  110. package/backend/dist/cjs/backend/src/splash_screen.d.ts +93 -0
  111. package/backend/dist/cjs/backend/src/splash_screen.js +119 -0
  112. package/backend/dist/cjs/backend/src/status.d.ts +89 -0
  113. package/backend/dist/cjs/backend/src/status.js +211 -0
  114. package/backend/dist/cjs/backend/src/stream.d.ts +494 -0
  115. package/backend/dist/cjs/backend/src/stream.js +1370 -0
  116. package/backend/dist/cjs/backend/src/users.d.ts +926 -0
  117. package/backend/dist/cjs/backend/src/users.js +2223 -0
  118. package/backend/dist/cjs/backend/src/utils.d.ts +22 -0
  119. package/backend/dist/cjs/backend/src/utils.js +626 -0
  120. package/backend/dist/cjs/backend/src/view.d.ts +115 -0
  121. package/backend/dist/cjs/backend/src/view.js +519 -0
  122. package/backend/dist/cjs/backend/src/vinc.d.ts +6 -0
  123. package/backend/dist/cjs/backend/src/vinc.js +40 -0
  124. package/backend/dist/cjs/backend/src/volt.d.ts +24 -0
  125. package/backend/dist/cjs/backend/src/volt.js +72 -0
  126. package/backend/dist/cjs/frontend/src/modules/request.d.ts +70 -0
  127. package/backend/dist/cjs/frontend/src/modules/request.js +99 -0
  128. package/backend/dist/cjs/package.json +1 -0
  129. package/backend/dist/esm/backend/src/blacklist.d.ts +12 -0
  130. package/backend/dist/esm/backend/src/blacklist.js +52 -0
  131. package/backend/dist/esm/backend/src/cli.d.ts +2 -0
  132. package/backend/dist/esm/backend/src/cli.js +211 -0
  133. package/backend/dist/esm/backend/src/database/collection.d.ts +1765 -0
  134. package/backend/dist/esm/backend/src/database/collection.js +3779 -0
  135. package/backend/dist/esm/backend/src/database/database.d.ts +92 -0
  136. package/backend/dist/esm/backend/src/database/database.js +214 -0
  137. package/backend/dist/esm/backend/src/database/document.d.ts +1 -0
  138. package/backend/dist/esm/backend/src/database/document.js +558 -0
  139. package/backend/dist/esm/backend/src/database/filters/filters.d.ts +6 -0
  140. package/backend/dist/esm/backend/src/database/filters/filters.js +1 -0
  141. package/backend/dist/esm/backend/src/database/filters/strict_filter.d.ts +223 -0
  142. package/backend/dist/esm/backend/src/database/filters/strict_filter.js +3 -0
  143. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.d.ts +1 -0
  144. package/backend/dist/esm/backend/src/database/filters/strict_filter_test.js +505 -0
  145. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.d.ts +1 -0
  146. package/backend/dist/esm/backend/src/database/filters/strict_filter_test_v0.js +712 -0
  147. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.d.ts +50 -0
  148. package/backend/dist/esm/backend/src/database/filters/strict_filter_v0.js +5 -0
  149. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.d.ts +76 -0
  150. package/backend/dist/esm/backend/src/database/filters/strict_filter_v1.js +44 -0
  151. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.d.ts +75 -0
  152. package/backend/dist/esm/backend/src/database/filters/strict_filter_v2.js +5 -0
  153. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.d.ts +219 -0
  154. package/backend/dist/esm/backend/src/database/filters/strict_filter_v3.js +1 -0
  155. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  156. package/backend/dist/esm/backend/src/database/filters/strict_update_filter.js +5 -0
  157. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.d.ts +5 -0
  158. package/backend/dist/esm/backend/src/database/filters/strict_update_filter_test.js +415 -0
  159. package/backend/dist/esm/backend/src/database/flatten.d.ts +78 -0
  160. package/backend/dist/esm/backend/src/database/flatten.js +22 -0
  161. package/backend/dist/esm/backend/src/database/flatten_test.d.ts +1 -0
  162. package/backend/dist/esm/backend/src/database/flatten_test.js +174 -0
  163. package/backend/dist/esm/backend/src/database/quota/quoata_v2.d.ts +533 -0
  164. package/backend/dist/esm/backend/src/database/quota/quoata_v2.js +1155 -0
  165. package/backend/dist/esm/backend/src/database/quota/quota.d.ts +551 -0
  166. package/backend/dist/esm/backend/src/database/quota/quota.js +1219 -0
  167. package/backend/dist/esm/backend/src/database/quota/quota_v1.d.ts +534 -0
  168. package/backend/dist/esm/backend/src/database/quota/quota_v1.js +1242 -0
  169. package/backend/dist/esm/backend/src/database/quota/safe_int.d.ts +412 -0
  170. package/backend/dist/esm/backend/src/database/quota/safe_int.js +810 -0
  171. package/backend/dist/esm/backend/src/endpoint.d.ts +346 -0
  172. package/backend/dist/esm/backend/src/endpoint.js +479 -0
  173. package/backend/dist/esm/backend/src/errors/index.d.ts +7 -0
  174. package/backend/dist/esm/backend/src/errors/index.js +7 -0
  175. package/backend/dist/esm/backend/src/errors/internal_external.d.ts +52 -0
  176. package/backend/dist/esm/backend/src/errors/internal_external.js +86 -0
  177. package/backend/dist/esm/backend/src/errors/invalid_usage_error.d.ts +41 -0
  178. package/backend/dist/esm/backend/src/errors/invalid_usage_error.js +33 -0
  179. package/backend/dist/esm/backend/src/errors/system_error.d.ts +261 -0
  180. package/backend/dist/esm/backend/src/errors/system_error.js +444 -0
  181. package/backend/dist/esm/backend/src/events.d.ts +97 -0
  182. package/backend/dist/esm/backend/src/events.js +5 -0
  183. package/backend/dist/esm/backend/src/frontend.d.ts +13 -0
  184. package/backend/dist/esm/backend/src/frontend.js +23 -0
  185. package/backend/dist/esm/backend/src/image_endpoint.d.ts +44 -0
  186. package/backend/dist/esm/backend/src/image_endpoint.js +196 -0
  187. package/backend/dist/esm/backend/src/index.d.ts +23 -0
  188. package/backend/dist/esm/backend/src/index.js +26 -0
  189. package/backend/dist/esm/backend/src/logger.d.ts +5 -0
  190. package/backend/dist/esm/backend/src/logger.js +8 -0
  191. package/backend/dist/esm/backend/src/meta.d.ts +112 -0
  192. package/backend/dist/esm/backend/src/meta.js +152 -0
  193. package/backend/dist/esm/backend/src/payments/paddle.d.ts +329 -0
  194. package/backend/dist/esm/backend/src/payments/paddle.js +2276 -0
  195. package/backend/dist/esm/backend/src/payments/stripe/checkout.d.ts +113 -0
  196. package/backend/dist/esm/backend/src/payments/stripe/checkout.js +356 -0
  197. package/backend/dist/esm/backend/src/payments/stripe/customers.d.ts +17 -0
  198. package/backend/dist/esm/backend/src/payments/stripe/customers.js +193 -0
  199. package/backend/dist/esm/backend/src/payments/stripe/error.d.ts +74 -0
  200. package/backend/dist/esm/backend/src/payments/stripe/error.js +51 -0
  201. package/backend/dist/esm/backend/src/payments/stripe/events.d.ts +155 -0
  202. package/backend/dist/esm/backend/src/payments/stripe/events.js +5 -0
  203. package/backend/dist/esm/backend/src/payments/stripe/meters.d.ts +105 -0
  204. package/backend/dist/esm/backend/src/payments/stripe/meters.js +318 -0
  205. package/backend/dist/esm/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  206. package/backend/dist/esm/backend/src/payments/stripe/payment_methods.js +135 -0
  207. package/backend/dist/esm/backend/src/payments/stripe/products.d.ts +519 -0
  208. package/backend/dist/esm/backend/src/payments/stripe/products.js +896 -0
  209. package/backend/dist/esm/backend/src/payments/stripe/stripe.d.ts +215 -0
  210. package/backend/dist/esm/backend/src/payments/stripe/stripe.js +464 -0
  211. package/backend/dist/esm/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  212. package/backend/dist/esm/backend/src/payments/stripe/subscriptions.js +754 -0
  213. package/backend/dist/esm/backend/src/payments/stripe/utils.d.ts +63 -0
  214. package/backend/dist/esm/backend/src/payments/stripe/utils.js +131 -0
  215. package/backend/dist/esm/backend/src/payments/stripe/webhooks.d.ts +105 -0
  216. package/backend/dist/esm/backend/src/payments/stripe/webhooks.js +752 -0
  217. package/backend/dist/esm/backend/src/plugins/browser.d.ts +1 -0
  218. package/backend/dist/esm/backend/src/plugins/browser.js +170 -0
  219. package/backend/dist/esm/backend/src/plugins/communication.d.ts +70 -0
  220. package/backend/dist/esm/backend/src/plugins/communication.js +169 -0
  221. package/backend/dist/esm/backend/src/plugins/mail/mail.d.ts +255 -0
  222. package/backend/dist/esm/backend/src/plugins/mail/mail.js +396 -0
  223. package/backend/dist/esm/backend/src/plugins/mail/ui.d.ts +297 -0
  224. package/backend/dist/esm/backend/src/plugins/mail/ui.js +1400 -0
  225. package/backend/dist/esm/backend/src/plugins/pdf.d.ts +1 -0
  226. package/backend/dist/esm/backend/src/plugins/pdf.js +1694 -0
  227. package/backend/dist/esm/backend/src/plugins/thread_monitor.d.ts +18 -0
  228. package/backend/dist/esm/backend/src/plugins/thread_monitor.js +120 -0
  229. package/backend/dist/esm/backend/src/rate_limit.d.ts +148 -0
  230. package/backend/dist/esm/backend/src/rate_limit.js +667 -0
  231. package/backend/dist/esm/backend/src/route.d.ts +39 -0
  232. package/backend/dist/esm/backend/src/route.js +222 -0
  233. package/backend/dist/esm/backend/src/server.d.ts +502 -0
  234. package/backend/dist/esm/backend/src/server.js +2031 -0
  235. package/backend/dist/esm/backend/src/server.old.d.ts +594 -0
  236. package/backend/dist/esm/backend/src/server.old.js +2630 -0
  237. package/backend/dist/esm/backend/src/splash_screen.d.ts +93 -0
  238. package/backend/dist/esm/backend/src/splash_screen.js +156 -0
  239. package/backend/dist/esm/backend/src/status.d.ts +89 -0
  240. package/backend/dist/esm/backend/src/status.js +213 -0
  241. package/backend/dist/esm/backend/src/stream.d.ts +494 -0
  242. package/backend/dist/esm/backend/src/stream.js +1611 -0
  243. package/backend/dist/esm/backend/src/users.d.ts +926 -0
  244. package/backend/dist/esm/backend/src/users.js +2423 -0
  245. package/backend/dist/esm/backend/src/utils.d.ts +22 -0
  246. package/backend/dist/esm/backend/src/utils.js +463 -0
  247. package/backend/dist/esm/backend/src/view.d.ts +115 -0
  248. package/backend/dist/esm/backend/src/view.js +584 -0
  249. package/backend/dist/esm/backend/src/vinc.d.ts +6 -0
  250. package/backend/dist/esm/backend/src/vinc.js +6 -0
  251. package/backend/dist/esm/backend/src/volt.d.ts +24 -0
  252. package/backend/dist/esm/backend/src/volt.js +27 -0
  253. package/backend/dist/esm/frontend/src/modules/request.d.ts +70 -0
  254. package/backend/dist/esm/frontend/src/modules/request.js +117 -0
  255. package/backend/old/file_watcher.ts +359 -0
  256. package/backend/old/request.deprc.js +626 -0
  257. package/backend/old/response.deprc.js +354 -0
  258. package/frontend/dist/backend/src/database/collection.d.ts +1765 -0
  259. package/frontend/dist/backend/src/database/collection.js +3779 -0
  260. package/frontend/dist/backend/src/database/database.d.ts +92 -0
  261. package/frontend/dist/backend/src/database/database.js +214 -0
  262. package/frontend/dist/backend/src/database/filters/filters.d.ts +6 -0
  263. package/frontend/dist/backend/src/database/filters/filters.js +1 -0
  264. package/frontend/dist/backend/src/database/filters/strict_filter.d.ts +223 -0
  265. package/frontend/dist/backend/src/database/filters/strict_filter.js +3 -0
  266. package/frontend/dist/backend/src/database/filters/strict_update_filter.d.ts +165 -0
  267. package/frontend/dist/backend/src/database/filters/strict_update_filter.js +5 -0
  268. package/frontend/dist/backend/src/database/flatten.d.ts +78 -0
  269. package/frontend/dist/backend/src/database/flatten.js +22 -0
  270. package/frontend/dist/backend/src/endpoint.d.ts +346 -0
  271. package/frontend/dist/backend/src/endpoint.js +479 -0
  272. package/frontend/dist/backend/src/errors/index.d.ts +7 -0
  273. package/frontend/dist/backend/src/errors/index.js +7 -0
  274. package/frontend/dist/backend/src/errors/internal_external.d.ts +52 -0
  275. package/frontend/dist/backend/src/errors/internal_external.js +86 -0
  276. package/frontend/dist/backend/src/errors/invalid_usage_error.d.ts +41 -0
  277. package/frontend/dist/backend/src/errors/invalid_usage_error.js +33 -0
  278. package/frontend/dist/backend/src/errors/system_error.d.ts +261 -0
  279. package/frontend/dist/backend/src/errors/system_error.js +444 -0
  280. package/frontend/dist/backend/src/events.d.ts +97 -0
  281. package/frontend/dist/backend/src/events.js +5 -0
  282. package/frontend/dist/backend/src/frontend.d.ts +13 -0
  283. package/frontend/dist/backend/src/frontend.js +23 -0
  284. package/frontend/dist/backend/src/image_endpoint.d.ts +44 -0
  285. package/frontend/dist/backend/src/image_endpoint.js +196 -0
  286. package/frontend/dist/backend/src/meta.d.ts +112 -0
  287. package/frontend/dist/backend/src/meta.js +152 -0
  288. package/frontend/dist/backend/src/payments/paddle.d.ts +329 -0
  289. package/frontend/dist/backend/src/payments/paddle.js +2276 -0
  290. package/frontend/dist/backend/src/payments/stripe/checkout.d.ts +113 -0
  291. package/frontend/dist/backend/src/payments/stripe/checkout.js +356 -0
  292. package/frontend/dist/backend/src/payments/stripe/customers.d.ts +17 -0
  293. package/frontend/dist/backend/src/payments/stripe/customers.js +193 -0
  294. package/frontend/dist/backend/src/payments/stripe/error.d.ts +74 -0
  295. package/frontend/dist/backend/src/payments/stripe/error.js +51 -0
  296. package/frontend/dist/backend/src/payments/stripe/events.d.ts +155 -0
  297. package/frontend/dist/backend/src/payments/stripe/events.js +5 -0
  298. package/frontend/dist/backend/src/payments/stripe/meters.d.ts +105 -0
  299. package/frontend/dist/backend/src/payments/stripe/meters.js +318 -0
  300. package/frontend/dist/backend/src/payments/stripe/payment_methods.d.ts +58 -0
  301. package/frontend/dist/backend/src/payments/stripe/payment_methods.js +135 -0
  302. package/frontend/dist/backend/src/payments/stripe/products.d.ts +519 -0
  303. package/frontend/dist/backend/src/payments/stripe/products.js +896 -0
  304. package/frontend/dist/backend/src/payments/stripe/stripe.d.ts +215 -0
  305. package/frontend/dist/backend/src/payments/stripe/stripe.js +464 -0
  306. package/frontend/dist/backend/src/payments/stripe/subscriptions.d.ts +172 -0
  307. package/frontend/dist/backend/src/payments/stripe/subscriptions.js +754 -0
  308. package/frontend/dist/backend/src/payments/stripe/utils.d.ts +63 -0
  309. package/frontend/dist/backend/src/payments/stripe/utils.js +131 -0
  310. package/frontend/dist/backend/src/payments/stripe/webhooks.d.ts +105 -0
  311. package/frontend/dist/backend/src/payments/stripe/webhooks.js +752 -0
  312. package/frontend/dist/backend/src/plugins/mail/mail.d.ts +255 -0
  313. package/frontend/dist/backend/src/plugins/mail/mail.js +396 -0
  314. package/frontend/dist/backend/src/plugins/mail/ui.d.ts +297 -0
  315. package/frontend/dist/backend/src/plugins/mail/ui.js +1400 -0
  316. package/frontend/dist/backend/src/rate_limit.d.ts +148 -0
  317. package/frontend/dist/backend/src/rate_limit.js +667 -0
  318. package/frontend/dist/backend/src/route.d.ts +39 -0
  319. package/frontend/dist/backend/src/route.js +222 -0
  320. package/frontend/dist/backend/src/server.d.ts +502 -0
  321. package/frontend/dist/backend/src/server.js +2031 -0
  322. package/frontend/dist/backend/src/splash_screen.d.ts +93 -0
  323. package/frontend/dist/backend/src/splash_screen.js +156 -0
  324. package/frontend/dist/backend/src/status.d.ts +89 -0
  325. package/frontend/dist/backend/src/status.js +213 -0
  326. package/frontend/dist/backend/src/stream.d.ts +494 -0
  327. package/frontend/dist/backend/src/stream.js +1611 -0
  328. package/frontend/dist/backend/src/users.d.ts +926 -0
  329. package/frontend/dist/backend/src/users.js +2423 -0
  330. package/frontend/dist/backend/src/utils.d.ts +22 -0
  331. package/frontend/dist/backend/src/utils.js +463 -0
  332. package/frontend/dist/backend/src/view.d.ts +115 -0
  333. package/frontend/dist/backend/src/view.js +584 -0
  334. package/frontend/dist/frontend/src/css/adyen.css +92 -0
  335. package/frontend/dist/frontend/src/css/volt.css +75 -0
  336. package/frontend/dist/frontend/src/elements/base.d.ts +3743 -0
  337. package/frontend/dist/frontend/src/elements/base.js +12151 -0
  338. package/frontend/dist/frontend/src/elements/module.d.ts +95 -0
  339. package/frontend/dist/frontend/src/elements/module.js +216 -0
  340. package/frontend/dist/frontend/src/elements/register_element.d.ts +3 -0
  341. package/frontend/dist/frontend/src/elements/register_element.js +22 -0
  342. package/frontend/dist/frontend/src/elements/resize_query_manager.d.ts +0 -0
  343. package/frontend/dist/frontend/src/elements/resize_query_manager.js +150 -0
  344. package/frontend/dist/frontend/src/elements/types.d.ts +52 -0
  345. package/frontend/dist/frontend/src/elements/types.js +5 -0
  346. package/frontend/dist/frontend/src/index.d.ts +21 -0
  347. package/frontend/dist/frontend/src/index.js +29 -0
  348. package/frontend/dist/frontend/src/modules/attachment.d.ts +126 -0
  349. package/frontend/dist/frontend/src/modules/attachment.js +306 -0
  350. package/frontend/dist/frontend/src/modules/auth.d.ts +44 -0
  351. package/frontend/dist/frontend/src/modules/auth.js +80 -0
  352. package/frontend/dist/frontend/src/modules/color.d.ts +160 -0
  353. package/frontend/dist/frontend/src/modules/color.js +316 -0
  354. package/frontend/dist/frontend/src/modules/compression.d.ts +39 -0
  355. package/frontend/dist/frontend/src/modules/compression.js +102 -0
  356. package/frontend/dist/frontend/src/modules/cookies.d.ts +44 -0
  357. package/frontend/dist/frontend/src/modules/cookies.js +143 -0
  358. package/frontend/dist/frontend/src/modules/events.d.ts +31 -0
  359. package/frontend/dist/frontend/src/modules/events.js +79 -0
  360. package/frontend/dist/frontend/src/modules/google.d.ts +23 -0
  361. package/frontend/dist/frontend/src/modules/google.js +52 -0
  362. package/frontend/dist/frontend/src/modules/meta.d.ts +14 -0
  363. package/frontend/dist/frontend/src/modules/meta.js +48 -0
  364. package/frontend/dist/frontend/src/modules/paddle.d.ts +1207 -0
  365. package/frontend/dist/frontend/src/modules/paddle.js +2594 -0
  366. package/frontend/dist/frontend/src/modules/request.d.ts +70 -0
  367. package/frontend/dist/frontend/src/modules/request.js +117 -0
  368. package/frontend/dist/frontend/src/modules/settings.d.ts +3 -0
  369. package/frontend/dist/frontend/src/modules/settings.js +5 -0
  370. package/frontend/dist/frontend/src/modules/statics.d.ts +21 -0
  371. package/frontend/dist/frontend/src/modules/statics.js +43 -0
  372. package/frontend/dist/frontend/src/modules/stripe/cart.d.ts +112 -0
  373. package/frontend/dist/frontend/src/modules/stripe/cart.js +321 -0
  374. package/frontend/dist/frontend/src/modules/stripe/checkout.d.ts +7 -0
  375. package/frontend/dist/frontend/src/modules/stripe/checkout.js +37 -0
  376. package/frontend/dist/frontend/src/modules/stripe/index.m.d.ts +6 -0
  377. package/frontend/dist/frontend/src/modules/stripe/index.m.js +6 -0
  378. package/frontend/dist/frontend/src/modules/stripe/payments.d.ts +58 -0
  379. package/frontend/dist/frontend/src/modules/stripe/payments.js +92 -0
  380. package/frontend/dist/frontend/src/modules/support.d.ts +30 -0
  381. package/frontend/dist/frontend/src/modules/support.js +53 -0
  382. package/frontend/dist/frontend/src/modules/theme.d.ts +133 -0
  383. package/frontend/dist/frontend/src/modules/theme.js +406 -0
  384. package/frontend/dist/frontend/src/modules/themes.d.ts +12 -0
  385. package/frontend/dist/frontend/src/modules/themes.js +22 -0
  386. package/frontend/dist/frontend/src/modules/user.d.ts +164 -0
  387. package/frontend/dist/frontend/src/modules/user.js +270 -0
  388. package/frontend/dist/frontend/src/modules/utils.d.ts +176 -0
  389. package/frontend/dist/frontend/src/modules/utils.js +569 -0
  390. package/frontend/dist/frontend/src/types/gradient.d.ts +29 -0
  391. package/frontend/dist/frontend/src/types/gradient.js +79 -0
  392. package/frontend/dist/frontend/src/ui/border_button.d.ts +94 -0
  393. package/frontend/dist/frontend/src/ui/border_button.js +228 -0
  394. package/frontend/dist/frontend/src/ui/button.d.ts +241 -0
  395. package/frontend/dist/frontend/src/ui/button.js +682 -0
  396. package/frontend/dist/frontend/src/ui/canvas.d.ts +138 -0
  397. package/frontend/dist/frontend/src/ui/canvas.js +444 -0
  398. package/frontend/dist/frontend/src/ui/checkbox.d.ts +74 -0
  399. package/frontend/dist/frontend/src/ui/checkbox.js +321 -0
  400. package/frontend/dist/frontend/src/ui/code.d.ts +235 -0
  401. package/frontend/dist/frontend/src/ui/code.js +1007 -0
  402. package/frontend/dist/frontend/src/ui/context_menu.d.ts +36 -0
  403. package/frontend/dist/frontend/src/ui/context_menu.js +205 -0
  404. package/frontend/dist/frontend/src/ui/css.d.ts +16 -0
  405. package/frontend/dist/frontend/src/ui/css.js +48 -0
  406. package/frontend/dist/frontend/src/ui/divider.d.ts +15 -0
  407. package/frontend/dist/frontend/src/ui/divider.js +78 -0
  408. package/frontend/dist/frontend/src/ui/dropdown.d.ts +176 -0
  409. package/frontend/dist/frontend/src/ui/dropdown.js +481 -0
  410. package/frontend/dist/frontend/src/ui/for_each.d.ts +37 -0
  411. package/frontend/dist/frontend/src/ui/for_each.js +92 -0
  412. package/frontend/dist/frontend/src/ui/form.d.ts +34 -0
  413. package/frontend/dist/frontend/src/ui/form.js +233 -0
  414. package/frontend/dist/frontend/src/ui/frame_modes.d.ts +37 -0
  415. package/frontend/dist/frontend/src/ui/frame_modes.js +108 -0
  416. package/frontend/dist/frontend/src/ui/google_map.d.ts +24 -0
  417. package/frontend/dist/frontend/src/ui/google_map.js +106 -0
  418. package/frontend/dist/frontend/src/ui/gradient.d.ts +25 -0
  419. package/frontend/dist/frontend/src/ui/gradient.js +131 -0
  420. package/frontend/dist/frontend/src/ui/image.d.ts +111 -0
  421. package/frontend/dist/frontend/src/ui/image.js +576 -0
  422. package/frontend/dist/frontend/src/ui/input.d.ts +392 -0
  423. package/frontend/dist/frontend/src/ui/input.js +1201 -0
  424. package/frontend/dist/frontend/src/ui/link.d.ts +25 -0
  425. package/frontend/dist/frontend/src/ui/link.js +140 -0
  426. package/frontend/dist/frontend/src/ui/list.d.ts +37 -0
  427. package/frontend/dist/frontend/src/ui/list.js +170 -0
  428. package/frontend/dist/frontend/src/ui/loader_button.d.ts +80 -0
  429. package/frontend/dist/frontend/src/ui/loader_button.js +193 -0
  430. package/frontend/dist/frontend/src/ui/loaders.d.ts +57 -0
  431. package/frontend/dist/frontend/src/ui/loaders.js +157 -0
  432. package/frontend/dist/frontend/src/ui/popup.d.ts +94 -0
  433. package/frontend/dist/frontend/src/ui/popup.js +510 -0
  434. package/frontend/dist/frontend/src/ui/pseudo.d.ts +44 -0
  435. package/frontend/dist/frontend/src/ui/pseudo.js +154 -0
  436. package/frontend/dist/frontend/src/ui/scroller.d.ts +105 -0
  437. package/frontend/dist/frontend/src/ui/scroller.js +1253 -0
  438. package/frontend/dist/frontend/src/ui/slider.d.ts +45 -0
  439. package/frontend/dist/frontend/src/ui/slider.js +217 -0
  440. package/frontend/dist/frontend/src/ui/spacer.d.ts +15 -0
  441. package/frontend/dist/frontend/src/ui/spacer.js +78 -0
  442. package/frontend/dist/frontend/src/ui/span.d.ts +15 -0
  443. package/frontend/dist/frontend/src/ui/span.js +73 -0
  444. package/frontend/dist/frontend/src/ui/stack.d.ts +66 -0
  445. package/frontend/dist/frontend/src/ui/stack.js +335 -0
  446. package/frontend/dist/frontend/src/ui/steps.d.ts +131 -0
  447. package/frontend/dist/frontend/src/ui/steps.js +308 -0
  448. package/frontend/dist/frontend/src/ui/style.d.ts +17 -0
  449. package/frontend/dist/frontend/src/ui/style.js +73 -0
  450. package/frontend/dist/frontend/src/ui/switch.d.ts +69 -0
  451. package/frontend/dist/frontend/src/ui/switch.js +357 -0
  452. package/frontend/dist/frontend/src/ui/table.d.ts +100 -0
  453. package/frontend/dist/frontend/src/ui/table.js +405 -0
  454. package/frontend/dist/frontend/src/ui/tabs.d.ts +111 -0
  455. package/frontend/dist/frontend/src/ui/tabs.js +424 -0
  456. package/frontend/dist/frontend/src/ui/text.d.ts +15 -0
  457. package/frontend/dist/frontend/src/ui/text.js +83 -0
  458. package/frontend/dist/frontend/src/ui/title.d.ts +91 -0
  459. package/frontend/dist/frontend/src/ui/title.js +272 -0
  460. package/frontend/dist/frontend/src/ui/ui.d.ts +35 -0
  461. package/frontend/dist/frontend/src/ui/ui.js +38 -0
  462. package/frontend/dist/frontend/src/ui/view.d.ts +15 -0
  463. package/frontend/dist/frontend/src/ui/view.js +88 -0
  464. package/frontend/dist/frontend/src/volt.d.ts +20 -0
  465. package/frontend/dist/frontend/src/volt.js +27 -0
  466. package/frontend/examples/theme/theme.ts +58 -0
  467. package/frontend/tools/bundle_d_ts.js +71 -0
  468. package/frontend/tools/convert_to_jsdoc_input.txt +9452 -0
  469. package/frontend/tools/convert_to_jsdoc_output.txt +7626 -0
  470. package/frontend/tools/convert_to_jsdoc_tmp.js +345 -0
  471. package/frontend/tools/scan_mixed_imports.js +69 -0
  472. package/package.json +1 -5
@@ -0,0 +1,519 @@
1
+ /**
2
+ * @author Daan van den Bergh
3
+ * @copyright © 2026 - 2026 Daan van den Bergh. All rights reserved
4
+ */
5
+ import Stripe from "stripe";
6
+ import { Server } from "../../server.js";
7
+ /**
8
+ * The recurring billing interval for subscription products.
9
+ */
10
+ export type RecurringInterval = "day" | "week" | "month" | "year";
11
+ /**
12
+ * The tax behaviour for a product or price.
13
+ */
14
+ export type TaxBehavior = "inclusive" | "exclusive" | "unspecified";
15
+ /**
16
+ * An internal product id, simple type alias for clarity.
17
+ *
18
+ * @docs
19
+ */
20
+ export type ProductId = string;
21
+ /**
22
+ * An internal subscription plan id, simple type alias for clarity.
23
+ *
24
+ * @docs
25
+ */
26
+ export type SubscriptionPlanId = string;
27
+ /**
28
+ * The base product interface.
29
+ */
30
+ interface BaseProduct {
31
+ /**
32
+ * A unique product identifier.
33
+ * This identifier should not be changed once set, as it is used to link the product to existing Stripe products and prices.
34
+ * This identifier should be unique accross all products and subscription plans.
35
+ */
36
+ id: ProductId;
37
+ /** The name of the product, meant to be displayable to the user. */
38
+ name: string;
39
+ /** The description of the product. */
40
+ description: string;
41
+ /** The three-letter ISO currency code (e.g., "usd", "eur"). */
42
+ currency: string;
43
+ /**
44
+ * A tax code for this product.
45
+ * See https://docs.stripe.com/tax/tax-codes for more details and to find the right tax code for your product.
46
+ */
47
+ tax_code: string;
48
+ /** The tax behaviour. */
49
+ tax_behavior: TaxBehavior;
50
+ /** Optional product images (public URLs). */
51
+ images?: string[];
52
+ }
53
+ /**
54
+ * The one-time payment product interface.
55
+ * @warning
56
+ * A product is a public type and is accessible in the frontend,
57
+ * through the default Volt Rest API.
58
+ * @docs
59
+ */
60
+ export interface OneTimePaymentProduct extends BaseProduct {
61
+ /** The product type. */
62
+ type: "one_time";
63
+ /** The price for this product in cents. */
64
+ price: number;
65
+ /** Quantity limits for one-time purchases. */
66
+ quantity_rules?: {
67
+ /** Minimum quantity allowed. */
68
+ min?: number;
69
+ /** Maximum quantity allowed. */
70
+ max?: number;
71
+ };
72
+ }
73
+ /**
74
+ * A subscription plan.
75
+ *
76
+ * @warning
77
+ * A subscription plan is a public type and is accessible in the frontend,
78
+ * through the default Volt Rest API.
79
+ *
80
+ * @docs
81
+ */
82
+ export interface SubscriptionPlan {
83
+ /**
84
+ * The plan identifier.
85
+ * This identifier should not be changed once set, as it is used to link the plan to existing Stripe prices.
86
+ * This identifier should be unique accross all products and subscription plans.
87
+ */
88
+ id: SubscriptionPlanId;
89
+ /** The name of the plan, meant to be displayable to the user. */
90
+ name: string;
91
+ /** The description of the plan. */
92
+ description: string;
93
+ /** The price in cents. */
94
+ price: number;
95
+ /** The billing interval (e.g., "month", "year"). */
96
+ interval: RecurringInterval;
97
+ /** The recurring interval count. */
98
+ interval_count: number;
99
+ }
100
+ /**
101
+ * A subscription based product interface.
102
+ *
103
+ * @warning
104
+ * A subscription product is a public type and is accessible in the frontend,
105
+ * through the default Volt Rest API.
106
+ *
107
+ * @docs
108
+ */
109
+ export interface SubscriptionProduct extends BaseProduct {
110
+ /** The product type. */
111
+ type: "subscription";
112
+ /** Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1. */
113
+ trial_days?: number;
114
+ /**
115
+ * Optional billing anchor strategy for subscriptions.
116
+ * @default "immediately"
117
+ */
118
+ billing_anchor?: "immediately" | "first_of_month";
119
+ /**
120
+ * The subscription plans.
121
+ * @warning
122
+ * A user can only be subscribed to a single plan per subscription product,
123
+ * even if multiple plans are defined here.
124
+ * When a user subscribes to a subscription plan while it is already subscribed to another
125
+ * plan of the same product, then the old plan is cancelled.
126
+ */
127
+ plans: SubscriptionPlan[];
128
+ }
129
+ /**
130
+ * Supported aggregation formulas for Stripe Billing meters.
131
+ * @see https://docs.stripe.com/api/billing/meter/create
132
+ */
133
+ export type MeterAggregationFormula = "count" | "sum" | "last";
134
+ /**
135
+ * Nested types for the meter product definition.
136
+ *
137
+ * A meter product defines:
138
+ * - a Stripe Billing Meter (usage aggregation definition)
139
+ * - a Stripe Product + recurring metered Price attached to that meter
140
+ *
141
+ * Stripe docs:
142
+ * - Meters: https://docs.stripe.com/api/billing/meter
143
+ * - Create meter: https://docs.stripe.com/api/billing/meter/create
144
+ * - Prices (recurring.meter): https://docs.stripe.com/api/prices/create
145
+ */
146
+ export declare namespace MeterProduct {
147
+ /**
148
+ * The meter product kind.
149
+ */
150
+ type Kind = "units" | "money";
151
+ /** Unit price, either by integer (smallest currency unit) or decimal string. */
152
+ type UnitPrice = number | {
153
+ decimals: string;
154
+ };
155
+ /**
156
+ * A **unit-based** metered billing product backed by a Stripe Billing Meter and a **metered recurring Price**.
157
+ *
158
+ * Use this when:
159
+ * - you measure usage as **integer units** (requests, tokens, bytes, seconds, etc.)
160
+ * - and you want Stripe to bill based on aggregated usage over a billing interval
161
+ *
162
+ * Pricing:
163
+ * - `price: number` uses Stripe Price `unit_amount` (integer, smallest currency unit — e.g., cents)
164
+ * - `price: { decimals: string }` uses Stripe Price `unit_amount_decimal` (string, smallest currency unit — up to 12 decimals)
165
+ *
166
+ * Recording usage:
167
+ * - Call `record_meter_usage(..., { value })` with an **integer** `value`.
168
+ * - The meter's `aggregation_formula` controls how events are aggregated (e.g., `"sum"`, `"count"`, `"last"`).
169
+ *
170
+ * Stripe docs:
171
+ * - Meters: https://docs.stripe.com/api/billing/meter
172
+ * - Create meter: https://docs.stripe.com/api/billing/meter/create
173
+ * - Create price (recurring.meter): https://docs.stripe.com/api/prices/create
174
+ *
175
+ * @warning
176
+ * A meter product is a public type and is accessible in the frontend,
177
+ * through the default Volt Rest API.
178
+ *
179
+ * @example
180
+ * {Charge 1 cent per request}
181
+ * ```ts
182
+ * const products: Product[] = [{
183
+ * id: "api_requests",
184
+ * type: "meter",
185
+ * kind: "units",
186
+ * name: "API Requests",
187
+ * description: "Usage-based billing per request.",
188
+ * currency: "usd",
189
+ * tax_code: "txcd_10103000",
190
+ * tax_behavior: "unspecified",
191
+ * interval: "month",
192
+ * interval_count: 1,
193
+ * meter_event_name: "api_requests_v1",
194
+ * price: 1, // 1 cent per unit
195
+ * }];
196
+ *
197
+ * await record_meter_usage(stripe, {
198
+ * uid,
199
+ * product: initialized.api_requests,
200
+ * value: 1,
201
+ * all_products: initialized_all,
202
+ * });
203
+ * ```
204
+ *
205
+ * @example
206
+ * {Charge fractional cents per token}
207
+ * ```ts
208
+ * const products: Product[] = [{
209
+ * id: "tokens",
210
+ * type: "meter",
211
+ * kind: "units",
212
+ * name: "Tokens",
213
+ * description: "Charged per token with fractional cents.",
214
+ * currency: "usd",
215
+ * tax_code: "txcd_10103000",
216
+ * tax_behavior: "unspecified",
217
+ * interval: "month",
218
+ * interval_count: 1,
219
+ * meter_event_name: "tokens_v1",
220
+ * price: { decimals: "0.000001" }, // cents; $0.00000001 per token
221
+ * }];
222
+ * ```
223
+ *
224
+ * @docs
225
+ */
226
+ interface UnitsMeter extends BaseProduct {
227
+ /** The product type. */
228
+ type: "meter";
229
+ /**
230
+ * Meter kind:
231
+ * - `"units"` means you report integer usage units with `value`,
232
+ * and configure the price per unit here.
233
+ * @dev_note Keep this required and not defaulted to "units"
234
+ * this makes code easier to maintain and avoids type casting / runtime code mistakes.
235
+ */
236
+ kind: "units";
237
+ /**
238
+ * Unit price in the smallest currency unit (e.g., cents).
239
+ * - If number: must be an integer (Stripe `unit_amount`).
240
+ * - If object: decimals string up to 12 decimals (Stripe `unit_amount_decimal`).
241
+ */
242
+ price: UnitPrice;
243
+ /** The billing interval for the usage price (typically `"month"`). */
244
+ interval: RecurringInterval;
245
+ /** The recurring interval count. */
246
+ interval_count: number;
247
+ /**
248
+ * The Stripe meter event name.
249
+ * This must be stable and unique across your Stripe account.
250
+ * @see https://docs.stripe.com/api/billing/meter/create
251
+ */
252
+ meter_event_name: string;
253
+ /**
254
+ * The meter's default aggregation formula.
255
+ * @default "sum"
256
+ * @see https://docs.stripe.com/api/billing/meter/create
257
+ */
258
+ aggregation_formula?: MeterAggregationFormula;
259
+ /**
260
+ * The payload key used to map usage events to a Stripe customer id.
261
+ * Stripe currently requires customer_mapping.type="by_id".
262
+ * @default "stripe_customer_id"
263
+ * @see https://docs.stripe.com/api/billing/meter/create
264
+ */
265
+ customer_mapping_event_payload_key?: string;
266
+ /**
267
+ * The payload key used as the numeric value for the meter.
268
+ * @default "value"
269
+ * @see https://docs.stripe.com/api/billing/meter/create
270
+ */
271
+ value_settings_event_payload_key?: string;
272
+ /**
273
+ * Optional pre-aggregation time window.
274
+ * @see https://docs.stripe.com/api/billing/meter/create
275
+ */
276
+ event_time_window?: "hour" | "day";
277
+ }
278
+ /**
279
+ * A **money-based** meter product for charging *arbitrary per-event currency amounts*.
280
+ *
281
+ * Use this when:
282
+ * - you compute a currency cost per request (e.g. OpenAI usage cost),
283
+ * - and you want to record **that exact amount** (to supported precision) per event,
284
+ * - without maintaining token pricing tables in Stripe.
285
+ *
286
+ * How it works internally:
287
+ * - The Stripe recurring Price is created with a **fixed** `unit_amount_decimal`:
288
+ * `"0.000000000001"` **in cents** (10^-12 cents per unit).
289
+ * - When you call `record_meter_usage(..., { amount })`, your library converts the
290
+ * major-unit amount (e.g. USD) into an integer number of these pico-cent units
291
+ * and records that integer as the meter event value.
292
+ *
293
+ * Important constraints:
294
+ * - You must NOT set `price` on this meter.
295
+ * - Amounts can be passed as string or number.
296
+ * - Conversion supports up to 14 decimals in major units (because we convert to 10^14 units),
297
+ * and you can choose rounding behavior via `round`.
298
+ *
299
+ * @warning
300
+ * A meter product is a public type and is accessible in the frontend,
301
+ * through the default Volt Rest API.
302
+ *
303
+ * @example
304
+ * {Charge exact per-request OpenAI spend}
305
+ * You compute the request cost in USD and report it directly.
306
+ * ```ts
307
+ * const products: Product[] = [{
308
+ * id: "ai_usage",
309
+ * type: "meter",
310
+ * kind: "money",
311
+ * name: "AI Usage",
312
+ * description: "Billed by actual AI spend per request.",
313
+ * currency: "usd",
314
+ * tax_code: "txcd_10103000",
315
+ * tax_behavior: "unspecified",
316
+ * interval: "month",
317
+ * interval_count: 1,
318
+ * meter_event_name: "ai_usage_v1",
319
+ * }];
320
+ *
321
+ * // Later, when a request costs $0.007463:
322
+ * await record_meter_usage(stripe, {
323
+ * uid,
324
+ * product: initialized.ai_usage,
325
+ * amount: "0.007463",
326
+ * round: "exact",
327
+ * all_products: initialized_all,
328
+ * });
329
+ * ```
330
+ *
331
+ * @example
332
+ * {Charge using a float with rounding}
333
+ * If you have a float, pass it and choose a rounding mode.
334
+ * ```ts
335
+ * await record_meter_usage(stripe, {
336
+ * uid,
337
+ * product: initialized.ai_usage,
338
+ * amount: 0.007463,
339
+ * round: "round",
340
+ * all_products: initialized_all,
341
+ * });
342
+ * ```
343
+ *
344
+ * @docs
345
+ */
346
+ interface MoneyMeter extends BaseProduct {
347
+ /** The product type. */
348
+ type: "meter";
349
+ /**
350
+ * Money meters fix the unit price internally; callers report arbitrary amounts.
351
+ */
352
+ kind: "money";
353
+ /** No integer price is allowed for money meters. */
354
+ price?: never;
355
+ /** The billing interval for the usage price (typically `"month"`). */
356
+ interval: RecurringInterval;
357
+ /** The recurring interval count. */
358
+ interval_count: number;
359
+ /**
360
+ * The Stripe meter event name.
361
+ * This must be stable and unique across your Stripe account.
362
+ * @see https://docs.stripe.com/api/billing/meter/create
363
+ */
364
+ meter_event_name: string;
365
+ /**
366
+ * The meter's default aggregation formula.
367
+ * @default "sum"
368
+ * @see https://docs.stripe.com/api/billing/meter/create
369
+ */
370
+ aggregation_formula?: MeterAggregationFormula;
371
+ /**
372
+ * The payload key used to map usage events to a Stripe customer id.
373
+ * Stripe currently requires customer_mapping.type="by_id".
374
+ * @default "stripe_customer_id"
375
+ * @see https://docs.stripe.com/api/billing/meter/create
376
+ */
377
+ customer_mapping_event_payload_key?: string;
378
+ /**
379
+ * The payload key used as the numeric value for the meter.
380
+ * @default "value"
381
+ * @see https://docs.stripe.com/api/billing/meter/create
382
+ */
383
+ value_settings_event_payload_key?: string;
384
+ /**
385
+ * Optional pre-aggregation time window.
386
+ * @see https://docs.stripe.com/api/billing/meter/create
387
+ */
388
+ event_time_window?: "hour" | "day";
389
+ }
390
+ /** Multiplier from major units to pico-cent units: 100 * 10^12 = 10^14. */
391
+ const MONEY_METER_MAJOR_TO_PICO_CENTS_SHIFT = 14;
392
+ /** Fixed Stripe unit_amount_decimal for money meters, in cents. */
393
+ const MONEY_METER_UNIT_AMOUNT_DECIMAL_CENTS = "0.000000000001";
394
+ }
395
+ /**
396
+ * A Stripe usage-based billing product backed by a Stripe Billing Meter and a metered recurring Price.
397
+ *
398
+ * This union offers two easy-to-understand variants:
399
+ * - `UnitsMeter`: unit-based pricing where usage is recorded as integer `value` events, and the unit price is either:
400
+ * - integer smallest-currency pricing (`unit_amount`) via `price: number`, or
401
+ * - decimal smallest-currency pricing (`unit_amount_decimal`) via `price: { decimals: string }`
402
+ * - `MoneyMeter`: fixed internal unit price with caller-specified per-event currency amounts recorded via `amount`
403
+ *
404
+ * @warning
405
+ * A meter product is a public type and is accessible in the frontend,
406
+ * through the default Volt Rest API.
407
+ *
408
+ * @example
409
+ * {Choose a meter type}
410
+ * Pick the variant that matches how you want to report usage:
411
+ * ```ts
412
+ * const by_requests: MeterProduct = {
413
+ * type: "meter",
414
+ * kind: "units",
415
+ * id: "requests",
416
+ * name: "Requests",
417
+ * description: "Charged per request.",
418
+ * currency: "usd",
419
+ * tax_code: "txcd_10103000",
420
+ * tax_behavior: "unspecified",
421
+ * interval: "month",
422
+ * interval_count: 1,
423
+ * meter_event_name: "requests_v1",
424
+ * price: 1,
425
+ * };
426
+ *
427
+ * const by_tokens_small_price: MeterProduct = {
428
+ * type: "meter",
429
+ * kind: "units",
430
+ * id: "tokens",
431
+ * name: "Tokens",
432
+ * description: "Charged per token with fractional cents.",
433
+ * currency: "usd",
434
+ * tax_code: "txcd_10103000",
435
+ * tax_behavior: "unspecified",
436
+ * interval: "month",
437
+ * interval_count: 1,
438
+ * meter_event_name: "tokens_v1",
439
+ * price: { decimals: "0.000001" },
440
+ * };
441
+ *
442
+ * const by_actual_spend: MeterProduct = {
443
+ * type: "meter",
444
+ * kind: "money",
445
+ * id: "ai_spend",
446
+ * name: "AI Spend",
447
+ * description: "Charged by actual spend per request.",
448
+ * currency: "usd",
449
+ * tax_code: "txcd_10103000",
450
+ * tax_behavior: "unspecified",
451
+ * interval: "month",
452
+ * interval_count: 1,
453
+ * meter_event_name: "ai_spend_v1",
454
+ * };
455
+ * ```
456
+ *
457
+ * @see {@link MeterProduct.UnitsMeter} for unit-based pricing (integer or decimal unit price).
458
+ * @see {@link MeterProduct.MoneyMeter} for arbitrary per-event currency amounts.
459
+ *
460
+ * @docs
461
+ */
462
+ export type MeterProduct = MeterProduct.UnitsMeter | MeterProduct.MoneyMeter;
463
+ /** A union type of all products. */
464
+ export type Product = OneTimePaymentProduct | SubscriptionProduct | MeterProduct;
465
+ /** An initialized one-time product. */
466
+ export interface InitializedOneTimeProduct extends OneTimePaymentProduct {
467
+ /** The product type. */
468
+ type: "one_time";
469
+ /** The Stripe product id. */
470
+ stripe_product_id: string;
471
+ /** The Stripe price id. */
472
+ stripe_price_id: string;
473
+ }
474
+ /** An initialized subscription plan. */
475
+ export interface InitializedSubscriptionPlan extends SubscriptionPlan {
476
+ /** The type. */
477
+ type: "subscription_plan";
478
+ /** The id of the parent subscription. */
479
+ subscription_id: string;
480
+ /** The Stripe price id for this plan. */
481
+ stripe_price_id: string;
482
+ }
483
+ /** An initialized subscription product with its plans. */
484
+ export interface InitializedSubscriptionProduct extends SubscriptionProduct {
485
+ /** The product type. */
486
+ type: "subscription";
487
+ /** The Stripe product id. */
488
+ stripe_product_id: string;
489
+ /** The Stripe price ids for the plans. */
490
+ plans: InitializedSubscriptionPlan[];
491
+ }
492
+ /**
493
+ * An initialized meter product.
494
+ */
495
+ export type InitializedMeterProduct<T extends MeterProduct = MeterProduct> = T & {
496
+ /** The product type. */
497
+ type: "meter";
498
+ /** The Stripe meter id. */
499
+ stripe_meter_id: string;
500
+ /** The Stripe product id. */
501
+ stripe_product_id: string;
502
+ /** The Stripe price id (metered recurring price). */
503
+ stripe_price_id: string;
504
+ };
505
+ /** A union type of all initialized products. */
506
+ export type InitializedProduct = InitializedOneTimeProduct | InitializedSubscriptionProduct | InitializedMeterProduct;
507
+ /**
508
+ * Resolve the subscription product (InitializedSubscriptionProduct) that owns a given plan.
509
+ */
510
+ export declare function resolve_plan_to_parent_subscription(opts: {
511
+ plan: InitializedSubscriptionPlan;
512
+ all_products: InitializedProduct[];
513
+ }): InitializedSubscriptionProduct;
514
+ /**
515
+ * Initialize a list of products through the internal initializer, using a single paginated scan
516
+ * of Stripe products and prices which is then reused for all initializations.
517
+ */
518
+ export declare function initialize_products(client: Stripe, server: Server, products: Product[]): Promise<InitializedProduct[]>;
519
+ export {};