@teleporthq/teleport-plugin-next-workflows 0.43.67 → 0.43.69

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 (787) hide show
  1. package/__tests__/_helpers/bind-workflow-utils.ts +16 -1
  2. package/__tests__/_helpers/fake-fetch.ts +96 -0
  3. package/__tests__/_helpers/fake-stripe.ts +52 -0
  4. package/__tests__/_helpers/load-handler.ts +22 -3
  5. package/__tests__/_helpers/load-invoice-route.ts +75 -0
  6. package/__tests__/_helpers/load-payment-drivers.ts +69 -0
  7. package/__tests__/_helpers/load-server-runtime.ts +33 -0
  8. package/__tests__/_helpers/run-generated-middleware.ts +50 -9
  9. package/__tests__/admin-form-hydration-target.test.ts +39 -0
  10. package/__tests__/admin-form-row-hydration.test.ts +58 -0
  11. package/__tests__/ai-select-database-data-handler.test.ts +14 -3
  12. package/__tests__/api-route-file-name-segments.test.ts +33 -0
  13. package/__tests__/app-secret-env.test.ts +55 -0
  14. package/__tests__/auth-env-secret-preservation.test.ts +22 -3
  15. package/__tests__/auth-nextauth-url.test.ts +134 -50
  16. package/__tests__/cart-add-item-kinds.test.ts +259 -0
  17. package/__tests__/cart-add-item-line-fields.test.ts +328 -0
  18. package/__tests__/cart-availability-add-to-cart.test.ts +108 -0
  19. package/__tests__/cart-get-total-discounts.test.ts +499 -0
  20. package/__tests__/cart-get-total-product-options.test.ts +195 -0
  21. package/__tests__/cart-get-total-subscriptions.test.ts +221 -0
  22. package/__tests__/cart-price-order.test.ts +283 -0
  23. package/__tests__/cart-update-item-quantity-recurring.test.ts +75 -0
  24. package/__tests__/client-loop-current-item.test.ts +164 -0
  25. package/__tests__/cron-route-loop-custom-node.test.ts +123 -0
  26. package/__tests__/cron-route-loop-templateparams.test.ts +7 -0
  27. package/__tests__/cron-route-verification.test.ts +252 -0
  28. package/__tests__/custom-js-runtime-base-url.test.ts +64 -0
  29. package/__tests__/custom-nodes-admin-module.test.ts +310 -0
  30. package/__tests__/data-api-browser-reads.test.ts +341 -0
  31. package/__tests__/data-api-low-stock-autofire.test.ts +67 -17
  32. package/__tests__/data-api-optional-feature-columns.test.ts +240 -0
  33. package/__tests__/data-api-protected-tables.test.ts +948 -0
  34. package/__tests__/data-node-not-awaited.test.ts +7 -3
  35. package/__tests__/data-write-missing-filter.test.ts +119 -0
  36. package/__tests__/ecommerce-rewriter-product-options.test.ts +143 -0
  37. package/__tests__/email-locale-senders.test.ts +1 -1
  38. package/__tests__/file-storage-upload-picked-files.test.ts +20 -0
  39. package/__tests__/input-debounce-per-field.test.ts +141 -0
  40. package/__tests__/internal-request-headers.test.ts +7 -3
  41. package/__tests__/invoice-data-access-replace.test.ts +340 -0
  42. package/__tests__/invoice-delivery-fee.test.ts +3 -2
  43. package/__tests__/invoice-generate-hydration.test.ts +20 -12
  44. package/__tests__/invoice-order-items-settle.test.ts +51 -46
  45. package/__tests__/invoice-product-options.test.ts +177 -0
  46. package/__tests__/invoice-regenerate-route.test.ts +488 -0
  47. package/__tests__/invoice-regional-tax.test.ts +3 -2
  48. package/__tests__/invoice-reservation.test.ts +195 -0
  49. package/__tests__/invoice-route-access.test.ts +275 -0
  50. package/__tests__/invoice-self-call-origin.test.ts +117 -0
  51. package/__tests__/invoice-tender.test.ts +550 -0
  52. package/__tests__/legacy-webhook-self-calls.test.ts +187 -0
  53. package/__tests__/locale-aware-redirects.test.ts +55 -26
  54. package/__tests__/loop-collection-unwrap.test.ts +6 -1
  55. package/__tests__/middleware-subscriber-access.test.ts +269 -0
  56. package/__tests__/payment-charge-user-earlier-attempt.test.ts +267 -0
  57. package/__tests__/payment-charge-user-handler-serialization.test.ts +47 -82
  58. package/__tests__/payment-charge-user-line-descriptions.test.ts +124 -0
  59. package/__tests__/payment-charge-user-report-refusal.test.ts +105 -0
  60. package/__tests__/payment-close-checkout-node.test.ts +127 -0
  61. package/__tests__/payment-driver-close-checkout.test.ts +1163 -0
  62. package/__tests__/payment-driver-coingate.test.ts +470 -0
  63. package/__tests__/payment-driver-inspect-checkout.test.ts +648 -0
  64. package/__tests__/payment-driver-mollie.test.ts +864 -0
  65. package/__tests__/payment-driver-paddle.test.ts +870 -0
  66. package/__tests__/payment-driver-paypal-capture.test.ts +158 -0
  67. package/__tests__/payment-driver-paypal-webhook.test.ts +367 -0
  68. package/__tests__/payment-driver-razorpay.test.ts +895 -0
  69. package/__tests__/payment-driver-square.test.ts +977 -0
  70. package/__tests__/payment-driver-stripe.test.ts +267 -0
  71. package/__tests__/payment-drivers-module.test.ts +429 -0
  72. package/__tests__/payment-legacy-webhook-routes.test.ts +588 -0
  73. package/__tests__/payment-redirect-and-order-notification.test.ts +98 -39
  74. package/__tests__/payment-refund.test.ts +523 -22
  75. package/__tests__/payment-subscription-nodes.test.ts +1360 -0
  76. package/__tests__/payment-webhook-route.test.ts +523 -0
  77. package/__tests__/paypal-webhook-signature-verification.test.ts +205 -0
  78. package/__tests__/prune-context-oversized-leaf.test.ts +1 -0
  79. package/__tests__/prune-context-state-keys.test.ts +89 -0
  80. package/__tests__/push-node-handlers.test.ts +291 -0
  81. package/__tests__/route-changed-trigger.test.ts +40 -0
  82. package/__tests__/runtime-storage-upload-access.test.ts +255 -0
  83. package/__tests__/security-runtime-shadow.test.ts +103 -1
  84. package/__tests__/segment-reply-changed-keys.test.ts +146 -0
  85. package/__tests__/segment-state-keys-emission.test.ts +185 -0
  86. package/__tests__/segment-state-needs.test.ts +102 -0
  87. package/__tests__/server-segment-context-integrity.test.ts +210 -0
  88. package/__tests__/server-step-signing.test.ts +371 -0
  89. package/__tests__/session-cookie-resolver.test.ts +59 -0
  90. package/__tests__/stock-decrement-audit.test.ts +17 -0
  91. package/__tests__/subscriber-access-route.test.ts +406 -0
  92. package/__tests__/webhook-delivery-lease.test.ts +316 -0
  93. package/__tests__/workflow-auth-guard.test.ts +253 -2
  94. package/dist/cjs/admin-form-hydration.d.ts +10 -0
  95. package/dist/cjs/admin-form-hydration.d.ts.map +1 -0
  96. package/dist/cjs/admin-form-hydration.js +25 -0
  97. package/dist/cjs/admin-form-hydration.js.map +1 -0
  98. package/dist/cjs/api-route-generator.d.ts +19 -3
  99. package/dist/cjs/api-route-generator.d.ts.map +1 -1
  100. package/dist/cjs/api-route-generator.js +190 -70
  101. package/dist/cjs/api-route-generator.js.map +1 -1
  102. package/dist/cjs/auth-generator.d.ts +4 -1
  103. package/dist/cjs/auth-generator.d.ts.map +1 -1
  104. package/dist/cjs/auth-generator.js +241 -62
  105. package/dist/cjs/auth-generator.js.map +1 -1
  106. package/dist/cjs/auth-return/signed-in-destination-code.d.ts +17 -0
  107. package/dist/cjs/auth-return/signed-in-destination-code.d.ts.map +1 -0
  108. package/dist/cjs/auth-return/signed-in-destination-code.js +37 -0
  109. package/dist/cjs/auth-return/signed-in-destination-code.js.map +1 -0
  110. package/dist/cjs/cart-pricing-preamble.d.ts +12 -0
  111. package/dist/cjs/cart-pricing-preamble.d.ts.map +1 -0
  112. package/dist/cjs/cart-pricing-preamble.js +23 -0
  113. package/dist/cjs/cart-pricing-preamble.js.map +1 -0
  114. package/dist/cjs/cron-request-verification.d.ts +24 -0
  115. package/dist/cjs/cron-request-verification.d.ts.map +1 -0
  116. package/dist/cjs/cron-request-verification.js +84 -0
  117. package/dist/cjs/cron-request-verification.js.map +1 -0
  118. package/dist/cjs/custom-node-modules.d.ts +30 -0
  119. package/dist/cjs/custom-node-modules.d.ts.map +1 -0
  120. package/dist/cjs/custom-node-modules.js +90 -0
  121. package/dist/cjs/custom-node-modules.js.map +1 -0
  122. package/dist/cjs/data-api-route-generator.d.ts +27 -0
  123. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  124. package/dist/cjs/data-api-route-generator.js +366 -29
  125. package/dist/cjs/data-api-route-generator.js.map +1 -1
  126. package/dist/cjs/ecommerce/cart-availability.d.ts.map +1 -1
  127. package/dist/cjs/ecommerce/cart-availability.js +22 -13
  128. package/dist/cjs/ecommerce/cart-availability.js.map +1 -1
  129. package/dist/cjs/ecommerce/stock-decrement.d.ts +2 -1
  130. package/dist/cjs/ecommerce/stock-decrement.d.ts.map +1 -1
  131. package/dist/cjs/ecommerce/stock-decrement.js +6 -0
  132. package/dist/cjs/ecommerce/stock-decrement.js.map +1 -1
  133. package/dist/cjs/executor-generator.d.ts +0 -1
  134. package/dist/cjs/executor-generator.d.ts.map +1 -1
  135. package/dist/cjs/executor-generator.js +213 -20
  136. package/dist/cjs/executor-generator.js.map +1 -1
  137. package/dist/cjs/index.d.ts +12 -4
  138. package/dist/cjs/index.d.ts.map +1 -1
  139. package/dist/cjs/index.js +25 -2
  140. package/dist/cjs/index.js.map +1 -1
  141. package/dist/cjs/invoice/api-routes-code.d.ts +26 -0
  142. package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
  143. package/dist/cjs/invoice/api-routes-code.js +423 -391
  144. package/dist/cjs/invoice/api-routes-code.js.map +1 -1
  145. package/dist/cjs/invoice/data-access-code.d.ts.map +1 -1
  146. package/dist/cjs/invoice/data-access-code.js +420 -107
  147. package/dist/cjs/invoice/data-access-code.js.map +1 -1
  148. package/dist/cjs/invoice/index.d.ts.map +1 -1
  149. package/dist/cjs/invoice/index.js +24 -0
  150. package/dist/cjs/invoice/index.js.map +1 -1
  151. package/dist/cjs/invoice/invoice-assembly-code.d.ts +12 -0
  152. package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -0
  153. package/dist/cjs/invoice/invoice-assembly-code.js +517 -0
  154. package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -0
  155. package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
  156. package/dist/cjs/invoice/invoice-html-code.js +111 -9
  157. package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
  158. package/dist/cjs/invoice/pdf-service-client-code.d.ts.map +1 -1
  159. package/dist/cjs/invoice/pdf-service-client-code.js +3 -4
  160. package/dist/cjs/invoice/pdf-service-client-code.js.map +1 -1
  161. package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
  162. package/dist/cjs/nodes/account/account-login.js +4 -3
  163. package/dist/cjs/nodes/account/account-login.js.map +1 -1
  164. package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
  165. package/dist/cjs/nodes/account/account-signup.js +7 -4
  166. package/dist/cjs/nodes/account/account-signup.js.map +1 -1
  167. package/dist/cjs/nodes/ai/ai-select-database-data.d.ts.map +1 -1
  168. package/dist/cjs/nodes/ai/ai-select-database-data.js +6 -1
  169. package/dist/cjs/nodes/ai/ai-select-database-data.js.map +1 -1
  170. package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts +9 -0
  171. package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
  172. package/dist/cjs/nodes/browser/browser-get-push-subscription.js +25 -0
  173. package/dist/cjs/nodes/browser/browser-get-push-subscription.js.map +1 -0
  174. package/dist/cjs/nodes/browser/browser-show-notification.d.ts +10 -0
  175. package/dist/cjs/nodes/browser/browser-show-notification.d.ts.map +1 -1
  176. package/dist/cjs/nodes/browser/browser-show-notification.js +65 -40
  177. package/dist/cjs/nodes/browser/browser-show-notification.js.map +1 -1
  178. package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
  179. package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
  180. package/dist/cjs/nodes/browser/browser-subscribe-to-push.js +21 -31
  181. package/dist/cjs/nodes/browser/browser-subscribe-to-push.js.map +1 -1
  182. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
  183. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
  184. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js +24 -0
  185. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
  186. package/dist/cjs/nodes/browser/push-api-access.d.ts +12 -0
  187. package/dist/cjs/nodes/browser/push-api-access.d.ts.map +1 -0
  188. package/dist/cjs/nodes/browser/push-api-access.js +19 -0
  189. package/dist/cjs/nodes/browser/push-api-access.js.map +1 -0
  190. package/dist/cjs/nodes/cart/cart-add-item.d.ts.map +1 -1
  191. package/dist/cjs/nodes/cart/cart-add-item.js +174 -10
  192. package/dist/cjs/nodes/cart/cart-add-item.js.map +1 -1
  193. package/dist/cjs/nodes/cart/cart-clear.d.ts.map +1 -1
  194. package/dist/cjs/nodes/cart/cart-clear.js +11 -0
  195. package/dist/cjs/nodes/cart/cart-clear.js.map +1 -1
  196. package/dist/cjs/nodes/cart/cart-get-total.d.ts.map +1 -1
  197. package/dist/cjs/nodes/cart/cart-get-total.js +260 -3
  198. package/dist/cjs/nodes/cart/cart-get-total.js.map +1 -1
  199. package/dist/cjs/nodes/cart/cart-price-order.d.ts +3 -0
  200. package/dist/cjs/nodes/cart/cart-price-order.d.ts.map +1 -0
  201. package/dist/cjs/nodes/cart/cart-price-order.js +281 -0
  202. package/dist/cjs/nodes/cart/cart-price-order.js.map +1 -0
  203. package/dist/cjs/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
  204. package/dist/cjs/nodes/cart/cart-update-item-quantity.js +7 -0
  205. package/dist/cjs/nodes/cart/cart-update-item-quantity.js.map +1 -1
  206. package/dist/cjs/nodes/data/data-count.d.ts.map +1 -1
  207. package/dist/cjs/nodes/data/data-count.js +6 -1
  208. package/dist/cjs/nodes/data/data-count.js.map +1 -1
  209. package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
  210. package/dist/cjs/nodes/data/data-create-item.js +11 -1
  211. package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
  212. package/dist/cjs/nodes/data/data-delete-item.d.ts.map +1 -1
  213. package/dist/cjs/nodes/data/data-delete-item.js +29 -0
  214. package/dist/cjs/nodes/data/data-delete-item.js.map +1 -1
  215. package/dist/cjs/nodes/data/data-raw-query.d.ts.map +1 -1
  216. package/dist/cjs/nodes/data/data-raw-query.js +6 -1
  217. package/dist/cjs/nodes/data/data-raw-query.js.map +1 -1
  218. package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
  219. package/dist/cjs/nodes/data/data-select.js +6 -1
  220. package/dist/cjs/nodes/data/data-select.js.map +1 -1
  221. package/dist/cjs/nodes/data/data-update-item.d.ts.map +1 -1
  222. package/dist/cjs/nodes/data/data-update-item.js +29 -0
  223. package/dist/cjs/nodes/data/data-update-item.js.map +1 -1
  224. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  225. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
  226. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  227. package/dist/cjs/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
  228. package/dist/cjs/nodes/file-storage/file-storage-upload.js +7 -0
  229. package/dist/cjs/nodes/file-storage/file-storage-upload.js.map +1 -1
  230. package/dist/cjs/nodes/general/general-custom-js.d.ts.map +1 -1
  231. package/dist/cjs/nodes/general/general-custom-js.js +21 -5
  232. package/dist/cjs/nodes/general/general-custom-js.js.map +1 -1
  233. package/dist/cjs/nodes/index.d.ts.map +1 -1
  234. package/dist/cjs/nodes/index.js +9 -4
  235. package/dist/cjs/nodes/index.js.map +1 -1
  236. package/dist/cjs/nodes/payment/payment-billing-portal.d.ts +3 -0
  237. package/dist/cjs/nodes/payment/payment-billing-portal.d.ts.map +1 -0
  238. package/dist/cjs/nodes/payment/payment-billing-portal.js +52 -0
  239. package/dist/cjs/nodes/payment/payment-billing-portal.js.map +1 -0
  240. package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
  241. package/dist/cjs/nodes/payment/payment-charge-user.js +227 -360
  242. package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
  243. package/dist/cjs/nodes/payment/payment-close-checkout.d.ts +3 -0
  244. package/dist/cjs/nodes/payment/payment-close-checkout.d.ts.map +1 -0
  245. package/dist/cjs/nodes/payment/payment-close-checkout.js +141 -0
  246. package/dist/cjs/nodes/payment/payment-close-checkout.js.map +1 -0
  247. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
  248. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
  249. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js +67 -0
  250. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
  251. package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts +3 -0
  252. package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
  253. package/dist/cjs/nodes/payment/payment-manage-subscription.js +89 -0
  254. package/dist/cjs/nodes/payment/payment-manage-subscription.js.map +1 -0
  255. package/dist/cjs/nodes/payment/payment-refund.d.ts.map +1 -1
  256. package/dist/cjs/nodes/payment/payment-refund.js +50 -404
  257. package/dist/cjs/nodes/payment/payment-refund.js.map +1 -1
  258. package/dist/cjs/nodes/push/push-send-notification.d.ts +14 -0
  259. package/dist/cjs/nodes/push/push-send-notification.d.ts.map +1 -0
  260. package/dist/cjs/nodes/push/push-send-notification.js +83 -0
  261. package/dist/cjs/nodes/push/push-send-notification.js.map +1 -0
  262. package/dist/cjs/payments/drivers/coingate-driver-code.d.ts +16 -0
  263. package/dist/cjs/payments/drivers/coingate-driver-code.d.ts.map +1 -0
  264. package/dist/cjs/payments/drivers/coingate-driver-code.js +471 -0
  265. package/dist/cjs/payments/drivers/coingate-driver-code.js.map +1 -0
  266. package/dist/cjs/payments/drivers/mollie-driver-code.d.ts +16 -0
  267. package/dist/cjs/payments/drivers/mollie-driver-code.d.ts.map +1 -0
  268. package/dist/cjs/payments/drivers/mollie-driver-code.js +623 -0
  269. package/dist/cjs/payments/drivers/mollie-driver-code.js.map +1 -0
  270. package/dist/cjs/payments/drivers/paddle-driver-code.d.ts +12 -0
  271. package/dist/cjs/payments/drivers/paddle-driver-code.d.ts.map +1 -0
  272. package/dist/cjs/payments/drivers/paddle-driver-code.js +683 -0
  273. package/dist/cjs/payments/drivers/paddle-driver-code.js.map +1 -0
  274. package/dist/cjs/payments/drivers/paypal-driver-code.d.ts +12 -0
  275. package/dist/cjs/payments/drivers/paypal-driver-code.d.ts.map +1 -0
  276. package/dist/cjs/payments/drivers/paypal-driver-code.js +1261 -0
  277. package/dist/cjs/payments/drivers/paypal-driver-code.js.map +1 -0
  278. package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts +12 -0
  279. package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
  280. package/dist/cjs/payments/drivers/razorpay-driver-code.js +732 -0
  281. package/dist/cjs/payments/drivers/razorpay-driver-code.js.map +1 -0
  282. package/dist/cjs/payments/drivers/square-driver-code.d.ts +14 -0
  283. package/dist/cjs/payments/drivers/square-driver-code.d.ts.map +1 -0
  284. package/dist/cjs/payments/drivers/square-driver-code.js +931 -0
  285. package/dist/cjs/payments/drivers/square-driver-code.js.map +1 -0
  286. package/dist/cjs/payments/drivers/stripe-driver-code.d.ts +12 -0
  287. package/dist/cjs/payments/drivers/stripe-driver-code.d.ts.map +1 -0
  288. package/dist/cjs/payments/drivers/stripe-driver-code.js +778 -0
  289. package/dist/cjs/payments/drivers/stripe-driver-code.js.map +1 -0
  290. package/dist/cjs/payments/index.d.ts +66 -0
  291. package/dist/cjs/payments/index.d.ts.map +1 -0
  292. package/dist/cjs/payments/index.js +175 -0
  293. package/dist/cjs/payments/index.js.map +1 -0
  294. package/dist/cjs/payments/payment-core-code.d.ts +19 -0
  295. package/dist/cjs/payments/payment-core-code.d.ts.map +1 -0
  296. package/dist/cjs/payments/payment-core-code.js +422 -0
  297. package/dist/cjs/payments/payment-core-code.js.map +1 -0
  298. package/dist/cjs/payments/payment-driver-code-map.d.ts +4 -0
  299. package/dist/cjs/payments/payment-driver-code-map.d.ts.map +1 -0
  300. package/dist/cjs/payments/payment-driver-code-map.js +21 -0
  301. package/dist/cjs/payments/payment-driver-code-map.js.map +1 -0
  302. package/dist/cjs/payments/payment-drivers-scope.d.ts +35 -0
  303. package/dist/cjs/payments/payment-drivers-scope.d.ts.map +1 -0
  304. package/dist/cjs/payments/payment-drivers-scope.js +56 -0
  305. package/dist/cjs/payments/payment-drivers-scope.js.map +1 -0
  306. package/dist/cjs/payments/payment-registry-code.d.ts +8 -0
  307. package/dist/cjs/payments/payment-registry-code.d.ts.map +1 -0
  308. package/dist/cjs/payments/payment-registry-code.js +41 -0
  309. package/dist/cjs/payments/payment-registry-code.js.map +1 -0
  310. package/dist/cjs/pg-client-code.d.ts +10 -0
  311. package/dist/cjs/pg-client-code.d.ts.map +1 -1
  312. package/dist/cjs/pg-client-code.js +27 -1
  313. package/dist/cjs/pg-client-code.js.map +1 -1
  314. package/dist/cjs/runtime-storage-generator.d.ts +28 -0
  315. package/dist/cjs/runtime-storage-generator.d.ts.map +1 -1
  316. package/dist/cjs/runtime-storage-generator.js +240 -5
  317. package/dist/cjs/runtime-storage-generator.js.map +1 -1
  318. package/dist/cjs/secret-collector.d.ts.map +1 -1
  319. package/dist/cjs/secret-collector.js +8 -3
  320. package/dist/cjs/secret-collector.js.map +1 -1
  321. package/dist/cjs/security-scanner.d.ts +10 -1
  322. package/dist/cjs/security-scanner.d.ts.map +1 -1
  323. package/dist/cjs/security-scanner.js +19 -1
  324. package/dist/cjs/security-scanner.js.map +1 -1
  325. package/dist/cjs/segment-context-needs.d.ts +38 -0
  326. package/dist/cjs/segment-context-needs.d.ts.map +1 -0
  327. package/dist/cjs/segment-context-needs.js +129 -0
  328. package/dist/cjs/segment-context-needs.js.map +1 -0
  329. package/dist/cjs/segment-splitter.d.ts.map +1 -1
  330. package/dist/cjs/segment-splitter.js +6 -1
  331. package/dist/cjs/segment-splitter.js.map +1 -1
  332. package/dist/cjs/segment-trust.d.ts +50 -0
  333. package/dist/cjs/segment-trust.d.ts.map +1 -0
  334. package/dist/cjs/segment-trust.js +115 -0
  335. package/dist/cjs/segment-trust.js.map +1 -0
  336. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +19 -0
  337. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -1
  338. package/dist/cjs/sent-email-log/sent-email-log-code.js +1 -24
  339. package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -1
  340. package/dist/cjs/server-runtime-code.d.ts +34 -0
  341. package/dist/cjs/server-runtime-code.d.ts.map +1 -0
  342. package/dist/cjs/server-runtime-code.js +303 -0
  343. package/dist/cjs/server-runtime-code.js.map +1 -0
  344. package/dist/cjs/session-cookie-resolver.d.ts +3 -78
  345. package/dist/cjs/session-cookie-resolver.d.ts.map +1 -1
  346. package/dist/cjs/session-cookie-resolver.js +7 -276
  347. package/dist/cjs/session-cookie-resolver.js.map +1 -1
  348. package/dist/cjs/subscriber-access-route-generator.d.ts +71 -0
  349. package/dist/cjs/subscriber-access-route-generator.d.ts.map +1 -0
  350. package/dist/cjs/subscriber-access-route-generator.js +301 -0
  351. package/dist/cjs/subscriber-access-route-generator.js.map +1 -0
  352. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  353. package/dist/cjs/types.d.ts +6 -0
  354. package/dist/cjs/types.d.ts.map +1 -1
  355. package/dist/cjs/webhook-delivery-lease/index.d.ts +8 -0
  356. package/dist/cjs/webhook-delivery-lease/index.d.ts.map +1 -0
  357. package/dist/cjs/webhook-delivery-lease/index.js +41 -0
  358. package/dist/cjs/webhook-delivery-lease/index.js.map +1 -0
  359. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
  360. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
  361. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js +151 -0
  362. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
  363. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
  364. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
  365. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js +19 -0
  366. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
  367. package/dist/cjs/webhook-generator.d.ts +1 -1
  368. package/dist/cjs/webhook-generator.d.ts.map +1 -1
  369. package/dist/cjs/webhook-generator.js +342 -254
  370. package/dist/cjs/webhook-generator.js.map +1 -1
  371. package/dist/cjs/webhook-signature-verification.d.ts +17 -1
  372. package/dist/cjs/webhook-signature-verification.d.ts.map +1 -1
  373. package/dist/cjs/webhook-signature-verification.js +182 -27
  374. package/dist/cjs/webhook-signature-verification.js.map +1 -1
  375. package/dist/cjs/workflow-auth-generator.d.ts +9 -6
  376. package/dist/cjs/workflow-auth-generator.d.ts.map +1 -1
  377. package/dist/cjs/workflow-auth-generator.js +133 -29
  378. package/dist/cjs/workflow-auth-generator.js.map +1 -1
  379. package/dist/cjs/workflow-component-plugin.d.ts.map +1 -1
  380. package/dist/cjs/workflow-component-plugin.js +65 -28
  381. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  382. package/dist/cjs/workflow-project-plugin.d.ts +13 -0
  383. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  384. package/dist/cjs/workflow-project-plugin.js +215 -65
  385. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  386. package/dist/esm/admin-form-hydration.d.ts +10 -0
  387. package/dist/esm/admin-form-hydration.d.ts.map +1 -0
  388. package/dist/esm/admin-form-hydration.js +21 -0
  389. package/dist/esm/admin-form-hydration.js.map +1 -0
  390. package/dist/esm/api-route-generator.d.ts +19 -3
  391. package/dist/esm/api-route-generator.d.ts.map +1 -1
  392. package/dist/esm/api-route-generator.js +189 -70
  393. package/dist/esm/api-route-generator.js.map +1 -1
  394. package/dist/esm/auth-generator.d.ts +4 -1
  395. package/dist/esm/auth-generator.d.ts.map +1 -1
  396. package/dist/esm/auth-generator.js +241 -62
  397. package/dist/esm/auth-generator.js.map +1 -1
  398. package/dist/esm/auth-return/signed-in-destination-code.d.ts +17 -0
  399. package/dist/esm/auth-return/signed-in-destination-code.d.ts.map +1 -0
  400. package/dist/esm/auth-return/signed-in-destination-code.js +33 -0
  401. package/dist/esm/auth-return/signed-in-destination-code.js.map +1 -0
  402. package/dist/esm/cart-pricing-preamble.d.ts +12 -0
  403. package/dist/esm/cart-pricing-preamble.d.ts.map +1 -0
  404. package/dist/esm/cart-pricing-preamble.js +19 -0
  405. package/dist/esm/cart-pricing-preamble.js.map +1 -0
  406. package/dist/esm/cron-request-verification.d.ts +24 -0
  407. package/dist/esm/cron-request-verification.d.ts.map +1 -0
  408. package/dist/esm/cron-request-verification.js +80 -0
  409. package/dist/esm/cron-request-verification.js.map +1 -0
  410. package/dist/esm/custom-node-modules.d.ts +30 -0
  411. package/dist/esm/custom-node-modules.d.ts.map +1 -0
  412. package/dist/esm/custom-node-modules.js +84 -0
  413. package/dist/esm/custom-node-modules.js.map +1 -0
  414. package/dist/esm/data-api-route-generator.d.ts +27 -0
  415. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  416. package/dist/esm/data-api-route-generator.js +365 -28
  417. package/dist/esm/data-api-route-generator.js.map +1 -1
  418. package/dist/esm/ecommerce/cart-availability.d.ts.map +1 -1
  419. package/dist/esm/ecommerce/cart-availability.js +22 -13
  420. package/dist/esm/ecommerce/cart-availability.js.map +1 -1
  421. package/dist/esm/ecommerce/stock-decrement.d.ts +2 -1
  422. package/dist/esm/ecommerce/stock-decrement.d.ts.map +1 -1
  423. package/dist/esm/ecommerce/stock-decrement.js +6 -0
  424. package/dist/esm/ecommerce/stock-decrement.js.map +1 -1
  425. package/dist/esm/executor-generator.d.ts +0 -1
  426. package/dist/esm/executor-generator.d.ts.map +1 -1
  427. package/dist/esm/executor-generator.js +212 -18
  428. package/dist/esm/executor-generator.js.map +1 -1
  429. package/dist/esm/index.d.ts +12 -4
  430. package/dist/esm/index.d.ts.map +1 -1
  431. package/dist/esm/index.js +10 -4
  432. package/dist/esm/index.js.map +1 -1
  433. package/dist/esm/invoice/api-routes-code.d.ts +26 -0
  434. package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
  435. package/dist/esm/invoice/api-routes-code.js +421 -390
  436. package/dist/esm/invoice/api-routes-code.js.map +1 -1
  437. package/dist/esm/invoice/data-access-code.d.ts.map +1 -1
  438. package/dist/esm/invoice/data-access-code.js +420 -107
  439. package/dist/esm/invoice/data-access-code.js.map +1 -1
  440. package/dist/esm/invoice/index.d.ts.map +1 -1
  441. package/dist/esm/invoice/index.js +25 -1
  442. package/dist/esm/invoice/index.js.map +1 -1
  443. package/dist/esm/invoice/invoice-assembly-code.d.ts +12 -0
  444. package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -0
  445. package/dist/esm/invoice/invoice-assembly-code.js +513 -0
  446. package/dist/esm/invoice/invoice-assembly-code.js.map +1 -0
  447. package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
  448. package/dist/esm/invoice/invoice-html-code.js +111 -9
  449. package/dist/esm/invoice/invoice-html-code.js.map +1 -1
  450. package/dist/esm/invoice/pdf-service-client-code.d.ts.map +1 -1
  451. package/dist/esm/invoice/pdf-service-client-code.js +3 -4
  452. package/dist/esm/invoice/pdf-service-client-code.js.map +1 -1
  453. package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
  454. package/dist/esm/nodes/account/account-login.js +4 -3
  455. package/dist/esm/nodes/account/account-login.js.map +1 -1
  456. package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
  457. package/dist/esm/nodes/account/account-signup.js +7 -4
  458. package/dist/esm/nodes/account/account-signup.js.map +1 -1
  459. package/dist/esm/nodes/ai/ai-select-database-data.d.ts.map +1 -1
  460. package/dist/esm/nodes/ai/ai-select-database-data.js +6 -1
  461. package/dist/esm/nodes/ai/ai-select-database-data.js.map +1 -1
  462. package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts +9 -0
  463. package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
  464. package/dist/esm/nodes/browser/browser-get-push-subscription.js +22 -0
  465. package/dist/esm/nodes/browser/browser-get-push-subscription.js.map +1 -0
  466. package/dist/esm/nodes/browser/browser-show-notification.d.ts +10 -0
  467. package/dist/esm/nodes/browser/browser-show-notification.d.ts.map +1 -1
  468. package/dist/esm/nodes/browser/browser-show-notification.js +65 -40
  469. package/dist/esm/nodes/browser/browser-show-notification.js.map +1 -1
  470. package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
  471. package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
  472. package/dist/esm/nodes/browser/browser-subscribe-to-push.js +21 -31
  473. package/dist/esm/nodes/browser/browser-subscribe-to-push.js.map +1 -1
  474. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
  475. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
  476. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js +21 -0
  477. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
  478. package/dist/esm/nodes/browser/push-api-access.d.ts +12 -0
  479. package/dist/esm/nodes/browser/push-api-access.d.ts.map +1 -0
  480. package/dist/esm/nodes/browser/push-api-access.js +13 -0
  481. package/dist/esm/nodes/browser/push-api-access.js.map +1 -0
  482. package/dist/esm/nodes/cart/cart-add-item.d.ts.map +1 -1
  483. package/dist/esm/nodes/cart/cart-add-item.js +174 -10
  484. package/dist/esm/nodes/cart/cart-add-item.js.map +1 -1
  485. package/dist/esm/nodes/cart/cart-clear.d.ts.map +1 -1
  486. package/dist/esm/nodes/cart/cart-clear.js +11 -0
  487. package/dist/esm/nodes/cart/cart-clear.js.map +1 -1
  488. package/dist/esm/nodes/cart/cart-get-total.d.ts.map +1 -1
  489. package/dist/esm/nodes/cart/cart-get-total.js +261 -4
  490. package/dist/esm/nodes/cart/cart-get-total.js.map +1 -1
  491. package/dist/esm/nodes/cart/cart-price-order.d.ts +3 -0
  492. package/dist/esm/nodes/cart/cart-price-order.d.ts.map +1 -0
  493. package/dist/esm/nodes/cart/cart-price-order.js +278 -0
  494. package/dist/esm/nodes/cart/cart-price-order.js.map +1 -0
  495. package/dist/esm/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
  496. package/dist/esm/nodes/cart/cart-update-item-quantity.js +7 -0
  497. package/dist/esm/nodes/cart/cart-update-item-quantity.js.map +1 -1
  498. package/dist/esm/nodes/data/data-count.d.ts.map +1 -1
  499. package/dist/esm/nodes/data/data-count.js +6 -1
  500. package/dist/esm/nodes/data/data-count.js.map +1 -1
  501. package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
  502. package/dist/esm/nodes/data/data-create-item.js +11 -1
  503. package/dist/esm/nodes/data/data-create-item.js.map +1 -1
  504. package/dist/esm/nodes/data/data-delete-item.d.ts.map +1 -1
  505. package/dist/esm/nodes/data/data-delete-item.js +29 -0
  506. package/dist/esm/nodes/data/data-delete-item.js.map +1 -1
  507. package/dist/esm/nodes/data/data-raw-query.d.ts.map +1 -1
  508. package/dist/esm/nodes/data/data-raw-query.js +6 -1
  509. package/dist/esm/nodes/data/data-raw-query.js.map +1 -1
  510. package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
  511. package/dist/esm/nodes/data/data-select.js +6 -1
  512. package/dist/esm/nodes/data/data-select.js.map +1 -1
  513. package/dist/esm/nodes/data/data-update-item.d.ts.map +1 -1
  514. package/dist/esm/nodes/data/data-update-item.js +29 -0
  515. package/dist/esm/nodes/data/data-update-item.js.map +1 -1
  516. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  517. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
  518. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  519. package/dist/esm/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
  520. package/dist/esm/nodes/file-storage/file-storage-upload.js +7 -0
  521. package/dist/esm/nodes/file-storage/file-storage-upload.js.map +1 -1
  522. package/dist/esm/nodes/general/general-custom-js.d.ts.map +1 -1
  523. package/dist/esm/nodes/general/general-custom-js.js +21 -5
  524. package/dist/esm/nodes/general/general-custom-js.js.map +1 -1
  525. package/dist/esm/nodes/index.d.ts.map +1 -1
  526. package/dist/esm/nodes/index.js +9 -4
  527. package/dist/esm/nodes/index.js.map +1 -1
  528. package/dist/esm/nodes/payment/payment-billing-portal.d.ts +3 -0
  529. package/dist/esm/nodes/payment/payment-billing-portal.d.ts.map +1 -0
  530. package/dist/esm/nodes/payment/payment-billing-portal.js +49 -0
  531. package/dist/esm/nodes/payment/payment-billing-portal.js.map +1 -0
  532. package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
  533. package/dist/esm/nodes/payment/payment-charge-user.js +227 -360
  534. package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
  535. package/dist/esm/nodes/payment/payment-close-checkout.d.ts +3 -0
  536. package/dist/esm/nodes/payment/payment-close-checkout.d.ts.map +1 -0
  537. package/dist/esm/nodes/payment/payment-close-checkout.js +138 -0
  538. package/dist/esm/nodes/payment/payment-close-checkout.js.map +1 -0
  539. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
  540. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
  541. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js +64 -0
  542. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
  543. package/dist/esm/nodes/payment/payment-manage-subscription.d.ts +3 -0
  544. package/dist/esm/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
  545. package/dist/esm/nodes/payment/payment-manage-subscription.js +86 -0
  546. package/dist/esm/nodes/payment/payment-manage-subscription.js.map +1 -0
  547. package/dist/esm/nodes/payment/payment-refund.d.ts.map +1 -1
  548. package/dist/esm/nodes/payment/payment-refund.js +50 -404
  549. package/dist/esm/nodes/payment/payment-refund.js.map +1 -1
  550. package/dist/esm/nodes/push/push-send-notification.d.ts +14 -0
  551. package/dist/esm/nodes/push/push-send-notification.d.ts.map +1 -0
  552. package/dist/esm/nodes/push/push-send-notification.js +80 -0
  553. package/dist/esm/nodes/push/push-send-notification.js.map +1 -0
  554. package/dist/esm/payments/drivers/coingate-driver-code.d.ts +16 -0
  555. package/dist/esm/payments/drivers/coingate-driver-code.d.ts.map +1 -0
  556. package/dist/esm/payments/drivers/coingate-driver-code.js +467 -0
  557. package/dist/esm/payments/drivers/coingate-driver-code.js.map +1 -0
  558. package/dist/esm/payments/drivers/mollie-driver-code.d.ts +16 -0
  559. package/dist/esm/payments/drivers/mollie-driver-code.d.ts.map +1 -0
  560. package/dist/esm/payments/drivers/mollie-driver-code.js +619 -0
  561. package/dist/esm/payments/drivers/mollie-driver-code.js.map +1 -0
  562. package/dist/esm/payments/drivers/paddle-driver-code.d.ts +12 -0
  563. package/dist/esm/payments/drivers/paddle-driver-code.d.ts.map +1 -0
  564. package/dist/esm/payments/drivers/paddle-driver-code.js +679 -0
  565. package/dist/esm/payments/drivers/paddle-driver-code.js.map +1 -0
  566. package/dist/esm/payments/drivers/paypal-driver-code.d.ts +12 -0
  567. package/dist/esm/payments/drivers/paypal-driver-code.d.ts.map +1 -0
  568. package/dist/esm/payments/drivers/paypal-driver-code.js +1257 -0
  569. package/dist/esm/payments/drivers/paypal-driver-code.js.map +1 -0
  570. package/dist/esm/payments/drivers/razorpay-driver-code.d.ts +12 -0
  571. package/dist/esm/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
  572. package/dist/esm/payments/drivers/razorpay-driver-code.js +728 -0
  573. package/dist/esm/payments/drivers/razorpay-driver-code.js.map +1 -0
  574. package/dist/esm/payments/drivers/square-driver-code.d.ts +14 -0
  575. package/dist/esm/payments/drivers/square-driver-code.d.ts.map +1 -0
  576. package/dist/esm/payments/drivers/square-driver-code.js +927 -0
  577. package/dist/esm/payments/drivers/square-driver-code.js.map +1 -0
  578. package/dist/esm/payments/drivers/stripe-driver-code.d.ts +12 -0
  579. package/dist/esm/payments/drivers/stripe-driver-code.d.ts.map +1 -0
  580. package/dist/esm/payments/drivers/stripe-driver-code.js +774 -0
  581. package/dist/esm/payments/drivers/stripe-driver-code.js.map +1 -0
  582. package/dist/esm/payments/index.d.ts +66 -0
  583. package/dist/esm/payments/index.d.ts.map +1 -0
  584. package/dist/esm/payments/index.js +164 -0
  585. package/dist/esm/payments/index.js.map +1 -0
  586. package/dist/esm/payments/payment-core-code.d.ts +19 -0
  587. package/dist/esm/payments/payment-core-code.d.ts.map +1 -0
  588. package/dist/esm/payments/payment-core-code.js +418 -0
  589. package/dist/esm/payments/payment-core-code.js.map +1 -0
  590. package/dist/esm/payments/payment-driver-code-map.d.ts +4 -0
  591. package/dist/esm/payments/payment-driver-code-map.d.ts.map +1 -0
  592. package/dist/esm/payments/payment-driver-code-map.js +18 -0
  593. package/dist/esm/payments/payment-driver-code-map.js.map +1 -0
  594. package/dist/esm/payments/payment-drivers-scope.d.ts +35 -0
  595. package/dist/esm/payments/payment-drivers-scope.d.ts.map +1 -0
  596. package/dist/esm/payments/payment-drivers-scope.js +51 -0
  597. package/dist/esm/payments/payment-drivers-scope.js.map +1 -0
  598. package/dist/esm/payments/payment-registry-code.d.ts +8 -0
  599. package/dist/esm/payments/payment-registry-code.d.ts.map +1 -0
  600. package/dist/esm/payments/payment-registry-code.js +37 -0
  601. package/dist/esm/payments/payment-registry-code.js.map +1 -0
  602. package/dist/esm/pg-client-code.d.ts +10 -0
  603. package/dist/esm/pg-client-code.d.ts.map +1 -1
  604. package/dist/esm/pg-client-code.js +25 -0
  605. package/dist/esm/pg-client-code.js.map +1 -1
  606. package/dist/esm/runtime-storage-generator.d.ts +28 -0
  607. package/dist/esm/runtime-storage-generator.d.ts.map +1 -1
  608. package/dist/esm/runtime-storage-generator.js +239 -4
  609. package/dist/esm/runtime-storage-generator.js.map +1 -1
  610. package/dist/esm/secret-collector.d.ts.map +1 -1
  611. package/dist/esm/secret-collector.js +8 -3
  612. package/dist/esm/secret-collector.js.map +1 -1
  613. package/dist/esm/security-scanner.d.ts +10 -1
  614. package/dist/esm/security-scanner.d.ts.map +1 -1
  615. package/dist/esm/security-scanner.js +18 -0
  616. package/dist/esm/security-scanner.js.map +1 -1
  617. package/dist/esm/segment-context-needs.d.ts +38 -0
  618. package/dist/esm/segment-context-needs.d.ts.map +1 -0
  619. package/dist/esm/segment-context-needs.js +125 -0
  620. package/dist/esm/segment-context-needs.js.map +1 -0
  621. package/dist/esm/segment-splitter.d.ts.map +1 -1
  622. package/dist/esm/segment-splitter.js +6 -1
  623. package/dist/esm/segment-splitter.js.map +1 -1
  624. package/dist/esm/segment-trust.d.ts +50 -0
  625. package/dist/esm/segment-trust.d.ts.map +1 -0
  626. package/dist/esm/segment-trust.js +111 -0
  627. package/dist/esm/segment-trust.js.map +1 -0
  628. package/dist/esm/sent-email-log/sent-email-log-code.d.ts +19 -0
  629. package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -1
  630. package/dist/esm/sent-email-log/sent-email-log-code.js +2 -25
  631. package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -1
  632. package/dist/esm/server-runtime-code.d.ts +34 -0
  633. package/dist/esm/server-runtime-code.d.ts.map +1 -0
  634. package/dist/esm/server-runtime-code.js +299 -0
  635. package/dist/esm/server-runtime-code.js.map +1 -0
  636. package/dist/esm/session-cookie-resolver.d.ts +3 -78
  637. package/dist/esm/session-cookie-resolver.d.ts.map +1 -1
  638. package/dist/esm/session-cookie-resolver.js +7 -274
  639. package/dist/esm/session-cookie-resolver.js.map +1 -1
  640. package/dist/esm/subscriber-access-route-generator.d.ts +71 -0
  641. package/dist/esm/subscriber-access-route-generator.d.ts.map +1 -0
  642. package/dist/esm/subscriber-access-route-generator.js +292 -0
  643. package/dist/esm/subscriber-access-route-generator.js.map +1 -0
  644. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  645. package/dist/esm/types.d.ts +6 -0
  646. package/dist/esm/types.d.ts.map +1 -1
  647. package/dist/esm/webhook-delivery-lease/index.d.ts +8 -0
  648. package/dist/esm/webhook-delivery-lease/index.d.ts.map +1 -0
  649. package/dist/esm/webhook-delivery-lease/index.js +37 -0
  650. package/dist/esm/webhook-delivery-lease/index.js.map +1 -0
  651. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
  652. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
  653. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js +147 -0
  654. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
  655. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
  656. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
  657. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js +16 -0
  658. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
  659. package/dist/esm/webhook-generator.d.ts +1 -1
  660. package/dist/esm/webhook-generator.d.ts.map +1 -1
  661. package/dist/esm/webhook-generator.js +342 -254
  662. package/dist/esm/webhook-generator.js.map +1 -1
  663. package/dist/esm/webhook-signature-verification.d.ts +17 -1
  664. package/dist/esm/webhook-signature-verification.d.ts.map +1 -1
  665. package/dist/esm/webhook-signature-verification.js +179 -25
  666. package/dist/esm/webhook-signature-verification.js.map +1 -1
  667. package/dist/esm/workflow-auth-generator.d.ts +9 -6
  668. package/dist/esm/workflow-auth-generator.d.ts.map +1 -1
  669. package/dist/esm/workflow-auth-generator.js +132 -28
  670. package/dist/esm/workflow-auth-generator.js.map +1 -1
  671. package/dist/esm/workflow-component-plugin.d.ts.map +1 -1
  672. package/dist/esm/workflow-component-plugin.js +65 -28
  673. package/dist/esm/workflow-component-plugin.js.map +1 -1
  674. package/dist/esm/workflow-project-plugin.d.ts +13 -0
  675. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  676. package/dist/esm/workflow-project-plugin.js +212 -63
  677. package/dist/esm/workflow-project-plugin.js.map +1 -1
  678. package/package.json +4 -4
  679. package/src/admin-form-hydration.ts +28 -0
  680. package/src/api-route-generator.ts +251 -64
  681. package/src/auth-generator.ts +273 -53
  682. package/src/auth-return/signed-in-destination-code.ts +32 -0
  683. package/src/cart-pricing-preamble.ts +22 -0
  684. package/src/cron-request-verification.ts +79 -0
  685. package/src/custom-node-modules.ts +102 -0
  686. package/src/data-api-route-generator.ts +370 -28
  687. package/src/ecommerce/cart-availability.ts +22 -13
  688. package/src/ecommerce/stock-decrement.ts +13 -1
  689. package/src/executor-generator.ts +212 -19
  690. package/src/index.ts +28 -7
  691. package/src/invoice/api-routes-code.ts +424 -391
  692. package/src/invoice/data-access-code.ts +431 -110
  693. package/src/invoice/index.ts +31 -1
  694. package/src/invoice/invoice-assembly-code.ts +514 -0
  695. package/src/invoice/invoice-html-code.ts +111 -9
  696. package/src/invoice/pdf-service-client-code.ts +3 -4
  697. package/src/nodes/account/account-login.ts +4 -3
  698. package/src/nodes/account/account-signup.ts +7 -4
  699. package/src/nodes/ai/ai-select-database-data.ts +10 -1
  700. package/src/nodes/browser/browser-get-push-subscription.ts +23 -0
  701. package/src/nodes/browser/browser-show-notification.ts +61 -38
  702. package/src/nodes/browser/browser-subscribe-to-push.ts +26 -36
  703. package/src/nodes/browser/browser-unsubscribe-from-push.ts +22 -0
  704. package/src/nodes/browser/push-api-access.ts +20 -0
  705. package/src/nodes/cart/cart-add-item.ts +200 -9
  706. package/src/nodes/cart/cart-clear.ts +11 -0
  707. package/src/nodes/cart/cart-get-total.ts +279 -7
  708. package/src/nodes/cart/cart-price-order.ts +351 -0
  709. package/src/nodes/cart/cart-update-item-quantity.ts +7 -0
  710. package/src/nodes/data/data-count.ts +9 -1
  711. package/src/nodes/data/data-create-item.ts +15 -1
  712. package/src/nodes/data/data-delete-item.ts +32 -0
  713. package/src/nodes/data/data-raw-query.ts +9 -1
  714. package/src/nodes/data/data-select.ts +9 -1
  715. package/src/nodes/data/data-update-item.ts +32 -0
  716. package/src/nodes/ecommerce/ecommerce-generate-invoice.ts +11 -1
  717. package/src/nodes/file-storage/file-storage-upload.ts +8 -0
  718. package/src/nodes/general/general-custom-js.ts +21 -5
  719. package/src/nodes/index.ts +16 -6
  720. package/src/nodes/payment/payment-billing-portal.ts +51 -0
  721. package/src/nodes/payment/payment-charge-user.ts +236 -442
  722. package/src/nodes/payment/payment-close-checkout.ts +137 -0
  723. package/src/nodes/payment/payment-ensure-subscription-plan.ts +66 -0
  724. package/src/nodes/payment/payment-manage-subscription.ts +89 -0
  725. package/src/nodes/payment/payment-refund.ts +52 -467
  726. package/src/nodes/payment-drivers-global.d.ts +13 -0
  727. package/src/nodes/push/push-send-notification.ts +83 -0
  728. package/src/nodes/workflow-utils-global.d.ts +5 -0
  729. package/src/payments/drivers/coingate-driver-code.ts +466 -0
  730. package/src/payments/drivers/mollie-driver-code.ts +618 -0
  731. package/src/payments/drivers/paddle-driver-code.ts +678 -0
  732. package/src/payments/drivers/paypal-driver-code.ts +1256 -0
  733. package/src/payments/drivers/razorpay-driver-code.ts +727 -0
  734. package/src/payments/drivers/square-driver-code.ts +926 -0
  735. package/src/payments/drivers/stripe-driver-code.ts +773 -0
  736. package/src/payments/index.ts +204 -0
  737. package/src/payments/payment-core-code.ts +421 -0
  738. package/src/payments/payment-driver-code-map.ts +19 -0
  739. package/src/payments/payment-drivers-scope.ts +66 -0
  740. package/src/payments/payment-registry-code.ts +38 -0
  741. package/src/pg-client-code.ts +30 -0
  742. package/src/runtime-storage-generator.ts +241 -4
  743. package/src/secret-collector.ts +8 -3
  744. package/src/security-scanner.ts +22 -0
  745. package/src/segment-context-needs.ts +148 -0
  746. package/src/segment-splitter.ts +6 -1
  747. package/src/segment-trust.ts +170 -0
  748. package/src/sent-email-log/sent-email-log-code.ts +2 -32
  749. package/src/server-runtime-code.ts +298 -0
  750. package/src/session-cookie-resolver.ts +9 -277
  751. package/src/subscriber-access-route-generator.ts +351 -0
  752. package/src/types.ts +6 -0
  753. package/src/webhook-delivery-lease/index.ts +44 -0
  754. package/src/webhook-delivery-lease/webhook-delivery-lease-code.ts +151 -0
  755. package/src/webhook-delivery-lease/webhook-delivery-lease-scope.ts +18 -0
  756. package/src/webhook-generator.ts +359 -260
  757. package/src/webhook-signature-verification.ts +180 -25
  758. package/src/workflow-auth-generator.ts +137 -28
  759. package/src/workflow-component-plugin.ts +77 -20
  760. package/src/workflow-project-plugin.ts +247 -44
  761. package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts +0 -3
  762. package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
  763. package/dist/cjs/nodes/payment/payment-cancel-plan.js +0 -33
  764. package/dist/cjs/nodes/payment/payment-cancel-plan.js.map +0 -1
  765. package/dist/cjs/nodes/payment/payment-create-subscription.d.ts +0 -3
  766. package/dist/cjs/nodes/payment/payment-create-subscription.d.ts.map +0 -1
  767. package/dist/cjs/nodes/payment/payment-create-subscription.js +0 -41
  768. package/dist/cjs/nodes/payment/payment-create-subscription.js.map +0 -1
  769. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
  770. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
  771. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js +0 -45
  772. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
  773. package/dist/esm/nodes/payment/payment-cancel-plan.d.ts +0 -3
  774. package/dist/esm/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
  775. package/dist/esm/nodes/payment/payment-cancel-plan.js +0 -30
  776. package/dist/esm/nodes/payment/payment-cancel-plan.js.map +0 -1
  777. package/dist/esm/nodes/payment/payment-create-subscription.d.ts +0 -3
  778. package/dist/esm/nodes/payment/payment-create-subscription.d.ts.map +0 -1
  779. package/dist/esm/nodes/payment/payment-create-subscription.js +0 -38
  780. package/dist/esm/nodes/payment/payment-create-subscription.js.map +0 -1
  781. package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
  782. package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
  783. package/dist/esm/nodes/payment/payment-subscribe-to-plan.js +0 -42
  784. package/dist/esm/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
  785. package/src/nodes/payment/payment-cancel-plan.ts +0 -33
  786. package/src/nodes/payment/payment-create-subscription.ts +0 -42
  787. package/src/nodes/payment/payment-subscribe-to-plan.ts +0 -46
