@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
|
@@ -5,8 +5,10 @@ import {
|
|
|
5
5
|
ProjectStrategy,
|
|
6
6
|
FileType,
|
|
7
7
|
UIDLAuthentication,
|
|
8
|
+
UIDLWorkflowEdge,
|
|
9
|
+
UIDLWorkflowNode,
|
|
8
10
|
} from '@teleporthq/teleport-types'
|
|
9
|
-
import { UIDLUtils } from '@teleporthq/teleport-shared'
|
|
11
|
+
import { DataExposure, TableAccess, UIDLUtils } from '@teleporthq/teleport-shared'
|
|
10
12
|
import {
|
|
11
13
|
splitIntoSegments,
|
|
12
14
|
resolveNodeExecutionEnv,
|
|
@@ -27,6 +29,7 @@ import {
|
|
|
27
29
|
hasStreamingAINode,
|
|
28
30
|
} from './api-route-generator'
|
|
29
31
|
import { generateWorkflowAuthHelperFile } from './workflow-auth-generator'
|
|
32
|
+
import { generatePageAccessGuardModule } from './page-access-guard-generator'
|
|
30
33
|
import {
|
|
31
34
|
generateSubscriberAccessHelperModule,
|
|
32
35
|
generateSubscriberAccessRoute,
|
|
@@ -46,6 +49,9 @@ import { resolveHandlerEntryName } from './nodes/types'
|
|
|
46
49
|
import { generateClientRuntimeCode, generateSharedRuntimeUtilsCode } from './executor-generator'
|
|
47
50
|
import { generateServerRuntimeCode } from './server-runtime-code'
|
|
48
51
|
import { buildSegmentTrust } from './segment-trust'
|
|
52
|
+
import { assertSegmentRouteGates, assertWorkflowPublishGates } from './publish-refusals'
|
|
53
|
+
import { assertProjectCodeIsSecure } from './project-code-scanner'
|
|
54
|
+
import { escapeSlackMessageBindingsInWorkflows } from './slack-message-values'
|
|
49
55
|
import {
|
|
50
56
|
generateRealtimeServerHelperCode,
|
|
51
57
|
generateRealtimeClientCode,
|
|
@@ -56,6 +62,7 @@ import {
|
|
|
56
62
|
generateRealtimeEventRoute,
|
|
57
63
|
generateRealtimeChannelsListRoute,
|
|
58
64
|
generateRealtimeChannelsMembersRoute,
|
|
65
|
+
projectCallsRealtimeRoute,
|
|
59
66
|
} from './realtime-generator'
|
|
60
67
|
import {
|
|
61
68
|
generateAuthDbHealthFile,
|
|
@@ -68,10 +75,19 @@ import {
|
|
|
68
75
|
generateSessionProviderWrapper,
|
|
69
76
|
generateNextAuthUrlGuardModule,
|
|
70
77
|
getDatabaseDriverDependencies,
|
|
78
|
+
resolveSignupFields,
|
|
71
79
|
} from './auth-generator'
|
|
80
|
+
import {
|
|
81
|
+
collectWorkflowNodeConfigs,
|
|
82
|
+
emitPasswordAuthFiles,
|
|
83
|
+
resetEmailSenderOf,
|
|
84
|
+
resetLinkOf,
|
|
85
|
+
} from './password-reset-route-generator'
|
|
86
|
+
import { ensureSessionRevocationModule } from './session-revocation-generator'
|
|
72
87
|
import { generateInvoiceFiles, resolveInvoiceDataSource } from './invoice'
|
|
73
88
|
import { ensureSentEmailLogModule, hasEmailSendingNodeType } from './sent-email-log'
|
|
74
89
|
import { ensureWebhookDeliveryLeaseModule } from './webhook-delivery-lease'
|
|
90
|
+
import { ensureSecurityRuntimeModule } from './security-runtime'
|
|
75
91
|
import { declareVercelFunctionsWhereRequired } from './vercel-functions'
|
|
76
92
|
import { ensureEmailLocaleModule, resolveEmailLocaleConfig } from './email-locale'
|
|
77
93
|
import { workflowUtilsImportLine, workflowUtilsRequireLine } from './workflow-utils-alias'
|
|
@@ -83,7 +99,11 @@ import {
|
|
|
83
99
|
resolveStorePaymentDriverIds,
|
|
84
100
|
} from './payments'
|
|
85
101
|
import type { PaymentDriverId } from './payments/payment-drivers-scope'
|
|
86
|
-
import {
|
|
102
|
+
import {
|
|
103
|
+
needsDataAPIRoute,
|
|
104
|
+
generateDataAPIRoute,
|
|
105
|
+
dataAPIRouteRecordsLowStock,
|
|
106
|
+
} from './data-api-route-generator'
|
|
87
107
|
import {
|
|
88
108
|
generateAccountDeleteRoute,
|
|
89
109
|
accountDeleteRouteDependencies,
|
|
@@ -97,9 +117,20 @@ import {
|
|
|
97
117
|
generateRuntimeStorageUploadRoute,
|
|
98
118
|
} from './runtime-storage-generator'
|
|
99
119
|
import { rewriteLowStockCustomHandlers } from './ecommerce-customhandler-rewriter'
|
|
100
|
-
import { assertWorkflowsAreSecure } from './security-scanner'
|
|
101
|
-
import { parameterizeAllWorkflowRawSql } from './raw-sql-param-binding'
|
|
102
120
|
import { generateBookingCalendarFeedFiles } from './booking-calendar-feed-route-generator'
|
|
121
|
+
import {
|
|
122
|
+
collectAutomationWorkflows,
|
|
123
|
+
hasAutomationsBus,
|
|
124
|
+
isAutomationWorkflow,
|
|
125
|
+
} from './automations/automations-scope'
|
|
126
|
+
import { generateAutomationFiles } from './automations/automations-project-plugin'
|
|
127
|
+
import { declareCronSecretEnv } from './cron-request-verification'
|
|
128
|
+
import { ensureAppEventsModule } from './automations/app-events-source'
|
|
129
|
+
import {
|
|
130
|
+
DEFAULT_ORDER_DETAILS_PREFIX,
|
|
131
|
+
resolveOrderDetailsRoutePrefix,
|
|
132
|
+
} from './ecommerce/order-details-route'
|
|
133
|
+
import { newsletterSignupSubscribes } from './newsletter/newsletter-scope'
|
|
103
134
|
|
|
104
135
|
// Resolves the auth IDENTITY (users) table from the UIDL auth tables. Getting
|
|
105
136
|
// this wrong is a security hole (the /api/data guard only protects this table),
|
|
@@ -226,6 +257,146 @@ export const stripEventHandlerAttrs = (uidl: ProjectUIDL): void => {
|
|
|
226
257
|
Object.values(uidl.components || {}).forEach(scrubComponent)
|
|
227
258
|
}
|
|
228
259
|
|
|
260
|
+
const workflowContextRef = (nodeId: string, path: string[]) => ({
|
|
261
|
+
type: 'workflowContext',
|
|
262
|
+
nodeId,
|
|
263
|
+
path,
|
|
264
|
+
})
|
|
265
|
+
|
|
266
|
+
const NEWSLETTER_ACCOUNT_SWITCH_OFF = 'Newsletter · Switch Off From The Account'
|
|
267
|
+
const NEWSLETTER_UNSUBSCRIBE_RECORD = 'Record The Unsubscribe'
|
|
268
|
+
const NEWSLETTER_ACCOUNT_FETCH = 'Fetch The Signed-In Person'
|
|
269
|
+
const NEWSLETTER_UNSUBSCRIBE_UPDATE = 'Unsubscribe The Signed-In Person'
|
|
270
|
+
const NEWSLETTER_TIMESTAMP = 'Note The Time'
|
|
271
|
+
const NEWSLETTER_SWITCH_OFF_STATE = 'Show The Switch Off'
|
|
272
|
+
const NEWSLETTER_EVENT_INPUTS = 'Build The Unsubscribe Event'
|
|
273
|
+
|
|
274
|
+
const NEWSLETTER_EVENT_INPUTS_CODE = [
|
|
275
|
+
'function customHandler(params) {',
|
|
276
|
+
' var named = params && params.length ? params[params.length - 1] || {} : {};',
|
|
277
|
+
' var id = named.id == null ? "" : String(named.id);',
|
|
278
|
+
' var email = named.email == null ? "" : String(named.email);',
|
|
279
|
+
' var stamp = named.timestamp == null ? "" : String(named.timestamp);',
|
|
280
|
+
' var time = stamp ? new Date(stamp).getTime() : Date.now();',
|
|
281
|
+
' if (!isFinite(time)) { time = Date.now(); }',
|
|
282
|
+
' return {',
|
|
283
|
+
' entityId: id,',
|
|
284
|
+
' actor: email,',
|
|
285
|
+
' dedupe: id + ":" + Math.floor(time / 60000),',
|
|
286
|
+
' subscriber: { email: email, consent: false },',
|
|
287
|
+
' };',
|
|
288
|
+
'}',
|
|
289
|
+
].join('\n')
|
|
290
|
+
|
|
291
|
+
const hasStepLabel = (node: UIDLWorkflowNode, label: string): boolean =>
|
|
292
|
+
node.label === label || node.name === label || node.builderLabel === label
|
|
293
|
+
|
|
294
|
+
const edgeId = (source: string, target: string): string => `${source}-${target}`
|
|
295
|
+
|
|
296
|
+
const ensureEdge = (edges: UIDLWorkflowEdge[], source: string, target: string): void => {
|
|
297
|
+
if (edges.some((edge) => edge.source === source && edge.target === target)) {
|
|
298
|
+
return
|
|
299
|
+
}
|
|
300
|
+
edges.push({ id: edgeId(source, target), source, target })
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
const setRecordParam = (
|
|
304
|
+
record: UIDLWorkflowNode,
|
|
305
|
+
key: string,
|
|
306
|
+
value: ReturnType<typeof workflowContextRef>
|
|
307
|
+
): void => {
|
|
308
|
+
const params = record.config.parameters
|
|
309
|
+
if (!Array.isArray(params)) {
|
|
310
|
+
return
|
|
311
|
+
}
|
|
312
|
+
const entry = params.find(
|
|
313
|
+
(item) => item && typeof item === 'object' && (item as { key?: unknown }).key === key
|
|
314
|
+
) as { key: string; value?: unknown } | undefined
|
|
315
|
+
if (entry) {
|
|
316
|
+
entry.value = value
|
|
317
|
+
} else {
|
|
318
|
+
params.push({ key, value })
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
const repairNewsletterAccountUnsubscribeEvents = (uidl: ProjectUIDL): void => {
|
|
323
|
+
const workflows = uidl.workflows?.workflows || {}
|
|
324
|
+
Object.values(workflows).forEach((workflow) => {
|
|
325
|
+
if (!workflow || workflow.name !== NEWSLETTER_ACCOUNT_SWITCH_OFF) {
|
|
326
|
+
return
|
|
327
|
+
}
|
|
328
|
+
const nodes = workflow.nodes || []
|
|
329
|
+
const edges = workflow.edges || []
|
|
330
|
+
const findNode = (type: string, label: string) =>
|
|
331
|
+
nodes.find((node) => node.type === type && hasStepLabel(node, label))
|
|
332
|
+
const account = findNode('account-get-current', NEWSLETTER_ACCOUNT_FETCH)
|
|
333
|
+
const update = findNode('data-update-item', NEWSLETTER_UNSUBSCRIBE_UPDATE)
|
|
334
|
+
const record = findNode('general-custom-node', NEWSLETTER_UNSUBSCRIBE_RECORD)
|
|
335
|
+
if (!account || !update || !record || !Array.isArray(record.config.parameters)) {
|
|
336
|
+
return
|
|
337
|
+
}
|
|
338
|
+
const eventType = record.config.parameters.find(
|
|
339
|
+
(param) =>
|
|
340
|
+
param && typeof param === 'object' && (param as { key?: unknown }).key === 'eventType'
|
|
341
|
+
) as { value?: unknown } | undefined
|
|
342
|
+
if (eventType?.value !== 'newsletter-unsubscribed') {
|
|
343
|
+
return
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
const timestamp = findNode('general-custom-js', NEWSLETTER_TIMESTAMP)
|
|
347
|
+
if (timestamp) {
|
|
348
|
+
timestamp.config.params = {}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
let eventInputs = findNode('general-custom-js', NEWSLETTER_EVENT_INPUTS)
|
|
352
|
+
if (!eventInputs) {
|
|
353
|
+
eventInputs = {
|
|
354
|
+
id: `${record.id}-event-inputs`,
|
|
355
|
+
type: 'general-custom-js',
|
|
356
|
+
label: NEWSLETTER_EVENT_INPUTS,
|
|
357
|
+
config: {},
|
|
358
|
+
executionEnv: 'server',
|
|
359
|
+
stepNumber: record.stepNumber,
|
|
360
|
+
}
|
|
361
|
+
const recordIndex = nodes.indexOf(record)
|
|
362
|
+
if (recordIndex >= 0) {
|
|
363
|
+
nodes.splice(recordIndex, 0, eventInputs)
|
|
364
|
+
} else {
|
|
365
|
+
nodes.push(eventInputs)
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
eventInputs.config = {
|
|
369
|
+
code: NEWSLETTER_EVENT_INPUTS_CODE,
|
|
370
|
+
context: 'server',
|
|
371
|
+
params: {
|
|
372
|
+
id: workflowContextRef(update.id, ['id']),
|
|
373
|
+
email: workflowContextRef(update.id, ['email']),
|
|
374
|
+
timestamp: timestamp ? workflowContextRef(timestamp.id, ['value']) : '',
|
|
375
|
+
},
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
const off = findNode('state-update-local-state', NEWSLETTER_SWITCH_OFF_STATE)
|
|
379
|
+
const redirected = edges.filter(
|
|
380
|
+
(edge) =>
|
|
381
|
+
edge.target === record.id &&
|
|
382
|
+
edge.source !== eventInputs!.id &&
|
|
383
|
+
(!off || edge.source === off.id)
|
|
384
|
+
)
|
|
385
|
+
redirected.forEach((edge) => {
|
|
386
|
+
edge.target = eventInputs!.id
|
|
387
|
+
})
|
|
388
|
+
if (!edges.some((edge) => edge.target === eventInputs!.id) && off) {
|
|
389
|
+
ensureEdge(edges, off.id, eventInputs.id)
|
|
390
|
+
}
|
|
391
|
+
ensureEdge(edges, eventInputs.id, record.id)
|
|
392
|
+
|
|
393
|
+
setRecordParam(record, 'entityId', workflowContextRef(eventInputs.id, ['entityId']))
|
|
394
|
+
setRecordParam(record, 'dedupeSubject', workflowContextRef(eventInputs.id, ['dedupe']))
|
|
395
|
+
setRecordParam(record, 'actor', workflowContextRef(eventInputs.id, ['actor']))
|
|
396
|
+
setRecordParam(record, 'subscriber', workflowContextRef(eventInputs.id, ['subscriber']))
|
|
397
|
+
})
|
|
398
|
+
}
|
|
399
|
+
|
|
229
400
|
export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
230
401
|
private static INLINE_HANDLED_NODE_TYPES = new Set([
|
|
231
402
|
'general-if-statement',
|
|
@@ -237,22 +408,27 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
237
408
|
const { uidl, strategy } = structure
|
|
238
409
|
|
|
239
410
|
stripEventHandlerAttrs(uidl)
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
//
|
|
243
|
-
//
|
|
244
|
-
//
|
|
245
|
-
// `
|
|
246
|
-
//
|
|
247
|
-
//
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
//
|
|
251
|
-
//
|
|
252
|
-
//
|
|
253
|
-
//
|
|
254
|
-
//
|
|
255
|
-
|
|
411
|
+
repairNewsletterAccountUnsubscribeEvents(uidl)
|
|
412
|
+
|
|
413
|
+
// The workflow gates, before any code is emitted (publish-refusals.ts, the
|
|
414
|
+
// one list the editor's AI tools check against too), in order:
|
|
415
|
+
// - SECURITY NET — parameterize raw-SQL interpolations before ANY config is
|
|
416
|
+
// emitted. Rewrites each `{{ name }}` value token in a data-node's `query` /
|
|
417
|
+
// `rawQueryUserPart` into a positional `$N` placeholder and moves the bound
|
|
418
|
+
// value into the sibling params array, so the value binds via
|
|
419
|
+
// `client.query(sql, params)` and never reaches the SQL text. Throws (aborts
|
|
420
|
+
// generation) on an interpolation that cannot be safely bound — refusing to
|
|
421
|
+
// ship injectable SQL. Runs FIRST so the security gate below sees final SQL.
|
|
422
|
+
// - Codegen-time security gate. Throws CodegenSecurityError if any
|
|
423
|
+
// `general-custom-js` body references a protected platform secret
|
|
424
|
+
// or uses an obvious sandbox-escape primitive. Backstop for the GUI
|
|
425
|
+
// and services-worker static checks.
|
|
426
|
+
// - A push to every subscriber, or a step on any stored file, never sits on
|
|
427
|
+
// a route any visitor can call (see public-step-guards.ts).
|
|
428
|
+
assertWorkflowPublishGates(uidl.workflows, uidl.authentication)
|
|
429
|
+
// The author code a page runs on the server beside its workflows: state
|
|
430
|
+
// mapping functions and the expressions Next prerenders (project-code-scanner.ts).
|
|
431
|
+
assertProjectCodeIsSecure(uidl)
|
|
256
432
|
|
|
257
433
|
if (uidl.workflows) {
|
|
258
434
|
const pageRouteMap = this.buildPageRouteMap(uidl, strategy)
|
|
@@ -348,9 +524,25 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
348
524
|
async runAfter(structure: ProjectPluginStructure): Promise<ProjectPluginStructure> {
|
|
349
525
|
const { uidl, files, dependencies } = structure
|
|
350
526
|
|
|
527
|
+
// Every app with server routes carries the shared security runtime its
|
|
528
|
+
// routes require (`utils/security-runtime.js`): the visitor's address,
|
|
529
|
+
// constant-time compare, durable rate limits, generic client errors.
|
|
530
|
+
if (hasServerRoutes(uidl)) {
|
|
531
|
+
ensureSecurityRuntimeModule(structure)
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
// Automations (workflows started by a business event), and whether the
|
|
535
|
+
// in-app event bus is generated for them: the routes that record or wake
|
|
536
|
+
// business events (signup, account deletion, the data API, a server-side
|
|
537
|
+
// signup) carry that code only then.
|
|
538
|
+
const automationWorkflows = collectAutomationWorkflows(uidl.workflows)
|
|
539
|
+
// Only with a database the queue runs on: without one no bus is generated
|
|
540
|
+
// (generateAutomationFiles says why).
|
|
541
|
+
const withAutomations = hasAutomationsBus(uidl)
|
|
542
|
+
|
|
351
543
|
const hasAuthentication = uidl.authentication && uidl.authentication.enabled
|
|
352
544
|
if (hasAuthentication) {
|
|
353
|
-
this.generateAuthFiles(uidl.authentication, structure)
|
|
545
|
+
this.generateAuthFiles(uidl.authentication, structure, withAutomations)
|
|
354
546
|
}
|
|
355
547
|
|
|
356
548
|
// The bookings' calendar feeds do not depend on any workflow, so they are
|
|
@@ -390,9 +582,26 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
390
582
|
return structure
|
|
391
583
|
}
|
|
392
584
|
|
|
585
|
+
// A Slack message bound whole to a value is escaped like a chip (slack-message-values.ts).
|
|
586
|
+
escapeSlackMessageBindingsInWorkflows(uidl.workflows)
|
|
393
587
|
const allWorkflows = uidl.workflows.workflows
|
|
394
588
|
const customNodes = uidl.workflows.customNodes || {}
|
|
395
589
|
const usedNodeTypes = collectUsedNodeTypes(uidl.workflows)
|
|
590
|
+
// Automations run in their own handler modules, which carry their nodes'
|
|
591
|
+
// handlers: the shared client and server handler files leave them out.
|
|
592
|
+
let handlerFileNodeTypes = usedNodeTypes
|
|
593
|
+
if (automationWorkflows.length > 0) {
|
|
594
|
+
const browserAndRouteWorkflows: typeof allWorkflows = {}
|
|
595
|
+
for (const [id, wf] of Object.entries(allWorkflows)) {
|
|
596
|
+
if (!isAutomationWorkflow(wf)) {
|
|
597
|
+
browserAndRouteWorkflows[id] = wf
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
handlerFileNodeTypes = collectUsedNodeTypes({
|
|
601
|
+
...uidl.workflows,
|
|
602
|
+
workflows: browserAndRouteWorkflows,
|
|
603
|
+
})
|
|
604
|
+
}
|
|
396
605
|
|
|
397
606
|
// Server routes that run a mail-sending node require the sent-email
|
|
398
607
|
// ledger module (see generateNodeHandlersForSegment).
|
|
@@ -428,7 +637,7 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
428
637
|
],
|
|
429
638
|
})
|
|
430
639
|
|
|
431
|
-
const clientHandlerCode = this.generateNodeHandlerFile(
|
|
640
|
+
const clientHandlerCode = this.generateNodeHandlerFile(handlerFileNodeTypes, 'client')
|
|
432
641
|
if (clientHandlerCode) {
|
|
433
642
|
files.set('workflow-client-handlers', {
|
|
434
643
|
path: ['utils', 'workflows'],
|
|
@@ -463,12 +672,24 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
463
672
|
customNodeServerUrls[cnId] = {}
|
|
464
673
|
// The same list, in the same order, the custom node's runner hands its
|
|
465
674
|
// inner custom-js nodes as `params`.
|
|
466
|
-
const cnGraph = {
|
|
675
|
+
const cnGraph = {
|
|
676
|
+
id: cnId,
|
|
677
|
+
nodes: cn.nodes || [],
|
|
678
|
+
edges: cn.edges || [],
|
|
679
|
+
segments: cnSegments,
|
|
680
|
+
}
|
|
467
681
|
for (const seg of cnServerSegments) {
|
|
468
682
|
const routeOptions = {
|
|
469
683
|
customNodeIds: (cn.nodes || []).map((n: any) => n.id),
|
|
470
684
|
trust: buildSegmentTrust(seg, cnGraph),
|
|
685
|
+
customNodes,
|
|
471
686
|
}
|
|
687
|
+
assertSegmentRouteGates(seg, routeOptions.trust, {
|
|
688
|
+
owner: cn.name || cnId,
|
|
689
|
+
graphNodes: cn.nodes || [],
|
|
690
|
+
protection: cn.protection,
|
|
691
|
+
staffRoles: TableAccess.resolveStaffRoles(uidl.authentication),
|
|
692
|
+
})
|
|
472
693
|
const isStreaming = hasStreamingAINode(seg)
|
|
473
694
|
if (routeHasPolicy(cn.protection)) {
|
|
474
695
|
anyGuardedRouteEmitted = true
|
|
@@ -540,20 +761,24 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
540
761
|
const webhookProvidersOwnedByWorkflows = new Set<PaymentDriverId>()
|
|
541
762
|
|
|
542
763
|
for (const workflow of Object.values(allWorkflows) as any[]) {
|
|
764
|
+
// An automation runs in a handler module of the in-app event bus
|
|
765
|
+
// (generateAutomationFiles below), through the server runtime.
|
|
766
|
+
if (isAutomationWorkflow(workflow)) {
|
|
767
|
+
if (withAutomations) {
|
|
768
|
+
hasServerSegments = true
|
|
769
|
+
}
|
|
770
|
+
continue
|
|
771
|
+
}
|
|
772
|
+
|
|
543
773
|
if (workflow.trigger.type === 'event-cron-triggered') {
|
|
544
774
|
// A cron route runs its whole graph on the server through the same
|
|
545
775
|
// runtime and handler file a server segment uses, so an app whose only
|
|
546
776
|
// server work is a cron still needs them.
|
|
547
777
|
hasServerSegments = true
|
|
548
|
-
// The route refuses every request not signed with
|
|
549
|
-
// fills
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
}
|
|
553
|
-
if (!uidl.globals.env.TELEPORT_CRON_SECRET) {
|
|
554
|
-
uidl.globals.env.TELEPORT_CRON_SECRET = ''
|
|
555
|
-
}
|
|
556
|
-
const cronContent = generateCronAPIRoute(workflow, customNodes)
|
|
778
|
+
// The route refuses every request not signed with these keys; the
|
|
779
|
+
// deploy fills them in (see cron-request-verification.ts).
|
|
780
|
+
declareCronSecretEnv(uidl)
|
|
781
|
+
const cronContent = generateCronAPIRoute(workflow, customNodes, { withAutomations })
|
|
557
782
|
const cronFileName = getCronRouteFileName(workflow)
|
|
558
783
|
files.set(`workflow-cron-${workflow.id}`, {
|
|
559
784
|
path: ['pages', 'api', 'workflows'],
|
|
@@ -570,7 +795,9 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
570
795
|
|
|
571
796
|
if (workflow.trigger.type === 'event-webhook-received' && workflow.webhookConfig) {
|
|
572
797
|
hasServerSegments = true
|
|
573
|
-
const webhookContent = generateWebhookWorkflowAPIRoute(workflow, customNodes
|
|
798
|
+
const webhookContent = generateWebhookWorkflowAPIRoute(workflow, customNodes, {
|
|
799
|
+
withAutomations,
|
|
800
|
+
})
|
|
574
801
|
const webhookFileName = getWebhookRouteFileName(workflow)
|
|
575
802
|
const webhookPath = getWebhookRoutePath(workflow)
|
|
576
803
|
files.set(`workflow-webhook-${workflow.id}`, {
|
|
@@ -632,7 +859,12 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
632
859
|
|
|
633
860
|
const segments = splitIntoSegments(workflow)
|
|
634
861
|
const serverSegments = segments.filter((s) => s.env === 'server')
|
|
635
|
-
const workflowGraph = {
|
|
862
|
+
const workflowGraph = {
|
|
863
|
+
id: workflow.id,
|
|
864
|
+
nodes: workflow.nodes || [],
|
|
865
|
+
edges: workflow.edges || [],
|
|
866
|
+
segments,
|
|
867
|
+
}
|
|
636
868
|
|
|
637
869
|
for (const serverSeg of serverSegments) {
|
|
638
870
|
hasServerSegments = true
|
|
@@ -640,7 +872,13 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
640
872
|
if (routeHasPolicy(workflow.protection)) {
|
|
641
873
|
anyGuardedRouteEmitted = true
|
|
642
874
|
}
|
|
643
|
-
const routeOptions = { trust: buildSegmentTrust(serverSeg, workflowGraph) }
|
|
875
|
+
const routeOptions = { trust: buildSegmentTrust(serverSeg, workflowGraph), customNodes }
|
|
876
|
+
assertSegmentRouteGates(serverSeg, routeOptions.trust, {
|
|
877
|
+
owner: workflow.name || workflow.id,
|
|
878
|
+
graphNodes: workflow.nodes || [],
|
|
879
|
+
protection: workflow.protection,
|
|
880
|
+
staffRoles: TableAccess.resolveStaffRoles(uidl.authentication),
|
|
881
|
+
})
|
|
644
882
|
const apiContent = isStreaming
|
|
645
883
|
? generateStreamingServerSegmentAPIRoute(
|
|
646
884
|
serverSeg,
|
|
@@ -669,6 +907,16 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
669
907
|
}
|
|
670
908
|
}
|
|
671
909
|
|
|
910
|
+
if (automationWorkflows.length > 0) {
|
|
911
|
+
// The fallback prefix means the project has no order details page to link.
|
|
912
|
+
const orderPagePrefix = resolveOrderDetailsRoutePrefix(uidl)
|
|
913
|
+
generateAutomationFiles(structure, automationWorkflows, {
|
|
914
|
+
customNodes,
|
|
915
|
+
usersTable: resolveAuthUsersTableName(uidl.authentication) || 'users',
|
|
916
|
+
orderPagePrefix: orderPagePrefix === DEFAULT_ORDER_DETAILS_PREFIX ? null : orderPagePrefix,
|
|
917
|
+
})
|
|
918
|
+
}
|
|
919
|
+
|
|
672
920
|
if (hasServerSegments) {
|
|
673
921
|
files.set('workflow-server-runtime', {
|
|
674
922
|
path: ['utils', 'workflows'],
|
|
@@ -676,7 +924,9 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
676
924
|
{
|
|
677
925
|
name: 'server-runtime',
|
|
678
926
|
fileType: FileType.JS,
|
|
679
|
-
content: generateServerRuntimeCode(
|
|
927
|
+
content: generateServerRuntimeCode({
|
|
928
|
+
withSessionRevocation: uidl.authentication?.enabled === true,
|
|
929
|
+
}),
|
|
680
930
|
},
|
|
681
931
|
],
|
|
682
932
|
})
|
|
@@ -696,13 +946,15 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
696
946
|
withSubscriberAccess:
|
|
697
947
|
uidl.authentication?.enabled === true &&
|
|
698
948
|
hasSubscriberOnlyPages(uidl.authentication),
|
|
949
|
+
// The session reader checks revocation only with authentication.
|
|
950
|
+
withSessionRevocation: uidl.authentication?.enabled === true,
|
|
699
951
|
}),
|
|
700
952
|
},
|
|
701
953
|
],
|
|
702
954
|
})
|
|
703
955
|
}
|
|
704
956
|
|
|
705
|
-
const serverHandlerCode = this.generateNodeHandlerFile(
|
|
957
|
+
const serverHandlerCode = this.generateNodeHandlerFile(handlerFileNodeTypes, 'server')
|
|
706
958
|
if (serverHandlerCode) {
|
|
707
959
|
files.set('workflow-server-handlers', {
|
|
708
960
|
path: ['utils', 'workflows'],
|
|
@@ -742,17 +994,28 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
742
994
|
typeof ecom?.stockManagementConfig?.lowStockThreshold === 'number'
|
|
743
995
|
? ecom.stockManagementConfig.lowStockThreshold
|
|
744
996
|
: 5
|
|
997
|
+
const dataAPIRouteOptions = {
|
|
998
|
+
authUsersTableName,
|
|
999
|
+
lowStockAlertsEnabled,
|
|
1000
|
+
lowStockThreshold,
|
|
1001
|
+
withAutomations,
|
|
1002
|
+
// Who reads and changes other customers' records (Task 1, owner scope).
|
|
1003
|
+
staffRoles: TableAccess.resolveStaffRoles(uidl.authentication),
|
|
1004
|
+
// Who reads which table from a browser (Task 1, exposure).
|
|
1005
|
+
dataExposure: DataExposure.resolveDataExposure(uidl),
|
|
1006
|
+
managedDataSourceIds: DataExposure.managedDataSourceIds(uidl),
|
|
1007
|
+
}
|
|
1008
|
+
// The low-stock events are recorded through utils/app-events.js.
|
|
1009
|
+
if (dataAPIRouteRecordsLowStock(dataAPIRouteOptions)) {
|
|
1010
|
+
ensureAppEventsModule(structure, withAutomations)
|
|
1011
|
+
}
|
|
745
1012
|
files.set('workflow-data-api-route', {
|
|
746
1013
|
path: ['pages', 'api', 'data'],
|
|
747
1014
|
files: [
|
|
748
1015
|
{
|
|
749
1016
|
name: '[...params]',
|
|
750
1017
|
fileType: FileType.JS,
|
|
751
|
-
content: generateDataAPIRoute(
|
|
752
|
-
authUsersTableName,
|
|
753
|
-
lowStockAlertsEnabled,
|
|
754
|
-
lowStockThreshold,
|
|
755
|
-
}),
|
|
1018
|
+
content: generateDataAPIRoute(dataAPIRouteOptions),
|
|
756
1019
|
},
|
|
757
1020
|
],
|
|
758
1021
|
})
|
|
@@ -795,6 +1058,7 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
795
1058
|
typeof deleteConfig.deletedEmailPattern === 'string'
|
|
796
1059
|
? deleteConfig.deletedEmailPattern
|
|
797
1060
|
: undefined,
|
|
1061
|
+
withAutomations,
|
|
798
1062
|
}),
|
|
799
1063
|
},
|
|
800
1064
|
],
|
|
@@ -819,7 +1083,9 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
819
1083
|
{
|
|
820
1084
|
name: 'upload',
|
|
821
1085
|
fileType: FileType.JS,
|
|
822
|
-
content: generateRuntimeStorageUploadRoute(
|
|
1086
|
+
content: generateRuntimeStorageUploadRoute({
|
|
1087
|
+
withSessionRevocation: uidl.authentication?.enabled === true,
|
|
1088
|
+
}),
|
|
823
1089
|
},
|
|
824
1090
|
],
|
|
825
1091
|
})
|
|
@@ -934,7 +1200,8 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
934
1200
|
(wf: any) =>
|
|
935
1201
|
wf.trigger.scope === 'global' &&
|
|
936
1202
|
wf.trigger.type !== 'event-cron-triggered' &&
|
|
937
|
-
wf.trigger.type !== 'event-webhook-received'
|
|
1203
|
+
wf.trigger.type !== 'event-webhook-received' &&
|
|
1204
|
+
!isAutomationWorkflow(wf)
|
|
938
1205
|
)
|
|
939
1206
|
|
|
940
1207
|
if (globalWorkflows.length > 0) {
|
|
@@ -1049,7 +1316,9 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
1049
1316
|
{
|
|
1050
1317
|
name: 'server',
|
|
1051
1318
|
fileType: FileType.JS,
|
|
1052
|
-
content: generateRealtimeServerHelperCode(
|
|
1319
|
+
content: generateRealtimeServerHelperCode(uidl.workflows, {
|
|
1320
|
+
withSessionRevocation: uidl.authentication?.enabled === true,
|
|
1321
|
+
}),
|
|
1053
1322
|
},
|
|
1054
1323
|
],
|
|
1055
1324
|
})
|
|
@@ -1100,7 +1369,7 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
1100
1369
|
|
|
1101
1370
|
const usedRealtimeActions = collectUsedRealtimeActionTypes(uidl.workflows)
|
|
1102
1371
|
|
|
1103
|
-
if (
|
|
1372
|
+
if (projectCallsRealtimeRoute(uidl.workflows, 'message')) {
|
|
1104
1373
|
files.set('realtime-api-message', {
|
|
1105
1374
|
path: ['pages', 'api', 'realtime'],
|
|
1106
1375
|
files: [
|
|
@@ -1113,7 +1382,7 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
1113
1382
|
})
|
|
1114
1383
|
}
|
|
1115
1384
|
|
|
1116
|
-
if (
|
|
1385
|
+
if (projectCallsRealtimeRoute(uidl.workflows, 'event')) {
|
|
1117
1386
|
files.set('realtime-api-event', {
|
|
1118
1387
|
path: ['pages', 'api', 'realtime'],
|
|
1119
1388
|
files: [
|
|
@@ -1240,7 +1509,8 @@ export class NextWorkflowProjectPlugin implements ProjectPlugin {
|
|
|
1240
1509
|
}
|
|
1241
1510
|
|
|
1242
1511
|
if (env === 'server' && generator.generateServerHandler) {
|
|
1243
|
-
handlers.
|
|
1512
|
+
// utils/workflows/node-handlers-server.js: two levels below the project root.
|
|
1513
|
+
handlers.push(generator.generateServerHandler({ relativePrefix: '../..' }))
|
|
1244
1514
|
} else {
|
|
1245
1515
|
handlers.push(generator.generateHandler())
|
|
1246
1516
|
}
|
|
@@ -1738,7 +2008,11 @@ module.exports = __customNodeRegistry;
|
|
|
1738
2008
|
`
|
|
1739
2009
|
}
|
|
1740
2010
|
|
|
1741
|
-
private generateAuthFiles(
|
|
2011
|
+
private generateAuthFiles(
|
|
2012
|
+
auth: UIDLAuthentication,
|
|
2013
|
+
structure: ProjectPluginStructure,
|
|
2014
|
+
withAutomations: boolean
|
|
2015
|
+
): void {
|
|
1742
2016
|
const { files, dependencies, uidl } = structure
|
|
1743
2017
|
|
|
1744
2018
|
const dataSourceConfig =
|
|
@@ -1808,16 +2082,33 @@ module.exports = __customNodeRegistry;
|
|
|
1808
2082
|
// The route reads the signup page's language off the request, so the
|
|
1809
2083
|
// locale module must exist whether or not a welcome email is configured.
|
|
1810
2084
|
ensureEmailLocaleModule(structure)
|
|
1811
|
-
const signupRouteCode = generateSignupRouteFile(
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
2085
|
+
const signupRouteCode = generateSignupRouteFile(
|
|
2086
|
+
auth,
|
|
2087
|
+
{
|
|
2088
|
+
emailProvider: welcomeProvider,
|
|
2089
|
+
fromEmail: typeof signupConfig.from === 'string' ? signupConfig.from : '',
|
|
2090
|
+
fromName: typeof signupConfig.fromName === 'string' ? signupConfig.fromName : '',
|
|
2091
|
+
emailSecretEnvName: welcomeSecretEnvName,
|
|
2092
|
+
emailSubject: typeof signupConfig.subject === 'string' ? signupConfig.subject : '',
|
|
2093
|
+
emailBodyHtml: typeof signupConfig.body === 'string' ? signupConfig.body : '',
|
|
2094
|
+
localizedTemplates: readLocalizedEmailTemplates(signupConfig.localizedTemplates),
|
|
2095
|
+
siteName: uidl.name || '',
|
|
2096
|
+
},
|
|
2097
|
+
{ withAutomations },
|
|
2098
|
+
// Only the fields this project's sign-up forms collect (never a privileged one).
|
|
2099
|
+
{
|
|
2100
|
+
fields: resolveSignupFields(
|
|
2101
|
+
auth,
|
|
2102
|
+
collectWorkflowNodeConfigs(uidl.workflows, 'account-signup')
|
|
2103
|
+
),
|
|
2104
|
+
// The set-password link opens the page the reset link opens.
|
|
2105
|
+
...resetLinkOf(uidl),
|
|
2106
|
+
// Without a sign-up email sender, the known-address emails use the reset one.
|
|
2107
|
+
noticeEmail: resetEmailSenderOf(uidl),
|
|
2108
|
+
// The ticked consent box also joins the newsletter (R-N15).
|
|
2109
|
+
newsletter: newsletterSignupSubscribes(uidl),
|
|
2110
|
+
}
|
|
2111
|
+
)
|
|
1821
2112
|
files.set('auth-signup-route', {
|
|
1822
2113
|
path: ['pages', 'api', 'auth'],
|
|
1823
2114
|
files: [
|
|
@@ -1839,9 +2130,19 @@ module.exports = __customNodeRegistry;
|
|
|
1839
2130
|
if (Object.keys(welcomeProviderDeps).length > 0) {
|
|
1840
2131
|
ensureSentEmailLogModule(structure)
|
|
1841
2132
|
}
|
|
2133
|
+
|
|
2134
|
+
// Forgot / reset password routes, the session revocation check and the
|
|
2135
|
+
// AUTH_PEPPER_SECRET declaration (password-reset-route-generator.ts).
|
|
2136
|
+
emitPasswordAuthFiles(structure, auth)
|
|
1842
2137
|
}
|
|
1843
2138
|
|
|
1844
|
-
|
|
2139
|
+
// The shared session reader's revocation check (every server file reads
|
|
2140
|
+
// the session through it).
|
|
2141
|
+
ensureSessionRevocationModule(structure)
|
|
2142
|
+
|
|
2143
|
+
const nextAuthRouteCode = generateNextAuthRouteFile({
|
|
2144
|
+
passwordAuthEnabled: auth.passwordAuthEnabled === true,
|
|
2145
|
+
})
|
|
1845
2146
|
files.set('auth-nextauth-route', {
|
|
1846
2147
|
path: ['pages', 'api', 'auth'],
|
|
1847
2148
|
files: [
|
|
@@ -1900,6 +2201,18 @@ module.exports = __customNodeRegistry;
|
|
|
1900
2201
|
},
|
|
1901
2202
|
],
|
|
1902
2203
|
})
|
|
2204
|
+
// The server half of the same protection: every page the middleware
|
|
2205
|
+
// gates checks the session again in its getServerSideProps.
|
|
2206
|
+
files.set('auth-page-access', {
|
|
2207
|
+
path: ['utils', 'auth'],
|
|
2208
|
+
files: [
|
|
2209
|
+
{
|
|
2210
|
+
name: 'page-access',
|
|
2211
|
+
fileType: FileType.JS,
|
|
2212
|
+
content: generatePageAccessGuardModule(auth),
|
|
2213
|
+
},
|
|
2214
|
+
],
|
|
2215
|
+
})
|
|
1903
2216
|
}
|
|
1904
2217
|
|
|
1905
2218
|
// Emitted BEFORE session-provider so its file lands next to it. session-provider
|
|
@@ -1930,7 +2243,7 @@ module.exports = __customNodeRegistry;
|
|
|
1930
2243
|
],
|
|
1931
2244
|
})
|
|
1932
2245
|
|
|
1933
|
-
dependencies['next-auth'] = '
|
|
2246
|
+
dependencies['next-auth'] = '4.24.15'
|
|
1934
2247
|
dependencies.bcryptjs = '^2.4.3'
|
|
1935
2248
|
|
|
1936
2249
|
const driverDeps = getDatabaseDriverDependencies(auth.dataSourceType)
|