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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/__tests__/_helpers/bind-workflow-utils.ts +16 -1
  2. package/__tests__/_helpers/fake-fetch.ts +96 -0
  3. package/__tests__/_helpers/fake-stripe.ts +52 -0
  4. package/__tests__/_helpers/load-handler.ts +22 -3
  5. package/__tests__/_helpers/load-invoice-route.ts +75 -0
  6. package/__tests__/_helpers/load-payment-drivers.ts +69 -0
  7. package/__tests__/_helpers/load-server-runtime.ts +33 -0
  8. package/__tests__/_helpers/run-generated-middleware.ts +50 -9
  9. package/__tests__/admin-form-hydration-target.test.ts +39 -0
  10. package/__tests__/admin-form-row-hydration.test.ts +58 -0
  11. package/__tests__/ai-select-database-data-handler.test.ts +14 -3
  12. package/__tests__/api-route-file-name-segments.test.ts +33 -0
  13. package/__tests__/app-secret-env.test.ts +55 -0
  14. package/__tests__/auth-env-secret-preservation.test.ts +22 -3
  15. package/__tests__/auth-nextauth-url.test.ts +134 -50
  16. package/__tests__/cart-add-item-kinds.test.ts +259 -0
  17. package/__tests__/cart-add-item-line-fields.test.ts +328 -0
  18. package/__tests__/cart-availability-add-to-cart.test.ts +108 -0
  19. package/__tests__/cart-get-total-discounts.test.ts +499 -0
  20. package/__tests__/cart-get-total-product-options.test.ts +195 -0
  21. package/__tests__/cart-get-total-subscriptions.test.ts +221 -0
  22. package/__tests__/cart-price-order.test.ts +283 -0
  23. package/__tests__/cart-update-item-quantity-recurring.test.ts +75 -0
  24. package/__tests__/client-loop-current-item.test.ts +164 -0
  25. package/__tests__/cron-route-loop-custom-node.test.ts +123 -0
  26. package/__tests__/cron-route-loop-templateparams.test.ts +7 -0
  27. package/__tests__/cron-route-verification.test.ts +252 -0
  28. package/__tests__/custom-js-runtime-base-url.test.ts +64 -0
  29. package/__tests__/custom-nodes-admin-module.test.ts +310 -0
  30. package/__tests__/data-api-browser-reads.test.ts +341 -0
  31. package/__tests__/data-api-low-stock-autofire.test.ts +67 -17
  32. package/__tests__/data-api-optional-feature-columns.test.ts +240 -0
  33. package/__tests__/data-api-protected-tables.test.ts +948 -0
  34. package/__tests__/data-node-not-awaited.test.ts +7 -3
  35. package/__tests__/data-write-missing-filter.test.ts +119 -0
  36. package/__tests__/ecommerce-rewriter-product-options.test.ts +143 -0
  37. package/__tests__/email-locale-senders.test.ts +1 -1
  38. package/__tests__/file-storage-upload-picked-files.test.ts +20 -0
  39. package/__tests__/input-debounce-per-field.test.ts +141 -0
  40. package/__tests__/internal-request-headers.test.ts +7 -3
  41. package/__tests__/invoice-data-access-replace.test.ts +340 -0
  42. package/__tests__/invoice-delivery-fee.test.ts +3 -2
  43. package/__tests__/invoice-generate-hydration.test.ts +20 -12
  44. package/__tests__/invoice-order-items-settle.test.ts +51 -46
  45. package/__tests__/invoice-product-options.test.ts +177 -0
  46. package/__tests__/invoice-regenerate-route.test.ts +488 -0
  47. package/__tests__/invoice-regional-tax.test.ts +3 -2
  48. package/__tests__/invoice-reservation.test.ts +195 -0
  49. package/__tests__/invoice-route-access.test.ts +275 -0
  50. package/__tests__/invoice-self-call-origin.test.ts +117 -0
  51. package/__tests__/invoice-tender.test.ts +550 -0
  52. package/__tests__/legacy-webhook-self-calls.test.ts +187 -0
  53. package/__tests__/locale-aware-redirects.test.ts +55 -26
  54. package/__tests__/loop-collection-unwrap.test.ts +6 -1
  55. package/__tests__/middleware-subscriber-access.test.ts +269 -0
  56. package/__tests__/payment-charge-user-earlier-attempt.test.ts +267 -0
  57. package/__tests__/payment-charge-user-handler-serialization.test.ts +47 -82
  58. package/__tests__/payment-charge-user-line-descriptions.test.ts +124 -0
  59. package/__tests__/payment-charge-user-report-refusal.test.ts +105 -0
  60. package/__tests__/payment-close-checkout-node.test.ts +127 -0
  61. package/__tests__/payment-driver-close-checkout.test.ts +1163 -0
  62. package/__tests__/payment-driver-coingate.test.ts +470 -0
  63. package/__tests__/payment-driver-inspect-checkout.test.ts +648 -0
  64. package/__tests__/payment-driver-mollie.test.ts +864 -0
  65. package/__tests__/payment-driver-paddle.test.ts +870 -0
  66. package/__tests__/payment-driver-paypal-capture.test.ts +158 -0
  67. package/__tests__/payment-driver-paypal-webhook.test.ts +367 -0
  68. package/__tests__/payment-driver-razorpay.test.ts +895 -0
  69. package/__tests__/payment-driver-square.test.ts +977 -0
  70. package/__tests__/payment-driver-stripe.test.ts +267 -0
  71. package/__tests__/payment-drivers-module.test.ts +429 -0
  72. package/__tests__/payment-legacy-webhook-routes.test.ts +588 -0
  73. package/__tests__/payment-redirect-and-order-notification.test.ts +98 -39
  74. package/__tests__/payment-refund.test.ts +523 -22
  75. package/__tests__/payment-subscription-nodes.test.ts +1360 -0
  76. package/__tests__/payment-webhook-route.test.ts +523 -0
  77. package/__tests__/paypal-webhook-signature-verification.test.ts +205 -0
  78. package/__tests__/prune-context-oversized-leaf.test.ts +1 -0
  79. package/__tests__/prune-context-state-keys.test.ts +89 -0
  80. package/__tests__/push-node-handlers.test.ts +291 -0
  81. package/__tests__/route-changed-trigger.test.ts +40 -0
  82. package/__tests__/runtime-storage-upload-access.test.ts +255 -0
  83. package/__tests__/security-runtime-shadow.test.ts +103 -1
  84. package/__tests__/segment-reply-changed-keys.test.ts +146 -0
  85. package/__tests__/segment-state-keys-emission.test.ts +185 -0
  86. package/__tests__/segment-state-needs.test.ts +102 -0
  87. package/__tests__/server-segment-context-integrity.test.ts +210 -0
  88. package/__tests__/server-step-signing.test.ts +371 -0
  89. package/__tests__/session-cookie-resolver.test.ts +59 -0
  90. package/__tests__/stock-decrement-audit.test.ts +17 -0
  91. package/__tests__/subscriber-access-route.test.ts +406 -0
  92. package/__tests__/webhook-delivery-lease.test.ts +316 -0
  93. package/__tests__/workflow-auth-guard.test.ts +253 -2
  94. package/dist/cjs/admin-form-hydration.d.ts +10 -0
  95. package/dist/cjs/admin-form-hydration.d.ts.map +1 -0
  96. package/dist/cjs/admin-form-hydration.js +25 -0
  97. package/dist/cjs/admin-form-hydration.js.map +1 -0
  98. package/dist/cjs/api-route-generator.d.ts +19 -3
  99. package/dist/cjs/api-route-generator.d.ts.map +1 -1
  100. package/dist/cjs/api-route-generator.js +190 -70
  101. package/dist/cjs/api-route-generator.js.map +1 -1
  102. package/dist/cjs/auth-generator.d.ts +4 -1
  103. package/dist/cjs/auth-generator.d.ts.map +1 -1
  104. package/dist/cjs/auth-generator.js +241 -62
  105. package/dist/cjs/auth-generator.js.map +1 -1
  106. package/dist/cjs/auth-return/signed-in-destination-code.d.ts +17 -0
  107. package/dist/cjs/auth-return/signed-in-destination-code.d.ts.map +1 -0
  108. package/dist/cjs/auth-return/signed-in-destination-code.js +37 -0
  109. package/dist/cjs/auth-return/signed-in-destination-code.js.map +1 -0
  110. package/dist/cjs/cart-pricing-preamble.d.ts +12 -0
  111. package/dist/cjs/cart-pricing-preamble.d.ts.map +1 -0
  112. package/dist/cjs/cart-pricing-preamble.js +23 -0
  113. package/dist/cjs/cart-pricing-preamble.js.map +1 -0
  114. package/dist/cjs/cron-request-verification.d.ts +24 -0
  115. package/dist/cjs/cron-request-verification.d.ts.map +1 -0
  116. package/dist/cjs/cron-request-verification.js +84 -0
  117. package/dist/cjs/cron-request-verification.js.map +1 -0
  118. package/dist/cjs/custom-node-modules.d.ts +30 -0
  119. package/dist/cjs/custom-node-modules.d.ts.map +1 -0
  120. package/dist/cjs/custom-node-modules.js +90 -0
  121. package/dist/cjs/custom-node-modules.js.map +1 -0
  122. package/dist/cjs/data-api-route-generator.d.ts +27 -0
  123. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  124. package/dist/cjs/data-api-route-generator.js +366 -29
  125. package/dist/cjs/data-api-route-generator.js.map +1 -1
  126. package/dist/cjs/ecommerce/cart-availability.d.ts.map +1 -1
  127. package/dist/cjs/ecommerce/cart-availability.js +22 -13
  128. package/dist/cjs/ecommerce/cart-availability.js.map +1 -1
  129. package/dist/cjs/ecommerce/stock-decrement.d.ts +2 -1
  130. package/dist/cjs/ecommerce/stock-decrement.d.ts.map +1 -1
  131. package/dist/cjs/ecommerce/stock-decrement.js +6 -0
  132. package/dist/cjs/ecommerce/stock-decrement.js.map +1 -1
  133. package/dist/cjs/executor-generator.d.ts +0 -1
  134. package/dist/cjs/executor-generator.d.ts.map +1 -1
  135. package/dist/cjs/executor-generator.js +213 -20
  136. package/dist/cjs/executor-generator.js.map +1 -1
  137. package/dist/cjs/index.d.ts +12 -4
  138. package/dist/cjs/index.d.ts.map +1 -1
  139. package/dist/cjs/index.js +25 -2
  140. package/dist/cjs/index.js.map +1 -1
  141. package/dist/cjs/invoice/api-routes-code.d.ts +26 -0
  142. package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
  143. package/dist/cjs/invoice/api-routes-code.js +423 -391
  144. package/dist/cjs/invoice/api-routes-code.js.map +1 -1
  145. package/dist/cjs/invoice/data-access-code.d.ts.map +1 -1
  146. package/dist/cjs/invoice/data-access-code.js +420 -107
  147. package/dist/cjs/invoice/data-access-code.js.map +1 -1
  148. package/dist/cjs/invoice/index.d.ts.map +1 -1
  149. package/dist/cjs/invoice/index.js +24 -0
  150. package/dist/cjs/invoice/index.js.map +1 -1
  151. package/dist/cjs/invoice/invoice-assembly-code.d.ts +12 -0
  152. package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -0
  153. package/dist/cjs/invoice/invoice-assembly-code.js +517 -0
  154. package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -0
  155. package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
  156. package/dist/cjs/invoice/invoice-html-code.js +111 -9
  157. package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
  158. package/dist/cjs/invoice/pdf-service-client-code.d.ts.map +1 -1
  159. package/dist/cjs/invoice/pdf-service-client-code.js +3 -4
  160. package/dist/cjs/invoice/pdf-service-client-code.js.map +1 -1
  161. package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
  162. package/dist/cjs/nodes/account/account-login.js +4 -3
  163. package/dist/cjs/nodes/account/account-login.js.map +1 -1
  164. package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
  165. package/dist/cjs/nodes/account/account-signup.js +7 -4
  166. package/dist/cjs/nodes/account/account-signup.js.map +1 -1
  167. package/dist/cjs/nodes/ai/ai-select-database-data.d.ts.map +1 -1
  168. package/dist/cjs/nodes/ai/ai-select-database-data.js +6 -1
  169. package/dist/cjs/nodes/ai/ai-select-database-data.js.map +1 -1
  170. package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts +9 -0
  171. package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
  172. package/dist/cjs/nodes/browser/browser-get-push-subscription.js +25 -0
  173. package/dist/cjs/nodes/browser/browser-get-push-subscription.js.map +1 -0
  174. package/dist/cjs/nodes/browser/browser-show-notification.d.ts +10 -0
  175. package/dist/cjs/nodes/browser/browser-show-notification.d.ts.map +1 -1
  176. package/dist/cjs/nodes/browser/browser-show-notification.js +65 -40
  177. package/dist/cjs/nodes/browser/browser-show-notification.js.map +1 -1
  178. package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
  179. package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
  180. package/dist/cjs/nodes/browser/browser-subscribe-to-push.js +21 -31
  181. package/dist/cjs/nodes/browser/browser-subscribe-to-push.js.map +1 -1
  182. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
  183. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
  184. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js +24 -0
  185. package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
  186. package/dist/cjs/nodes/browser/push-api-access.d.ts +12 -0
  187. package/dist/cjs/nodes/browser/push-api-access.d.ts.map +1 -0
  188. package/dist/cjs/nodes/browser/push-api-access.js +19 -0
  189. package/dist/cjs/nodes/browser/push-api-access.js.map +1 -0
  190. package/dist/cjs/nodes/cart/cart-add-item.d.ts.map +1 -1
  191. package/dist/cjs/nodes/cart/cart-add-item.js +174 -10
  192. package/dist/cjs/nodes/cart/cart-add-item.js.map +1 -1
  193. package/dist/cjs/nodes/cart/cart-clear.d.ts.map +1 -1
  194. package/dist/cjs/nodes/cart/cart-clear.js +11 -0
  195. package/dist/cjs/nodes/cart/cart-clear.js.map +1 -1
  196. package/dist/cjs/nodes/cart/cart-get-total.d.ts.map +1 -1
  197. package/dist/cjs/nodes/cart/cart-get-total.js +260 -3
  198. package/dist/cjs/nodes/cart/cart-get-total.js.map +1 -1
  199. package/dist/cjs/nodes/cart/cart-price-order.d.ts +3 -0
  200. package/dist/cjs/nodes/cart/cart-price-order.d.ts.map +1 -0
  201. package/dist/cjs/nodes/cart/cart-price-order.js +281 -0
  202. package/dist/cjs/nodes/cart/cart-price-order.js.map +1 -0
  203. package/dist/cjs/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
  204. package/dist/cjs/nodes/cart/cart-update-item-quantity.js +7 -0
  205. package/dist/cjs/nodes/cart/cart-update-item-quantity.js.map +1 -1
  206. package/dist/cjs/nodes/data/data-count.d.ts.map +1 -1
  207. package/dist/cjs/nodes/data/data-count.js +6 -1
  208. package/dist/cjs/nodes/data/data-count.js.map +1 -1
  209. package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
  210. package/dist/cjs/nodes/data/data-create-item.js +11 -1
  211. package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
  212. package/dist/cjs/nodes/data/data-delete-item.d.ts.map +1 -1
  213. package/dist/cjs/nodes/data/data-delete-item.js +29 -0
  214. package/dist/cjs/nodes/data/data-delete-item.js.map +1 -1
  215. package/dist/cjs/nodes/data/data-raw-query.d.ts.map +1 -1
  216. package/dist/cjs/nodes/data/data-raw-query.js +6 -1
  217. package/dist/cjs/nodes/data/data-raw-query.js.map +1 -1
  218. package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
  219. package/dist/cjs/nodes/data/data-select.js +6 -1
  220. package/dist/cjs/nodes/data/data-select.js.map +1 -1
  221. package/dist/cjs/nodes/data/data-update-item.d.ts.map +1 -1
  222. package/dist/cjs/nodes/data/data-update-item.js +29 -0
  223. package/dist/cjs/nodes/data/data-update-item.js.map +1 -1
  224. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  225. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
  226. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  227. package/dist/cjs/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
  228. package/dist/cjs/nodes/file-storage/file-storage-upload.js +7 -0
  229. package/dist/cjs/nodes/file-storage/file-storage-upload.js.map +1 -1
  230. package/dist/cjs/nodes/general/general-custom-js.d.ts.map +1 -1
  231. package/dist/cjs/nodes/general/general-custom-js.js +21 -5
  232. package/dist/cjs/nodes/general/general-custom-js.js.map +1 -1
  233. package/dist/cjs/nodes/index.d.ts.map +1 -1
  234. package/dist/cjs/nodes/index.js +9 -4
  235. package/dist/cjs/nodes/index.js.map +1 -1
  236. package/dist/cjs/nodes/payment/payment-billing-portal.d.ts +3 -0
  237. package/dist/cjs/nodes/payment/payment-billing-portal.d.ts.map +1 -0
  238. package/dist/cjs/nodes/payment/payment-billing-portal.js +52 -0
  239. package/dist/cjs/nodes/payment/payment-billing-portal.js.map +1 -0
  240. package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
  241. package/dist/cjs/nodes/payment/payment-charge-user.js +227 -360
  242. package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
  243. package/dist/cjs/nodes/payment/payment-close-checkout.d.ts +3 -0
  244. package/dist/cjs/nodes/payment/payment-close-checkout.d.ts.map +1 -0
  245. package/dist/cjs/nodes/payment/payment-close-checkout.js +141 -0
  246. package/dist/cjs/nodes/payment/payment-close-checkout.js.map +1 -0
  247. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
  248. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
  249. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js +67 -0
  250. package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
  251. package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts +3 -0
  252. package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
  253. package/dist/cjs/nodes/payment/payment-manage-subscription.js +89 -0
  254. package/dist/cjs/nodes/payment/payment-manage-subscription.js.map +1 -0
  255. package/dist/cjs/nodes/payment/payment-refund.d.ts.map +1 -1
  256. package/dist/cjs/nodes/payment/payment-refund.js +50 -404
  257. package/dist/cjs/nodes/payment/payment-refund.js.map +1 -1
  258. package/dist/cjs/nodes/push/push-send-notification.d.ts +14 -0
  259. package/dist/cjs/nodes/push/push-send-notification.d.ts.map +1 -0
  260. package/dist/cjs/nodes/push/push-send-notification.js +83 -0
  261. package/dist/cjs/nodes/push/push-send-notification.js.map +1 -0
  262. package/dist/cjs/payments/drivers/coingate-driver-code.d.ts +16 -0
  263. package/dist/cjs/payments/drivers/coingate-driver-code.d.ts.map +1 -0
  264. package/dist/cjs/payments/drivers/coingate-driver-code.js +471 -0
  265. package/dist/cjs/payments/drivers/coingate-driver-code.js.map +1 -0
  266. package/dist/cjs/payments/drivers/mollie-driver-code.d.ts +16 -0
  267. package/dist/cjs/payments/drivers/mollie-driver-code.d.ts.map +1 -0
  268. package/dist/cjs/payments/drivers/mollie-driver-code.js +623 -0
  269. package/dist/cjs/payments/drivers/mollie-driver-code.js.map +1 -0
  270. package/dist/cjs/payments/drivers/paddle-driver-code.d.ts +12 -0
  271. package/dist/cjs/payments/drivers/paddle-driver-code.d.ts.map +1 -0
  272. package/dist/cjs/payments/drivers/paddle-driver-code.js +683 -0
  273. package/dist/cjs/payments/drivers/paddle-driver-code.js.map +1 -0
  274. package/dist/cjs/payments/drivers/paypal-driver-code.d.ts +12 -0
  275. package/dist/cjs/payments/drivers/paypal-driver-code.d.ts.map +1 -0
  276. package/dist/cjs/payments/drivers/paypal-driver-code.js +1261 -0
  277. package/dist/cjs/payments/drivers/paypal-driver-code.js.map +1 -0
  278. package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts +12 -0
  279. package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
  280. package/dist/cjs/payments/drivers/razorpay-driver-code.js +732 -0
  281. package/dist/cjs/payments/drivers/razorpay-driver-code.js.map +1 -0
  282. package/dist/cjs/payments/drivers/square-driver-code.d.ts +14 -0
  283. package/dist/cjs/payments/drivers/square-driver-code.d.ts.map +1 -0
  284. package/dist/cjs/payments/drivers/square-driver-code.js +931 -0
  285. package/dist/cjs/payments/drivers/square-driver-code.js.map +1 -0
  286. package/dist/cjs/payments/drivers/stripe-driver-code.d.ts +12 -0
  287. package/dist/cjs/payments/drivers/stripe-driver-code.d.ts.map +1 -0
  288. package/dist/cjs/payments/drivers/stripe-driver-code.js +778 -0
  289. package/dist/cjs/payments/drivers/stripe-driver-code.js.map +1 -0
  290. package/dist/cjs/payments/index.d.ts +66 -0
  291. package/dist/cjs/payments/index.d.ts.map +1 -0
  292. package/dist/cjs/payments/index.js +175 -0
  293. package/dist/cjs/payments/index.js.map +1 -0
  294. package/dist/cjs/payments/payment-core-code.d.ts +19 -0
  295. package/dist/cjs/payments/payment-core-code.d.ts.map +1 -0
  296. package/dist/cjs/payments/payment-core-code.js +422 -0
  297. package/dist/cjs/payments/payment-core-code.js.map +1 -0
  298. package/dist/cjs/payments/payment-driver-code-map.d.ts +4 -0
  299. package/dist/cjs/payments/payment-driver-code-map.d.ts.map +1 -0
  300. package/dist/cjs/payments/payment-driver-code-map.js +21 -0
  301. package/dist/cjs/payments/payment-driver-code-map.js.map +1 -0
  302. package/dist/cjs/payments/payment-drivers-scope.d.ts +35 -0
  303. package/dist/cjs/payments/payment-drivers-scope.d.ts.map +1 -0
  304. package/dist/cjs/payments/payment-drivers-scope.js +56 -0
  305. package/dist/cjs/payments/payment-drivers-scope.js.map +1 -0
  306. package/dist/cjs/payments/payment-registry-code.d.ts +8 -0
  307. package/dist/cjs/payments/payment-registry-code.d.ts.map +1 -0
  308. package/dist/cjs/payments/payment-registry-code.js +41 -0
  309. package/dist/cjs/payments/payment-registry-code.js.map +1 -0
  310. package/dist/cjs/pg-client-code.d.ts +10 -0
  311. package/dist/cjs/pg-client-code.d.ts.map +1 -1
  312. package/dist/cjs/pg-client-code.js +27 -1
  313. package/dist/cjs/pg-client-code.js.map +1 -1
  314. package/dist/cjs/runtime-storage-generator.d.ts +28 -0
  315. package/dist/cjs/runtime-storage-generator.d.ts.map +1 -1
  316. package/dist/cjs/runtime-storage-generator.js +240 -5
  317. package/dist/cjs/runtime-storage-generator.js.map +1 -1
  318. package/dist/cjs/secret-collector.d.ts.map +1 -1
  319. package/dist/cjs/secret-collector.js +8 -3
  320. package/dist/cjs/secret-collector.js.map +1 -1
  321. package/dist/cjs/security-scanner.d.ts +10 -1
  322. package/dist/cjs/security-scanner.d.ts.map +1 -1
  323. package/dist/cjs/security-scanner.js +19 -1
  324. package/dist/cjs/security-scanner.js.map +1 -1
  325. package/dist/cjs/segment-context-needs.d.ts +38 -0
  326. package/dist/cjs/segment-context-needs.d.ts.map +1 -0
  327. package/dist/cjs/segment-context-needs.js +129 -0
  328. package/dist/cjs/segment-context-needs.js.map +1 -0
  329. package/dist/cjs/segment-splitter.d.ts.map +1 -1
  330. package/dist/cjs/segment-splitter.js +6 -1
  331. package/dist/cjs/segment-splitter.js.map +1 -1
  332. package/dist/cjs/segment-trust.d.ts +50 -0
  333. package/dist/cjs/segment-trust.d.ts.map +1 -0
  334. package/dist/cjs/segment-trust.js +115 -0
  335. package/dist/cjs/segment-trust.js.map +1 -0
  336. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +19 -0
  337. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -1
  338. package/dist/cjs/sent-email-log/sent-email-log-code.js +1 -24
  339. package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -1
  340. package/dist/cjs/server-runtime-code.d.ts +34 -0
  341. package/dist/cjs/server-runtime-code.d.ts.map +1 -0
  342. package/dist/cjs/server-runtime-code.js +303 -0
  343. package/dist/cjs/server-runtime-code.js.map +1 -0
  344. package/dist/cjs/session-cookie-resolver.d.ts +3 -78
  345. package/dist/cjs/session-cookie-resolver.d.ts.map +1 -1
  346. package/dist/cjs/session-cookie-resolver.js +7 -276
  347. package/dist/cjs/session-cookie-resolver.js.map +1 -1
  348. package/dist/cjs/subscriber-access-route-generator.d.ts +71 -0
  349. package/dist/cjs/subscriber-access-route-generator.d.ts.map +1 -0
  350. package/dist/cjs/subscriber-access-route-generator.js +301 -0
  351. package/dist/cjs/subscriber-access-route-generator.js.map +1 -0
  352. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  353. package/dist/cjs/types.d.ts +6 -0
  354. package/dist/cjs/types.d.ts.map +1 -1
  355. package/dist/cjs/webhook-delivery-lease/index.d.ts +8 -0
  356. package/dist/cjs/webhook-delivery-lease/index.d.ts.map +1 -0
  357. package/dist/cjs/webhook-delivery-lease/index.js +41 -0
  358. package/dist/cjs/webhook-delivery-lease/index.js.map +1 -0
  359. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
  360. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
  361. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js +151 -0
  362. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
  363. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
  364. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
  365. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js +19 -0
  366. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
  367. package/dist/cjs/webhook-generator.d.ts +1 -1
  368. package/dist/cjs/webhook-generator.d.ts.map +1 -1
  369. package/dist/cjs/webhook-generator.js +342 -254
  370. package/dist/cjs/webhook-generator.js.map +1 -1
  371. package/dist/cjs/webhook-signature-verification.d.ts +17 -1
  372. package/dist/cjs/webhook-signature-verification.d.ts.map +1 -1
  373. package/dist/cjs/webhook-signature-verification.js +182 -27
  374. package/dist/cjs/webhook-signature-verification.js.map +1 -1
  375. package/dist/cjs/workflow-auth-generator.d.ts +9 -6
  376. package/dist/cjs/workflow-auth-generator.d.ts.map +1 -1
  377. package/dist/cjs/workflow-auth-generator.js +133 -29
  378. package/dist/cjs/workflow-auth-generator.js.map +1 -1
  379. package/dist/cjs/workflow-component-plugin.d.ts.map +1 -1
  380. package/dist/cjs/workflow-component-plugin.js +65 -28
  381. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  382. package/dist/cjs/workflow-project-plugin.d.ts +13 -0
  383. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  384. package/dist/cjs/workflow-project-plugin.js +215 -65
  385. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  386. package/dist/esm/admin-form-hydration.d.ts +10 -0
  387. package/dist/esm/admin-form-hydration.d.ts.map +1 -0
  388. package/dist/esm/admin-form-hydration.js +21 -0
  389. package/dist/esm/admin-form-hydration.js.map +1 -0
  390. package/dist/esm/api-route-generator.d.ts +19 -3
  391. package/dist/esm/api-route-generator.d.ts.map +1 -1
  392. package/dist/esm/api-route-generator.js +189 -70
  393. package/dist/esm/api-route-generator.js.map +1 -1
  394. package/dist/esm/auth-generator.d.ts +4 -1
  395. package/dist/esm/auth-generator.d.ts.map +1 -1
  396. package/dist/esm/auth-generator.js +241 -62
  397. package/dist/esm/auth-generator.js.map +1 -1
  398. package/dist/esm/auth-return/signed-in-destination-code.d.ts +17 -0
  399. package/dist/esm/auth-return/signed-in-destination-code.d.ts.map +1 -0
  400. package/dist/esm/auth-return/signed-in-destination-code.js +33 -0
  401. package/dist/esm/auth-return/signed-in-destination-code.js.map +1 -0
  402. package/dist/esm/cart-pricing-preamble.d.ts +12 -0
  403. package/dist/esm/cart-pricing-preamble.d.ts.map +1 -0
  404. package/dist/esm/cart-pricing-preamble.js +19 -0
  405. package/dist/esm/cart-pricing-preamble.js.map +1 -0
  406. package/dist/esm/cron-request-verification.d.ts +24 -0
  407. package/dist/esm/cron-request-verification.d.ts.map +1 -0
  408. package/dist/esm/cron-request-verification.js +80 -0
  409. package/dist/esm/cron-request-verification.js.map +1 -0
  410. package/dist/esm/custom-node-modules.d.ts +30 -0
  411. package/dist/esm/custom-node-modules.d.ts.map +1 -0
  412. package/dist/esm/custom-node-modules.js +84 -0
  413. package/dist/esm/custom-node-modules.js.map +1 -0
  414. package/dist/esm/data-api-route-generator.d.ts +27 -0
  415. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  416. package/dist/esm/data-api-route-generator.js +365 -28
  417. package/dist/esm/data-api-route-generator.js.map +1 -1
  418. package/dist/esm/ecommerce/cart-availability.d.ts.map +1 -1
  419. package/dist/esm/ecommerce/cart-availability.js +22 -13
  420. package/dist/esm/ecommerce/cart-availability.js.map +1 -1
  421. package/dist/esm/ecommerce/stock-decrement.d.ts +2 -1
  422. package/dist/esm/ecommerce/stock-decrement.d.ts.map +1 -1
  423. package/dist/esm/ecommerce/stock-decrement.js +6 -0
  424. package/dist/esm/ecommerce/stock-decrement.js.map +1 -1
  425. package/dist/esm/executor-generator.d.ts +0 -1
  426. package/dist/esm/executor-generator.d.ts.map +1 -1
  427. package/dist/esm/executor-generator.js +212 -18
  428. package/dist/esm/executor-generator.js.map +1 -1
  429. package/dist/esm/index.d.ts +12 -4
  430. package/dist/esm/index.d.ts.map +1 -1
  431. package/dist/esm/index.js +10 -4
  432. package/dist/esm/index.js.map +1 -1
  433. package/dist/esm/invoice/api-routes-code.d.ts +26 -0
  434. package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
  435. package/dist/esm/invoice/api-routes-code.js +421 -390
  436. package/dist/esm/invoice/api-routes-code.js.map +1 -1
  437. package/dist/esm/invoice/data-access-code.d.ts.map +1 -1
  438. package/dist/esm/invoice/data-access-code.js +420 -107
  439. package/dist/esm/invoice/data-access-code.js.map +1 -1
  440. package/dist/esm/invoice/index.d.ts.map +1 -1
  441. package/dist/esm/invoice/index.js +25 -1
  442. package/dist/esm/invoice/index.js.map +1 -1
  443. package/dist/esm/invoice/invoice-assembly-code.d.ts +12 -0
  444. package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -0
  445. package/dist/esm/invoice/invoice-assembly-code.js +513 -0
  446. package/dist/esm/invoice/invoice-assembly-code.js.map +1 -0
  447. package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
  448. package/dist/esm/invoice/invoice-html-code.js +111 -9
  449. package/dist/esm/invoice/invoice-html-code.js.map +1 -1
  450. package/dist/esm/invoice/pdf-service-client-code.d.ts.map +1 -1
  451. package/dist/esm/invoice/pdf-service-client-code.js +3 -4
  452. package/dist/esm/invoice/pdf-service-client-code.js.map +1 -1
  453. package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
  454. package/dist/esm/nodes/account/account-login.js +4 -3
  455. package/dist/esm/nodes/account/account-login.js.map +1 -1
  456. package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
  457. package/dist/esm/nodes/account/account-signup.js +7 -4
  458. package/dist/esm/nodes/account/account-signup.js.map +1 -1
  459. package/dist/esm/nodes/ai/ai-select-database-data.d.ts.map +1 -1
  460. package/dist/esm/nodes/ai/ai-select-database-data.js +6 -1
  461. package/dist/esm/nodes/ai/ai-select-database-data.js.map +1 -1
  462. package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts +9 -0
  463. package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
  464. package/dist/esm/nodes/browser/browser-get-push-subscription.js +22 -0
  465. package/dist/esm/nodes/browser/browser-get-push-subscription.js.map +1 -0
  466. package/dist/esm/nodes/browser/browser-show-notification.d.ts +10 -0
  467. package/dist/esm/nodes/browser/browser-show-notification.d.ts.map +1 -1
  468. package/dist/esm/nodes/browser/browser-show-notification.js +65 -40
  469. package/dist/esm/nodes/browser/browser-show-notification.js.map +1 -1
  470. package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
  471. package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
  472. package/dist/esm/nodes/browser/browser-subscribe-to-push.js +21 -31
  473. package/dist/esm/nodes/browser/browser-subscribe-to-push.js.map +1 -1
  474. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
  475. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
  476. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js +21 -0
  477. package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
  478. package/dist/esm/nodes/browser/push-api-access.d.ts +12 -0
  479. package/dist/esm/nodes/browser/push-api-access.d.ts.map +1 -0
  480. package/dist/esm/nodes/browser/push-api-access.js +13 -0
  481. package/dist/esm/nodes/browser/push-api-access.js.map +1 -0
  482. package/dist/esm/nodes/cart/cart-add-item.d.ts.map +1 -1
  483. package/dist/esm/nodes/cart/cart-add-item.js +174 -10
  484. package/dist/esm/nodes/cart/cart-add-item.js.map +1 -1
  485. package/dist/esm/nodes/cart/cart-clear.d.ts.map +1 -1
  486. package/dist/esm/nodes/cart/cart-clear.js +11 -0
  487. package/dist/esm/nodes/cart/cart-clear.js.map +1 -1
  488. package/dist/esm/nodes/cart/cart-get-total.d.ts.map +1 -1
  489. package/dist/esm/nodes/cart/cart-get-total.js +261 -4
  490. package/dist/esm/nodes/cart/cart-get-total.js.map +1 -1
  491. package/dist/esm/nodes/cart/cart-price-order.d.ts +3 -0
  492. package/dist/esm/nodes/cart/cart-price-order.d.ts.map +1 -0
  493. package/dist/esm/nodes/cart/cart-price-order.js +278 -0
  494. package/dist/esm/nodes/cart/cart-price-order.js.map +1 -0
  495. package/dist/esm/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
  496. package/dist/esm/nodes/cart/cart-update-item-quantity.js +7 -0
  497. package/dist/esm/nodes/cart/cart-update-item-quantity.js.map +1 -1
  498. package/dist/esm/nodes/data/data-count.d.ts.map +1 -1
  499. package/dist/esm/nodes/data/data-count.js +6 -1
  500. package/dist/esm/nodes/data/data-count.js.map +1 -1
  501. package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
  502. package/dist/esm/nodes/data/data-create-item.js +11 -1
  503. package/dist/esm/nodes/data/data-create-item.js.map +1 -1
  504. package/dist/esm/nodes/data/data-delete-item.d.ts.map +1 -1
  505. package/dist/esm/nodes/data/data-delete-item.js +29 -0
  506. package/dist/esm/nodes/data/data-delete-item.js.map +1 -1
  507. package/dist/esm/nodes/data/data-raw-query.d.ts.map +1 -1
  508. package/dist/esm/nodes/data/data-raw-query.js +6 -1
  509. package/dist/esm/nodes/data/data-raw-query.js.map +1 -1
  510. package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
  511. package/dist/esm/nodes/data/data-select.js +6 -1
  512. package/dist/esm/nodes/data/data-select.js.map +1 -1
  513. package/dist/esm/nodes/data/data-update-item.d.ts.map +1 -1
  514. package/dist/esm/nodes/data/data-update-item.js +29 -0
  515. package/dist/esm/nodes/data/data-update-item.js.map +1 -1
  516. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  517. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
  518. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  519. package/dist/esm/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
  520. package/dist/esm/nodes/file-storage/file-storage-upload.js +7 -0
  521. package/dist/esm/nodes/file-storage/file-storage-upload.js.map +1 -1
  522. package/dist/esm/nodes/general/general-custom-js.d.ts.map +1 -1
  523. package/dist/esm/nodes/general/general-custom-js.js +21 -5
  524. package/dist/esm/nodes/general/general-custom-js.js.map +1 -1
  525. package/dist/esm/nodes/index.d.ts.map +1 -1
  526. package/dist/esm/nodes/index.js +9 -4
  527. package/dist/esm/nodes/index.js.map +1 -1
  528. package/dist/esm/nodes/payment/payment-billing-portal.d.ts +3 -0
  529. package/dist/esm/nodes/payment/payment-billing-portal.d.ts.map +1 -0
  530. package/dist/esm/nodes/payment/payment-billing-portal.js +49 -0
  531. package/dist/esm/nodes/payment/payment-billing-portal.js.map +1 -0
  532. package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
  533. package/dist/esm/nodes/payment/payment-charge-user.js +227 -360
  534. package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
  535. package/dist/esm/nodes/payment/payment-close-checkout.d.ts +3 -0
  536. package/dist/esm/nodes/payment/payment-close-checkout.d.ts.map +1 -0
  537. package/dist/esm/nodes/payment/payment-close-checkout.js +138 -0
  538. package/dist/esm/nodes/payment/payment-close-checkout.js.map +1 -0
  539. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
  540. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
  541. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js +64 -0
  542. package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
  543. package/dist/esm/nodes/payment/payment-manage-subscription.d.ts +3 -0
  544. package/dist/esm/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
  545. package/dist/esm/nodes/payment/payment-manage-subscription.js +86 -0
  546. package/dist/esm/nodes/payment/payment-manage-subscription.js.map +1 -0
  547. package/dist/esm/nodes/payment/payment-refund.d.ts.map +1 -1
  548. package/dist/esm/nodes/payment/payment-refund.js +50 -404
  549. package/dist/esm/nodes/payment/payment-refund.js.map +1 -1
  550. package/dist/esm/nodes/push/push-send-notification.d.ts +14 -0
  551. package/dist/esm/nodes/push/push-send-notification.d.ts.map +1 -0
  552. package/dist/esm/nodes/push/push-send-notification.js +80 -0
  553. package/dist/esm/nodes/push/push-send-notification.js.map +1 -0
  554. package/dist/esm/payments/drivers/coingate-driver-code.d.ts +16 -0
  555. package/dist/esm/payments/drivers/coingate-driver-code.d.ts.map +1 -0
  556. package/dist/esm/payments/drivers/coingate-driver-code.js +467 -0
  557. package/dist/esm/payments/drivers/coingate-driver-code.js.map +1 -0
  558. package/dist/esm/payments/drivers/mollie-driver-code.d.ts +16 -0
  559. package/dist/esm/payments/drivers/mollie-driver-code.d.ts.map +1 -0
  560. package/dist/esm/payments/drivers/mollie-driver-code.js +619 -0
  561. package/dist/esm/payments/drivers/mollie-driver-code.js.map +1 -0
  562. package/dist/esm/payments/drivers/paddle-driver-code.d.ts +12 -0
  563. package/dist/esm/payments/drivers/paddle-driver-code.d.ts.map +1 -0
  564. package/dist/esm/payments/drivers/paddle-driver-code.js +679 -0
  565. package/dist/esm/payments/drivers/paddle-driver-code.js.map +1 -0
  566. package/dist/esm/payments/drivers/paypal-driver-code.d.ts +12 -0
  567. package/dist/esm/payments/drivers/paypal-driver-code.d.ts.map +1 -0
  568. package/dist/esm/payments/drivers/paypal-driver-code.js +1257 -0
  569. package/dist/esm/payments/drivers/paypal-driver-code.js.map +1 -0
  570. package/dist/esm/payments/drivers/razorpay-driver-code.d.ts +12 -0
  571. package/dist/esm/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
  572. package/dist/esm/payments/drivers/razorpay-driver-code.js +728 -0
  573. package/dist/esm/payments/drivers/razorpay-driver-code.js.map +1 -0
  574. package/dist/esm/payments/drivers/square-driver-code.d.ts +14 -0
  575. package/dist/esm/payments/drivers/square-driver-code.d.ts.map +1 -0
  576. package/dist/esm/payments/drivers/square-driver-code.js +927 -0
  577. package/dist/esm/payments/drivers/square-driver-code.js.map +1 -0
  578. package/dist/esm/payments/drivers/stripe-driver-code.d.ts +12 -0
  579. package/dist/esm/payments/drivers/stripe-driver-code.d.ts.map +1 -0
  580. package/dist/esm/payments/drivers/stripe-driver-code.js +774 -0
  581. package/dist/esm/payments/drivers/stripe-driver-code.js.map +1 -0
  582. package/dist/esm/payments/index.d.ts +66 -0
  583. package/dist/esm/payments/index.d.ts.map +1 -0
  584. package/dist/esm/payments/index.js +164 -0
  585. package/dist/esm/payments/index.js.map +1 -0
  586. package/dist/esm/payments/payment-core-code.d.ts +19 -0
  587. package/dist/esm/payments/payment-core-code.d.ts.map +1 -0
  588. package/dist/esm/payments/payment-core-code.js +418 -0
  589. package/dist/esm/payments/payment-core-code.js.map +1 -0
  590. package/dist/esm/payments/payment-driver-code-map.d.ts +4 -0
  591. package/dist/esm/payments/payment-driver-code-map.d.ts.map +1 -0
  592. package/dist/esm/payments/payment-driver-code-map.js +18 -0
  593. package/dist/esm/payments/payment-driver-code-map.js.map +1 -0
  594. package/dist/esm/payments/payment-drivers-scope.d.ts +35 -0
  595. package/dist/esm/payments/payment-drivers-scope.d.ts.map +1 -0
  596. package/dist/esm/payments/payment-drivers-scope.js +51 -0
  597. package/dist/esm/payments/payment-drivers-scope.js.map +1 -0
  598. package/dist/esm/payments/payment-registry-code.d.ts +8 -0
  599. package/dist/esm/payments/payment-registry-code.d.ts.map +1 -0
  600. package/dist/esm/payments/payment-registry-code.js +37 -0
  601. package/dist/esm/payments/payment-registry-code.js.map +1 -0
  602. package/dist/esm/pg-client-code.d.ts +10 -0
  603. package/dist/esm/pg-client-code.d.ts.map +1 -1
  604. package/dist/esm/pg-client-code.js +25 -0
  605. package/dist/esm/pg-client-code.js.map +1 -1
  606. package/dist/esm/runtime-storage-generator.d.ts +28 -0
  607. package/dist/esm/runtime-storage-generator.d.ts.map +1 -1
  608. package/dist/esm/runtime-storage-generator.js +239 -4
  609. package/dist/esm/runtime-storage-generator.js.map +1 -1
  610. package/dist/esm/secret-collector.d.ts.map +1 -1
  611. package/dist/esm/secret-collector.js +8 -3
  612. package/dist/esm/secret-collector.js.map +1 -1
  613. package/dist/esm/security-scanner.d.ts +10 -1
  614. package/dist/esm/security-scanner.d.ts.map +1 -1
  615. package/dist/esm/security-scanner.js +18 -0
  616. package/dist/esm/security-scanner.js.map +1 -1
  617. package/dist/esm/segment-context-needs.d.ts +38 -0
  618. package/dist/esm/segment-context-needs.d.ts.map +1 -0
  619. package/dist/esm/segment-context-needs.js +125 -0
  620. package/dist/esm/segment-context-needs.js.map +1 -0
  621. package/dist/esm/segment-splitter.d.ts.map +1 -1
  622. package/dist/esm/segment-splitter.js +6 -1
  623. package/dist/esm/segment-splitter.js.map +1 -1
  624. package/dist/esm/segment-trust.d.ts +50 -0
  625. package/dist/esm/segment-trust.d.ts.map +1 -0
  626. package/dist/esm/segment-trust.js +111 -0
  627. package/dist/esm/segment-trust.js.map +1 -0
  628. package/dist/esm/sent-email-log/sent-email-log-code.d.ts +19 -0
  629. package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -1
  630. package/dist/esm/sent-email-log/sent-email-log-code.js +2 -25
  631. package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -1
  632. package/dist/esm/server-runtime-code.d.ts +34 -0
  633. package/dist/esm/server-runtime-code.d.ts.map +1 -0
  634. package/dist/esm/server-runtime-code.js +299 -0
  635. package/dist/esm/server-runtime-code.js.map +1 -0
  636. package/dist/esm/session-cookie-resolver.d.ts +3 -78
  637. package/dist/esm/session-cookie-resolver.d.ts.map +1 -1
  638. package/dist/esm/session-cookie-resolver.js +7 -274
  639. package/dist/esm/session-cookie-resolver.js.map +1 -1
  640. package/dist/esm/subscriber-access-route-generator.d.ts +71 -0
  641. package/dist/esm/subscriber-access-route-generator.d.ts.map +1 -0
  642. package/dist/esm/subscriber-access-route-generator.js +292 -0
  643. package/dist/esm/subscriber-access-route-generator.js.map +1 -0
  644. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  645. package/dist/esm/types.d.ts +6 -0
  646. package/dist/esm/types.d.ts.map +1 -1
  647. package/dist/esm/webhook-delivery-lease/index.d.ts +8 -0
  648. package/dist/esm/webhook-delivery-lease/index.d.ts.map +1 -0
  649. package/dist/esm/webhook-delivery-lease/index.js +37 -0
  650. package/dist/esm/webhook-delivery-lease/index.js.map +1 -0
  651. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
  652. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
  653. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js +147 -0
  654. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
  655. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
  656. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
  657. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js +16 -0
  658. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
  659. package/dist/esm/webhook-generator.d.ts +1 -1
  660. package/dist/esm/webhook-generator.d.ts.map +1 -1
  661. package/dist/esm/webhook-generator.js +342 -254
  662. package/dist/esm/webhook-generator.js.map +1 -1
  663. package/dist/esm/webhook-signature-verification.d.ts +17 -1
  664. package/dist/esm/webhook-signature-verification.d.ts.map +1 -1
  665. package/dist/esm/webhook-signature-verification.js +179 -25
  666. package/dist/esm/webhook-signature-verification.js.map +1 -1
  667. package/dist/esm/workflow-auth-generator.d.ts +9 -6
  668. package/dist/esm/workflow-auth-generator.d.ts.map +1 -1
  669. package/dist/esm/workflow-auth-generator.js +132 -28
  670. package/dist/esm/workflow-auth-generator.js.map +1 -1
  671. package/dist/esm/workflow-component-plugin.d.ts.map +1 -1
  672. package/dist/esm/workflow-component-plugin.js +65 -28
  673. package/dist/esm/workflow-component-plugin.js.map +1 -1
  674. package/dist/esm/workflow-project-plugin.d.ts +13 -0
  675. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  676. package/dist/esm/workflow-project-plugin.js +212 -63
  677. package/dist/esm/workflow-project-plugin.js.map +1 -1
  678. package/package.json +4 -4
  679. package/src/admin-form-hydration.ts +28 -0
  680. package/src/api-route-generator.ts +251 -64
  681. package/src/auth-generator.ts +273 -53
  682. package/src/auth-return/signed-in-destination-code.ts +32 -0
  683. package/src/cart-pricing-preamble.ts +22 -0
  684. package/src/cron-request-verification.ts +79 -0
  685. package/src/custom-node-modules.ts +102 -0
  686. package/src/data-api-route-generator.ts +370 -28
  687. package/src/ecommerce/cart-availability.ts +22 -13
  688. package/src/ecommerce/stock-decrement.ts +13 -1
  689. package/src/executor-generator.ts +212 -19
  690. package/src/index.ts +28 -7
  691. package/src/invoice/api-routes-code.ts +424 -391
  692. package/src/invoice/data-access-code.ts +431 -110
  693. package/src/invoice/index.ts +31 -1
  694. package/src/invoice/invoice-assembly-code.ts +514 -0
  695. package/src/invoice/invoice-html-code.ts +111 -9
  696. package/src/invoice/pdf-service-client-code.ts +3 -4
  697. package/src/nodes/account/account-login.ts +4 -3
  698. package/src/nodes/account/account-signup.ts +7 -4
  699. package/src/nodes/ai/ai-select-database-data.ts +10 -1
  700. package/src/nodes/browser/browser-get-push-subscription.ts +23 -0
  701. package/src/nodes/browser/browser-show-notification.ts +61 -38
  702. package/src/nodes/browser/browser-subscribe-to-push.ts +26 -36
  703. package/src/nodes/browser/browser-unsubscribe-from-push.ts +22 -0
  704. package/src/nodes/browser/push-api-access.ts +20 -0
  705. package/src/nodes/cart/cart-add-item.ts +200 -9
  706. package/src/nodes/cart/cart-clear.ts +11 -0
  707. package/src/nodes/cart/cart-get-total.ts +279 -7
  708. package/src/nodes/cart/cart-price-order.ts +351 -0
  709. package/src/nodes/cart/cart-update-item-quantity.ts +7 -0
  710. package/src/nodes/data/data-count.ts +9 -1
  711. package/src/nodes/data/data-create-item.ts +15 -1
  712. package/src/nodes/data/data-delete-item.ts +32 -0
  713. package/src/nodes/data/data-raw-query.ts +9 -1
  714. package/src/nodes/data/data-select.ts +9 -1
  715. package/src/nodes/data/data-update-item.ts +32 -0
  716. package/src/nodes/ecommerce/ecommerce-generate-invoice.ts +11 -1
  717. package/src/nodes/file-storage/file-storage-upload.ts +8 -0
  718. package/src/nodes/general/general-custom-js.ts +21 -5
  719. package/src/nodes/index.ts +16 -6
  720. package/src/nodes/payment/payment-billing-portal.ts +51 -0
  721. package/src/nodes/payment/payment-charge-user.ts +236 -442
  722. package/src/nodes/payment/payment-close-checkout.ts +137 -0
  723. package/src/nodes/payment/payment-ensure-subscription-plan.ts +66 -0
  724. package/src/nodes/payment/payment-manage-subscription.ts +89 -0
  725. package/src/nodes/payment/payment-refund.ts +52 -467
  726. package/src/nodes/payment-drivers-global.d.ts +13 -0
  727. package/src/nodes/push/push-send-notification.ts +83 -0
  728. package/src/nodes/workflow-utils-global.d.ts +5 -0
  729. package/src/payments/drivers/coingate-driver-code.ts +466 -0
  730. package/src/payments/drivers/mollie-driver-code.ts +618 -0
  731. package/src/payments/drivers/paddle-driver-code.ts +678 -0
  732. package/src/payments/drivers/paypal-driver-code.ts +1256 -0
  733. package/src/payments/drivers/razorpay-driver-code.ts +727 -0
  734. package/src/payments/drivers/square-driver-code.ts +926 -0
  735. package/src/payments/drivers/stripe-driver-code.ts +773 -0
  736. package/src/payments/index.ts +204 -0
  737. package/src/payments/payment-core-code.ts +421 -0
  738. package/src/payments/payment-driver-code-map.ts +19 -0
  739. package/src/payments/payment-drivers-scope.ts +66 -0
  740. package/src/payments/payment-registry-code.ts +38 -0
  741. package/src/pg-client-code.ts +30 -0
  742. package/src/runtime-storage-generator.ts +241 -4
  743. package/src/secret-collector.ts +8 -3
  744. package/src/security-scanner.ts +22 -0
  745. package/src/segment-context-needs.ts +148 -0
  746. package/src/segment-splitter.ts +6 -1
  747. package/src/segment-trust.ts +170 -0
  748. package/src/sent-email-log/sent-email-log-code.ts +2 -32
  749. package/src/server-runtime-code.ts +298 -0
  750. package/src/session-cookie-resolver.ts +9 -277
  751. package/src/subscriber-access-route-generator.ts +351 -0
  752. package/src/types.ts +6 -0
  753. package/src/webhook-delivery-lease/index.ts +44 -0
  754. package/src/webhook-delivery-lease/webhook-delivery-lease-code.ts +151 -0
  755. package/src/webhook-delivery-lease/webhook-delivery-lease-scope.ts +18 -0
  756. package/src/webhook-generator.ts +359 -260
  757. package/src/webhook-signature-verification.ts +180 -25
  758. package/src/workflow-auth-generator.ts +137 -28
  759. package/src/workflow-component-plugin.ts +77 -20
  760. package/src/workflow-project-plugin.ts +247 -44
  761. package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts +0 -3
  762. package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
  763. package/dist/cjs/nodes/payment/payment-cancel-plan.js +0 -33
  764. package/dist/cjs/nodes/payment/payment-cancel-plan.js.map +0 -1
  765. package/dist/cjs/nodes/payment/payment-create-subscription.d.ts +0 -3
  766. package/dist/cjs/nodes/payment/payment-create-subscription.d.ts.map +0 -1
  767. package/dist/cjs/nodes/payment/payment-create-subscription.js +0 -41
  768. package/dist/cjs/nodes/payment/payment-create-subscription.js.map +0 -1
  769. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
  770. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
  771. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js +0 -45
  772. package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
  773. package/dist/esm/nodes/payment/payment-cancel-plan.d.ts +0 -3
  774. package/dist/esm/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
  775. package/dist/esm/nodes/payment/payment-cancel-plan.js +0 -30
  776. package/dist/esm/nodes/payment/payment-cancel-plan.js.map +0 -1
  777. package/dist/esm/nodes/payment/payment-create-subscription.d.ts +0 -3
  778. package/dist/esm/nodes/payment/payment-create-subscription.d.ts.map +0 -1
  779. package/dist/esm/nodes/payment/payment-create-subscription.js +0 -38
  780. package/dist/esm/nodes/payment/payment-create-subscription.js.map +0 -1
  781. package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
  782. package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
  783. package/dist/esm/nodes/payment/payment-subscribe-to-plan.js +0 -42
  784. package/dist/esm/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
  785. package/src/nodes/payment/payment-cancel-plan.ts +0 -33
  786. package/src/nodes/payment/payment-create-subscription.ts +0 -42
  787. package/src/nodes/payment/payment-subscribe-to-plan.ts +0 -46