@@ -1 +1 @@
1
- {"version":3,"file":"api-routes-code.js","sourceRoot":"","sources":["../../../src/invoice/api-routes-code.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,QAA6B,EAAU,EAAE;;IACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAA;IAC/C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAA;IACnD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,KAAK,IAAI,CAAA;IAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAA;IAC7D,MAAM,YAAY,GAAG,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,OAAO,MAAK,IAAI,CAAA;IAC7D,MAAM,oBAAoB,GAAG,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,QAAQ;QACtD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAA;IAEV,OAAO;;;;;;;;;EAUP,YAAY;QACV,CAAC,CAAC;;gEAE0D;QAC5D,CAAC,CAAC,EACN;;uBAEuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;yBACpB,cAAc;;sBAEjB,YAAY;8BACJ,kBAAkB;0BACtB,oBAAoB;EAC5C,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6bzB,YAAY;QACV,CAAC,CAAC;;;;;;;;CAQL;QACG,CAAC,CAAC,EACN;;;;;;;;;yEAUQ,YAAY,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsHJ,YAAY;QACV,CAAC,CAAC;;;;;;;;;;;;;;;CAeL;QACG,CAAC,CAAC;;CAGN;;;;;;;;;;;EAYE,YAAY;QACV,CAAC,CAAC;;;CAGL;QACG,CAAC,CAAC,EACN;;;;;;;;;;;;;;;;;;;;EAqBE,YAAY;QACV,CAAC,CAAC;CACL;QACG,CAAC,CAAC,EACN;;;CAGC,CAAA;AACD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAW,EAAE;IACtD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDR,CAAA;AACD,CAAC,CAAA"}
1
+ {"version":3,"file":"api-routes-code.js","sourceRoot":"","sources":["../../../src/invoice/api-routes-code.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wCAAwC,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAE/D;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,OAAO,CAAC,CAAA;AAErC;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,GAAG,wCAAwC,EAAE;EACvE,kBAAkB;;4BAEQ,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiC7D,CAAA;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,QAA6B,EAAU,EAAE;;IACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAA;IAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAA;IAC7D,MAAM,YAAY,GAAG,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,OAAO,MAAK,IAAI,CAAA;IAE7D,OAAO;;;;;;;;;;;;;;;;EAiBP,YAAY;QACV,CAAC,CAAC;;gEAE0D;QAC5D,CAAC,CAAC,EACN;;uBAEuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;;;;EAK3C,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2MnB,YAAY;QACV,CAAC,CAAC;;;;;;;;;;CAUL;QACG,CAAC,CAAC,EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwEE,YAAY;QACV,CAAC,CAAC;;;;;;;;;;;;;;;CAeL;QACG,CAAC,CAAC;;CAGN;;;;;;;;;;;EAYE,YAAY;QACV,CAAC,CAAC;;;CAGL;QACG,CAAC,CAAC,EACN;;;;;;;;;;;;;;;;;;;;EAqBE,YAAY;QACV,CAAC,CAAC;CACL;QACG,CAAC,CAAC,EACN;;;;CAIC,CAAA;AACD,CAAC,CAAA;AAED,oFAAoF;AACpF,MAAM,wBAAwB,GAAG,mBAAmB,CAAA;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAW,EAAE;IAC7D,OAAO;;;;;;;;;;EAUP,wCAAwC,EAAE;EAC1C,kBAAkB;;iCAEa,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoMxE,CAAA;AACD,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAW,EAAE;IACtD,OAAO;;;;;;;EAOP,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EpB,CAAA;AACD,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-access-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/data-access-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhF,eAAO,MAAM,sBAAsB,aACvB,mBAAmB,kBACb,cAAc,GAAG,IAAI,oBACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAC/C,MAmCF,CAAA;AA+ZD,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,MA8EtD,CAAA"}
1
+ {"version":3,"file":"data-access-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/data-access-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhF,eAAO,MAAM,sBAAsB,aACvB,mBAAmB,kBACb,cAAc,GAAG,IAAI,oBACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAC/C,MA2CF,CAAA;AAgqBD,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,MAsItD,CAAA"}
@@ -11,26 +11,34 @@ export const generateDataAccessCode = (settings, dataSourceType, dataSourceConfi
11
11
 
12
12
  ${generateConnectionCode(dsType, dataSourceConfig)}
13
13
 
14
- ${generateInsertInvoiceCode(dsType, invoicesTable)}
15
-
16
14
  ${generateInsertInvoiceItemsCode(dsType, invoiceItemsTable)}
17
15
 
16
+ ${generateReserveInvoiceCode(dsType, invoicesTable)}
17
+
18
+ ${generateClaimStaleInvoiceCode(dsType, invoicesTable)}
19
+
18
20
  ${generateGetInvoiceByIdCode(dsType, invoicesTable)}
19
21
 
20
22
  ${generateUpdateInvoiceCode(dsType, invoicesTable)}
21
23
 
22
- ${generateGetNextInvoiceNumberCode(dsType, invoicesTable)}
24
+ ${generateStoreInvoicePdfCode(dsType)}
23
25
 
24
26
  ${generateGetOrderWithItemsCode(dsType)}
25
27
 
28
+ ${generateReplaceInvoiceCode(dsType, invoicesTable, invoiceItemsTable)}
29
+
30
+ ${generateLinkOrderToInvoiceCode(dsType)}
31
+
26
32
  module.exports = {
27
33
  getClient: getClient,
28
- insertInvoice: insertInvoice,
29
- insertInvoiceItems: insertInvoiceItems,
34
+ reserveInvoice: reserveInvoice,
35
+ claimStaleInvoice: claimStaleInvoice,
36
+ storeInvoicePdf: storeInvoicePdf,
30
37
  getInvoiceById: getInvoiceById,
31
38
  updateInvoice: updateInvoice,
32
- getNextInvoiceNumber: getNextInvoiceNumber,
33
39
  getOrderWithItems: getOrderWithItems,
40
+ replaceInvoice: replaceInvoice,
41
+ linkOrderToInvoice: linkOrderToInvoice,
34
42
  };
35
43
  `;
36
44
  };
@@ -137,42 +145,207 @@ function getClient() {
137
145
  return _client;
138
146
  }`;
139
147
  }
140
- function generateInsertInvoiceCode(dsType, table) {
148
+ // Issuing an invoice takes its number and writes the row that holds it as one
149
+ // step, before the PDF is rendered: the number is read and the row written
150
+ // under one lock (Postgres: a transaction-scoped advisory lock; MySQL: a named
151
+ // lock), so two orders paid in the same second never print the same number.
152
+ // The same lock keeps one invoice per order: a second request for an order
153
+ // that already has one — a provider delivering a slow webhook again while the
154
+ // first delivery still renders — gets that invoice back (`created: false`)
155
+ // instead of issuing another. Every dialect writes through
156
+ // `writeInvoiceRecord`, which retries without a column the database rejected
157
+ // as unknown — see `missingOptionalInvoiceColumn` in the record-mapping code.
158
+ function generateReserveInvoiceCode(dsType, table) {
159
+ const formatNumber = `
160
+ function formatInvoiceNumber(prefix, lastNumber) {
161
+ var last = Number(lastNumber);
162
+ return prefix + String((isFinite(last) && last > 0 ? Math.floor(last) : 0) + 1).padStart(4, '0');
163
+ }`;
141
164
  if (dsType === 'supabase') {
142
- return `
143
- async function insertInvoice(invoiceData) {
165
+ return `${formatNumber}
166
+
167
+ // PostgREST holds no lock across requests: the order's invoice is looked up
168
+ // right before one is issued, which leaves a twin request only the moment
169
+ // between the lookup and the insert.
170
+ async function reserveInvoice(invoiceData, items, prefix) {
144
171
  var client = getClient();
145
- var record = mapInvoiceToRecord(invoiceData);
146
- var result = await client.from('${table}').insert(record).select().single();
172
+ if (invoiceData.orderId) {
173
+ var held = await client.from('${table}').select('*').eq('order_id', invoiceData.orderId)
174
+ .order('created_at', { ascending: true }).limit(1);
175
+ if (held.error) throw new Error(held.error.message);
176
+ if (held.data && held.data.length > 0) return { invoice: held.data[0], created: false };
177
+ }
178
+ var last = await client.from('${table}').select('invoice_number').like('invoice_number', prefix + '%')
179
+ .order('created_at', { ascending: false }).limit(1);
180
+ if (last.error) throw new Error(last.error.message);
181
+ var lastNumber = last.data && last.data[0] ? parseInt(String(last.data[0].invoice_number).slice(prefix.length), 10) : 0;
182
+ invoiceData.invoiceNumber = formatInvoiceNumber(prefix, lastNumber);
183
+ var row = await writeInvoiceRecord(mapInvoiceToRecord(invoiceData), async function (record) {
184
+ var result = await client.from('${table}').insert(record).select().single();
185
+ if (result.error) throw new Error(result.error.message);
186
+ return result.data;
187
+ });
188
+ await insertInvoiceItems(row.id, items);
189
+ return { invoice: row, created: true };
190
+ }`;
191
+ }
192
+ if (dsType === 'mysql' || dsType === 'mariadb' || dsType === 'tidb') {
193
+ return `${formatNumber}
194
+
195
+ var INVOICE_ISSUE_LOCK = '${table}:issue';
196
+
197
+ async function reserveInvoice(invoiceData, items, prefix) {
198
+ var conn = await getClient().getConnection();
199
+ var locked = false;
200
+ try {
201
+ var [lockRows] = await conn.execute('SELECT GET_LOCK(?, 30) AS acquired', [INVOICE_ISSUE_LOCK]);
202
+ locked = !!(lockRows[0] && Number(lockRows[0].acquired) === 1);
203
+ if (!locked) throw new Error('Another invoice is being issued; the request can be sent again.');
204
+ await conn.beginTransaction();
205
+ try {
206
+ if (invoiceData.orderId) {
207
+ var [heldRows] = await conn.execute(
208
+ 'SELECT * FROM ${table} WHERE order_id = ? ORDER BY created_at ASC LIMIT 1',
209
+ [String(invoiceData.orderId)]
210
+ );
211
+ if (heldRows.length > 0) {
212
+ await conn.commit();
213
+ return { invoice: heldRows[0], created: false };
214
+ }
215
+ }
216
+ var [lastRows] = await conn.execute(
217
+ 'SELECT MAX(CAST(SUBSTRING(invoice_number, CHAR_LENGTH(?) + 1) AS UNSIGNED)) AS last_number FROM ${table} ' +
218
+ "WHERE LEFT(invoice_number, CHAR_LENGTH(?)) = ? AND SUBSTRING(invoice_number, CHAR_LENGTH(?) + 1) REGEXP '^[0-9]{1,15}$'",
219
+ [prefix, prefix, prefix, prefix]
220
+ );
221
+ invoiceData.invoiceNumber = formatInvoiceNumber(prefix, lastRows[0] && lastRows[0].last_number);
222
+ var row = await writeInvoiceRecord(mapInvoiceToRecord(invoiceData), async function (record) {
223
+ var columns = Object.keys(record);
224
+ var quotedCols = columns.map(quoteIdent).join(', ');
225
+ var placeholders = columns.map(function() { return '?'; }).join(', ');
226
+ var values = columns.map(function(k) { return record[k]; });
227
+ await conn.execute('INSERT INTO ${table} (' + quotedCols + ') VALUES (' + placeholders + ')', values);
228
+ return record;
229
+ });
230
+ await insertInvoiceItemRows(conn, row.id, items);
231
+ await conn.commit();
232
+ return { invoice: row, created: true };
233
+ } catch (err) {
234
+ try { await conn.rollback(); } catch (_rollbackErr) {}
235
+ throw err;
236
+ }
237
+ } finally {
238
+ if (locked) {
239
+ try { await conn.execute('SELECT RELEASE_LOCK(?)', [INVOICE_ISSUE_LOCK]); } catch (_releaseErr) {}
240
+ }
241
+ conn.release();
242
+ }
243
+ }`;
244
+ }
245
+ return `${formatNumber}
246
+
247
+ var INVOICE_ISSUE_LOCK = '${table}:issue';
248
+
249
+ async function reserveInvoice(invoiceData, items, prefix) {
250
+ var client = await getClient().connect();
251
+ try {
252
+ await client.query('BEGIN');
253
+ await client.query('SELECT pg_advisory_xact_lock(hashtext($1))', [INVOICE_ISSUE_LOCK]);
254
+ if (invoiceData.orderId) {
255
+ var held = await client.query(
256
+ 'SELECT * FROM ${table} WHERE order_id::text = $1 ORDER BY created_at ASC LIMIT 1',
257
+ [String(invoiceData.orderId)]
258
+ );
259
+ if (held.rows.length > 0) {
260
+ await client.query('COMMIT');
261
+ return { invoice: held.rows[0], created: false };
262
+ }
263
+ }
264
+ var last = await client.query(
265
+ 'SELECT MAX(substring(invoice_number FROM char_length($1) + 1)::bigint) AS last_number FROM ${table} ' +
266
+ "WHERE left(invoice_number, char_length($1)) = $1 AND substring(invoice_number FROM char_length($1) + 1) ~ '^[0-9]{1,15}$'",
267
+ [prefix]
268
+ );
269
+ invoiceData.invoiceNumber = formatInvoiceNumber(prefix, last.rows[0] && last.rows[0].last_number);
270
+ var row = await writeInvoiceRecord(mapInvoiceToRecord(invoiceData), async function (record) {
271
+ var columns = Object.keys(record);
272
+ var quotedCols = columns.map(quoteIdent).join(', ');
273
+ var placeholders = columns.map(function(_, i) { return '$' + (i + 1); }).join(', ');
274
+ var values = columns.map(function(k) { return record[k]; });
275
+ // A rejected column fails the statement, and a failed statement ends
276
+ // the transaction — the savepoint keeps it open for the retry.
277
+ await client.query('SAVEPOINT invoice_row');
278
+ try {
279
+ var result = await client.query('INSERT INTO ${table} (' + quotedCols + ') VALUES (' + placeholders + ') RETURNING *', values);
280
+ await client.query('RELEASE SAVEPOINT invoice_row');
281
+ return result.rows[0];
282
+ } catch (err) {
283
+ await client.query('ROLLBACK TO SAVEPOINT invoice_row');
284
+ throw err;
285
+ }
286
+ });
287
+ await insertInvoiceItemRows(client, row.id, items);
288
+ await client.query('COMMIT');
289
+ return { invoice: row, created: true };
290
+ } catch (err) {
291
+ try { await client.query('ROLLBACK'); } catch (_rollbackErr) {}
292
+ throw err;
293
+ } finally {
294
+ client.release();
295
+ }
296
+ }`;
297
+ }
298
+ // A reserved invoice whose PDF never arrived — the request that reserved it
299
+ // died while rendering — is finished by the next request for its order: once,
300
+ // by whichever request moves its `updated_at` first. Timestamps are written by
301
+ // the app on both sides of the comparison, so the database's time zone never
302
+ // enters it.
303
+ function generateClaimStaleInvoiceCode(dsType, table) {
304
+ const cutoff = ` var now = new Date();
305
+ var staleBefore = new Date(now.getTime() - staleSeconds * 1000).toISOString();`;
306
+ if (dsType === 'supabase') {
307
+ return `
308
+ async function claimStaleInvoice(invoiceId, staleSeconds) {
309
+ ${cutoff}
310
+ var result = await getClient().from('${table}').update({ updated_at: now.toISOString() })
311
+ .eq('id', invoiceId).is('pdf_size_bytes', null).lt('updated_at', staleBefore).select('id');
147
312
  if (result.error) throw new Error(result.error.message);
148
- return result.data;
313
+ return !!(result.data && result.data.length > 0);
149
314
  }`;
150
315
  }
151
316
  if (dsType === 'mysql' || dsType === 'mariadb' || dsType === 'tidb') {
152
317
  return `
153
- async function insertInvoice(invoiceData) {
154
- var pool = getClient();
155
- var record = mapInvoiceToRecord(invoiceData);
156
- var columns = Object.keys(record);
157
- var quotedCols = columns.map(quoteIdent).join(', ');
158
- var placeholders = columns.map(function() { return '?'; }).join(', ');
159
- var values = columns.map(function(k) { return record[k]; });
160
- var sql = 'INSERT INTO ${table} (' + quotedCols + ') VALUES (' + placeholders + ')';
161
- var [result] = await pool.execute(sql, values);
162
- return Object.assign({}, record, { _insertId: result.insertId });
318
+ async function claimStaleInvoice(invoiceId, staleSeconds) {
319
+ ${cutoff}
320
+ var [result] = await getClient().execute(
321
+ 'UPDATE ${table} SET updated_at = ? WHERE id = ? AND pdf_size_bytes IS NULL AND updated_at < ?',
322
+ [now.toISOString(), String(invoiceId), staleBefore]
323
+ );
324
+ return !!(result && result.affectedRows > 0);
163
325
  }`;
164
326
  }
165
327
  return `
166
- async function insertInvoice(invoiceData) {
167
- var pool = getClient();
168
- var record = mapInvoiceToRecord(invoiceData);
169
- var columns = Object.keys(record);
170
- var quotedCols = columns.map(quoteIdent).join(', ');
171
- var placeholders = columns.map(function(_, i) { return '$' + (i + 1); }).join(', ');
172
- var values = columns.map(function(k) { return record[k]; });
173
- var sql = 'INSERT INTO ${table} (' + quotedCols + ') VALUES (' + placeholders + ') RETURNING *';
174
- var result = await pool.query(sql, values);
175
- return result.rows[0];
328
+ async function claimStaleInvoice(invoiceId, staleSeconds) {
329
+ ${cutoff}
330
+ var result = await getClient().query(
331
+ 'UPDATE ${table} SET updated_at = $1 WHERE id::text = $2 AND pdf_size_bytes IS NULL AND updated_at < $3 RETURNING id',
332
+ [now.toISOString(), String(invoiceId), staleBefore]
333
+ );
334
+ return result.rowCount > 0;
335
+ }`;
336
+ }
337
+ // Puts the rendered PDF on the reserved row; `pdf_size_bytes` is what marks
338
+ // the invoice finished (see `claimStaleInvoice`).
339
+ function generateStoreInvoicePdfCode(dsType) {
340
+ const pdfData = dsType === 'supabase' ? `pdfBuffer.toString('base64')` : 'pdfBuffer';
341
+ return `
342
+ async function storeInvoicePdf(invoiceId, pdfBuffer, pdfUrl) {
343
+ return updateInvoice(invoiceId, {
344
+ pdf_data: ${pdfData},
345
+ pdf_size_bytes: pdfBuffer.length,
346
+ pdf_content_type: 'application/pdf',
347
+ pdf_url: pdfUrl,
348
+ });
176
349
  }`;
177
350
  }
178
351
  function generateInsertInvoiceItemsCode(dsType, table) {
@@ -191,9 +364,9 @@ async function insertInvoiceItems(invoiceId, items) {
191
364
  }
192
365
  if (dsType === 'mysql' || dsType === 'mariadb' || dsType === 'tidb') {
193
366
  return `
194
- async function insertInvoiceItems(invoiceId, items) {
367
+ // \`connection\` is the pool, or the connection of an open transaction.
368
+ async function insertInvoiceItemRows(connection, invoiceId, items) {
195
369
  if (!items || items.length === 0) return [];
196
- var pool = getClient();
197
370
  var results = [];
198
371
  for (var i = 0; i < items.length; i++) {
199
372
  var record = mapInvoiceItemToRecord(invoiceId, items[i], i);
@@ -202,16 +375,16 @@ async function insertInvoiceItems(invoiceId, items) {
202
375
  var placeholders = columns.map(function() { return '?'; }).join(', ');
203
376
  var values = columns.map(function(k) { return record[k]; });
204
377
  var sql = 'INSERT INTO ${table} (' + quotedCols + ') VALUES (' + placeholders + ')';
205
- var [result] = await pool.execute(sql, values);
378
+ var [result] = await connection.execute(sql, values);
206
379
  results.push(Object.assign({}, record, { id: result.insertId }));
207
380
  }
208
381
  return results;
209
382
  }`;
210
383
  }
211
384
  return `
212
- async function insertInvoiceItems(invoiceId, items) {
385
+ // \`queryable\` is the pool, or the client of an open transaction.
386
+ async function insertInvoiceItemRows(queryable, invoiceId, items) {
213
387
  if (!items || items.length === 0) return [];
214
- var pool = getClient();
215
388
  var results = [];
216
389
  for (var i = 0; i < items.length; i++) {
217
390
  var record = mapInvoiceItemToRecord(invoiceId, items[i], i);
@@ -220,7 +393,7 @@ async function insertInvoiceItems(invoiceId, items) {
220
393
  var placeholders = columns.map(function(_, j) { return '$' + (j + 1); }).join(', ');
221
394
  var values = columns.map(function(k) { return record[k]; });
222
395
  var sql = 'INSERT INTO ${table} (' + quotedCols + ') VALUES (' + placeholders + ') RETURNING *';
223
- var result = await pool.query(sql, values);
396
+ var result = await queryable.query(sql, values);
224
397
  results.push(result.rows[0]);
225
398
  }
226
399
  return results;
@@ -289,75 +462,6 @@ async function updateInvoice(invoiceId, updates) {
289
462
  return Object.assign({ id: invoiceId }, updates);
290
463
  }`;
291
464
  }
292
- function generateGetNextInvoiceNumberCode(dsType, table) {
293
- if (dsType === 'supabase') {
294
- return `
295
- async function getNextInvoiceNumber(prefix) {
296
- var client = getClient();
297
- var result = await client.from('${table}')
298
- .select('invoice_number')
299
- .like('invoice_number', prefix + '%')
300
- .order('created_at', { ascending: false })
301
- .limit(1);
302
- if (result.error || !result.data || result.data.length === 0) return 1;
303
- var lastNum = result.data[0].invoice_number.replace(prefix, '');
304
- var parsed = parseInt(lastNum, 10);
305
- return isNaN(parsed) ? 1 : parsed + 1;
306
- }`;
307
- }
308
- if (dsType === 'mysql' || dsType === 'mariadb' || dsType === 'tidb') {
309
- return `
310
- async function getNextInvoiceNumber(prefix) {
311
- var pool = getClient();
312
- var conn = await pool.getConnection();
313
- try {
314
- await conn.execute('START TRANSACTION');
315
- var [rows] = await conn.execute(
316
- 'SELECT invoice_number FROM ${table} WHERE invoice_number LIKE ? ORDER BY created_at DESC LIMIT 1 FOR UPDATE',
317
- [prefix + '%']
318
- );
319
- var nextNum = 1;
320
- if (rows.length > 0) {
321
- var lastNum = rows[0].invoice_number.replace(prefix, '');
322
- var parsed = parseInt(lastNum, 10);
323
- nextNum = isNaN(parsed) ? 1 : parsed + 1;
324
- }
325
- await conn.execute('COMMIT');
326
- return nextNum;
327
- } catch (err) {
328
- await conn.execute('ROLLBACK');
329
- throw err;
330
- } finally {
331
- conn.release();
332
- }
333
- }`;
334
- }
335
- return `
336
- async function getNextInvoiceNumber(prefix) {
337
- var pool = getClient();
338
- var client = await pool.connect();
339
- try {
340
- await client.query('BEGIN');
341
- var result = await client.query(
342
- 'SELECT invoice_number FROM ${table} WHERE invoice_number LIKE $1 ORDER BY created_at DESC LIMIT 1 FOR UPDATE',
343
- [prefix + '%']
344
- );
345
- var nextNum = 1;
346
- if (result.rows.length > 0) {
347
- var lastNum = result.rows[0].invoice_number.replace(prefix, '');
348
- var parsed = parseInt(lastNum, 10);
349
- nextNum = isNaN(parsed) ? 1 : parsed + 1;
350
- }
351
- await client.query('COMMIT');
352
- return nextNum;
353
- } catch (err) {
354
- await client.query('ROLLBACK');
355
- throw err;
356
- } finally {
357
- client.release();
358
- }
359
- }`;
360
- }
361
465
  // Fetches a `teleport_orders` row + its `teleport_order_items` children in a
362
466
  // single call. Consumed by `/api/invoices/generate` when only `orderId` is
363
467
  // provided — the caller (the payment webhook's Process Payment Webhook
@@ -421,6 +525,159 @@ async function getOrderWithItems(orderId) {
421
525
  return { order: orderRes.rows[0], items: itemsRes.rows || [] };
422
526
  }`;
423
527
  }
528
+ // Rewrites one invoice in place — its figures, customer, PDF and lines — for
529
+ // `/api/invoices/[id]/regenerate`. The row keeps its id, so everything that
530
+ // points at it (the order, the sent-email ledger) stays valid. Postgres and
531
+ // MySQL do it in one transaction, and Supabase undoes its steps, so a failure
532
+ // leaves the old invoice whole.
533
+ function generateReplaceInvoiceCode(dsType, table, itemsTable) {
534
+ if (dsType === 'supabase') {
535
+ return `
536
+ async function replaceInvoice(invoiceId, invoiceData, items) {
537
+ var client = getClient();
538
+ // PostgREST has no transactions, so each step undoes the ones before it
539
+ // when it fails: new lines first (one INSERT, whole or nothing), then the
540
+ // row, then the old lines — and a failure puts the row and lines back.
541
+ var previousRow = await client.from('${table}').select('*').eq('id', invoiceId).maybeSingle();
542
+ if (previousRow.error) throw new Error(previousRow.error.message);
543
+ if (!previousRow.data) throw new Error('Invoice ' + invoiceId + ' no longer exists');
544
+ var previousLines = await client.from('${itemsTable}').select('id').eq('invoice_id', invoiceId);
545
+ if (previousLines.error) throw new Error(previousLines.error.message);
546
+ var previousIds = (previousLines.data || []).map(function (row) { return row.id; });
547
+
548
+ var inserted = await insertInvoiceItems(invoiceId, items);
549
+ var insertedIds = (inserted || []).map(function (row) { return row.id; });
550
+ var written = null;
551
+ try {
552
+ var record = await writeInvoiceRecord(mapInvoiceReplacementToRecord(invoiceData), async function (fields) {
553
+ var result = await client.from('${table}').update(fields).eq('id', invoiceId).select('id');
554
+ if (result.error) throw new Error(result.error.message);
555
+ if (!result.data || result.data.length === 0) throw new Error('Invoice ' + invoiceId + ' no longer exists');
556
+ written = fields;
557
+ return fields;
558
+ });
559
+ if (previousIds.length > 0) {
560
+ var removed = await client.from('${itemsTable}').delete().in('id', previousIds);
561
+ if (removed.error) throw new Error(removed.error.message);
562
+ }
563
+ return record;
564
+ } catch (err) {
565
+ if (written) {
566
+ var restored = {};
567
+ Object.keys(written).forEach(function (column) { restored[column] = previousRow.data[column]; });
568
+ var restoreResult = await client.from('${table}').update(restored).eq('id', invoiceId);
569
+ if (restoreResult.error) console.error('[invoice] Regenerate: could not restore invoice ' + invoiceId + ' — ' + restoreResult.error.message);
570
+ }
571
+ if (insertedIds.length > 0) {
572
+ var undone = await client.from('${itemsTable}').delete().in('id', insertedIds);
573
+ if (undone.error) console.error('[invoice] Regenerate: could not remove the new lines of invoice ' + invoiceId + ' — ' + undone.error.message);
574
+ }
575
+ throw err;
576
+ }
577
+ }`;
578
+ }
579
+ if (dsType === 'mysql' || dsType === 'mariadb' || dsType === 'tidb') {
580
+ return `
581
+ async function replaceInvoice(invoiceId, invoiceData, items) {
582
+ var pool = getClient();
583
+ return writeInvoiceRecord(mapInvoiceReplacementToRecord(invoiceData), async function (fields) {
584
+ var conn = await pool.getConnection();
585
+ try {
586
+ await conn.beginTransaction();
587
+ var columns = Object.keys(fields);
588
+ var setClauses = columns.map(function(k) { return quoteIdent(k) + ' = ?'; }).join(', ');
589
+ var values = columns.map(function(k) { return fields[k]; });
590
+ values.push(invoiceId);
591
+ var [updated] = await conn.execute('UPDATE ${table} SET ' + setClauses + ' WHERE id = ?', values);
592
+ if (!updated || !updated.affectedRows) throw new Error('Invoice ' + invoiceId + ' no longer exists');
593
+ await conn.execute('DELETE FROM ${itemsTable} WHERE invoice_id = ?', [invoiceId]);
594
+ await insertInvoiceItemRows(conn, invoiceId, items);
595
+ await conn.commit();
596
+ return fields;
597
+ } catch (err) {
598
+ try { await conn.rollback(); } catch (_rollbackErr) {}
599
+ throw err;
600
+ } finally {
601
+ conn.release();
602
+ }
603
+ });
604
+ }`;
605
+ }
606
+ return `
607
+ async function replaceInvoice(invoiceId, invoiceData, items) {
608
+ var pool = getClient();
609
+ return writeInvoiceRecord(mapInvoiceReplacementToRecord(invoiceData), async function (fields) {
610
+ var client = await pool.connect();
611
+ try {
612
+ await client.query('BEGIN');
613
+ var columns = Object.keys(fields);
614
+ var setClauses = columns.map(function(k, i) { return quoteIdent(k) + ' = $' + (i + 1); }).join(', ');
615
+ var values = columns.map(function(k) { return fields[k]; });
616
+ values.push(invoiceId);
617
+ // The UPDATE takes the row lock first, so two regenerations of the same
618
+ // invoice run one after the other instead of interleaving their lines.
619
+ var updated = await client.query('UPDATE ${table} SET ' + setClauses + ' WHERE id = $' + values.length, values);
620
+ if (!updated.rowCount) throw new Error('Invoice ' + invoiceId + ' no longer exists');
621
+ await client.query('DELETE FROM ${itemsTable} WHERE invoice_id = $1', [invoiceId]);
622
+ await insertInvoiceItemRows(client, invoiceId, items);
623
+ await client.query('COMMIT');
624
+ return fields;
625
+ } catch (err) {
626
+ try { await client.query('ROLLBACK'); } catch (_rollbackErr) {}
627
+ throw err;
628
+ } finally {
629
+ client.release();
630
+ }
631
+ });
632
+ }`;
633
+ }
634
+ // Points an order at its (regenerated) invoice — but only an order that
635
+ // points at THIS invoice or at none: an order whose link names a different
636
+ // invoice keeps it. Returns whether the order was updated.
637
+ function generateLinkOrderToInvoiceCode(dsType) {
638
+ if (dsType === 'supabase') {
639
+ return `
640
+ async function linkOrderToInvoice(orderId, invoiceId, invoiceNumber, pdfUrl) {
641
+ if (!orderId || !invoiceId) return false;
642
+ var client = getClient();
643
+ var result = await client
644
+ .from('teleport_orders')
645
+ .update({
646
+ invoice_id: invoiceId,
647
+ invoice_number: invoiceNumber,
648
+ invoice_pdf_url: pdfUrl || null,
649
+ updated_at: new Date().toISOString(),
650
+ })
651
+ .eq('id', orderId)
652
+ .or('invoice_id.is.null,invoice_id.eq.' + invoiceId)
653
+ .select('id');
654
+ if (result.error) throw new Error(result.error.message);
655
+ return !!(result.data && result.data.length > 0);
656
+ }`;
657
+ }
658
+ if (dsType === 'mysql' || dsType === 'mariadb' || dsType === 'tidb') {
659
+ return `
660
+ async function linkOrderToInvoice(orderId, invoiceId, invoiceNumber, pdfUrl) {
661
+ if (!orderId || !invoiceId) return false;
662
+ var pool = getClient();
663
+ var [result] = await pool.execute(
664
+ 'UPDATE teleport_orders SET invoice_id = ?, invoice_number = ?, invoice_pdf_url = ?, updated_at = NOW() WHERE id = ? AND (invoice_id IS NULL OR invoice_id = ?)',
665
+ [invoiceId, invoiceNumber, pdfUrl || null, orderId, invoiceId]
666
+ );
667
+ return !!(result && result.affectedRows > 0);
668
+ }`;
669
+ }
670
+ return `
671
+ async function linkOrderToInvoice(orderId, invoiceId, invoiceNumber, pdfUrl) {
672
+ if (!orderId || !invoiceId) return false;
673
+ var pool = getClient();
674
+ var result = await pool.query(
675
+ 'UPDATE teleport_orders SET invoice_id = $1, invoice_number = $2, invoice_pdf_url = $3, updated_at = NOW() WHERE id = $4 AND (invoice_id IS NULL OR invoice_id::text = $5)',
676
+ [invoiceId, invoiceNumber, pdfUrl || null, orderId, String(invoiceId)]
677
+ );
678
+ return result.rowCount > 0;
679
+ }`;
680
+ }
424
681
  export const getRecordMappingCode = (dsType) => `
425
682
  function mapInvoiceToRecord(data) {
426
683
  return {
@@ -454,7 +711,14 @@ function mapInvoiceToRecord(data) {
454
711
  tax_rate: data.taxRate || 0,
455
712
  tax_amount: data.taxAmount || 0,
456
713
  discount_amount: data.discountAmount || 0,
714
+ shipping_amount: data.shippingAmount || 0,
457
715
  total: data.total || 0,
716
+ // The gift-card tender and what was left to pay after it (the whole total
717
+ // when no card was used).
718
+ gift_card_amount: data.giftCardAmount || 0,
719
+ amount_due: data.amountDue != null ? data.amountDue : (data.total || 0),
720
+ // Nothing has gone back at issue time; a refund moves this and the status.
721
+ refunded_amount: 0,
458
722
  currency: data.currency || 'USD',
459
723
  currency_symbol: data.currencySymbol || '$',
460
724
  payment_method: data.paymentMethod || null,
@@ -476,6 +740,55 @@ function mapInvoiceToRecord(data) {
476
740
  };
477
741
  }
478
742
 
743
+ // Columns added to the invoices table after stores already had one. The
744
+ // editor adds missing columns when the e-commerce activation runs, but a
745
+ // store that only republished still has the old table — and an invoice that
746
+ // fails to insert is an order the buyer is never billed for. So the write
747
+ // retries without the column the database rejected, and says what to re-run.
748
+ var OPTIONAL_INVOICE_COLUMNS = ['shipping_amount', 'gift_card_amount', 'amount_due', 'refunded_amount'];
749
+
750
+ function missingOptionalInvoiceColumn(err, record) {
751
+ var message = String((err && err.message) || '');
752
+ // pg: column "x" of relation "t" does not exist · mysql: Unknown column 'x'
753
+ // in 'field list' · PostgREST: Could not find the 'x' column of 't'.
754
+ if (!/does not exist|Unknown column|Could not find/i.test(message)) return null;
755
+ for (var i = 0; i < OPTIONAL_INVOICE_COLUMNS.length; i++) {
756
+ var column = OPTIONAL_INVOICE_COLUMNS[i];
757
+ if (Object.prototype.hasOwnProperty.call(record, column) && message.indexOf(column) !== -1) {
758
+ return column;
759
+ }
760
+ }
761
+ return null;
762
+ }
763
+
764
+ async function writeInvoiceRecord(record, write) {
765
+ for (var attempt = 0; attempt <= OPTIONAL_INVOICE_COLUMNS.length; attempt++) {
766
+ try {
767
+ return await write(record);
768
+ } catch (err) {
769
+ var missing = missingOptionalInvoiceColumn(err, record);
770
+ if (!missing) throw err;
771
+ console.warn('[invoice] The invoices table has no "' + missing + '" column — writing without it. Re-run the e-commerce activation in the editor to add it.');
772
+ delete record[missing];
773
+ }
774
+ }
775
+ return write(record);
776
+ }
777
+
778
+ // The columns a regeneration rewrites: everything the assembly produces,
779
+ // except the row's identity (id, created_at), \`refunded_amount\` — money
780
+ // already returned against the invoice stays recorded on it — and the two
781
+ // columns the assembly never fills, which keep whatever they hold.
782
+ function mapInvoiceReplacementToRecord(data) {
783
+ var record = mapInvoiceToRecord(data);
784
+ delete record.id;
785
+ delete record.created_at;
786
+ delete record.refunded_amount;
787
+ delete record.payment_provider_invoice_id;
788
+ delete record.metadata;
789
+ return record;
790
+ }
791
+
479
792
  function mapInvoiceItemToRecord(invoiceId, item, sortOrder) {
480
793
  return {
481
794
  invoice_id: invoiceId,
@@ -1 +1 @@
1
- {"version":3,"file":"data-access-code.js","sourceRoot":"","sources":["../../../src/invoice/data-access-code.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAA6B,EAC7B,cAAqC,EACrC,gBAAgD,EACxC,EAAE;;IACV,MAAM,aAAa,GAAG,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,aAAa,KAAI,mBAAmB,CAAA;IAC3E,MAAM,iBAAiB,GAAG,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,iBAAiB,KAAI,wBAAwB,CAAA;IACxF,MAAM,MAAM,GAAG,cAAc,IAAI,YAAY,CAAA;IAE7C,OAAO;;uBAEc,MAAM;aAChB,aAAa,KAAK,iBAAiB;;;EAG9C,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC;;EAEhD,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEhD,8BAA8B,CAAC,MAAM,EAAE,iBAAiB,CAAC;;EAEzD,0BAA0B,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEjD,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEhD,gCAAgC,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEvD,6BAA6B,CAAC,MAAM,CAAC;;;;;;;;;;;CAWtC,CAAA;AACD,CAAC,CAAA;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QACxE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACvD,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAA;KAChD;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,MAAsC;IACpF,QAAQ,MAAM,EAAE;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,MAAM;YACT,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAA;QAC5C,KAAK,UAAU;YACb,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAA;QAC/C;YACE,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAA;KAC1C;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAsC;IACtE,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAA;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAElD,OAAO;;;;;;;;;;;cAWK,IAAI;qBACG,IAAI;cACX,IAAI;kBACA,QAAQ;kBACR,QAAQ;;;;;;;;;;EAUxB,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAsC;IACzE,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAA;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAElD,OAAO;;;;;;;cAOK,IAAI;qBACG,IAAI;cACX,IAAI;kBACA,QAAQ;kBACR,QAAQ;;;;;;;;;;;EAWxB,CAAA;AACF,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAsC;IAC5E,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAA;IACtB,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAE5D,OAAO;;;;;;sCAM6B,GAAG,KAAK,GAAG;;;EAG/C,CAAA;AACF,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc,EAAE,KAAa;IAC9D,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;oCAIyB,KAAK;;;EAGvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;2BAQgB,KAAK;;;EAG9B,CAAA;KACC;IAED,OAAO;;;;;;;;2BAQkB,KAAK;;;EAG9B,CAAA;AACF,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAc,EAAE,KAAa;IACnE,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;;;;oCAOyB,KAAK;;;EAGvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;;;;6BAWkB,KAAK;;;;;EAKhC,CAAA;KACC;IAED,OAAO;;;;;;;;;;;6BAWoB,KAAK;;;;;EAKhC,CAAA;AACF,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAc,EAAE,KAAa;IAC/D,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;oCAGyB,KAAK;;;EAGvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;mDAGwC,KAAK;;EAEtD,CAAA;KACC;IAED,OAAO;;;iDAGwC,KAAK;;EAEpD,CAAA;AACF,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc,EAAE,KAAa;IAC9D,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;oCAIyB,KAAK;;;EAGvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;sBAQW,KAAK;;;EAGzB,CAAA;KACC;IAED,OAAO;;;;;;;;sBAQa,KAAK;;;EAGzB,CAAA;AACF,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAc,EAAE,KAAa;IACrE,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;oCAGyB,KAAK;;;;;;;;;EASvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;oCAOyB,KAAK;;;;;;;;;;;;;;;;;EAiBvC,CAAA;KACC;IAED,OAAO;;;;;;;oCAO2B,KAAK;;;;;;;;;;;;;;;;;EAiBvC,CAAA;AACF,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,kEAAkE;AAClE,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,yEAAyE;AACzE,gDAAgD;AAChD,SAAS,6BAA6B,CAAC,MAAc;IACnD,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;;;;;;;;;;;;;;;;EAmBT,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;;;;EAWT,CAAA;KACC;IAED,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAe,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0C3D,MAAM,KAAK,UAAU;IACnB,CAAC,CAAC,gFAAgF;IAClF,CAAC,CAAC,cACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCH,CAAA"}
1
+ {"version":3,"file":"data-access-code.js","sourceRoot":"","sources":["../../../src/invoice/data-access-code.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAA6B,EAC7B,cAAqC,EACrC,gBAAgD,EACxC,EAAE;;IACV,MAAM,aAAa,GAAG,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,aAAa,KAAI,mBAAmB,CAAA;IAC3E,MAAM,iBAAiB,GAAG,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,iBAAiB,KAAI,wBAAwB,CAAA;IACxF,MAAM,MAAM,GAAG,cAAc,IAAI,YAAY,CAAA;IAE7C,OAAO;;uBAEc,MAAM;aAChB,aAAa,KAAK,iBAAiB;;;EAG9C,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC;;EAEhD,8BAA8B,CAAC,MAAM,EAAE,iBAAiB,CAAC;;EAEzD,0BAA0B,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEjD,6BAA6B,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEpD,0BAA0B,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEjD,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC;;EAEhD,2BAA2B,CAAC,MAAM,CAAC;;EAEnC,6BAA6B,CAAC,MAAM,CAAC;;EAErC,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC;;EAEpE,8BAA8B,CAAC,MAAM,CAAC;;;;;;;;;;;;;CAavC,CAAA;AACD,CAAC,CAAA;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QACxE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACvD,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAA;KAChD;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,MAAsC;IACpF,QAAQ,MAAM,EAAE;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,MAAM;YACT,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAA;QAC5C,KAAK,UAAU;YACb,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAA;QAC/C;YACE,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAA;KAC1C;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAsC;IACtE,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAA;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAElD,OAAO;;;;;;;;;;;cAWK,IAAI;qBACG,IAAI;cACX,IAAI;kBACA,QAAQ;kBACR,QAAQ;;;;;;;;;;EAUxB,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAsC;IACzE,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAA;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAElD,OAAO;;;;;;;cAOK,IAAI;qBACG,IAAI;cACX,IAAI;kBACA,QAAQ;kBACR,QAAQ;;;;;;;;;;;EAWxB,CAAA;AACF,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAsC;IAC5E,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAA;IACtB,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAE5D,OAAO;;;;;;sCAM6B,GAAG,KAAK,GAAG;;;EAG/C,CAAA;AACF,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,2DAA2D;AAC3D,6EAA6E;AAC7E,8EAA8E;AAC9E,SAAS,0BAA0B,CAAC,MAAc,EAAE,KAAa;IAC/D,MAAM,YAAY,GAAG;;;;EAIrB,CAAA;IAEA,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO,GAAG,YAAY;;;;;;;;oCAQU,KAAK;;;;;kCAKP,KAAK;;;;;;sCAMD,KAAK;;;;;;EAMzC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO,GAAG,YAAY;;4BAEE,KAAK;;;;;;;;;;;;;2BAaN,KAAK;;;;;;;;;2GAS2E,KAAK;;;;;;;;;;0CAUtE,KAAK;;;;;;;;;;;;;;;;EAgB7C,CAAA;KACC;IAED,OAAO,GAAG,YAAY;;4BAEI,KAAK;;;;;;;;;yBASR,KAAK;;;;;;;;;oGASsE,KAAK;;;;;;;;;;;;;;uDAclD,KAAK;;;;;;;;;;;;;;;;;EAiB1D,CAAA;AACF,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,aAAa;AACb,SAAS,6BAA6B,CAAC,MAAc,EAAE,KAAa;IAClE,MAAM,MAAM,GAAG;iFACgE,CAAA;IAC/E,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;EAET,MAAM;yCACiC,KAAK;;;;EAI5C,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;EAET,MAAM;;cAEM,KAAK;;;;EAIjB,CAAA;KACC;IAED,OAAO;;EAEP,MAAM;;cAEM,KAAK;;;;EAIjB,CAAA;AACF,CAAC;AAED,4EAA4E;AAC5E,kDAAkD;AAClD,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,OAAO,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,WAAW,CAAA;IACpF,OAAO;;;gBAGO,OAAO;;;;;EAKrB,CAAA;AACF,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAc,EAAE,KAAa;IACnE,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;;;;oCAOyB,KAAK;;;EAGvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;;;;6BAWkB,KAAK;;;;;EAKhC,CAAA;KACC;IAED,OAAO;;;;;;;;;;;6BAWoB,KAAK;;;;;EAKhC,CAAA;AACF,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAc,EAAE,KAAa;IAC/D,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;oCAGyB,KAAK;;;EAGvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;mDAGwC,KAAK;;EAEtD,CAAA;KACC;IAED,OAAO;;;iDAGwC,KAAK;;EAEpD,CAAA;AACF,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc,EAAE,KAAa;IAC9D,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;oCAIyB,KAAK;;;EAGvC,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;sBAQW,KAAK;;;EAGzB,CAAA;KACC;IAED,OAAO;;;;;;;;sBAQa,KAAK;;;EAGzB,CAAA;AACF,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,kEAAkE;AAClE,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,yEAAyE;AACzE,gDAAgD;AAChD,SAAS,6BAA6B,CAAC,MAAc;IACnD,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;;;;;;;;;;;;;;;;EAmBT,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;;;;EAWT,CAAA;KACC;IAED,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,gCAAgC;AAChC,SAAS,0BAA0B,CAAC,MAAc,EAAE,KAAa,EAAE,UAAkB;IACnF,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;;;yCAM8B,KAAK;;;2CAGH,UAAU;;;;;;;;;wCASb,KAAK;;;;;;;yCAOJ,UAAU;;;;;;;;+CAQJ,KAAK;;;;wCAIZ,UAAU;;;;;EAKhD,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;;;;mDAWwC,KAAK;;wCAEhB,UAAU;;;;;;;;;;;EAWhD,CAAA;KACC;IAED,OAAO;;;;;;;;;;;;;iDAawC,KAAK;;wCAEd,UAAU;;;;;;;;;;;EAWhD,CAAA;AACF,CAAC;AAED,wEAAwE;AACxE,2EAA2E;AAC3E,2DAA2D;AAC3D,SAAS,8BAA8B,CAAC,MAAc;IACpD,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO;;;;;;;;;;;;;;;;;EAiBT,CAAA;KACC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;QACnE,OAAO;;;;;;;;;EAST,CAAA;KACC;IAED,OAAO;;;;;;;;;EASP,CAAA;AACF,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAe,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAiD3D,MAAM,KAAK,UAAU;IACnB,CAAC,CAAC,gFAAgF;IAClF,CAAC,CAAC,cACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFH,CAAA"}