@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.
- package/__tests__/_helpers/bind-workflow-utils.ts +16 -1
- package/__tests__/_helpers/fake-fetch.ts +96 -0
- package/__tests__/_helpers/fake-stripe.ts +52 -0
- package/__tests__/_helpers/load-handler.ts +22 -3
- package/__tests__/_helpers/load-invoice-route.ts +75 -0
- package/__tests__/_helpers/load-payment-drivers.ts +69 -0
- package/__tests__/_helpers/load-server-runtime.ts +33 -0
- package/__tests__/_helpers/run-generated-middleware.ts +50 -9
- package/__tests__/admin-form-hydration-target.test.ts +39 -0
- package/__tests__/admin-form-row-hydration.test.ts +58 -0
- package/__tests__/ai-select-database-data-handler.test.ts +14 -3
- package/__tests__/api-route-file-name-segments.test.ts +33 -0
- package/__tests__/app-secret-env.test.ts +55 -0
- package/__tests__/auth-env-secret-preservation.test.ts +22 -3
- package/__tests__/auth-nextauth-url.test.ts +134 -50
- package/__tests__/cart-add-item-kinds.test.ts +259 -0
- package/__tests__/cart-add-item-line-fields.test.ts +328 -0
- package/__tests__/cart-availability-add-to-cart.test.ts +108 -0
- package/__tests__/cart-get-total-discounts.test.ts +499 -0
- package/__tests__/cart-get-total-product-options.test.ts +195 -0
- package/__tests__/cart-get-total-subscriptions.test.ts +221 -0
- package/__tests__/cart-price-order.test.ts +283 -0
- package/__tests__/cart-update-item-quantity-recurring.test.ts +75 -0
- package/__tests__/client-loop-current-item.test.ts +164 -0
- package/__tests__/cron-route-loop-custom-node.test.ts +123 -0
- package/__tests__/cron-route-loop-templateparams.test.ts +7 -0
- package/__tests__/cron-route-verification.test.ts +252 -0
- package/__tests__/custom-js-runtime-base-url.test.ts +64 -0
- package/__tests__/custom-nodes-admin-module.test.ts +310 -0
- package/__tests__/data-api-browser-reads.test.ts +341 -0
- package/__tests__/data-api-low-stock-autofire.test.ts +67 -17
- package/__tests__/data-api-optional-feature-columns.test.ts +240 -0
- package/__tests__/data-api-protected-tables.test.ts +948 -0
- package/__tests__/data-node-not-awaited.test.ts +7 -3
- package/__tests__/data-write-missing-filter.test.ts +119 -0
- package/__tests__/ecommerce-rewriter-product-options.test.ts +143 -0
- package/__tests__/email-locale-senders.test.ts +1 -1
- package/__tests__/file-storage-upload-picked-files.test.ts +20 -0
- package/__tests__/input-debounce-per-field.test.ts +141 -0
- package/__tests__/internal-request-headers.test.ts +7 -3
- package/__tests__/invoice-data-access-replace.test.ts +340 -0
- package/__tests__/invoice-delivery-fee.test.ts +3 -2
- package/__tests__/invoice-generate-hydration.test.ts +20 -12
- package/__tests__/invoice-order-items-settle.test.ts +51 -46
- package/__tests__/invoice-product-options.test.ts +177 -0
- package/__tests__/invoice-regenerate-route.test.ts +488 -0
- package/__tests__/invoice-regional-tax.test.ts +3 -2
- package/__tests__/invoice-reservation.test.ts +195 -0
- package/__tests__/invoice-route-access.test.ts +275 -0
- package/__tests__/invoice-self-call-origin.test.ts +117 -0
- package/__tests__/invoice-tender.test.ts +550 -0
- package/__tests__/legacy-webhook-self-calls.test.ts +187 -0
- package/__tests__/locale-aware-redirects.test.ts +55 -26
- package/__tests__/loop-collection-unwrap.test.ts +6 -1
- package/__tests__/middleware-subscriber-access.test.ts +269 -0
- package/__tests__/payment-charge-user-earlier-attempt.test.ts +267 -0
- package/__tests__/payment-charge-user-handler-serialization.test.ts +47 -82
- package/__tests__/payment-charge-user-line-descriptions.test.ts +124 -0
- package/__tests__/payment-charge-user-report-refusal.test.ts +105 -0
- package/__tests__/payment-close-checkout-node.test.ts +127 -0
- package/__tests__/payment-driver-close-checkout.test.ts +1163 -0
- package/__tests__/payment-driver-coingate.test.ts +470 -0
- package/__tests__/payment-driver-inspect-checkout.test.ts +648 -0
- package/__tests__/payment-driver-mollie.test.ts +864 -0
- package/__tests__/payment-driver-paddle.test.ts +870 -0
- package/__tests__/payment-driver-paypal-capture.test.ts +158 -0
- package/__tests__/payment-driver-paypal-webhook.test.ts +367 -0
- package/__tests__/payment-driver-razorpay.test.ts +895 -0
- package/__tests__/payment-driver-square.test.ts +977 -0
- package/__tests__/payment-driver-stripe.test.ts +267 -0
- package/__tests__/payment-drivers-module.test.ts +429 -0
- package/__tests__/payment-legacy-webhook-routes.test.ts +588 -0
- package/__tests__/payment-redirect-and-order-notification.test.ts +98 -39
- package/__tests__/payment-refund.test.ts +523 -22
- package/__tests__/payment-subscription-nodes.test.ts +1360 -0
- package/__tests__/payment-webhook-route.test.ts +523 -0
- package/__tests__/paypal-webhook-signature-verification.test.ts +205 -0
- package/__tests__/prune-context-oversized-leaf.test.ts +1 -0
- package/__tests__/prune-context-state-keys.test.ts +89 -0
- package/__tests__/push-node-handlers.test.ts +291 -0
- package/__tests__/route-changed-trigger.test.ts +40 -0
- package/__tests__/runtime-storage-upload-access.test.ts +255 -0
- package/__tests__/security-runtime-shadow.test.ts +103 -1
- package/__tests__/segment-reply-changed-keys.test.ts +146 -0
- package/__tests__/segment-state-keys-emission.test.ts +185 -0
- package/__tests__/segment-state-needs.test.ts +102 -0
- package/__tests__/server-segment-context-integrity.test.ts +210 -0
- package/__tests__/server-step-signing.test.ts +371 -0
- package/__tests__/session-cookie-resolver.test.ts +59 -0
- package/__tests__/stock-decrement-audit.test.ts +17 -0
- package/__tests__/subscriber-access-route.test.ts +406 -0
- package/__tests__/webhook-delivery-lease.test.ts +316 -0
- package/__tests__/workflow-auth-guard.test.ts +253 -2
- package/dist/cjs/admin-form-hydration.d.ts +10 -0
- package/dist/cjs/admin-form-hydration.d.ts.map +1 -0
- package/dist/cjs/admin-form-hydration.js +25 -0
- package/dist/cjs/admin-form-hydration.js.map +1 -0
- package/dist/cjs/api-route-generator.d.ts +19 -3
- package/dist/cjs/api-route-generator.d.ts.map +1 -1
- package/dist/cjs/api-route-generator.js +190 -70
- package/dist/cjs/api-route-generator.js.map +1 -1
- package/dist/cjs/auth-generator.d.ts +4 -1
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +241 -62
- package/dist/cjs/auth-generator.js.map +1 -1
- package/dist/cjs/auth-return/signed-in-destination-code.d.ts +17 -0
- package/dist/cjs/auth-return/signed-in-destination-code.d.ts.map +1 -0
- package/dist/cjs/auth-return/signed-in-destination-code.js +37 -0
- package/dist/cjs/auth-return/signed-in-destination-code.js.map +1 -0
- package/dist/cjs/cart-pricing-preamble.d.ts +12 -0
- package/dist/cjs/cart-pricing-preamble.d.ts.map +1 -0
- package/dist/cjs/cart-pricing-preamble.js +23 -0
- package/dist/cjs/cart-pricing-preamble.js.map +1 -0
- package/dist/cjs/cron-request-verification.d.ts +24 -0
- package/dist/cjs/cron-request-verification.d.ts.map +1 -0
- package/dist/cjs/cron-request-verification.js +84 -0
- package/dist/cjs/cron-request-verification.js.map +1 -0
- package/dist/cjs/custom-node-modules.d.ts +30 -0
- package/dist/cjs/custom-node-modules.d.ts.map +1 -0
- package/dist/cjs/custom-node-modules.js +90 -0
- package/dist/cjs/custom-node-modules.js.map +1 -0
- package/dist/cjs/data-api-route-generator.d.ts +27 -0
- package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
- package/dist/cjs/data-api-route-generator.js +366 -29
- package/dist/cjs/data-api-route-generator.js.map +1 -1
- package/dist/cjs/ecommerce/cart-availability.d.ts.map +1 -1
- package/dist/cjs/ecommerce/cart-availability.js +22 -13
- package/dist/cjs/ecommerce/cart-availability.js.map +1 -1
- package/dist/cjs/ecommerce/stock-decrement.d.ts +2 -1
- package/dist/cjs/ecommerce/stock-decrement.d.ts.map +1 -1
- package/dist/cjs/ecommerce/stock-decrement.js +6 -0
- package/dist/cjs/ecommerce/stock-decrement.js.map +1 -1
- package/dist/cjs/executor-generator.d.ts +0 -1
- package/dist/cjs/executor-generator.d.ts.map +1 -1
- package/dist/cjs/executor-generator.js +213 -20
- package/dist/cjs/executor-generator.js.map +1 -1
- package/dist/cjs/index.d.ts +12 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +25 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/invoice/api-routes-code.d.ts +26 -0
- package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/cjs/invoice/api-routes-code.js +423 -391
- package/dist/cjs/invoice/api-routes-code.js.map +1 -1
- package/dist/cjs/invoice/data-access-code.d.ts.map +1 -1
- package/dist/cjs/invoice/data-access-code.js +420 -107
- package/dist/cjs/invoice/data-access-code.js.map +1 -1
- package/dist/cjs/invoice/index.d.ts.map +1 -1
- package/dist/cjs/invoice/index.js +24 -0
- package/dist/cjs/invoice/index.js.map +1 -1
- package/dist/cjs/invoice/invoice-assembly-code.d.ts +12 -0
- package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -0
- package/dist/cjs/invoice/invoice-assembly-code.js +517 -0
- package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -0
- package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/cjs/invoice/invoice-html-code.js +111 -9
- package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
- package/dist/cjs/invoice/pdf-service-client-code.d.ts.map +1 -1
- package/dist/cjs/invoice/pdf-service-client-code.js +3 -4
- package/dist/cjs/invoice/pdf-service-client-code.js.map +1 -1
- package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-login.js +4 -3
- package/dist/cjs/nodes/account/account-login.js.map +1 -1
- package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-signup.js +7 -4
- package/dist/cjs/nodes/account/account-signup.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-select-database-data.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-select-database-data.js +6 -1
- package/dist/cjs/nodes/ai/ai-select-database-data.js.map +1 -1
- package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts +9 -0
- package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
- package/dist/cjs/nodes/browser/browser-get-push-subscription.js +25 -0
- package/dist/cjs/nodes/browser/browser-get-push-subscription.js.map +1 -0
- package/dist/cjs/nodes/browser/browser-show-notification.d.ts +10 -0
- package/dist/cjs/nodes/browser/browser-show-notification.d.ts.map +1 -1
- package/dist/cjs/nodes/browser/browser-show-notification.js +65 -40
- package/dist/cjs/nodes/browser/browser-show-notification.js.map +1 -1
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.js +21 -31
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.js.map +1 -1
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js +24 -0
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
- package/dist/cjs/nodes/browser/push-api-access.d.ts +12 -0
- package/dist/cjs/nodes/browser/push-api-access.d.ts.map +1 -0
- package/dist/cjs/nodes/browser/push-api-access.js +19 -0
- package/dist/cjs/nodes/browser/push-api-access.js.map +1 -0
- package/dist/cjs/nodes/cart/cart-add-item.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-add-item.js +174 -10
- package/dist/cjs/nodes/cart/cart-add-item.js.map +1 -1
- package/dist/cjs/nodes/cart/cart-clear.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-clear.js +11 -0
- package/dist/cjs/nodes/cart/cart-clear.js.map +1 -1
- package/dist/cjs/nodes/cart/cart-get-total.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-get-total.js +260 -3
- package/dist/cjs/nodes/cart/cart-get-total.js.map +1 -1
- package/dist/cjs/nodes/cart/cart-price-order.d.ts +3 -0
- package/dist/cjs/nodes/cart/cart-price-order.d.ts.map +1 -0
- package/dist/cjs/nodes/cart/cart-price-order.js +281 -0
- package/dist/cjs/nodes/cart/cart-price-order.js.map +1 -0
- package/dist/cjs/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-update-item-quantity.js +7 -0
- package/dist/cjs/nodes/cart/cart-update-item-quantity.js.map +1 -1
- package/dist/cjs/nodes/data/data-count.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-count.js +6 -1
- package/dist/cjs/nodes/data/data-count.js.map +1 -1
- package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-create-item.js +11 -1
- package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
- package/dist/cjs/nodes/data/data-delete-item.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-delete-item.js +29 -0
- package/dist/cjs/nodes/data/data-delete-item.js.map +1 -1
- package/dist/cjs/nodes/data/data-raw-query.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-raw-query.js +6 -1
- package/dist/cjs/nodes/data/data-raw-query.js.map +1 -1
- package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-select.js +6 -1
- package/dist/cjs/nodes/data/data-select.js.map +1 -1
- package/dist/cjs/nodes/data/data-update-item.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-update-item.js +29 -0
- package/dist/cjs/nodes/data/data-update-item.js.map +1 -1
- package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
- package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
- package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
- package/dist/cjs/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
- package/dist/cjs/nodes/file-storage/file-storage-upload.js +7 -0
- package/dist/cjs/nodes/file-storage/file-storage-upload.js.map +1 -1
- package/dist/cjs/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/cjs/nodes/general/general-custom-js.js +21 -5
- package/dist/cjs/nodes/general/general-custom-js.js.map +1 -1
- package/dist/cjs/nodes/index.d.ts.map +1 -1
- package/dist/cjs/nodes/index.js +9 -4
- package/dist/cjs/nodes/index.js.map +1 -1
- package/dist/cjs/nodes/payment/payment-billing-portal.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-billing-portal.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-billing-portal.js +52 -0
- package/dist/cjs/nodes/payment/payment-billing-portal.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
- package/dist/cjs/nodes/payment/payment-charge-user.js +227 -360
- package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
- package/dist/cjs/nodes/payment/payment-close-checkout.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-close-checkout.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-close-checkout.js +141 -0
- package/dist/cjs/nodes/payment/payment-close-checkout.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js +67 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.js +89 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-refund.d.ts.map +1 -1
- package/dist/cjs/nodes/payment/payment-refund.js +50 -404
- package/dist/cjs/nodes/payment/payment-refund.js.map +1 -1
- package/dist/cjs/nodes/push/push-send-notification.d.ts +14 -0
- package/dist/cjs/nodes/push/push-send-notification.d.ts.map +1 -0
- package/dist/cjs/nodes/push/push-send-notification.js +83 -0
- package/dist/cjs/nodes/push/push-send-notification.js.map +1 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.d.ts +16 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.js +471 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.d.ts +16 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.js +623 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.js +683 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.js +1261 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.js +732 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/square-driver-code.d.ts +14 -0
- package/dist/cjs/payments/drivers/square-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/square-driver-code.js +931 -0
- package/dist/cjs/payments/drivers/square-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.js +778 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.js.map +1 -0
- package/dist/cjs/payments/index.d.ts +66 -0
- package/dist/cjs/payments/index.d.ts.map +1 -0
- package/dist/cjs/payments/index.js +175 -0
- package/dist/cjs/payments/index.js.map +1 -0
- package/dist/cjs/payments/payment-core-code.d.ts +19 -0
- package/dist/cjs/payments/payment-core-code.d.ts.map +1 -0
- package/dist/cjs/payments/payment-core-code.js +422 -0
- package/dist/cjs/payments/payment-core-code.js.map +1 -0
- package/dist/cjs/payments/payment-driver-code-map.d.ts +4 -0
- package/dist/cjs/payments/payment-driver-code-map.d.ts.map +1 -0
- package/dist/cjs/payments/payment-driver-code-map.js +21 -0
- package/dist/cjs/payments/payment-driver-code-map.js.map +1 -0
- package/dist/cjs/payments/payment-drivers-scope.d.ts +35 -0
- package/dist/cjs/payments/payment-drivers-scope.d.ts.map +1 -0
- package/dist/cjs/payments/payment-drivers-scope.js +56 -0
- package/dist/cjs/payments/payment-drivers-scope.js.map +1 -0
- package/dist/cjs/payments/payment-registry-code.d.ts +8 -0
- package/dist/cjs/payments/payment-registry-code.d.ts.map +1 -0
- package/dist/cjs/payments/payment-registry-code.js +41 -0
- package/dist/cjs/payments/payment-registry-code.js.map +1 -0
- package/dist/cjs/pg-client-code.d.ts +10 -0
- package/dist/cjs/pg-client-code.d.ts.map +1 -1
- package/dist/cjs/pg-client-code.js +27 -1
- package/dist/cjs/pg-client-code.js.map +1 -1
- package/dist/cjs/runtime-storage-generator.d.ts +28 -0
- package/dist/cjs/runtime-storage-generator.d.ts.map +1 -1
- package/dist/cjs/runtime-storage-generator.js +240 -5
- package/dist/cjs/runtime-storage-generator.js.map +1 -1
- package/dist/cjs/secret-collector.d.ts.map +1 -1
- package/dist/cjs/secret-collector.js +8 -3
- package/dist/cjs/secret-collector.js.map +1 -1
- package/dist/cjs/security-scanner.d.ts +10 -1
- package/dist/cjs/security-scanner.d.ts.map +1 -1
- package/dist/cjs/security-scanner.js +19 -1
- package/dist/cjs/security-scanner.js.map +1 -1
- package/dist/cjs/segment-context-needs.d.ts +38 -0
- package/dist/cjs/segment-context-needs.d.ts.map +1 -0
- package/dist/cjs/segment-context-needs.js +129 -0
- package/dist/cjs/segment-context-needs.js.map +1 -0
- package/dist/cjs/segment-splitter.d.ts.map +1 -1
- package/dist/cjs/segment-splitter.js +6 -1
- package/dist/cjs/segment-splitter.js.map +1 -1
- package/dist/cjs/segment-trust.d.ts +50 -0
- package/dist/cjs/segment-trust.d.ts.map +1 -0
- package/dist/cjs/segment-trust.js +115 -0
- package/dist/cjs/segment-trust.js.map +1 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +19 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -1
- package/dist/cjs/sent-email-log/sent-email-log-code.js +1 -24
- package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/cjs/server-runtime-code.d.ts +34 -0
- package/dist/cjs/server-runtime-code.d.ts.map +1 -0
- package/dist/cjs/server-runtime-code.js +303 -0
- package/dist/cjs/server-runtime-code.js.map +1 -0
- package/dist/cjs/session-cookie-resolver.d.ts +3 -78
- package/dist/cjs/session-cookie-resolver.d.ts.map +1 -1
- package/dist/cjs/session-cookie-resolver.js +7 -276
- package/dist/cjs/session-cookie-resolver.js.map +1 -1
- package/dist/cjs/subscriber-access-route-generator.d.ts +71 -0
- package/dist/cjs/subscriber-access-route-generator.d.ts.map +1 -0
- package/dist/cjs/subscriber-access-route-generator.js +301 -0
- package/dist/cjs/subscriber-access-route-generator.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +6 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/webhook-delivery-lease/index.d.ts +8 -0
- package/dist/cjs/webhook-delivery-lease/index.d.ts.map +1 -0
- package/dist/cjs/webhook-delivery-lease/index.js +41 -0
- package/dist/cjs/webhook-delivery-lease/index.js.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js +151 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js +19 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
- package/dist/cjs/webhook-generator.d.ts +1 -1
- package/dist/cjs/webhook-generator.d.ts.map +1 -1
- package/dist/cjs/webhook-generator.js +342 -254
- package/dist/cjs/webhook-generator.js.map +1 -1
- package/dist/cjs/webhook-signature-verification.d.ts +17 -1
- package/dist/cjs/webhook-signature-verification.d.ts.map +1 -1
- package/dist/cjs/webhook-signature-verification.js +182 -27
- package/dist/cjs/webhook-signature-verification.js.map +1 -1
- package/dist/cjs/workflow-auth-generator.d.ts +9 -6
- package/dist/cjs/workflow-auth-generator.d.ts.map +1 -1
- package/dist/cjs/workflow-auth-generator.js +133 -29
- package/dist/cjs/workflow-auth-generator.js.map +1 -1
- package/dist/cjs/workflow-component-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-component-plugin.js +65 -28
- package/dist/cjs/workflow-component-plugin.js.map +1 -1
- package/dist/cjs/workflow-project-plugin.d.ts +13 -0
- package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-project-plugin.js +215 -65
- package/dist/cjs/workflow-project-plugin.js.map +1 -1
- package/dist/esm/admin-form-hydration.d.ts +10 -0
- package/dist/esm/admin-form-hydration.d.ts.map +1 -0
- package/dist/esm/admin-form-hydration.js +21 -0
- package/dist/esm/admin-form-hydration.js.map +1 -0
- package/dist/esm/api-route-generator.d.ts +19 -3
- package/dist/esm/api-route-generator.d.ts.map +1 -1
- package/dist/esm/api-route-generator.js +189 -70
- package/dist/esm/api-route-generator.js.map +1 -1
- package/dist/esm/auth-generator.d.ts +4 -1
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +241 -62
- package/dist/esm/auth-generator.js.map +1 -1
- package/dist/esm/auth-return/signed-in-destination-code.d.ts +17 -0
- package/dist/esm/auth-return/signed-in-destination-code.d.ts.map +1 -0
- package/dist/esm/auth-return/signed-in-destination-code.js +33 -0
- package/dist/esm/auth-return/signed-in-destination-code.js.map +1 -0
- package/dist/esm/cart-pricing-preamble.d.ts +12 -0
- package/dist/esm/cart-pricing-preamble.d.ts.map +1 -0
- package/dist/esm/cart-pricing-preamble.js +19 -0
- package/dist/esm/cart-pricing-preamble.js.map +1 -0
- package/dist/esm/cron-request-verification.d.ts +24 -0
- package/dist/esm/cron-request-verification.d.ts.map +1 -0
- package/dist/esm/cron-request-verification.js +80 -0
- package/dist/esm/cron-request-verification.js.map +1 -0
- package/dist/esm/custom-node-modules.d.ts +30 -0
- package/dist/esm/custom-node-modules.d.ts.map +1 -0
- package/dist/esm/custom-node-modules.js +84 -0
- package/dist/esm/custom-node-modules.js.map +1 -0
- package/dist/esm/data-api-route-generator.d.ts +27 -0
- package/dist/esm/data-api-route-generator.d.ts.map +1 -1
- package/dist/esm/data-api-route-generator.js +365 -28
- package/dist/esm/data-api-route-generator.js.map +1 -1
- package/dist/esm/ecommerce/cart-availability.d.ts.map +1 -1
- package/dist/esm/ecommerce/cart-availability.js +22 -13
- package/dist/esm/ecommerce/cart-availability.js.map +1 -1
- package/dist/esm/ecommerce/stock-decrement.d.ts +2 -1
- package/dist/esm/ecommerce/stock-decrement.d.ts.map +1 -1
- package/dist/esm/ecommerce/stock-decrement.js +6 -0
- package/dist/esm/ecommerce/stock-decrement.js.map +1 -1
- package/dist/esm/executor-generator.d.ts +0 -1
- package/dist/esm/executor-generator.d.ts.map +1 -1
- package/dist/esm/executor-generator.js +212 -18
- package/dist/esm/executor-generator.js.map +1 -1
- package/dist/esm/index.d.ts +12 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/invoice/api-routes-code.d.ts +26 -0
- package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/esm/invoice/api-routes-code.js +421 -390
- package/dist/esm/invoice/api-routes-code.js.map +1 -1
- package/dist/esm/invoice/data-access-code.d.ts.map +1 -1
- package/dist/esm/invoice/data-access-code.js +420 -107
- package/dist/esm/invoice/data-access-code.js.map +1 -1
- package/dist/esm/invoice/index.d.ts.map +1 -1
- package/dist/esm/invoice/index.js +25 -1
- package/dist/esm/invoice/index.js.map +1 -1
- package/dist/esm/invoice/invoice-assembly-code.d.ts +12 -0
- package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -0
- package/dist/esm/invoice/invoice-assembly-code.js +513 -0
- package/dist/esm/invoice/invoice-assembly-code.js.map +1 -0
- package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/esm/invoice/invoice-html-code.js +111 -9
- package/dist/esm/invoice/invoice-html-code.js.map +1 -1
- package/dist/esm/invoice/pdf-service-client-code.d.ts.map +1 -1
- package/dist/esm/invoice/pdf-service-client-code.js +3 -4
- package/dist/esm/invoice/pdf-service-client-code.js.map +1 -1
- package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-login.js +4 -3
- package/dist/esm/nodes/account/account-login.js.map +1 -1
- package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-signup.js +7 -4
- package/dist/esm/nodes/account/account-signup.js.map +1 -1
- package/dist/esm/nodes/ai/ai-select-database-data.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-select-database-data.js +6 -1
- package/dist/esm/nodes/ai/ai-select-database-data.js.map +1 -1
- package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts +9 -0
- package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
- package/dist/esm/nodes/browser/browser-get-push-subscription.js +22 -0
- package/dist/esm/nodes/browser/browser-get-push-subscription.js.map +1 -0
- package/dist/esm/nodes/browser/browser-show-notification.d.ts +10 -0
- package/dist/esm/nodes/browser/browser-show-notification.d.ts.map +1 -1
- package/dist/esm/nodes/browser/browser-show-notification.js +65 -40
- package/dist/esm/nodes/browser/browser-show-notification.js.map +1 -1
- package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
- package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
- package/dist/esm/nodes/browser/browser-subscribe-to-push.js +21 -31
- package/dist/esm/nodes/browser/browser-subscribe-to-push.js.map +1 -1
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js +21 -0
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
- package/dist/esm/nodes/browser/push-api-access.d.ts +12 -0
- package/dist/esm/nodes/browser/push-api-access.d.ts.map +1 -0
- package/dist/esm/nodes/browser/push-api-access.js +13 -0
- package/dist/esm/nodes/browser/push-api-access.js.map +1 -0
- package/dist/esm/nodes/cart/cart-add-item.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-add-item.js +174 -10
- package/dist/esm/nodes/cart/cart-add-item.js.map +1 -1
- package/dist/esm/nodes/cart/cart-clear.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-clear.js +11 -0
- package/dist/esm/nodes/cart/cart-clear.js.map +1 -1
- package/dist/esm/nodes/cart/cart-get-total.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-get-total.js +261 -4
- package/dist/esm/nodes/cart/cart-get-total.js.map +1 -1
- package/dist/esm/nodes/cart/cart-price-order.d.ts +3 -0
- package/dist/esm/nodes/cart/cart-price-order.d.ts.map +1 -0
- package/dist/esm/nodes/cart/cart-price-order.js +278 -0
- package/dist/esm/nodes/cart/cart-price-order.js.map +1 -0
- package/dist/esm/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-update-item-quantity.js +7 -0
- package/dist/esm/nodes/cart/cart-update-item-quantity.js.map +1 -1
- package/dist/esm/nodes/data/data-count.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-count.js +6 -1
- package/dist/esm/nodes/data/data-count.js.map +1 -1
- package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-create-item.js +11 -1
- package/dist/esm/nodes/data/data-create-item.js.map +1 -1
- package/dist/esm/nodes/data/data-delete-item.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-delete-item.js +29 -0
- package/dist/esm/nodes/data/data-delete-item.js.map +1 -1
- package/dist/esm/nodes/data/data-raw-query.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-raw-query.js +6 -1
- package/dist/esm/nodes/data/data-raw-query.js.map +1 -1
- package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-select.js +6 -1
- package/dist/esm/nodes/data/data-select.js.map +1 -1
- package/dist/esm/nodes/data/data-update-item.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-update-item.js +29 -0
- package/dist/esm/nodes/data/data-update-item.js.map +1 -1
- package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
- package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
- package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
- package/dist/esm/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
- package/dist/esm/nodes/file-storage/file-storage-upload.js +7 -0
- package/dist/esm/nodes/file-storage/file-storage-upload.js.map +1 -1
- package/dist/esm/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/esm/nodes/general/general-custom-js.js +21 -5
- package/dist/esm/nodes/general/general-custom-js.js.map +1 -1
- package/dist/esm/nodes/index.d.ts.map +1 -1
- package/dist/esm/nodes/index.js +9 -4
- package/dist/esm/nodes/index.js.map +1 -1
- package/dist/esm/nodes/payment/payment-billing-portal.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-billing-portal.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-billing-portal.js +49 -0
- package/dist/esm/nodes/payment/payment-billing-portal.js.map +1 -0
- package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
- package/dist/esm/nodes/payment/payment-charge-user.js +227 -360
- package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
- package/dist/esm/nodes/payment/payment-close-checkout.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-close-checkout.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-close-checkout.js +138 -0
- package/dist/esm/nodes/payment/payment-close-checkout.js.map +1 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js +64 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.js +86 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.js.map +1 -0
- package/dist/esm/nodes/payment/payment-refund.d.ts.map +1 -1
- package/dist/esm/nodes/payment/payment-refund.js +50 -404
- package/dist/esm/nodes/payment/payment-refund.js.map +1 -1
- package/dist/esm/nodes/push/push-send-notification.d.ts +14 -0
- package/dist/esm/nodes/push/push-send-notification.d.ts.map +1 -0
- package/dist/esm/nodes/push/push-send-notification.js +80 -0
- package/dist/esm/nodes/push/push-send-notification.js.map +1 -0
- package/dist/esm/payments/drivers/coingate-driver-code.d.ts +16 -0
- package/dist/esm/payments/drivers/coingate-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/coingate-driver-code.js +467 -0
- package/dist/esm/payments/drivers/coingate-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/mollie-driver-code.d.ts +16 -0
- package/dist/esm/payments/drivers/mollie-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/mollie-driver-code.js +619 -0
- package/dist/esm/payments/drivers/mollie-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/paddle-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/paddle-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/paddle-driver-code.js +679 -0
- package/dist/esm/payments/drivers/paddle-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/paypal-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/paypal-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/paypal-driver-code.js +1257 -0
- package/dist/esm/payments/drivers/paypal-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.js +728 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/square-driver-code.d.ts +14 -0
- package/dist/esm/payments/drivers/square-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/square-driver-code.js +927 -0
- package/dist/esm/payments/drivers/square-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/stripe-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/stripe-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/stripe-driver-code.js +774 -0
- package/dist/esm/payments/drivers/stripe-driver-code.js.map +1 -0
- package/dist/esm/payments/index.d.ts +66 -0
- package/dist/esm/payments/index.d.ts.map +1 -0
- package/dist/esm/payments/index.js +164 -0
- package/dist/esm/payments/index.js.map +1 -0
- package/dist/esm/payments/payment-core-code.d.ts +19 -0
- package/dist/esm/payments/payment-core-code.d.ts.map +1 -0
- package/dist/esm/payments/payment-core-code.js +418 -0
- package/dist/esm/payments/payment-core-code.js.map +1 -0
- package/dist/esm/payments/payment-driver-code-map.d.ts +4 -0
- package/dist/esm/payments/payment-driver-code-map.d.ts.map +1 -0
- package/dist/esm/payments/payment-driver-code-map.js +18 -0
- package/dist/esm/payments/payment-driver-code-map.js.map +1 -0
- package/dist/esm/payments/payment-drivers-scope.d.ts +35 -0
- package/dist/esm/payments/payment-drivers-scope.d.ts.map +1 -0
- package/dist/esm/payments/payment-drivers-scope.js +51 -0
- package/dist/esm/payments/payment-drivers-scope.js.map +1 -0
- package/dist/esm/payments/payment-registry-code.d.ts +8 -0
- package/dist/esm/payments/payment-registry-code.d.ts.map +1 -0
- package/dist/esm/payments/payment-registry-code.js +37 -0
- package/dist/esm/payments/payment-registry-code.js.map +1 -0
- package/dist/esm/pg-client-code.d.ts +10 -0
- package/dist/esm/pg-client-code.d.ts.map +1 -1
- package/dist/esm/pg-client-code.js +25 -0
- package/dist/esm/pg-client-code.js.map +1 -1
- package/dist/esm/runtime-storage-generator.d.ts +28 -0
- package/dist/esm/runtime-storage-generator.d.ts.map +1 -1
- package/dist/esm/runtime-storage-generator.js +239 -4
- package/dist/esm/runtime-storage-generator.js.map +1 -1
- package/dist/esm/secret-collector.d.ts.map +1 -1
- package/dist/esm/secret-collector.js +8 -3
- package/dist/esm/secret-collector.js.map +1 -1
- package/dist/esm/security-scanner.d.ts +10 -1
- package/dist/esm/security-scanner.d.ts.map +1 -1
- package/dist/esm/security-scanner.js +18 -0
- package/dist/esm/security-scanner.js.map +1 -1
- package/dist/esm/segment-context-needs.d.ts +38 -0
- package/dist/esm/segment-context-needs.d.ts.map +1 -0
- package/dist/esm/segment-context-needs.js +125 -0
- package/dist/esm/segment-context-needs.js.map +1 -0
- package/dist/esm/segment-splitter.d.ts.map +1 -1
- package/dist/esm/segment-splitter.js +6 -1
- package/dist/esm/segment-splitter.js.map +1 -1
- package/dist/esm/segment-trust.d.ts +50 -0
- package/dist/esm/segment-trust.d.ts.map +1 -0
- package/dist/esm/segment-trust.js +111 -0
- package/dist/esm/segment-trust.js.map +1 -0
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts +19 -0
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -1
- package/dist/esm/sent-email-log/sent-email-log-code.js +2 -25
- package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/esm/server-runtime-code.d.ts +34 -0
- package/dist/esm/server-runtime-code.d.ts.map +1 -0
- package/dist/esm/server-runtime-code.js +299 -0
- package/dist/esm/server-runtime-code.js.map +1 -0
- package/dist/esm/session-cookie-resolver.d.ts +3 -78
- package/dist/esm/session-cookie-resolver.d.ts.map +1 -1
- package/dist/esm/session-cookie-resolver.js +7 -274
- package/dist/esm/session-cookie-resolver.js.map +1 -1
- package/dist/esm/subscriber-access-route-generator.d.ts +71 -0
- package/dist/esm/subscriber-access-route-generator.d.ts.map +1 -0
- package/dist/esm/subscriber-access-route-generator.js +292 -0
- package/dist/esm/subscriber-access-route-generator.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +6 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/webhook-delivery-lease/index.d.ts +8 -0
- package/dist/esm/webhook-delivery-lease/index.d.ts.map +1 -0
- package/dist/esm/webhook-delivery-lease/index.js +37 -0
- package/dist/esm/webhook-delivery-lease/index.js.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js +147 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js +16 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
- package/dist/esm/webhook-generator.d.ts +1 -1
- package/dist/esm/webhook-generator.d.ts.map +1 -1
- package/dist/esm/webhook-generator.js +342 -254
- package/dist/esm/webhook-generator.js.map +1 -1
- package/dist/esm/webhook-signature-verification.d.ts +17 -1
- package/dist/esm/webhook-signature-verification.d.ts.map +1 -1
- package/dist/esm/webhook-signature-verification.js +179 -25
- package/dist/esm/webhook-signature-verification.js.map +1 -1
- package/dist/esm/workflow-auth-generator.d.ts +9 -6
- package/dist/esm/workflow-auth-generator.d.ts.map +1 -1
- package/dist/esm/workflow-auth-generator.js +132 -28
- package/dist/esm/workflow-auth-generator.js.map +1 -1
- package/dist/esm/workflow-component-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-component-plugin.js +65 -28
- package/dist/esm/workflow-component-plugin.js.map +1 -1
- package/dist/esm/workflow-project-plugin.d.ts +13 -0
- package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-project-plugin.js +212 -63
- package/dist/esm/workflow-project-plugin.js.map +1 -1
- package/package.json +4 -4
- package/src/admin-form-hydration.ts +28 -0
- package/src/api-route-generator.ts +251 -64
- package/src/auth-generator.ts +273 -53
- package/src/auth-return/signed-in-destination-code.ts +32 -0
- package/src/cart-pricing-preamble.ts +22 -0
- package/src/cron-request-verification.ts +79 -0
- package/src/custom-node-modules.ts +102 -0
- package/src/data-api-route-generator.ts +370 -28
- package/src/ecommerce/cart-availability.ts +22 -13
- package/src/ecommerce/stock-decrement.ts +13 -1
- package/src/executor-generator.ts +212 -19
- package/src/index.ts +28 -7
- package/src/invoice/api-routes-code.ts +424 -391
- package/src/invoice/data-access-code.ts +431 -110
- package/src/invoice/index.ts +31 -1
- package/src/invoice/invoice-assembly-code.ts +514 -0
- package/src/invoice/invoice-html-code.ts +111 -9
- package/src/invoice/pdf-service-client-code.ts +3 -4
- package/src/nodes/account/account-login.ts +4 -3
- package/src/nodes/account/account-signup.ts +7 -4
- package/src/nodes/ai/ai-select-database-data.ts +10 -1
- package/src/nodes/browser/browser-get-push-subscription.ts +23 -0
- package/src/nodes/browser/browser-show-notification.ts +61 -38
- package/src/nodes/browser/browser-subscribe-to-push.ts +26 -36
- package/src/nodes/browser/browser-unsubscribe-from-push.ts +22 -0
- package/src/nodes/browser/push-api-access.ts +20 -0
- package/src/nodes/cart/cart-add-item.ts +200 -9
- package/src/nodes/cart/cart-clear.ts +11 -0
- package/src/nodes/cart/cart-get-total.ts +279 -7
- package/src/nodes/cart/cart-price-order.ts +351 -0
- package/src/nodes/cart/cart-update-item-quantity.ts +7 -0
- package/src/nodes/data/data-count.ts +9 -1
- package/src/nodes/data/data-create-item.ts +15 -1
- package/src/nodes/data/data-delete-item.ts +32 -0
- package/src/nodes/data/data-raw-query.ts +9 -1
- package/src/nodes/data/data-select.ts +9 -1
- package/src/nodes/data/data-update-item.ts +32 -0
- package/src/nodes/ecommerce/ecommerce-generate-invoice.ts +11 -1
- package/src/nodes/file-storage/file-storage-upload.ts +8 -0
- package/src/nodes/general/general-custom-js.ts +21 -5
- package/src/nodes/index.ts +16 -6
- package/src/nodes/payment/payment-billing-portal.ts +51 -0
- package/src/nodes/payment/payment-charge-user.ts +236 -442
- package/src/nodes/payment/payment-close-checkout.ts +137 -0
- package/src/nodes/payment/payment-ensure-subscription-plan.ts +66 -0
- package/src/nodes/payment/payment-manage-subscription.ts +89 -0
- package/src/nodes/payment/payment-refund.ts +52 -467
- package/src/nodes/payment-drivers-global.d.ts +13 -0
- package/src/nodes/push/push-send-notification.ts +83 -0
- package/src/nodes/workflow-utils-global.d.ts +5 -0
- package/src/payments/drivers/coingate-driver-code.ts +466 -0
- package/src/payments/drivers/mollie-driver-code.ts +618 -0
- package/src/payments/drivers/paddle-driver-code.ts +678 -0
- package/src/payments/drivers/paypal-driver-code.ts +1256 -0
- package/src/payments/drivers/razorpay-driver-code.ts +727 -0
- package/src/payments/drivers/square-driver-code.ts +926 -0
- package/src/payments/drivers/stripe-driver-code.ts +773 -0
- package/src/payments/index.ts +204 -0
- package/src/payments/payment-core-code.ts +421 -0
- package/src/payments/payment-driver-code-map.ts +19 -0
- package/src/payments/payment-drivers-scope.ts +66 -0
- package/src/payments/payment-registry-code.ts +38 -0
- package/src/pg-client-code.ts +30 -0
- package/src/runtime-storage-generator.ts +241 -4
- package/src/secret-collector.ts +8 -3
- package/src/security-scanner.ts +22 -0
- package/src/segment-context-needs.ts +148 -0
- package/src/segment-splitter.ts +6 -1
- package/src/segment-trust.ts +170 -0
- package/src/sent-email-log/sent-email-log-code.ts +2 -32
- package/src/server-runtime-code.ts +298 -0
- package/src/session-cookie-resolver.ts +9 -277
- package/src/subscriber-access-route-generator.ts +351 -0
- package/src/types.ts +6 -0
- package/src/webhook-delivery-lease/index.ts +44 -0
- package/src/webhook-delivery-lease/webhook-delivery-lease-code.ts +151 -0
- package/src/webhook-delivery-lease/webhook-delivery-lease-scope.ts +18 -0
- package/src/webhook-generator.ts +359 -260
- package/src/webhook-signature-verification.ts +180 -25
- package/src/workflow-auth-generator.ts +137 -28
- package/src/workflow-component-plugin.ts +77 -20
- package/src/workflow-project-plugin.ts +247 -44
- package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts +0 -3
- package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
- package/dist/cjs/nodes/payment/payment-cancel-plan.js +0 -33
- package/dist/cjs/nodes/payment/payment-cancel-plan.js.map +0 -1
- package/dist/cjs/nodes/payment/payment-create-subscription.d.ts +0 -3
- package/dist/cjs/nodes/payment/payment-create-subscription.d.ts.map +0 -1
- package/dist/cjs/nodes/payment/payment-create-subscription.js +0 -41
- package/dist/cjs/nodes/payment/payment-create-subscription.js.map +0 -1
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js +0 -45
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
- package/dist/esm/nodes/payment/payment-cancel-plan.d.ts +0 -3
- package/dist/esm/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
- package/dist/esm/nodes/payment/payment-cancel-plan.js +0 -30
- package/dist/esm/nodes/payment/payment-cancel-plan.js.map +0 -1
- package/dist/esm/nodes/payment/payment-create-subscription.d.ts +0 -3
- package/dist/esm/nodes/payment/payment-create-subscription.d.ts.map +0 -1
- package/dist/esm/nodes/payment/payment-create-subscription.js +0 -38
- package/dist/esm/nodes/payment/payment-create-subscription.js.map +0 -1
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.js +0 -42
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
- package/src/nodes/payment/payment-cancel-plan.ts +0 -33
- package/src/nodes/payment/payment-create-subscription.ts +0 -42
- package/src/nodes/payment/payment-subscribe-to-plan.ts +0 -46
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveAuthEnvValue = exports.collectOAuthCredentialEnvKeys = exports.NextWorkflowProjectPlugin = exports.stripEventHandlerAttrs = void 0;
|
|
3
|
+
exports.resolveAuthEnvValue = exports.collectOAuthCredentialEnvKeys = exports.NextWorkflowProjectPlugin = exports.stripEventHandlerAttrs = exports.resolveAuthUsersTableName = void 0;
|
|
4
4
|
const teleport_types_1 = require("@teleporthq/teleport-types");
|
|
5
5
|
const teleport_shared_1 = require("@teleporthq/teleport-shared");
|
|
6
6
|
const segment_splitter_1 = require("./segment-splitter");
|
|
7
7
|
const await_result_1 = require("./await-result");
|
|
8
|
+
const segment_context_needs_1 = require("./segment-context-needs");
|
|
9
|
+
const custom_node_modules_1 = require("./custom-node-modules");
|
|
8
10
|
const api_route_generator_1 = require("./api-route-generator");
|
|
9
11
|
const workflow_auth_generator_1 = require("./workflow-auth-generator");
|
|
12
|
+
const subscriber_access_route_generator_1 = require("./subscriber-access-route-generator");
|
|
10
13
|
const secret_collector_1 = require("./secret-collector");
|
|
11
14
|
const graph_utils_1 = require("./graph-utils");
|
|
12
15
|
const nodes_1 = require("./nodes");
|
|
13
16
|
const types_1 = require("./nodes/types");
|
|
14
17
|
const executor_generator_1 = require("./executor-generator");
|
|
18
|
+
const server_runtime_code_1 = require("./server-runtime-code");
|
|
19
|
+
const segment_trust_1 = require("./segment-trust");
|
|
15
20
|
const realtime_generator_1 = require("./realtime-generator");
|
|
16
21
|
const auth_generator_1 = require("./auth-generator");
|
|
17
22
|
const invoice_1 = require("./invoice");
|
|
18
23
|
const sent_email_log_1 = require("./sent-email-log");
|
|
24
|
+
const webhook_delivery_lease_1 = require("./webhook-delivery-lease");
|
|
19
25
|
const email_locale_1 = require("./email-locale");
|
|
20
26
|
const workflow_utils_alias_1 = require("./workflow-utils-alias");
|
|
21
27
|
const webhook_generator_1 = require("./webhook-generator");
|
|
28
|
+
const payments_1 = require("./payments");
|
|
22
29
|
const data_api_route_generator_1 = require("./data-api-route-generator");
|
|
23
30
|
const account_delete_route_generator_1 = require("./account-delete-route-generator");
|
|
24
31
|
const transactional_email_code_1 = require("./transactional-email-code");
|
|
@@ -32,10 +39,13 @@ const raw_sql_param_binding_1 = require("./raw-sql-param-binding");
|
|
|
32
39
|
// password column), then a conventionally-named users table, then the first
|
|
33
40
|
// non-auxiliary table.
|
|
34
41
|
const resolveAuthUsersTableName = (authentication) => {
|
|
35
|
-
if (!(authentication === null || authentication === void 0 ? void 0 : authentication.enabled)
|
|
42
|
+
if (!(authentication === null || authentication === void 0 ? void 0 : authentication.enabled)) {
|
|
36
43
|
return undefined;
|
|
37
44
|
}
|
|
38
|
-
|
|
45
|
+
// No declared tables still means the auth options' own `users` table, which
|
|
46
|
+
// is where the session's role is read from — leaving it unguarded would let
|
|
47
|
+
// a browser write that role.
|
|
48
|
+
const tables = authentication.tables || {};
|
|
39
49
|
const names = Object.keys(tables);
|
|
40
50
|
if (names.length === 0) {
|
|
41
51
|
return 'users';
|
|
@@ -55,6 +65,7 @@ const resolveAuthUsersTableName = (authentication) => {
|
|
|
55
65
|
const nonAux = names.find((n) => !AUX.test(n));
|
|
56
66
|
return nonAux || names[0];
|
|
57
67
|
};
|
|
68
|
+
exports.resolveAuthUsersTableName = resolveAuthUsersTableName;
|
|
58
69
|
// The first node of the given type's config across all workflows + custom nodes
|
|
59
70
|
// (there is one per project in practice — e.g. the profile page's delete
|
|
60
71
|
// workflow, or the sign-up workflow). Used to bake a node's email
|
|
@@ -205,6 +216,19 @@ class NextWorkflowProjectPlugin {
|
|
|
205
216
|
}
|
|
206
217
|
}
|
|
207
218
|
}
|
|
219
|
+
// Every app with server routes carries an app secret, with authentication
|
|
220
|
+
// or without: it keys the signatures on server results relayed between
|
|
221
|
+
// workflow steps and the internal-call token, and it is the credential
|
|
222
|
+
// server code presents to its own data, invoice and notification routes.
|
|
223
|
+
// Keyed from '' those are values anyone can compute, so the runtime
|
|
224
|
+
// refuses them all without one. The deploy worker replaces this default
|
|
225
|
+
// with the project's own secret.
|
|
226
|
+
if (uidl.globals && hasServerRoutes(uidl)) {
|
|
227
|
+
uidl.globals.env = uidl.globals.env || {};
|
|
228
|
+
if (!uidl.globals.env.NEXTAUTH_SECRET) {
|
|
229
|
+
uidl.globals.env.NEXTAUTH_SECRET = randomSecretHex();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
208
232
|
if ((_c = uidl.globals) === null || _c === void 0 ? void 0 : _c.env) {
|
|
209
233
|
const oauthCredentialKeys = collectOAuthCredentialEnvKeys(uidl.authentication);
|
|
210
234
|
for (const key of Object.keys(uidl.globals.env)) {
|
|
@@ -221,7 +245,7 @@ class NextWorkflowProjectPlugin {
|
|
|
221
245
|
return structure;
|
|
222
246
|
}
|
|
223
247
|
async runAfter(structure) {
|
|
224
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
248
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
225
249
|
const { uidl, files, dependencies } = structure;
|
|
226
250
|
const hasAuthentication = uidl.authentication && uidl.authentication.enabled;
|
|
227
251
|
if (hasAuthentication) {
|
|
@@ -248,6 +272,7 @@ class NextWorkflowProjectPlugin {
|
|
|
248
272
|
uidl.globals.env.RUNTIME_STORAGE_PROJECT_ID = '';
|
|
249
273
|
}
|
|
250
274
|
}
|
|
275
|
+
(0, payments_1.ensurePaymentDriversModule)(structure, (0, payments_1.resolveStorePaymentDriverIds)(uidl, []));
|
|
251
276
|
(0, webhook_generator_1.generateWebhookFiles)(structure, uidl.invoiceSettings);
|
|
252
277
|
if (hasAuthentication) {
|
|
253
278
|
this.injectSessionProviderIntoApp(structure);
|
|
@@ -262,6 +287,9 @@ class NextWorkflowProjectPlugin {
|
|
|
262
287
|
if ((0, sent_email_log_1.hasEmailSendingNodeType)(usedNodeTypes)) {
|
|
263
288
|
(0, sent_email_log_1.ensureSentEmailLogModule)(structure);
|
|
264
289
|
}
|
|
290
|
+
// Routes that run a payment node or verify a payment webhook require the
|
|
291
|
+
// store's payment drivers (see generatePaymentDriversPreamble).
|
|
292
|
+
(0, payments_1.ensurePaymentDriversModule)(structure, (0, payments_1.resolveStorePaymentDriverIds)(uidl, usedNodeTypes));
|
|
265
293
|
files.set('workflow-runtime-utils', {
|
|
266
294
|
path: ['utils', 'workflows'],
|
|
267
295
|
files: [
|
|
@@ -299,7 +327,7 @@ class NextWorkflowProjectPlugin {
|
|
|
299
327
|
}
|
|
300
328
|
// Set true the moment we emit ANY route that bakes an auth policy, so the
|
|
301
329
|
// shared guard file is emitted iff at least one route actually imports it.
|
|
302
|
-
const routeHasPolicy = (p) => !!p && (p.requiresAuth || p.userScoped);
|
|
330
|
+
const routeHasPolicy = (p) => !!p && (p.requiresAuth || p.userScoped || p.serverOnly);
|
|
303
331
|
let anyGuardedRouteEmitted = false;
|
|
304
332
|
// Build server segment info for custom nodes so they can call server-side API routes
|
|
305
333
|
const customNodeServerUrls = {};
|
|
@@ -314,14 +342,21 @@ class NextWorkflowProjectPlugin {
|
|
|
314
342
|
const cnServerSegments = cnSegments.filter((s) => s.env === 'server');
|
|
315
343
|
if (cnServerSegments.length > 0) {
|
|
316
344
|
customNodeServerUrls[cnId] = {};
|
|
345
|
+
// The same list, in the same order, the custom node's runner hands its
|
|
346
|
+
// inner custom-js nodes as `params`.
|
|
347
|
+
const cnGraph = { nodes: cn.nodes || [], edges: cn.edges || [], segments: cnSegments };
|
|
317
348
|
for (const seg of cnServerSegments) {
|
|
349
|
+
const routeOptions = {
|
|
350
|
+
customNodeIds: (cn.nodes || []).map((n) => n.id),
|
|
351
|
+
trust: (0, segment_trust_1.buildSegmentTrust)(seg, cnGraph),
|
|
352
|
+
};
|
|
318
353
|
const isStreaming = (0, api_route_generator_1.hasStreamingAINode)(seg);
|
|
319
354
|
if (routeHasPolicy(cn.protection)) {
|
|
320
355
|
anyGuardedRouteEmitted = true;
|
|
321
356
|
}
|
|
322
357
|
const apiContent = isStreaming
|
|
323
|
-
? (0, api_route_generator_1.generateStreamingServerSegmentAPIRoute)(seg, cn.name || cnId, cn.protection)
|
|
324
|
-
: (0, api_route_generator_1.generateServerSegmentAPIRoute)(seg, cn.name || cnId, cn.protection);
|
|
358
|
+
? (0, api_route_generator_1.generateStreamingServerSegmentAPIRoute)(seg, cn.name || cnId, cn.protection, routeOptions)
|
|
359
|
+
: (0, api_route_generator_1.generateServerSegmentAPIRoute)(seg, cn.name || cnId, cn.protection, routeOptions);
|
|
325
360
|
const fileName = (0, api_route_generator_1.getAPIRouteFileName)(cnId, seg.id, cn.name || cnId);
|
|
326
361
|
customNodeServerUrls[cnId][seg.id] = `/api/workflows/${fileName}`;
|
|
327
362
|
files.set(`workflow-api-cn-${cnId}-${seg.id}`, {
|
|
@@ -337,7 +372,14 @@ class NextWorkflowProjectPlugin {
|
|
|
337
372
|
}
|
|
338
373
|
}
|
|
339
374
|
}
|
|
340
|
-
|
|
375
|
+
// Nodes only the admin pages call get their own module, which only the
|
|
376
|
+
// pages that call them import (see custom-node-modules.ts).
|
|
377
|
+
const adminModuleIds = (0, custom_node_modules_1.collectAdminModuleCustomNodeIds)(customNodes);
|
|
378
|
+
const customNodeCode = adminModuleIds.size > 0
|
|
379
|
+
? this.generateCustomNodesFile(customNodes, customNodeServerUrls, {
|
|
380
|
+
exclude: adminModuleIds,
|
|
381
|
+
})
|
|
382
|
+
: this.generateCustomNodesFile(customNodes, customNodeServerUrls);
|
|
341
383
|
files.set('workflow-custom-nodes', {
|
|
342
384
|
path: ['utils', 'workflows'],
|
|
343
385
|
files: [
|
|
@@ -348,6 +390,20 @@ class NextWorkflowProjectPlugin {
|
|
|
348
390
|
},
|
|
349
391
|
],
|
|
350
392
|
});
|
|
393
|
+
if (adminModuleIds.size > 0) {
|
|
394
|
+
files.set('workflow-custom-nodes-admin', {
|
|
395
|
+
path: ['utils', 'workflows'],
|
|
396
|
+
files: [
|
|
397
|
+
{
|
|
398
|
+
name: custom_node_modules_1.ADMIN_CUSTOM_NODES_MODULE,
|
|
399
|
+
fileType: teleport_types_1.FileType.JS,
|
|
400
|
+
content: this.generateCustomNodesFile(customNodes, customNodeServerUrls, {
|
|
401
|
+
only: adminModuleIds,
|
|
402
|
+
}),
|
|
403
|
+
},
|
|
404
|
+
],
|
|
405
|
+
});
|
|
406
|
+
}
|
|
351
407
|
}
|
|
352
408
|
let hasServerSegments = Object.keys(customNodeServerUrls).length > 0;
|
|
353
409
|
// Track which payment providers are already handled by a workflow-driven
|
|
@@ -356,6 +412,18 @@ class NextWorkflowProjectPlugin {
|
|
|
356
412
|
const webhookProvidersOwnedByWorkflows = new Set();
|
|
357
413
|
for (const workflow of Object.values(allWorkflows)) {
|
|
358
414
|
if (workflow.trigger.type === 'event-cron-triggered') {
|
|
415
|
+
// A cron route runs its whole graph on the server through the same
|
|
416
|
+
// runtime and handler file a server segment uses, so an app whose only
|
|
417
|
+
// server work is a cron still needs them.
|
|
418
|
+
hasServerSegments = true;
|
|
419
|
+
// The route refuses every request not signed with this key; the deploy
|
|
420
|
+
// fills it in (see cron-request-verification.ts).
|
|
421
|
+
if (!uidl.globals.env) {
|
|
422
|
+
uidl.globals.env = {};
|
|
423
|
+
}
|
|
424
|
+
if (!uidl.globals.env.TELEPORT_CRON_SECRET) {
|
|
425
|
+
uidl.globals.env.TELEPORT_CRON_SECRET = '';
|
|
426
|
+
}
|
|
359
427
|
const cronContent = (0, api_route_generator_1.generateCronAPIRoute)(workflow, customNodes);
|
|
360
428
|
const cronFileName = (0, api_route_generator_1.getCronRouteFileName)(workflow);
|
|
361
429
|
files.set(`workflow-cron-${workflow.id}`, {
|
|
@@ -385,18 +453,15 @@ class NextWorkflowProjectPlugin {
|
|
|
385
453
|
},
|
|
386
454
|
],
|
|
387
455
|
});
|
|
388
|
-
//
|
|
389
|
-
//
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
const urlPath = (workflow.webhookConfig.urlPath || '').toLowerCase();
|
|
394
|
-
const sigAlgorithm = (workflow.webhookConfig.signatureAlgorithm || '').toLowerCase();
|
|
395
|
-
if (urlPath.includes('stripe') || sigAlgorithm.includes('stripe')) {
|
|
396
|
-
webhookProvidersOwnedByWorkflows.add('stripe');
|
|
456
|
+
// The provider this webhook handles, so the legacy hard-coded emission
|
|
457
|
+
// (webhook-generator.ts) is skipped for it.
|
|
458
|
+
const ownedProvider = (0, payments_1.readWebhookPaymentProvider)(workflow.webhookConfig);
|
|
459
|
+
if (ownedProvider) {
|
|
460
|
+
webhookProvidersOwnedByWorkflows.add(ownedProvider);
|
|
397
461
|
}
|
|
398
|
-
|
|
399
|
-
|
|
462
|
+
// A payment webhook runs one delivery at a time; its route requires the lease.
|
|
463
|
+
if ((0, payments_1.isPaymentWebhookConfig)(workflow.webhookConfig)) {
|
|
464
|
+
(0, webhook_delivery_lease_1.ensureWebhookDeliveryLeaseModule)(structure);
|
|
400
465
|
}
|
|
401
466
|
// signatureSecret may arrive as either a bare env-var-name string or a
|
|
402
467
|
// DynamicNode {type:'dynamic', content:{referenceType:'secret', id:'NAME'}}.
|
|
@@ -430,15 +495,17 @@ class NextWorkflowProjectPlugin {
|
|
|
430
495
|
}
|
|
431
496
|
const segments = (0, segment_splitter_1.splitIntoSegments)(workflow);
|
|
432
497
|
const serverSegments = segments.filter((s) => s.env === 'server');
|
|
498
|
+
const workflowGraph = { nodes: workflow.nodes || [], edges: workflow.edges || [], segments };
|
|
433
499
|
for (const serverSeg of serverSegments) {
|
|
434
500
|
hasServerSegments = true;
|
|
435
501
|
const isStreaming = (0, api_route_generator_1.hasStreamingAINode)(serverSeg);
|
|
436
502
|
if (routeHasPolicy(workflow.protection)) {
|
|
437
503
|
anyGuardedRouteEmitted = true;
|
|
438
504
|
}
|
|
505
|
+
const routeOptions = { trust: (0, segment_trust_1.buildSegmentTrust)(serverSeg, workflowGraph) };
|
|
439
506
|
const apiContent = isStreaming
|
|
440
|
-
? (0, api_route_generator_1.generateStreamingServerSegmentAPIRoute)(serverSeg, workflow.name, workflow.protection)
|
|
441
|
-
: (0, api_route_generator_1.generateServerSegmentAPIRoute)(serverSeg, workflow.name, workflow.protection);
|
|
507
|
+
? (0, api_route_generator_1.generateStreamingServerSegmentAPIRoute)(serverSeg, workflow.name, workflow.protection, routeOptions)
|
|
508
|
+
: (0, api_route_generator_1.generateServerSegmentAPIRoute)(serverSeg, workflow.name, workflow.protection, routeOptions);
|
|
442
509
|
const fileName = (0, api_route_generator_1.getAPIRouteFileName)(workflow.id, serverSeg.id, workflow.name);
|
|
443
510
|
files.set(`workflow-api-${workflow.id}-${serverSeg.id}`, {
|
|
444
511
|
path: ['pages', 'api', 'workflows'],
|
|
@@ -459,7 +526,7 @@ class NextWorkflowProjectPlugin {
|
|
|
459
526
|
{
|
|
460
527
|
name: 'server-runtime',
|
|
461
528
|
fileType: teleport_types_1.FileType.JS,
|
|
462
|
-
content: (0,
|
|
529
|
+
content: (0, server_runtime_code_1.generateServerRuntimeCode)(),
|
|
463
530
|
},
|
|
464
531
|
],
|
|
465
532
|
});
|
|
@@ -474,7 +541,10 @@ class NextWorkflowProjectPlugin {
|
|
|
474
541
|
{
|
|
475
542
|
name: 'workflow-auth',
|
|
476
543
|
fileType: teleport_types_1.FileType.JS,
|
|
477
|
-
content: (0, workflow_auth_generator_1.generateWorkflowAuthHelperFile)(
|
|
544
|
+
content: (0, workflow_auth_generator_1.generateWorkflowAuthHelperFile)({
|
|
545
|
+
withSubscriberAccess: ((_b = uidl.authentication) === null || _b === void 0 ? void 0 : _b.enabled) === true &&
|
|
546
|
+
(0, subscriber_access_route_generator_1.hasSubscriberOnlyPages)(uidl.authentication),
|
|
547
|
+
}),
|
|
478
548
|
},
|
|
479
549
|
],
|
|
480
550
|
});
|
|
@@ -500,7 +570,7 @@ class NextWorkflowProjectPlugin {
|
|
|
500
570
|
// `password_reset_tokens`, the real `users` table is left mutable
|
|
501
571
|
// unauthenticated. The identity table is the one storing credentials
|
|
502
572
|
// (an email/login column AND a password column).
|
|
503
|
-
const authUsersTableName = resolveAuthUsersTableName(uidl.authentication);
|
|
573
|
+
const authUsersTableName = (0, exports.resolveAuthUsersTableName)(uidl.authentication);
|
|
504
574
|
// Low-stock auto-fire: the data-api wakes up the
|
|
505
575
|
// /api/ecommerce/low-stock-alert endpoint on the place-order
|
|
506
576
|
// workflow's stock-check SELECT. Both flags are sourced from
|
|
@@ -510,9 +580,9 @@ class NextWorkflowProjectPlugin {
|
|
|
510
580
|
const ecom = uidl.ecommerceSettings;
|
|
511
581
|
const lowStockAlertsEnabled = !!(ecom &&
|
|
512
582
|
ecom.stockManagement &&
|
|
513
|
-
((
|
|
514
|
-
((
|
|
515
|
-
const lowStockThreshold = typeof ((
|
|
583
|
+
((_c = ecom.stockManagementConfig) === null || _c === void 0 ? void 0 : _c.lowStockAlerts) &&
|
|
584
|
+
((_e = (_d = ecom.stockManagementConfig) === null || _d === void 0 ? void 0 : _d.lowStockAlertConfig) === null || _e === void 0 ? void 0 : _e.provider));
|
|
585
|
+
const lowStockThreshold = typeof ((_f = ecom === null || ecom === void 0 ? void 0 : ecom.stockManagementConfig) === null || _f === void 0 ? void 0 : _f.lowStockThreshold) === 'number'
|
|
516
586
|
? ecom.stockManagementConfig.lowStockThreshold
|
|
517
587
|
: 5;
|
|
518
588
|
files.set('workflow-data-api-route', {
|
|
@@ -535,7 +605,7 @@ class NextWorkflowProjectPlugin {
|
|
|
535
605
|
// farewell email's provider/sender/body are baked from the node config (the
|
|
536
606
|
// credential is read from env at runtime; its placeholder is registered by the
|
|
537
607
|
// generic secret-reference walk above).
|
|
538
|
-
if (((
|
|
608
|
+
if (((_g = uidl.authentication) === null || _g === void 0 ? void 0 : _g.enabled) && usedNodeTypes.has('account-delete-current')) {
|
|
539
609
|
const deleteConfig = findWorkflowNodeConfigByType(uidl.workflows, 'account-delete-current') || {};
|
|
540
610
|
const providerNodeType = typeof deleteConfig.emailProvider === 'string' ? deleteConfig.emailProvider : '';
|
|
541
611
|
const emailProvider = providerNodeType.startsWith('email-')
|
|
@@ -550,7 +620,7 @@ class NextWorkflowProjectPlugin {
|
|
|
550
620
|
name: 'delete-current',
|
|
551
621
|
fileType: teleport_types_1.FileType.JS,
|
|
552
622
|
content: (0, account_delete_route_generator_1.generateAccountDeleteRoute)({
|
|
553
|
-
authUsersTableName: resolveAuthUsersTableName(uidl.authentication),
|
|
623
|
+
authUsersTableName: (0, exports.resolveAuthUsersTableName)(uidl.authentication),
|
|
554
624
|
emailProvider,
|
|
555
625
|
fromEmail: typeof deleteConfig.from === 'string' ? deleteConfig.from : '',
|
|
556
626
|
emailSecretEnvName,
|
|
@@ -595,7 +665,7 @@ class NextWorkflowProjectPlugin {
|
|
|
595
665
|
// the rendered PDF directly via uploadInvoicePdfToRuntimeStorage). The
|
|
596
666
|
// invoice path does NOT add a file-storage-upload node to the UIDL, so it
|
|
597
667
|
// would otherwise be missed by needsRuntimeStorageRoute.
|
|
598
|
-
const needsRuntimeStorageEnv = (0, runtime_storage_generator_1.needsRuntimeStorageRoute)(usedNodeTypes) || Boolean((
|
|
668
|
+
const needsRuntimeStorageEnv = (0, runtime_storage_generator_1.needsRuntimeStorageRoute)(usedNodeTypes) || Boolean((_h = uidl.invoiceSettings) === null || _h === void 0 ? void 0 : _h.enabled);
|
|
599
669
|
if (needsRuntimeStorageEnv) {
|
|
600
670
|
if (!uidl.globals.env) {
|
|
601
671
|
uidl.globals.env = {};
|
|
@@ -685,7 +755,7 @@ class NextWorkflowProjectPlugin {
|
|
|
685
755
|
wf.trigger.type !== 'event-cron-triggered' &&
|
|
686
756
|
wf.trigger.type !== 'event-webhook-received');
|
|
687
757
|
if (globalWorkflows.length > 0) {
|
|
688
|
-
const globalWorkflowCode = this.generateGlobalWorkflowsHook(globalWorkflows);
|
|
758
|
+
const globalWorkflowCode = this.generateGlobalWorkflowsHook(globalWorkflows, customNodes);
|
|
689
759
|
files.set('workflow-global-hook', {
|
|
690
760
|
path: ['utils', 'workflows'],
|
|
691
761
|
files: [
|
|
@@ -703,7 +773,7 @@ class NextWorkflowProjectPlugin {
|
|
|
703
773
|
if ((0, graph_utils_1.projectUsesRealtime)(uidl.workflows)) {
|
|
704
774
|
this.generateRealtimeFiles(structure);
|
|
705
775
|
}
|
|
706
|
-
if ((
|
|
776
|
+
if ((_j = uidl.invoiceSettings) === null || _j === void 0 ? void 0 : _j.enabled) {
|
|
707
777
|
const { dataSourceType, dataSourceConfig } = (0, invoice_1.resolveInvoiceDataSource)(structure);
|
|
708
778
|
(0, invoice_1.generateInvoiceFiles)(uidl.invoiceSettings, structure, dataSourceType, dataSourceConfig);
|
|
709
779
|
}
|
|
@@ -1061,9 +1131,18 @@ ${entries}
|
|
|
1061
1131
|
}
|
|
1062
1132
|
return map;
|
|
1063
1133
|
}
|
|
1064
|
-
|
|
1134
|
+
/**
|
|
1135
|
+
* `emit.only`: the nodes of `custom-nodes-admin.js`, whose registry starts
|
|
1136
|
+
* from the shared module's so their nested calls still resolve.
|
|
1137
|
+
* `emit.exclude`: the nodes left out of the shared module. Every node is
|
|
1138
|
+
* emitted when `emit` is absent. `customNodes` is always the full set, so
|
|
1139
|
+
* nested lookups (segment state keys) see every node.
|
|
1140
|
+
*/
|
|
1141
|
+
generateCustomNodesFile(customNodes, customNodeServerUrls, emit) {
|
|
1065
1142
|
const functions = [];
|
|
1066
|
-
|
|
1143
|
+
const emitted = Object.keys(customNodes).filter((id) => (!(emit === null || emit === void 0 ? void 0 : emit.only) || emit.only.has(id)) && !((emit === null || emit === void 0 ? void 0 : emit.exclude) && emit.exclude.has(id)));
|
|
1144
|
+
for (const id of emitted) {
|
|
1145
|
+
const cn = customNodes[id];
|
|
1067
1146
|
const safeId = id.replace(/[^a-zA-Z0-9]/g, '_');
|
|
1068
1147
|
// SECURITY: the custom-nodes file ships to the browser (imported as
|
|
1069
1148
|
// `utils/workflows/custom-nodes`). Redact each server node's config down
|
|
@@ -1097,29 +1176,25 @@ ${entries}
|
|
|
1097
1176
|
trigger: { type: 'manual' },
|
|
1098
1177
|
};
|
|
1099
1178
|
const cnSegments = (0, segment_splitter_1.splitIntoSegments)(pseudoWorkflow);
|
|
1100
|
-
const segmentsJson = JSON.stringify(cnSegments.map((s) => ({
|
|
1101
|
-
id: s.id,
|
|
1102
|
-
env: s.env,
|
|
1103
|
-
hasStreamingAI: (0, api_route_generator_1.hasStreamingAINode)(s),
|
|
1179
|
+
const segmentsJson = JSON.stringify(cnSegments.map((s) => (Object.assign(Object.assign({ id: s.id, env: s.env, hasStreamingAI: (0, api_route_generator_1.hasStreamingAINode)(s),
|
|
1104
1180
|
// Every node in this segment runs fire-and-forget — dispatch it and
|
|
1105
1181
|
// carry on instead of waiting for the database round trip.
|
|
1106
|
-
fireAndForget: (0, await_result_1.isFireAndForgetSegment)(s),
|
|
1107
|
-
|
|
1182
|
+
fireAndForget: (0, await_result_1.isFireAndForgetSegment)(s) }, (s.env === 'server'
|
|
1183
|
+
? { stateKeys: (0, segment_context_needs_1.collectSegmentStateKeys)(s.nodes, customNodes) }
|
|
1184
|
+
: {})), { nodes: s.nodes.map((n) => ({
|
|
1108
1185
|
id: n.id,
|
|
1109
1186
|
type: n.type,
|
|
1110
1187
|
config: (0, segment_splitter_1.redactServerNodeConfig)(n.config, s.env, n.type),
|
|
1111
1188
|
stepNumber: n.stepNumber,
|
|
1112
1189
|
label: n.label,
|
|
1113
|
-
})),
|
|
1114
|
-
edges: s.edges.map((e) => ({
|
|
1190
|
+
})), edges: s.edges.map((e) => ({
|
|
1115
1191
|
id: e.id,
|
|
1116
1192
|
source: e.source,
|
|
1117
1193
|
target: e.target,
|
|
1118
1194
|
sourceHandle: e.sourceHandle,
|
|
1119
1195
|
targetHandle: e.targetHandle,
|
|
1120
1196
|
data: e.data,
|
|
1121
|
-
}))
|
|
1122
|
-
})));
|
|
1197
|
+
})) }))));
|
|
1123
1198
|
const serverUrlsJson = JSON.stringify(serverUrls);
|
|
1124
1199
|
functions.push(`
|
|
1125
1200
|
// Custom workflow node: ${cn.name || id}
|
|
@@ -1201,7 +1276,7 @@ async function customNode_${safeId}(outerContext, parameters, nodeHandlers) {
|
|
|
1201
1276
|
// already moved past this point.
|
|
1202
1277
|
__utils.registerPendingNodePromise(
|
|
1203
1278
|
context,
|
|
1204
|
-
__runtime.callServerSegment(segUrl, context).catch(function(__ffErr) {
|
|
1279
|
+
__runtime.callServerSegment(segUrl, context, seg.stateKeys).catch(function(__ffErr) {
|
|
1205
1280
|
console.error('[workflow] Segment "' + seg.id + '" failed (not awaited):', __ffErr);
|
|
1206
1281
|
})
|
|
1207
1282
|
);
|
|
@@ -1215,10 +1290,10 @@ async function customNode_${safeId}(outerContext, parameters, nodeHandlers) {
|
|
|
1215
1290
|
continue;
|
|
1216
1291
|
}
|
|
1217
1292
|
if (seg.hasStreamingAI) {
|
|
1218
|
-
var streamHandled = await __runtime.callStreamingServerSegment(segUrl, context, streamingInfo, nodes, edges, nodeHandlers, wfConfig, executionId);
|
|
1293
|
+
var streamHandled = await __runtime.callStreamingServerSegment(segUrl, context, streamingInfo, nodes, edges, nodeHandlers, wfConfig, executionId, seg.stateKeys);
|
|
1219
1294
|
Object.assign(handledNodeIds, streamHandled);
|
|
1220
1295
|
} else {
|
|
1221
|
-
var serverResults = await __runtime.callServerSegment(segUrl, context);
|
|
1296
|
+
var serverResults = await __runtime.callServerSegment(segUrl, context, seg.stateKeys);
|
|
1222
1297
|
__runtime.mergeServerResults(context, serverResults);
|
|
1223
1298
|
// Propagate non-taken if-statement branches from this server
|
|
1224
1299
|
// segment into subsequent segments. Iterate every if-statement
|
|
@@ -1356,15 +1431,20 @@ async function customNode_${safeId}(outerContext, parameters, nodeHandlers) {
|
|
|
1356
1431
|
}`);
|
|
1357
1432
|
}
|
|
1358
1433
|
}
|
|
1359
|
-
const hasAnyServerSegments = Object.keys(customNodeServerUrls).length > 0;
|
|
1360
|
-
const registryEntries =
|
|
1434
|
+
const hasAnyServerSegments = emitted.some((id) => !!customNodeServerUrls[id] && Object.keys(customNodeServerUrls[id]).length > 0);
|
|
1435
|
+
const registryEntries = emitted
|
|
1361
1436
|
.map((id) => `__customNodeRegistry['${id}'] = customNode_${id.replace(/[^a-zA-Z0-9]/g, '_')};`)
|
|
1362
1437
|
.join('\n');
|
|
1438
|
+
const registryStart = (emit === null || emit === void 0 ? void 0 : emit.only)
|
|
1439
|
+
? `// Loaded only by the pages that call these nodes. The registry starts from
|
|
1440
|
+
// the shared module's, so a nested call to a shared node still resolves.
|
|
1441
|
+
var __customNodeRegistry = Object.assign({}, require('./custom-nodes'));`
|
|
1442
|
+
: 'var __customNodeRegistry = {};';
|
|
1363
1443
|
return `// Auto-generated custom workflow nodes
|
|
1364
1444
|
var __utils = require('./runtime-utils');
|
|
1365
1445
|
${hasAnyServerSegments ? "var __runtime = require('./runtime');" : ''}
|
|
1366
1446
|
|
|
1367
|
-
|
|
1447
|
+
${registryStart}
|
|
1368
1448
|
${functions.join('\n')}
|
|
1369
1449
|
|
|
1370
1450
|
${registryEntries}
|
|
@@ -1476,10 +1556,40 @@ module.exports = __customNodeRegistry;
|
|
|
1476
1556
|
},
|
|
1477
1557
|
],
|
|
1478
1558
|
});
|
|
1559
|
+
// Subscriber-only pages: the entitlement query the middleware asks for
|
|
1560
|
+
// through pages/api/auth/subscriber-access.js, and that the workflow-route
|
|
1561
|
+
// guard requires directly. Emitted only when a page actually needs it.
|
|
1562
|
+
if ((0, subscriber_access_route_generator_1.hasSubscriberOnlyPages)(auth)) {
|
|
1563
|
+
files.set('auth-subscriber-access-helper', {
|
|
1564
|
+
path: ['utils', 'auth'],
|
|
1565
|
+
files: [
|
|
1566
|
+
{
|
|
1567
|
+
name: 'subscriber-access',
|
|
1568
|
+
fileType: teleport_types_1.FileType.JS,
|
|
1569
|
+
content: (0, subscriber_access_route_generator_1.generateSubscriberAccessHelperModule)({
|
|
1570
|
+
productDetails: (0, subscriber_access_route_generator_1.resolveProductDetailsRoute)(uidl),
|
|
1571
|
+
productPages: (0, subscriber_access_route_generator_1.resolveCustomProductPageRoutes)(uidl),
|
|
1572
|
+
}),
|
|
1573
|
+
},
|
|
1574
|
+
],
|
|
1575
|
+
});
|
|
1576
|
+
files.set('auth-subscriber-access-route', {
|
|
1577
|
+
path: ['pages', 'api', 'auth'],
|
|
1578
|
+
files: [
|
|
1579
|
+
{
|
|
1580
|
+
name: 'subscriber-access',
|
|
1581
|
+
fileType: teleport_types_1.FileType.JS,
|
|
1582
|
+
content: (0, subscriber_access_route_generator_1.generateSubscriberAccessRoute)(),
|
|
1583
|
+
},
|
|
1584
|
+
],
|
|
1585
|
+
});
|
|
1586
|
+
}
|
|
1479
1587
|
const hasProtectedRoutes = (auth.pageProtection && Object.keys(auth.pageProtection).length > 0) ||
|
|
1480
1588
|
(auth.folderProtection && Object.keys(auth.folderProtection).length > 0);
|
|
1481
1589
|
if (hasProtectedRoutes) {
|
|
1482
|
-
const middlewareCode = (0, auth_generator_1.generateMiddlewareFile)(auth
|
|
1590
|
+
const middlewareCode = (0, auth_generator_1.generateMiddlewareFile)(auth, {
|
|
1591
|
+
subscriptionFallbackRoute: (0, subscriber_access_route_generator_1.resolveSubscriptionFallbackRoute)(uidl),
|
|
1592
|
+
});
|
|
1483
1593
|
files.set('auth-middleware', {
|
|
1484
1594
|
path: [],
|
|
1485
1595
|
files: [
|
|
@@ -1596,7 +1706,7 @@ module.exports = __customNodeRegistry;
|
|
|
1596
1706
|
}
|
|
1597
1707
|
appFile.content = content;
|
|
1598
1708
|
}
|
|
1599
|
-
generateGlobalWorkflowsHook(workflows) {
|
|
1709
|
+
generateGlobalWorkflowsHook(workflows, customNodes) {
|
|
1600
1710
|
const registrations = [];
|
|
1601
1711
|
const handlerTypes = new Set();
|
|
1602
1712
|
for (const wf of workflows) {
|
|
@@ -1697,7 +1807,7 @@ module.exports = __customNodeRegistry;
|
|
|
1697
1807
|
// handler as a bare sibling statement inside `useGlobalWorkflows()`. Two
|
|
1698
1808
|
// DIFFERENT node types are minified independently (each in its own
|
|
1699
1809
|
// source file), so their real declared names can coincidentally collide —
|
|
1700
|
-
// e.g. state-update-local-state and payment-
|
|
1810
|
+
// e.g. state-update-local-state and payment-refund can both
|
|
1701
1811
|
// legitimately mangle down to the same short name. Declared as siblings
|
|
1702
1812
|
// in one shared function body, the second declaration would silently
|
|
1703
1813
|
// shadow the first, so BOTH map entries end up pointing at the SAME
|
|
@@ -1744,18 +1854,14 @@ ${workflows
|
|
|
1744
1854
|
return ` const executeWorkflow_${safeId} = async function(triggerContext) {
|
|
1745
1855
|
const wfConfig = {
|
|
1746
1856
|
triggerNodeId: '${wf.trigger.nodeId}',
|
|
1747
|
-
segments: ${JSON.stringify(segments.map((s) => ({
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
hasStreamingAI: (0, api_route_generator_1.hasStreamingAINode)(s),
|
|
1751
|
-
nodes: s.nodes.map((n) => ({
|
|
1857
|
+
segments: ${JSON.stringify(segments.map((s) => (Object.assign(Object.assign({ id: s.id, env: s.env, hasStreamingAI: (0, api_route_generator_1.hasStreamingAINode)(s) }, (s.env === 'server'
|
|
1858
|
+
? { stateKeys: (0, segment_context_needs_1.collectSegmentStateKeys)(s.nodes, customNodes) }
|
|
1859
|
+
: {})), { nodes: s.nodes.map((n) => ({
|
|
1752
1860
|
id: n.id,
|
|
1753
1861
|
type: n.type,
|
|
1754
1862
|
config: n.config,
|
|
1755
1863
|
stepNumber: n.stepNumber,
|
|
1756
|
-
})),
|
|
1757
|
-
edges: s.edges,
|
|
1758
|
-
})))},
|
|
1864
|
+
})), edges: s.edges }))))},
|
|
1759
1865
|
${wf.errorHandler ? `errorHandlerNodeId: '${wf.errorHandler.nodeId}',` : ''}
|
|
1760
1866
|
nodes: ${JSON.stringify(wf.nodes.map((n) => ({
|
|
1761
1867
|
id: n.id,
|
|
@@ -1786,9 +1892,50 @@ NextWorkflowProjectPlugin.INLINE_HANDLED_NODE_TYPES = new Set([
|
|
|
1786
1892
|
'general-loop',
|
|
1787
1893
|
'general-parallel',
|
|
1788
1894
|
]);
|
|
1895
|
+
/**
|
|
1896
|
+
* Whether the app has routes that must tell this deployment's own server code
|
|
1897
|
+
* apart from a browser: workflow steps, data routes, invoices, payment
|
|
1898
|
+
* webhooks, authentication.
|
|
1899
|
+
*/
|
|
1900
|
+
const hasServerRoutes = (uidl) => {
|
|
1901
|
+
var _a, _b, _c, _d;
|
|
1902
|
+
return Boolean(((_a = uidl.authentication) === null || _a === void 0 ? void 0 : _a.enabled) ||
|
|
1903
|
+
Object.keys(((_b = uidl.workflows) === null || _b === void 0 ? void 0 : _b.workflows) || {}).length > 0 ||
|
|
1904
|
+
Object.keys(((_c = uidl.workflows) === null || _c === void 0 ? void 0 : _c.customNodes) || {}).length > 0 ||
|
|
1905
|
+
Object.keys(uidl.dataSources || {}).length > 0 ||
|
|
1906
|
+
((_d = uidl.invoiceSettings) === null || _d === void 0 ? void 0 : _d.enabled) ||
|
|
1907
|
+
uidl.ecommerceSettings);
|
|
1908
|
+
};
|
|
1909
|
+
/**
|
|
1910
|
+
* 32 random bytes as hex. NEXTAUTH_SECRET signs every session and is the app
|
|
1911
|
+
* secret server code presents to its own routes, so its default must never be
|
|
1912
|
+
* a value anyone can read in this file: a published constant let anyone mint
|
|
1913
|
+
* an admin session, or pass as the store's own server, on any project that
|
|
1914
|
+
* shipped it. The deploy worker still replaces the line with the project's
|
|
1915
|
+
* persisted secret (it upserts `NEXTAUTH_SECRET=` whatever its value); this
|
|
1916
|
+
* only decides what an exported or locally generated project starts with.
|
|
1917
|
+
* Web Crypto where the generator runs in a browser (the editor), Node's crypto
|
|
1918
|
+
* module otherwise.
|
|
1919
|
+
*/
|
|
1920
|
+
const randomSecretHex = () => {
|
|
1921
|
+
const webCrypto = globalThis
|
|
1922
|
+
.crypto;
|
|
1923
|
+
if (webCrypto && typeof webCrypto.getRandomValues === 'function') {
|
|
1924
|
+
const bytes = webCrypto.getRandomValues(new Uint8Array(32));
|
|
1925
|
+
let hex = '';
|
|
1926
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
1927
|
+
hex += (bytes[i] < 16 ? '0' : '') + bytes[i].toString(16);
|
|
1928
|
+
}
|
|
1929
|
+
return hex;
|
|
1930
|
+
}
|
|
1931
|
+
// tslint:disable-next-line:no-var-requires
|
|
1932
|
+
return require('crypto').randomBytes(32).toString('hex');
|
|
1933
|
+
};
|
|
1934
|
+
/** The literal default earlier generations wrote; the deploy worker treats it as unset. */
|
|
1935
|
+
const LEGACY_NEXTAUTH_SECRET = 'CHANGE_ME_TO_A_RANDOM_SECRET';
|
|
1789
1936
|
const AUTH_ENV_DEFAULTS = {
|
|
1790
|
-
NEXTAUTH_URL: 'http://localhost:3000',
|
|
1791
|
-
NEXTAUTH_SECRET:
|
|
1937
|
+
NEXTAUTH_URL: () => 'http://localhost:3000',
|
|
1938
|
+
NEXTAUTH_SECRET: randomSecretHex,
|
|
1792
1939
|
};
|
|
1793
1940
|
// The two stable CMS env keys (teleport-gui's CMS_ENV_URL / CMS_ENV_ACCESS_TOKEN).
|
|
1794
1941
|
// Their `teleporthq.secrets.<name>` placeholder MUST survive to the deployed env
|
|
@@ -1847,9 +1994,12 @@ function resolveAuthEnvValue(key, value, preserveKeys) {
|
|
|
1847
1994
|
// (or still-unresolved placeholder) auth key to its local default keeps the
|
|
1848
1995
|
// value a valid origin; the deploy worker and the runtime request-derivation
|
|
1849
1996
|
// (`absolutizeNextAuthUrl`) override it with the real one in production.
|
|
1997
|
+
// The constant earlier generations shipped as the secret, carried over from an
|
|
1998
|
+
// on-disk `.env` by the standalone harness, is no secret at all: replaced too.
|
|
1999
|
+
const isPublishedSecret = key === 'NEXTAUTH_SECRET' && value === LEGACY_NEXTAUTH_SECRET;
|
|
1850
2000
|
if (Object.prototype.hasOwnProperty.call(AUTH_ENV_DEFAULTS, key) &&
|
|
1851
|
-
(isSecretPlaceholder || isBlank)) {
|
|
1852
|
-
return AUTH_ENV_DEFAULTS[key];
|
|
2001
|
+
(isSecretPlaceholder || isBlank || isPublishedSecret)) {
|
|
2002
|
+
return AUTH_ENV_DEFAULTS[key]();
|
|
1853
2003
|
}
|
|
1854
2004
|
if (isSecretPlaceholder) {
|
|
1855
2005
|
// OAuth provider credential refs are PRESERVED so the deploy worker resolves
|