@@ -1,282 +1,13 @@
1
1
  "use strict";
2
- /**
3
- * Resolving the NextAuth session token in a generated route, WITHOUT asking
4
- * `process.env.NEXTAUTH_URL` what the session cookie is called.
5
- *
6
- * ## ⛔ THE REPORTED DEFECT
7
- *
8
- * A published project showed "Failed to load dashboard data. Please refresh."
9
- * on the home page, "Failed to load meeting data." on the list page and "could
10
- * not fetch the templates" on a third — for a user who was signed in, on a page
11
- * whose own `/api/auth/session` returned that user. The failing call was the
12
- * page-load workflow's server segment, answering **401 `Unauthenticated`** from
13
- * `guardWorkflowRequest`. Reloading sometimes fixed it; fanning 50 concurrent
14
- * requests at the same route returned **33 × 401 and 17 × 200**, while 40
15
- * concurrent `/api/auth/session` calls resolved the user 40/40.
16
- *
17
- * ## The mechanism
18
- *
19
- * next-auth v4's `getToken()` derives the cookie it reads from an env var:
20
- *
21
- * ```js
22
- * secureCookie = process.env.NEXTAUTH_URL?.startsWith('https://') ?? !!process.env.VERCEL,
23
- * cookieName = secureCookie ? '__Secure-next-auth.session-token' : 'next-auth.session-token',
24
- * ```
25
- *
26
- * A generated project ships `NEXTAUTH_URL=http://localhost:3000` — the build
27
- * cannot know the domain it will be published to, so `pages/api/auth/[...nextauth].js`
28
- * repairs `process.env.NEXTAUTH_URL` **from the incoming request** instead. That
29
- * repair is process-local: it fixes the value for whichever serverless instance
30
- * happened to serve an auth request, and for no other. Every other instance
31
- * still holds `http://localhost:3000`, so `startsWith('https://')` is `false`
32
- * (NOT `undefined` — the `??` fallback to `!!process.env.VERCEL` never runs),
33
- * `getToken` looks for `next-auth.session-token`, the browser is holding
34
- * `__Secure-next-auth.session-token`, nothing is found, and a signed-in user is
35
- * reported as anonymous.
36
- *
37
- * Hence the coin-flip: it depends on whether the instance that served your
38
- * request had previously served an auth request. Nothing about the session, the
39
- * secret or the cookie is wrong.
40
- *
41
- * The same defect is why the generated middleware carries a `hasSessionCookie`
42
- * fallback and a round trip to `/api/auth/session`, attributed there to an
43
- * "Edge runtime quirk" — the Edge process holds that same localhost value.
44
- *
45
- * ## The rule
46
- *
47
- * ⭐ **A request must be authenticated from the REQUEST, never from an ambient
48
- * env var that describes the deployment.** So this resolver reads which session
49
- * cookie the caller actually sent, and tells `getToken` exactly that — falling
50
- * back to the request's own protocol when the cookie header is unavailable.
51
- *
52
- * Emitted as plain ES5 text and inlined into each generated route: a route that
53
- * carries its own copy cannot be broken by a missing sibling module or an
54
- * untraced dependency, and every call site gets the identical implementation
55
- * from this one definition.
56
- */
57
2
  Object.defineProperty(exports, "__esModule", { value: true });
