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

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,299 @@
1
+ /**
2
+ * `utils/workflows/server-runtime.js`: what every server route loads. It is the
3
+ * shared runtime utilities plus the parts only a server may run — the signed
4
+ * hand-off between server segments and the internal-call credential — so none
5
+ * of it reaches the browser bundle.
6
+ *
7
+ * WHY THE HAND-OFF IS SIGNED. A workflow runs as a chain of segments, and the
8
+ * result of every server segment reaches the next one THROUGH the caller: the
9
+ * browser holds the context between hops and posts it back. Without a check,
10
+ * a crafted request could hand a later server segment any "result" of an
11
+ * earlier one — an order marked valid, a password-reset token marked checked
12
+ * — and the later segment acted on it. So:
13
+ *
14
+ * - `segmentReply` signs every result its segment produced (`__sig`, an HMAC
15
+ * keyed from NEXTAUTH_SECRET over the node id and the JSON value) and the
16
+ * order of the context's keys as the caller will hold them (`__sigOrder`),
17
+ * since `params` in custom JavaScript are read by position.
18
+ * - `claimSegmentContext` puts the keys back in that signed order (a key the
19
+ * request left out keeps its slot, empty), empties every server result
20
+ * whose signature does not hold or that the signed order does not list,
21
+ * drops custom-node and loop bookkeeping a request cannot legitimately
22
+ * carry, skips every node a server if / switch upstream did not choose
23
+ * (or whose decision is missing), and takes `__previousNodeResult` from the
24
+ * signed result of the server node that ran just before.
25
+ *
26
+ * What the BROWSER itself computes stays untrusted by design; a server segment
27
+ * that needs a trustworthy figure (a price, an owner) reads it from the
28
+ * database itself.
29
+ *
30
+ * The facts about the graph each route needs are baked into its
31
+ * SEGMENT_CONFIG at generation time (see segment-trust.ts).
32
+ */
33
+ export const generateServerRuntimeCode = () => `'use strict';
34
+ var crypto = require('crypto');
35
+ var utils = require('./runtime-utils');
36
+
37
+ var __stepKeyCache = { secret: null, key: null };
38
+
39
+ function stepKey() {
40
+ var secret = process.env.NEXTAUTH_SECRET || '';
41
+ if (__stepKeyCache.secret !== secret) {
42
+ __stepKeyCache = {
43
+ secret: secret,
44
+ key: crypto.createHmac('sha256', secret).update('teleport-workflow-step:v1').digest()
45
+ };
46
+ }
47
+ return __stepKeyCache.key;
48
+ }
49
+
50
+ function mac(text) {
51
+ return crypto.createHmac('sha256', stepKey()).update(text).digest('hex');
52
+ }
53
+
54
+ // Without an app secret every key here would derive from '' — a value anyone
55
+ // can compute — so nothing verifies: relayed server results are dropped and no
56
+ // request passes as an internal call. (The generator gives every app with
57
+ // server routes a secret.)
58
+ function sameMac(given, expected) {
59
+ if (!process.env.NEXTAUTH_SECRET) {
60
+ return false;
61
+ }
62
+ if (typeof given !== 'string' || typeof expected !== 'string' || given.length !== expected.length) {
63
+ return false;
64
+ }
65
+ return crypto.timingSafeEqual(Buffer.from(given), Buffer.from(expected));
66
+ }
67
+
68
+ function has(obj, key) {
69
+ return Object.prototype.hasOwnProperty.call(obj, key);
70
+ }
71
+
72
+ function isControlKey(key) {
73
+ return key.indexOf('__') === 0;
74
+ }
75
+
76
+ function resultMac(nodeId, value) {
77
+ var serialized;
78
+ try { serialized = JSON.stringify(value); } catch (e) { return null; }
79
+ if (serialized === undefined) return null;
80
+ return mac('result|' + nodeId + '|' + serialized);
81
+ }
82
+
83
+ function orderMac(keys) {
84
+ return mac('order|' + JSON.stringify(keys));
85
+ }
86
+
87
+ // The order the caller holds its keys in, as the last server segment signed
88
+ // it; null when the request carries no valid signed order.
89
+ function readSignedOrder(context) {
90
+ var order = context.__sigOrder;
91
+ if (!order || typeof order !== 'object' || !Array.isArray(order.keys)) return null;
92
+ for (var i = 0; i < order.keys.length; i++) {
93
+ if (typeof order.keys[i] !== 'string' || isControlKey(order.keys[i])) return null;
94
+ }
95
+ return sameMac(order.mac, orderMac(order.keys)) ? order.keys : null;
96
+ }
97
+
98
+ function restoreOrder(context, keys) {
99
+ var snapshot = {};
100
+ var all = Object.keys(context);
101
+ for (var i = 0; i < all.length; i++) {
102
+ snapshot[all[i]] = context[all[i]];
103
+ delete context[all[i]];
104
+ }
105
+ var placed = {};
106
+ for (var c = 0; c < all.length; c++) {
107
+ if (isControlKey(all[c])) {
108
+ context[all[c]] = snapshot[all[c]];
109
+ placed[all[c]] = true;
110
+ }
111
+ }
112
+ for (var k = 0; k < keys.length; k++) {
113
+ if (placed[keys[k]]) continue;
114
+ context[keys[k]] = has(snapshot, keys[k]) ? snapshot[keys[k]] : undefined;
115
+ placed[keys[k]] = true;
116
+ }
117
+ for (var r = 0; r < all.length; r++) {
118
+ if (!placed[all[r]]) context[all[r]] = snapshot[all[r]];
119
+ }
120
+ }
121
+
122
+ function dropUnsignedResults(segmentConfig, context, orderKeys) {
123
+ var ids = segmentConfig.signedNodeIds || [];
124
+ if (ids.length === 0) return;
125
+ var listed = {};
126
+ for (var o = 0; o < (orderKeys || []).length; o++) listed[orderKeys[o]] = true;
127
+ var sigs = context.__sig && typeof context.__sig === 'object' && !Array.isArray(context.__sig) ? context.__sig : {};
128
+ for (var i = 0; i < ids.length; i++) {
129
+ var id = ids[i];
130
+ if (!has(context, id) || context[id] === undefined) continue;
131
+ var expected = resultMac(id, context[id]);
132
+ if (!listed[id] || !expected || !sameMac(sigs[id], expected)) {
133
+ context[id] = undefined;
134
+ }
135
+ }
136
+ }
137
+
138
+ function stripForeignControlKeys(segmentConfig, context) {
139
+ if (!segmentConfig.customNodeIds) {
140
+ delete context.__isInsideCustomNode;
141
+ delete context.__customNodeIds;
142
+ delete context.__customParams;
143
+ }
144
+ var bodies = segmentConfig.loopBodies || {};
145
+ if (context.__loopNodeIds && typeof context.__loopNodeIds === 'object') {
146
+ var keptLoops = {};
147
+ Object.keys(context.__loopNodeIds).forEach(function(id) {
148
+ if (has(bodies, id) && context.__loopNodeIds[id]) keptLoops[id] = true;
149
+ });
150
+ context.__loopNodeIds = keptLoops;
151
+ } else {
152
+ delete context.__loopNodeIds;
153
+ }
154
+ if (Array.isArray(context.__loopScopeStack)) {
155
+ context.__loopScopeStack = context.__loopScopeStack
156
+ .filter(function(scope) { return scope && typeof scope.loopNodeId === 'string' && has(bodies, scope.loopNodeId); })
157
+ .map(function(scope) {
158
+ var claimed = scope.bodyNodeIds && typeof scope.bodyNodeIds === 'object' ? scope.bodyNodeIds : {};
159
+ var body = {};
160
+ bodies[scope.loopNodeId].forEach(function(id) { if (claimed[id]) body[id] = true; });
161
+ return { loopNodeId: scope.loopNodeId, bodyNodeIds: body };
162
+ });
163
+ } else {
164
+ delete context.__loopScopeStack;
165
+ }
166
+ }
167
+
168
+ function gateTook(gate, when, decision) {
169
+ if (!decision || typeof decision !== 'object') return false;
170
+ if (gate.kind === 'if') {
171
+ return typeof decision.result === 'boolean' && when === (decision.result ? 'true' : 'false');
172
+ }
173
+ if (decision.matchedCase === undefined || decision.matchedCase === null) return false;
174
+ if (when === 'default') return decision.matchedCase === 'default';
175
+ return when === 'case:' + decision.matchedCase;
176
+ }
177
+
178
+ function enforceBranchGates(segmentConfig, context) {
179
+ var gates = segmentConfig.branchGates || [];
180
+ if (gates.length === 0) return;
181
+ if (!context.__skippedNodes || typeof context.__skippedNodes !== 'object') context.__skippedNodes = {};
182
+ for (var g = 0; g < gates.length; g++) {
183
+ var gate = gates[g];
184
+ var decision = context[gate.id];
185
+ for (var b = 0; b < gate.branches.length; b++) {
186
+ var branch = gate.branches[b];
187
+ if (gateTook(gate, branch.when, decision)) continue;
188
+ for (var n = 0; n < branch.nodeIds.length; n++) context.__skippedNodes[branch.nodeIds[n]] = true;
189
+ }
190
+ }
191
+ }
192
+
193
+ function resetPreviousResult(segmentConfig, context) {
194
+ var from = segmentConfig.previousFrom;
195
+ if (!from) return;
196
+ if (from.fireAndForget) {
197
+ context.__previousNodeResult = null;
198
+ return;
199
+ }
200
+ var value = context[from.nodeId];
201
+ context.__previousNodeResult = value !== undefined ? value : {};
202
+ }
203
+
204
+ // The keys the caller holds, in order, before this segment's own results were
205
+ // dropped — segmentReply appends what the run adds, exactly as the caller's
206
+ // merge will.
207
+ var __incomingOrders = new WeakMap();
208
+
209
+ function claimSegmentContext(segmentConfig, context) {
210
+ var orderKeys = readSignedOrder(context);
211
+ if (orderKeys) restoreOrder(context, orderKeys);
212
+ dropUnsignedResults(segmentConfig, context, orderKeys);
213
+ stripForeignControlKeys(segmentConfig, context);
214
+ __incomingOrders.set(context, Object.keys(context).filter(function(k) { return !isControlKey(k); }));
215
+ utils.claimSegmentContext(segmentConfig, context);
216
+ enforceBranchGates(segmentConfig, context);
217
+ resetPreviousResult(segmentConfig, context);
218
+ }
219
+
220
+ function segmentReply(segmentConfig, context, snapshot) {
221
+ var reply = utils.segmentReply(segmentConfig, context, snapshot);
222
+ var sigs = {};
223
+ var incoming = context.__sig && typeof context.__sig === 'object' && !Array.isArray(context.__sig) ? context.__sig : {};
224
+ Object.keys(incoming).forEach(function(id) {
225
+ if (typeof incoming[id] === 'string') sigs[id] = incoming[id];
226
+ });
227
+ var nodes = segmentConfig.nodes || [];
228
+ for (var i = 0; i < nodes.length; i++) {
229
+ var id = nodes[i].id;
230
+ if (!has(reply, id) || reply[id] === undefined) continue;
231
+ var signature = resultMac(id, reply[id]);
232
+ if (signature) sigs[id] = signature; else delete sigs[id];
233
+ }
234
+ reply.__sig = sigs;
235
+ var keys = (__incomingOrders.get(context) || []).slice();
236
+ var listed = {};
237
+ keys.forEach(function(k) { listed[k] = true; });
238
+ Object.keys(reply).forEach(function(k) {
239
+ if (!isControlKey(k) && !listed[k]) {
240
+ keys.push(k);
241
+ listed[k] = true;
242
+ }
243
+ });
244
+ reply.__sigOrder = { keys: keys, mac: orderMac(keys) };
245
+ return reply;
246
+ }
247
+
248
+ // A call one of this deployment's server routes makes to another (a webhook
249
+ // or cron running a custom node's server segments). Only server code can mint
250
+ // the token, so a route that must never be called from a browser checks it.
251
+ function internalCallToken() {
252
+ return mac('internal-call|v1');
253
+ }
254
+
255
+ function isInternalCall(req) {
256
+ var given = req && req.headers ? req.headers['x-teleport-internal'] : '';
257
+ return typeof given === 'string' && sameMac(given, internalCallToken());
258
+ }
259
+
260
+ function internalRequestHeaders(req) {
261
+ var headers = utils.internalRequestHeaders(req);
262
+ headers['x-teleport-internal'] = internalCallToken();
263
+ return headers;
264
+ }
265
+
266
+ function isLoopbackHost(host) {
267
+ var name = String(host || '').replace(/:[0-9]+$/, '').toLowerCase();
268
+ return name === 'localhost' || name === '127.0.0.1' || name === '[::1]';
269
+ }
270
+
271
+ // The origin this deployment calls its own API routes on. On Vercel the
272
+ // request's host is the domain Vercel routed to this deployment; anywhere
273
+ // else the Host header is whatever the caller sent, so the canonical
274
+ // NEXTAUTH_URL wins when it is set — internal calls carry credentials, and
275
+ // they must never go to a host a request named. (A local development server
276
+ // on another port than NEXTAUTH_URL's keeps its own loopback address.)
277
+ function trustedBaseUrl(req) {
278
+ var headers = (req && req.headers) || {};
279
+ var host = headers.host || '';
280
+ var proto = headers['x-forwarded-proto'] || (isLoopbackHost(host) ? 'http' : 'https');
281
+ var requestOrigin = String(proto).split(',')[0].trim() + '://' + host;
282
+ if (process.env.VERCEL) return requestOrigin;
283
+ var configured = String(process.env.NEXTAUTH_URL || '').trim();
284
+ if (!configured) return requestOrigin;
285
+ var origin;
286
+ try { origin = new URL(configured).origin; } catch (e) { return requestOrigin; }
287
+ if (isLoopbackHost(host) && isLoopbackHost(new URL(origin).host)) return requestOrigin;
288
+ return origin;
289
+ }
290
+
291
+ module.exports = Object.assign({}, utils, {
292
+ claimSegmentContext: claimSegmentContext,
293
+ segmentReply: segmentReply,
294
+ internalRequestHeaders: internalRequestHeaders,
295
+ isInternalCall: isInternalCall,
296
+ trustedBaseUrl: trustedBaseUrl
297
+ });
298
+ `;
299
+ //# sourceMappingURL=server-runtime-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-runtime-code.js","sourceRoot":"","sources":["../../src/server-runtime-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyQtD,CAAA"}
@@ -1,84 +1,9 @@
1
1
  /**
2
- * Resolving the NextAuth session token in a generated route, WITHOUT asking
3
- * `process.env.NEXTAUTH_URL` what the session cookie is called.
4
- *
5
- * ## ⛔ THE REPORTED DEFECT
6
- *
7
- * A published project showed "Failed to load dashboard data. Please refresh."
8
- * on the home page, "Failed to load meeting data." on the list page and "could
9
- * not fetch the templates" on a third — for a user who was signed in, on a page
10
- * whose own `/api/auth/session` returned that user. The failing call was the
11
- * page-load workflow's server segment, answering **401 `Unauthenticated`** from
12
- * `guardWorkflowRequest`. Reloading sometimes fixed it; fanning 50 concurrent
13
- * requests at the same route returned **33 × 401 and 17 × 200**, while 40
14
- * concurrent `/api/auth/session` calls resolved the user 40/40.
15
- *
16
- * ## The mechanism
17
- *
18
- * next-auth v4's `getToken()` derives the cookie it reads from an env var:
19
- *
20
- * ```js
21
- * secureCookie = process.env.NEXTAUTH_URL?.startsWith('https://') ?? !!process.env.VERCEL,
22
- * cookieName = secureCookie ? '__Secure-next-auth.session-token' : 'next-auth.session-token',
23
- * ```
24
- *
25
- * A generated project ships `NEXTAUTH_URL=http://localhost:3000` — the build
26
- * cannot know the domain it will be published to, so `pages/api/auth/[...nextauth].js`
27
- * repairs `process.env.NEXTAUTH_URL` **from the incoming request** instead. That
28
- * repair is process-local: it fixes the value for whichever serverless instance
29
- * happened to serve an auth request, and for no other. Every other instance
30
- * still holds `http://localhost:3000`, so `startsWith('https://')` is `false`
31
- * (NOT `undefined` — the `??` fallback to `!!process.env.VERCEL` never runs),
32
- * `getToken` looks for `next-auth.session-token`, the browser is holding
33
- * `__Secure-next-auth.session-token`, nothing is found, and a signed-in user is
34
- * reported as anonymous.
35
- *
36
- * Hence the coin-flip: it depends on whether the instance that served your
37
- * request had previously served an auth request. Nothing about the session, the
38
- * secret or the cookie is wrong.
39
- *
40
- * The same defect is why the generated middleware carries a `hasSessionCookie`
41
- * fallback and a round trip to `/api/auth/session`, attributed there to an
42
- * "Edge runtime quirk" — the Edge process holds that same localhost value.
43
- *
44
- * ## The rule
45
- *
46
- * ⭐ **A request must be authenticated from the REQUEST, never from an ambient
47
- * env var that describes the deployment.** So this resolver reads which session
48
- * cookie the caller actually sent, and tells `getToken` exactly that — falling
49
- * back to the request's own protocol when the cookie header is unavailable.
50
- *
51
- * Emitted as plain ES5 text and inlined into each generated route: a route that
52
- * carries its own copy cannot be broken by a missing sibling module or an
53
- * untraced dependency, and every call site gets the identical implementation
54
- * from this one definition.
2
+ * The session-cookie resolver lives in teleport-shared so the per-table data
3
+ * routes (teleport-plugin-next-data-source) decode a session exactly the way
4
+ * the workflow routes do. This module keeps the plugin's public export path.
55
5
  */
