@teleporthq/teleport-plugin-next-workflows 0.44.11 → 0.45.0
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/fake-fetch.ts +75 -0
- package/__tests__/_helpers/gui-place-order-statements.ts +17 -0
- package/__tests__/_helpers/inserted-lines.ts +22 -0
- package/__tests__/_helpers/invoice-store.ts +10 -1
- package/__tests__/_helpers/load-security-runtime.ts +45 -0
- package/__tests__/_helpers/load-server-runtime.ts +26 -3
- package/__tests__/_helpers/run-account-delete-route.ts +3 -1
- package/__tests__/_helpers/run-generated-middleware.ts +7 -2
- package/__tests__/account-delete-owned-rows.test.ts +3 -1
- package/__tests__/adopted-element-trigger-code.test.ts +128 -0
- package/__tests__/analytics-track-outcome.test.ts +145 -0
- package/__tests__/auth-password-change-ends-sessions.test.ts +8 -1
- package/__tests__/auth-password-security.test.ts +2275 -0
- package/__tests__/auth-session-cost.test.ts +31 -0
- package/__tests__/auth-signup-route.test.ts +960 -0
- package/__tests__/authored-code-every-path.test.ts +247 -0
- package/__tests__/automations-bus.test.ts +3820 -0
- package/__tests__/automations-catalog-drift.test.ts +97 -0
- package/__tests__/booking-calendar-feed-route.test.ts +20 -3
- package/__tests__/cart-price-order.test.ts +336 -1
- package/__tests__/code-lookup-rate-limit-route.test.ts +189 -0
- package/__tests__/cost-bearing-node-types.test.ts +119 -0
- package/__tests__/credential-columns-reply.test.ts +9 -0
- package/__tests__/credential-result-reply.test.ts +19 -5
- package/__tests__/cron-route-loop-templateparams.test.ts +6 -3
- package/__tests__/custom-js-authored-code.test.ts +304 -0
- package/__tests__/custom-node-custom-code-gate.test.ts +136 -0
- package/__tests__/custom-node-step-handlers.test.ts +251 -0
- package/__tests__/custom-node-step-reach.test.ts +63 -0
- package/__tests__/data-api-anon-user-id-fallback.test.ts +7 -2
- package/__tests__/data-api-browser-reads.test.ts +7 -0
- package/__tests__/data-api-business-events.test.ts +403 -0
- package/__tests__/data-api-invalid-body.test.ts +7 -0
- package/__tests__/data-api-low-stock-autofire.test.ts +30 -4
- package/__tests__/data-api-optional-feature-columns.test.ts +44 -0
- package/__tests__/data-api-owner-scope-credentials.test.ts +1324 -0
- package/__tests__/data-api-protected-tables.test.ts +48 -15
- package/__tests__/data-api-retired-table-and-account-fields.test.ts +208 -0
- package/__tests__/email-locale-senders.test.ts +5 -3
- package/__tests__/expression-injection.test.ts +343 -0
- package/__tests__/fixtures/admin-file-workflows.json +242 -0
- package/__tests__/form-confirmation-email-template.test.ts +44 -0
- package/__tests__/internal-request-headers.test.ts +25 -0
- package/__tests__/invoice-pdf-service-project-header.test.ts +120 -0
- package/__tests__/invoice-self-call-origin.test.ts +57 -1
- package/__tests__/legacy-webhook-self-calls.test.ts +86 -1
- package/__tests__/middleware-home-route-protection.test.ts +3 -1
- package/__tests__/middleware-subscriber-access.test.ts +1 -1
- package/__tests__/newsletter-admin-route.test.ts +649 -0
- package/__tests__/newsletter-plugin.test.ts +1248 -0
- package/__tests__/outbound-nodes-security.test.ts +1929 -0
- package/__tests__/page-access-guard.test.ts +217 -0
- package/__tests__/page-access-route-table.test.ts +231 -0
- package/__tests__/payment-drivers-module.test.ts +23 -0
- package/__tests__/payment-legacy-webhook-routes.test.ts +100 -5
- package/__tests__/payment-webhook-route.test.ts +4 -1
- package/__tests__/paypal-webhook-signature-verification.test.ts +44 -0
- package/__tests__/place-order-guards.test.ts +506 -0
- package/__tests__/public-step-guards.test.ts +310 -0
- package/__tests__/publish-refusals.test.ts +505 -0
- package/__tests__/realtime-identity-routes.test.ts +492 -0
- package/__tests__/record-event-writer-server-only.test.ts +975 -0
- package/__tests__/resolve-config-template-params.test.ts +3 -3
- package/__tests__/runtime-storage-upload-access.test.ts +280 -17
- package/__tests__/security-integration-env-names.test.ts +74 -0
- package/__tests__/security-lists-parity.test.ts +245 -0
- package/__tests__/security-runtime-shadow.test.ts +224 -1
- package/__tests__/security-runtime.test.ts +893 -0
- package/__tests__/segment-rate-limit-error-branch.test.ts +284 -0
- package/__tests__/segment-route-abuse-gate.test.ts +309 -0
- package/__tests__/server-job-hops-real-data-api.test.ts +669 -0
- package/__tests__/server-session-identity.test.ts +522 -0
- package/__tests__/server-step-chain.test.ts +222 -0
- package/__tests__/server-step-signing.test.ts +107 -2
- package/__tests__/session-cookie-resolver.test.ts +62 -106
- package/__tests__/signup-event.test.ts +649 -0
- package/__tests__/signup-reply-identical.test.ts +144 -0
- package/__tests__/slack-message-escaping.test.ts +123 -0
- package/__tests__/visitor-step-limits.test.ts +318 -0
- package/__tests__/webhook-delivery-lease.test.ts +4 -1
- package/__tests__/webpack-safe-handlers.test.ts +57 -8
- package/__tests__/workflow-auth-guard.test.ts +9 -1
- package/dist/cjs/account-delete-route-generator.d.ts +1 -0
- package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
- package/dist/cjs/account-delete-route-generator.js +18 -3
- package/dist/cjs/account-delete-route-generator.js.map +1 -1
- package/dist/cjs/api-route-generator.d.ts +52 -3
- package/dist/cjs/api-route-generator.d.ts.map +1 -1
- package/dist/cjs/api-route-generator.js +600 -145
- package/dist/cjs/api-route-generator.js.map +1 -1
- package/dist/cjs/auth-generator.d.ts +126 -3
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +1353 -139
- package/dist/cjs/auth-generator.js.map +1 -1
- package/dist/cjs/automations/activity-kicks.d.ts +12 -0
- package/dist/cjs/automations/activity-kicks.d.ts.map +1 -0
- package/dist/cjs/automations/activity-kicks.js +123 -0
- package/dist/cjs/automations/activity-kicks.js.map +1 -0
- package/dist/cjs/automations/app-events-source.d.ts +33 -0
- package/dist/cjs/automations/app-events-source.d.ts.map +1 -0
- package/dist/cjs/automations/app-events-source.js +109 -0
- package/dist/cjs/automations/app-events-source.js.map +1 -0
- package/dist/cjs/automations/automations-project-plugin.d.ts +21 -0
- package/dist/cjs/automations/automations-project-plugin.d.ts.map +1 -0
- package/dist/cjs/automations/automations-project-plugin.js +102 -0
- package/dist/cjs/automations/automations-project-plugin.js.map +1 -0
- package/dist/cjs/automations/automations-scope.d.ts +104 -0
- package/dist/cjs/automations/automations-scope.d.ts.map +1 -0
- package/dist/cjs/automations/automations-scope.js +176 -0
- package/dist/cjs/automations/automations-scope.js.map +1 -0
- package/dist/cjs/automations/dispatcher-source.d.ts +72 -0
- package/dist/cjs/automations/dispatcher-source.d.ts.map +1 -0
- package/dist/cjs/automations/dispatcher-source.js +1008 -0
- package/dist/cjs/automations/dispatcher-source.js.map +1 -0
- package/dist/cjs/automations/event-bus-source.d.ts +44 -0
- package/dist/cjs/automations/event-bus-source.d.ts.map +1 -0
- package/dist/cjs/automations/event-bus-source.js +427 -0
- package/dist/cjs/automations/event-bus-source.js.map +1 -0
- package/dist/cjs/automations/handler-module-generator.d.ts +25 -0
- package/dist/cjs/automations/handler-module-generator.d.ts.map +1 -0
- package/dist/cjs/automations/handler-module-generator.js +78 -0
- package/dist/cjs/automations/handler-module-generator.js.map +1 -0
- package/dist/cjs/automations/hydrators-source.d.ts +33 -0
- package/dist/cjs/automations/hydrators-source.d.ts.map +1 -0
- package/dist/cjs/automations/hydrators-source.js +571 -0
- package/dist/cjs/automations/hydrators-source.js.map +1 -0
- package/dist/cjs/booking-calendar-feed-route-generator.d.ts.map +1 -1
- package/dist/cjs/booking-calendar-feed-route-generator.js +8 -0
- package/dist/cjs/booking-calendar-feed-route-generator.js.map +1 -1
- package/dist/cjs/configured-nextauth-url.d.ts +17 -0
- package/dist/cjs/configured-nextauth-url.d.ts.map +1 -0
- package/dist/cjs/configured-nextauth-url.js +20 -0
- package/dist/cjs/configured-nextauth-url.js.map +1 -0
- package/dist/cjs/cron-request-verification.d.ts +22 -1
- package/dist/cjs/cron-request-verification.d.ts.map +1 -1
- package/dist/cjs/cron-request-verification.js +50 -6
- package/dist/cjs/cron-request-verification.js.map +1 -1
- package/dist/cjs/data-api-route-generator.d.ts +19 -0
- package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
- package/dist/cjs/data-api-route-generator.js +711 -43
- package/dist/cjs/data-api-route-generator.js.map +1 -1
- package/dist/cjs/ecommerce/parameterized-stock-chain.d.ts +3 -1
- package/dist/cjs/ecommerce/parameterized-stock-chain.d.ts.map +1 -1
- package/dist/cjs/ecommerce/parameterized-stock-chain.js +45 -5
- package/dist/cjs/ecommerce/parameterized-stock-chain.js.map +1 -1
- package/dist/cjs/ecommerce/place-order-guards.d.ts +126 -0
- package/dist/cjs/ecommerce/place-order-guards.d.ts.map +1 -0
- package/dist/cjs/ecommerce/place-order-guards.js +670 -0
- package/dist/cjs/ecommerce/place-order-guards.js.map +1 -0
- package/dist/cjs/ecommerce-customhandler-rewriter.d.ts +2 -0
- package/dist/cjs/ecommerce-customhandler-rewriter.d.ts.map +1 -1
- package/dist/cjs/ecommerce-customhandler-rewriter.js +38 -2
- package/dist/cjs/ecommerce-customhandler-rewriter.js.map +1 -1
- package/dist/cjs/executor-generator.d.ts.map +1 -1
- package/dist/cjs/executor-generator.js +368 -60
- package/dist/cjs/executor-generator.js.map +1 -1
- package/dist/cjs/graph-utils.d.ts +9 -0
- package/dist/cjs/graph-utils.d.ts.map +1 -1
- package/dist/cjs/graph-utils.js +32 -1
- package/dist/cjs/graph-utils.js.map +1 -1
- package/dist/cjs/index.d.ts +20 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +72 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/invoice/api-routes-code.d.ts +9 -3
- package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/cjs/invoice/api-routes-code.js +9 -7
- package/dist/cjs/invoice/api-routes-code.js.map +1 -1
- package/dist/cjs/invoice/index.d.ts.map +1 -1
- package/dist/cjs/invoice/index.js +12 -7
- package/dist/cjs/invoice/index.js.map +1 -1
- package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -1
- package/dist/cjs/invoice/invoice-assembly-code.js +8 -3
- package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -1
- package/dist/cjs/invoice/pdf-generator-code.d.ts.map +1 -1
- package/dist/cjs/invoice/pdf-generator-code.js +2 -1
- package/dist/cjs/invoice/pdf-generator-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 +15 -7
- package/dist/cjs/invoice/pdf-service-client-code.js.map +1 -1
- package/dist/cjs/newsletter/admin-route-code.d.ts +60 -0
- package/dist/cjs/newsletter/admin-route-code.d.ts.map +1 -0
- package/dist/cjs/newsletter/admin-route-code.js +300 -0
- package/dist/cjs/newsletter/admin-route-code.js.map +1 -0
- package/dist/cjs/newsletter/helper-code.d.ts +109 -0
- package/dist/cjs/newsletter/helper-code.d.ts.map +1 -0
- package/dist/cjs/newsletter/helper-code.js +662 -0
- package/dist/cjs/newsletter/helper-code.js.map +1 -0
- package/dist/cjs/newsletter/newsletter-scope.d.ts +65 -0
- package/dist/cjs/newsletter/newsletter-scope.d.ts.map +1 -0
- package/dist/cjs/newsletter/newsletter-scope.js +103 -0
- package/dist/cjs/newsletter/newsletter-scope.js.map +1 -0
- package/dist/cjs/newsletter/project-plugin.d.ts +18 -0
- package/dist/cjs/newsletter/project-plugin.d.ts.map +1 -0
- package/dist/cjs/newsletter/project-plugin.js +97 -0
- package/dist/cjs/newsletter/project-plugin.js.map +1 -0
- package/dist/cjs/newsletter/routes-code.d.ts +6 -0
- package/dist/cjs/newsletter/routes-code.d.ts.map +1 -0
- package/dist/cjs/newsletter/routes-code.js +181 -0
- package/dist/cjs/newsletter/routes-code.js.map +1 -0
- package/dist/cjs/nodes/account/account-compare-passwords.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-compare-passwords.js +16 -6
- package/dist/cjs/nodes/account/account-compare-passwords.js.map +1 -1
- package/dist/cjs/nodes/account/account-delete-current.js +1 -1
- package/dist/cjs/nodes/account/account-get-current.js +1 -1
- package/dist/cjs/nodes/account/account-hash-password.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-hash-password.js +15 -3
- package/dist/cjs/nodes/account/account-hash-password.js.map +1 -1
- package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-login.js +23 -6
- package/dist/cjs/nodes/account/account-login.js.map +1 -1
- package/dist/cjs/nodes/account/account-logout.js +1 -1
- package/dist/cjs/nodes/account/account-refresh-session.js +1 -1
- package/dist/cjs/nodes/account/account-request-password-reset.d.ts +3 -0
- package/dist/cjs/nodes/account/account-request-password-reset.d.ts.map +1 -0
- package/dist/cjs/nodes/account/account-request-password-reset.js +46 -0
- package/dist/cjs/nodes/account/account-request-password-reset.js.map +1 -0
- package/dist/cjs/nodes/account/account-reset-password.d.ts +3 -0
- package/dist/cjs/nodes/account/account-reset-password.d.ts.map +1 -0
- package/dist/cjs/nodes/account/account-reset-password.js +44 -0
- package/dist/cjs/nodes/account/account-reset-password.js.map +1 -0
- package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-signup.js +82 -19
- package/dist/cjs/nodes/account/account-signup.js.map +1 -1
- package/dist/cjs/nodes/account/account-social-login.js +1 -1
- package/dist/cjs/nodes/ai/ai-custom-prompt.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-custom-prompt.js +20 -5
- package/dist/cjs/nodes/ai/ai-custom-prompt.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-detect-language.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-detect-language.js +20 -5
- package/dist/cjs/nodes/ai/ai-detect-language.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-generate-text-embedding.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-generate-text-embedding.js +10 -2
- package/dist/cjs/nodes/ai/ai-generate-text-embedding.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-provider-utils-sources.generated.js +2 -2
- package/dist/cjs/nodes/ai/ai-provider-utils-sources.generated.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-provider-utils.d.ts +31 -2
- package/dist/cjs/nodes/ai/ai-provider-utils.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-provider-utils.js +125 -11
- package/dist/cjs/nodes/ai/ai-provider-utils.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 -2
- package/dist/cjs/nodes/ai/ai-select-database-data.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-sentiment-analysis.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-sentiment-analysis.js +20 -5
- package/dist/cjs/nodes/ai/ai-sentiment-analysis.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-summarization.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-summarization.js +20 -5
- package/dist/cjs/nodes/ai/ai-summarization.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-text-classifier.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-text-classifier.js +20 -5
- package/dist/cjs/nodes/ai/ai-text-classifier.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-text-transform.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-text-transform.js +20 -5
- package/dist/cjs/nodes/ai/ai-text-transform.js.map +1 -1
- package/dist/cjs/nodes/analytics/analytics-track-outcome.d.ts +3 -0
- package/dist/cjs/nodes/analytics/analytics-track-outcome.d.ts.map +1 -0
- package/dist/cjs/nodes/analytics/analytics-track-outcome.js +110 -0
- package/dist/cjs/nodes/analytics/analytics-track-outcome.js.map +1 -0
- package/dist/cjs/nodes/cart/cart-price-order.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-price-order.js +161 -2
- package/dist/cjs/nodes/cart/cart-price-order.js.map +1 -1
- package/dist/cjs/nodes/cost-bearing-node-types.d.ts +4 -0
- package/dist/cjs/nodes/cost-bearing-node-types.d.ts.map +1 -0
- package/dist/cjs/nodes/cost-bearing-node-types.js +43 -0
- package/dist/cjs/nodes/cost-bearing-node-types.js.map +1 -0
- package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-select.js +12 -2
- package/dist/cjs/nodes/data/data-select.js.map +1 -1
- package/dist/cjs/nodes/email/email-mailersend.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-mailersend.js +15 -11
- package/dist/cjs/nodes/email/email-mailersend.js.map +1 -1
- package/dist/cjs/nodes/email/email-mailgun.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-mailgun.js +15 -15
- package/dist/cjs/nodes/email/email-mailgun.js.map +1 -1
- package/dist/cjs/nodes/email/email-postmark.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-postmark.js +15 -15
- package/dist/cjs/nodes/email/email-postmark.js.map +1 -1
- package/dist/cjs/nodes/email/email-resend.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-resend.js +15 -15
- package/dist/cjs/nodes/email/email-resend.js.map +1 -1
- package/dist/cjs/nodes/email/email-sendgrid.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-sendgrid.js +15 -15
- package/dist/cjs/nodes/email/email-sendgrid.js.map +1 -1
- package/dist/cjs/nodes/email/html-escape-code.d.ts +3 -0
- package/dist/cjs/nodes/email/html-escape-code.d.ts.map +1 -0
- package/dist/cjs/nodes/email/html-escape-code.js +23 -0
- package/dist/cjs/nodes/email/html-escape-code.js.map +1 -0
- package/dist/cjs/nodes/email/message-trust.d.ts +40 -0
- package/dist/cjs/nodes/email/message-trust.d.ts.map +1 -0
- package/dist/cjs/nodes/email/message-trust.js +167 -0
- package/dist/cjs/nodes/email/message-trust.js.map +1 -0
- package/dist/cjs/nodes/email/outbound-message-guard.d.ts +113 -0
- package/dist/cjs/nodes/email/outbound-message-guard.d.ts.map +1 -0
- package/dist/cjs/nodes/email/outbound-message-guard.js +460 -0
- package/dist/cjs/nodes/email/outbound-message-guard.js.map +1 -0
- package/dist/cjs/nodes/email/trusted-html-code.d.ts +22 -0
- package/dist/cjs/nodes/email/trusted-html-code.d.ts.map +1 -0
- package/dist/cjs/nodes/email/trusted-html-code.js +52 -0
- package/dist/cjs/nodes/email/trusted-html-code.js.map +1 -0
- package/dist/cjs/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/cjs/nodes/general/general-custom-js.js +44 -7
- package/dist/cjs/nodes/general/general-custom-js.js.map +1 -1
- package/dist/cjs/nodes/general/general-http-request.d.ts.map +1 -1
- package/dist/cjs/nodes/general/general-http-request.js +431 -45
- package/dist/cjs/nodes/general/general-http-request.js.map +1 -1
- package/dist/cjs/nodes/general/general-rate-limiter.d.ts.map +1 -1
- package/dist/cjs/nodes/general/general-rate-limiter.js +46 -78
- package/dist/cjs/nodes/general/general-rate-limiter.js.map +1 -1
- package/dist/cjs/nodes/general/general-wait.d.ts +3 -0
- package/dist/cjs/nodes/general/general-wait.d.ts.map +1 -0
- package/dist/cjs/nodes/general/general-wait.js +81 -0
- package/dist/cjs/nodes/general/general-wait.js.map +1 -0
- package/dist/cjs/nodes/general/visitor-request.d.ts +44 -0
- package/dist/cjs/nodes/general/visitor-request.d.ts.map +1 -0
- package/dist/cjs/nodes/general/visitor-request.js +72 -0
- package/dist/cjs/nodes/general/visitor-request.js.map +1 -0
- package/dist/cjs/nodes/index.d.ts.map +1 -1
- package/dist/cjs/nodes/index.js +7 -1
- package/dist/cjs/nodes/index.js.map +1 -1
- package/dist/cjs/nodes/integrations/integration-slack.d.ts.map +1 -1
- package/dist/cjs/nodes/integrations/integration-slack.js +17 -6
- package/dist/cjs/nodes/integrations/integration-slack.js.map +1 -1
- package/dist/cjs/nodes/newsletter/newsletter-confirm.d.ts +3 -0
- package/dist/cjs/nodes/newsletter/newsletter-confirm.d.ts.map +1 -0
- package/dist/cjs/nodes/newsletter/newsletter-confirm.js +41 -0
- package/dist/cjs/nodes/newsletter/newsletter-confirm.js.map +1 -0
- package/dist/cjs/nodes/newsletter/newsletter-subscribe.d.ts +7 -0
- package/dist/cjs/nodes/newsletter/newsletter-subscribe.d.ts.map +1 -0
- package/dist/cjs/nodes/newsletter/newsletter-subscribe.js +69 -0
- package/dist/cjs/nodes/newsletter/newsletter-subscribe.js.map +1 -0
- package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.d.ts +3 -0
- package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.d.ts.map +1 -0
- package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.js +42 -0
- package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.js.map +1 -0
- package/dist/cjs/nodes/realtime/realtime-join-channel.d.ts.map +1 -1
- package/dist/cjs/nodes/realtime/realtime-join-channel.js +5 -4
- package/dist/cjs/nodes/realtime/realtime-join-channel.js.map +1 -1
- package/dist/cjs/nodes/realtime/realtime-send-channel-event.d.ts.map +1 -1
- package/dist/cjs/nodes/realtime/realtime-send-channel-event.js +11 -2
- package/dist/cjs/nodes/realtime/realtime-send-channel-event.js.map +1 -1
- package/dist/cjs/nodes/realtime/realtime-send-channel-message.d.ts.map +1 -1
- package/dist/cjs/nodes/realtime/realtime-send-channel-message.js +11 -2
- package/dist/cjs/nodes/realtime/realtime-send-channel-message.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-infobip.d.ts.map +1 -1
- package/dist/cjs/nodes/sms/sms-infobip.js +11 -8
- package/dist/cjs/nodes/sms/sms-infobip.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-smsapi.d.ts.map +1 -1
- package/dist/cjs/nodes/sms/sms-smsapi.js +11 -8
- package/dist/cjs/nodes/sms/sms-smsapi.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-textmagic.d.ts.map +1 -1
- package/dist/cjs/nodes/sms/sms-textmagic.js +11 -8
- package/dist/cjs/nodes/sms/sms-textmagic.js.map +1 -1
- package/dist/cjs/nodes/sms/sms-twilio.d.ts.map +1 -1
- package/dist/cjs/nodes/sms/sms-twilio.js +12 -10
- package/dist/cjs/nodes/sms/sms-twilio.js.map +1 -1
- package/dist/cjs/nodes/types.d.ts +8 -1
- package/dist/cjs/nodes/types.d.ts.map +1 -1
- package/dist/cjs/nodes/utility/utility-similarity-scoring.d.ts.map +1 -1
- package/dist/cjs/nodes/utility/utility-similarity-scoring.js +29 -10
- package/dist/cjs/nodes/utility/utility-similarity-scoring.js.map +1 -1
- package/dist/cjs/page-access-guard-generator.d.ts +23 -0
- package/dist/cjs/page-access-guard-generator.d.ts.map +1 -0
- package/dist/cjs/page-access-guard-generator.js +135 -0
- package/dist/cjs/page-access-guard-generator.js.map +1 -0
- package/dist/cjs/password-reset-route-generator.d.ts +119 -0
- package/dist/cjs/password-reset-route-generator.d.ts.map +1 -0
- package/dist/cjs/password-reset-route-generator.js +460 -0
- package/dist/cjs/password-reset-route-generator.js.map +1 -0
- package/dist/cjs/payments/payment-core-code.d.ts.map +1 -1
- package/dist/cjs/payments/payment-core-code.js +12 -7
- package/dist/cjs/payments/payment-core-code.js.map +1 -1
- package/dist/cjs/project-code-scanner.d.ts +11 -0
- package/dist/cjs/project-code-scanner.d.ts.map +1 -0
- package/dist/cjs/project-code-scanner.js +80 -0
- package/dist/cjs/project-code-scanner.js.map +1 -0
- package/dist/cjs/public-step-guards.d.ts +122 -0
- package/dist/cjs/public-step-guards.d.ts.map +1 -0
- package/dist/cjs/public-step-guards.js +288 -0
- package/dist/cjs/public-step-guards.js.map +1 -0
- package/dist/cjs/publish-refusals.d.ts +66 -0
- package/dist/cjs/publish-refusals.d.ts.map +1 -0
- package/dist/cjs/publish-refusals.js +278 -0
- package/dist/cjs/publish-refusals.js.map +1 -0
- package/dist/cjs/realtime-generator.d.ts +63 -1
- package/dist/cjs/realtime-generator.d.ts.map +1 -1
- package/dist/cjs/realtime-generator.js +404 -230
- package/dist/cjs/realtime-generator.js.map +1 -1
- package/dist/cjs/runtime-storage-generator.d.ts +32 -1
- package/dist/cjs/runtime-storage-generator.d.ts.map +1 -1
- package/dist/cjs/runtime-storage-generator.js +265 -12
- package/dist/cjs/runtime-storage-generator.js.map +1 -1
- package/dist/cjs/security-runtime/index.d.ts +14 -0
- package/dist/cjs/security-runtime/index.d.ts.map +1 -0
- package/dist/cjs/security-runtime/index.js +48 -0
- package/dist/cjs/security-runtime/index.js.map +1 -0
- package/dist/cjs/security-runtime/security-runtime-code.d.ts +53 -0
- package/dist/cjs/security-runtime/security-runtime-code.d.ts.map +1 -0
- package/dist/cjs/security-runtime/security-runtime-code.js +580 -0
- package/dist/cjs/security-runtime/security-runtime-code.js.map +1 -0
- package/dist/cjs/security-scanner.d.ts +72 -3
- package/dist/cjs/security-scanner.d.ts.map +1 -1
- package/dist/cjs/security-scanner.js +220 -8
- package/dist/cjs/security-scanner.js.map +1 -1
- package/dist/cjs/segment-splitter.d.ts.map +1 -1
- package/dist/cjs/segment-splitter.js +10 -2
- package/dist/cjs/segment-splitter.js.map +1 -1
- package/dist/cjs/segment-trust.d.ts +36 -0
- package/dist/cjs/segment-trust.d.ts.map +1 -1
- package/dist/cjs/segment-trust.js +147 -3
- package/dist/cjs/segment-trust.js.map +1 -1
- package/dist/cjs/self-call-headers.d.ts +31 -0
- package/dist/cjs/self-call-headers.d.ts.map +1 -0
- package/dist/cjs/self-call-headers.js +48 -0
- package/dist/cjs/self-call-headers.js.map +1 -0
- package/dist/cjs/sent-email-log/index.d.ts +7 -0
- package/dist/cjs/sent-email-log/index.d.ts.map +1 -1
- package/dist/cjs/sent-email-log/index.js +17 -1
- package/dist/cjs/sent-email-log/index.js.map +1 -1
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +7 -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 +17 -3
- package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/cjs/server-custom-node-call.d.ts +79 -0
- package/dist/cjs/server-custom-node-call.d.ts.map +1 -0
- package/dist/cjs/server-custom-node-call.js +285 -0
- package/dist/cjs/server-custom-node-call.js.map +1 -0
- package/dist/cjs/server-runtime-code.d.ts +39 -12
- package/dist/cjs/server-runtime-code.d.ts.map +1 -1
- package/dist/cjs/server-runtime-code.js +484 -41
- package/dist/cjs/server-runtime-code.js.map +1 -1
- package/dist/cjs/session-cookie-resolver.d.ts +3 -1
- package/dist/cjs/session-cookie-resolver.d.ts.map +1 -1
- package/dist/cjs/session-revocation-generator.d.ts +39 -0
- package/dist/cjs/session-revocation-generator.d.ts.map +1 -0
- package/dist/cjs/session-revocation-generator.js +177 -0
- package/dist/cjs/session-revocation-generator.js.map +1 -0
- package/dist/cjs/slack-message-values.d.ts +6 -0
- package/dist/cjs/slack-message-values.d.ts.map +1 -0
- package/dist/cjs/slack-message-values.js +73 -0
- package/dist/cjs/slack-message-values.js.map +1 -0
- package/dist/cjs/transactional-email-code.d.ts +11 -0
- package/dist/cjs/transactional-email-code.d.ts.map +1 -1
- package/dist/cjs/transactional-email-code.js +29 -5
- package/dist/cjs/transactional-email-code.js.map +1 -1
- package/dist/cjs/trigger-generator.d.ts +2 -0
- package/dist/cjs/trigger-generator.d.ts.map +1 -1
- package/dist/cjs/trigger-generator.js +17 -4
- package/dist/cjs/trigger-generator.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/visitor-step-limits.d.ts +66 -0
- package/dist/cjs/visitor-step-limits.d.ts.map +1 -0
- package/dist/cjs/visitor-step-limits.js +187 -0
- package/dist/cjs/visitor-step-limits.js.map +1 -0
- package/dist/cjs/webhook-generator.d.ts.map +1 -1
- package/dist/cjs/webhook-generator.js +93 -15
- package/dist/cjs/webhook-generator.js.map +1 -1
- package/dist/cjs/webhook-signature-verification.d.ts.map +1 -1
- package/dist/cjs/webhook-signature-verification.js +13 -3
- package/dist/cjs/webhook-signature-verification.js.map +1 -1
- package/dist/cjs/workflow-auth-generator.d.ts +4 -1
- package/dist/cjs/workflow-auth-generator.d.ts.map +1 -1
- package/dist/cjs/workflow-auth-generator.js +8 -3
- package/dist/cjs/workflow-auth-generator.js.map +1 -1
- package/dist/cjs/workflow-component-plugin.js +11 -3
- package/dist/cjs/workflow-component-plugin.js.map +1 -1
- package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-project-plugin.js +302 -56
- package/dist/cjs/workflow-project-plugin.js.map +1 -1
- package/dist/cjs/workflow-scope.d.ts.map +1 -1
- package/dist/cjs/workflow-scope.js +5 -0
- package/dist/cjs/workflow-scope.js.map +1 -1
- package/dist/esm/account-delete-route-generator.d.ts +1 -0
- package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
- package/dist/esm/account-delete-route-generator.js +18 -3
- package/dist/esm/account-delete-route-generator.js.map +1 -1
- package/dist/esm/api-route-generator.d.ts +52 -3
- package/dist/esm/api-route-generator.d.ts.map +1 -1
- package/dist/esm/api-route-generator.js +595 -142
- package/dist/esm/api-route-generator.js.map +1 -1
- package/dist/esm/auth-generator.d.ts +126 -3
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +1350 -140
- package/dist/esm/auth-generator.js.map +1 -1
- package/dist/esm/automations/activity-kicks.d.ts +12 -0
- package/dist/esm/automations/activity-kicks.d.ts.map +1 -0
- package/dist/esm/automations/activity-kicks.js +118 -0
- package/dist/esm/automations/activity-kicks.js.map +1 -0
- package/dist/esm/automations/app-events-source.d.ts +33 -0
- package/dist/esm/automations/app-events-source.d.ts.map +1 -0
- package/dist/esm/automations/app-events-source.js +104 -0
- package/dist/esm/automations/app-events-source.js.map +1 -0
- package/dist/esm/automations/automations-project-plugin.d.ts +21 -0
- package/dist/esm/automations/automations-project-plugin.d.ts.map +1 -0
- package/dist/esm/automations/automations-project-plugin.js +98 -0
- package/dist/esm/automations/automations-project-plugin.js.map +1 -0
- package/dist/esm/automations/automations-scope.d.ts +104 -0
- package/dist/esm/automations/automations-scope.d.ts.map +1 -0
- package/dist/esm/automations/automations-scope.js +165 -0
- package/dist/esm/automations/automations-scope.js.map +1 -0
- package/dist/esm/automations/dispatcher-source.d.ts +72 -0
- package/dist/esm/automations/dispatcher-source.d.ts.map +1 -0
- package/dist/esm/automations/dispatcher-source.js +999 -0
- package/dist/esm/automations/dispatcher-source.js.map +1 -0
- package/dist/esm/automations/event-bus-source.d.ts +44 -0
- package/dist/esm/automations/event-bus-source.d.ts.map +1 -0
- package/dist/esm/automations/event-bus-source.js +421 -0
- package/dist/esm/automations/event-bus-source.js.map +1 -0
- package/dist/esm/automations/handler-module-generator.d.ts +25 -0
- package/dist/esm/automations/handler-module-generator.d.ts.map +1 -0
- package/dist/esm/automations/handler-module-generator.js +71 -0
- package/dist/esm/automations/handler-module-generator.js.map +1 -0
- package/dist/esm/automations/hydrators-source.d.ts +33 -0
- package/dist/esm/automations/hydrators-source.d.ts.map +1 -0
- package/dist/esm/automations/hydrators-source.js +567 -0
- package/dist/esm/automations/hydrators-source.js.map +1 -0
- package/dist/esm/booking-calendar-feed-route-generator.d.ts.map +1 -1
- package/dist/esm/booking-calendar-feed-route-generator.js +8 -0
- package/dist/esm/booking-calendar-feed-route-generator.js.map +1 -1
- package/dist/esm/configured-nextauth-url.d.ts +17 -0
- package/dist/esm/configured-nextauth-url.d.ts.map +1 -0
- package/dist/esm/configured-nextauth-url.js +17 -0
- package/dist/esm/configured-nextauth-url.js.map +1 -0
- package/dist/esm/cron-request-verification.d.ts +22 -1
- package/dist/esm/cron-request-verification.d.ts.map +1 -1
- package/dist/esm/cron-request-verification.js +48 -5
- package/dist/esm/cron-request-verification.js.map +1 -1
- package/dist/esm/data-api-route-generator.d.ts +19 -0
- package/dist/esm/data-api-route-generator.d.ts.map +1 -1
- package/dist/esm/data-api-route-generator.js +710 -43
- package/dist/esm/data-api-route-generator.js.map +1 -1
- package/dist/esm/ecommerce/parameterized-stock-chain.d.ts +3 -1
- package/dist/esm/ecommerce/parameterized-stock-chain.d.ts.map +1 -1
- package/dist/esm/ecommerce/parameterized-stock-chain.js +43 -4
- package/dist/esm/ecommerce/parameterized-stock-chain.js.map +1 -1
- package/dist/esm/ecommerce/place-order-guards.d.ts +126 -0
- package/dist/esm/ecommerce/place-order-guards.d.ts.map +1 -0
- package/dist/esm/ecommerce/place-order-guards.js +655 -0
- package/dist/esm/ecommerce/place-order-guards.js.map +1 -0
- package/dist/esm/ecommerce-customhandler-rewriter.d.ts +2 -0
- package/dist/esm/ecommerce-customhandler-rewriter.d.ts.map +1 -1
- package/dist/esm/ecommerce-customhandler-rewriter.js +38 -2
- package/dist/esm/ecommerce-customhandler-rewriter.js.map +1 -1
- package/dist/esm/executor-generator.d.ts.map +1 -1
- package/dist/esm/executor-generator.js +368 -60
- package/dist/esm/executor-generator.js.map +1 -1
- package/dist/esm/graph-utils.d.ts +9 -0
- package/dist/esm/graph-utils.d.ts.map +1 -1
- package/dist/esm/graph-utils.js +30 -0
- package/dist/esm/graph-utils.js.map +1 -1
- package/dist/esm/index.d.ts +20 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +27 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/invoice/api-routes-code.d.ts +9 -3
- package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/esm/invoice/api-routes-code.js +9 -7
- package/dist/esm/invoice/api-routes-code.js.map +1 -1
- package/dist/esm/invoice/index.d.ts.map +1 -1
- package/dist/esm/invoice/index.js +12 -7
- package/dist/esm/invoice/index.js.map +1 -1
- package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -1
- package/dist/esm/invoice/invoice-assembly-code.js +8 -3
- package/dist/esm/invoice/invoice-assembly-code.js.map +1 -1
- package/dist/esm/invoice/pdf-generator-code.d.ts.map +1 -1
- package/dist/esm/invoice/pdf-generator-code.js +2 -1
- package/dist/esm/invoice/pdf-generator-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 +15 -7
- package/dist/esm/invoice/pdf-service-client-code.js.map +1 -1
- package/dist/esm/newsletter/admin-route-code.d.ts +60 -0
- package/dist/esm/newsletter/admin-route-code.d.ts.map +1 -0
- package/dist/esm/newsletter/admin-route-code.js +295 -0
- package/dist/esm/newsletter/admin-route-code.js.map +1 -0
- package/dist/esm/newsletter/helper-code.d.ts +109 -0
- package/dist/esm/newsletter/helper-code.d.ts.map +1 -0
- package/dist/esm/newsletter/helper-code.js +656 -0
- package/dist/esm/newsletter/helper-code.js.map +1 -0
- package/dist/esm/newsletter/newsletter-scope.d.ts +65 -0
- package/dist/esm/newsletter/newsletter-scope.d.ts.map +1 -0
- package/dist/esm/newsletter/newsletter-scope.js +97 -0
- package/dist/esm/newsletter/newsletter-scope.js.map +1 -0
- package/dist/esm/newsletter/project-plugin.d.ts +18 -0
- package/dist/esm/newsletter/project-plugin.d.ts.map +1 -0
- package/dist/esm/newsletter/project-plugin.js +93 -0
- package/dist/esm/newsletter/project-plugin.js.map +1 -0
- package/dist/esm/newsletter/routes-code.d.ts +6 -0
- package/dist/esm/newsletter/routes-code.d.ts.map +1 -0
- package/dist/esm/newsletter/routes-code.js +175 -0
- package/dist/esm/newsletter/routes-code.js.map +1 -0
- package/dist/esm/nodes/account/account-compare-passwords.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-compare-passwords.js +16 -6
- package/dist/esm/nodes/account/account-compare-passwords.js.map +1 -1
- package/dist/esm/nodes/account/account-delete-current.js +1 -1
- package/dist/esm/nodes/account/account-get-current.js +1 -1
- package/dist/esm/nodes/account/account-hash-password.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-hash-password.js +15 -3
- package/dist/esm/nodes/account/account-hash-password.js.map +1 -1
- package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-login.js +23 -6
- package/dist/esm/nodes/account/account-login.js.map +1 -1
- package/dist/esm/nodes/account/account-logout.js +1 -1
- package/dist/esm/nodes/account/account-refresh-session.js +1 -1
- package/dist/esm/nodes/account/account-request-password-reset.d.ts +3 -0
- package/dist/esm/nodes/account/account-request-password-reset.d.ts.map +1 -0
- package/dist/esm/nodes/account/account-request-password-reset.js +43 -0
- package/dist/esm/nodes/account/account-request-password-reset.js.map +1 -0
- package/dist/esm/nodes/account/account-reset-password.d.ts +3 -0
- package/dist/esm/nodes/account/account-reset-password.d.ts.map +1 -0
- package/dist/esm/nodes/account/account-reset-password.js +41 -0
- package/dist/esm/nodes/account/account-reset-password.js.map +1 -0
- package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-signup.js +82 -19
- package/dist/esm/nodes/account/account-signup.js.map +1 -1
- package/dist/esm/nodes/account/account-social-login.js +1 -1
- package/dist/esm/nodes/ai/ai-custom-prompt.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-custom-prompt.js +20 -5
- package/dist/esm/nodes/ai/ai-custom-prompt.js.map +1 -1
- package/dist/esm/nodes/ai/ai-detect-language.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-detect-language.js +20 -5
- package/dist/esm/nodes/ai/ai-detect-language.js.map +1 -1
- package/dist/esm/nodes/ai/ai-generate-text-embedding.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-generate-text-embedding.js +10 -2
- package/dist/esm/nodes/ai/ai-generate-text-embedding.js.map +1 -1
- package/dist/esm/nodes/ai/ai-provider-utils-sources.generated.js +2 -2
- package/dist/esm/nodes/ai/ai-provider-utils-sources.generated.js.map +1 -1
- package/dist/esm/nodes/ai/ai-provider-utils.d.ts +31 -2
- package/dist/esm/nodes/ai/ai-provider-utils.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-provider-utils.js +124 -10
- package/dist/esm/nodes/ai/ai-provider-utils.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 -2
- package/dist/esm/nodes/ai/ai-select-database-data.js.map +1 -1
- package/dist/esm/nodes/ai/ai-sentiment-analysis.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-sentiment-analysis.js +20 -5
- package/dist/esm/nodes/ai/ai-sentiment-analysis.js.map +1 -1
- package/dist/esm/nodes/ai/ai-summarization.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-summarization.js +20 -5
- package/dist/esm/nodes/ai/ai-summarization.js.map +1 -1
- package/dist/esm/nodes/ai/ai-text-classifier.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-text-classifier.js +20 -5
- package/dist/esm/nodes/ai/ai-text-classifier.js.map +1 -1
- package/dist/esm/nodes/ai/ai-text-transform.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-text-transform.js +20 -5
- package/dist/esm/nodes/ai/ai-text-transform.js.map +1 -1
- package/dist/esm/nodes/analytics/analytics-track-outcome.d.ts +3 -0
- package/dist/esm/nodes/analytics/analytics-track-outcome.d.ts.map +1 -0
- package/dist/esm/nodes/analytics/analytics-track-outcome.js +107 -0
- package/dist/esm/nodes/analytics/analytics-track-outcome.js.map +1 -0
- package/dist/esm/nodes/cart/cart-price-order.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-price-order.js +161 -2
- package/dist/esm/nodes/cart/cart-price-order.js.map +1 -1
- package/dist/esm/nodes/cost-bearing-node-types.d.ts +4 -0
- package/dist/esm/nodes/cost-bearing-node-types.d.ts.map +1 -0
- package/dist/esm/nodes/cost-bearing-node-types.js +39 -0
- package/dist/esm/nodes/cost-bearing-node-types.js.map +1 -0
- package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-select.js +12 -2
- package/dist/esm/nodes/data/data-select.js.map +1 -1
- package/dist/esm/nodes/email/email-mailersend.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-mailersend.js +15 -11
- package/dist/esm/nodes/email/email-mailersend.js.map +1 -1
- package/dist/esm/nodes/email/email-mailgun.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-mailgun.js +15 -15
- package/dist/esm/nodes/email/email-mailgun.js.map +1 -1
- package/dist/esm/nodes/email/email-postmark.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-postmark.js +15 -15
- package/dist/esm/nodes/email/email-postmark.js.map +1 -1
- package/dist/esm/nodes/email/email-resend.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-resend.js +15 -15
- package/dist/esm/nodes/email/email-resend.js.map +1 -1
- package/dist/esm/nodes/email/email-sendgrid.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-sendgrid.js +15 -15
- package/dist/esm/nodes/email/email-sendgrid.js.map +1 -1
- package/dist/esm/nodes/email/html-escape-code.d.ts +3 -0
- package/dist/esm/nodes/email/html-escape-code.d.ts.map +1 -0
- package/dist/esm/nodes/email/html-escape-code.js +18 -0
- package/dist/esm/nodes/email/html-escape-code.js.map +1 -0
- package/dist/esm/nodes/email/message-trust.d.ts +40 -0
- package/dist/esm/nodes/email/message-trust.d.ts.map +1 -0
- package/dist/esm/nodes/email/message-trust.js +161 -0
- package/dist/esm/nodes/email/message-trust.js.map +1 -0
- package/dist/esm/nodes/email/outbound-message-guard.d.ts +113 -0
- package/dist/esm/nodes/email/outbound-message-guard.d.ts.map +1 -0
- package/dist/esm/nodes/email/outbound-message-guard.js +452 -0
- package/dist/esm/nodes/email/outbound-message-guard.js.map +1 -0
- package/dist/esm/nodes/email/trusted-html-code.d.ts +22 -0
- package/dist/esm/nodes/email/trusted-html-code.d.ts.map +1 -0
- package/dist/esm/nodes/email/trusted-html-code.js +49 -0
- package/dist/esm/nodes/email/trusted-html-code.js.map +1 -0
- package/dist/esm/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/esm/nodes/general/general-custom-js.js +44 -7
- package/dist/esm/nodes/general/general-custom-js.js.map +1 -1
- package/dist/esm/nodes/general/general-http-request.d.ts.map +1 -1
- package/dist/esm/nodes/general/general-http-request.js +431 -45
- package/dist/esm/nodes/general/general-http-request.js.map +1 -1
- package/dist/esm/nodes/general/general-rate-limiter.d.ts.map +1 -1
- package/dist/esm/nodes/general/general-rate-limiter.js +46 -78
- package/dist/esm/nodes/general/general-rate-limiter.js.map +1 -1
- package/dist/esm/nodes/general/general-wait.d.ts +3 -0
- package/dist/esm/nodes/general/general-wait.d.ts.map +1 -0
- package/dist/esm/nodes/general/general-wait.js +78 -0
- package/dist/esm/nodes/general/general-wait.js.map +1 -0
- package/dist/esm/nodes/general/visitor-request.d.ts +44 -0
- package/dist/esm/nodes/general/visitor-request.d.ts.map +1 -0
- package/dist/esm/nodes/general/visitor-request.js +65 -0
- package/dist/esm/nodes/general/visitor-request.js.map +1 -0
- package/dist/esm/nodes/index.d.ts.map +1 -1
- package/dist/esm/nodes/index.js +7 -1
- package/dist/esm/nodes/index.js.map +1 -1
- package/dist/esm/nodes/integrations/integration-slack.d.ts.map +1 -1
- package/dist/esm/nodes/integrations/integration-slack.js +17 -6
- package/dist/esm/nodes/integrations/integration-slack.js.map +1 -1
- package/dist/esm/nodes/newsletter/newsletter-confirm.d.ts +3 -0
- package/dist/esm/nodes/newsletter/newsletter-confirm.d.ts.map +1 -0
- package/dist/esm/nodes/newsletter/newsletter-confirm.js +38 -0
- package/dist/esm/nodes/newsletter/newsletter-confirm.js.map +1 -0
- package/dist/esm/nodes/newsletter/newsletter-subscribe.d.ts +7 -0
- package/dist/esm/nodes/newsletter/newsletter-subscribe.d.ts.map +1 -0
- package/dist/esm/nodes/newsletter/newsletter-subscribe.js +66 -0
- package/dist/esm/nodes/newsletter/newsletter-subscribe.js.map +1 -0
- package/dist/esm/nodes/newsletter/newsletter-unsubscribe.d.ts +3 -0
- package/dist/esm/nodes/newsletter/newsletter-unsubscribe.d.ts.map +1 -0
- package/dist/esm/nodes/newsletter/newsletter-unsubscribe.js +39 -0
- package/dist/esm/nodes/newsletter/newsletter-unsubscribe.js.map +1 -0
- package/dist/esm/nodes/realtime/realtime-join-channel.d.ts.map +1 -1
- package/dist/esm/nodes/realtime/realtime-join-channel.js +5 -4
- package/dist/esm/nodes/realtime/realtime-join-channel.js.map +1 -1
- package/dist/esm/nodes/realtime/realtime-send-channel-event.d.ts.map +1 -1
- package/dist/esm/nodes/realtime/realtime-send-channel-event.js +11 -2
- package/dist/esm/nodes/realtime/realtime-send-channel-event.js.map +1 -1
- package/dist/esm/nodes/realtime/realtime-send-channel-message.d.ts.map +1 -1
- package/dist/esm/nodes/realtime/realtime-send-channel-message.js +11 -2
- package/dist/esm/nodes/realtime/realtime-send-channel-message.js.map +1 -1
- package/dist/esm/nodes/sms/sms-infobip.d.ts.map +1 -1
- package/dist/esm/nodes/sms/sms-infobip.js +11 -8
- package/dist/esm/nodes/sms/sms-infobip.js.map +1 -1
- package/dist/esm/nodes/sms/sms-smsapi.d.ts.map +1 -1
- package/dist/esm/nodes/sms/sms-smsapi.js +11 -8
- package/dist/esm/nodes/sms/sms-smsapi.js.map +1 -1
- package/dist/esm/nodes/sms/sms-textmagic.d.ts.map +1 -1
- package/dist/esm/nodes/sms/sms-textmagic.js +11 -8
- package/dist/esm/nodes/sms/sms-textmagic.js.map +1 -1
- package/dist/esm/nodes/sms/sms-twilio.d.ts.map +1 -1
- package/dist/esm/nodes/sms/sms-twilio.js +12 -10
- package/dist/esm/nodes/sms/sms-twilio.js.map +1 -1
- package/dist/esm/nodes/types.d.ts +8 -1
- package/dist/esm/nodes/types.d.ts.map +1 -1
- package/dist/esm/nodes/utility/utility-similarity-scoring.d.ts.map +1 -1
- package/dist/esm/nodes/utility/utility-similarity-scoring.js +29 -10
- package/dist/esm/nodes/utility/utility-similarity-scoring.js.map +1 -1
- package/dist/esm/page-access-guard-generator.d.ts +23 -0
- package/dist/esm/page-access-guard-generator.d.ts.map +1 -0
- package/dist/esm/page-access-guard-generator.js +131 -0
- package/dist/esm/page-access-guard-generator.js.map +1 -0
- package/dist/esm/password-reset-route-generator.d.ts +119 -0
- package/dist/esm/password-reset-route-generator.d.ts.map +1 -0
- package/dist/esm/password-reset-route-generator.js +448 -0
- package/dist/esm/password-reset-route-generator.js.map +1 -0
- package/dist/esm/payments/payment-core-code.d.ts.map +1 -1
- package/dist/esm/payments/payment-core-code.js +12 -7
- package/dist/esm/payments/payment-core-code.js.map +1 -1
- package/dist/esm/project-code-scanner.d.ts +11 -0
- package/dist/esm/project-code-scanner.d.ts.map +1 -0
- package/dist/esm/project-code-scanner.js +75 -0
- package/dist/esm/project-code-scanner.js.map +1 -0
- package/dist/esm/public-step-guards.d.ts +122 -0
- package/dist/esm/public-step-guards.d.ts.map +1 -0
- package/dist/esm/public-step-guards.js +280 -0
- package/dist/esm/public-step-guards.js.map +1 -0
- package/dist/esm/publish-refusals.d.ts +66 -0
- package/dist/esm/publish-refusals.d.ts.map +1 -0
- package/dist/esm/publish-refusals.js +271 -0
- package/dist/esm/publish-refusals.js.map +1 -0
- package/dist/esm/realtime-generator.d.ts +63 -1
- package/dist/esm/realtime-generator.d.ts.map +1 -1
- package/dist/esm/realtime-generator.js +401 -229
- package/dist/esm/realtime-generator.js.map +1 -1
- package/dist/esm/runtime-storage-generator.d.ts +32 -1
- package/dist/esm/runtime-storage-generator.d.ts.map +1 -1
- package/dist/esm/runtime-storage-generator.js +264 -11
- package/dist/esm/runtime-storage-generator.js.map +1 -1
- package/dist/esm/security-runtime/index.d.ts +14 -0
- package/dist/esm/security-runtime/index.d.ts.map +1 -0
- package/dist/esm/security-runtime/index.js +37 -0
- package/dist/esm/security-runtime/index.js.map +1 -0
- package/dist/esm/security-runtime/security-runtime-code.d.ts +53 -0
- package/dist/esm/security-runtime/security-runtime-code.d.ts.map +1 -0
- package/dist/esm/security-runtime/security-runtime-code.js +575 -0
- package/dist/esm/security-runtime/security-runtime-code.js.map +1 -0
- package/dist/esm/security-scanner.d.ts +72 -3
- package/dist/esm/security-scanner.d.ts.map +1 -1
- package/dist/esm/security-scanner.js +217 -8
- package/dist/esm/security-scanner.js.map +1 -1
- package/dist/esm/segment-splitter.d.ts.map +1 -1
- package/dist/esm/segment-splitter.js +10 -2
- package/dist/esm/segment-splitter.js.map +1 -1
- package/dist/esm/segment-trust.d.ts +36 -0
- package/dist/esm/segment-trust.d.ts.map +1 -1
- package/dist/esm/segment-trust.js +146 -2
- package/dist/esm/segment-trust.js.map +1 -1
- package/dist/esm/self-call-headers.d.ts +31 -0
- package/dist/esm/self-call-headers.d.ts.map +1 -0
- package/dist/esm/self-call-headers.js +43 -0
- package/dist/esm/self-call-headers.js.map +1 -0
- package/dist/esm/sent-email-log/index.d.ts +7 -0
- package/dist/esm/sent-email-log/index.d.ts.map +1 -1
- package/dist/esm/sent-email-log/index.js +15 -0
- package/dist/esm/sent-email-log/index.js.map +1 -1
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts +7 -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 +17 -3
- package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/esm/server-custom-node-call.d.ts +79 -0
- package/dist/esm/server-custom-node-call.d.ts.map +1 -0
- package/dist/esm/server-custom-node-call.js +278 -0
- package/dist/esm/server-custom-node-call.js.map +1 -0
- package/dist/esm/server-runtime-code.d.ts +39 -12
- package/dist/esm/server-runtime-code.d.ts.map +1 -1
- package/dist/esm/server-runtime-code.js +483 -40
- package/dist/esm/server-runtime-code.js.map +1 -1
- package/dist/esm/session-cookie-resolver.d.ts +3 -1
- package/dist/esm/session-cookie-resolver.d.ts.map +1 -1
- package/dist/esm/session-revocation-generator.d.ts +39 -0
- package/dist/esm/session-revocation-generator.d.ts.map +1 -0
- package/dist/esm/session-revocation-generator.js +172 -0
- package/dist/esm/session-revocation-generator.js.map +1 -0
- package/dist/esm/slack-message-values.d.ts +6 -0
- package/dist/esm/slack-message-values.d.ts.map +1 -0
- package/dist/esm/slack-message-values.js +68 -0
- package/dist/esm/slack-message-values.js.map +1 -0
- package/dist/esm/transactional-email-code.d.ts +11 -0
- package/dist/esm/transactional-email-code.d.ts.map +1 -1
- package/dist/esm/transactional-email-code.js +28 -4
- package/dist/esm/transactional-email-code.js.map +1 -1
- package/dist/esm/trigger-generator.d.ts +2 -0
- package/dist/esm/trigger-generator.d.ts.map +1 -1
- package/dist/esm/trigger-generator.js +15 -3
- package/dist/esm/trigger-generator.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/visitor-step-limits.d.ts +66 -0
- package/dist/esm/visitor-step-limits.d.ts.map +1 -0
- package/dist/esm/visitor-step-limits.js +181 -0
- package/dist/esm/visitor-step-limits.js.map +1 -0
- package/dist/esm/webhook-generator.d.ts.map +1 -1
- package/dist/esm/webhook-generator.js +93 -15
- package/dist/esm/webhook-generator.js.map +1 -1
- package/dist/esm/webhook-signature-verification.d.ts.map +1 -1
- package/dist/esm/webhook-signature-verification.js +13 -3
- package/dist/esm/webhook-signature-verification.js.map +1 -1
- package/dist/esm/workflow-auth-generator.d.ts +4 -1
- package/dist/esm/workflow-auth-generator.d.ts.map +1 -1
- package/dist/esm/workflow-auth-generator.js +8 -3
- package/dist/esm/workflow-auth-generator.js.map +1 -1
- package/dist/esm/workflow-component-plugin.js +12 -4
- package/dist/esm/workflow-component-plugin.js.map +1 -1
- package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-project-plugin.js +306 -60
- package/dist/esm/workflow-project-plugin.js.map +1 -1
- package/dist/esm/workflow-scope.d.ts.map +1 -1
- package/dist/esm/workflow-scope.js +5 -0
- package/dist/esm/workflow-scope.js.map +1 -1
- package/package.json +4 -4
- package/src/account-delete-route-generator.ts +28 -4
- package/src/api-route-generator.ts +712 -134
- package/src/auth-generator.ts +1471 -142
- package/src/automations/activity-kicks.ts +139 -0
- package/src/automations/app-events-source.ts +117 -0
- package/src/automations/automations-project-plugin.ts +202 -0
- package/src/automations/automations-scope.ts +196 -0
- package/src/automations/dispatcher-source.ts +1072 -0
- package/src/automations/event-bus-source.ts +428 -0
- package/src/automations/handler-module-generator.ts +107 -0
- package/src/automations/hydrators-source.ts +647 -0
- package/src/booking-calendar-feed-route-generator.ts +8 -0
- package/src/configured-nextauth-url.ts +17 -0
- package/src/cron-request-verification.ts +55 -5
- package/src/data-api-route-generator.ts +780 -43
- package/src/ecommerce/parameterized-stock-chain.ts +52 -5
- package/src/ecommerce/place-order-guards.ts +785 -0
- package/src/ecommerce-customhandler-rewriter.ts +55 -2
- package/src/executor-generator.ts +372 -60
- package/src/graph-utils.ts +33 -0
- package/src/index.ts +70 -0
- package/src/invoice/api-routes-code.ts +20 -7
- package/src/invoice/index.ts +11 -6
- package/src/invoice/invoice-assembly-code.ts +8 -3
- package/src/invoice/pdf-generator-code.ts +2 -1
- package/src/invoice/pdf-service-client-code.ts +15 -7
- package/src/newsletter/admin-route-code.ts +319 -0
- package/src/newsletter/helper-code.ts +748 -0
- package/src/newsletter/newsletter-scope.ts +116 -0
- package/src/newsletter/project-plugin.ts +119 -0
- package/src/newsletter/routes-code.ts +186 -0
- package/src/nodes/account/account-compare-passwords.ts +17 -6
- package/src/nodes/account/account-delete-current.ts +1 -1
- package/src/nodes/account/account-get-current.ts +1 -1
- package/src/nodes/account/account-hash-password.ts +19 -3
- package/src/nodes/account/account-login.ts +24 -7
- package/src/nodes/account/account-logout.ts +1 -1
- package/src/nodes/account/account-refresh-session.ts +1 -1
- package/src/nodes/account/account-request-password-reset.ts +47 -0
- package/src/nodes/account/account-reset-password.ts +45 -0
- package/src/nodes/account/account-signup.ts +86 -20
- package/src/nodes/account/account-social-login.ts +1 -1
- package/src/nodes/ai/ai-custom-prompt.ts +25 -6
- package/src/nodes/ai/ai-detect-language.ts +25 -6
- package/src/nodes/ai/ai-generate-text-embedding.ts +16 -3
- package/src/nodes/ai/ai-provider-utils-sources.generated.ts +2 -2
- package/src/nodes/ai/ai-provider-utils.ts +135 -10
- package/src/nodes/ai/ai-select-database-data.ts +8 -3
- package/src/nodes/ai/ai-sentiment-analysis.ts +25 -6
- package/src/nodes/ai/ai-summarization.ts +25 -6
- package/src/nodes/ai/ai-text-classifier.ts +25 -6
- package/src/nodes/ai/ai-text-transform.ts +25 -6
- package/src/nodes/analytics/analytics-track-outcome.ts +111 -0
- package/src/nodes/cart/cart-price-order.ts +200 -2
- package/src/nodes/cost-bearing-node-types.ts +45 -0
- package/src/nodes/data/data-select.ts +11 -2
- package/src/nodes/email/email-mailersend.ts +16 -8
- package/src/nodes/email/email-mailgun.ts +17 -12
- package/src/nodes/email/email-postmark.ts +17 -12
- package/src/nodes/email/email-resend.ts +17 -12
- package/src/nodes/email/email-sendgrid.ts +17 -12
- package/src/nodes/email/html-escape-code.ts +21 -0
- package/src/nodes/email/message-trust.ts +198 -0
- package/src/nodes/email/outbound-message-guard.ts +572 -0
- package/src/nodes/email/trusted-html-code.ts +49 -0
- package/src/nodes/general/general-custom-js.ts +46 -7
- package/src/nodes/general/general-http-request.ts +449 -46
- package/src/nodes/general/general-rate-limiter.ts +54 -81
- package/src/nodes/general/general-wait.ts +80 -0
- package/src/nodes/general/visitor-request.ts +79 -0
- package/src/nodes/index.ts +12 -0
- package/src/nodes/integrations/integration-slack.ts +21 -6
- package/src/nodes/newsletter/newsletter-confirm.ts +44 -0
- package/src/nodes/newsletter/newsletter-subscribe.ts +78 -0
- package/src/nodes/newsletter/newsletter-unsubscribe.ts +43 -0
- package/src/nodes/realtime/realtime-join-channel.ts +5 -4
- package/src/nodes/realtime/realtime-send-channel-event.ts +13 -2
- package/src/nodes/realtime/realtime-send-channel-message.ts +13 -2
- package/src/nodes/sms/sms-infobip.ts +14 -4
- package/src/nodes/sms/sms-smsapi.ts +14 -4
- package/src/nodes/sms/sms-textmagic.ts +14 -4
- package/src/nodes/sms/sms-twilio.ts +14 -4
- package/src/nodes/types.ts +9 -1
- package/src/nodes/utility/utility-similarity-scoring.ts +33 -12
- package/src/page-access-guard-generator.ts +154 -0
- package/src/password-reset-route-generator.ts +531 -0
- package/src/payments/payment-core-code.ts +12 -7
- package/src/project-code-scanner.ts +98 -0
- package/src/public-step-guards.ts +448 -0
- package/src/publish-refusals.ts +459 -0
- package/src/realtime-generator.ts +457 -234
- package/src/runtime-storage-generator.ts +270 -11
- package/src/security-runtime/index.ts +53 -0
- package/src/security-runtime/security-runtime-code.ts +579 -0
- package/src/security-scanner.ts +253 -10
- package/src/segment-splitter.ts +10 -2
- package/src/segment-trust.ts +205 -2
- package/src/self-call-headers.ts +46 -0
- package/src/sent-email-log/index.ts +16 -0
- package/src/sent-email-log/sent-email-log-code.ts +30 -4
- package/src/server-custom-node-call.ts +331 -0
- package/src/server-runtime-code.ts +488 -40
- package/src/session-revocation-generator.ts +177 -0
- package/src/slack-message-values.ts +84 -0
- package/src/transactional-email-code.ts +30 -4
- package/src/trigger-generator.ts +19 -3
- package/src/visitor-step-limits.ts +228 -0
- package/src/webhook-generator.ts +94 -14
- package/src/webhook-signature-verification.ts +13 -3
- package/src/workflow-auth-generator.ts +9 -4
- package/src/workflow-component-plugin.ts +14 -4
- package/src/workflow-project-plugin.ts +374 -61
- package/src/workflow-scope.ts +6 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { FileType, } from '@teleporthq/teleport-types';
|
|
2
|
-
import { UIDLUtils } from '@teleporthq/teleport-shared';
|
|
2
|
+
import { DataExposure, TableAccess, UIDLUtils } from '@teleporthq/teleport-shared';
|
|
3
3
|
import { splitIntoSegments, resolveNodeExecutionEnv, redactServerNodeConfig, } from './segment-splitter';
|
|
4
4
|
import { isFireAndForgetSegment } from './await-result';
|
|
5
5
|
import { collectSegmentStateKeys } from './segment-context-needs';
|
|
6
6
|
import { ADMIN_CUSTOM_NODES_MODULE, collectAdminModuleCustomNodeIds } from './custom-node-modules';
|
|
7
7
|
import { generateServerSegmentAPIRoute, generateStreamingServerSegmentAPIRoute, generateCronAPIRoute, generateWebhookWorkflowAPIRoute, getAPIRouteFileName, getCronRouteFileName, getWebhookRouteFileName, getWebhookRoutePath, hasStreamingAINode, } from './api-route-generator';
|
|
8
8
|
import { generateWorkflowAuthHelperFile } from './workflow-auth-generator';
|
|
9
|
+
import { generatePageAccessGuardModule } from './page-access-guard-generator';
|
|
9
10
|
import { generateSubscriberAccessHelperModule, generateSubscriberAccessRoute, hasSubscriberOnlyPages, resolveCustomProductPageRoutes, resolveProductDetailsRoute, resolveSubscriptionFallbackRoute, } from './subscriber-access-route-generator';
|
|
10
11
|
import { collectSecrets, collectSecretReferenceEnvNames } from './secret-collector';
|
|
11
12
|
import { collectUsedNodeTypes, projectUsesRealtime, collectUsedRealtimeActionTypes, } from './graph-utils';
|
|
@@ -14,24 +15,34 @@ import { resolveHandlerEntryName } from './nodes/types';
|
|
|
14
15
|
import { generateClientRuntimeCode, generateSharedRuntimeUtilsCode } from './executor-generator';
|
|
15
16
|
import { generateServerRuntimeCode } from './server-runtime-code';
|
|
16
17
|
import { buildSegmentTrust } from './segment-trust';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
18
|
+
import { assertSegmentRouteGates, assertWorkflowPublishGates } from './publish-refusals';
|
|
19
|
+
import { assertProjectCodeIsSecure } from './project-code-scanner';
|
|
20
|
+
import { escapeSlackMessageBindingsInWorkflows } from './slack-message-values';
|
|
21
|
+
import { generateRealtimeServerHelperCode, generateRealtimeClientCode, generateRealtimeTokenRoute, generateRealtimeJoinRoute, generateRealtimeLeaveRoute, generateRealtimeMessageRoute, generateRealtimeEventRoute, generateRealtimeChannelsListRoute, generateRealtimeChannelsMembersRoute, projectCallsRealtimeRoute, } from './realtime-generator';
|
|
22
|
+
import { generateAuthDbHealthFile, generateAuthErrorMessagesFile, generateAuthOptionsFile, generateHashPasswordFile, generateNextAuthRouteFile, generateSignupRouteFile, generateMiddlewareFile, generateSessionProviderWrapper, generateNextAuthUrlGuardModule, getDatabaseDriverDependencies, resolveSignupFields, } from './auth-generator';
|
|
23
|
+
import { collectWorkflowNodeConfigs, emitPasswordAuthFiles, resetEmailSenderOf, resetLinkOf, } from './password-reset-route-generator';
|
|
24
|
+
import { ensureSessionRevocationModule } from './session-revocation-generator';
|
|
19
25
|
import { generateInvoiceFiles, resolveInvoiceDataSource } from './invoice';
|
|
20
26
|
import { ensureSentEmailLogModule, hasEmailSendingNodeType } from './sent-email-log';
|
|
21
27
|
import { ensureWebhookDeliveryLeaseModule } from './webhook-delivery-lease';
|
|
28
|
+
import { ensureSecurityRuntimeModule } from './security-runtime';
|
|
22
29
|
import { declareVercelFunctionsWhereRequired } from './vercel-functions';
|
|
23
30
|
import { ensureEmailLocaleModule, resolveEmailLocaleConfig } from './email-locale';
|
|
24
31
|
import { workflowUtilsImportLine, workflowUtilsRequireLine } from './workflow-utils-alias';
|
|
25
32
|
import { generateWebhookFiles } from './webhook-generator';
|
|
26
33
|
import { ensurePaymentDriversModule, isPaymentWebhookConfig, readWebhookPaymentProvider, resolveStorePaymentDriverIds, } from './payments';
|
|
27
|
-
import { needsDataAPIRoute, generateDataAPIRoute } from './data-api-route-generator';
|
|
34
|
+
import { needsDataAPIRoute, generateDataAPIRoute, dataAPIRouteRecordsLowStock, } from './data-api-route-generator';
|
|
28
35
|
import { generateAccountDeleteRoute, accountDeleteRouteDependencies, } from './account-delete-route-generator';
|
|
29
36
|
import { readLocalizedEmailTemplates, transactionalEmailDependencies, } from './transactional-email-code';
|
|
30
37
|
import { needsRuntimeStorageRoute, generateRuntimeStorageUploadRoute, } from './runtime-storage-generator';
|
|
31
38
|
import { rewriteLowStockCustomHandlers } from './ecommerce-customhandler-rewriter';
|
|
32
|
-
import { assertWorkflowsAreSecure } from './security-scanner';
|
|
33
|
-
import { parameterizeAllWorkflowRawSql } from './raw-sql-param-binding';
|
|
34
39
|
import { generateBookingCalendarFeedFiles } from './booking-calendar-feed-route-generator';
|
|
40
|
+
import { collectAutomationWorkflows, hasAutomationsBus, isAutomationWorkflow, } from './automations/automations-scope';
|
|
41
|
+
import { generateAutomationFiles } from './automations/automations-project-plugin';
|
|
42
|
+
import { declareCronSecretEnv } from './cron-request-verification';
|
|
43
|
+
import { ensureAppEventsModule } from './automations/app-events-source';
|
|
44
|
+
import { DEFAULT_ORDER_DETAILS_PREFIX, resolveOrderDetailsRoutePrefix, } from './ecommerce/order-details-route';
|
|
45
|
+
import { newsletterSignupSubscribes } from './newsletter/newsletter-scope';
|
|
35
46
|
// Resolves the auth IDENTITY (users) table from the UIDL auth tables. Getting
|
|
36
47
|
// this wrong is a security hole (the /api/data guard only protects this table),
|
|
37
48
|
// so it prefers the table that stores credentials (an email/login column AND a
|
|
@@ -138,25 +149,148 @@ export const stripEventHandlerAttrs = (uidl) => {
|
|
|
138
149
|
scrubComponent(uidl.root);
|
|
139
150
|
Object.values(uidl.components || {}).forEach(scrubComponent);
|
|
140
151
|
};
|
|
152
|
+
const workflowContextRef = (nodeId, path) => ({
|
|
153
|
+
type: 'workflowContext',
|
|
154
|
+
nodeId,
|
|
155
|
+
path,
|
|
156
|
+
});
|
|
157
|
+
const NEWSLETTER_ACCOUNT_SWITCH_OFF = 'Newsletter · Switch Off From The Account';
|
|
158
|
+
const NEWSLETTER_UNSUBSCRIBE_RECORD = 'Record The Unsubscribe';
|
|
159
|
+
const NEWSLETTER_ACCOUNT_FETCH = 'Fetch The Signed-In Person';
|
|
160
|
+
const NEWSLETTER_UNSUBSCRIBE_UPDATE = 'Unsubscribe The Signed-In Person';
|
|
161
|
+
const NEWSLETTER_TIMESTAMP = 'Note The Time';
|
|
162
|
+
const NEWSLETTER_SWITCH_OFF_STATE = 'Show The Switch Off';
|
|
163
|
+
const NEWSLETTER_EVENT_INPUTS = 'Build The Unsubscribe Event';
|
|
164
|
+
const NEWSLETTER_EVENT_INPUTS_CODE = [
|
|
165
|
+
'function customHandler(params) {',
|
|
166
|
+
' var named = params && params.length ? params[params.length - 1] || {} : {};',
|
|
167
|
+
' var id = named.id == null ? "" : String(named.id);',
|
|
168
|
+
' var email = named.email == null ? "" : String(named.email);',
|
|
169
|
+
' var stamp = named.timestamp == null ? "" : String(named.timestamp);',
|
|
170
|
+
' var time = stamp ? new Date(stamp).getTime() : Date.now();',
|
|
171
|
+
' if (!isFinite(time)) { time = Date.now(); }',
|
|
172
|
+
' return {',
|
|
173
|
+
' entityId: id,',
|
|
174
|
+
' actor: email,',
|
|
175
|
+
' dedupe: id + ":" + Math.floor(time / 60000),',
|
|
176
|
+
' subscriber: { email: email, consent: false },',
|
|
177
|
+
' };',
|
|
178
|
+
'}',
|
|
179
|
+
].join('\n');
|
|
180
|
+
const hasStepLabel = (node, label) => node.label === label || node.name === label || node.builderLabel === label;
|
|
181
|
+
const edgeId = (source, target) => `${source}-${target}`;
|
|
182
|
+
const ensureEdge = (edges, source, target) => {
|
|
183
|
+
if (edges.some((edge) => edge.source === source && edge.target === target)) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
edges.push({ id: edgeId(source, target), source, target });
|
|
187
|
+
};
|
|
188
|
+
const setRecordParam = (record, key, value) => {
|
|
189
|
+
const params = record.config.parameters;
|
|
190
|
+
if (!Array.isArray(params)) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const entry = params.find((item) => item && typeof item === 'object' && item.key === key);
|
|
194
|
+
if (entry) {
|
|
195
|
+
entry.value = value;
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
params.push({ key, value });
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
const repairNewsletterAccountUnsubscribeEvents = (uidl) => {
|
|
202
|
+
var _a;
|
|
203
|
+
const workflows = ((_a = uidl.workflows) === null || _a === void 0 ? void 0 : _a.workflows) || {};
|
|
204
|
+
Object.values(workflows).forEach((workflow) => {
|
|
205
|
+
if (!workflow || workflow.name !== NEWSLETTER_ACCOUNT_SWITCH_OFF) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const nodes = workflow.nodes || [];
|
|
209
|
+
const edges = workflow.edges || [];
|
|
210
|
+
const findNode = (type, label) => nodes.find((node) => node.type === type && hasStepLabel(node, label));
|
|
211
|
+
const account = findNode('account-get-current', NEWSLETTER_ACCOUNT_FETCH);
|
|
212
|
+
const update = findNode('data-update-item', NEWSLETTER_UNSUBSCRIBE_UPDATE);
|
|
213
|
+
const record = findNode('general-custom-node', NEWSLETTER_UNSUBSCRIBE_RECORD);
|
|
214
|
+
if (!account || !update || !record || !Array.isArray(record.config.parameters)) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
const eventType = record.config.parameters.find((param) => param && typeof param === 'object' && param.key === 'eventType');
|
|
218
|
+
if ((eventType === null || eventType === void 0 ? void 0 : eventType.value) !== 'newsletter-unsubscribed') {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
const timestamp = findNode('general-custom-js', NEWSLETTER_TIMESTAMP);
|
|
222
|
+
if (timestamp) {
|
|
223
|
+
timestamp.config.params = {};
|
|
224
|
+
}
|
|
225
|
+
let eventInputs = findNode('general-custom-js', NEWSLETTER_EVENT_INPUTS);
|
|
226
|
+
if (!eventInputs) {
|
|
227
|
+
eventInputs = {
|
|
228
|
+
id: `${record.id}-event-inputs`,
|
|
229
|
+
type: 'general-custom-js',
|
|
230
|
+
label: NEWSLETTER_EVENT_INPUTS,
|
|
231
|
+
config: {},
|
|
232
|
+
executionEnv: 'server',
|
|
233
|
+
stepNumber: record.stepNumber,
|
|
234
|
+
};
|
|
235
|
+
const recordIndex = nodes.indexOf(record);
|
|
236
|
+
if (recordIndex >= 0) {
|
|
237
|
+
nodes.splice(recordIndex, 0, eventInputs);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
nodes.push(eventInputs);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
eventInputs.config = {
|
|
244
|
+
code: NEWSLETTER_EVENT_INPUTS_CODE,
|
|
245
|
+
context: 'server',
|
|
246
|
+
params: {
|
|
247
|
+
id: workflowContextRef(update.id, ['id']),
|
|
248
|
+
email: workflowContextRef(update.id, ['email']),
|
|
249
|
+
timestamp: timestamp ? workflowContextRef(timestamp.id, ['value']) : '',
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
const off = findNode('state-update-local-state', NEWSLETTER_SWITCH_OFF_STATE);
|
|
253
|
+
const redirected = edges.filter((edge) => edge.target === record.id &&
|
|
254
|
+
edge.source !== eventInputs.id &&
|
|
255
|
+
(!off || edge.source === off.id));
|
|
256
|
+
redirected.forEach((edge) => {
|
|
257
|
+
edge.target = eventInputs.id;
|
|
258
|
+
});
|
|
259
|
+
if (!edges.some((edge) => edge.target === eventInputs.id) && off) {
|
|
260
|
+
ensureEdge(edges, off.id, eventInputs.id);
|
|
261
|
+
}
|
|
262
|
+
ensureEdge(edges, eventInputs.id, record.id);
|
|
263
|
+
setRecordParam(record, 'entityId', workflowContextRef(eventInputs.id, ['entityId']));
|
|
264
|
+
setRecordParam(record, 'dedupeSubject', workflowContextRef(eventInputs.id, ['dedupe']));
|
|
265
|
+
setRecordParam(record, 'actor', workflowContextRef(eventInputs.id, ['actor']));
|
|
266
|
+
setRecordParam(record, 'subscriber', workflowContextRef(eventInputs.id, ['subscriber']));
|
|
267
|
+
});
|
|
268
|
+
};
|
|
141
269
|
export class NextWorkflowProjectPlugin {
|
|
142
270
|
async runBefore(structure) {
|
|
143
271
|
var _a, _b, _c;
|
|
144
272
|
const { uidl, strategy } = structure;
|
|
145
273
|
stripEventHandlerAttrs(uidl);
|
|
146
|
-
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
//
|
|
150
|
-
// `
|
|
151
|
-
//
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
//
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
|
|
274
|
+
repairNewsletterAccountUnsubscribeEvents(uidl);
|
|
275
|
+
// The workflow gates, before any code is emitted (publish-refusals.ts, the
|
|
276
|
+
// one list the editor's AI tools check against too), in order:
|
|
277
|
+
// - SECURITY NET — parameterize raw-SQL interpolations before ANY config is
|
|
278
|
+
// emitted. Rewrites each `{{ name }}` value token in a data-node's `query` /
|
|
279
|
+
// `rawQueryUserPart` into a positional `$N` placeholder and moves the bound
|
|
280
|
+
// value into the sibling params array, so the value binds via
|
|
281
|
+
// `client.query(sql, params)` and never reaches the SQL text. Throws (aborts
|
|
282
|
+
// generation) on an interpolation that cannot be safely bound — refusing to
|
|
283
|
+
// ship injectable SQL. Runs FIRST so the security gate below sees final SQL.
|
|
284
|
+
// - Codegen-time security gate. Throws CodegenSecurityError if any
|
|
285
|
+
// `general-custom-js` body references a protected platform secret
|
|
286
|
+
// or uses an obvious sandbox-escape primitive. Backstop for the GUI
|
|
287
|
+
// and services-worker static checks.
|
|
288
|
+
// - A push to every subscriber, or a step on any stored file, never sits on
|
|
289
|
+
// a route any visitor can call (see public-step-guards.ts).
|
|
290
|
+
assertWorkflowPublishGates(uidl.workflows, uidl.authentication);
|
|
291
|
+
// The author code a page runs on the server beside its workflows: state
|
|
292
|
+
// mapping functions and the expressions Next prerenders (project-code-scanner.ts).
|
|
293
|
+
assertProjectCodeIsSecure(uidl);
|
|
160
294
|
if (uidl.workflows) {
|
|
161
295
|
const pageRouteMap = this.buildPageRouteMap(uidl, strategy);
|
|
162
296
|
// CUSTOM NODES are walked alongside workflows. They used to be skipped,
|
|
@@ -242,11 +376,25 @@ export class NextWorkflowProjectPlugin {
|
|
|
242
376
|
return structure;
|
|
243
377
|
}
|
|
244
378
|
async runAfter(structure) {
|
|
245
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
379
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
246
380
|
const { uidl, files, dependencies } = structure;
|
|
381
|
+
// Every app with server routes carries the shared security runtime its
|
|
382
|
+
// routes require (`utils/security-runtime.js`): the visitor's address,
|
|
383
|
+
// constant-time compare, durable rate limits, generic client errors.
|
|
384
|
+
if (hasServerRoutes(uidl)) {
|
|
385
|
+
ensureSecurityRuntimeModule(structure);
|
|
386
|
+
}
|
|
387
|
+
// Automations (workflows started by a business event), and whether the
|
|
388
|
+
// in-app event bus is generated for them: the routes that record or wake
|
|
389
|
+
// business events (signup, account deletion, the data API, a server-side
|
|
390
|
+
// signup) carry that code only then.
|
|
391
|
+
const automationWorkflows = collectAutomationWorkflows(uidl.workflows);
|
|
392
|
+
// Only with a database the queue runs on: without one no bus is generated
|
|
393
|
+
// (generateAutomationFiles says why).
|
|
394
|
+
const withAutomations = hasAutomationsBus(uidl);
|
|
247
395
|
const hasAuthentication = uidl.authentication && uidl.authentication.enabled;
|
|
248
396
|
if (hasAuthentication) {
|
|
249
|
-
this.generateAuthFiles(uidl.authentication, structure);
|
|
397
|
+
this.generateAuthFiles(uidl.authentication, structure, withAutomations);
|
|
250
398
|
}
|
|
251
399
|
// The bookings' calendar feeds do not depend on any workflow, so they are
|
|
252
400
|
// emitted before the early return for a project without workflows.
|
|
@@ -280,9 +428,23 @@ export class NextWorkflowProjectPlugin {
|
|
|
280
428
|
declareVercelFunctionsWhereRequired(files, dependencies);
|
|
281
429
|
return structure;
|
|
282
430
|
}
|
|
431
|
+
// A Slack message bound whole to a value is escaped like a chip (slack-message-values.ts).
|
|
432
|
+
escapeSlackMessageBindingsInWorkflows(uidl.workflows);
|
|
283
433
|
const allWorkflows = uidl.workflows.workflows;
|
|
284
434
|
const customNodes = uidl.workflows.customNodes || {};
|
|
285
435
|
const usedNodeTypes = collectUsedNodeTypes(uidl.workflows);
|
|
436
|
+
// Automations run in their own handler modules, which carry their nodes'
|
|
437
|
+
// handlers: the shared client and server handler files leave them out.
|
|
438
|
+
let handlerFileNodeTypes = usedNodeTypes;
|
|
439
|
+
if (automationWorkflows.length > 0) {
|
|
440
|
+
const browserAndRouteWorkflows = {};
|
|
441
|
+
for (const [id, wf] of Object.entries(allWorkflows)) {
|
|
442
|
+
if (!isAutomationWorkflow(wf)) {
|
|
443
|
+
browserAndRouteWorkflows[id] = wf;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
handlerFileNodeTypes = collectUsedNodeTypes(Object.assign(Object.assign({}, uidl.workflows), { workflows: browserAndRouteWorkflows }));
|
|
447
|
+
}
|
|
286
448
|
// Server routes that run a mail-sending node require the sent-email
|
|
287
449
|
// ledger module (see generateNodeHandlersForSegment).
|
|
288
450
|
if (hasEmailSendingNodeType(usedNodeTypes)) {
|
|
@@ -313,7 +475,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
313
475
|
},
|
|
314
476
|
],
|
|
315
477
|
});
|
|
316
|
-
const clientHandlerCode = this.generateNodeHandlerFile(
|
|
478
|
+
const clientHandlerCode = this.generateNodeHandlerFile(handlerFileNodeTypes, 'client');
|
|
317
479
|
if (clientHandlerCode) {
|
|
318
480
|
files.set('workflow-client-handlers', {
|
|
319
481
|
path: ['utils', 'workflows'],
|
|
@@ -345,12 +507,24 @@ export class NextWorkflowProjectPlugin {
|
|
|
345
507
|
customNodeServerUrls[cnId] = {};
|
|
346
508
|
// The same list, in the same order, the custom node's runner hands its
|
|
347
509
|
// inner custom-js nodes as `params`.
|
|
348
|
-
const cnGraph = {
|
|
510
|
+
const cnGraph = {
|
|
511
|
+
id: cnId,
|
|
512
|
+
nodes: cn.nodes || [],
|
|
513
|
+
edges: cn.edges || [],
|
|
514
|
+
segments: cnSegments,
|
|
515
|
+
};
|
|
349
516
|
for (const seg of cnServerSegments) {
|
|
350
517
|
const routeOptions = {
|
|
351
518
|
customNodeIds: (cn.nodes || []).map((n) => n.id),
|
|
352
519
|
trust: buildSegmentTrust(seg, cnGraph),
|
|
520
|
+
customNodes,
|
|
353
521
|
};
|
|
522
|
+
assertSegmentRouteGates(seg, routeOptions.trust, {
|
|
523
|
+
owner: cn.name || cnId,
|
|
524
|
+
graphNodes: cn.nodes || [],
|
|
525
|
+
protection: cn.protection,
|
|
526
|
+
staffRoles: TableAccess.resolveStaffRoles(uidl.authentication),
|
|
527
|
+
});
|
|
354
528
|
const isStreaming = hasStreamingAINode(seg);
|
|
355
529
|
if (routeHasPolicy(cn.protection)) {
|
|
356
530
|
anyGuardedRouteEmitted = true;
|
|
@@ -412,20 +586,23 @@ export class NextWorkflowProjectPlugin {
|
|
|
412
586
|
// legacy hard-coded webhook emission for those providers below.
|
|
413
587
|
const webhookProvidersOwnedByWorkflows = new Set();
|
|
414
588
|
for (const workflow of Object.values(allWorkflows)) {
|
|
589
|
+
// An automation runs in a handler module of the in-app event bus
|
|
590
|
+
// (generateAutomationFiles below), through the server runtime.
|
|
591
|
+
if (isAutomationWorkflow(workflow)) {
|
|
592
|
+
if (withAutomations) {
|
|
593
|
+
hasServerSegments = true;
|
|
594
|
+
}
|
|
595
|
+
continue;
|
|
596
|
+
}
|
|
415
597
|
if (workflow.trigger.type === 'event-cron-triggered') {
|
|
416
598
|
// A cron route runs its whole graph on the server through the same
|
|
417
599
|
// runtime and handler file a server segment uses, so an app whose only
|
|
418
600
|
// server work is a cron still needs them.
|
|
419
601
|
hasServerSegments = true;
|
|
420
|
-
// The route refuses every request not signed with
|
|
421
|
-
// fills
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
}
|
|
425
|
-
if (!uidl.globals.env.TELEPORT_CRON_SECRET) {
|
|
426
|
-
uidl.globals.env.TELEPORT_CRON_SECRET = '';
|
|
427
|
-
}
|
|
428
|
-
const cronContent = generateCronAPIRoute(workflow, customNodes);
|
|
602
|
+
// The route refuses every request not signed with these keys; the
|
|
603
|
+
// deploy fills them in (see cron-request-verification.ts).
|
|
604
|
+
declareCronSecretEnv(uidl);
|
|
605
|
+
const cronContent = generateCronAPIRoute(workflow, customNodes, { withAutomations });
|
|
429
606
|
const cronFileName = getCronRouteFileName(workflow);
|
|
430
607
|
files.set(`workflow-cron-${workflow.id}`, {
|
|
431
608
|
path: ['pages', 'api', 'workflows'],
|
|
@@ -441,7 +618,9 @@ export class NextWorkflowProjectPlugin {
|
|
|
441
618
|
}
|
|
442
619
|
if (workflow.trigger.type === 'event-webhook-received' && workflow.webhookConfig) {
|
|
443
620
|
hasServerSegments = true;
|
|
444
|
-
const webhookContent = generateWebhookWorkflowAPIRoute(workflow, customNodes
|
|
621
|
+
const webhookContent = generateWebhookWorkflowAPIRoute(workflow, customNodes, {
|
|
622
|
+
withAutomations,
|
|
623
|
+
});
|
|
445
624
|
const webhookFileName = getWebhookRouteFileName(workflow);
|
|
446
625
|
const webhookPath = getWebhookRoutePath(workflow);
|
|
447
626
|
files.set(`workflow-webhook-${workflow.id}`, {
|
|
@@ -496,14 +675,25 @@ export class NextWorkflowProjectPlugin {
|
|
|
496
675
|
}
|
|
497
676
|
const segments = splitIntoSegments(workflow);
|
|
498
677
|
const serverSegments = segments.filter((s) => s.env === 'server');
|
|
499
|
-
const workflowGraph = {
|
|
678
|
+
const workflowGraph = {
|
|
679
|
+
id: workflow.id,
|
|
680
|
+
nodes: workflow.nodes || [],
|
|
681
|
+
edges: workflow.edges || [],
|
|
682
|
+
segments,
|
|
683
|
+
};
|
|
500
684
|
for (const serverSeg of serverSegments) {
|
|
501
685
|
hasServerSegments = true;
|
|
502
686
|
const isStreaming = hasStreamingAINode(serverSeg);
|
|
503
687
|
if (routeHasPolicy(workflow.protection)) {
|
|
504
688
|
anyGuardedRouteEmitted = true;
|
|
505
689
|
}
|
|
506
|
-
const routeOptions = { trust: buildSegmentTrust(serverSeg, workflowGraph) };
|
|
690
|
+
const routeOptions = { trust: buildSegmentTrust(serverSeg, workflowGraph), customNodes };
|
|
691
|
+
assertSegmentRouteGates(serverSeg, routeOptions.trust, {
|
|
692
|
+
owner: workflow.name || workflow.id,
|
|
693
|
+
graphNodes: workflow.nodes || [],
|
|
694
|
+
protection: workflow.protection,
|
|
695
|
+
staffRoles: TableAccess.resolveStaffRoles(uidl.authentication),
|
|
696
|
+
});
|
|
507
697
|
const apiContent = isStreaming
|
|
508
698
|
? generateStreamingServerSegmentAPIRoute(serverSeg, workflow.name, workflow.protection, routeOptions)
|
|
509
699
|
: generateServerSegmentAPIRoute(serverSeg, workflow.name, workflow.protection, routeOptions);
|
|
@@ -520,6 +710,15 @@ export class NextWorkflowProjectPlugin {
|
|
|
520
710
|
});
|
|
521
711
|
}
|
|
522
712
|
}
|
|
713
|
+
if (automationWorkflows.length > 0) {
|
|
714
|
+
// The fallback prefix means the project has no order details page to link.
|
|
715
|
+
const orderPagePrefix = resolveOrderDetailsRoutePrefix(uidl);
|
|
716
|
+
generateAutomationFiles(structure, automationWorkflows, {
|
|
717
|
+
customNodes,
|
|
718
|
+
usersTable: resolveAuthUsersTableName(uidl.authentication) || 'users',
|
|
719
|
+
orderPagePrefix: orderPagePrefix === DEFAULT_ORDER_DETAILS_PREFIX ? null : orderPagePrefix,
|
|
720
|
+
});
|
|
721
|
+
}
|
|
523
722
|
if (hasServerSegments) {
|
|
524
723
|
files.set('workflow-server-runtime', {
|
|
525
724
|
path: ['utils', 'workflows'],
|
|
@@ -527,7 +726,9 @@ export class NextWorkflowProjectPlugin {
|
|
|
527
726
|
{
|
|
528
727
|
name: 'server-runtime',
|
|
529
728
|
fileType: FileType.JS,
|
|
530
|
-
content: generateServerRuntimeCode(
|
|
729
|
+
content: generateServerRuntimeCode({
|
|
730
|
+
withSessionRevocation: ((_b = uidl.authentication) === null || _b === void 0 ? void 0 : _b.enabled) === true,
|
|
731
|
+
}),
|
|
531
732
|
},
|
|
532
733
|
],
|
|
533
734
|
});
|
|
@@ -543,14 +744,16 @@ export class NextWorkflowProjectPlugin {
|
|
|
543
744
|
name: 'workflow-auth',
|
|
544
745
|
fileType: FileType.JS,
|
|
545
746
|
content: generateWorkflowAuthHelperFile({
|
|
546
|
-
withSubscriberAccess: ((
|
|
747
|
+
withSubscriberAccess: ((_c = uidl.authentication) === null || _c === void 0 ? void 0 : _c.enabled) === true &&
|
|
547
748
|
hasSubscriberOnlyPages(uidl.authentication),
|
|
749
|
+
// The session reader checks revocation only with authentication.
|
|
750
|
+
withSessionRevocation: ((_d = uidl.authentication) === null || _d === void 0 ? void 0 : _d.enabled) === true,
|
|
548
751
|
}),
|
|
549
752
|
},
|
|
550
753
|
],
|
|
551
754
|
});
|
|
552
755
|
}
|
|
553
|
-
const serverHandlerCode = this.generateNodeHandlerFile(
|
|
756
|
+
const serverHandlerCode = this.generateNodeHandlerFile(handlerFileNodeTypes, 'server');
|
|
554
757
|
if (serverHandlerCode) {
|
|
555
758
|
files.set('workflow-server-handlers', {
|
|
556
759
|
path: ['utils', 'workflows'],
|
|
@@ -581,22 +784,33 @@ export class NextWorkflowProjectPlugin {
|
|
|
581
784
|
const ecom = uidl.ecommerceSettings;
|
|
582
785
|
const lowStockAlertsEnabled = !!(ecom &&
|
|
583
786
|
ecom.stockManagement &&
|
|
584
|
-
((
|
|
585
|
-
((
|
|
586
|
-
const lowStockThreshold = typeof ((
|
|
787
|
+
((_e = ecom.stockManagementConfig) === null || _e === void 0 ? void 0 : _e.lowStockAlerts) &&
|
|
788
|
+
((_g = (_f = ecom.stockManagementConfig) === null || _f === void 0 ? void 0 : _f.lowStockAlertConfig) === null || _g === void 0 ? void 0 : _g.provider));
|
|
789
|
+
const lowStockThreshold = typeof ((_h = ecom === null || ecom === void 0 ? void 0 : ecom.stockManagementConfig) === null || _h === void 0 ? void 0 : _h.lowStockThreshold) === 'number'
|
|
587
790
|
? ecom.stockManagementConfig.lowStockThreshold
|
|
588
791
|
: 5;
|
|
792
|
+
const dataAPIRouteOptions = {
|
|
793
|
+
authUsersTableName,
|
|
794
|
+
lowStockAlertsEnabled,
|
|
795
|
+
lowStockThreshold,
|
|
796
|
+
withAutomations,
|
|
797
|
+
// Who reads and changes other customers' records (Task 1, owner scope).
|
|
798
|
+
staffRoles: TableAccess.resolveStaffRoles(uidl.authentication),
|
|
799
|
+
// Who reads which table from a browser (Task 1, exposure).
|
|
800
|
+
dataExposure: DataExposure.resolveDataExposure(uidl),
|
|
801
|
+
managedDataSourceIds: DataExposure.managedDataSourceIds(uidl),
|
|
802
|
+
};
|
|
803
|
+
// The low-stock events are recorded through utils/app-events.js.
|
|
804
|
+
if (dataAPIRouteRecordsLowStock(dataAPIRouteOptions)) {
|
|
805
|
+
ensureAppEventsModule(structure, withAutomations);
|
|
806
|
+
}
|
|
589
807
|
files.set('workflow-data-api-route', {
|
|
590
808
|
path: ['pages', 'api', 'data'],
|
|
591
809
|
files: [
|
|
592
810
|
{
|
|
593
811
|
name: '[...params]',
|
|
594
812
|
fileType: FileType.JS,
|
|
595
|
-
content: generateDataAPIRoute(
|
|
596
|
-
authUsersTableName,
|
|
597
|
-
lowStockAlertsEnabled,
|
|
598
|
-
lowStockThreshold,
|
|
599
|
-
}),
|
|
813
|
+
content: generateDataAPIRoute(dataAPIRouteOptions),
|
|
600
814
|
},
|
|
601
815
|
],
|
|
602
816
|
});
|
|
@@ -606,7 +820,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
606
820
|
// farewell email's provider/sender/body are baked from the node config (the
|
|
607
821
|
// credential is read from env at runtime; its placeholder is registered by the
|
|
608
822
|
// generic secret-reference walk above).
|
|
609
|
-
if (((
|
|
823
|
+
if (((_j = uidl.authentication) === null || _j === void 0 ? void 0 : _j.enabled) && usedNodeTypes.has('account-delete-current')) {
|
|
610
824
|
const deleteConfig = findWorkflowNodeConfigByType(uidl.workflows, 'account-delete-current') || {};
|
|
611
825
|
const providerNodeType = typeof deleteConfig.emailProvider === 'string' ? deleteConfig.emailProvider : '';
|
|
612
826
|
const emailProvider = providerNodeType.startsWith('email-')
|
|
@@ -633,6 +847,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
633
847
|
deletedEmailPattern: typeof deleteConfig.deletedEmailPattern === 'string'
|
|
634
848
|
? deleteConfig.deletedEmailPattern
|
|
635
849
|
: undefined,
|
|
850
|
+
withAutomations,
|
|
636
851
|
}),
|
|
637
852
|
},
|
|
638
853
|
],
|
|
@@ -655,7 +870,9 @@ export class NextWorkflowProjectPlugin {
|
|
|
655
870
|
{
|
|
656
871
|
name: 'upload',
|
|
657
872
|
fileType: FileType.JS,
|
|
658
|
-
content: generateRuntimeStorageUploadRoute(
|
|
873
|
+
content: generateRuntimeStorageUploadRoute({
|
|
874
|
+
withSessionRevocation: ((_k = uidl.authentication) === null || _k === void 0 ? void 0 : _k.enabled) === true,
|
|
875
|
+
}),
|
|
659
876
|
},
|
|
660
877
|
],
|
|
661
878
|
});
|
|
@@ -667,7 +884,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
667
884
|
// the rendered PDF directly via uploadInvoicePdfToRuntimeStorage). The
|
|
668
885
|
// invoice path does NOT add a file-storage-upload node to the UIDL, so it
|
|
669
886
|
// would otherwise be missed by needsRuntimeStorageRoute.
|
|
670
|
-
const needsRuntimeStorageEnv = needsRuntimeStorageRoute(usedNodeTypes) || Boolean((
|
|
887
|
+
const needsRuntimeStorageEnv = needsRuntimeStorageRoute(usedNodeTypes) || Boolean((_l = uidl.invoiceSettings) === null || _l === void 0 ? void 0 : _l.enabled);
|
|
671
888
|
if (needsRuntimeStorageEnv) {
|
|
672
889
|
if (!uidl.globals.env) {
|
|
673
890
|
uidl.globals.env = {};
|
|
@@ -755,7 +972,8 @@ export class NextWorkflowProjectPlugin {
|
|
|
755
972
|
});
|
|
756
973
|
const globalWorkflows = Object.values(allWorkflows).filter((wf) => wf.trigger.scope === 'global' &&
|
|
757
974
|
wf.trigger.type !== 'event-cron-triggered' &&
|
|
758
|
-
wf.trigger.type !== 'event-webhook-received'
|
|
975
|
+
wf.trigger.type !== 'event-webhook-received' &&
|
|
976
|
+
!isAutomationWorkflow(wf));
|
|
759
977
|
if (globalWorkflows.length > 0) {
|
|
760
978
|
const globalWorkflowCode = this.generateGlobalWorkflowsHook(globalWorkflows, customNodes);
|
|
761
979
|
files.set('workflow-global-hook', {
|
|
@@ -775,7 +993,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
775
993
|
if (projectUsesRealtime(uidl.workflows)) {
|
|
776
994
|
this.generateRealtimeFiles(structure);
|
|
777
995
|
}
|
|
778
|
-
if ((
|
|
996
|
+
if ((_m = uidl.invoiceSettings) === null || _m === void 0 ? void 0 : _m.enabled) {
|
|
779
997
|
const { dataSourceType, dataSourceConfig } = resolveInvoiceDataSource(structure);
|
|
780
998
|
generateInvoiceFiles(uidl.invoiceSettings, structure, dataSourceType, dataSourceConfig);
|
|
781
999
|
}
|
|
@@ -831,6 +1049,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
831
1049
|
appFile.content = content;
|
|
832
1050
|
}
|
|
833
1051
|
generateRealtimeFiles(structure) {
|
|
1052
|
+
var _a;
|
|
834
1053
|
const { uidl, files, dependencies } = structure;
|
|
835
1054
|
dependencies.ably = '^2.6.0';
|
|
836
1055
|
if (!uidl.globals.env) {
|
|
@@ -848,7 +1067,9 @@ export class NextWorkflowProjectPlugin {
|
|
|
848
1067
|
{
|
|
849
1068
|
name: 'server',
|
|
850
1069
|
fileType: FileType.JS,
|
|
851
|
-
content: generateRealtimeServerHelperCode(
|
|
1070
|
+
content: generateRealtimeServerHelperCode(uidl.workflows, {
|
|
1071
|
+
withSessionRevocation: ((_a = uidl.authentication) === null || _a === void 0 ? void 0 : _a.enabled) === true,
|
|
1072
|
+
}),
|
|
852
1073
|
},
|
|
853
1074
|
],
|
|
854
1075
|
});
|
|
@@ -893,7 +1114,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
893
1114
|
],
|
|
894
1115
|
});
|
|
895
1116
|
const usedRealtimeActions = collectUsedRealtimeActionTypes(uidl.workflows);
|
|
896
|
-
if (
|
|
1117
|
+
if (projectCallsRealtimeRoute(uidl.workflows, 'message')) {
|
|
897
1118
|
files.set('realtime-api-message', {
|
|
898
1119
|
path: ['pages', 'api', 'realtime'],
|
|
899
1120
|
files: [
|
|
@@ -905,7 +1126,7 @@ export class NextWorkflowProjectPlugin {
|
|
|
905
1126
|
],
|
|
906
1127
|
});
|
|
907
1128
|
}
|
|
908
|
-
if (
|
|
1129
|
+
if (projectCallsRealtimeRoute(uidl.workflows, 'event')) {
|
|
909
1130
|
files.set('realtime-api-event', {
|
|
910
1131
|
path: ['pages', 'api', 'realtime'],
|
|
911
1132
|
files: [
|
|
@@ -1010,7 +1231,8 @@ export class NextWorkflowProjectPlugin {
|
|
|
1010
1231
|
return;
|
|
1011
1232
|
}
|
|
1012
1233
|
if (env === 'server' && generator.generateServerHandler) {
|
|
1013
|
-
handlers.
|
|
1234
|
+
// utils/workflows/node-handlers-server.js: two levels below the project root.
|
|
1235
|
+
handlers.push(generator.generateServerHandler({ relativePrefix: '../..' }));
|
|
1014
1236
|
}
|
|
1015
1237
|
else {
|
|
1016
1238
|
handlers.push(generator.generateHandler());
|
|
@@ -1461,7 +1683,7 @@ ${registryEntries}
|
|
|
1461
1683
|
module.exports = __customNodeRegistry;
|
|
1462
1684
|
`;
|
|
1463
1685
|
}
|
|
1464
|
-
generateAuthFiles(auth, structure) {
|
|
1686
|
+
generateAuthFiles(auth, structure, withAutomations) {
|
|
1465
1687
|
var _a, _b;
|
|
1466
1688
|
const { files, dependencies, uidl } = structure;
|
|
1467
1689
|
const dataSourceConfig = (auth.dataSourceId && ((_b = (_a = uidl.dataSources) === null || _a === void 0 ? void 0 : _a[auth.dataSourceId]) === null || _b === void 0 ? void 0 : _b.config)) || null;
|
|
@@ -1533,7 +1755,11 @@ module.exports = __customNodeRegistry;
|
|
|
1533
1755
|
emailBodyHtml: typeof signupConfig.body === 'string' ? signupConfig.body : '',
|
|
1534
1756
|
localizedTemplates: readLocalizedEmailTemplates(signupConfig.localizedTemplates),
|
|
1535
1757
|
siteName: uidl.name || '',
|
|
1536
|
-
})
|
|
1758
|
+
}, { withAutomations }, Object.assign(Object.assign({ fields: resolveSignupFields(auth, collectWorkflowNodeConfigs(uidl.workflows, 'account-signup')) }, resetLinkOf(uidl)), {
|
|
1759
|
+
// Without a sign-up email sender, the known-address emails use the reset one.
|
|
1760
|
+
noticeEmail: resetEmailSenderOf(uidl),
|
|
1761
|
+
// The ticked consent box also joins the newsletter (R-N15).
|
|
1762
|
+
newsletter: newsletterSignupSubscribes(uidl) }));
|
|
1537
1763
|
files.set('auth-signup-route', {
|
|
1538
1764
|
path: ['pages', 'api', 'auth'],
|
|
1539
1765
|
files: [
|
|
@@ -1554,8 +1780,16 @@ module.exports = __customNodeRegistry;
|
|
|
1554
1780
|
if (Object.keys(welcomeProviderDeps).length > 0) {
|
|
1555
1781
|
ensureSentEmailLogModule(structure);
|
|
1556
1782
|
}
|
|
1783
|
+
// Forgot / reset password routes, the session revocation check and the
|
|
1784
|
+
// AUTH_PEPPER_SECRET declaration (password-reset-route-generator.ts).
|
|
1785
|
+
emitPasswordAuthFiles(structure, auth);
|
|
1557
1786
|
}
|
|
1558
|
-
|
|
1787
|
+
// The shared session reader's revocation check (every server file reads
|
|
1788
|
+
// the session through it).
|
|
1789
|
+
ensureSessionRevocationModule(structure);
|
|
1790
|
+
const nextAuthRouteCode = generateNextAuthRouteFile({
|
|
1791
|
+
passwordAuthEnabled: auth.passwordAuthEnabled === true,
|
|
1792
|
+
});
|
|
1559
1793
|
files.set('auth-nextauth-route', {
|
|
1560
1794
|
path: ['pages', 'api', 'auth'],
|
|
1561
1795
|
files: [
|
|
@@ -1610,6 +1844,18 @@ module.exports = __customNodeRegistry;
|
|
|
1610
1844
|
},
|
|
1611
1845
|
],
|
|
1612
1846
|
});
|
|
1847
|
+
// The server half of the same protection: every page the middleware
|
|
1848
|
+
// gates checks the session again in its getServerSideProps.
|
|
1849
|
+
files.set('auth-page-access', {
|
|
1850
|
+
path: ['utils', 'auth'],
|
|
1851
|
+
files: [
|
|
1852
|
+
{
|
|
1853
|
+
name: 'page-access',
|
|
1854
|
+
fileType: FileType.JS,
|
|
1855
|
+
content: generatePageAccessGuardModule(auth),
|
|
1856
|
+
},
|
|
1857
|
+
],
|
|
1858
|
+
});
|
|
1613
1859
|
}
|
|
1614
1860
|
// Emitted BEFORE session-provider so its file lands next to it. session-provider
|
|
1615
1861
|
// imports it first (`import './nextauth-url-guard'`) to strip an empty
|
|
@@ -1637,7 +1883,7 @@ module.exports = __customNodeRegistry;
|
|
|
1637
1883
|
},
|
|
1638
1884
|
],
|
|
1639
1885
|
});
|
|
1640
|
-
dependencies['next-auth'] = '
|
|
1886
|
+
dependencies['next-auth'] = '4.24.15';
|
|
1641
1887
|
dependencies.bcryptjs = '^2.4.3';
|
|
1642
1888
|
const driverDeps = getDatabaseDriverDependencies(auth.dataSourceType);
|
|
1643
1889
|
for (const [pkg, version] of Object.entries(driverDeps)) {
|