@teleporthq/teleport-plugin-next-workflows 0.43.67 → 0.43.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -317,6 +317,9 @@ ${STOCK_DECREMENT_HELPERS}
|
|
|
317
317
|
// * `order-decrement` — the place-order workflow's stock-decrement
|
|
318
318
|
// customHandler (raw SQL `UPDATE teleport_products
|
|
319
319
|
// SET quantity = quantity - …`). Allowed.
|
|
320
|
+
// * `restock` — the statement that PUTS UNITS BACK
|
|
321
|
+
// (`SET quantity = quantity + …`) when an unpaid
|
|
322
|
+
// order is cancelled or its payment expires.
|
|
320
323
|
// * `unknown` — anything else. The auditor warns on these so
|
|
321
324
|
// a future AI version that drifts (e.g. starts
|
|
322
325
|
// decrementing stock from an add-to-cart
|
|
@@ -330,7 +333,7 @@ export interface StockWriteSite {
|
|
|
330
333
|
nodeId: string
|
|
331
334
|
nodeType: string
|
|
332
335
|
stepNumber: number | undefined
|
|
333
|
-
category: 'admin' | 'order-decrement' | 'unknown'
|
|
336
|
+
category: 'admin' | 'order-decrement' | 'restock' | 'unknown'
|
|
334
337
|
// For raw-query sites, this is the literal SQL fragment that
|
|
335
338
|
// matched (after a `\n` strip + trim). For typed nodes, it's empty.
|
|
336
339
|
sqlSnippet: string
|
|
@@ -364,6 +367,10 @@ const isAdminWorkflowName = (name: string): boolean => {
|
|
|
364
367
|
const ORDER_DECREMENT_SQL_RE =
|
|
365
368
|
/UPDATE\s+teleport_products\s+(?:AS\s+)?\w*\s*SET\s+quantity\s*=\s*(?:\w+\.)?quantity\s*-/i
|
|
366
369
|
|
|
370
|
+
/** Units going back on the shelf: the table may be aliased, the column qualified. */
|
|
371
|
+
const ORDER_RESTOCK_SQL_RE =
|
|
372
|
+
/UPDATE\s+teleport_products\s+(?:AS\s+)?\w*\s*SET\s+quantity\s*=\s*(?:\w+\.)?quantity\s*\+/i
|
|
373
|
+
|
|
367
374
|
/** The GREATEST / NULL-preserving guards, independent of how the row is addressed. */
|
|
368
375
|
const ORDER_DECREMENT_GUARD_RES: RegExp[] = [
|
|
369
376
|
/quantity\s*=\s*GREATEST\s*\(\s*\d+\s*,\s*COALESCE\s*\(\s*(?:\w+\.)?quantity/i,
|
|
@@ -451,6 +458,9 @@ export const classifyStockWriteSite = (
|
|
|
451
458
|
if (looksLikeOrderDecrementSql(query)) {
|
|
452
459
|
return { category: 'order-decrement', sqlSnippet: extractSqlSnippet(query) }
|
|
453
460
|
}
|
|
461
|
+
if (ORDER_RESTOCK_SQL_RE.test(query)) {
|
|
462
|
+
return { category: 'restock', sqlSnippet: extractSqlSnippet(query) }
|
|
463
|
+
}
|
|
454
464
|
if (
|
|
455
465
|
/UPDATE\s+teleport_products|DELETE\s+(?:FROM\s+)?teleport_products|INSERT\s+(?:INTO\s+)?teleport_products/i.test(
|
|
456
466
|
query
|
|
@@ -604,6 +614,7 @@ export interface StockWriteAudit {
|
|
|
604
614
|
sites: StockWriteSite[]
|
|
605
615
|
admin: StockWriteSite[]
|
|
606
616
|
orderDecrement: StockWriteSite[]
|
|
617
|
+
restock: StockWriteSite[]
|
|
607
618
|
unknown: StockWriteSite[]
|
|
608
619
|
}
|
|
609
620
|
|
|
@@ -615,6 +626,7 @@ export const auditStockWriteSites = (uidl: ProjectUIDL): StockWriteAudit => {
|
|
|
615
626
|
sites,
|
|
616
627
|
admin: sites.filter((s) => s.category === 'admin'),
|
|
617
628
|
orderDecrement: sites.filter((s) => s.category === 'order-decrement'),
|
|
629
|
+
restock: sites.filter((s) => s.category === 'restock'),
|
|
618
630
|
unknown: sites.filter((s) => s.category === 'unknown'),
|
|
619
631
|
}
|
|
620
632
|
}
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
generateEmailLocaleHelpersCode,
|
|
4
4
|
generateWorkflowLocaleHelpersCode,
|
|
5
5
|
} from './email-locale'
|
|
6
|
+
import { generateSignedInDestinationCode } from './auth-return/signed-in-destination-code'
|
|
6
7
|
|
|
7
8
|
export interface SharedRuntimeUtilsOptions {
|
|
8
9
|
/**
|
|
@@ -28,6 +29,7 @@ export const generateSharedRuntimeUtilsCode = (options: SharedRuntimeUtilsOption
|
|
|
28
29
|
*/
|
|
29
30
|
${generateEmailLocaleHelpersCode(options.emailLocales || NO_EMAIL_LOCALES)}
|
|
30
31
|
${generateWorkflowLocaleHelpersCode()}
|
|
32
|
+
${generateSignedInDestinationCode()}
|
|
31
33
|
function resolveValue(value, context) {
|
|
32
34
|
if (value === null || value === undefined) return value;
|
|
33
35
|
if (Array.isArray(value)) {
|
|
@@ -113,6 +115,27 @@ function unwrapWorkflowCollection(value) {
|
|
|
113
115
|
return arrayKeys.length === 1 ? value[arrayKeys[0]] : [];
|
|
114
116
|
}
|
|
115
117
|
|
|
118
|
+
// What a loop publishes under its OWN node id while a body node runs — the
|
|
119
|
+
// shape the workflow editor's context schema advertises for "general-loop"
|
|
120
|
+
// (currentItem / index / isFirst / isLast), so a body node bound to
|
|
121
|
+
// [loopId, 'currentItem'] resolves in every runtime that executes a loop.
|
|
122
|
+
//
|
|
123
|
+
// ⛔ The client executor used to publish the iteration only under
|
|
124
|
+
// "<loopId>_iter" and never under the loop id itself, so that binding resolved
|
|
125
|
+
// to undefined in the browser while it worked in a server segment. A loop whose
|
|
126
|
+
// body is a custom-node call is exactly the kind the splitter keeps on the
|
|
127
|
+
// client: the buyer's subscription refresh called its node with no id.
|
|
128
|
+
function loopIterationContext(collection, index) {
|
|
129
|
+
return {
|
|
130
|
+
currentItem: collection[index],
|
|
131
|
+
currentIndex: index,
|
|
132
|
+
index: index,
|
|
133
|
+
isFirst: index === 0,
|
|
134
|
+
isLast: index === collection.length - 1,
|
|
135
|
+
iterations: index + 1
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
116
139
|
function resolveCtxRef(ref, context) {
|
|
117
140
|
var elem = context.triggerElement;
|
|
118
141
|
if (!elem || typeof elem.getAttribute !== 'function') return undefined;
|
|
@@ -1076,7 +1099,16 @@ async function executeLoop(loopNode, config, allNodes, edges, context, nodeHandl
|
|
|
1076
1099
|
// the parent node id without drilling, unwrap the single-array envelope
|
|
1077
1100
|
// here so the loop iterates over the actual array instead of collapsing
|
|
1078
1101
|
// to []. Mirrors the same guard in the server-segment runtime.
|
|
1079
|
-
|
|
1102
|
+
// \`config\` is the RESOLVED config: a bound collection is already the
|
|
1103
|
+
// array it pointed at. \`resolveValue\` treats an array as the parts of one
|
|
1104
|
+
// text and JOINS it — so resolving it again turned every client-side loop's
|
|
1105
|
+
// rows into one string, and the loop ran zero times (the server route reads
|
|
1106
|
+
// its resolved collection straight, and always iterated). Only a value
|
|
1107
|
+
// that still is a reference is resolved here.
|
|
1108
|
+
const boundCollection = config.collection;
|
|
1109
|
+
const collection = unwrapWorkflowCollection(
|
|
1110
|
+
Array.isArray(boundCollection) ? boundCollection : resolveValue(boundCollection, context)
|
|
1111
|
+
);
|
|
1080
1112
|
const iterator = config.iterator || 'item';
|
|
1081
1113
|
const indexVar = config.indexVariable || 'index';
|
|
1082
1114
|
const parallel = config.parallel || false;
|
|
@@ -1099,6 +1131,7 @@ async function executeLoop(loopNode, config, allNodes, edges, context, nodeHandl
|
|
|
1099
1131
|
iterCtx.__loopScopeStack = (context.__loopScopeStack || []).slice();
|
|
1100
1132
|
iterCtx.__loopItem = collection[idx];
|
|
1101
1133
|
iterCtx.__loopIndex = idx;
|
|
1134
|
+
iterCtx[loopNode.id] = loopIterationContext(collection, idx);
|
|
1102
1135
|
iterCtx[loopNode.id + '_iter'] = {};
|
|
1103
1136
|
iterCtx[loopNode.id + '_iter'][iterator] = collection[idx];
|
|
1104
1137
|
iterCtx[loopNode.id + '_iter'][indexVar] = idx;
|
|
@@ -1133,6 +1166,7 @@ async function executeLoop(loopNode, config, allNodes, edges, context, nodeHandl
|
|
|
1133
1166
|
const iterCtx = Object.assign({}, context);
|
|
1134
1167
|
iterCtx.__loopItem = collection[idx];
|
|
1135
1168
|
iterCtx.__loopIndex = idx;
|
|
1169
|
+
iterCtx[loopNode.id] = loopIterationContext(collection, idx);
|
|
1136
1170
|
iterCtx[loopNode.id + '_iter'] = {};
|
|
1137
1171
|
iterCtx[loopNode.id + '_iter'][iterator] = collection[idx];
|
|
1138
1172
|
iterCtx[loopNode.id + '_iter'][indexVar] = idx;
|
|
@@ -1280,6 +1314,114 @@ function collectBranchNodes(startId, allNodes, edges, excludeParentId) {
|
|
|
1280
1314
|
return ids;
|
|
1281
1315
|
}
|
|
1282
1316
|
|
|
1317
|
+
/**
|
|
1318
|
+
* A server segment's nodes run in the route, so what the request says about
|
|
1319
|
+
* them is never taken on trust: a crafted POST could otherwise hand a later
|
|
1320
|
+
* node a forged result and mark the node that really produces it as skipped.
|
|
1321
|
+
*
|
|
1322
|
+
* - Every result the request carries for one of this segment's nodes is
|
|
1323
|
+
* dropped; the route computes it.
|
|
1324
|
+
* - The client may only skip a branch where it ENTERS the segment (a node with
|
|
1325
|
+
* a predecessor outside it, or none at all), which is where a branch the
|
|
1326
|
+
* client decided begins. The skip then covers everything that node reaches
|
|
1327
|
+
* inside the segment, exactly as the client's own branch walk marks it; a
|
|
1328
|
+
* skip mark on a node in the middle of the segment is ignored.
|
|
1329
|
+
* - Loop bodies are marked by the route's own loop handling: a request that
|
|
1330
|
+
* names one of this segment's nodes as a loop body (which the route skips in
|
|
1331
|
+
* its main pass) is ignored for that node.
|
|
1332
|
+
* - A custom node's segment reads its inner results by the ids baked here,
|
|
1333
|
+
* never by a list the request supplies.
|
|
1334
|
+
*/
|
|
1335
|
+
function claimSegmentContext(segmentConfig, context) {
|
|
1336
|
+
var nodes = segmentConfig.nodes || [];
|
|
1337
|
+
var edges = segmentConfig.edges || [];
|
|
1338
|
+
var inSegment = {};
|
|
1339
|
+
for (var ni = 0; ni < nodes.length; ni++) {
|
|
1340
|
+
inSegment[nodes[ni].id] = true;
|
|
1341
|
+
delete context[nodes[ni].id];
|
|
1342
|
+
}
|
|
1343
|
+
if (context.__loopBodyNodeIds && typeof context.__loopBodyNodeIds === 'object') {
|
|
1344
|
+
var loopBodies = {};
|
|
1345
|
+
Object.keys(context.__loopBodyNodeIds).forEach(function(id) {
|
|
1346
|
+
if (!inSegment[id] && context.__loopBodyNodeIds[id]) loopBodies[id] = true;
|
|
1347
|
+
});
|
|
1348
|
+
context.__loopBodyNodeIds = loopBodies;
|
|
1349
|
+
}
|
|
1350
|
+
var incoming = context.__skippedNodes && typeof context.__skippedNodes === 'object' ? context.__skippedNodes : {};
|
|
1351
|
+
var skipped = {};
|
|
1352
|
+
Object.keys(incoming).forEach(function(id) {
|
|
1353
|
+
if (incoming[id] && !inSegment[id]) skipped[id] = true;
|
|
1354
|
+
});
|
|
1355
|
+
var queue = (segmentConfig.entryNodeIds || []).filter(function(id) { return inSegment[id] && incoming[id]; });
|
|
1356
|
+
while (queue.length > 0) {
|
|
1357
|
+
var cur = queue.shift();
|
|
1358
|
+
if (skipped[cur]) continue;
|
|
1359
|
+
skipped[cur] = true;
|
|
1360
|
+
for (var ei = 0; ei < edges.length; ei++) {
|
|
1361
|
+
if (edges[ei].source === cur && inSegment[edges[ei].target]) queue.push(edges[ei].target);
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
context.__skippedNodes = skipped;
|
|
1365
|
+
if (segmentConfig.customNodeIds) {
|
|
1366
|
+
context.__customNodeIds = segmentConfig.customNodeIds.slice();
|
|
1367
|
+
context.__isInsideCustomNode = true;
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
// The caller's context as it arrived — one JSON string per key, taken BEFORE
|
|
1372
|
+
// the segment runs — so \`segmentReply\` can tell what the run produced or
|
|
1373
|
+
// changed from what the caller already holds. A key that cannot be serialized
|
|
1374
|
+
// here is always replied, never dropped.
|
|
1375
|
+
function snapshotIncomingContext(incoming) {
|
|
1376
|
+
var snapshot = {};
|
|
1377
|
+
var keys = Object.keys(incoming || {});
|
|
1378
|
+
for (var i = 0; i < keys.length; i++) {
|
|
1379
|
+
var key = keys[i];
|
|
1380
|
+
try { snapshot[key] = JSON.stringify(incoming[key]); } catch (e) { snapshot[key] = null; }
|
|
1381
|
+
}
|
|
1382
|
+
return snapshot;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
// Never replied: the caller's own page-state snapshot (the client never merges
|
|
1386
|
+
// it back — see mergeServerResults) and the route's private state.
|
|
1387
|
+
var SEGMENT_REPLY_PRIVATE_KEYS = {
|
|
1388
|
+
__stateValues: true,
|
|
1389
|
+
__internalHeaders: true,
|
|
1390
|
+
__request: true,
|
|
1391
|
+
__pendingNodePromises: true
|
|
1392
|
+
};
|
|
1393
|
+
|
|
1394
|
+
// What a server segment replies with: the result of every node it ran itself
|
|
1395
|
+
// — always, since a body node re-run inside a loop may produce the same value
|
|
1396
|
+
// twice and the client still resets __previousNodeResult from it — plus every
|
|
1397
|
+
// other key the run created or changed. The context the browser POSTed used to
|
|
1398
|
+
// be echoed back wholesale (every earlier node's result, the trigger, the whole
|
|
1399
|
+
// page state), so each round trip carried the page twice over and the network
|
|
1400
|
+
// tab showed every node's data on every hop.
|
|
1401
|
+
function segmentReply(segmentConfig, context, snapshot) {
|
|
1402
|
+
var reply = {};
|
|
1403
|
+
var own = {};
|
|
1404
|
+
var nodes = (segmentConfig && segmentConfig.nodes) || [];
|
|
1405
|
+
for (var ni = 0; ni < nodes.length; ni++) own[nodes[ni].id] = true;
|
|
1406
|
+
var keys = Object.keys(context);
|
|
1407
|
+
for (var i = 0; i < keys.length; i++) {
|
|
1408
|
+
var key = keys[i];
|
|
1409
|
+
if (SEGMENT_REPLY_PRIVATE_KEYS[key]) continue;
|
|
1410
|
+
var value = context[key];
|
|
1411
|
+
if (value === undefined) continue;
|
|
1412
|
+
if (own[key] || !snapshot || !Object.prototype.hasOwnProperty.call(snapshot, key)) {
|
|
1413
|
+
reply[key] = value;
|
|
1414
|
+
continue;
|
|
1415
|
+
}
|
|
1416
|
+
var before = snapshot[key];
|
|
1417
|
+
if (before === null) { reply[key] = value; continue; }
|
|
1418
|
+
var after;
|
|
1419
|
+
try { after = JSON.stringify(value); } catch (e) { after = null; }
|
|
1420
|
+
if (after !== before) reply[key] = value;
|
|
1421
|
+
}
|
|
1422
|
+
return reply;
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1283
1425
|
/**
|
|
1284
1426
|
* Headers a server-side node must send when this deployment calls its OWN API
|
|
1285
1427
|
* routes over HTTP (every data node does: \`fetch(__baseUrl + '/api/data/…')\`).
|
|
@@ -1324,6 +1466,7 @@ module.exports = {
|
|
|
1324
1466
|
resolveEmailLocale,
|
|
1325
1467
|
getClientLocale,
|
|
1326
1468
|
localizeHref,
|
|
1469
|
+
signedInDestination,
|
|
1327
1470
|
pickLocalizedTemplate,
|
|
1328
1471
|
resolveValue,
|
|
1329
1472
|
resolveSecret,
|
|
@@ -1331,6 +1474,9 @@ module.exports = {
|
|
|
1331
1474
|
resolveContextRef,
|
|
1332
1475
|
resolveRichTextContext,
|
|
1333
1476
|
unwrapWorkflowCollection,
|
|
1477
|
+
loopIterationContext,
|
|
1478
|
+
snapshotIncomingContext,
|
|
1479
|
+
segmentReply,
|
|
1334
1480
|
evaluateCondition,
|
|
1335
1481
|
evaluateSingleComparison,
|
|
1336
1482
|
normalizeComparisonOperator,
|
|
@@ -1344,6 +1490,7 @@ module.exports = {
|
|
|
1344
1490
|
getLoopBodyNodeIds,
|
|
1345
1491
|
executeParallel,
|
|
1346
1492
|
collectBranchNodes,
|
|
1493
|
+
claimSegmentContext,
|
|
1347
1494
|
markAllBranchNodes,
|
|
1348
1495
|
isStreamingAINode,
|
|
1349
1496
|
isFatalNodeResult,
|
|
@@ -1476,18 +1623,57 @@ function prunedValue(val, depth) {
|
|
|
1476
1623
|
return { value: prunedObj, size: used };
|
|
1477
1624
|
}
|
|
1478
1625
|
|
|
1479
|
-
|
|
1626
|
+
// The page state a server segment may read is decided when the app is
|
|
1627
|
+
// generated: \`stateKeys\` on the segment names every state the segment's nodes
|
|
1628
|
+
// (and the custom nodes they call) reference, or is '*' when an expression
|
|
1629
|
+
// reads the whole bag. Only those entries travel. The rest — the country list a
|
|
1630
|
+
// select was seeded with, the product grid, the order history — stays in the
|
|
1631
|
+
// browser, where it was the bulk of every request a page made.
|
|
1632
|
+
function pruneStateValues(stateValues, stateKeys) {
|
|
1633
|
+
if (!stateValues || typeof stateValues !== 'object' || !Array.isArray(stateKeys)) return stateValues;
|
|
1634
|
+
var kept = {};
|
|
1635
|
+
for (var i = 0; i < stateKeys.length; i++) {
|
|
1636
|
+
var key = stateKeys[i];
|
|
1637
|
+
if (Object.prototype.hasOwnProperty.call(stateValues, key)) kept[key] = stateValues[key];
|
|
1638
|
+
}
|
|
1639
|
+
return kept;
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
function pruneContext(context, stateKeys) {
|
|
1480
1643
|
const pruned = {};
|
|
1481
1644
|
const keys = Object.keys(context);
|
|
1645
|
+
const filterState = Array.isArray(stateKeys);
|
|
1482
1646
|
for (let i = 0; i < keys.length; i++) {
|
|
1483
1647
|
const key = keys[i];
|
|
1484
|
-
|
|
1648
|
+
let val = context[key];
|
|
1485
1649
|
if (val === undefined || val === null) continue;
|
|
1486
1650
|
if (typeof val === 'function') continue;
|
|
1487
1651
|
// In-flight fire-and-forget promises are local to whichever runtime started
|
|
1488
1652
|
// them; serializing them would ship a list of empty objects and let a
|
|
1489
1653
|
// server response overwrite the client's live list.
|
|
1490
1654
|
if (key === '__pendingNodePromises') continue;
|
|
1655
|
+
// Credentials for a server-side caller's own requests travel as HEADERS
|
|
1656
|
+
// (see segmentRequestHeaders), never in the body.
|
|
1657
|
+
if (key === '__internalHeaders') continue;
|
|
1658
|
+
// The signatures of earlier server results and of the key order must
|
|
1659
|
+
// cross whole: a pruned signature no longer matches, and the server then
|
|
1660
|
+
// treats the result it covers as never produced.
|
|
1661
|
+
if (key === '__sig' || key === '__sigOrder') {
|
|
1662
|
+
pruned[key] = val;
|
|
1663
|
+
continue;
|
|
1664
|
+
}
|
|
1665
|
+
if (filterState) {
|
|
1666
|
+
if (key === '__stateValues') {
|
|
1667
|
+
val = pruneStateValues(val, stateKeys);
|
|
1668
|
+
if (Object.keys(val).length === 0) continue;
|
|
1669
|
+
} else if (val && typeof val === 'object' && !Array.isArray(val) && !isDomNode(val) &&
|
|
1670
|
+
val.__stateValues && typeof val.__stateValues === 'object') {
|
|
1671
|
+
// The trigger context carries the page's own copy of the bag.
|
|
1672
|
+
var bag = pruneStateValues(val.__stateValues, stateKeys);
|
|
1673
|
+
val = Object.assign({}, val);
|
|
1674
|
+
if (Object.keys(bag).length === 0) delete val.__stateValues; else val.__stateValues = bag;
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1491
1677
|
const entry = prunedValue(val, 0);
|
|
1492
1678
|
if (entry === null) continue;
|
|
1493
1679
|
pruned[key] = entry.value;
|
|
@@ -1558,12 +1744,26 @@ function absolutizeSegmentUrl(segmentUrl, context) {
|
|
|
1558
1744
|
return segmentUrl.charAt(0) === '/' ? trimmed + segmentUrl : trimmed + '/' + segmentUrl;
|
|
1559
1745
|
}
|
|
1560
1746
|
|
|
1561
|
-
|
|
1562
|
-
|
|
1747
|
+
// A server-side caller (a webhook or cron route running a custom node) sends
|
|
1748
|
+
// the credentials its route derived — the forwarded cookie, the deployment
|
|
1749
|
+
// protection bypass and the internal-call token a server-only route requires.
|
|
1750
|
+
// A browser has none, so it sends only the content type.
|
|
1751
|
+
function segmentRequestHeaders(context) {
|
|
1752
|
+
var headers = { 'Content-Type': 'application/json' };
|
|
1753
|
+
if (typeof window === 'undefined' && context && context.__internalHeaders && typeof context.__internalHeaders === 'object') {
|
|
1754
|
+
Object.keys(context.__internalHeaders).forEach(function(name) {
|
|
1755
|
+
headers[name] = context.__internalHeaders[name];
|
|
1756
|
+
});
|
|
1757
|
+
}
|
|
1758
|
+
return headers;
|
|
1759
|
+
}
|
|
1760
|
+
|
|
1761
|
+
async function callServerSegment(segmentUrl, context, stateKeys) {
|
|
1762
|
+
const prunedContext = pruneContext(context, stateKeys);
|
|
1563
1763
|
const targetUrl = absolutizeSegmentUrl(segmentUrl, context);
|
|
1564
1764
|
const response = await fetch(targetUrl, {
|
|
1565
1765
|
method: 'POST',
|
|
1566
|
-
headers:
|
|
1766
|
+
headers: segmentRequestHeaders(context),
|
|
1567
1767
|
body: JSON.stringify({ context: prunedContext })
|
|
1568
1768
|
});
|
|
1569
1769
|
if (!response.ok) {
|
|
@@ -1649,8 +1849,8 @@ function clientExecutableBranchNodes(branchNodes) {
|
|
|
1649
1849
|
return branchNodes.filter(function(n) { return !n || n.executionEnv !== 'server'; });
|
|
1650
1850
|
}
|
|
1651
1851
|
|
|
1652
|
-
async function callStreamingServerSegment(segmentUrl, context, streamingInfo, allNodes, allEdges, clientHandlers, workflowConfig, executionId) {
|
|
1653
|
-
const prunedContext = pruneContext(context);
|
|
1852
|
+
async function callStreamingServerSegment(segmentUrl, context, streamingInfo, allNodes, allEdges, clientHandlers, workflowConfig, executionId, stateKeys) {
|
|
1853
|
+
const prunedContext = pruneContext(context, stateKeys);
|
|
1654
1854
|
const handledNodeIds = {};
|
|
1655
1855
|
const streamedNodeIds = {};
|
|
1656
1856
|
// Same relative-URL problem as callServerSegment above — required even
|
|
@@ -1659,7 +1859,7 @@ async function callStreamingServerSegment(segmentUrl, context, streamingInfo, al
|
|
|
1659
1859
|
const streamingTargetUrl = absolutizeSegmentUrl(segmentUrl, context);
|
|
1660
1860
|
const response = await fetch(streamingTargetUrl, {
|
|
1661
1861
|
method: 'POST',
|
|
1662
|
-
headers:
|
|
1862
|
+
headers: segmentRequestHeaders(context),
|
|
1663
1863
|
body: JSON.stringify({ context: prunedContext })
|
|
1664
1864
|
});
|
|
1665
1865
|
|
|
@@ -1820,7 +2020,7 @@ async function executeWorkflowWithSegments(workflowConfig, triggerContext, clien
|
|
|
1820
2020
|
if (!ffUrl) throw new Error('No server URL for segment: ' + seg.id);
|
|
1821
2021
|
utils.registerPendingNodePromise(
|
|
1822
2022
|
context,
|
|
1823
|
-
callServerSegment(ffUrl, context).catch(function(err) {
|
|
2023
|
+
callServerSegment(ffUrl, context, seg.stateKeys).catch(function(err) {
|
|
1824
2024
|
console.error('[workflow] Segment "' + seg.id + '" failed (not awaited):', err);
|
|
1825
2025
|
})
|
|
1826
2026
|
);
|
|
@@ -1840,12 +2040,12 @@ async function executeWorkflowWithSegments(workflowConfig, triggerContext, clien
|
|
|
1840
2040
|
if (hasStreaming) {
|
|
1841
2041
|
const url = serverSegmentUrls[seg.id];
|
|
1842
2042
|
if (!url) throw new Error('No server URL for segment: ' + seg.id);
|
|
1843
|
-
const newHandled = await callStreamingServerSegment(url, context, streamingInfo, allNodes, allEdges, clientHandlers, workflowConfig, executionId);
|
|
2043
|
+
const newHandled = await callStreamingServerSegment(url, context, streamingInfo, allNodes, allEdges, clientHandlers, workflowConfig, executionId, seg.stateKeys);
|
|
1844
2044
|
Object.assign(handledNodeIds, newHandled);
|
|
1845
2045
|
} else {
|
|
1846
2046
|
const url = serverSegmentUrls[seg.id];
|
|
1847
2047
|
if (!url) throw new Error('No server URL for segment: ' + seg.id);
|
|
1848
|
-
const serverResults = await callServerSegment(url, context);
|
|
2048
|
+
const serverResults = await callServerSegment(url, context, seg.stateKeys);
|
|
1849
2049
|
mergeServerResults(context, serverResults, workflowConfig.triggerNodeId);
|
|
1850
2050
|
var segNodes = seg.nodes;
|
|
1851
2051
|
if (segNodes && segNodes.length > 0 && serverResults) {
|
|
@@ -1961,10 +2161,3 @@ async function executeWorkflowWithSegments(workflowConfig, triggerContext, clien
|
|
|
1961
2161
|
module.exports = { executeWorkflowWithSegments, callServerSegment, callStreamingServerSegment, mergeServerResults, findStreamingAINodes };
|
|
1962
2162
|
`
|
|
1963
2163
|
}
|
|
1964
|
-
|
|
1965
|
-
export const generateServerRuntimeCode = (): string => {
|
|
1966
|
-
return `const utils = require('./runtime-utils');
|
|
1967
|
-
|
|
1968
|
-
module.exports = utils;
|
|
1969
|
-
`
|
|
1970
|
-
}
|
package/src/index.ts
CHANGED
|
@@ -2,17 +2,19 @@ export { createNextWorkflowPlugin } from './workflow-component-plugin'
|
|
|
2
2
|
export { NextWorkflowProjectPlugin } from './workflow-project-plugin'
|
|
3
3
|
export { nodeRegistry } from './nodes'
|
|
4
4
|
export { splitIntoSegments, getServerSegments, getClientSegments } from './segment-splitter'
|
|
5
|
+
export { collectSegmentStateKeys, ALL_STATE_KEYS } from './segment-context-needs'
|
|
6
|
+
export type { SegmentStateKeys } from './segment-context-needs'
|
|
5
7
|
export { collectSecrets } from './secret-collector'
|
|
6
|
-
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} from './executor-generator'
|
|
8
|
+
export { generateClientRuntimeCode, generateSharedRuntimeUtilsCode } from './executor-generator'
|
|
9
|
+
export { generateServerRuntimeCode } from './server-runtime-code'
|
|
10
|
+
export { buildSegmentTrust } from './segment-trust'
|
|
11
|
+
export type { SegmentGraph, SegmentTrust } from './segment-trust'
|
|
11
12
|
export {
|
|
12
13
|
generateServerSegmentAPIRoute,
|
|
13
14
|
generateStreamingServerSegmentAPIRoute,
|
|
14
15
|
generateCronAPIRoute,
|
|
15
16
|
generateWebhookWorkflowAPIRoute,
|
|
17
|
+
findPaymentWebhookRouteUrl,
|
|
16
18
|
getAPIRouteFileName,
|
|
17
19
|
getCronRouteFileName,
|
|
18
20
|
getWebhookRouteFileName,
|
|
@@ -20,7 +22,16 @@ export {
|
|
|
20
22
|
hasStreamingAINode,
|
|
21
23
|
} from './api-route-generator'
|
|
22
24
|
export { generateTriggerCode } from './trigger-generator'
|
|
23
|
-
export { generatePgClientCode } from './pg-client-code'
|
|
25
|
+
export { generatePgClientCode, generateLazyPgClientCode } from './pg-client-code'
|
|
26
|
+
export { getDatabaseDriverDependencies } from './auth-generator'
|
|
27
|
+
export {
|
|
28
|
+
generateSubscriberAccessHelperModule,
|
|
29
|
+
generateSubscriberAccessRoute,
|
|
30
|
+
hasSubscriberOnlyPages,
|
|
31
|
+
resolveCustomProductPageRoutes,
|
|
32
|
+
resolveProductDetailsRoute,
|
|
33
|
+
resolveSubscriptionFallbackRoute,
|
|
34
|
+
} from './subscriber-access-route-generator'
|
|
24
35
|
export { ensureSentEmailLogModule } from './sent-email-log'
|
|
25
36
|
export {
|
|
26
37
|
ensureEmailLocaleModule,
|
|
@@ -34,10 +45,20 @@ export {
|
|
|
34
45
|
generateSessionTokenResolverCode,
|
|
35
46
|
generateCommonJsSessionTokenResolverCode,
|
|
36
47
|
} from './session-cookie-resolver'
|
|
37
|
-
export {
|
|
48
|
+
export {
|
|
49
|
+
collectUsedNodeTypes,
|
|
50
|
+
projectUsesRealtime,
|
|
51
|
+
REALTIME_NODE_TYPES,
|
|
52
|
+
REALTIME_TRIGGER_TYPES,
|
|
53
|
+
} from './graph-utils'
|
|
38
54
|
export * from './realtime-generator'
|
|
39
55
|
export { generateInvoiceFiles, resolveInvoiceDataSource } from './invoice'
|
|
40
56
|
export { generateWebhookFiles } from './webhook-generator'
|
|
57
|
+
export {
|
|
58
|
+
declarePaymentCredentialEnv,
|
|
59
|
+
ensurePaymentDriversModule,
|
|
60
|
+
resolveStorePaymentDriverIds,
|
|
61
|
+
} from './payments'
|
|
41
62
|
export {
|
|
42
63
|
needsRuntimeStorageRoute,
|
|
43
64
|
generateRuntimeStorageUploadRoute,
|