58
3
  exports.generateCommonJsSessionTokenResolverCode = exports.generateSessionTokenResolverCode = exports.SESSION_TOKEN_RESOLVER_FN = void 0;
59
- /** The `__tq`-prefixed globals the emitted snippet declares. */
60
- exports.SESSION_TOKEN_RESOLVER_FN = '__tqResolveSessionToken';
61
- /**
62
- * Session-cookie names next-auth/Auth.js writes, with the `secureCookie` flag
63
- * that produces each. Order within a protocol is irrelevant — only ONE of these
64
- * is ever present — but the https/http split decides which pair is tried first.
65
- *
66
- * `__Host-` is deliberately absent: next-auth uses it only for the CSRF and
67
- * callback cookies, never for the session token.
68
- */
69
- const KNOWN_SESSION_COOKIES = [
70
- { name: '__Secure-next-auth.session-token', secure: true },
71
- { name: 'next-auth.session-token', secure: false },
72
- { name: '__Secure-authjs.session-token', secure: true },
73
- { name: 'authjs.session-token', secure: false },
74
- ];
75
- /**
76
- * ES5 source for the shared session-token resolver, safe to inline into any
77
- * generated CommonJS route or ESM middleware.
78
- *
79
- * Declares:
80
- * - `__tqCookieNamesPresent(req)` — the set of cookie names on the request,
81
- * parsed properly (a substring test would see `next-auth.session-token`
82
- * inside `__Secure-next-auth.session-token` and pick the wrong one).
83
- * - `__tqRequestIsSecure(req)` — https as the REQUEST reports it.
84
- * - `__tqSessionTokenCandidates(req)` — `{cookieName, secureCookie}` pairs to try.
85
- * - `__tqResolveSessionToken(getToken, req, secret)` — the token, or null.
86
- *
87
- * `getToken` is passed IN rather than required here, so the same body serves a
88
- * CommonJS route (lazy `require('next-auth/jwt')`) and the Edge middleware
89
- * (static `import`). Pure, total, never throws, no env reads.
90
- */
91
- const generateSessionTokenResolverCode = () => {
92
- return `// GENERATED — see generateSessionTokenResolverCode in
93
- // @teleporthq/teleport-plugin-next-workflows/src/session-cookie-resolver.ts.
94
- //
95
- // next-auth's getToken() picks the session cookie name from
96
- // process.env.NEXTAUTH_URL, which a generated project ships as a localhost
97
- // default — so on a published https domain it looks for the non-secure cookie
98
- // and reports a signed-in user as anonymous. These helpers read the cookie the
99
- // request actually carries and tell getToken exactly which one it is.
100
- var __TQ_SESSION_COOKIES = ${JSON.stringify(KNOWN_SESSION_COOKIES.map((c) => [c.name, c.secure]))};
101
-
102
- // Every cookie NAME on the request. Parsed on the "; " separator rather than
103
- // matched as a substring: "next-auth.session-token" occurs inside
104
- // "__Secure-next-auth.session-token", so a substring test reports the plain
105
- // cookie as present whenever the secure one is, and getToken then decodes the
106
- // wrong (missing) cookie.
107
- function __tqCookieNamesPresent(req) {
108
- var present = {};
109
- var raw = '';
110
- try {
111
- var headers = req && req.headers;
112
- if (headers && typeof headers.get === 'function') {
113
- // Edge / fetch Headers.
114
- raw = headers.get('cookie') || '';
115
- } else if (headers) {
116
- var value = headers.cookie || headers.Cookie;
117
- raw = Array.isArray(value) ? value.join('; ') : value || '';
118
- }
119
- } catch (e) {
120
- raw = '';
121
- }
122
- var parts = String(raw).split(';');
123
- for (var i = 0; i < parts.length; i++) {
124
- var eq = parts[i].indexOf('=');
125
- if (eq > 0) {
126
- present[parts[i].slice(0, eq).trim()] = true;
127
- }
128
- }
129
- // Second source: the runtime's own parsed cookies. A Next.js API route hands
130
- // over a plain object; the Edge RequestCookies exposes getAll().
131
- try {
132
- var cookies = req && req.cookies;
133
- if (cookies && typeof cookies.getAll === 'function') {
134
- var all = cookies.getAll() || [];
135
- for (var a = 0; a < all.length; a++) {
136
- if (all[a] && all[a].name) {
137
- present[all[a].name] = true;
138
- }
139
- }
140
- } else if (cookies && typeof cookies === 'object') {
141
- for (var key in cookies) {
142
- if (Object.prototype.hasOwnProperty.call(cookies, key)) {
143
- present[key] = true;
144
- }
145
- }
146
- }
147
- } catch (e) {
148
- /* the header pass above is enough */
149
- }
150
- return present;
151
- }
152
-
153
- // Is this request https? Read from the proxy header the platform sets, then the
154
- // socket, then the URL — never from an env var describing the deployment.
155
- function __tqRequestIsSecure(req) {
156
- try {
157
- var headers = (req && req.headers) || {};
158
- var proto =
159
- typeof headers.get === 'function'
160
- ? headers.get('x-forwarded-proto')
161
- : headers['x-forwarded-proto'];
162
- if (Array.isArray(proto)) {
163
- proto = proto[0];
164
- }
165
- if (typeof proto === 'string' && proto) {
166
- // A chain of proxies appends: "https,http" — the client-facing hop is first.
167
- return proto.split(',')[0].trim().toLowerCase() === 'https';
168
- }
169
- if (req && req.nextUrl && req.nextUrl.protocol === 'https:') {
170
- return true;
171
- }
172
- if (req && req.socket && req.socket.encrypted) {
173
- return true;
174
- }
175
- if (req && req.connection && req.connection.encrypted) {
176
- return true;
177
- }
178
- if (typeof (req && req.url) === 'string' && req.url.indexOf('https://') === 0) {
179
- return true;
180
- }
181
- } catch (e) {
182
- /* fall through to false */
183
- }
184
- return false;
185
- }
186
-
187
- // The { cookieName, secureCookie } pairs worth trying, most likely first.
188
- // Normally exactly one cookie is present and this returns a single entry; the
189
- // list only grows when a site has been reached over both http and https.
190
- function __tqSessionTokenCandidates(req) {
191
- var present = __tqCookieNamesPresent(req);
192
- var secure = __tqRequestIsSecure(req);
193
- var candidates = [];
194
- for (var i = 0; i < __TQ_SESSION_COOKIES.length; i++) {
195
- var name = __TQ_SESSION_COOKIES[i][0];
196
- var isSecureName = __TQ_SESSION_COOKIES[i][1];
197
- if (present[name] || present[name + '.0']) {
198
- candidates.push({ cookieName: name, secureCookie: isSecureName });
199
- }
200
- }
201
- candidates.sort(function (a, b) {
202
- if (a.secureCookie === b.secureCookie) {
203
- return 0;
204
- }
205
- return a.secureCookie === secure ? -1 : 1;
206
- });
207
- if (candidates.length === 0) {
208
- // No cookie we recognise. The project may configure a custom cookie name in
209
- // authOptions, so hand getToken the request's own protocol and let it apply
210
- // its defaults — same behaviour as before this resolver existed, minus the
211
- // localhost env var.
212
- candidates.push({ secureCookie: secure });
213
- }
214
- return candidates;
215
- }
216
-
217
- // The decoded session token, or null. Tries each candidate cookie in turn so a
218
- // project that renamed its cookie, or one reached over both protocols, still
219
- // resolves. Never throws.
220
- function ${exports.SESSION_TOKEN_RESOLVER_FN}(getToken, req, secret) {
221
- if (!secret || typeof getToken !== 'function') {
222
- return Promise.resolve(null);
223
- }
224
- var candidates = __tqSessionTokenCandidates(req);
225
- var attempt = function (index) {
226
- if (index >= candidates.length) {
227
- return Promise.resolve(null);
228
- }
229
- var candidate = candidates[index];
230
- var params = { req: req, secret: secret, secureCookie: candidate.secureCookie };
231
- if (candidate.cookieName) {
232
- params.cookieName = candidate.cookieName;
233
- }
234
- return Promise.resolve()
235
- .then(function () {
236
- return getToken(params);
237
- })
238
- .catch(function () {
239
- return null;
240
- })
241
- .then(function (token) {
242
- return token || attempt(index + 1);
243
- });
244
- };
245
- return attempt(0);
246
- }
247
- `;
248
- };
249
- exports.generateSessionTokenResolverCode = generateSessionTokenResolverCode;
4
+ const teleport_shared_1 = require("@teleporthq/teleport-shared");
250
5
  /**
251
- * The resolver plus a lazy `require('next-auth/jwt')`, for a CommonJS route.
252
- *
253
- * The require is lazy and guarded because a project generated WITHOUT
254
- * authentication does not ship `next-auth`; such a project also has no session
255
- * to read, so resolving to `null` there is the correct answer rather than a
256
- * module-load crash.
6
+ * The session-cookie resolver lives in teleport-shared so the per-table data
7
+ * routes (teleport-plugin-next-data-source) decode a session exactly the way
8
+ * the workflow routes do. This module keeps the plugin's public export path.
257
9
  */