56
- /** The `__tq`-prefixed globals the emitted snippet declares. */
57
6
  export declare const SESSION_TOKEN_RESOLVER_FN = "__tqResolveSessionToken";
58
- /**
59
- * ES5 source for the shared session-token resolver, safe to inline into any
60
- * generated CommonJS route or ESM middleware.
61
- *
62
- * Declares:
63
- * - `__tqCookieNamesPresent(req)` — the set of cookie names on the request,
64
- * parsed properly (a substring test would see `next-auth.session-token`
65
- * inside `__Secure-next-auth.session-token` and pick the wrong one).
66
- * - `__tqRequestIsSecure(req)` — https as the REQUEST reports it.
67
- * - `__tqSessionTokenCandidates(req)` — `{cookieName, secureCookie}` pairs to try.
68
- * - `__tqResolveSessionToken(getToken, req, secret)` — the token, or null.
69
- *
70
- * `getToken` is passed IN rather than required here, so the same body serves a
71
- * CommonJS route (lazy `require('next-auth/jwt')`) and the Edge middleware
72
- * (static `import`). Pure, total, never throws, no env reads.
73
- */
74
7
  export declare const generateSessionTokenResolverCode: () => string;
75
- /**
76
- * The resolver plus a lazy `require('next-auth/jwt')`, for a CommonJS route.
77
- *
78
- * The require is lazy and guarded because a project generated WITHOUT
79
- * authentication does not ship `next-auth`; such a project also has no session
80
- * to read, so resolving to `null` there is the correct answer rather than a
81
- * module-load crash.
82
- */
83
8
  export declare const generateCommonJsSessionTokenResolverCode: () => string;
