@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
@@ -0,0 +1,683 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePaddleDriverCode = void 0;
4
+ /**
5
+ * Emits `utils/payments/drivers/paddle.js`: Paddle Billing, the merchant of
6
+ * record. A checkout is a transaction of non-catalog items opened by Paddle.js
7
+ * on the store's own `/pay/paddle` page; subscriptions, refunds (adjustments,
8
+ * which Paddle may have to approve) and the customer portal go through the
9
+ * API; webhooks carry a `Paddle-Signature` the store REQUIRES.
10
+ *
11
+ * Prices are sent tax-inclusive: the buyer pays exactly the store's total and
12
+ * Paddle, as the seller, remits the tax out of it.
13
+ */
14
+ const generatePaddleDriverCode = () => `'use strict';
15
+ /**
16
+ * Paddle driver. Generated by TeleportHQ — changes are overwritten on the next export.
17
+ */
18
+ module.exports = function createPaddleDriver(core) {
19
+ var LIVE = 'https://api.paddle.com';
20
+ var SANDBOX = 'https://sandbox-api.paddle.com';
21
+ var MISSING_KEY = 'PADDLE_API_KEY is not configured';
22
+ // Paddle's currencies without decimals.
23
+ var ZERO_DECIMAL = ['CLP', 'JPY', 'KRW', 'VND'];
24
+ // A signature older than this is refused. Paddle's SDKs use five seconds; a
25
+ // retried delivery may reuse its first timestamp, so the store allows more.
26
+ var SIGNATURE_TOLERANCE_SECONDS = 300;
27
+ var INTERVALS = ['day', 'week', 'month', 'year'];
28
+
29
+ function apiKey() {
30
+ return core.credential('paddle', 'apiKey');
31
+ }
32
+
33
+ function clientToken() {
34
+ return core.credential('paddle', 'clientToken');
35
+ }
36
+
37
+ // Current keys name their environment; a legacy key (no prefix) follows the
38
+ // client-side token, which always does.
39
+ function isSandbox() {
40
+ var key = apiKey();
41
+ if (key.indexOf('pdl_sdbx_') === 0) {
42
+ return true;
43
+ }
44
+ if (key.indexOf('pdl_live_') === 0) {
45
+ return false;
46
+ }
47
+ return clientToken().indexOf('test_') === 0;
48
+ }
49
+
50
+ function minor(major, currency) {
51
+ var code = String(currency || '').toUpperCase();
52
+ var value = Number(major);
53
+ if (!isFinite(value) || value <= 0) {
54
+ return '0';
55
+ }
56
+ return String(Math.round(ZERO_DECIMAL.indexOf(code) >= 0 ? value : value * 100));
57
+ }
58
+
59
+ function major(minorValue, currency) {
60
+ var value = Number(minorValue);
61
+ if (!isFinite(value)) {
62
+ return 0;
63
+ }
64
+ return ZERO_DECIMAL.indexOf(String(currency || '').toUpperCase()) >= 0 ? value : value / 100;
65
+ }
66
+
67
+ function problem(data, fallback) {
68
+ var error = data && data.error;
69
+ if (!error) {
70
+ return fallback;
71
+ }
72
+ var fields = Array.isArray(error.errors)
73
+ ? error.errors.map(function (entry) {
74
+ return entry.field + ' ' + entry.message;
75
+ })
76
+ : [];
77
+ return (error.detail || fallback) + (fields.length ? ' (' + fields.join('; ') + ')' : '');
78
+ }
79
+
80
+ async function call(method, path, body) {
81
+ return core.request((isSandbox() ? SANDBOX : LIVE) + path, {
82
+ method: method,
83
+ headers: {
84
+ Authorization: 'Bearer ' + apiKey(),
85
+ 'Content-Type': 'application/json',
86
+ 'Paddle-Version': '1',
87
+ },
88
+ body: body ? JSON.stringify(body) : undefined,
89
+ });
90
+ }
91
+
92
+ function taxCategory() {
93
+ return core.credential('paddle', 'taxCategory') || 'standard';
94
+ }
95
+
96
+ // One non-catalog item per order line, at the price the store charges
97
+ // (tax included). \`billingCycle\` makes it the recurring item.
98
+ function item(name, unitAmount, quantity, currency, billingCycle, trialDays) {
99
+ var label = String(name || 'Item').trim() || 'Item';
100
+ var price = {
101
+ description: (label.length >= 2 ? label : label + ' item').slice(0, 500),
102
+ name: label.slice(0, 150),
103
+ unit_price: { amount: minor(unitAmount, currency), currency_code: String(currency).toUpperCase() },
104
+ tax_mode: 'internal',
105
+ product: { name: label.slice(0, 200), tax_category: taxCategory() },
106
+ };
107
+ if (billingCycle) {
108
+ price.billing_cycle = billingCycle;
109
+ if (trialDays > 0) {
110
+ price.trial_period = { interval: 'day', frequency: trialDays };
111
+ }
112
+ }
113
+ return { quantity: Math.max(1, Math.floor(Number(quantity) || 1)), price: price };
114
+ }
115
+
116
+ function errorCode(data) {
117
+ return String((data && data.error && data.error.code) || '');
118
+ }
119
+
120
+ // The store's own page opens the checkout: Paddle appends \`_ptxn\` to it.
121
+ // Where the buyer lands afterwards rides in the transaction's custom data,
122
+ // which the page reads back server-side.
123
+ async function openTransaction(items, input) {
124
+ var metadata = input.metadata || {};
125
+ var body = {
126
+ items: items,
127
+ currency_code: String(input.currency || '').toUpperCase(),
128
+ custom_data: {
129
+ orderId: String(metadata.orderId || ''),
130
+ orderNumber: String(metadata.orderNumber || ''),
131
+ subscriptionId: String(metadata.subscriptionId || ''),
132
+ successUrl: String(input.successUrl || ''),
133
+ cancelUrl: String(input.cancelUrl || ''),
134
+ },
135
+ };
136
+ var page = input.baseUrl ? core.absoluteUrl('/pay/paddle', input.baseUrl) : '';
137
+ var answer = await call('POST', '/transactions', page ? Object.assign({ checkout: { url: page } }, body) : body);
138
+ // The address the buyer is on is not one Paddle approved (a local store, a
139
+ // second domain): the checkout opens on the account's default payment
140
+ // link instead, which the merchant points at this store's payment page.
141
+ if (page && errorCode(answer.data) === 'transaction_checkout_url_domain_is_not_approved') {
142
+ answer = await call('POST', '/transactions', body);
143
+ }
144
+ if (!answer.ok || !answer.data || !answer.data.data) {
145
+ return { checkoutUrl: '', sessionId: '', error: problem(answer.data, 'Paddle refused the transaction (HTTP ' + answer.status + ')') };
146
+ }
147
+ var transaction = answer.data.data;
148
+ return { checkoutUrl: (transaction.checkout && transaction.checkout.url) || '', sessionId: transaction.id || '' };
149
+ }
150
+
151
+ async function createCheckout(input) {
152
+ if (!apiKey()) {
153
+ return { checkoutUrl: '', sessionId: '', error: MISSING_KEY };
154
+ }
155
+ try {
156
+ var lines = Array.isArray(input.lineItems) && input.lineItems.length > 0 ? input.lineItems : [{ name: input.description, unitAmount: input.amount, quantity: 1 }];
157
+ return await openTransaction(
158
+ lines.map(function (line) {
159
+ return item(line.name, line.unitAmount, line.quantity, input.currency, null, 0);
160
+ }),
161
+ input
162
+ );
163
+ } catch (err) {
164
+ return { checkoutUrl: '', sessionId: '', error: core.describeError(err) };
165
+ }
166
+ }
167
+
168
+ // What became of a transaction the store opened earlier. A draft or ready
169
+ // one is paid on its own checkout (the store's page, with the transaction
170
+ // named); a billed or past-due one waits on money; a paid or completed one
171
+ // is paid; a canceled one takes no more, nor does one Paddle does not know.
172
+ async function inspectCheckout(input) {
173
+ var reference = String((input && input.reference) || '').trim();
174
+ if (reference.indexOf('txn_') !== 0) {
175
+ return { state: 'closed', checkoutUrl: '' };
176
+ }
177
+ if (!apiKey()) {
178
+ return { state: '', checkoutUrl: '', error: MISSING_KEY };
179
+ }
180
+ try {
181
+ var answer = await call('GET', '/transactions/' + encodeURIComponent(reference));
182
+ if (answer.status === 404) {
183
+ return { state: 'closed', checkoutUrl: '' };
184
+ }
185
+ if (!answer.ok || !answer.data || !answer.data.data) {
186
+ return { state: '', checkoutUrl: '', error: problem(answer.data, 'Paddle could not be asked about transaction ' + reference) };
187
+ }
188
+ var transaction = answer.data.data;
189
+ var state = transactionState(transaction);
190
+ if (state === 'open') {
191
+ var page = transaction.checkout && transaction.checkout.url ? String(transaction.checkout.url) : '';
192
+ return page ? { state: 'open', checkoutUrl: page } : { state: 'closed', checkoutUrl: '' };
193
+ }
194
+ return { state: state, checkoutUrl: '' };
195
+ } catch (err) {
196
+ return { state: '', checkoutUrl: '', error: core.describeError(err) };
197
+ }
198
+ }
199
+
200
+ function transactionState(transaction) {
201
+ var status = String((transaction && transaction.status) || '');
202
+ if (status === 'draft' || status === 'ready') {
203
+ return 'open';
204
+ }
205
+ if (status === 'billed' || status === 'past_due') {
206
+ return 'confirming';
207
+ }
208
+ return status === 'paid' || status === 'completed' ? 'paid' : 'closed';
209
+ }
210
+
211
+ // Closes a transaction the order no longer needs: a draft or ready one is
212
+ // canceled, so its checkout takes no money.
213
+ async function closeCheckout(input) {
214
+ var reference = String((input && input.reference) || '').trim();
215
+ if (reference.indexOf('txn_') !== 0) {
216
+ return { state: 'closed', checkoutUrl: '', openUntil: '' };
217
+ }
218
+ if (!apiKey()) {
219
+ return { state: '', error: MISSING_KEY };
220
+ }
221
+ try {
222
+ var path = '/transactions/' + encodeURIComponent(reference);
223
+ var answer = await call('GET', path);
224
+ if (answer.status === 404) {
225
+ return { state: 'closed', checkoutUrl: '', openUntil: '' };
226
+ }
227
+ if (!answer.ok || !answer.data || !answer.data.data) {
228
+ return { state: '', error: problem(answer.data, 'Paddle could not be asked about transaction ' + reference) };
229
+ }
230
+ var state = transactionState(answer.data.data);
231
+ if (state !== 'open') {
232
+ return { state: state, checkoutUrl: '', openUntil: '' };
233
+ }
234
+ var cancelled = await call('PATCH', path, { status: 'canceled' });
235
+ if (cancelled.ok) {
236
+ return { state: 'closed', checkoutUrl: '', openUntil: '' };
237
+ }
238
+ // Paid between the read and the cancellation: answer what it became.
239
+ var again = await call('GET', path);
240
+ var after = again.ok && again.data && again.data.data ? transactionState(again.data.data) : '';
241
+ return after && after !== 'open'
242
+ ? { state: after, checkoutUrl: '', openUntil: '' }
243
+ : { state: '', error: problem(cancelled.data, 'Paddle did not cancel transaction ' + reference) };
244
+ } catch (err) {
245
+ return { state: '', error: core.describeError(err) };
246
+ }
247
+ }
248
+
249
+ // The transactions opened for an order around the moment it was placed
250
+ // (they carry the order in their custom data).
251
+ async function findCheckouts(input) {
252
+ var orderId = String((input && input.orderId) || '').trim();
253
+ var span = core.searchWindow(input && input.placedAt);
254
+ if (!orderId || !span) {
255
+ return { error: 'The order to look up names no id or no time it was placed.' };
256
+ }
257
+ if (!apiKey()) {
258
+ return { error: MISSING_KEY };
259
+ }
260
+ try {
261
+ var references = [];
262
+ // Paddle serves at most 30 transactions a page; the store's checkouts
263
+ // are the ones it created through the API.
264
+ var path =
265
+ '/transactions?per_page=30&origin=api&created_at[GTE]=' +
266
+ encodeURIComponent(core.isoTime(span.from)) +
267
+ '&created_at[LT]=' +
268
+ encodeURIComponent(core.isoTime(span.to));
269
+ for (var page = 0; page < core.SEARCH_PAGE_LIMIT; page++) {
270
+ var answer = await call('GET', path);
271
+ if (!answer.ok || !answer.data) {
272
+ return { error: problem(answer.data, 'Paddle could not list its transactions') };
273
+ }
274
+ var transactions = Array.isArray(answer.data.data) ? answer.data.data : [];
275
+ transactions.forEach(function (transaction) {
276
+ var custom = transaction && transaction.custom_data ? transaction.custom_data : {};
277
+ if (transaction && transaction.id && String(custom.orderId || '') === orderId) {
278
+ references.push(String(transaction.id));
279
+ }
280
+ });
281
+ var pagination = answer.data.meta && answer.data.meta.pagination ? answer.data.meta.pagination : {};
282
+ var next = pagination.has_more && pagination.next ? String(pagination.next) : '';
283
+ if (!next || transactions.length === 0) {
284
+ return { references: references };
285
+ }
286
+ path = next.replace(/^https?:\\/\\/[^/]+/, '');
287
+ }
288
+ return { error: 'Paddle has more transactions around the time this order was placed than the store can search.' };
289
+ } catch (err) {
290
+ return { error: core.describeError(err) };
291
+ }
292
+ }
293
+
294
+ // Paddle bills the plan every cycle from the first charge on, so a gift card
295
+ // cannot pay part of that charge.
296
+ async function createSubscriptionCheckout(input) {
297
+ if (!apiKey()) {
298
+ return { checkoutUrl: '', sessionId: '', error: MISSING_KEY };
299
+ }
300
+ var interval = String(input.recurringInterval || 'month').toLowerCase();
301
+ if (INTERVALS.indexOf(interval) === -1) {
302
+ return { checkoutUrl: '', sessionId: '', error: 'Unknown billing interval "' + interval + '"' };
303
+ }
304
+ var regular = Number(input.amount);
305
+ if (!isFinite(regular) || regular <= 0) {
306
+ return { checkoutUrl: '', sessionId: '', error: 'A subscription needs a positive amount to bill' };
307
+ }
308
+ var due = Number(input.amountDue);
309
+ if (isFinite(due) && due < regular) {
310
+ return { checkoutUrl: '', sessionId: '', error: 'Paddle cannot take a gift card toward a subscription payment.' };
311
+ }
312
+ try {
313
+ var frequency = Math.max(1, Math.floor(Number(input.recurringIntervalCount) || 1));
314
+ var trialDays = Math.max(0, Math.floor(Number(input.trialDays) || 0));
315
+ var result = await openTransaction(
316
+ [item(input.description, regular, 1, input.currency, { interval: interval, frequency: frequency }, trialDays)],
317
+ input
318
+ );
319
+ return result.error ? result : { checkoutUrl: result.checkoutUrl, sessionId: result.sessionId, providerSubscriptionId: '' };
320
+ } catch (err) {
321
+ return { checkoutUrl: '', sessionId: '', error: core.describeError(err) };
322
+ }
323
+ }
324
+
325
+ // The price travels on each transaction: no plan to create.
326
+ async function ensurePlan() {
327
+ return { ok: 'true', planId: '', providerProductId: '', created: 'false' };
328
+ }
329
+
330
+ function subscriptionStatus(status) {
331
+ var map = { active: 'active', trialing: 'trialing', past_due: 'past_due', paused: 'paused', canceled: 'cancelled' };
332
+ return map[String(status || '').toLowerCase()] || '';
333
+ }
334
+
335
+ function manageFailure(message) {
336
+ return { ok: 'false', status: '', cancelAtPeriodEnd: 'false', currentPeriodStart: '', currentPeriodEnd: '', error: message };
337
+ }
338
+
339
+ function manageResult(subscription) {
340
+ var period = subscription.current_billing_period || {};
341
+ var scheduled = subscription.scheduled_change || null;
342
+ return {
343
+ ok: 'true',
344
+ status: subscriptionStatus(subscription.status),
345
+ cancelAtPeriodEnd: scheduled && scheduled.action === 'cancel' ? 'true' : 'false',
346
+ currentPeriodStart: period.starts_at ? String(period.starts_at) : '',
347
+ currentPeriodEnd: period.ends_at ? String(period.ends_at) : subscription.next_billed_at ? String(subscription.next_billed_at) : '',
348
+ };
349
+ }
350
+
351
+ // A resume also withdraws a scheduled cancellation or pause, as on Stripe.
352
+ async function manageSubscription(input) {
353
+ if (!apiKey()) {
354
+ return manageFailure(MISSING_KEY);
355
+ }
356
+ var path = '/subscriptions/' + encodeURIComponent(input.subscriptionId);
357
+ try {
358
+ var answer;
359
+ if (input.action === 'refresh') {
360
+ answer = await call('GET', path);
361
+ } else if (input.action === 'cancel') {
362
+ answer = await call('POST', path + '/cancel', { effective_from: 'immediately' });
363
+ } else if (input.action === 'cancel_at_period_end') {
364
+ answer = await call('POST', path + '/cancel', { effective_from: 'next_billing_period' });
365
+ } else if (input.action === 'pause') {
366
+ answer = await call('POST', path + '/pause', { effective_from: 'immediately' });
367
+ } else {
368
+ var current = await call('GET', path);
369
+ if (!current.ok || !current.data || !current.data.data) {
370
+ return manageFailure(problem(current.data, 'Paddle could not read the subscription (HTTP ' + current.status + ')'));
371
+ }
372
+ answer =
373
+ current.data.data.status === 'paused'
374
+ ? await call('POST', path + '/resume', { effective_from: 'immediately' })
375
+ : await call('PATCH', path, { scheduled_change: null });
376
+ }
377
+ if (!answer.ok || !answer.data || !answer.data.data) {
378
+ return manageFailure(problem(answer.data, 'Paddle refused the change (HTTP ' + answer.status + ')'));
379
+ }
380
+ return manageResult(answer.data.data);
381
+ } catch (err) {
382
+ return manageFailure(core.describeError(err));
383
+ }
384
+ }
385
+
386
+ // A portal session for the subscriber's own Paddle customer: payment method,
387
+ // invoices, and the subscription itself. Single use; opened right away.
388
+ async function billingPortal(input) {
389
+ var failure = function (message) {
390
+ return { ok: 'false', url: '', error: message };
391
+ };
392
+ var customerId = String(input.customerId || '').trim();
393
+ if (!customerId) {
394
+ return failure('No Paddle customer is attached to this subscription yet.');
395
+ }
396
+ if (!apiKey()) {
397
+ return failure(MISSING_KEY);
398
+ }
399
+ try {
400
+ var body = input.subscriptionId ? { subscription_ids: [String(input.subscriptionId)] } : {};
401
+ var answer = await call('POST', '/customers/' + encodeURIComponent(customerId) + '/portal-sessions', body);
402
+ var urls = answer.ok && answer.data && answer.data.data ? answer.data.data.urls || {} : null;
403
+ var overview = urls && urls.general ? urls.general.overview : '';
404
+ if (!overview) {
405
+ return failure(problem(answer.data, 'Paddle did not return a portal link (HTTP ' + answer.status + ')'));
406
+ }
407
+ return { ok: 'true', url: String(overview) };
408
+ } catch (err) {
409
+ return failure(core.describeError(err));
410
+ }
411
+ }
412
+
413
+ function refundFailure(currency, message, extra) {
414
+ var result = { success: false, refundId: '', amount: 0, currency: currency, status: '', error: message };
415
+ if (extra) {
416
+ Object.keys(extra).forEach(function (key) {
417
+ result[key] = extra[key];
418
+ });
419
+ }
420
+ return result;
421
+ }
422
+
423
+ // What earlier adjustments took off each line of a transaction, by item id,
424
+ // in the smallest unit: refunds and credits (approved or awaiting approval)
425
+ // and chargebacks. A rejected or reversed one took nothing.
426
+ function takenByItem(adjustments) {
427
+ var taken = {};
428
+ (Array.isArray(adjustments) ? adjustments : []).forEach(function (adjustment) {
429
+ if (['refund', 'credit', 'chargeback'].indexOf(adjustment.action) === -1 || adjustment.status === 'rejected' || adjustment.status === 'reversed') {
430
+ return;
431
+ }
432
+ (adjustment.items || []).forEach(function (entry) {
433
+ var value = Number(entry.amount !== undefined ? entry.amount : entry.totals && entry.totals.total);
434
+ if (entry.item_id && isFinite(value) && value > 0) {
435
+ taken[entry.item_id] = (taken[entry.item_id] || 0) + value;
436
+ }
437
+ });
438
+ });
439
+ return taken;
440
+ }
441
+
442
+ // Paddle takes no idempotency key, so the refund's key rides in its reason
443
+ // as a short marker (the same one the editor writes), and a retried refund
444
+ // finds the adjustment it created before instead of refunding twice. '' for
445
+ // a refund without a key.
446
+ function refundMarker(key) {
447
+ var value = String(key || '');
448
+ return value ? '[ref ' + core.hmac('sha256', 'paddle-refund', value, 'hex').slice(0, 12) + ']' : '';
449
+ }
450
+
451
+ // The adjustment an earlier attempt with this marker created; a rejected
452
+ // one gave nothing back, so it does not stand in for a new refund.
453
+ function markedRefund(adjustments, marker) {
454
+ var list = marker && Array.isArray(adjustments) ? adjustments : [];
455
+ for (var i = 0; i < list.length; i++) {
456
+ var adjustment = list[i] || {};
457
+ if (adjustment.action === 'refund' && adjustment.status !== 'rejected' && String(adjustment.reason || '').indexOf(marker) !== -1) {
458
+ return adjustment;
459
+ }
460
+ }
461
+ return null;
462
+ }
463
+
464
+ function refundOutcome(adjustment, currency) {
465
+ var adjustmentCurrency = String(adjustment.currency_code || currency).toUpperCase();
466
+ if (adjustment.status === 'rejected') {
467
+ return refundFailure(adjustmentCurrency, 'Paddle rejected the refund.', { refundId: adjustment.id || '', status: 'rejected' });
468
+ }
469
+ return {
470
+ success: true,
471
+ refundId: adjustment.id || '',
472
+ amount: major(adjustment.totals && adjustment.totals.total, adjustmentCurrency),
473
+ currency: adjustmentCurrency,
474
+ status: String(adjustment.status || ''),
475
+ error: '',
476
+ };
477
+ }
478
+
479
+ // A refund is an adjustment of the transaction: the whole grand total, or an
480
+ // amount spread over what its lines have left (most first), so no line is
481
+ // asked for more than earlier adjustments left on it. Those come from the
482
+ // transaction read with its adjustments; one that read does not list is not
483
+ // subtracted, and Paddle then refuses a line amount above what is left.
484
+ // Live refunds usually wait for Paddle's approval; \`pending_approval\` is
485
+ // reported as the status, and the adjustment webhook records a rejection.
486
+ async function refund(input) {
487
+ var currency = String(input.currency || '').toUpperCase();
488
+ if (!apiKey()) {
489
+ return refundFailure(currency, MISSING_KEY);
490
+ }
491
+ var transactionId = String(input.paymentReference || '').trim();
492
+ if (transactionId.indexOf('txn_') !== 0) {
493
+ return refundFailure(currency, 'This is not a Paddle transaction reference.');
494
+ }
495
+ var marker = refundMarker(input.idempotencyKey);
496
+ var text = String(input.reason || '').trim() || 'Refund requested by the store';
497
+ var reason = marker ? text.slice(0, 254 - marker.length) + ' ' + marker : text.slice(0, 255);
498
+ try {
499
+ var body = { action: 'refund', transaction_id: transactionId, reason: reason, type: 'full' };
500
+ var transaction = null;
501
+ if (marker || input.amount > 0) {
502
+ transaction = await call('GET', '/transactions/' + encodeURIComponent(transactionId) + '?include=adjustments');
503
+ if (!transaction.ok || !transaction.data || !transaction.data.data) {
504
+ return refundFailure(currency, problem(transaction.data, 'Paddle could not find the transaction ' + transactionId + '.'));
505
+ }
506
+ var earlier = markedRefund(transaction.data.data.adjustments, marker);
507
+ if (earlier) {
508
+ return refundOutcome(earlier, currency);
509
+ }
510
+ }
511
+ if (input.amount > 0) {
512
+ var details = transaction.data.data.details || {};
513
+ var taken = takenByItem(transaction.data.data.adjustments);
514
+ var lines = (details.line_items || [])
515
+ .map(function (line) {
516
+ var total = Number((line.totals && line.totals.total) || 0);
517
+ return { id: line.id, left: isFinite(total) ? total - (taken[line.id] || 0) : 0 };
518
+ })
519
+ .sort(function (a, b) {
520
+ return b.left - a.left;
521
+ });
522
+ var remaining = Number(minor(input.amount, currency));
523
+ if (!(remaining > 0)) {
524
+ return refundFailure(currency, 'The amount is smaller than the smallest unit of ' + currency + '.');
525
+ }
526
+ var items = [];
527
+ for (var i = 0; i < lines.length && remaining > 0; i++) {
528
+ var share = Math.min(lines[i].left, remaining);
529
+ if (share > 0) {
530
+ items.push({ item_id: lines[i].id, type: 'partial', amount: String(share) });
531
+ remaining -= share;
532
+ }
533
+ }
534
+ if (remaining > 0) {
535
+ return refundFailure(currency, 'The amount is more than this Paddle transaction can refund.');
536
+ }
537
+ body = { action: 'refund', transaction_id: transactionId, reason: reason, type: 'partial', items: items };
538
+ }
539
+ var answer = await call('POST', '/adjustments', body);
540
+ if (!answer.ok || !answer.data || !answer.data.data) {
541
+ return refundFailure(currency, problem(answer.data, 'Paddle refused the refund (HTTP ' + answer.status + ')'));
542
+ }
543
+ return refundOutcome(answer.data.data, currency);
544
+ } catch (err) {
545
+ return refundFailure(currency, core.describeError(err));
546
+ }
547
+ }
548
+
549
+ function signatureMatches(rawBody, header, secret) {
550
+ var timestamp = '';
551
+ var signatures = [];
552
+ String(header || '')
553
+ .split(';')
554
+ .forEach(function (part) {
555
+ var eq = part.indexOf('=');
556
+ var key = eq >= 0 ? part.slice(0, eq).trim() : '';
557
+ var value = eq >= 0 ? part.slice(eq + 1).trim() : '';
558
+ if (key === 'ts') {
559
+ timestamp = value;
560
+ } else if (key === 'h1') {
561
+ signatures.push(value);
562
+ }
563
+ });
564
+ if (!timestamp || signatures.length === 0) {
565
+ return false;
566
+ }
567
+ if (Math.abs(Math.floor(Date.now() / 1000) - Number(timestamp)) > SIGNATURE_TOLERANCE_SECONDS) {
568
+ return false;
569
+ }
570
+ var expected = core.hmac('sha256', secret, timestamp + ':' + rawBody.toString('utf8'), 'hex');
571
+ return signatures.some(function (signature) {
572
+ return core.safeEqual(expected, signature);
573
+ });
574
+ }
575
+
576
+ // Paddle signs every notification with the destination's secret, and the
577
+ // store accepts nothing unsigned.
578
+ async function verifyWebhook(input) {
579
+ var secret = input.secret || core.credential('paddle', 'webhookSecret');
580
+ if (!secret) {
581
+ return { ok: false, reason: 'The Paddle notification secret (PADDLE_WEBHOOK_SECRET) is not configured.' };
582
+ }
583
+ var header = core.header(input.headers, 'paddle-signature');
584
+ if (!header) {
585
+ return { ok: false, reason: 'The Paddle-Signature header is missing.' };
586
+ }
587
+ return signatureMatches(input.rawBody, header, secret)
588
+ ? { ok: true, body: input.body }
589
+ : { ok: false, reason: 'The Paddle signature does not match the notification secret.' };
590
+ }
591
+
592
+ // A transaction whose notification never came (no destination for this
593
+ // store's address, a secret of another one) is settled from Paddle itself:
594
+ // it is READ with the store's key and answered as the notification Paddle
595
+ // sends for its current status. Nothing but its id comes from the request.
596
+ var TRANSACTION_ID_PATTERN = /^txn_[A-Za-z0-9]{8,64}$/;
597
+ // A draft, ready or billed transaction took no money yet: nothing to settle.
598
+ var SETTLED_TRANSACTION_EVENTS = {
599
+ completed: 'transaction.completed',
600
+ paid: 'transaction.paid',
601
+ past_due: 'transaction.past_due',
602
+ canceled: 'transaction.canceled',
603
+ };
604
+
605
+ async function reconcile(request) {
606
+ var kind = String((request && request.kind) || '');
607
+ var id = String((request && request.id) || '').trim();
608
+ if (kind !== 'checkout' || !TRANSACTION_ID_PATTERN.test(id)) {
609
+ return { ok: false, reason: 'The request names no Paddle transaction to settle.' };
610
+ }
611
+ if (!apiKey()) {
612
+ return { ok: false, retry: true, reason: MISSING_KEY };
613
+ }
614
+ try {
615
+ var answer = await call('GET', '/transactions/' + encodeURIComponent(id));
616
+ if (!answer.ok || !answer.data || !answer.data.data) {
617
+ return {
618
+ ok: false,
619
+ retry: answer.status >= 500 || answer.status === 429,
620
+ reason: problem(answer.data, 'Paddle could not be asked about transaction ' + id),
621
+ };
622
+ }
623
+ var transaction = answer.data.data;
624
+ var eventType = SETTLED_TRANSACTION_EVENTS[String(transaction.status || '')];
625
+ if (!eventType) {
626
+ return { ok: false, reason: 'Paddle transaction ' + id + ' is ' + (transaction.status || 'open') + ', with nothing to settle yet.' };
627
+ }
628
+ var eventId = 'teleport-settle:' + String(transaction.id || id);
629
+ return {
630
+ ok: true,
631
+ body: { event_id: eventId, event_type: eventType, occurred_at: new Date().toISOString(), notification_id: eventId, data: transaction },
632
+ };
633
+ } catch (err) {
634
+ return { ok: false, retry: true, reason: core.describeError(err) };
635
+ }
636
+ }
637
+
638
+ function reconcileKinds(reference) {
639
+ return TRANSACTION_ID_PATTERN.test(String(reference || '').trim()) ? ['checkout'] : [];
640
+ }
641
+
642
+ // What the store's \`/pay/paddle\` page needs to open a transaction's
643
+ // checkout — only for one still taking money (\`draft\` or \`ready\`); a paid,
644
+ // billed or canceled one is not opened again.
645
+ async function checkoutPage(transactionId) {
646
+ var id = String(transactionId || '').trim();
647
+ if (id.indexOf('txn_') !== 0 || !apiKey() || !clientToken()) {
648
+ return null;
649
+ }
650
+ var answer = await call('GET', '/transactions/' + encodeURIComponent(id));
651
+ if (!answer.ok || !answer.data || !answer.data.data || transactionState(answer.data.data) !== 'open') {
652
+ return null;
653
+ }
654
+ var data = answer.data.data.custom_data || {};
655
+ return {
656
+ transactionId: id,
657
+ token: clientToken(),
658
+ sandbox: isSandbox(),
659
+ successUrl: String(data.successUrl || ''),
660
+ cancelUrl: String(data.cancelUrl || ''),
661
+ };
662
+ }
663
+
664
+ return {
665
+ id: 'paddle',
666
+ createCheckout: createCheckout,
667
+ createSubscriptionCheckout: createSubscriptionCheckout,
668
+ inspectCheckout: inspectCheckout,
669
+ closeCheckout: closeCheckout,
670
+ findCheckouts: findCheckouts,
671
+ ensurePlan: ensurePlan,
672
+ refund: refund,
673
+ manageSubscription: manageSubscription,
674
+ billingPortal: billingPortal,
675
+ reconcile: reconcile,
676
+ reconcileKinds: reconcileKinds,
677
+ verifyWebhook: verifyWebhook,
678
+ checkoutPage: checkoutPage,
679
+ };
680
+ };
681
+ `;
682
+ exports.generatePaddleDriverCode = generatePaddleDriverCode;
683
+ //# sourceMappingURL=paddle-driver-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paddle-driver-code.js","sourceRoot":"","sources":["../../../../src/payments/drivers/paddle-driver-code.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACI,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2pBrD,CAAA;AA3pBY,QAAA,wBAAwB,4BA2pBpC"}