258
- const generateCommonJsSessionTokenResolverCode = () => {
259
- return `${(0, exports.generateSessionTokenResolverCode)()}
260
- // Lazy + guarded: a project generated without authentication has no next-auth
261
- // installed, and no session to read either — null is the right answer there.
262
- function __tqGetTokenFn() {
263
- try {
264
- var jwt = require('next-auth/jwt');
265
- return jwt && typeof jwt.getToken === 'function' ? jwt.getToken : null;
266
- } catch (e) {
267
- return null;
268
- }
269
- }
270
-
271
- // The session token for this request, or null. Reads NEXTAUTH_SECRET itself.
272
- function __tqSessionToken(req) {
273
- var secret = process.env.NEXTAUTH_SECRET;
274
- if (!secret) {
275
- return Promise.resolve(null);
276
- }
277
- return ${exports.SESSION_TOKEN_RESOLVER_FN}(__tqGetTokenFn(), req, secret);
278
- }
279
- `;
280
- };
281
- exports.generateCommonJsSessionTokenResolverCode = generateCommonJsSessionTokenResolverCode;
10
+ exports.SESSION_TOKEN_RESOLVER_FN = teleport_shared_1.SessionCookieResolver.SESSION_TOKEN_RESOLVER_FN;
11
+ exports.generateSessionTokenResolverCode = teleport_shared_1.SessionCookieResolver.generateSessionTokenResolverCode;
12
+ exports.generateCommonJsSessionTokenResolverCode = teleport_shared_1.SessionCookieResolver.generateCommonJsSessionTokenResolverCode;
282
13
  //# sourceMappingURL=session-cookie-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-cookie-resolver.js","sourceRoot":"","sources":["../../src/session-cookie-resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;;;AAEH,gEAAgE;AACnD,QAAA,yBAAyB,GAAG,yBAAyB,CAAA;AAElE;;;;;;;GAOG;AACH,MAAM,qBAAqB,GAAqD;IAC9E,EAAE,IAAI,EAAE,kCAAkC,EAAE,MAAM,EAAE,IAAI,EAAE;IAC1D,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,KAAK,EAAE;IAClD,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,IAAI,EAAE;IACvD,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,KAAK,EAAE;CAChD,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACI,MAAM,gCAAgC,GAAG,GAAW,EAAE;IAC3D,OAAO;;;;;;;;6BAQoB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAwHtF,iCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BnC,CAAA;AACD,CAAC,CAAA;AA7JY,QAAA,gCAAgC,oCA6J5C;AAED;;;;;;;GAOG;AACI,MAAM,wCAAwC,GAAG,GAAW,EAAE;IACnE,OAAO,GAAG,IAAA,wCAAgC,GAAE;;;;;;;;;;;;;;;;;;WAkBnC,iCAAyB;;CAEnC,CAAA;AACD,CAAC,CAAA;AAtBY,QAAA,wCAAwC,4CAsBpD"}