84
9
  //# sourceMappingURL=session-cookie-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-cookie-resolver.d.ts","sourceRoot":"","sources":["../../src/session-cookie-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,4BAA4B,CAAA;AAiBlE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gCAAgC,QAAO,MA6JnD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wCAAwC,QAAO,MAsB3D,CAAA"}
1
+ {"version":3,"file":"session-cookie-resolver.d.ts","sourceRoot":"","sources":["../../src/session-cookie-resolver.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,4BAAkD,CAAA;AACxF,eAAO,MAAM,gCAAgC,cACW,CAAA;AACxD,eAAO,MAAM,wCAAwC,cACW,CAAA"}
@@ -1,277 +1,10 @@
1
+ import { SessionCookieResolver } from '@teleporthq/teleport-shared';
1
2
  /**
2
- * Resolving the NextAuth session token in a generated route, WITHOUT asking
3
- * `process.env.NEXTAUTH_URL` what the session cookie is called.
4
- *
5
- * ## ⛔ THE REPORTED DEFECT
6
- *
7
- * A published project showed "Failed to load dashboard data. Please refresh."
8
- * on the home page, "Failed to load meeting data." on the list page and "could
9
- * not fetch the templates" on a third — for a user who was signed in, on a page
10
- * whose own `/api/auth/session` returned that user. The failing call was the
11
- * page-load workflow's server segment, answering **401 `Unauthenticated`** from
12
- * `guardWorkflowRequest`. Reloading sometimes fixed it; fanning 50 concurrent
13
- * requests at the same route returned **33 × 401 and 17 × 200**, while 40
14
- * concurrent `/api/auth/session` calls resolved the user 40/40.
15
- *
16
- * ## The mechanism
17
- *
18
- * next-auth v4's `getToken()` derives the cookie it reads from an env var:
19
- *
20
- * ```js
21
- * secureCookie = process.env.NEXTAUTH_URL?.startsWith('https://') ?? !!process.env.VERCEL,
22
- * cookieName = secureCookie ? '__Secure-next-auth.session-token' : 'next-auth.session-token',
23
- * ```
24
- *
25
- * A generated project ships `NEXTAUTH_URL=http://localhost:3000` — the build
26
- * cannot know the domain it will be published to, so `pages/api/auth/[...nextauth].js`
27
- * repairs `process.env.NEXTAUTH_URL` **from the incoming request** instead. That
28
- * repair is process-local: it fixes the value for whichever serverless instance
29
- * happened to serve an auth request, and for no other. Every other instance
30
- * still holds `http://localhost:3000`, so `startsWith('https://')` is `false`
31
- * (NOT `undefined` — the `??` fallback to `!!process.env.VERCEL` never runs),
32
- * `getToken` looks for `next-auth.session-token`, the browser is holding
33
- * `__Secure-next-auth.session-token`, nothing is found, and a signed-in user is
34
- * reported as anonymous.
35
- *
36
- * Hence the coin-flip: it depends on whether the instance that served your
37
- * request had previously served an auth request. Nothing about the session, the
38
- * secret or the cookie is wrong.
39
- *
40
- * The same defect is why the generated middleware carries a `hasSessionCookie`
41
- * fallback and a round trip to `/api/auth/session`, attributed there to an
42
- * "Edge runtime quirk" — the Edge process holds that same localhost value.
43
- *
44
- * ## The rule
45
- *
46
- * ⭐ **A request must be authenticated from the REQUEST, never from an ambient
47
- * env var that describes the deployment.** So this resolver reads which session
48
- * cookie the caller actually sent, and tells `getToken` exactly that — falling
49
- * back to the request's own protocol when the cookie header is unavailable.
50
- *
51
- * Emitted as plain ES5 text and inlined into each generated route: a route that
52
- * carries its own copy cannot be broken by a missing sibling module or an
53
- * untraced dependency, and every call site gets the identical implementation
54
- * from this one definition.
3
+ * The session-cookie resolver lives in teleport-shared so the per-table data
4
+ * routes (teleport-plugin-next-data-source) decode a session exactly the way
5
+ * the workflow routes do. This module keeps the plugin's public export path.
55
6
  */
56
- /** The `__tq`-prefixed globals the emitted snippet declares. */
57
- export const SESSION_TOKEN_RESOLVER_FN = '__tqResolveSessionToken';
58
- /**
59
- * Session-cookie names next-auth/Auth.js writes, with the `secureCookie` flag
60
- * that produces each. Order within a protocol is irrelevant — only ONE of these
61
- * is ever present — but the https/http split decides which pair is tried first.
62
- *
63
- * `__Host-` is deliberately absent: next-auth uses it only for the CSRF and
64
- * callback cookies, never for the session token.
65
- */
66
- const KNOWN_SESSION_COOKIES = [
67
- { name: '__Secure-next-auth.session-token', secure: true },
68
- { name: 'next-auth.session-token', secure: false },
69
- { name: '__Secure-authjs.session-token', secure: true },
70
- { name: 'authjs.session-token', secure: false },
71
- ];
72
- /**
73
- * ES5 source for the shared session-token resolver, safe to inline into any
74
- * generated CommonJS route or ESM middleware.
75
- *
76
- * Declares:
77
- * - `__tqCookieNamesPresent(req)` — the set of cookie names on the request,
78
- * parsed properly (a substring test would see `next-auth.session-token`
79
- * inside `__Secure-next-auth.session-token` and pick the wrong one).
80
- * - `__tqRequestIsSecure(req)` — https as the REQUEST reports it.
81
- * - `__tqSessionTokenCandidates(req)` — `{cookieName, secureCookie}` pairs to try.
82
- * - `__tqResolveSessionToken(getToken, req, secret)` — the token, or null.
83
- *
84
- * `getToken` is passed IN rather than required here, so the same body serves a
85
- * CommonJS route (lazy `require('next-auth/jwt')`) and the Edge middleware
86
- * (static `import`). Pure, total, never throws, no env reads.
87
- */
88
- export const generateSessionTokenResolverCode = () => {
89
- return `// GENERATED — see generateSessionTokenResolverCode in
90
- // @teleporthq/teleport-plugin-next-workflows/src/session-cookie-resolver.ts.
91
- //
92
- // next-auth's getToken() picks the session cookie name from
93
- // process.env.NEXTAUTH_URL, which a generated project ships as a localhost
94
- // default — so on a published https domain it looks for the non-secure cookie
95
- // and reports a signed-in user as anonymous. These helpers read the cookie the
96
- // request actually carries and tell getToken exactly which one it is.
97
- var __TQ_SESSION_COOKIES = ${JSON.stringify(KNOWN_SESSION_COOKIES.map((c) => [c.name, c.secure]))};
98
-
99
- // Every cookie NAME on the request. Parsed on the "; " separator rather than
100
- // matched as a substring: "next-auth.session-token" occurs inside
101
- // "__Secure-next-auth.session-token", so a substring test reports the plain
102
- // cookie as present whenever the secure one is, and getToken then decodes the
103
- // wrong (missing) cookie.
104
- function __tqCookieNamesPresent(req) {
105
- var present = {};
106
- var raw = '';
107
- try {
108
- var headers = req && req.headers;
109
- if (headers && typeof headers.get === 'function') {
110
- // Edge / fetch Headers.
111
- raw = headers.get('cookie') || '';
112
- } else if (headers) {
113
- var value = headers.cookie || headers.Cookie;
114
- raw = Array.isArray(value) ? value.join('; ') : value || '';
115
- }
116
- } catch (e) {
117
- raw = '';
118
- }
119
- var parts = String(raw).split(';');
120
- for (var i = 0; i < parts.length; i++) {
121
- var eq = parts[i].indexOf('=');
122
- if (eq > 0) {
123
- present[parts[i].slice(0, eq).trim()] = true;
124
- }
125
- }
126
- // Second source: the runtime's own parsed cookies. A Next.js API route hands
127
- // over a plain object; the Edge RequestCookies exposes getAll().
128
- try {
129
- var cookies = req && req.cookies;
130
- if (cookies && typeof cookies.getAll === 'function') {
131
- var all = cookies.getAll() || [];
132
- for (var a = 0; a < all.length; a++) {
133
- if (all[a] && all[a].name) {
134
- present[all[a].name] = true;
135
- }
136
- }
137
- } else if (cookies && typeof cookies === 'object') {
138
- for (var key in cookies) {
139
- if (Object.prototype.hasOwnProperty.call(cookies, key)) {
140
- present[key] = true;
141
- }
142
- }
143
- }
144
- } catch (e) {
145
- /* the header pass above is enough */
146
- }
147
- return present;
148
- }
149
-
150
- // Is this request https? Read from the proxy header the platform sets, then the
151
- // socket, then the URL — never from an env var describing the deployment.
152
- function __tqRequestIsSecure(req) {
153
- try {
154
- var headers = (req && req.headers) || {};
155
- var proto =
156
- typeof headers.get === 'function'
157
- ? headers.get('x-forwarded-proto')
158
- : headers['x-forwarded-proto'];
159
- if (Array.isArray(proto)) {
160
- proto = proto[0];
161
- }
162
- if (typeof proto === 'string' && proto) {
163
- // A chain of proxies appends: "https,http" — the client-facing hop is first.
164
- return proto.split(',')[0].trim().toLowerCase() === 'https';
165
- }
166
- if (req && req.nextUrl && req.nextUrl.protocol === 'https:') {
167
- return true;
168
- }
169
- if (req && req.socket && req.socket.encrypted) {
170
- return true;
171
- }
172
- if (req && req.connection && req.connection.encrypted) {
173
- return true;
174
- }
175
- if (typeof (req && req.url) === 'string' && req.url.indexOf('https://') === 0) {
176
- return true;
177
- }
178
- } catch (e) {
179
- /* fall through to false */
180
- }
181
- return false;
182
- }
183
-
184
- // The { cookieName, secureCookie } pairs worth trying, most likely first.
185
- // Normally exactly one cookie is present and this returns a single entry; the
186
- // list only grows when a site has been reached over both http and https.
187
- function __tqSessionTokenCandidates(req) {
188
- var present = __tqCookieNamesPresent(req);
189
- var secure = __tqRequestIsSecure(req);
190
- var candidates = [];
191
- for (var i = 0; i < __TQ_SESSION_COOKIES.length; i++) {
192
- var name = __TQ_SESSION_COOKIES[i][0];
193
- var isSecureName = __TQ_SESSION_COOKIES[i][1];
194
- if (present[name] || present[name + '.0']) {
195
- candidates.push({ cookieName: name, secureCookie: isSecureName });
196
- }
197
- }
198
- candidates.sort(function (a, b) {
199
- if (a.secureCookie === b.secureCookie) {
200
- return 0;
201
- }
202
- return a.secureCookie === secure ? -1 : 1;
203
- });
204
- if (candidates.length === 0) {
205
- // No cookie we recognise. The project may configure a custom cookie name in
206
- // authOptions, so hand getToken the request's own protocol and let it apply
207
- // its defaults — same behaviour as before this resolver existed, minus the
208
- // localhost env var.
209
- candidates.push({ secureCookie: secure });
210
- }
211
- return candidates;
212
- }
213
-
214
- // The decoded session token, or null. Tries each candidate cookie in turn so a
215
- // project that renamed its cookie, or one reached over both protocols, still
216
- // resolves. Never throws.
217
- function ${SESSION_TOKEN_RESOLVER_FN}(getToken, req, secret) {
218
- if (!secret || typeof getToken !== 'function') {
219
- return Promise.resolve(null);
220
- }
221
- var candidates = __tqSessionTokenCandidates(req);
222
- var attempt = function (index) {
223
- if (index >= candidates.length) {
224
- return Promise.resolve(null);
225
- }
226
- var candidate = candidates[index];
227
- var params = { req: req, secret: secret, secureCookie: candidate.secureCookie };
228
- if (candidate.cookieName) {
229
- params.cookieName = candidate.cookieName;
230
- }
231
- return Promise.resolve()
232
- .then(function () {
233
- return getToken(params);
234
- })
235
- .catch(function () {
236
- return null;
237
- })
238
- .then(function (token) {
239
- return token || attempt(index + 1);
240
- });
241
- };
242
- return attempt(0);
243
- }
244
- `;
245
- };
246
- /**
247
- * The resolver plus a lazy `require('next-auth/jwt')`, for a CommonJS route.
248
- *
249
- * The require is lazy and guarded because a project generated WITHOUT
250
- * authentication does not ship `next-auth`; such a project also has no session
251
- * to read, so resolving to `null` there is the correct answer rather than a
252
- * module-load crash.
253
- */
254
- export const generateCommonJsSessionTokenResolverCode = () => {
255
- return `${generateSessionTokenResolverCode()}
256
- // Lazy + guarded: a project generated without authentication has no next-auth
257
- // installed, and no session to read either — null is the right answer there.
258
- function __tqGetTokenFn() {
259
- try {
260
- var jwt = require('next-auth/jwt');
261
- return jwt && typeof jwt.getToken === 'function' ? jwt.getToken : null;
262
- } catch (e) {
263
- return null;
264
- }
265
- }
266
-
267
- // The session token for this request, or null. Reads NEXTAUTH_SECRET itself.
268
- function __tqSessionToken(req) {
269
- var secret = process.env.NEXTAUTH_SECRET;
270
- if (!secret) {
271
- return Promise.resolve(null);
272
- }
273
- return ${SESSION_TOKEN_RESOLVER_FN}(__tqGetTokenFn(), req, secret);
274
- }
275
- `;
276
- };
7
+ export const SESSION_TOKEN_RESOLVER_FN = SessionCookieResolver.SESSION_TOKEN_RESOLVER_FN;
8
+ export const generateSessionTokenResolverCode = SessionCookieResolver.generateSessionTokenResolverCode;
9
+ export const generateCommonJsSessionTokenResolverCode = SessionCookieResolver.generateCommonJsSessionTokenResolverCode;
277
10
  //# sourceMappingURL=session-cookie-resolver.js.map