@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,778 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateStripeDriverCode = void 0;
4
+ /**
5
+ * Emits `utils/payments/drivers/stripe.js`: hosted Checkout (one-time and
6
+ * subscription), refunds, subscription management, the billing portal and
7
+ * webhook verification, through the official SDK.
8
+ *
9
+ * `payment_method_types` is never sent: Stripe then shows every method the
10
+ * merchant enabled in the Dashboard (cards, wallets, Link, bank debits and the
11
+ * stablecoin `crypto` method) — which is also why an asynchronous method can
12
+ * complete a session unpaid and settle later (see the webhook extract script).
13
+ */
14
+ const generateStripeDriverCode = () => `'use strict';
15
+ /**
16
+ * Stripe driver. Generated by TeleportHQ — changes are overwritten on the next export.
17
+ */
18
+ module.exports = function createStripeDriver(core) {
19
+ // An older store's test key, read after the names the editor saves.
20
+ var LEGACY_SECRET_KEY_NAMES = ['STRIPE_TEST_KEY'];
21
+ var MISSING_KEY = 'STRIPE_SECRET_KEY is not configured';
22
+ var INTERVALS = ['day', 'week', 'month', 'year'];
23
+ // Checkout tolerates a signature this old, as Stripe's own libraries do.
24
+ var SIGNATURE_TOLERANCE_SECONDS = 300;
25
+ // Three-decimal currencies Stripe takes only in whole tens of the smallest unit.
26
+ var TENS_ONLY = ['BHD', 'JOD', 'KWD', 'OMR', 'TND'];
27
+
28
+ function secretKey() {
29
+ return core.credential('stripe', 'secretKey', LEGACY_SECRET_KEY_NAMES);
30
+ }
31
+
32
+ // An amount in Stripe's smallest unit: the thousandth first, as everywhere,
33
+ // then the nearest ten where Stripe requires it.
34
+ function minorUnits(major, currency) {
35
+ var value = core.toMinor(major, currency);
36
+ return TENS_ONLY.indexOf(String(currency || '').toUpperCase()) >= 0 ? Math.round(value / 10) * 10 : value;
37
+ }
38
+
39
+ function client(key) {
40
+ var Stripe = require('stripe');
41
+ return new Stripe(key);
42
+ }
43
+
44
+ function idOf(value) {
45
+ if (typeof value === 'string') {
46
+ return value;
47
+ }
48
+ return value && value.id ? String(value.id) : '';
49
+ }
50
+
51
+ function unixToIso(value) {
52
+ var seconds = Number(value);
53
+ return isFinite(seconds) && seconds > 0 ? new Date(seconds * 1000).toISOString() : '';
54
+ }
55
+
56
+ async function createCheckout(input) {
57
+ var key = secretKey();
58
+ if (!key) {
59
+ return { checkoutUrl: '', sessionId: '', error: MISSING_KEY };
60
+ }
61
+ try {
62
+ var stripe = client(key);
63
+ var currency = input.currency;
64
+ var params = {
65
+ mode: 'payment',
66
+ success_url: input.successUrl || undefined,
67
+ cancel_url: input.cancelUrl || undefined,
68
+ };
69
+ var lineItems = input.lineItems;
70
+ if (lineItems && Array.isArray(lineItems) && lineItems.length > 0) {
71
+ params.line_items = lineItems.map(function (item) {
72
+ var productData = { name: item.name || 'Item' };
73
+ // The options the shopper chose, under the line on Stripe's page and
74
+ // receipt. Stripe rejects an empty description and caps it at 500.
75
+ var lineDescription = typeof item.description === 'string' ? item.description.trim().slice(0, 500) : '';
76
+ if (lineDescription) {
77
+ productData.description = lineDescription;
78
+ }
79
+ return {
80
+ price_data: {
81
+ currency: currency,
82
+ product_data: productData,
83
+ unit_amount: minorUnits(item.unitAmount, currency),
84
+ },
85
+ quantity: Number(item.quantity) || 1,
86
+ };
87
+ });
88
+ } else {
89
+ params.line_items = [
90
+ {
91
+ price_data: {
92
+ currency: currency,
93
+ product_data: { name: input.description },
94
+ unit_amount: minorUnits(input.amount, currency),
95
+ },
96
+ quantity: 1,
97
+ },
98
+ ];
99
+ }
100
+ if (input.metadata) {
101
+ params.metadata = input.metadata;
102
+ // On the PaymentIntent too, which Stripe copies onto the charge: a
103
+ // refund event carries the CHARGE, and without this it names no order.
104
+ params.payment_intent_data = { metadata: input.metadata };
105
+ }
106
+ if (input.customerEmail) {
107
+ params.customer_email = String(input.customerEmail);
108
+ }
109
+ var session = await stripe.checkout.sessions.create(params);
110
+ return { checkoutUrl: session.url || '', sessionId: session.id || '' };
111
+ } catch (err) {
112
+ return { checkoutUrl: '', sessionId: '', error: err && err.message ? err.message : String(err) };
113
+ }
114
+ }
115
+
116
+ // ONE recurring line, priced inline (\`price_data.recurring\`), so no price
117
+ // object has to exist first. \`amountDue\` below \`amount\` is what the FIRST
118
+ // invoice charges after a gift card paid the rest: a one-shot coupon.
119
+ async function createSubscriptionCheckout(input) {
120
+ var key = secretKey();
121
+ if (!key) {
122
+ return { checkoutUrl: '', sessionId: '', error: MISSING_KEY };
123
+ }
124
+ var currency = input.currency;
125
+ var interval = String(input.recurringInterval || 'month').toLowerCase();
126
+ if (INTERVALS.indexOf(interval) === -1) {
127
+ return { checkoutUrl: '', sessionId: '', error: 'Unknown billing interval "' + interval + '"' };
128
+ }
129
+ var intervalCount = Math.max(1, Math.floor(Number(input.recurringIntervalCount) || 1));
130
+ var trialDays = Math.max(0, Math.floor(Number(input.trialDays) || 0));
131
+ var unitAmount = minorUnits(input.amount, currency);
132
+ if (unitAmount <= 0) {
133
+ return { checkoutUrl: '', sessionId: '', error: 'A subscription needs a positive amount to bill' };
134
+ }
135
+ var firstChargeDue = Number(input.amountDue);
136
+ var firstChargeAmount =
137
+ isFinite(firstChargeDue) && firstChargeDue < Number(input.amount) ? minorUnits(firstChargeDue, currency) : unitAmount;
138
+ if (firstChargeAmount <= 0) {
139
+ // The tender rule leaves at least the provider minimum due; a first charge
140
+ // of nothing would collect no payment method for the cycles after it.
141
+ return { checkoutUrl: '', sessionId: '', error: 'A gift card cannot cover the whole first payment of a subscription' };
142
+ }
143
+ try {
144
+ var stripe = client(key);
145
+ var subscriptionData = {};
146
+ if (trialDays > 0) {
147
+ subscriptionData.trial_period_days = trialDays;
148
+ }
149
+ if (input.metadata) {
150
+ // On the subscription too, so every later invoice names the order.
151
+ subscriptionData.metadata = input.metadata;
152
+ }
153
+ var params = {
154
+ mode: 'subscription',
155
+ success_url: input.successUrl || undefined,
156
+ cancel_url: input.cancelUrl || undefined,
157
+ line_items: [
158
+ {
159
+ price_data: {
160
+ currency: currency,
161
+ product_data: { name: input.description },
162
+ unit_amount: unitAmount,
163
+ recurring: { interval: interval, interval_count: intervalCount },
164
+ },
165
+ quantity: 1,
166
+ },
167
+ ],
168
+ subscription_data: subscriptionData,
169
+ };
170
+ if (input.customerEmail) {
171
+ params.customer_email = String(input.customerEmail);
172
+ }
173
+ if (input.metadata) {
174
+ params.metadata = input.metadata;
175
+ }
176
+ if (firstChargeAmount < unitAmount) {
177
+ var coupon = await stripe.coupons.create({
178
+ amount_off: unitAmount - firstChargeAmount,
179
+ currency: currency,
180
+ duration: 'once',
181
+ max_redemptions: 1,
182
+ name: 'Gift card',
183
+ metadata: input.metadata || {},
184
+ });
185
+ params.discounts = [{ coupon: coupon.id }];
186
+ }
187
+ var session = await stripe.checkout.sessions.create(params);
188
+ return { checkoutUrl: session.url || '', sessionId: session.id || '', providerSubscriptionId: '' };
189
+ } catch (err) {
190
+ return { checkoutUrl: '', sessionId: '', error: err && err.message ? err.message : String(err) };
191
+ }
192
+ }
193
+
194
+ // Checkout takes the price inline, so Stripe needs no plan of its own.
195
+ async function ensurePlan() {
196
+ return { ok: 'true', planId: '', providerProductId: '', created: 'false' };
197
+ }
198
+
199
+ // What became of a Checkout Session the store opened earlier: still open (its
200
+ // page is where the buyer pays), complete (paid, or an asynchronous method
201
+ // still settling) or expired. A reference that is no session, or one Stripe
202
+ // does not know, can take no more money.
203
+ async function inspectCheckout(input) {
204
+ var reference = String((input && input.reference) || '').trim();
205
+ if (reference.indexOf('cs_') !== 0) {
206
+ return { state: 'closed', checkoutUrl: '' };
207
+ }
208
+ var key = secretKey();
209
+ if (!key) {
210
+ return { state: '', checkoutUrl: '', error: MISSING_KEY };
211
+ }
212
+ try {
213
+ var stripe = client(key);
214
+ var session = await stripe.checkout.sessions.retrieve(reference);
215
+ var found = await sessionState(stripe, session);
216
+ return { state: found.state, checkoutUrl: found.checkoutUrl };
217
+ } catch (err) {
218
+ if (isMissing(err)) {
219
+ return { state: 'closed', checkoutUrl: '' };
220
+ }
221
+ return { state: '', checkoutUrl: '', error: core.describeError(err) };
222
+ }
223
+ }
224
+
225
+ function isMissing(err) {
226
+ return !!err && (err.statusCode === 404 || err.code === 'resource_missing');
227
+ }
228
+
229
+ // A session as a checkout state: open (with the page and when it runs out),
230
+ // complete (paid, or an asynchronous method still settling) or expired.
231
+ async function sessionState(stripe, session) {
232
+ var status = String((session && session.status) || '');
233
+ if (status === 'open' && session.url) {
234
+ return { state: 'open', checkoutUrl: String(session.url), openUntil: unixToIso(session.expires_at) };
235
+ }
236
+ if (status === 'complete') {
237
+ var paid = String(session.payment_status || '') !== 'unpaid';
238
+ return { state: paid ? 'paid' : await unpaidSessionState(stripe, session), checkoutUrl: '', openUntil: '' };
239
+ }
240
+ return { state: 'closed', checkoutUrl: '', openUntil: '' };
241
+ }
242
+
243
+ // A session an asynchronous method completed UNPAID stays that way whether
244
+ // the money settles or not: its PaymentIntent says which. One whose payment
245
+ // failed or was cancelled takes no more money (its page is complete); one
246
+ // still processing, or waiting for the buyer's transfer, is on its way. A
247
+ // session with no intent (a subscription's) is settled by its invoice.
248
+ async function unpaidSessionState(stripe, session) {
249
+ var intent = session.payment_intent;
250
+ if (!intent) {
251
+ return 'confirming';
252
+ }
253
+ if (typeof intent === 'string') {
254
+ intent = await stripe.paymentIntents.retrieve(intent);
255
+ }
256
+ var status = String((intent && intent.status) || '');
257
+ if (status === 'succeeded') {
258
+ return 'paid';
259
+ }
260
+ if (status === 'requires_payment_method' || status === 'canceled') {
261
+ return 'closed';
262
+ }
263
+ return 'confirming';
264
+ }
265
+
266
+ // Closes a session the order no longer needs: an open one is expired, so its
267
+ // page takes no more money. A buyer who finished paying between the read and
268
+ // the expiry leaves it complete, and that is what is answered.
269
+ async function closeCheckout(input) {
270
+ var reference = String((input && input.reference) || '').trim();
271
+ if (reference.indexOf('cs_') !== 0) {
272
+ return { state: 'closed', checkoutUrl: '', openUntil: '' };
273
+ }
274
+ var key = secretKey();
275
+ if (!key) {
276
+ return { state: '', error: MISSING_KEY };
277
+ }
278
+ try {
279
+ var stripe = client(key);
280
+ var session = await stripe.checkout.sessions.retrieve(reference);
281
+ if (String(session.status || '') === 'open') {
282
+ try {
283
+ session = await stripe.checkout.sessions.expire(reference);
284
+ } catch (_expireError) {
285
+ session = await stripe.checkout.sessions.retrieve(reference);
286
+ }
287
+ }
288
+ var found = await sessionState(stripe, session);
289
+ if (found.state === 'open') {
290
+ return { state: '', error: 'Stripe did not expire checkout ' + reference + '.' };
291
+ }
292
+ return found;
293
+ } catch (err) {
294
+ if (isMissing(err)) {
295
+ return { state: 'closed', checkoutUrl: '', openUntil: '' };
296
+ }
297
+ return { state: '', error: core.describeError(err) };
298
+ }
299
+ }
300
+
301
+ // The Checkout Sessions opened for an order around the moment it was placed
302
+ // (sessions carry the order in their metadata): how an order that recorded
303
+ // no checkout finds the one its placing opened.
304
+ async function findCheckouts(input) {
305
+ var orderId = String((input && input.orderId) || '').trim();
306
+ var span = core.searchWindow(input && input.placedAt);
307
+ if (!orderId || !span) {
308
+ return { error: 'The order to look up names no id or no time it was placed.' };
309
+ }
310
+ var key = secretKey();
311
+ if (!key) {
312
+ return { error: MISSING_KEY };
313
+ }
314
+ try {
315
+ var stripe = client(key);
316
+ var references = [];
317
+ var startingAfter = '';
318
+ for (var page = 0; page < core.SEARCH_PAGE_LIMIT; page++) {
319
+ var params = { created: { gte: Math.floor(span.from / 1000), lte: Math.ceil(span.to / 1000) }, limit: 100 };
320
+ if (startingAfter) {
321
+ params.starting_after = startingAfter;
322
+ }
323
+ var list = await stripe.checkout.sessions.list(params);
324
+ var sessions = list && Array.isArray(list.data) ? list.data : [];
325
+ sessions.forEach(function (session) {
326
+ if (session && session.id && String(core.readMetadata(session.metadata).orderId || '') === orderId) {
327
+ references.push(String(session.id));
328
+ }
329
+ });
330
+ if (!list || !list.has_more || sessions.length === 0) {
331
+ return { references: references };
332
+ }
333
+ startingAfter = String(sessions[sessions.length - 1].id);
334
+ }
335
+ return { error: 'Stripe has more checkouts around the time this order was placed than the store can search.' };
336
+ } catch (err) {
337
+ return { error: core.describeError(err) };
338
+ }
339
+ }
340
+
341
+ // The payment behind a subscription invoice: \`payment_intent\` on the classic
342
+ // shape, \`payments.data[0].payment.payment_intent\` from the 2025 versions,
343
+ // only \`charge\` on the oldest rows.
344
+ function invoicePaymentTarget(invoice) {
345
+ if (!invoice) {
346
+ return null;
347
+ }
348
+ var classic = idOf(invoice.payment_intent);
349
+ if (classic) {
350
+ return { paymentIntent: classic };
351
+ }
352
+ var payments = invoice.payments && invoice.payments.data ? invoice.payments.data : [];
353
+ var latest = payments.length > 0 && payments[0].payment ? idOf(payments[0].payment.payment_intent) : '';
354
+ if (latest) {
355
+ return { paymentIntent: latest };
356
+ }
357
+ var charge = idOf(invoice.charge);
358
+ return charge ? { charge: charge } : null;
359
+ }
360
+
361
+ function refundFailure(currency, message, extra) {
362
+ var result = { success: false, refundId: '', amount: 0, currency: currency, status: '', error: message };
363
+ if (extra) {
364
+ Object.keys(extra).forEach(function (key) {
365
+ result[key] = extra[key];
366
+ });
367
+ }
368
+ return result;
369
+ }
370
+
371
+ // The order row stores whatever the webhook saw — a PaymentIntent, a Checkout
372
+ // Session, a Charge, a subscription Invoice — and \`refunds.create\` takes an
373
+ // intent or a charge, so each is resolved to one first.
374
+ async function refund(input) {
375
+ var currency = input.currency;
376
+ var key = secretKey();
377
+ if (!key) {
378
+ return refundFailure(currency, MISSING_KEY);
379
+ }
380
+ var reference = input.paymentReference;
381
+ try {
382
+ var stripe = client(key);
383
+ var params = {};
384
+ if (reference.indexOf('ch_') === 0 || reference.indexOf('py_') === 0) {
385
+ params.charge = reference;
386
+ } else if (reference.indexOf('cs_') === 0) {
387
+ var session = await stripe.checkout.sessions.retrieve(reference);
388
+ var intentId = session ? idOf(session.payment_intent) : '';
389
+ if (!intentId) {
390
+ return refundFailure(currency, 'The Stripe checkout session for this order has no payment to refund.');
391
+ }
392
+ params.payment_intent = intentId;
393
+ } else if (reference.indexOf('in_') === 0) {
394
+ var target = invoicePaymentTarget(await stripe.invoices.retrieve(reference));
395
+ if (!target) {
396
+ return refundFailure(currency, 'This Stripe invoice has no payment to refund.');
397
+ }
398
+ if (target.charge) {
399
+ params.charge = target.charge;
400
+ } else {
401
+ params.payment_intent = target.paymentIntent;
402
+ }
403
+ } else if (reference.indexOf('sub_') === 0) {
404
+ return refundFailure(currency, "A subscription id cannot be refunded; refund the order's invoice instead.");
405
+ } else if (reference.indexOf('re_') === 0) {
406
+ return refundFailure(currency, 'This payment reference is already a refund id, so there is nothing to refund.');
407
+ } else {
408
+ params.payment_intent = reference;
409
+ }
410
+ var minor = minorUnits(input.amount, currency);
411
+ if (input.amount > 0 && minor <= 0) {
412
+ // A missing amount means "refund everything", so an amount too small
413
+ // to express in this currency is refused rather than rounded away.
414
+ return refundFailure(currency, 'The amount is smaller than the smallest unit of ' + String(currency || '').toUpperCase() + '.');
415
+ }
416
+ if (minor > 0) {
417
+ params.amount = minor;
418
+ }
419
+ // Stripe accepts three reasons and rejects the call for anything else;
420
+ // the merchant's free text stays in the store's own record.
421
+ var normalizedReason = String(input.reason || '').trim().toLowerCase().replace(/\\s+/g, '_');
422
+ if (['duplicate', 'fraudulent', 'requested_by_customer'].indexOf(normalizedReason) >= 0) {
423
+ params.reason = normalizedReason;
424
+ }
425
+ if (input.orderId) {
426
+ params.metadata = { orderId: input.orderId };
427
+ }
428
+ var created = await stripe.refunds.create(params, { idempotencyKey: input.idempotencyKey });
429
+ var refundCurrency = String(created.currency || currency).toUpperCase();
430
+ var status = String(created.status || '');
431
+ if (status === 'failed' || status === 'canceled') {
432
+ var detail = created.failure_reason ? ': ' + String(created.failure_reason).replace(/_/g, ' ') : '';
433
+ return refundFailure(refundCurrency, 'Stripe reported the refund as ' + status + detail + '.', {
434
+ refundId: created.id || '',
435
+ status: status,
436
+ });
437
+ }
438
+ if (status === 'requires_action') {
439
+ // Some payment methods need the buyer to name where the money goes
440
+ // back to (Stripe asks them); none has gone back yet, and the refund
441
+ // is cancelled if they never answer.
442
+ return refundFailure(
443
+ refundCurrency,
444
+ 'Stripe is waiting for the buyer to act before it can pay this refund out, so nothing has been refunded yet.',
445
+ { refundId: created.id || '', status: status }
446
+ );
447
+ }
448
+ return {
449
+ success: true,
450
+ refundId: created.id || '',
451
+ amount: core.fromMinor(created.amount, refundCurrency),
452
+ currency: refundCurrency,
453
+ status: status,
454
+ error: '',
455
+ };
456
+ } catch (err) {
457
+ return refundFailure(currency, err && err.message ? err.message : String(err));
458
+ }
459
+ }
460
+
461
+ // A paused collection is Stripe's own status with \`pause_collection\` set,
462
+ // which the store calls paused; an ended subscription stays ended. A status
463
+ // the store does not know is '' (keep what the store has).
464
+ function subscriptionStatus(status, pauseCollection) {
465
+ var value = String(status || '').toLowerCase();
466
+ var map = {
467
+ active: 'active',
468
+ trialing: 'trialing',
469
+ past_due: 'past_due',
470
+ unpaid: 'past_due',
471
+ paused: 'paused',
472
+ canceled: 'cancelled',
473
+ incomplete_expired: 'expired',
474
+ incomplete: 'pending',
475
+ };
476
+ var mapped = map[value] || '';
477
+ if (pauseCollection && pauseCollection.behavior && mapped !== 'cancelled' && mapped !== 'expired') {
478
+ return 'paused';
479
+ }
480
+ return mapped;
481
+ }
482
+
483
+ // 2025 API versions carry the period on the item, not the subscription.
484
+ function periodOf(subscription, field) {
485
+ var firstItem = subscription && subscription.items && subscription.items.data && subscription.items.data[0];
486
+ return (subscription && subscription[field]) || (firstItem && firstItem[field]);
487
+ }
488
+
489
+ // The Dashboard can schedule a cancellation as a DATE (\`cancel_at\`); a date
490
+ // inside the current period is the same as cancel-at-period-end. An ended
491
+ // subscription has nothing left to cancel.
492
+ function cancelScheduled(subscription, status) {
493
+ if (status === 'cancelled') {
494
+ return false;
495
+ }
496
+ if (subscription && subscription.cancel_at_period_end) {
497
+ return true;
498
+ }
499
+ var cancelAt = Number(subscription && subscription.cancel_at);
500
+ var periodEnd = Number(periodOf(subscription, 'current_period_end'));
501
+ return isFinite(cancelAt) && cancelAt > 0 && (!(periodEnd > 0) || cancelAt <= periodEnd);
502
+ }
503
+
504
+ function manageFailure(message) {
505
+ return { ok: 'false', status: '', cancelAtPeriodEnd: 'false', currentPeriodStart: '', currentPeriodEnd: '', error: message };
506
+ }
507
+
508
+ async function manageSubscription(input) {
509
+ var key = secretKey();
510
+ if (!key) {
511
+ return manageFailure(MISSING_KEY);
512
+ }
513
+ var subscriptionId = input.subscriptionId;
514
+ var action = input.action;
515
+ try {
516
+ var stripe = client(key);
517
+ var subscription;
518
+ if (action === 'refresh') {
519
+ subscription = await stripe.subscriptions.retrieve(subscriptionId);
520
+ } else if (action === 'cancel') {
521
+ subscription = await stripe.subscriptions.cancel(subscriptionId);
522
+ } else if (action === 'cancel_at_period_end') {
523
+ subscription = await stripe.subscriptions.update(subscriptionId, { cancel_at_period_end: true });
524
+ } else if (action === 'pause') {
525
+ // Collection pauses; \`void\` marks the paused invoices uncollectible.
526
+ subscription = await stripe.subscriptions.update(subscriptionId, { pause_collection: { behavior: 'void' } });
527
+ } else {
528
+ subscription = await stripe.subscriptions.update(subscriptionId, { pause_collection: '', cancel_at_period_end: false });
529
+ }
530
+ var status = subscriptionStatus(subscription && subscription.status, subscription && subscription.pause_collection);
531
+ return {
532
+ ok: 'true',
533
+ status: status,
534
+ cancelAtPeriodEnd: cancelScheduled(subscription, status) ? 'true' : 'false',
535
+ currentPeriodStart: unixToIso(periodOf(subscription, 'current_period_start')),
536
+ currentPeriodEnd: unixToIso(periodOf(subscription, 'current_period_end')),
537
+ };
538
+ } catch (err) {
539
+ return manageFailure(err && err.message ? err.message : String(err));
540
+ }
541
+ }
542
+
543
+ // An account whose portal settings were never saved has no default
544
+ // configuration; the store creates (once) its own: payment methods and
545
+ // invoices only, so the subscription itself changes from the store.
546
+ async function ensurePortalConfiguration(stripe) {
547
+ var tag = 'teleport-store-billing-portal';
548
+ var existing = await stripe.billingPortal.configurations.list({ active: true, limit: 100 });
549
+ var list = (existing && existing.data) || [];
550
+ for (var i = 0; i < list.length; i++) {
551
+ var metadata = list[i] && list[i].metadata;
552
+ if (metadata && metadata.teleport === tag) {
553
+ return String(list[i].id);
554
+ }
555
+ }
556
+ var created = await stripe.billingPortal.configurations.create({
557
+ business_profile: { headline: 'Manage your payment method and invoices' },
558
+ features: { payment_method_update: { enabled: true }, invoice_history: { enabled: true } },
559
+ metadata: { teleport: tag },
560
+ });
561
+ return String(created.id);
562
+ }
563
+
564
+ async function billingPortal(input) {
565
+ var failure = function (message) {
566
+ return { ok: 'false', url: '', error: message };
567
+ };
568
+ var customerId = String(input.customerId || '').trim();
569
+ var returnUrl = String(input.returnUrl || '').trim();
570
+ if (!customerId) {
571
+ return failure('No Stripe customer is attached to this subscription yet.');
572
+ }
573
+ if (!/^https?:\\/\\/[^\\s]+$/i.test(returnUrl)) {
574
+ return failure('A return URL (http or https) is required to open the billing portal.');
575
+ }
576
+ var key = secretKey();
577
+ if (!key) {
578
+ return failure(MISSING_KEY);
579
+ }
580
+ try {
581
+ var stripe = client(key);
582
+ var cache = globalThis;
583
+ var createSession = function (configurationId) {
584
+ return stripe.billingPortal.sessions.create(
585
+ configurationId
586
+ ? { customer: customerId, return_url: returnUrl, configuration: configurationId }
587
+ : { customer: customerId, return_url: returnUrl }
588
+ );
589
+ };
590
+ var session;
591
+ try {
592
+ session = await createSession(cache.__stripeBillingPortalConfigurationId || '');
593
+ } catch (err) {
594
+ // Only a missing (or since-deleted) configuration is worth a retry.
595
+ if (!/configuration/i.test(String(err && err.message))) {
596
+ throw err;
597
+ }
598
+ cache.__stripeBillingPortalConfigurationId = await ensurePortalConfiguration(stripe);
599
+ session = await createSession(cache.__stripeBillingPortalConfigurationId);
600
+ }
601
+ if (!session || !session.url) {
602
+ return failure('Stripe did not return a billing portal link.');
603
+ }
604
+ return { ok: 'true', url: String(session.url) };
605
+ } catch (err) {
606
+ return failure(err && err.message ? err.message : String(err));
607
+ }
608
+ }
609
+
610
+ // A checkout whose webhook never came (a store Stripe cannot reach, an
611
+ // endpoint missing an event) is settled from Stripe itself: the session is
612
+ // READ with the store's key and answered as the event Stripe sends for its
613
+ // current state. Nothing but the session id comes from the request.
614
+ var SESSION_ID_PATTERN = /^cs_[A-Za-z0-9_]{8,250}$/;
615
+ // What an asynchronous method did with a session it completed unpaid.
616
+ var ASYNC_SESSION_EVENTS = {
617
+ paid: 'checkout.session.async_payment_succeeded',
618
+ closed: 'checkout.session.async_payment_failed',
619
+ };
620
+
621
+ function settledEvent(type, object) {
622
+ return { ok: true, body: { id: 'teleport-settle:' + String(object.id || ''), object: 'event', type: type, data: { object: object } } };
623
+ }
624
+
625
+ // Stripe could not be asked (a network failure, an outage, a rate limit):
626
+ // worth asking again. Any other refusal stands.
627
+ function unreachable(err) {
628
+ var status = Number(err && err.statusCode);
629
+ return !(status >= 400) || status >= 500 || status === 429;
630
+ }
631
+
632
+ // A subscription session answers its completion too, which activates the
633
+ // subscription (and pays the order when its first invoice is paid).
634
+ async function settleSession(stripe, session) {
635
+ var status = String(session.status || '');
636
+ if (status === 'expired') {
637
+ return settledEvent('checkout.session.expired', session);
638
+ }
639
+ if (status !== 'complete') {
640
+ return { ok: false, reason: 'Stripe checkout ' + session.id + ' is still open.' };
641
+ }
642
+ if (String(session.payment_status || '') !== 'unpaid') {
643
+ return settledEvent('checkout.session.completed', session);
644
+ }
645
+ // Completed unpaid, it stays that way: its PaymentIntent says what the
646
+ // money did since, and one still on its way is the completion itself.
647
+ var settled = await unpaidSessionState(stripe, session);
648
+ return settledEvent(ASYNC_SESSION_EVENTS[settled] || 'checkout.session.completed', session);
649
+ }
650
+
651
+ // A subscription session's first invoice, once paid: the \`invoice.paid\`
652
+ // that pays the order (the completion only replays it).
653
+ async function settleSessionInvoice(stripe, session) {
654
+ var invoiceId = session.mode === 'subscription' ? idOf(session.invoice) : '';
655
+ if (!invoiceId) {
656
+ return { ok: false, reason: 'Stripe checkout ' + session.id + ' has no subscription invoice to settle.' };
657
+ }
658
+ var invoice = await stripe.invoices.retrieve(invoiceId);
659
+ if (String((invoice && invoice.status) || '') !== 'paid') {
660
+ return { ok: false, reason: 'Stripe invoice ' + invoiceId + ' is not paid yet.' };
661
+ }
662
+ return settledEvent('invoice.paid', invoice);
663
+ }
664
+
665
+ async function reconcile(request) {
666
+ var kind = String((request && request.kind) || '');
667
+ var id = String((request && request.id) || '').trim();
668
+ if ((kind !== 'checkout' && kind !== 'checkout-invoice') || !SESSION_ID_PATTERN.test(id)) {
669
+ return { ok: false, reason: 'The request names no Stripe checkout to settle.' };
670
+ }
671
+ var key = secretKey();
672
+ if (!key) {
673
+ return { ok: false, retry: true, reason: MISSING_KEY };
674
+ }
675
+ try {
676
+ var stripe = client(key);
677
+ var session = await stripe.checkout.sessions.retrieve(id);
678
+ return kind === 'checkout' ? await settleSession(stripe, session) : await settleSessionInvoice(stripe, session);
679
+ } catch (err) {
680
+ if (isMissing(err)) {
681
+ return { ok: false, reason: 'Stripe does not know ' + id + '.' };
682
+ }
683
+ return { ok: false, retry: unreachable(err), reason: core.describeError(err) };
684
+ }
685
+ }
686
+
687
+ // What \`reconcile\` settles a checkout the store recorded by, in order: the
688
+ // session, then the first invoice a subscription session opened.
689
+ function reconcileKinds(reference) {
690
+ return SESSION_ID_PATTERN.test(String(reference || '').trim()) ? ['checkout', 'checkout-invoice'] : [];
691
+ }
692
+
693
+ function signatureMatches(rawBody, signatureHeader, secret) {
694
+ try {
695
+ var parts = String(signatureHeader || '').split(',');
696
+ var timestamp = '';
697
+ var signatures = [];
698
+ for (var i = 0; i < parts.length; i++) {
699
+ var pair = parts[i].trim().split('=');
700
+ if (pair[0] === 't') {
701
+ timestamp = pair[1];
702
+ }
703
+ if (pair[0] === 'v1') {
704
+ signatures.push(pair[1]);
705
+ }
706
+ }
707
+ if (!timestamp || signatures.length === 0) {
708
+ return false;
709
+ }
710
+ if (Math.abs(Math.floor(Date.now() / 1000) - Number(timestamp)) > SIGNATURE_TOLERANCE_SECONDS) {
711
+ return false;
712
+ }
713
+ var expected = core.hmac('sha256', secret, timestamp + '.' + rawBody.toString('utf8'), 'hex');
714
+ for (var j = 0; j < signatures.length; j++) {
715
+ if (core.safeEqual(expected, signatures[j])) {
716
+ return true;
717
+ }
718
+ }
719
+ return false;
720
+ } catch (_e) {
721
+ return false;
722
+ }
723
+ }
724
+
725
+ // With a signing secret the Stripe-Signature header decides. Without one the
726
+ // event is read back from Stripe with the store's own key, and THAT copy is
727
+ // what the store acts on — a forged body names no event Stripe has.
728
+ async function verifyWebhook(input) {
729
+ var secret = input.secret || core.credential('stripe', 'webhookSecret');
730
+ if (secret) {
731
+ var signature = core.header(input.headers, 'stripe-signature');
732
+ if (!signature) {
733
+ return { ok: false, reason: 'The Stripe-Signature header is missing.' };
734
+ }
735
+ return signatureMatches(input.rawBody, signature, secret)
736
+ ? { ok: true, body: input.body }
737
+ : { ok: false, reason: 'The Stripe signature does not match the webhook signing secret.' };
738
+ }
739
+ var eventId = input.body && typeof input.body.id === 'string' ? input.body.id : '';
740
+ if (eventId.indexOf('evt_') !== 0) {
741
+ return { ok: false, reason: 'The request names no Stripe event.' };
742
+ }
743
+ var key = secretKey();
744
+ if (!key) {
745
+ return { ok: false, reason: MISSING_KEY };
746
+ }
747
+ try {
748
+ var answer = await core.request('https://api.stripe.com/v1/events/' + encodeURIComponent(eventId), {
749
+ headers: { Authorization: 'Bearer ' + key },
750
+ });
751
+ if (!answer.ok || !answer.data || answer.data.id !== eventId) {
752
+ return { ok: false, reason: 'Stripe does not know the event ' + eventId + '.' };
753
+ }
754
+ return { ok: true, body: answer.data };
755
+ } catch (err) {
756
+ return { ok: false, reason: core.describeError(err) };
757
+ }
758
+ }
759
+
760
+ return {
761
+ id: 'stripe',
762
+ createCheckout: createCheckout,
763
+ createSubscriptionCheckout: createSubscriptionCheckout,
764
+ inspectCheckout: inspectCheckout,
765
+ closeCheckout: closeCheckout,
766
+ findCheckouts: findCheckouts,
767
+ ensurePlan: ensurePlan,
768
+ refund: refund,
769
+ manageSubscription: manageSubscription,
770
+ billingPortal: billingPortal,
771
+ reconcile: reconcile,
772
+ reconcileKinds: reconcileKinds,
773
+ verifyWebhook: verifyWebhook,
774
+ };
775
+ };
776
+ `;
777
+ exports.generateStripeDriverCode = generateStripeDriverCode;
778
+ //# sourceMappingURL=stripe-driver-code.js.map