1
+ {"version":3,"file":"session-cookie-resolver.js","sourceRoot":"","sources":["../../src/session-cookie-resolver.ts"],"names":[],"mappings":";;;AAAA,iEAAmE;AAEnE;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,uCAAqB,CAAC,yBAAyB,CAAA;AAC3E,QAAA,gCAAgC,GAC3C,uCAAqB,CAAC,gCAAgC,CAAA;AAC3C,QAAA,wCAAwC,GACnD,uCAAqB,CAAC,wCAAwC,CAAA"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Subscriber-only pages: the entitlement check a generated store runs for a
3
+ * page whose protection carries `requiresSubscription`.
4
+ *
5
+ * Two files, emitted together whenever at least one page is subscriber-only:
6
+ *
7
+ * - `utils/auth/subscriber-access.js` — the ONE parameterised query that
8
+ * decides entitlement (`SUBSCRIPTION_ENTITLEMENT_SQL` from teleport-shared,
9
+ * statuses baked from `SUBSCRIPTION_ENTITLED_STATUSES`) plus the lookup of
10
+ * the storefront page of the first product a page names. Shared by the
11
+ * route below and by the workflow-route guard (`workflow-auth.js`), so the
12
+ * middleware and a page's workflow routes can never disagree.
13
+ * - `pages/api/auth/subscriber-access.js` — what the Edge middleware asks
14
+ * (it has no database): `GET ?products=<comma ids>` with the visitor's
15
+ * cookie forwarded → 401 without a session, else
16
+ * `{ entitled: boolean, redirectTo?: string }`, never cached.
17
+ *
18
+ * The middleware itself lives in `auth-generator.ts` (`generateMiddlewareFile`).
19
+ */
20
+ import { ProjectUIDL, UIDLAuthentication } from '@teleporthq/teleport-types';
21
+ /** Where the storefront serves a single product from, read off the UIDL's route table. */
22
+ export interface ProductDetailsRoute {
23
+ staticBase: string;
24
+ differentiatorColumn: string;
25
+ }
26
+ export declare const hasSubscriberOnlyPages: (auth: UIDLAuthentication | undefined) => boolean;
27
+ /**
28
+ * The STANDARD product-details page. When the store has custom product pages
29
+ * the UIDL names it (`ecommerceSettings.productPages.standard`). Otherwise it is
30
+ * the route value whose `detailsPageInfo` reads the products table — a
31
+ * storefront product page first, since the write-a-review page reads that table
32
+ * too. Its `navLink` is `<base>/[<column>]`; the base is what the list page
33
+ * shares with it by platform convention.
34
+ */
35
+ export declare const resolveProductDetailsRoute: (uidl: ProjectUIDL | undefined) => ProductDetailsRoute | null;
36
+ /**
37
+ * Every custom product page by key (`ecommerceSettings.productPages.pages`),
38
+ * so a product that opens on one is sent there. Empty on a store without
39
+ * custom product pages.
40
+ */
41
+ export declare const resolveCustomProductPageRoutes: (uidl: ProjectUIDL | undefined) => Record<string, ProductDetailsRoute>;
42
+ /**
43
+ * Where the middleware sends a visitor who lacks the subscription when the
44
+ * route could name no product page: the products listing when the store has
45
+ * one (a page served at the details page's static base), else the home page.
46
+ */
47
+ export declare const resolveSubscriptionFallbackRoute: (uidl: ProjectUIDL | undefined) => string;
48
+ export interface SubscriberAccessHelperOptions {
49
+ productDetails: ProductDetailsRoute | null;
50
+ /** Custom product pages by key (`resolveCustomProductPageRoutes`); absent or empty = none. */
51
+ productPages?: Record<string, ProductDetailsRoute>;
52
+ }
53
+ /**
54
+ * `utils/auth/subscriber-access.js` (CommonJS). Exports:
55
+ * - `normalizeProductIds(value)` — trimmed, de-duplicated ids from an array
56
+ * or a comma-separated string, capped.
57
+ * - `isSubscriberEntitled(userId, productIds)` — the entitlement query; an
58
+ * empty list means any product. Throws on a database failure so a caller
59
+ * can fail closed on its own terms.
60
+ * - `resolveProductRedirect(productIds)` — the storefront page of the FIRST
61
+ * product, or null (no product page, unknown product, database failure).
62
+ */
63
+ export declare const generateSubscriberAccessHelperModule: (options: SubscriberAccessHelperOptions) => string;
64
+ /**
65
+ * `pages/api/auth/subscriber-access.js`: GET only, the session read from the
66
+ * forwarded cookie exactly as the workflow routes read it, then the shared
67
+ * helper. A failed query answers 500 — the middleware treats anything but an
68
+ * `entitled: true` body as "not entitled", so the page fails closed.
69
+ */
70
+ export declare const generateSubscriberAccessRoute: () => string;
71
+ //# sourceMappingURL=subscriber-access-route-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriber-access-route-generator.d.ts","sourceRoot":"","sources":["../../src/subscriber-access-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAS5E,0FAA0F;AAC1F,MAAM,WAAW,mBAAmB;IAGlC,UAAU,EAAE,MAAM,CAAA;IAElB,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,sBAAsB,SAAU,kBAAkB,GAAG,SAAS,KAAG,OAO7E,CAAA;AAkBD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,SAC/B,WAAW,GAAG,SAAS,KAC5B,mBAAmB,GAAG,IAwBxB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,SACnC,WAAW,GAAG,SAAS,KAC5B,OAAO,MAAM,EAAE,mBAAmB,CAUpC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,SAAU,WAAW,GAAG,SAAS,KAAG,MAShF,CAAA;AA8DD,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC1C,8FAA8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACnD;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oCAAoC,YACtC,6BAA6B,KACrC,MAiFF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,QAAO,MAkDhD,CAAA"}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSubscriberAccessRoute = exports.generateSubscriberAccessHelperModule = exports.resolveSubscriptionFallbackRoute = exports.resolveCustomProductPageRoutes = exports.resolveProductDetailsRoute = exports.hasSubscriberOnlyPages = void 0;
4
+ const teleport_shared_1 = require("@teleporthq/teleport-shared");
5
+ const pg_client_code_1 = require("./pg-client-code");
6
+ const session_cookie_resolver_1 = require("./session-cookie-resolver");
7
+ const PRODUCTS_TABLE = 'teleport_products';
8
+ const MAX_PRODUCT_IDS = 50;
9
+ const IDENTIFIER_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
10
+ const hasSubscriberOnlyPages = (auth) => {
11
+ if (!auth || !auth.pageProtection) {
12
+ return false;
13
+ }
14
+ return Object.values(auth.pageProtection).some((protection) => !!protection && protection.requiresSubscription === true);
15
+ };
16
+ exports.hasSubscriberOnlyPages = hasSubscriberOnlyPages;
17
+ const routeValuesOf = (uidl) => {
18
+ var _a, _b, _c;
19
+ const values = (_c = (_b = (_a = uidl === null || uidl === void 0 ? void 0 : uidl.root) === null || _a === void 0 ? void 0 : _a.stateDefinitions) === null || _b === void 0 ? void 0 : _b.route) === null || _c === void 0 ? void 0 : _c.values;
20
+ return Array.isArray(values) ? values : [];
21
+ };
22
+ /** The feature identifier every storefront product page exposes its product under. */
23
+ const STOREFRONT_PRODUCT_FEATURE = 'ecommerceProduct';
24
+ const toProductRoute = (route, attribute) => {
25
+ const staticBase = typeof route === 'string' && route.startsWith('/') ? route : '';
26
+ const column = typeof attribute === 'string' ? attribute : '';
27
+ return staticBase && IDENTIFIER_RE.test(column)
28
+ ? { staticBase, differentiatorColumn: column }
29
+ : null;
30
+ };
31
+ /**
32
+ * The STANDARD product-details page. When the store has custom product pages
33
+ * the UIDL names it (`ecommerceSettings.productPages.standard`). Otherwise it is
34
+ * the route value whose `detailsPageInfo` reads the products table — a
35
+ * storefront product page first, since the write-a-review page reads that table
36
+ * too. Its `navLink` is `<base>/[<column>]`; the base is what the list page
37
+ * shares with it by platform convention.
38
+ */
39
+ const resolveProductDetailsRoute = (uidl) => {
40
+ var _a, _b;
41
+ const standard = (_b = (_a = uidl === null || uidl === void 0 ? void 0 : uidl.ecommerceSettings) === null || _a === void 0 ? void 0 : _a.productPages) === null || _b === void 0 ? void 0 : _b.standard;
42
+ if (standard) {
43
+ const route = toProductRoute(standard.route, standard.attribute);
44
+ if (route) {
45
+ return route;
46
+ }
47
+ }
48
+ const candidates = [];
49
+ for (const routeValue of routeValuesOf(uidl)) {
50
+ const pageOptions = routeValue === null || routeValue === void 0 ? void 0 : routeValue.pageOptions;
51
+ const info = pageOptions === null || pageOptions === void 0 ? void 0 : pageOptions.detailsPageInfo;
52
+ if (!info || String(info.tableName || '').toLowerCase() !== PRODUCTS_TABLE) {
53
+ continue;
54
+ }
55
+ const navLink = String(pageOptions.navLink || '');
56
+ const column = String(info.differentiatorColumn || pageOptions.dynamicRouteAttribute || '');
57
+ const route = toProductRoute(navLink.replace(/\/\[[^\]]*\]$/, '') || '/', column);
58
+ if (navLink.startsWith('/') && route) {
59
+ candidates.push({ route, storefront: info.featureIdentifier === STOREFRONT_PRODUCT_FEATURE });
60
+ }
61
+ }
62
+ const chosen = candidates.find((candidate) => candidate.storefront) || candidates[0];
63
+ return chosen ? chosen.route : null;
64
+ };
65
+ exports.resolveProductDetailsRoute = resolveProductDetailsRoute;
66
+ /**
67
+ * Every custom product page by key (`ecommerceSettings.productPages.pages`),
68
+ * so a product that opens on one is sent there. Empty on a store without
69
+ * custom product pages.
70
+ */
71
+ const resolveCustomProductPageRoutes = (uidl) => {
72
+ var _a, _b, _c, _d;
73
+ const pages = ((_b = (_a = uidl === null || uidl === void 0 ? void 0 : uidl.ecommerceSettings) === null || _a === void 0 ? void 0 : _a.productPages) === null || _b === void 0 ? void 0 : _b.pages) || {};
74
+ const routes = {};
75
+ for (const key of Object.keys(pages)) {
76
+ const route = toProductRoute((_c = pages[key]) === null || _c === void 0 ? void 0 : _c.route, (_d = pages[key]) === null || _d === void 0 ? void 0 : _d.attribute);
77
+ if (route) {
78
+ routes[key] = route;
79
+ }
80
+ }
81
+ return routes;
82
+ };
83
+ exports.resolveCustomProductPageRoutes = resolveCustomProductPageRoutes;
84
+ /**
85
+ * Where the middleware sends a visitor who lacks the subscription when the
86
+ * route could name no product page: the products listing when the store has
87
+ * one (a page served at the details page's static base), else the home page.
88
+ */
89
+ const resolveSubscriptionFallbackRoute = (uidl) => {
90
+ const details = (0, exports.resolveProductDetailsRoute)(uidl);
91
+ if (!details || details.staticBase === '/') {
92
+ return '/';
93
+ }
94
+ const hasListing = routeValuesOf(uidl).some((routeValue) => { var _a; return String(((_a = routeValue === null || routeValue === void 0 ? void 0 : routeValue.pageOptions) === null || _a === void 0 ? void 0 : _a.navLink) || '') === details.staticBase; });
95
+ return hasListing ? details.staticBase : '/';
96
+ };
97
+ exports.resolveSubscriptionFallbackRoute = resolveSubscriptionFallbackRoute;
98
+ // The storefront page of the FIRST product a page names, on the standard page.
99
+ const STANDARD_PAGE_REDIRECT = `async function resolveProductRedirect(productIds) {
100
+ var ids = normalizeProductIds(productIds);
101
+ if (!PRODUCT_DETAILS || ids.length === 0) {
102
+ return null;
103
+ }
104
+ try {
105
+ return await withClient(async function (client) {
106
+ var result = await client.query(
107
+ 'SELECT "' + PRODUCT_DETAILS.differentiatorColumn + '" AS value FROM ' + PRODUCTS_TABLE + ' WHERE id::text = $1 LIMIT 1',
108
+ [ids[0]]
109
+ );
110
+ var value = result && result.rows && result.rows[0] ? result.rows[0].value : null;
111
+ if (value == null || String(value) === '') {
112
+ return null;
113
+ }
114
+ var base = PRODUCT_DETAILS.staticBase === '/' ? '' : PRODUCT_DETAILS.staticBase;
115
+ return base + '/' + encodeURIComponent(String(value));
116
+ });
117
+ } catch (e) {
118
+ return null;
119
+ }
120
+ }`;
121
+ // The same, on a store with custom product pages: the product's own page — the
122
+ // custom one its product_page names while that page exists, else the standard
123
+ // one. The row is read whole (to_jsonb) so a store whose table lacks one of the
124
+ // columns still answers.
125
+ const PRODUCT_PAGE_AWARE_REDIRECT = `async function resolveProductRedirect(productIds) {
126
+ var ids = normalizeProductIds(productIds);
127
+ if (!PRODUCT_DETAILS || ids.length === 0) {
128
+ return null;
129
+ }
130
+ try {
131
+ return await withClient(async function (client) {
132
+ var result = await client.query(
133
+ 'SELECT to_jsonb(p) AS row FROM ' + PRODUCTS_TABLE + ' p WHERE p.id::text = $1 LIMIT 1',
134
+ [ids[0]]
135
+ );
136
+ var row = result && result.rows && result.rows[0] ? result.rows[0].row : null;
137
+ if (!row) {
138
+ return null;
139
+ }
140
+ var key = typeof row.product_page === 'string' ? row.product_page.trim() : '';
141
+ var page =
142
+ key !== '' && Object.prototype.hasOwnProperty.call(PRODUCT_PAGES, key)
143
+ ? PRODUCT_PAGES[key]
144
+ : PRODUCT_DETAILS;
145
+ var value = row[page.differentiatorColumn];
146
+ if (value == null || String(value) === '') {
147
+ return null;
148
+ }
149
+ var base = page.staticBase === '/' ? '' : page.staticBase;
150
+ return base + '/' + encodeURIComponent(String(value));
151
+ });
152
+ } catch (e) {
153
+ return null;
154
+ }
155
+ }`;
156
+ /**
157
+ * `utils/auth/subscriber-access.js` (CommonJS). Exports:
158
+ * - `normalizeProductIds(value)` — trimmed, de-duplicated ids from an array
159
+ * or a comma-separated string, capped.
160
+ * - `isSubscriberEntitled(userId, productIds)` — the entitlement query; an
161
+ * empty list means any product. Throws on a database failure so a caller
162
+ * can fail closed on its own terms.
163
+ * - `resolveProductRedirect(productIds)` — the storefront page of the FIRST
164
+ * product, or null (no product page, unknown product, database failure).
165
+ */
166
+ const generateSubscriberAccessHelperModule = (options) => {
167
+ const details = options.productDetails && IDENTIFIER_RE.test(options.productDetails.differentiatorColumn)
168
+ ? options.productDetails
169
+ : null;
170
+ const productPages = options.productPages || {};
171
+ const hasProductPages = !!details && Object.keys(productPages).length > 0;
172
+ return `'use strict';
173
+
174
+ // GENERATED — see generateSubscriberAccessHelperModule in
175
+ // @teleporthq/teleport-plugin-next-workflows/src/subscriber-access-route-generator.ts.
176
+ //
177
+ // Whether a signed-in visitor holds an entitled subscription: the one query the
178
+ // subscriber-access route (for the middleware) and the workflow-route guard
179
+ // share, so a page and its workflows can never disagree about who may read.
180
+ ${(0, pg_client_code_1.generatePgClientCode)()}
181
+
182
+ var SUBSCRIPTION_ENTITLED_STATUSES = ${JSON.stringify(teleport_shared_1.SubscriptionAccess.SUBSCRIPTION_ENTITLED_STATUSES)};
183
+ var ENTITLEMENT_SQL = ${JSON.stringify(teleport_shared_1.SubscriptionAccess.SUBSCRIPTION_ENTITLEMENT_SQL)};
184
+ var MAX_PRODUCT_IDS = ${MAX_PRODUCT_IDS};
185
+ // The product-details page, when the store has one: its static base and the
186
+ // product column its dynamic segment carries.
187
+ var PRODUCT_DETAILS = ${JSON.stringify(details)};
188
+ var PRODUCTS_TABLE = ${JSON.stringify(PRODUCTS_TABLE)};${hasProductPages
189
+ ? `
190
+ // The custom product pages by key: a product whose product_page names one
191
+ // opens there instead of on the standard product page.
192
+ var PRODUCT_PAGES = ${JSON.stringify(productPages)};`
193
+ : ''}
194
+
195
+ function normalizeProductIds(value) {
196
+ var raw = Array.isArray(value) ? value : typeof value === 'string' ? value.split(',') : [];
197
+ var ids = [];
198
+ for (var i = 0; i < raw.length && ids.length < MAX_PRODUCT_IDS; i++) {
199
+ var id = String(raw[i] == null ? '' : raw[i]).trim();
200
+ if (id && ids.indexOf(id) === -1) {
201
+ ids.push(id);
202
+ }
203
+ }
204
+ return ids;
205
+ }
206
+
207
+ async function withClient(run) {
208
+ var client = getClient();
209
+ try {
210
+ await client.connect();
211
+ return await run(client);
212
+ } finally {
213
+ try { await client.end(); } catch (e) {}
214
+ }
215
+ }
216
+
217
+ // true when the user holds a subscription in an entitled status to one of the
218
+ // products — to any product when the list is empty.
219
+ async function isSubscriberEntitled(userId, productIds) {
220
+ var id = String(userId == null ? '' : userId).trim();
221
+ if (!id) {
222
+ return false;
223
+ }
224
+ var ids = normalizeProductIds(productIds);
225
+ return withClient(async function (client) {
226
+ var result = await client.query(ENTITLEMENT_SQL, [id, SUBSCRIPTION_ENTITLED_STATUSES, ids]);
227
+ return !!(result && result.rows && result.rows.length > 0);
228
+ });
229
+ }
230
+
231
+ // The storefront page of the first product a page names, or null.
232
+ ${hasProductPages ? PRODUCT_PAGE_AWARE_REDIRECT : STANDARD_PAGE_REDIRECT}
233
+
234
+ module.exports = {
235
+ SUBSCRIPTION_ENTITLED_STATUSES: SUBSCRIPTION_ENTITLED_STATUSES,
236
+ normalizeProductIds: normalizeProductIds,
237
+ isSubscriberEntitled: isSubscriberEntitled,
238
+ resolveProductRedirect: resolveProductRedirect,
239
+ };
240
+ `;
241
+ };
242
+ exports.generateSubscriberAccessHelperModule = generateSubscriberAccessHelperModule;
243
+ /**
244
+ * `pages/api/auth/subscriber-access.js`: GET only, the session read from the
245
+ * forwarded cookie exactly as the workflow routes read it, then the shared
246
+ * helper. A failed query answers 500 — the middleware treats anything but an
247
+ * `entitled: true` body as "not entitled", so the page fails closed.
248
+ */
249
+ const generateSubscriberAccessRoute = () => {
250
+ return `'use strict';
251
+
252
+ // GENERATED — see generateSubscriberAccessRoute in
253
+ // @teleporthq/teleport-plugin-next-workflows/src/subscriber-access-route-generator.ts.
254
+ //
255
+ // Asked by the middleware for a subscriber-only page: does the visitor behind
256
+ // this cookie hold an entitled subscription to one of ?products (any, when
257
+ // none are named)? Never cached — a subscription can end between two requests.
258
+ ${(0, session_cookie_resolver_1.generateCommonJsSessionTokenResolverCode)()}
259
+ var __subscriberAccess = require('../../../utils/auth/subscriber-access');
260
+
261
+ module.exports = async function handler(req, res) {
262
+ res.setHeader('Cache-Control', 'no-store');
263
+ if (req.method !== 'GET') {
264
+ res.setHeader('Allow', 'GET');
265
+ return res.status(405).json({ error: 'Method not allowed' });
266
+ }
267
+
268
+ var token = null;
269
+ try {
270
+ token = await __tqSessionToken(req);
271
+ } catch (e) {
272
+ token = null;
273
+ }
274
+ var userId = token && (token.id != null ? token.id : token.sub);
275
+ if (userId == null || String(userId) === '') {
276
+ return res.status(401).json({ error: 'Unauthenticated' });
277
+ }
278
+
279
+ var productIds = __subscriberAccess.normalizeProductIds(req.query && req.query.products);
280
+ var entitled = false;
281
+ try {
282
+ entitled = await __subscriberAccess.isSubscriberEntitled(String(userId), productIds);
283
+ } catch (e) {
284
+ console.error('[subscriber-access] entitlement check failed:', e && e.message ? e.message : e);
285
+ return res.status(500).json({ error: 'Subscription check failed' });
286
+ }
287
+ if (entitled) {
288
+ return res.status(200).json({ entitled: true });
289
+ }
290
+
291
+ var body = { entitled: false };
292
+ var redirectTo = await __subscriberAccess.resolveProductRedirect(productIds);
293
+ if (redirectTo) {
294
+ body.redirectTo = redirectTo;
295
+ }
296
+ return res.status(200).json(body);
297
+ };
298
+ `;
299
+ };
300
+ exports.generateSubscriberAccessRoute = generateSubscriberAccessRoute;
301
+ //# sourceMappingURL=subscriber-access-route-generator.js.map