@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.
Files changed (976) hide show
  1. package/__tests__/_helpers/fake-fetch.ts +75 -0
  2. package/__tests__/_helpers/gui-place-order-statements.ts +17 -0
  3. package/__tests__/_helpers/inserted-lines.ts +22 -0
  4. package/__tests__/_helpers/invoice-store.ts +10 -1
  5. package/__tests__/_helpers/load-security-runtime.ts +45 -0
  6. package/__tests__/_helpers/load-server-runtime.ts +26 -3
  7. package/__tests__/_helpers/run-account-delete-route.ts +3 -1
  8. package/__tests__/_helpers/run-generated-middleware.ts +7 -2
  9. package/__tests__/account-delete-owned-rows.test.ts +3 -1
  10. package/__tests__/adopted-element-trigger-code.test.ts +128 -0
  11. package/__tests__/analytics-track-outcome.test.ts +145 -0
  12. package/__tests__/auth-password-change-ends-sessions.test.ts +8 -1
  13. package/__tests__/auth-password-security.test.ts +2275 -0
  14. package/__tests__/auth-session-cost.test.ts +31 -0
  15. package/__tests__/auth-signup-route.test.ts +960 -0
  16. package/__tests__/authored-code-every-path.test.ts +247 -0
  17. package/__tests__/automations-bus.test.ts +3820 -0
  18. package/__tests__/automations-catalog-drift.test.ts +97 -0
  19. package/__tests__/booking-calendar-feed-route.test.ts +20 -3
  20. package/__tests__/cart-price-order.test.ts +336 -1
  21. package/__tests__/code-lookup-rate-limit-route.test.ts +189 -0
  22. package/__tests__/cost-bearing-node-types.test.ts +119 -0
  23. package/__tests__/credential-columns-reply.test.ts +9 -0
  24. package/__tests__/credential-result-reply.test.ts +19 -5
  25. package/__tests__/cron-route-loop-templateparams.test.ts +6 -3
  26. package/__tests__/custom-js-authored-code.test.ts +304 -0
  27. package/__tests__/custom-node-custom-code-gate.test.ts +136 -0
  28. package/__tests__/custom-node-step-handlers.test.ts +251 -0
  29. package/__tests__/custom-node-step-reach.test.ts +63 -0
  30. package/__tests__/data-api-anon-user-id-fallback.test.ts +7 -2
  31. package/__tests__/data-api-browser-reads.test.ts +7 -0
  32. package/__tests__/data-api-business-events.test.ts +403 -0
  33. package/__tests__/data-api-invalid-body.test.ts +7 -0
  34. package/__tests__/data-api-low-stock-autofire.test.ts +30 -4
  35. package/__tests__/data-api-optional-feature-columns.test.ts +44 -0
  36. package/__tests__/data-api-owner-scope-credentials.test.ts +1324 -0
  37. package/__tests__/data-api-protected-tables.test.ts +48 -15
  38. package/__tests__/data-api-retired-table-and-account-fields.test.ts +208 -0
  39. package/__tests__/email-locale-senders.test.ts +5 -3
  40. package/__tests__/expression-injection.test.ts +343 -0
  41. package/__tests__/fixtures/admin-file-workflows.json +242 -0
  42. package/__tests__/form-confirmation-email-template.test.ts +44 -0
  43. package/__tests__/internal-request-headers.test.ts +25 -0
  44. package/__tests__/invoice-pdf-service-project-header.test.ts +120 -0
  45. package/__tests__/invoice-self-call-origin.test.ts +57 -1
  46. package/__tests__/legacy-webhook-self-calls.test.ts +86 -1
  47. package/__tests__/middleware-home-route-protection.test.ts +3 -1
  48. package/__tests__/middleware-subscriber-access.test.ts +1 -1
  49. package/__tests__/newsletter-admin-route.test.ts +649 -0
  50. package/__tests__/newsletter-plugin.test.ts +1248 -0
  51. package/__tests__/outbound-nodes-security.test.ts +1929 -0
  52. package/__tests__/page-access-guard.test.ts +217 -0
  53. package/__tests__/page-access-route-table.test.ts +231 -0
  54. package/__tests__/payment-drivers-module.test.ts +23 -0
  55. package/__tests__/payment-legacy-webhook-routes.test.ts +100 -5
  56. package/__tests__/payment-webhook-route.test.ts +4 -1
  57. package/__tests__/paypal-webhook-signature-verification.test.ts +44 -0
  58. package/__tests__/place-order-guards.test.ts +506 -0
  59. package/__tests__/public-step-guards.test.ts +310 -0
  60. package/__tests__/publish-refusals.test.ts +505 -0
  61. package/__tests__/realtime-identity-routes.test.ts +492 -0
  62. package/__tests__/record-event-writer-server-only.test.ts +975 -0
  63. package/__tests__/resolve-config-template-params.test.ts +3 -3
  64. package/__tests__/runtime-storage-upload-access.test.ts +280 -17
  65. package/__tests__/security-integration-env-names.test.ts +74 -0
  66. package/__tests__/security-lists-parity.test.ts +245 -0
  67. package/__tests__/security-runtime-shadow.test.ts +224 -1
  68. package/__tests__/security-runtime.test.ts +893 -0
  69. package/__tests__/segment-rate-limit-error-branch.test.ts +284 -0
  70. package/__tests__/segment-route-abuse-gate.test.ts +309 -0
  71. package/__tests__/server-job-hops-real-data-api.test.ts +669 -0
  72. package/__tests__/server-session-identity.test.ts +522 -0
  73. package/__tests__/server-step-chain.test.ts +222 -0
  74. package/__tests__/server-step-signing.test.ts +107 -2
  75. package/__tests__/session-cookie-resolver.test.ts +62 -106
  76. package/__tests__/signup-event.test.ts +649 -0
  77. package/__tests__/signup-reply-identical.test.ts +144 -0
  78. package/__tests__/slack-message-escaping.test.ts +123 -0
  79. package/__tests__/visitor-step-limits.test.ts +318 -0
  80. package/__tests__/webhook-delivery-lease.test.ts +4 -1
  81. package/__tests__/webpack-safe-handlers.test.ts +57 -8
  82. package/__tests__/workflow-auth-guard.test.ts +9 -1
  83. package/dist/cjs/account-delete-route-generator.d.ts +1 -0
  84. package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
  85. package/dist/cjs/account-delete-route-generator.js +18 -3
  86. package/dist/cjs/account-delete-route-generator.js.map +1 -1
  87. package/dist/cjs/api-route-generator.d.ts +52 -3
  88. package/dist/cjs/api-route-generator.d.ts.map +1 -1
  89. package/dist/cjs/api-route-generator.js +600 -145
  90. package/dist/cjs/api-route-generator.js.map +1 -1
  91. package/dist/cjs/auth-generator.d.ts +126 -3
  92. package/dist/cjs/auth-generator.d.ts.map +1 -1
  93. package/dist/cjs/auth-generator.js +1353 -139
  94. package/dist/cjs/auth-generator.js.map +1 -1
  95. package/dist/cjs/automations/activity-kicks.d.ts +12 -0
  96. package/dist/cjs/automations/activity-kicks.d.ts.map +1 -0
  97. package/dist/cjs/automations/activity-kicks.js +123 -0
  98. package/dist/cjs/automations/activity-kicks.js.map +1 -0
  99. package/dist/cjs/automations/app-events-source.d.ts +33 -0
  100. package/dist/cjs/automations/app-events-source.d.ts.map +1 -0
  101. package/dist/cjs/automations/app-events-source.js +109 -0
  102. package/dist/cjs/automations/app-events-source.js.map +1 -0
  103. package/dist/cjs/automations/automations-project-plugin.d.ts +21 -0
  104. package/dist/cjs/automations/automations-project-plugin.d.ts.map +1 -0
  105. package/dist/cjs/automations/automations-project-plugin.js +102 -0
  106. package/dist/cjs/automations/automations-project-plugin.js.map +1 -0
  107. package/dist/cjs/automations/automations-scope.d.ts +104 -0
  108. package/dist/cjs/automations/automations-scope.d.ts.map +1 -0
  109. package/dist/cjs/automations/automations-scope.js +176 -0
  110. package/dist/cjs/automations/automations-scope.js.map +1 -0
  111. package/dist/cjs/automations/dispatcher-source.d.ts +72 -0
  112. package/dist/cjs/automations/dispatcher-source.d.ts.map +1 -0
  113. package/dist/cjs/automations/dispatcher-source.js +1008 -0
  114. package/dist/cjs/automations/dispatcher-source.js.map +1 -0
  115. package/dist/cjs/automations/event-bus-source.d.ts +44 -0
  116. package/dist/cjs/automations/event-bus-source.d.ts.map +1 -0
  117. package/dist/cjs/automations/event-bus-source.js +427 -0
  118. package/dist/cjs/automations/event-bus-source.js.map +1 -0
  119. package/dist/cjs/automations/handler-module-generator.d.ts +25 -0
  120. package/dist/cjs/automations/handler-module-generator.d.ts.map +1 -0
  121. package/dist/cjs/automations/handler-module-generator.js +78 -0
  122. package/dist/cjs/automations/handler-module-generator.js.map +1 -0
  123. package/dist/cjs/automations/hydrators-source.d.ts +33 -0
  124. package/dist/cjs/automations/hydrators-source.d.ts.map +1 -0
  125. package/dist/cjs/automations/hydrators-source.js +571 -0
  126. package/dist/cjs/automations/hydrators-source.js.map +1 -0
  127. package/dist/cjs/booking-calendar-feed-route-generator.d.ts.map +1 -1
  128. package/dist/cjs/booking-calendar-feed-route-generator.js +8 -0
  129. package/dist/cjs/booking-calendar-feed-route-generator.js.map +1 -1
  130. package/dist/cjs/configured-nextauth-url.d.ts +17 -0
  131. package/dist/cjs/configured-nextauth-url.d.ts.map +1 -0
  132. package/dist/cjs/configured-nextauth-url.js +20 -0
  133. package/dist/cjs/configured-nextauth-url.js.map +1 -0
  134. package/dist/cjs/cron-request-verification.d.ts +22 -1
  135. package/dist/cjs/cron-request-verification.d.ts.map +1 -1
  136. package/dist/cjs/cron-request-verification.js +50 -6
  137. package/dist/cjs/cron-request-verification.js.map +1 -1
  138. package/dist/cjs/data-api-route-generator.d.ts +19 -0
  139. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  140. package/dist/cjs/data-api-route-generator.js +711 -43
  141. package/dist/cjs/data-api-route-generator.js.map +1 -1
  142. package/dist/cjs/ecommerce/parameterized-stock-chain.d.ts +3 -1
  143. package/dist/cjs/ecommerce/parameterized-stock-chain.d.ts.map +1 -1
  144. package/dist/cjs/ecommerce/parameterized-stock-chain.js +45 -5
  145. package/dist/cjs/ecommerce/parameterized-stock-chain.js.map +1 -1
  146. package/dist/cjs/ecommerce/place-order-guards.d.ts +126 -0
  147. package/dist/cjs/ecommerce/place-order-guards.d.ts.map +1 -0
  148. package/dist/cjs/ecommerce/place-order-guards.js +670 -0
  149. package/dist/cjs/ecommerce/place-order-guards.js.map +1 -0
  150. package/dist/cjs/ecommerce-customhandler-rewriter.d.ts +2 -0
  151. package/dist/cjs/ecommerce-customhandler-rewriter.d.ts.map +1 -1
  152. package/dist/cjs/ecommerce-customhandler-rewriter.js +38 -2
  153. package/dist/cjs/ecommerce-customhandler-rewriter.js.map +1 -1
  154. package/dist/cjs/executor-generator.d.ts.map +1 -1
  155. package/dist/cjs/executor-generator.js +368 -60
  156. package/dist/cjs/executor-generator.js.map +1 -1
  157. package/dist/cjs/graph-utils.d.ts +9 -0
  158. package/dist/cjs/graph-utils.d.ts.map +1 -1
  159. package/dist/cjs/graph-utils.js +32 -1
  160. package/dist/cjs/graph-utils.js.map +1 -1
  161. package/dist/cjs/index.d.ts +20 -1
  162. package/dist/cjs/index.d.ts.map +1 -1
  163. package/dist/cjs/index.js +72 -2
  164. package/dist/cjs/index.js.map +1 -1
  165. package/dist/cjs/invoice/api-routes-code.d.ts +9 -3
  166. package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
  167. package/dist/cjs/invoice/api-routes-code.js +9 -7
  168. package/dist/cjs/invoice/api-routes-code.js.map +1 -1
  169. package/dist/cjs/invoice/index.d.ts.map +1 -1
  170. package/dist/cjs/invoice/index.js +12 -7
  171. package/dist/cjs/invoice/index.js.map +1 -1
  172. package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -1
  173. package/dist/cjs/invoice/invoice-assembly-code.js +8 -3
  174. package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -1
  175. package/dist/cjs/invoice/pdf-generator-code.d.ts.map +1 -1
  176. package/dist/cjs/invoice/pdf-generator-code.js +2 -1
  177. package/dist/cjs/invoice/pdf-generator-code.js.map +1 -1
  178. package/dist/cjs/invoice/pdf-service-client-code.d.ts.map +1 -1
  179. package/dist/cjs/invoice/pdf-service-client-code.js +15 -7
  180. package/dist/cjs/invoice/pdf-service-client-code.js.map +1 -1
  181. package/dist/cjs/newsletter/admin-route-code.d.ts +60 -0
  182. package/dist/cjs/newsletter/admin-route-code.d.ts.map +1 -0
  183. package/dist/cjs/newsletter/admin-route-code.js +300 -0
  184. package/dist/cjs/newsletter/admin-route-code.js.map +1 -0
  185. package/dist/cjs/newsletter/helper-code.d.ts +109 -0
  186. package/dist/cjs/newsletter/helper-code.d.ts.map +1 -0
  187. package/dist/cjs/newsletter/helper-code.js +662 -0
  188. package/dist/cjs/newsletter/helper-code.js.map +1 -0
  189. package/dist/cjs/newsletter/newsletter-scope.d.ts +65 -0
  190. package/dist/cjs/newsletter/newsletter-scope.d.ts.map +1 -0
  191. package/dist/cjs/newsletter/newsletter-scope.js +103 -0
  192. package/dist/cjs/newsletter/newsletter-scope.js.map +1 -0
  193. package/dist/cjs/newsletter/project-plugin.d.ts +18 -0
  194. package/dist/cjs/newsletter/project-plugin.d.ts.map +1 -0
  195. package/dist/cjs/newsletter/project-plugin.js +97 -0
  196. package/dist/cjs/newsletter/project-plugin.js.map +1 -0
  197. package/dist/cjs/newsletter/routes-code.d.ts +6 -0
  198. package/dist/cjs/newsletter/routes-code.d.ts.map +1 -0
  199. package/dist/cjs/newsletter/routes-code.js +181 -0
  200. package/dist/cjs/newsletter/routes-code.js.map +1 -0
  201. package/dist/cjs/nodes/account/account-compare-passwords.d.ts.map +1 -1
  202. package/dist/cjs/nodes/account/account-compare-passwords.js +16 -6
  203. package/dist/cjs/nodes/account/account-compare-passwords.js.map +1 -1
  204. package/dist/cjs/nodes/account/account-delete-current.js +1 -1
  205. package/dist/cjs/nodes/account/account-get-current.js +1 -1
  206. package/dist/cjs/nodes/account/account-hash-password.d.ts.map +1 -1
  207. package/dist/cjs/nodes/account/account-hash-password.js +15 -3
  208. package/dist/cjs/nodes/account/account-hash-password.js.map +1 -1
  209. package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
  210. package/dist/cjs/nodes/account/account-login.js +23 -6
  211. package/dist/cjs/nodes/account/account-login.js.map +1 -1
  212. package/dist/cjs/nodes/account/account-logout.js +1 -1
  213. package/dist/cjs/nodes/account/account-refresh-session.js +1 -1
  214. package/dist/cjs/nodes/account/account-request-password-reset.d.ts +3 -0
  215. package/dist/cjs/nodes/account/account-request-password-reset.d.ts.map +1 -0
  216. package/dist/cjs/nodes/account/account-request-password-reset.js +46 -0
  217. package/dist/cjs/nodes/account/account-request-password-reset.js.map +1 -0
  218. package/dist/cjs/nodes/account/account-reset-password.d.ts +3 -0
  219. package/dist/cjs/nodes/account/account-reset-password.d.ts.map +1 -0
  220. package/dist/cjs/nodes/account/account-reset-password.js +44 -0
  221. package/dist/cjs/nodes/account/account-reset-password.js.map +1 -0
  222. package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
  223. package/dist/cjs/nodes/account/account-signup.js +82 -19
  224. package/dist/cjs/nodes/account/account-signup.js.map +1 -1
  225. package/dist/cjs/nodes/account/account-social-login.js +1 -1
  226. package/dist/cjs/nodes/ai/ai-custom-prompt.d.ts.map +1 -1
  227. package/dist/cjs/nodes/ai/ai-custom-prompt.js +20 -5
  228. package/dist/cjs/nodes/ai/ai-custom-prompt.js.map +1 -1
  229. package/dist/cjs/nodes/ai/ai-detect-language.d.ts.map +1 -1
  230. package/dist/cjs/nodes/ai/ai-detect-language.js +20 -5
  231. package/dist/cjs/nodes/ai/ai-detect-language.js.map +1 -1
  232. package/dist/cjs/nodes/ai/ai-generate-text-embedding.d.ts.map +1 -1
  233. package/dist/cjs/nodes/ai/ai-generate-text-embedding.js +10 -2
  234. package/dist/cjs/nodes/ai/ai-generate-text-embedding.js.map +1 -1
  235. package/dist/cjs/nodes/ai/ai-provider-utils-sources.generated.js +2 -2
  236. package/dist/cjs/nodes/ai/ai-provider-utils-sources.generated.js.map +1 -1
  237. package/dist/cjs/nodes/ai/ai-provider-utils.d.ts +31 -2
  238. package/dist/cjs/nodes/ai/ai-provider-utils.d.ts.map +1 -1
  239. package/dist/cjs/nodes/ai/ai-provider-utils.js +125 -11
  240. package/dist/cjs/nodes/ai/ai-provider-utils.js.map +1 -1
  241. package/dist/cjs/nodes/ai/ai-select-database-data.d.ts.map +1 -1
  242. package/dist/cjs/nodes/ai/ai-select-database-data.js +6 -2
  243. package/dist/cjs/nodes/ai/ai-select-database-data.js.map +1 -1
  244. package/dist/cjs/nodes/ai/ai-sentiment-analysis.d.ts.map +1 -1
  245. package/dist/cjs/nodes/ai/ai-sentiment-analysis.js +20 -5
  246. package/dist/cjs/nodes/ai/ai-sentiment-analysis.js.map +1 -1
  247. package/dist/cjs/nodes/ai/ai-summarization.d.ts.map +1 -1
  248. package/dist/cjs/nodes/ai/ai-summarization.js +20 -5
  249. package/dist/cjs/nodes/ai/ai-summarization.js.map +1 -1
  250. package/dist/cjs/nodes/ai/ai-text-classifier.d.ts.map +1 -1
  251. package/dist/cjs/nodes/ai/ai-text-classifier.js +20 -5
  252. package/dist/cjs/nodes/ai/ai-text-classifier.js.map +1 -1
  253. package/dist/cjs/nodes/ai/ai-text-transform.d.ts.map +1 -1
  254. package/dist/cjs/nodes/ai/ai-text-transform.js +20 -5
  255. package/dist/cjs/nodes/ai/ai-text-transform.js.map +1 -1
  256. package/dist/cjs/nodes/analytics/analytics-track-outcome.d.ts +3 -0
  257. package/dist/cjs/nodes/analytics/analytics-track-outcome.d.ts.map +1 -0
  258. package/dist/cjs/nodes/analytics/analytics-track-outcome.js +110 -0
  259. package/dist/cjs/nodes/analytics/analytics-track-outcome.js.map +1 -0
  260. package/dist/cjs/nodes/cart/cart-price-order.d.ts.map +1 -1
  261. package/dist/cjs/nodes/cart/cart-price-order.js +161 -2
  262. package/dist/cjs/nodes/cart/cart-price-order.js.map +1 -1
  263. package/dist/cjs/nodes/cost-bearing-node-types.d.ts +4 -0
  264. package/dist/cjs/nodes/cost-bearing-node-types.d.ts.map +1 -0
  265. package/dist/cjs/nodes/cost-bearing-node-types.js +43 -0
  266. package/dist/cjs/nodes/cost-bearing-node-types.js.map +1 -0
  267. package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
  268. package/dist/cjs/nodes/data/data-select.js +12 -2
  269. package/dist/cjs/nodes/data/data-select.js.map +1 -1
  270. package/dist/cjs/nodes/email/email-mailersend.d.ts.map +1 -1
  271. package/dist/cjs/nodes/email/email-mailersend.js +15 -11
  272. package/dist/cjs/nodes/email/email-mailersend.js.map +1 -1
  273. package/dist/cjs/nodes/email/email-mailgun.d.ts.map +1 -1
  274. package/dist/cjs/nodes/email/email-mailgun.js +15 -15
  275. package/dist/cjs/nodes/email/email-mailgun.js.map +1 -1
  276. package/dist/cjs/nodes/email/email-postmark.d.ts.map +1 -1
  277. package/dist/cjs/nodes/email/email-postmark.js +15 -15
  278. package/dist/cjs/nodes/email/email-postmark.js.map +1 -1
  279. package/dist/cjs/nodes/email/email-resend.d.ts.map +1 -1
  280. package/dist/cjs/nodes/email/email-resend.js +15 -15
  281. package/dist/cjs/nodes/email/email-resend.js.map +1 -1
  282. package/dist/cjs/nodes/email/email-sendgrid.d.ts.map +1 -1
  283. package/dist/cjs/nodes/email/email-sendgrid.js +15 -15
  284. package/dist/cjs/nodes/email/email-sendgrid.js.map +1 -1
  285. package/dist/cjs/nodes/email/html-escape-code.d.ts +3 -0
  286. package/dist/cjs/nodes/email/html-escape-code.d.ts.map +1 -0
  287. package/dist/cjs/nodes/email/html-escape-code.js +23 -0
  288. package/dist/cjs/nodes/email/html-escape-code.js.map +1 -0
  289. package/dist/cjs/nodes/email/message-trust.d.ts +40 -0
  290. package/dist/cjs/nodes/email/message-trust.d.ts.map +1 -0
  291. package/dist/cjs/nodes/email/message-trust.js +167 -0
  292. package/dist/cjs/nodes/email/message-trust.js.map +1 -0
  293. package/dist/cjs/nodes/email/outbound-message-guard.d.ts +113 -0
  294. package/dist/cjs/nodes/email/outbound-message-guard.d.ts.map +1 -0
  295. package/dist/cjs/nodes/email/outbound-message-guard.js +460 -0
  296. package/dist/cjs/nodes/email/outbound-message-guard.js.map +1 -0
  297. package/dist/cjs/nodes/email/trusted-html-code.d.ts +22 -0
  298. package/dist/cjs/nodes/email/trusted-html-code.d.ts.map +1 -0
  299. package/dist/cjs/nodes/email/trusted-html-code.js +52 -0
  300. package/dist/cjs/nodes/email/trusted-html-code.js.map +1 -0
  301. package/dist/cjs/nodes/general/general-custom-js.d.ts.map +1 -1
  302. package/dist/cjs/nodes/general/general-custom-js.js +44 -7
  303. package/dist/cjs/nodes/general/general-custom-js.js.map +1 -1
  304. package/dist/cjs/nodes/general/general-http-request.d.ts.map +1 -1
  305. package/dist/cjs/nodes/general/general-http-request.js +431 -45
  306. package/dist/cjs/nodes/general/general-http-request.js.map +1 -1
  307. package/dist/cjs/nodes/general/general-rate-limiter.d.ts.map +1 -1
  308. package/dist/cjs/nodes/general/general-rate-limiter.js +46 -78
  309. package/dist/cjs/nodes/general/general-rate-limiter.js.map +1 -1
  310. package/dist/cjs/nodes/general/general-wait.d.ts +3 -0
  311. package/dist/cjs/nodes/general/general-wait.d.ts.map +1 -0
  312. package/dist/cjs/nodes/general/general-wait.js +81 -0
  313. package/dist/cjs/nodes/general/general-wait.js.map +1 -0
  314. package/dist/cjs/nodes/general/visitor-request.d.ts +44 -0
  315. package/dist/cjs/nodes/general/visitor-request.d.ts.map +1 -0
  316. package/dist/cjs/nodes/general/visitor-request.js +72 -0
  317. package/dist/cjs/nodes/general/visitor-request.js.map +1 -0
  318. package/dist/cjs/nodes/index.d.ts.map +1 -1
  319. package/dist/cjs/nodes/index.js +7 -1
  320. package/dist/cjs/nodes/index.js.map +1 -1
  321. package/dist/cjs/nodes/integrations/integration-slack.d.ts.map +1 -1
  322. package/dist/cjs/nodes/integrations/integration-slack.js +17 -6
  323. package/dist/cjs/nodes/integrations/integration-slack.js.map +1 -1
  324. package/dist/cjs/nodes/newsletter/newsletter-confirm.d.ts +3 -0
  325. package/dist/cjs/nodes/newsletter/newsletter-confirm.d.ts.map +1 -0
  326. package/dist/cjs/nodes/newsletter/newsletter-confirm.js +41 -0
  327. package/dist/cjs/nodes/newsletter/newsletter-confirm.js.map +1 -0
  328. package/dist/cjs/nodes/newsletter/newsletter-subscribe.d.ts +7 -0
  329. package/dist/cjs/nodes/newsletter/newsletter-subscribe.d.ts.map +1 -0
  330. package/dist/cjs/nodes/newsletter/newsletter-subscribe.js +69 -0
  331. package/dist/cjs/nodes/newsletter/newsletter-subscribe.js.map +1 -0
  332. package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.d.ts +3 -0
  333. package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.d.ts.map +1 -0
  334. package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.js +42 -0
  335. package/dist/cjs/nodes/newsletter/newsletter-unsubscribe.js.map +1 -0
  336. package/dist/cjs/nodes/realtime/realtime-join-channel.d.ts.map +1 -1
  337. package/dist/cjs/nodes/realtime/realtime-join-channel.js +5 -4
  338. package/dist/cjs/nodes/realtime/realtime-join-channel.js.map +1 -1
  339. package/dist/cjs/nodes/realtime/realtime-send-channel-event.d.ts.map +1 -1
  340. package/dist/cjs/nodes/realtime/realtime-send-channel-event.js +11 -2
  341. package/dist/cjs/nodes/realtime/realtime-send-channel-event.js.map +1 -1
  342. package/dist/cjs/nodes/realtime/realtime-send-channel-message.d.ts.map +1 -1
  343. package/dist/cjs/nodes/realtime/realtime-send-channel-message.js +11 -2
  344. package/dist/cjs/nodes/realtime/realtime-send-channel-message.js.map +1 -1
  345. package/dist/cjs/nodes/sms/sms-infobip.d.ts.map +1 -1
  346. package/dist/cjs/nodes/sms/sms-infobip.js +11 -8
  347. package/dist/cjs/nodes/sms/sms-infobip.js.map +1 -1
  348. package/dist/cjs/nodes/sms/sms-smsapi.d.ts.map +1 -1
  349. package/dist/cjs/nodes/sms/sms-smsapi.js +11 -8
  350. package/dist/cjs/nodes/sms/sms-smsapi.js.map +1 -1
  351. package/dist/cjs/nodes/sms/sms-textmagic.d.ts.map +1 -1
  352. package/dist/cjs/nodes/sms/sms-textmagic.js +11 -8
  353. package/dist/cjs/nodes/sms/sms-textmagic.js.map +1 -1
  354. package/dist/cjs/nodes/sms/sms-twilio.d.ts.map +1 -1
  355. package/dist/cjs/nodes/sms/sms-twilio.js +12 -10
  356. package/dist/cjs/nodes/sms/sms-twilio.js.map +1 -1
  357. package/dist/cjs/nodes/types.d.ts +8 -1
  358. package/dist/cjs/nodes/types.d.ts.map +1 -1
  359. package/dist/cjs/nodes/utility/utility-similarity-scoring.d.ts.map +1 -1
  360. package/dist/cjs/nodes/utility/utility-similarity-scoring.js +29 -10
  361. package/dist/cjs/nodes/utility/utility-similarity-scoring.js.map +1 -1
  362. package/dist/cjs/page-access-guard-generator.d.ts +23 -0
  363. package/dist/cjs/page-access-guard-generator.d.ts.map +1 -0
  364. package/dist/cjs/page-access-guard-generator.js +135 -0
  365. package/dist/cjs/page-access-guard-generator.js.map +1 -0
  366. package/dist/cjs/password-reset-route-generator.d.ts +119 -0
  367. package/dist/cjs/password-reset-route-generator.d.ts.map +1 -0
  368. package/dist/cjs/password-reset-route-generator.js +460 -0
  369. package/dist/cjs/password-reset-route-generator.js.map +1 -0
  370. package/dist/cjs/payments/payment-core-code.d.ts.map +1 -1
  371. package/dist/cjs/payments/payment-core-code.js +12 -7
  372. package/dist/cjs/payments/payment-core-code.js.map +1 -1
  373. package/dist/cjs/project-code-scanner.d.ts +11 -0
  374. package/dist/cjs/project-code-scanner.d.ts.map +1 -0
  375. package/dist/cjs/project-code-scanner.js +80 -0
  376. package/dist/cjs/project-code-scanner.js.map +1 -0
  377. package/dist/cjs/public-step-guards.d.ts +122 -0
  378. package/dist/cjs/public-step-guards.d.ts.map +1 -0
  379. package/dist/cjs/public-step-guards.js +288 -0
  380. package/dist/cjs/public-step-guards.js.map +1 -0
  381. package/dist/cjs/publish-refusals.d.ts +66 -0
  382. package/dist/cjs/publish-refusals.d.ts.map +1 -0
  383. package/dist/cjs/publish-refusals.js +278 -0
  384. package/dist/cjs/publish-refusals.js.map +1 -0
  385. package/dist/cjs/realtime-generator.d.ts +63 -1
  386. package/dist/cjs/realtime-generator.d.ts.map +1 -1
  387. package/dist/cjs/realtime-generator.js +404 -230
  388. package/dist/cjs/realtime-generator.js.map +1 -1
  389. package/dist/cjs/runtime-storage-generator.d.ts +32 -1
  390. package/dist/cjs/runtime-storage-generator.d.ts.map +1 -1
  391. package/dist/cjs/runtime-storage-generator.js +265 -12
  392. package/dist/cjs/runtime-storage-generator.js.map +1 -1
  393. package/dist/cjs/security-runtime/index.d.ts +14 -0
  394. package/dist/cjs/security-runtime/index.d.ts.map +1 -0
  395. package/dist/cjs/security-runtime/index.js +48 -0
  396. package/dist/cjs/security-runtime/index.js.map +1 -0
  397. package/dist/cjs/security-runtime/security-runtime-code.d.ts +53 -0
  398. package/dist/cjs/security-runtime/security-runtime-code.d.ts.map +1 -0
  399. package/dist/cjs/security-runtime/security-runtime-code.js +580 -0
  400. package/dist/cjs/security-runtime/security-runtime-code.js.map +1 -0
  401. package/dist/cjs/security-scanner.d.ts +72 -3
  402. package/dist/cjs/security-scanner.d.ts.map +1 -1
  403. package/dist/cjs/security-scanner.js +220 -8
  404. package/dist/cjs/security-scanner.js.map +1 -1
  405. package/dist/cjs/segment-splitter.d.ts.map +1 -1
  406. package/dist/cjs/segment-splitter.js +10 -2
  407. package/dist/cjs/segment-splitter.js.map +1 -1
  408. package/dist/cjs/segment-trust.d.ts +36 -0
  409. package/dist/cjs/segment-trust.d.ts.map +1 -1
  410. package/dist/cjs/segment-trust.js +147 -3
  411. package/dist/cjs/segment-trust.js.map +1 -1
  412. package/dist/cjs/self-call-headers.d.ts +31 -0
  413. package/dist/cjs/self-call-headers.d.ts.map +1 -0
  414. package/dist/cjs/self-call-headers.js +48 -0
  415. package/dist/cjs/self-call-headers.js.map +1 -0
  416. package/dist/cjs/sent-email-log/index.d.ts +7 -0
  417. package/dist/cjs/sent-email-log/index.d.ts.map +1 -1
  418. package/dist/cjs/sent-email-log/index.js +17 -1
  419. package/dist/cjs/sent-email-log/index.js.map +1 -1
  420. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +7 -0
  421. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -1
  422. package/dist/cjs/sent-email-log/sent-email-log-code.js +17 -3
  423. package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -1
  424. package/dist/cjs/server-custom-node-call.d.ts +79 -0
  425. package/dist/cjs/server-custom-node-call.d.ts.map +1 -0
  426. package/dist/cjs/server-custom-node-call.js +285 -0
  427. package/dist/cjs/server-custom-node-call.js.map +1 -0
  428. package/dist/cjs/server-runtime-code.d.ts +39 -12
  429. package/dist/cjs/server-runtime-code.d.ts.map +1 -1
  430. package/dist/cjs/server-runtime-code.js +484 -41
  431. package/dist/cjs/server-runtime-code.js.map +1 -1
  432. package/dist/cjs/session-cookie-resolver.d.ts +3 -1
  433. package/dist/cjs/session-cookie-resolver.d.ts.map +1 -1
  434. package/dist/cjs/session-revocation-generator.d.ts +39 -0
  435. package/dist/cjs/session-revocation-generator.d.ts.map +1 -0
  436. package/dist/cjs/session-revocation-generator.js +177 -0
  437. package/dist/cjs/session-revocation-generator.js.map +1 -0
  438. package/dist/cjs/slack-message-values.d.ts +6 -0
  439. package/dist/cjs/slack-message-values.d.ts.map +1 -0
  440. package/dist/cjs/slack-message-values.js +73 -0
  441. package/dist/cjs/slack-message-values.js.map +1 -0
  442. package/dist/cjs/transactional-email-code.d.ts +11 -0
  443. package/dist/cjs/transactional-email-code.d.ts.map +1 -1
  444. package/dist/cjs/transactional-email-code.js +29 -5
  445. package/dist/cjs/transactional-email-code.js.map +1 -1
  446. package/dist/cjs/trigger-generator.d.ts +2 -0
  447. package/dist/cjs/trigger-generator.d.ts.map +1 -1
  448. package/dist/cjs/trigger-generator.js +17 -4
  449. package/dist/cjs/trigger-generator.js.map +1 -1
  450. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  451. package/dist/cjs/visitor-step-limits.d.ts +66 -0
  452. package/dist/cjs/visitor-step-limits.d.ts.map +1 -0
  453. package/dist/cjs/visitor-step-limits.js +187 -0
  454. package/dist/cjs/visitor-step-limits.js.map +1 -0
  455. package/dist/cjs/webhook-generator.d.ts.map +1 -1
  456. package/dist/cjs/webhook-generator.js +93 -15
  457. package/dist/cjs/webhook-generator.js.map +1 -1
  458. package/dist/cjs/webhook-signature-verification.d.ts.map +1 -1
  459. package/dist/cjs/webhook-signature-verification.js +13 -3
  460. package/dist/cjs/webhook-signature-verification.js.map +1 -1
  461. package/dist/cjs/workflow-auth-generator.d.ts +4 -1
  462. package/dist/cjs/workflow-auth-generator.d.ts.map +1 -1
  463. package/dist/cjs/workflow-auth-generator.js +8 -3
  464. package/dist/cjs/workflow-auth-generator.js.map +1 -1
  465. package/dist/cjs/workflow-component-plugin.js +11 -3
  466. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  467. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  468. package/dist/cjs/workflow-project-plugin.js +302 -56
  469. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  470. package/dist/cjs/workflow-scope.d.ts.map +1 -1
  471. package/dist/cjs/workflow-scope.js +5 -0
  472. package/dist/cjs/workflow-scope.js.map +1 -1
  473. package/dist/esm/account-delete-route-generator.d.ts +1 -0
  474. package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
  475. package/dist/esm/account-delete-route-generator.js +18 -3
  476. package/dist/esm/account-delete-route-generator.js.map +1 -1
  477. package/dist/esm/api-route-generator.d.ts +52 -3
  478. package/dist/esm/api-route-generator.d.ts.map +1 -1
  479. package/dist/esm/api-route-generator.js +595 -142
  480. package/dist/esm/api-route-generator.js.map +1 -1
  481. package/dist/esm/auth-generator.d.ts +126 -3
  482. package/dist/esm/auth-generator.d.ts.map +1 -1
  483. package/dist/esm/auth-generator.js +1350 -140
  484. package/dist/esm/auth-generator.js.map +1 -1
  485. package/dist/esm/automations/activity-kicks.d.ts +12 -0
  486. package/dist/esm/automations/activity-kicks.d.ts.map +1 -0
  487. package/dist/esm/automations/activity-kicks.js +118 -0
  488. package/dist/esm/automations/activity-kicks.js.map +1 -0
  489. package/dist/esm/automations/app-events-source.d.ts +33 -0
  490. package/dist/esm/automations/app-events-source.d.ts.map +1 -0
  491. package/dist/esm/automations/app-events-source.js +104 -0
  492. package/dist/esm/automations/app-events-source.js.map +1 -0
  493. package/dist/esm/automations/automations-project-plugin.d.ts +21 -0
  494. package/dist/esm/automations/automations-project-plugin.d.ts.map +1 -0
  495. package/dist/esm/automations/automations-project-plugin.js +98 -0
  496. package/dist/esm/automations/automations-project-plugin.js.map +1 -0
  497. package/dist/esm/automations/automations-scope.d.ts +104 -0
  498. package/dist/esm/automations/automations-scope.d.ts.map +1 -0
  499. package/dist/esm/automations/automations-scope.js +165 -0
  500. package/dist/esm/automations/automations-scope.js.map +1 -0
  501. package/dist/esm/automations/dispatcher-source.d.ts +72 -0
  502. package/dist/esm/automations/dispatcher-source.d.ts.map +1 -0
  503. package/dist/esm/automations/dispatcher-source.js +999 -0
  504. package/dist/esm/automations/dispatcher-source.js.map +1 -0
  505. package/dist/esm/automations/event-bus-source.d.ts +44 -0
  506. package/dist/esm/automations/event-bus-source.d.ts.map +1 -0
  507. package/dist/esm/automations/event-bus-source.js +421 -0
  508. package/dist/esm/automations/event-bus-source.js.map +1 -0
  509. package/dist/esm/automations/handler-module-generator.d.ts +25 -0
  510. package/dist/esm/automations/handler-module-generator.d.ts.map +1 -0
  511. package/dist/esm/automations/handler-module-generator.js +71 -0
  512. package/dist/esm/automations/handler-module-generator.js.map +1 -0
  513. package/dist/esm/automations/hydrators-source.d.ts +33 -0
  514. package/dist/esm/automations/hydrators-source.d.ts.map +1 -0
  515. package/dist/esm/automations/hydrators-source.js +567 -0
  516. package/dist/esm/automations/hydrators-source.js.map +1 -0
  517. package/dist/esm/booking-calendar-feed-route-generator.d.ts.map +1 -1
  518. package/dist/esm/booking-calendar-feed-route-generator.js +8 -0
  519. package/dist/esm/booking-calendar-feed-route-generator.js.map +1 -1
  520. package/dist/esm/configured-nextauth-url.d.ts +17 -0
  521. package/dist/esm/configured-nextauth-url.d.ts.map +1 -0
  522. package/dist/esm/configured-nextauth-url.js +17 -0
  523. package/dist/esm/configured-nextauth-url.js.map +1 -0
  524. package/dist/esm/cron-request-verification.d.ts +22 -1
  525. package/dist/esm/cron-request-verification.d.ts.map +1 -1
  526. package/dist/esm/cron-request-verification.js +48 -5
  527. package/dist/esm/cron-request-verification.js.map +1 -1
  528. package/dist/esm/data-api-route-generator.d.ts +19 -0
  529. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  530. package/dist/esm/data-api-route-generator.js +710 -43
  531. package/dist/esm/data-api-route-generator.js.map +1 -1
  532. package/dist/esm/ecommerce/parameterized-stock-chain.d.ts +3 -1
  533. package/dist/esm/ecommerce/parameterized-stock-chain.d.ts.map +1 -1
  534. package/dist/esm/ecommerce/parameterized-stock-chain.js +43 -4
  535. package/dist/esm/ecommerce/parameterized-stock-chain.js.map +1 -1
  536. package/dist/esm/ecommerce/place-order-guards.d.ts +126 -0
  537. package/dist/esm/ecommerce/place-order-guards.d.ts.map +1 -0
  538. package/dist/esm/ecommerce/place-order-guards.js +655 -0
  539. package/dist/esm/ecommerce/place-order-guards.js.map +1 -0
  540. package/dist/esm/ecommerce-customhandler-rewriter.d.ts +2 -0
  541. package/dist/esm/ecommerce-customhandler-rewriter.d.ts.map +1 -1
  542. package/dist/esm/ecommerce-customhandler-rewriter.js +38 -2
  543. package/dist/esm/ecommerce-customhandler-rewriter.js.map +1 -1
  544. package/dist/esm/executor-generator.d.ts.map +1 -1
  545. package/dist/esm/executor-generator.js +368 -60
  546. package/dist/esm/executor-generator.js.map +1 -1
  547. package/dist/esm/graph-utils.d.ts +9 -0
  548. package/dist/esm/graph-utils.d.ts.map +1 -1
  549. package/dist/esm/graph-utils.js +30 -0
  550. package/dist/esm/graph-utils.js.map +1 -1
  551. package/dist/esm/index.d.ts +20 -1
  552. package/dist/esm/index.d.ts.map +1 -1
  553. package/dist/esm/index.js +27 -1
  554. package/dist/esm/index.js.map +1 -1
  555. package/dist/esm/invoice/api-routes-code.d.ts +9 -3
  556. package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
  557. package/dist/esm/invoice/api-routes-code.js +9 -7
  558. package/dist/esm/invoice/api-routes-code.js.map +1 -1
  559. package/dist/esm/invoice/index.d.ts.map +1 -1
  560. package/dist/esm/invoice/index.js +12 -7
  561. package/dist/esm/invoice/index.js.map +1 -1
  562. package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -1
  563. package/dist/esm/invoice/invoice-assembly-code.js +8 -3
  564. package/dist/esm/invoice/invoice-assembly-code.js.map +1 -1
  565. package/dist/esm/invoice/pdf-generator-code.d.ts.map +1 -1
  566. package/dist/esm/invoice/pdf-generator-code.js +2 -1
  567. package/dist/esm/invoice/pdf-generator-code.js.map +1 -1
  568. package/dist/esm/invoice/pdf-service-client-code.d.ts.map +1 -1
  569. package/dist/esm/invoice/pdf-service-client-code.js +15 -7
  570. package/dist/esm/invoice/pdf-service-client-code.js.map +1 -1
  571. package/dist/esm/newsletter/admin-route-code.d.ts +60 -0
  572. package/dist/esm/newsletter/admin-route-code.d.ts.map +1 -0
  573. package/dist/esm/newsletter/admin-route-code.js +295 -0
  574. package/dist/esm/newsletter/admin-route-code.js.map +1 -0
  575. package/dist/esm/newsletter/helper-code.d.ts +109 -0
  576. package/dist/esm/newsletter/helper-code.d.ts.map +1 -0
  577. package/dist/esm/newsletter/helper-code.js +656 -0
  578. package/dist/esm/newsletter/helper-code.js.map +1 -0
  579. package/dist/esm/newsletter/newsletter-scope.d.ts +65 -0
  580. package/dist/esm/newsletter/newsletter-scope.d.ts.map +1 -0
  581. package/dist/esm/newsletter/newsletter-scope.js +97 -0
  582. package/dist/esm/newsletter/newsletter-scope.js.map +1 -0
  583. package/dist/esm/newsletter/project-plugin.d.ts +18 -0
  584. package/dist/esm/newsletter/project-plugin.d.ts.map +1 -0
  585. package/dist/esm/newsletter/project-plugin.js +93 -0
  586. package/dist/esm/newsletter/project-plugin.js.map +1 -0
  587. package/dist/esm/newsletter/routes-code.d.ts +6 -0
  588. package/dist/esm/newsletter/routes-code.d.ts.map +1 -0
  589. package/dist/esm/newsletter/routes-code.js +175 -0
  590. package/dist/esm/newsletter/routes-code.js.map +1 -0
  591. package/dist/esm/nodes/account/account-compare-passwords.d.ts.map +1 -1
  592. package/dist/esm/nodes/account/account-compare-passwords.js +16 -6
  593. package/dist/esm/nodes/account/account-compare-passwords.js.map +1 -1
  594. package/dist/esm/nodes/account/account-delete-current.js +1 -1
  595. package/dist/esm/nodes/account/account-get-current.js +1 -1
  596. package/dist/esm/nodes/account/account-hash-password.d.ts.map +1 -1
  597. package/dist/esm/nodes/account/account-hash-password.js +15 -3
  598. package/dist/esm/nodes/account/account-hash-password.js.map +1 -1
  599. package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
  600. package/dist/esm/nodes/account/account-login.js +23 -6
  601. package/dist/esm/nodes/account/account-login.js.map +1 -1
  602. package/dist/esm/nodes/account/account-logout.js +1 -1
  603. package/dist/esm/nodes/account/account-refresh-session.js +1 -1
  604. package/dist/esm/nodes/account/account-request-password-reset.d.ts +3 -0
  605. package/dist/esm/nodes/account/account-request-password-reset.d.ts.map +1 -0
  606. package/dist/esm/nodes/account/account-request-password-reset.js +43 -0
  607. package/dist/esm/nodes/account/account-request-password-reset.js.map +1 -0
  608. package/dist/esm/nodes/account/account-reset-password.d.ts +3 -0
  609. package/dist/esm/nodes/account/account-reset-password.d.ts.map +1 -0
  610. package/dist/esm/nodes/account/account-reset-password.js +41 -0
  611. package/dist/esm/nodes/account/account-reset-password.js.map +1 -0
  612. package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
  613. package/dist/esm/nodes/account/account-signup.js +82 -19
  614. package/dist/esm/nodes/account/account-signup.js.map +1 -1
  615. package/dist/esm/nodes/account/account-social-login.js +1 -1
  616. package/dist/esm/nodes/ai/ai-custom-prompt.d.ts.map +1 -1
  617. package/dist/esm/nodes/ai/ai-custom-prompt.js +20 -5
  618. package/dist/esm/nodes/ai/ai-custom-prompt.js.map +1 -1
  619. package/dist/esm/nodes/ai/ai-detect-language.d.ts.map +1 -1
  620. package/dist/esm/nodes/ai/ai-detect-language.js +20 -5
  621. package/dist/esm/nodes/ai/ai-detect-language.js.map +1 -1
  622. package/dist/esm/nodes/ai/ai-generate-text-embedding.d.ts.map +1 -1
  623. package/dist/esm/nodes/ai/ai-generate-text-embedding.js +10 -2
  624. package/dist/esm/nodes/ai/ai-generate-text-embedding.js.map +1 -1
  625. package/dist/esm/nodes/ai/ai-provider-utils-sources.generated.js +2 -2
  626. package/dist/esm/nodes/ai/ai-provider-utils-sources.generated.js.map +1 -1
  627. package/dist/esm/nodes/ai/ai-provider-utils.d.ts +31 -2
  628. package/dist/esm/nodes/ai/ai-provider-utils.d.ts.map +1 -1
  629. package/dist/esm/nodes/ai/ai-provider-utils.js +124 -10
  630. package/dist/esm/nodes/ai/ai-provider-utils.js.map +1 -1
  631. package/dist/esm/nodes/ai/ai-select-database-data.d.ts.map +1 -1
  632. package/dist/esm/nodes/ai/ai-select-database-data.js +6 -2
  633. package/dist/esm/nodes/ai/ai-select-database-data.js.map +1 -1
  634. package/dist/esm/nodes/ai/ai-sentiment-analysis.d.ts.map +1 -1
  635. package/dist/esm/nodes/ai/ai-sentiment-analysis.js +20 -5
  636. package/dist/esm/nodes/ai/ai-sentiment-analysis.js.map +1 -1
  637. package/dist/esm/nodes/ai/ai-summarization.d.ts.map +1 -1
  638. package/dist/esm/nodes/ai/ai-summarization.js +20 -5
  639. package/dist/esm/nodes/ai/ai-summarization.js.map +1 -1
  640. package/dist/esm/nodes/ai/ai-text-classifier.d.ts.map +1 -1
  641. package/dist/esm/nodes/ai/ai-text-classifier.js +20 -5
  642. package/dist/esm/nodes/ai/ai-text-classifier.js.map +1 -1
  643. package/dist/esm/nodes/ai/ai-text-transform.d.ts.map +1 -1
  644. package/dist/esm/nodes/ai/ai-text-transform.js +20 -5
  645. package/dist/esm/nodes/ai/ai-text-transform.js.map +1 -1
  646. package/dist/esm/nodes/analytics/analytics-track-outcome.d.ts +3 -0
  647. package/dist/esm/nodes/analytics/analytics-track-outcome.d.ts.map +1 -0
  648. package/dist/esm/nodes/analytics/analytics-track-outcome.js +107 -0
  649. package/dist/esm/nodes/analytics/analytics-track-outcome.js.map +1 -0
  650. package/dist/esm/nodes/cart/cart-price-order.d.ts.map +1 -1
  651. package/dist/esm/nodes/cart/cart-price-order.js +161 -2
  652. package/dist/esm/nodes/cart/cart-price-order.js.map +1 -1
  653. package/dist/esm/nodes/cost-bearing-node-types.d.ts +4 -0
  654. package/dist/esm/nodes/cost-bearing-node-types.d.ts.map +1 -0
  655. package/dist/esm/nodes/cost-bearing-node-types.js +39 -0
  656. package/dist/esm/nodes/cost-bearing-node-types.js.map +1 -0
  657. package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
  658. package/dist/esm/nodes/data/data-select.js +12 -2
  659. package/dist/esm/nodes/data/data-select.js.map +1 -1
  660. package/dist/esm/nodes/email/email-mailersend.d.ts.map +1 -1
  661. package/dist/esm/nodes/email/email-mailersend.js +15 -11
  662. package/dist/esm/nodes/email/email-mailersend.js.map +1 -1
  663. package/dist/esm/nodes/email/email-mailgun.d.ts.map +1 -1
  664. package/dist/esm/nodes/email/email-mailgun.js +15 -15
  665. package/dist/esm/nodes/email/email-mailgun.js.map +1 -1
  666. package/dist/esm/nodes/email/email-postmark.d.ts.map +1 -1
  667. package/dist/esm/nodes/email/email-postmark.js +15 -15
  668. package/dist/esm/nodes/email/email-postmark.js.map +1 -1
  669. package/dist/esm/nodes/email/email-resend.d.ts.map +1 -1
  670. package/dist/esm/nodes/email/email-resend.js +15 -15
  671. package/dist/esm/nodes/email/email-resend.js.map +1 -1
  672. package/dist/esm/nodes/email/email-sendgrid.d.ts.map +1 -1
  673. package/dist/esm/nodes/email/email-sendgrid.js +15 -15
  674. package/dist/esm/nodes/email/email-sendgrid.js.map +1 -1
  675. package/dist/esm/nodes/email/html-escape-code.d.ts +3 -0
  676. package/dist/esm/nodes/email/html-escape-code.d.ts.map +1 -0
  677. package/dist/esm/nodes/email/html-escape-code.js +18 -0
  678. package/dist/esm/nodes/email/html-escape-code.js.map +1 -0
  679. package/dist/esm/nodes/email/message-trust.d.ts +40 -0
  680. package/dist/esm/nodes/email/message-trust.d.ts.map +1 -0
  681. package/dist/esm/nodes/email/message-trust.js +161 -0
  682. package/dist/esm/nodes/email/message-trust.js.map +1 -0
  683. package/dist/esm/nodes/email/outbound-message-guard.d.ts +113 -0
  684. package/dist/esm/nodes/email/outbound-message-guard.d.ts.map +1 -0
  685. package/dist/esm/nodes/email/outbound-message-guard.js +452 -0
  686. package/dist/esm/nodes/email/outbound-message-guard.js.map +1 -0
  687. package/dist/esm/nodes/email/trusted-html-code.d.ts +22 -0
  688. package/dist/esm/nodes/email/trusted-html-code.d.ts.map +1 -0
  689. package/dist/esm/nodes/email/trusted-html-code.js +49 -0
  690. package/dist/esm/nodes/email/trusted-html-code.js.map +1 -0
  691. package/dist/esm/nodes/general/general-custom-js.d.ts.map +1 -1
  692. package/dist/esm/nodes/general/general-custom-js.js +44 -7
  693. package/dist/esm/nodes/general/general-custom-js.js.map +1 -1
  694. package/dist/esm/nodes/general/general-http-request.d.ts.map +1 -1
  695. package/dist/esm/nodes/general/general-http-request.js +431 -45
  696. package/dist/esm/nodes/general/general-http-request.js.map +1 -1
  697. package/dist/esm/nodes/general/general-rate-limiter.d.ts.map +1 -1
  698. package/dist/esm/nodes/general/general-rate-limiter.js +46 -78
  699. package/dist/esm/nodes/general/general-rate-limiter.js.map +1 -1
  700. package/dist/esm/nodes/general/general-wait.d.ts +3 -0
  701. package/dist/esm/nodes/general/general-wait.d.ts.map +1 -0
  702. package/dist/esm/nodes/general/general-wait.js +78 -0
  703. package/dist/esm/nodes/general/general-wait.js.map +1 -0
  704. package/dist/esm/nodes/general/visitor-request.d.ts +44 -0
  705. package/dist/esm/nodes/general/visitor-request.d.ts.map +1 -0
  706. package/dist/esm/nodes/general/visitor-request.js +65 -0
  707. package/dist/esm/nodes/general/visitor-request.js.map +1 -0
  708. package/dist/esm/nodes/index.d.ts.map +1 -1
  709. package/dist/esm/nodes/index.js +7 -1
  710. package/dist/esm/nodes/index.js.map +1 -1
  711. package/dist/esm/nodes/integrations/integration-slack.d.ts.map +1 -1
  712. package/dist/esm/nodes/integrations/integration-slack.js +17 -6
  713. package/dist/esm/nodes/integrations/integration-slack.js.map +1 -1
  714. package/dist/esm/nodes/newsletter/newsletter-confirm.d.ts +3 -0
  715. package/dist/esm/nodes/newsletter/newsletter-confirm.d.ts.map +1 -0
  716. package/dist/esm/nodes/newsletter/newsletter-confirm.js +38 -0
  717. package/dist/esm/nodes/newsletter/newsletter-confirm.js.map +1 -0
  718. package/dist/esm/nodes/newsletter/newsletter-subscribe.d.ts +7 -0
  719. package/dist/esm/nodes/newsletter/newsletter-subscribe.d.ts.map +1 -0
  720. package/dist/esm/nodes/newsletter/newsletter-subscribe.js +66 -0
  721. package/dist/esm/nodes/newsletter/newsletter-subscribe.js.map +1 -0
  722. package/dist/esm/nodes/newsletter/newsletter-unsubscribe.d.ts +3 -0
  723. package/dist/esm/nodes/newsletter/newsletter-unsubscribe.d.ts.map +1 -0
  724. package/dist/esm/nodes/newsletter/newsletter-unsubscribe.js +39 -0
  725. package/dist/esm/nodes/newsletter/newsletter-unsubscribe.js.map +1 -0
  726. package/dist/esm/nodes/realtime/realtime-join-channel.d.ts.map +1 -1
  727. package/dist/esm/nodes/realtime/realtime-join-channel.js +5 -4
  728. package/dist/esm/nodes/realtime/realtime-join-channel.js.map +1 -1
  729. package/dist/esm/nodes/realtime/realtime-send-channel-event.d.ts.map +1 -1
  730. package/dist/esm/nodes/realtime/realtime-send-channel-event.js +11 -2
  731. package/dist/esm/nodes/realtime/realtime-send-channel-event.js.map +1 -1
  732. package/dist/esm/nodes/realtime/realtime-send-channel-message.d.ts.map +1 -1
  733. package/dist/esm/nodes/realtime/realtime-send-channel-message.js +11 -2
  734. package/dist/esm/nodes/realtime/realtime-send-channel-message.js.map +1 -1
  735. package/dist/esm/nodes/sms/sms-infobip.d.ts.map +1 -1
  736. package/dist/esm/nodes/sms/sms-infobip.js +11 -8
  737. package/dist/esm/nodes/sms/sms-infobip.js.map +1 -1
  738. package/dist/esm/nodes/sms/sms-smsapi.d.ts.map +1 -1
  739. package/dist/esm/nodes/sms/sms-smsapi.js +11 -8
  740. package/dist/esm/nodes/sms/sms-smsapi.js.map +1 -1
  741. package/dist/esm/nodes/sms/sms-textmagic.d.ts.map +1 -1
  742. package/dist/esm/nodes/sms/sms-textmagic.js +11 -8
  743. package/dist/esm/nodes/sms/sms-textmagic.js.map +1 -1
  744. package/dist/esm/nodes/sms/sms-twilio.d.ts.map +1 -1
  745. package/dist/esm/nodes/sms/sms-twilio.js +12 -10
  746. package/dist/esm/nodes/sms/sms-twilio.js.map +1 -1
  747. package/dist/esm/nodes/types.d.ts +8 -1
  748. package/dist/esm/nodes/types.d.ts.map +1 -1
  749. package/dist/esm/nodes/utility/utility-similarity-scoring.d.ts.map +1 -1
  750. package/dist/esm/nodes/utility/utility-similarity-scoring.js +29 -10
  751. package/dist/esm/nodes/utility/utility-similarity-scoring.js.map +1 -1
  752. package/dist/esm/page-access-guard-generator.d.ts +23 -0
  753. package/dist/esm/page-access-guard-generator.d.ts.map +1 -0
  754. package/dist/esm/page-access-guard-generator.js +131 -0
  755. package/dist/esm/page-access-guard-generator.js.map +1 -0
  756. package/dist/esm/password-reset-route-generator.d.ts +119 -0
  757. package/dist/esm/password-reset-route-generator.d.ts.map +1 -0
  758. package/dist/esm/password-reset-route-generator.js +448 -0
  759. package/dist/esm/password-reset-route-generator.js.map +1 -0
  760. package/dist/esm/payments/payment-core-code.d.ts.map +1 -1
  761. package/dist/esm/payments/payment-core-code.js +12 -7
  762. package/dist/esm/payments/payment-core-code.js.map +1 -1
  763. package/dist/esm/project-code-scanner.d.ts +11 -0
  764. package/dist/esm/project-code-scanner.d.ts.map +1 -0
  765. package/dist/esm/project-code-scanner.js +75 -0
  766. package/dist/esm/project-code-scanner.js.map +1 -0
  767. package/dist/esm/public-step-guards.d.ts +122 -0
  768. package/dist/esm/public-step-guards.d.ts.map +1 -0
  769. package/dist/esm/public-step-guards.js +280 -0
  770. package/dist/esm/public-step-guards.js.map +1 -0
  771. package/dist/esm/publish-refusals.d.ts +66 -0
  772. package/dist/esm/publish-refusals.d.ts.map +1 -0
  773. package/dist/esm/publish-refusals.js +271 -0
  774. package/dist/esm/publish-refusals.js.map +1 -0
  775. package/dist/esm/realtime-generator.d.ts +63 -1
  776. package/dist/esm/realtime-generator.d.ts.map +1 -1
  777. package/dist/esm/realtime-generator.js +401 -229
  778. package/dist/esm/realtime-generator.js.map +1 -1
  779. package/dist/esm/runtime-storage-generator.d.ts +32 -1
  780. package/dist/esm/runtime-storage-generator.d.ts.map +1 -1
  781. package/dist/esm/runtime-storage-generator.js +264 -11
  782. package/dist/esm/runtime-storage-generator.js.map +1 -1
  783. package/dist/esm/security-runtime/index.d.ts +14 -0
  784. package/dist/esm/security-runtime/index.d.ts.map +1 -0
  785. package/dist/esm/security-runtime/index.js +37 -0
  786. package/dist/esm/security-runtime/index.js.map +1 -0
  787. package/dist/esm/security-runtime/security-runtime-code.d.ts +53 -0
  788. package/dist/esm/security-runtime/security-runtime-code.d.ts.map +1 -0
  789. package/dist/esm/security-runtime/security-runtime-code.js +575 -0
  790. package/dist/esm/security-runtime/security-runtime-code.js.map +1 -0
  791. package/dist/esm/security-scanner.d.ts +72 -3
  792. package/dist/esm/security-scanner.d.ts.map +1 -1
  793. package/dist/esm/security-scanner.js +217 -8
  794. package/dist/esm/security-scanner.js.map +1 -1
  795. package/dist/esm/segment-splitter.d.ts.map +1 -1
  796. package/dist/esm/segment-splitter.js +10 -2
  797. package/dist/esm/segment-splitter.js.map +1 -1
  798. package/dist/esm/segment-trust.d.ts +36 -0
  799. package/dist/esm/segment-trust.d.ts.map +1 -1
  800. package/dist/esm/segment-trust.js +146 -2
  801. package/dist/esm/segment-trust.js.map +1 -1
  802. package/dist/esm/self-call-headers.d.ts +31 -0
  803. package/dist/esm/self-call-headers.d.ts.map +1 -0
  804. package/dist/esm/self-call-headers.js +43 -0
  805. package/dist/esm/self-call-headers.js.map +1 -0
  806. package/dist/esm/sent-email-log/index.d.ts +7 -0
  807. package/dist/esm/sent-email-log/index.d.ts.map +1 -1
  808. package/dist/esm/sent-email-log/index.js +15 -0
  809. package/dist/esm/sent-email-log/index.js.map +1 -1
  810. package/dist/esm/sent-email-log/sent-email-log-code.d.ts +7 -0
  811. package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -1
  812. package/dist/esm/sent-email-log/sent-email-log-code.js +17 -3
  813. package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -1
  814. package/dist/esm/server-custom-node-call.d.ts +79 -0
  815. package/dist/esm/server-custom-node-call.d.ts.map +1 -0
  816. package/dist/esm/server-custom-node-call.js +278 -0
  817. package/dist/esm/server-custom-node-call.js.map +1 -0
  818. package/dist/esm/server-runtime-code.d.ts +39 -12
  819. package/dist/esm/server-runtime-code.d.ts.map +1 -1
  820. package/dist/esm/server-runtime-code.js +483 -40
  821. package/dist/esm/server-runtime-code.js.map +1 -1
  822. package/dist/esm/session-cookie-resolver.d.ts +3 -1
  823. package/dist/esm/session-cookie-resolver.d.ts.map +1 -1
  824. package/dist/esm/session-revocation-generator.d.ts +39 -0
  825. package/dist/esm/session-revocation-generator.d.ts.map +1 -0
  826. package/dist/esm/session-revocation-generator.js +172 -0
  827. package/dist/esm/session-revocation-generator.js.map +1 -0
  828. package/dist/esm/slack-message-values.d.ts +6 -0
  829. package/dist/esm/slack-message-values.d.ts.map +1 -0
  830. package/dist/esm/slack-message-values.js +68 -0
  831. package/dist/esm/slack-message-values.js.map +1 -0
  832. package/dist/esm/transactional-email-code.d.ts +11 -0
  833. package/dist/esm/transactional-email-code.d.ts.map +1 -1
  834. package/dist/esm/transactional-email-code.js +28 -4
  835. package/dist/esm/transactional-email-code.js.map +1 -1
  836. package/dist/esm/trigger-generator.d.ts +2 -0
  837. package/dist/esm/trigger-generator.d.ts.map +1 -1
  838. package/dist/esm/trigger-generator.js +15 -3
  839. package/dist/esm/trigger-generator.js.map +1 -1
  840. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  841. package/dist/esm/visitor-step-limits.d.ts +66 -0
  842. package/dist/esm/visitor-step-limits.d.ts.map +1 -0
  843. package/dist/esm/visitor-step-limits.js +181 -0
  844. package/dist/esm/visitor-step-limits.js.map +1 -0
  845. package/dist/esm/webhook-generator.d.ts.map +1 -1
  846. package/dist/esm/webhook-generator.js +93 -15
  847. package/dist/esm/webhook-generator.js.map +1 -1
  848. package/dist/esm/webhook-signature-verification.d.ts.map +1 -1
  849. package/dist/esm/webhook-signature-verification.js +13 -3
  850. package/dist/esm/webhook-signature-verification.js.map +1 -1
  851. package/dist/esm/workflow-auth-generator.d.ts +4 -1
  852. package/dist/esm/workflow-auth-generator.d.ts.map +1 -1
  853. package/dist/esm/workflow-auth-generator.js +8 -3
  854. package/dist/esm/workflow-auth-generator.js.map +1 -1
  855. package/dist/esm/workflow-component-plugin.js +12 -4
  856. package/dist/esm/workflow-component-plugin.js.map +1 -1
  857. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  858. package/dist/esm/workflow-project-plugin.js +306 -60
  859. package/dist/esm/workflow-project-plugin.js.map +1 -1
  860. package/dist/esm/workflow-scope.d.ts.map +1 -1
  861. package/dist/esm/workflow-scope.js +5 -0
  862. package/dist/esm/workflow-scope.js.map +1 -1
  863. package/package.json +4 -4
  864. package/src/account-delete-route-generator.ts +28 -4
  865. package/src/api-route-generator.ts +712 -134
  866. package/src/auth-generator.ts +1471 -142
  867. package/src/automations/activity-kicks.ts +139 -0
  868. package/src/automations/app-events-source.ts +117 -0
  869. package/src/automations/automations-project-plugin.ts +202 -0
  870. package/src/automations/automations-scope.ts +196 -0
  871. package/src/automations/dispatcher-source.ts +1072 -0
  872. package/src/automations/event-bus-source.ts +428 -0
  873. package/src/automations/handler-module-generator.ts +107 -0
  874. package/src/automations/hydrators-source.ts +647 -0
  875. package/src/booking-calendar-feed-route-generator.ts +8 -0
  876. package/src/configured-nextauth-url.ts +17 -0
  877. package/src/cron-request-verification.ts +55 -5
  878. package/src/data-api-route-generator.ts +780 -43
  879. package/src/ecommerce/parameterized-stock-chain.ts +52 -5
  880. package/src/ecommerce/place-order-guards.ts +785 -0
  881. package/src/ecommerce-customhandler-rewriter.ts +55 -2
  882. package/src/executor-generator.ts +372 -60
  883. package/src/graph-utils.ts +33 -0
  884. package/src/index.ts +70 -0
  885. package/src/invoice/api-routes-code.ts +20 -7
  886. package/src/invoice/index.ts +11 -6
  887. package/src/invoice/invoice-assembly-code.ts +8 -3
  888. package/src/invoice/pdf-generator-code.ts +2 -1
  889. package/src/invoice/pdf-service-client-code.ts +15 -7
  890. package/src/newsletter/admin-route-code.ts +319 -0
  891. package/src/newsletter/helper-code.ts +748 -0
  892. package/src/newsletter/newsletter-scope.ts +116 -0
  893. package/src/newsletter/project-plugin.ts +119 -0
  894. package/src/newsletter/routes-code.ts +186 -0
  895. package/src/nodes/account/account-compare-passwords.ts +17 -6
  896. package/src/nodes/account/account-delete-current.ts +1 -1
  897. package/src/nodes/account/account-get-current.ts +1 -1
  898. package/src/nodes/account/account-hash-password.ts +19 -3
  899. package/src/nodes/account/account-login.ts +24 -7
  900. package/src/nodes/account/account-logout.ts +1 -1
  901. package/src/nodes/account/account-refresh-session.ts +1 -1
  902. package/src/nodes/account/account-request-password-reset.ts +47 -0
  903. package/src/nodes/account/account-reset-password.ts +45 -0
  904. package/src/nodes/account/account-signup.ts +86 -20
  905. package/src/nodes/account/account-social-login.ts +1 -1
  906. package/src/nodes/ai/ai-custom-prompt.ts +25 -6
  907. package/src/nodes/ai/ai-detect-language.ts +25 -6
  908. package/src/nodes/ai/ai-generate-text-embedding.ts +16 -3
  909. package/src/nodes/ai/ai-provider-utils-sources.generated.ts +2 -2
  910. package/src/nodes/ai/ai-provider-utils.ts +135 -10
  911. package/src/nodes/ai/ai-select-database-data.ts +8 -3
  912. package/src/nodes/ai/ai-sentiment-analysis.ts +25 -6
  913. package/src/nodes/ai/ai-summarization.ts +25 -6
  914. package/src/nodes/ai/ai-text-classifier.ts +25 -6
  915. package/src/nodes/ai/ai-text-transform.ts +25 -6
  916. package/src/nodes/analytics/analytics-track-outcome.ts +111 -0
  917. package/src/nodes/cart/cart-price-order.ts +200 -2
  918. package/src/nodes/cost-bearing-node-types.ts +45 -0
  919. package/src/nodes/data/data-select.ts +11 -2
  920. package/src/nodes/email/email-mailersend.ts +16 -8
  921. package/src/nodes/email/email-mailgun.ts +17 -12
  922. package/src/nodes/email/email-postmark.ts +17 -12
  923. package/src/nodes/email/email-resend.ts +17 -12
  924. package/src/nodes/email/email-sendgrid.ts +17 -12
  925. package/src/nodes/email/html-escape-code.ts +21 -0
  926. package/src/nodes/email/message-trust.ts +198 -0
  927. package/src/nodes/email/outbound-message-guard.ts +572 -0
  928. package/src/nodes/email/trusted-html-code.ts +49 -0
  929. package/src/nodes/general/general-custom-js.ts +46 -7
  930. package/src/nodes/general/general-http-request.ts +449 -46
  931. package/src/nodes/general/general-rate-limiter.ts +54 -81
  932. package/src/nodes/general/general-wait.ts +80 -0
  933. package/src/nodes/general/visitor-request.ts +79 -0
  934. package/src/nodes/index.ts +12 -0
  935. package/src/nodes/integrations/integration-slack.ts +21 -6
  936. package/src/nodes/newsletter/newsletter-confirm.ts +44 -0
  937. package/src/nodes/newsletter/newsletter-subscribe.ts +78 -0
  938. package/src/nodes/newsletter/newsletter-unsubscribe.ts +43 -0
  939. package/src/nodes/realtime/realtime-join-channel.ts +5 -4
  940. package/src/nodes/realtime/realtime-send-channel-event.ts +13 -2
  941. package/src/nodes/realtime/realtime-send-channel-message.ts +13 -2
  942. package/src/nodes/sms/sms-infobip.ts +14 -4
  943. package/src/nodes/sms/sms-smsapi.ts +14 -4
  944. package/src/nodes/sms/sms-textmagic.ts +14 -4
  945. package/src/nodes/sms/sms-twilio.ts +14 -4
  946. package/src/nodes/types.ts +9 -1
  947. package/src/nodes/utility/utility-similarity-scoring.ts +33 -12
  948. package/src/page-access-guard-generator.ts +154 -0
  949. package/src/password-reset-route-generator.ts +531 -0
  950. package/src/payments/payment-core-code.ts +12 -7
  951. package/src/project-code-scanner.ts +98 -0
  952. package/src/public-step-guards.ts +448 -0
  953. package/src/publish-refusals.ts +459 -0
  954. package/src/realtime-generator.ts +457 -234
  955. package/src/runtime-storage-generator.ts +270 -11
  956. package/src/security-runtime/index.ts +53 -0
  957. package/src/security-runtime/security-runtime-code.ts +579 -0
  958. package/src/security-scanner.ts +253 -10
  959. package/src/segment-splitter.ts +10 -2
  960. package/src/segment-trust.ts +205 -2
  961. package/src/self-call-headers.ts +46 -0
  962. package/src/sent-email-log/index.ts +16 -0
  963. package/src/sent-email-log/sent-email-log-code.ts +30 -4
  964. package/src/server-custom-node-call.ts +331 -0
  965. package/src/server-runtime-code.ts +488 -40
  966. package/src/session-revocation-generator.ts +177 -0
  967. package/src/slack-message-values.ts +84 -0
  968. package/src/transactional-email-code.ts +30 -4
  969. package/src/trigger-generator.ts +19 -3
  970. package/src/visitor-step-limits.ts +228 -0
  971. package/src/webhook-generator.ts +94 -14
  972. package/src/webhook-signature-verification.ts +13 -3
  973. package/src/workflow-auth-generator.ts +9 -4
  974. package/src/workflow-component-plugin.ts +14 -4
  975. package/src/workflow-project-plugin.ts +374 -61
  976. 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 { needsDataAPIRoute, generateDataAPIRoute } from './data-api-route-generator'
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
- // SECURITY NET — parameterize raw-SQL interpolations before ANY config is
242
- // emitted. Rewrites each `{{ name }}` value token in a data-node's `query` /
243
- // `rawQueryUserPart` into a positional `$N` placeholder and moves the bound
244
- // value into the sibling params array, so the value binds via
245
- // `client.query(sql, params)` and never reaches the SQL text. Throws (aborts
246
- // generation) on an interpolation that cannot be safely bound — refusing to
247
- // ship injectable SQL. Runs FIRST so the security gate below sees final SQL.
248
- parameterizeAllWorkflowRawSql(uidl.workflows)
249
-
250
- // Codegen-time security gate. Throws CodegenSecurityError if any
251
- // `general-custom-js` body references a protected platform secret
252
- // or uses an obvious sandbox-escape primitive. Backstop for the GUI
253
- // and services-worker static checks; surfaces the failure before
254
- // any code is emitted.
255
- assertWorkflowsAreSecure(uidl.workflows)
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(usedNodeTypes, 'client')
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 = { nodes: cn.nodes || [], edges: cn.edges || [], segments: cnSegments }
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 this key; the deploy
549
- // fills it in (see cron-request-verification.ts).
550
- if (!uidl.globals.env) {
551
- uidl.globals.env = {}
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 = { nodes: workflow.nodes || [], edges: workflow.edges || [], segments }
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(usedNodeTypes, 'server')
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 (usedRealtimeActions.has('realtime-send-channel-message')) {
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 (usedRealtimeActions.has('realtime-send-channel-event')) {
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.push(generator.generateServerHandler())
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(auth: UIDLAuthentication, structure: ProjectPluginStructure): void {
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(auth, {
1812
- emailProvider: welcomeProvider,
1813
- fromEmail: typeof signupConfig.from === 'string' ? signupConfig.from : '',
1814
- fromName: typeof signupConfig.fromName === 'string' ? signupConfig.fromName : '',
1815
- emailSecretEnvName: welcomeSecretEnvName,
1816
- emailSubject: typeof signupConfig.subject === 'string' ? signupConfig.subject : '',
1817
- emailBodyHtml: typeof signupConfig.body === 'string' ? signupConfig.body : '',
1818
- localizedTemplates: readLocalizedEmailTemplates(signupConfig.localizedTemplates),
1819
- siteName: uidl.name || '',
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
- const nextAuthRouteCode = generateNextAuthRouteFile()
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'] = '^4.24.0'
2246
+ dependencies['next-auth'] = '4.24.15'
1934
2247
  dependencies.bcryptjs = '^2.4.3'
1935
2248
 
1936
2249
  const driverDeps = getDatabaseDriverDependencies(auth.dataSourceType)