@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
@@ -0,0 +1,460 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.outboundMessageHandlerSources = exports.generateOutboundMessageGuardCode = exports.PUBLIC_CALLER_INJECTION = exports.markWebhookMessageNodes = exports.markVisitorBoundMessageNodes = exports.describeRefusedSend = exports.PUBLIC_CALLER_HEADER = exports.NO_IP_CAP_KEY = exports.REFUSE_SEND_KEY = exports.ESCAPE_BODY_KEY = exports.VISITOR_RECIPIENT_FIELDS_KEY = exports.MESSAGE_NOT_SENT_MESSAGE = exports.TOO_MANY_MESSAGES_MESSAGE = exports.VISITOR_SENDS_PER_SITE_PER_DAY = exports.VISITOR_SENDS_PER_RECIPIENT_PER_HOUR = exports.VISITOR_SENDS_PER_IP_PER_HOUR = void 0;
4
+ const types_1 = require("../types");
5
+ const visitor_request_1 = require("../general/visitor-request");
6
+ const message_trust_1 = require("./message-trust");
7
+ const html_escape_code_1 = require("./html-escape-code");
8
+ const commerce_tracking_1 = require("../analytics/commerce-tracking");
9
+ /**
10
+ * Email and SMS nodes on a route a visitor can call.
11
+ *
12
+ * - Header fields (addresses, subject) never carry a line break.
13
+ * - A recipient the request can choose — anything but an author literal, the
14
+ * signed-in user's own value read from the session, or a read of the owner's
15
+ * settings (see message-trust) — is allowed (an auto-reply, a guest
16
+ * confirmation), but every such send is counted per visitor, per recipient
17
+ * and per site. A send over a limit is skipped and logged; the visitor's
18
+ * action goes on.
19
+ * - Such a send's body must be the author's template: a body that is only
20
+ * values (one value, or markup around values with no author text; an SMS:
21
+ * its whole message) is refused at generation time, with the reason in the
22
+ * build log. So is a sender (address, name, SMS sender) the request can
23
+ * choose. A refused step never sends.
24
+ * - Every value is escaped where the template is filled (`applyTemplateParams`
25
+ * and the rich-text placeholders in the runtime utils, `fillTemplate` for the
26
+ * account routes); a whole-value body is escaped by the guard. Only the
27
+ * platform's own HTML builders' output is sent as HTML.
28
+ */
29
+ /** Sends to visitor-supplied recipients each visitor may make in an hour. */
30
+ exports.VISITOR_SENDS_PER_IP_PER_HOUR = 5;
31
+ /** Sends one visitor-supplied recipient may receive in an hour. */
32
+ exports.VISITOR_SENDS_PER_RECIPIENT_PER_HOUR = 3;
33
+ /** Sends to visitor-supplied recipients the whole site may make in a day, per channel. */
34
+ exports.VISITOR_SENDS_PER_SITE_PER_DAY = 500;
35
+ /** What a skipped or refused send answers. */
36
+ exports.TOO_MANY_MESSAGES_MESSAGE = 'Too many messages were sent. Try again later.';
37
+ exports.MESSAGE_NOT_SENT_MESSAGE = 'The message could not be sent.';
38
+ /** Baked into a node's config at generation time; read and removed by the guard. */
39
+ exports.VISITOR_RECIPIENT_FIELDS_KEY = '__visitorRecipientFields';
40
+ exports.ESCAPE_BODY_KEY = '__escapeBody';
41
+ /** Baked when the send must never go out; the value is the reason, logged by the guard. */
42
+ exports.REFUSE_SEND_KEY = '__refuseSend';
43
+ /** Baked on a public webhook's sends: its caller is an integration, so no per-visitor count. */
44
+ exports.NO_IP_CAP_KEY = '__noIpCap';
45
+ /** Set on this deployment's own call to a custom node made for a public webhook. */
46
+ exports.PUBLIC_CALLER_HEADER = 'x-teleport-public-caller';
47
+ const RECIPIENT_FIELDS = {
48
+ email: ['to', 'cc', 'bcc'],
49
+ sms: ['to'],
50
+ };
51
+ const SENDER_FIELDS = {
52
+ email: ['from', 'fromName'],
53
+ sms: ['from'],
54
+ };
55
+ const channelOf = (nodeType) => nodeType.startsWith('sms-') ? 'sms' : 'email';
56
+ const isRecord = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
57
+ const isSecretRef = (value) => value.type === 'dynamic' &&
58
+ isRecord(value.content) &&
59
+ value.content.referenceType === 'secret';
60
+ /** A whole `{{Current User.<field>}}` / `{{currentUser.<field>}}` token. */
61
+ const SESSION_USER_TOKEN = /^\s*\{\{\s*(?:Current User|currentUser)\.[A-Za-z_$][A-Za-z0-9_$]*\s*\}\}\s*$/;
62
+ const WHOLE_TOKEN = /^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/;
63
+ /**
64
+ * A recipient or sender value the request cannot choose: an author literal,
65
+ * a project secret, the signed-in user's own value (a current-user token or
66
+ * reader, where the route binds the session), or an owner read.
67
+ */
68
+ const isOwnerValue = (value, sources) => {
69
+ if (value === undefined || value === null || value === '' || typeof value !== 'object') {
70
+ if (typeof value !== 'string') {
71
+ return true;
72
+ }
73
+ if (sources.sessionBound && SESSION_USER_TOKEN.test(value)) {
74
+ return true;
75
+ }
76
+ return value.indexOf('{{') === -1 && value.indexOf('context-value-inline') === -1;
77
+ }
78
+ if (Array.isArray(value)) {
79
+ return value.every((item) => isOwnerValue(item, sources));
80
+ }
81
+ const record = value;
82
+ if (record.type === 'workflowContext') {
83
+ const id = typeof record.nodeId === 'string' ? record.nodeId : '';
84
+ return sources.owner.has(id) || (sources.sessionBound && sources.identityNodeIds.has(id));
85
+ }
86
+ if (record.type === 'ctx') {
87
+ return false;
88
+ }
89
+ if (isSecretRef(record)) {
90
+ return true;
91
+ }
92
+ return Object.keys(record).every((key) => isOwnerValue(record[key], sources));
93
+ };
94
+ /** A body that is one value (a reference or a whole `{{…}}` token). */
95
+ const isValueBody = (body) => (isRecord(body) && (body.type === 'workflowContext' || body.type === 'ctx')) ||
96
+ (typeof body === 'string' && WHOLE_TOKEN.test(body));
97
+ /** A whole `{{key}}` token naming one of the node's `templateParams` is that param's value. */
98
+ const valueSourceOf = (value, config) => {
99
+ const token = typeof value === 'string' ? WHOLE_TOKEN.exec(value) : null;
100
+ const params = Array.isArray(config.templateParams) ? config.templateParams : [];
101
+ const param = token
102
+ ? params.find((p) => isRecord(p) && p.key === token[1])
103
+ : undefined;
104
+ return param ? param.value : value;
105
+ };
106
+ /** The node a rich-text placeholder's opening tag names. */
107
+ const chipRefOf = (openTag) => {
108
+ const id = /data-ctx-node-id=["']([^"']*)["']/.exec(openTag);
109
+ return { type: 'workflowContext', nodeId: id ? id[1] : '' };
110
+ };
111
+ /**
112
+ * The values a body is made of when it has no author text — one value, a
113
+ * whole token, or markup around placeholders / `{{tokens}}` only (an SMS:
114
+ * parts that are all values) — or null when the author wrote text.
115
+ */
116
+ const valueSourcesOfBody = (body, config) => {
117
+ if (isValueBody(body)) {
118
+ return [valueSourceOf(body, config)];
119
+ }
120
+ if (Array.isArray(body)) {
121
+ return body.length > 0 && body.every(isValueBody)
122
+ ? body.map((part) => valueSourceOf(part, config))
123
+ : null;
124
+ }
125
+ if (typeof body !== 'string') {
126
+ return null;
127
+ }
128
+ const sources = [];
129
+ let text = '';
130
+ let i = 0;
131
+ while (i < body.length) {
132
+ const start = body.indexOf('<span', i);
133
+ const openEnd = start === -1 ? -1 : body.indexOf('>', start);
134
+ if (start === -1 || openEnd === -1) {
135
+ text += body.slice(i);
136
+ break;
137
+ }
138
+ const openTag = body.slice(start, openEnd + 1);
139
+ if (openTag.indexOf('context-value-inline') === -1) {
140
+ text += body.slice(i, openEnd + 1);
141
+ i = openEnd + 1;
142
+ continue;
143
+ }
144
+ text += body.slice(i, start);
145
+ sources.push(chipRefOf(openTag));
146
+ let depth = 1;
147
+ let j = openEnd + 1;
148
+ while (j < body.length && depth > 0) {
149
+ const nextOpen = body.indexOf('<span', j);
150
+ const nextClose = body.indexOf('</span>', j);
151
+ if (nextClose === -1) {
152
+ j = body.length;
153
+ break;
154
+ }
155
+ if (nextOpen !== -1 && nextOpen < nextClose) {
156
+ const innerEnd = body.indexOf('>', nextOpen);
157
+ j = innerEnd === -1 ? body.length : innerEnd + 1;
158
+ depth++;
159
+ }
160
+ else {
161
+ j = nextClose + '</span>'.length;
162
+ depth--;
163
+ }
164
+ }
165
+ i = j;
166
+ }
167
+ text = text.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (token) => {
168
+ sources.push(valueSourceOf(token, config));
169
+ return '';
170
+ });
171
+ const authorText = text
172
+ .replace(/<[^>]*>/g, '')
173
+ .replace(/&nbsp;|&#160;|&#xa0;/gi, '')
174
+ .replace(/\s+/g, '');
175
+ return sources.length > 0 && authorText === '' ? sources : null;
176
+ };
177
+ const isTrustedHtmlSource = (source, sources) => isRecord(source) &&
178
+ source.type === 'workflowContext' &&
179
+ typeof source.nodeId === 'string' &&
180
+ sources.html.has(source.nodeId);
181
+ /**
182
+ * Callers that are not visitors: this deployment's own server code
183
+ * (`serverOnly`), or a signed-in role a visitor cannot give itself.
184
+ *
185
+ * INVARIANT: this holds only while no visitor can obtain a role other than
186
+ * `user` by themselves — signup always grants `user` (auth-generator,
187
+ * account-signup). A feature that lets a visitor acquire another role (a
188
+ * purchase that grants one) must make this check name the self-service roles.
189
+ */
190
+ const isPrivilegedRoute = (protection) => {
191
+ if (!protection) {
192
+ return false;
193
+ }
194
+ if (protection.serverOnly) {
195
+ return true;
196
+ }
197
+ const roles = Array.isArray(protection.allowedRoles) ? protection.allowedRoles : [];
198
+ return protection.requiresAuth === true && roles.length > 0 && roles.indexOf('user') === -1;
199
+ };
200
+ /**
201
+ * A refused send in the owner's words: the build log's line, and what the
202
+ * editor shows before a publish (`collectWorkflowPublishRefusals`).
203
+ */
204
+ const describeRefusedSend = (workflowName, stepName, refusal) => `Workflow "${workflowName}": the step "${stepName}" ${refusal}, so it will never send. Write the ` +
205
+ "message in the step (place the visitor's values in it), use a fixed sender, and " +
206
+ "put the visitor's address in Reply-To.";
207
+ exports.describeRefusedSend = describeRefusedSend;
208
+ /**
209
+ * The segment with every email/SMS node whose recipient the request can
210
+ * choose marked for the guard, every whole-value body marked to be escaped,
211
+ * and every send that must never go out marked refused (with the reason in
212
+ * the build log). Nodes that need no mark — and a segment without such nodes
213
+ * — are returned as they are, so their routes stay byte for byte the same.
214
+ *
215
+ * `trust.messageTrust` (from segment-trust, over the whole graph) names the
216
+ * results the guard may trust; without it only this segment's own owner reads
217
+ * and builders count.
218
+ */
219
+ const markVisitorBoundMessageNodes = (segment, trust, protection, workflowName, options = {}) => {
220
+ if (!segment.nodes.some((node) => (0, visitor_request_1.isOutboundMessageNodeType)(node.type))) {
221
+ return segment;
222
+ }
223
+ if (isPrivilegedRoute(protection)) {
224
+ return segment;
225
+ }
226
+ const session = trust && trust.session;
227
+ const messageTrust = (trust && trust.messageTrust) ||
228
+ (0, message_trust_1.collectMessageTrust)({
229
+ nodes: segment.nodes,
230
+ edges: segment.edges,
231
+ serverNodeIds: new Set(segment.nodes.map((node) => node.id)),
232
+ });
233
+ const sources = {
234
+ owner: new Set(messageTrust.ownerRecipientNodeIds),
235
+ html: new Set(messageTrust.trustedHtmlNodeIds),
236
+ sessionBound: !!session,
237
+ identityNodeIds: new Set(session ? Object.keys(session.identityNodes || {}) : []),
238
+ };
239
+ let changed = false;
240
+ const nodes = segment.nodes.map((node) => {
241
+ if (!(0, visitor_request_1.isOutboundMessageNodeType)(node.type) || !isRecord(node.config)) {
242
+ return node;
243
+ }
244
+ const config = node.config;
245
+ const channel = channelOf(node.type);
246
+ const visitorFields = RECIPIENT_FIELDS[channel].filter((field) => !isOwnerValue(config[field], sources));
247
+ const bodyKey = channel === 'email' ? 'body' : 'message';
248
+ const bodySources = valueSourcesOfBody(config[bodyKey], config);
249
+ const htmlBody = bodySources !== null && bodySources.every((source) => isTrustedHtmlSource(source, sources));
250
+ const visitorSender = SENDER_FIELDS[channel].find((field) => !isOwnerValue(config[field], sources));
251
+ let refusal = '';
252
+ if (visitorFields.length > 0 && bodySources !== null && !htmlBody) {
253
+ refusal =
254
+ "sends a message that is only the visitor's input to an address the visitor supplies";
255
+ }
256
+ else if (visitorSender) {
257
+ refusal = `takes its sender (${visitorSender}) from the visitor`;
258
+ }
259
+ const escapeBody = channel === 'email' && isValueBody(config.body) && !htmlBody && !refusal;
260
+ if (visitorFields.length === 0 && !escapeBody && !refusal) {
261
+ return node;
262
+ }
263
+ if (refusal && !options.silent) {
264
+ // The build log is where a generation refusal reaches the owner.
265
+ // tslint:disable-next-line:no-console
266
+ console.warn(`[teleport-plugin-next-workflows] ${(0, exports.describeRefusedSend)(workflowName || segment.id, (0, message_trust_1.stepNameOf)(node), refusal)}`);
267
+ }
268
+ changed = true;
269
+ return Object.assign(Object.assign({}, node), { config: Object.assign(Object.assign(Object.assign(Object.assign({}, config), (visitorFields.length > 0 ? { [exports.VISITOR_RECIPIENT_FIELDS_KEY]: visitorFields } : {})), (escapeBody ? { [exports.ESCAPE_BODY_KEY]: true } : {})), (refusal ? { [exports.REFUSE_SEND_KEY]: refusal } : {})) });
270
+ });
271
+ return changed ? Object.assign(Object.assign({}, segment), { nodes }) : segment;
272
+ };
273
+ exports.markVisitorBoundMessageNodes = markVisitorBoundMessageNodes;
274
+ /**
275
+ * A webhook route whose payload no provider signature vouches for is as
276
+ * public as a page's route: its email/SMS nodes are marked the same way, with
277
+ * the webhook's payload (the trigger) as visitor input. Its caller is an
278
+ * integration, not a visitor, so its sends are counted per recipient and per
279
+ * site only. A verified webhook (a payment provider's, or any verified
280
+ * signature scheme) keeps its nodes as they are. `marked` says whether a send
281
+ * counts visitor-supplied recipients.
282
+ */
283
+ const markWebhookMessageNodes = (workflow, serverNodes, serverEdges, verified, options = {}) => {
284
+ if (verified || !serverNodes.some((node) => (0, visitor_request_1.isOutboundMessageNodeType)(node.type))) {
285
+ return { nodes: serverNodes, marked: false };
286
+ }
287
+ const segment = {
288
+ id: workflow.id,
289
+ env: 'server',
290
+ nodeIds: serverNodes.map((node) => node.id),
291
+ nodes: serverNodes,
292
+ edges: serverEdges,
293
+ };
294
+ const trust = {
295
+ messageTrust: (0, message_trust_1.collectMessageTrust)({
296
+ nodes: workflow.nodes,
297
+ edges: workflow.edges,
298
+ serverNodeIds: new Set(serverNodes.map((node) => node.id)),
299
+ }),
300
+ };
301
+ const result = (0, exports.markVisitorBoundMessageNodes)(segment, trust, undefined, workflow.name || workflow.id, options);
302
+ let marked = false;
303
+ const nodes = result.nodes.map((node) => {
304
+ if (!isRecord(node.config) || !Array.isArray(node.config[exports.VISITOR_RECIPIENT_FIELDS_KEY])) {
305
+ return node;
306
+ }
307
+ marked = true;
308
+ return Object.assign(Object.assign({}, node), { config: Object.assign(Object.assign({}, node.config), { [exports.NO_IP_CAP_KEY]: true }) });
309
+ });
310
+ return { nodes, marked };
311
+ };
312
+ exports.markWebhookMessageNodes = markWebhookMessageNodes;
313
+ /**
314
+ * The statement an unsigned webhook route adds when it calls a custom node:
315
+ * the custom node's route then counts that call's visitor-supplied sends (per
316
+ * recipient and per site) instead of exempting it as this deployment's own.
317
+ * The header is read only on a call that carries the internal-call token.
318
+ */
319
+ exports.PUBLIC_CALLER_INJECTION = `\n context.__internalHeaders['${exports.PUBLIC_CALLER_HEADER}'] = '1';`;
320
+ /**
321
+ * Emitted before every email/SMS handler: `__outboundMessageGuard(channel,
322
+ * config, context)` resolves `null` when the send may go on, after it has
323
+ * cleaned `config` in place (so the sent-email ledger records what was sent);
324
+ * `{ skipped }` when a limit was reached (the node answers a skipped, non-fatal
325
+ * result: the visitor's action goes on); `{ error }` when the send is refused
326
+ * (refused at generation, or no security runtime: a fatal result). It never
327
+ * throws.
328
+ *
329
+ * Without the security runtime (no `relativePrefix`) a visitor-bound send is
330
+ * refused; every other send only gets its headers cleaned.
331
+ */
332
+ const generateOutboundMessageGuardCode = (relativePrefix) => `${(0, visitor_request_1.generateSecurityRuntimeVar)('__outboundSecurity', relativePrefix)}
333
+ ${visitor_request_1.VISITOR_KEY_CODE}
334
+ var __outboundMessageGuard = typeof __outboundMessageGuard !== 'undefined' ? __outboundMessageGuard : async function __outboundMessageGuard(channel, config, context) {
335
+ var TOO_MANY = ${JSON.stringify(exports.TOO_MANY_MESSAGES_MESSAGE)};
336
+ var NOT_SENT = ${JSON.stringify(exports.MESSAGE_NOT_SENT_MESSAGE)};
337
+ function withoutLineBreaks(value) {
338
+ if (typeof value === 'string') return value.replace(/[\\r\\n]+/g, ' ');
339
+ if (Array.isArray(value)) return value.map(withoutLineBreaks);
340
+ if (value && typeof value === 'object') {
341
+ var copy = {};
342
+ Object.keys(value).forEach(function (key) { copy[key] = withoutLineBreaks(value[key]); });
343
+ return copy;
344
+ }
345
+ return value;
346
+ }
347
+ function escapeHtml(text) {
348
+ return ${(0, html_escape_code_1.escapeHtmlValueJs)('text')};
349
+ }
350
+ // One parameter on purpose: a two-parameter declaration ahead of the node's
351
+ // own entry would be taken for it (see resolveHandlerEntryName).
352
+ var recipients = [];
353
+ function collectRecipients(value) {
354
+ if (Array.isArray(value)) { value.forEach(collectRecipients); return; }
355
+ if (value && typeof value === 'object') { collectRecipients(value.email !== undefined ? value.email : value.to); return; }
356
+ if (value === undefined || value === null) return;
357
+ String(value).split(/[,;]/).forEach(function (part) {
358
+ var address = part.trim();
359
+ if (channel === 'sms') {
360
+ // E.164: one number however it is written (+1 555…, 1555…, 001555…).
361
+ var phone = address.replace(/[^0-9+]/g, '');
362
+ var international = phone.charAt(0) === '+';
363
+ phone = phone.replace(/[+]/g, '');
364
+ if (!international && phone.indexOf('00') === 0) phone = phone.slice(2);
365
+ address = phone ? '+' + phone : '';
366
+ } else {
367
+ // Lower-cased, without a +tag: one mailbox however it is written.
368
+ var bracketed = /<([^<>]+)>/.exec(address);
369
+ address = (bracketed ? bracketed[1] : address).trim().toLowerCase();
370
+ var at = address.lastIndexOf('@');
371
+ var tag = at > 0 ? address.slice(0, at).indexOf('+') : -1;
372
+ if (tag > 0) address = address.slice(0, tag) + address.slice(at);
373
+ // Gmail ignores dots in the mailbox name.
374
+ at = address.lastIndexOf('@');
375
+ var domain = at > 0 ? address.slice(at + 1) : '';
376
+ if (domain === 'gmail.com' || domain === 'googlemail.com') {
377
+ address = address.slice(0, at).replace(/[.]/g, '') + '@gmail.com';
378
+ }
379
+ }
380
+ if (address && recipients.indexOf(address) === -1) recipients.push(address);
381
+ });
382
+ }
383
+ try {
384
+ if (!config || typeof config !== 'object') return null;
385
+ var headerFields = channel === 'sms' ? ['from', 'to'] : ['from', 'fromName', 'to', 'cc', 'bcc', 'replyTo', 'subject'];
386
+ headerFields.forEach(function (field) {
387
+ if (config[field] !== undefined) config[field] = withoutLineBreaks(config[field]);
388
+ });
389
+ var refusal = typeof config.${exports.REFUSE_SEND_KEY} === 'string' ? config.${exports.REFUSE_SEND_KEY} : '';
390
+ var escapeBody = config.${exports.ESCAPE_BODY_KEY} === true;
391
+ var fields = Array.isArray(config.${exports.VISITOR_RECIPIENT_FIELDS_KEY}) ? config.${exports.VISITOR_RECIPIENT_FIELDS_KEY} : [];
392
+ var noIpCap = config.${exports.NO_IP_CAP_KEY} === true;
393
+ delete config.${exports.REFUSE_SEND_KEY};
394
+ delete config.${exports.ESCAPE_BODY_KEY};
395
+ delete config.${exports.VISITOR_RECIPIENT_FIELDS_KEY};
396
+ delete config.${exports.NO_IP_CAP_KEY};
397
+ // Refused when the site was generated (the build log names the step).
398
+ if (refusal) {
399
+ console.error('[' + channel + '] send refused: the step ' + refusal);
400
+ return { error: NOT_SENT };
401
+ }
402
+ if (escapeBody && config.body !== undefined && config.body !== null) {
403
+ config.body = escapeHtml(String(config.body));
404
+ }
405
+ if (fields.length === 0) return null;
406
+ var request = context && context.__request;
407
+ // This deployment's own server code (a webhook or cron running a custom
408
+ // node) is not a visitor — unless it calls for a public webhook, whose
409
+ // sends count per recipient and per site (the header is honoured only on
410
+ // a call that carries the internal-call token).
411
+ if (request && request.internal === true) {
412
+ var headers = request.headers && typeof request.headers === 'object' ? request.headers : {};
413
+ if (headers['${exports.PUBLIC_CALLER_HEADER}'] !== '1') return null;
414
+ noIpCap = true;
415
+ }
416
+ fields.forEach(function (field) { collectRecipients(config[field]); });
417
+ if (recipients.length === 0) return null;
418
+ var security = __outboundSecurity;
419
+ if (!security || typeof security.rateLimit !== 'function' || typeof security.clientIp !== 'function') {
420
+ console.error('[' + channel + '] send refused: the security runtime is not available');
421
+ return { error: NOT_SENT };
422
+ }
423
+ var scope = channel + '-visitor-recipient';
424
+ var visitor = __visitorKeyOf(security, request);
425
+ for (var i = 0; i < recipients.length; i++) {
426
+ var checks = [
427
+ { key: JSON.stringify([scope, 'recipient', recipients[i]]), limit: ${exports.VISITOR_SENDS_PER_RECIPIENT_PER_HOUR}, windowSeconds: 3600 },
428
+ { key: 'site:' + scope, limit: ${exports.VISITOR_SENDS_PER_SITE_PER_DAY}, windowSeconds: 86400 }
429
+ ];
430
+ if (!noIpCap) {
431
+ checks.unshift({ key: JSON.stringify([scope, 'ip', visitor]), limit: ${exports.VISITOR_SENDS_PER_IP_PER_HOUR}, windowSeconds: 3600 });
432
+ }
433
+ for (var c = 0; c < checks.length; c++) {
434
+ var verdict = await security.rateLimit(checks[c]);
435
+ if (!verdict || !verdict.allowed) {
436
+ console.warn('[' + channel + '] send skipped: a limit on visitor-supplied recipients was reached');
437
+ return { skipped: TOO_MANY };
438
+ }
439
+ }
440
+ }
441
+ return null;
442
+ } catch (err) {
443
+ console.error('[' + channel + '] send refused:', err && err.message ? err.message : err);
444
+ return { error: NOT_SENT };
445
+ }
446
+ };`;
447
+ exports.generateOutboundMessageGuardCode = generateOutboundMessageGuardCode;
448
+ const outboundMessageHandlerSources = (handler, options = {}) => {
449
+ const extra = options.extraSource ? '\n' + options.extraSource : '';
450
+ const finish = (source) => options.nodeType ? (0, commerce_tracking_1.assertHandlerHasNoModuleRefs)(source, options.nodeType) : source;
451
+ return {
452
+ generateHandler: () => finish((0, exports.generateOutboundMessageGuardCode)() + '\n\n' + (0, types_1.handlerToString)(handler) + extra),
453
+ generateServerHandler: (serverOptions) => finish((0, exports.generateOutboundMessageGuardCode)((0, visitor_request_1.serverHandlerPrefix)(serverOptions)) +
454
+ '\n\n' +
455
+ (0, types_1.handlerToString)(handler) +
456
+ extra),
457
+ };
458
+ };
459
+ exports.outboundMessageHandlerSources = outboundMessageHandlerSources;
460
+ //# sourceMappingURL=outbound-message-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-message-guard.js","sourceRoot":"","sources":["../../../../src/nodes/email/outbound-message-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * HTML the generated code builds itself, for an email template to show as
3
+ * HTML — emitted into the runtime utils next to `applyTemplateParams`.
4
+ *
5
+ * Every value an email template is filled with is escaped, so only the
6
+ * author's template is markup. The one kind of value the platform's own
7
+ * templates show as markup is the products list (`{{productsList}}`, a `<ul>`
8
+ * of the lines in the withdrawal, withdrawal-owner and abandoned-cart emails;
9
+ * the low-stock alert fills its own). Its builders hand the email node the
10
+ * structured lines too (`products`), so the list is built HERE, at send time,
11
+ * from those lines, with every field of a line (name, options, quantity)
12
+ * escaped — never taken from the `productsList` value the node was handed,
13
+ * which a browser may have computed.
14
+ *
15
+ * What this code builds is marked trusted (`trustedHtml`, a registry a
16
+ * request cannot reach: a value that arrived as JSON is never in it), and the
17
+ * template fill inserts only marked values unescaped.
18
+ */
19
+ export declare const PRODUCTS_LIST_PARAM = "productsList";
20
+ export declare const PRODUCTS_ROWS_PARAM = "products";
21
+ export declare const TRUSTED_HTML_RUNTIME_CODE: string;
22
+ //# sourceMappingURL=trusted-html-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-html-code.d.ts","sourceRoot":"","sources":["../../../../src/nodes/email/trusted-html-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAE7C,eAAO,MAAM,yBAAyB,QA2BrC,CAAA"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRUSTED_HTML_RUNTIME_CODE = exports.PRODUCTS_ROWS_PARAM = exports.PRODUCTS_LIST_PARAM = void 0;
4
+ /**
5
+ * HTML the generated code builds itself, for an email template to show as
6
+ * HTML — emitted into the runtime utils next to `applyTemplateParams`.
7
+ *
8
+ * Every value an email template is filled with is escaped, so only the
9
+ * author's template is markup. The one kind of value the platform's own
10
+ * templates show as markup is the products list (`{{productsList}}`, a `<ul>`
11
+ * of the lines in the withdrawal, withdrawal-owner and abandoned-cart emails;
12
+ * the low-stock alert fills its own). Its builders hand the email node the
13
+ * structured lines too (`products`), so the list is built HERE, at send time,
14
+ * from those lines, with every field of a line (name, options, quantity)
15
+ * escaped — never taken from the `productsList` value the node was handed,
16
+ * which a browser may have computed.
17
+ *
18
+ * What this code builds is marked trusted (`trustedHtml`, a registry a
19
+ * request cannot reach: a value that arrived as JSON is never in it), and the
20
+ * template fill inserts only marked values unescaped.
21
+ */
22
+ exports.PRODUCTS_LIST_PARAM = 'productsList';
23
+ exports.PRODUCTS_ROWS_PARAM = 'products';
24
+ exports.TRUSTED_HTML_RUNTIME_CODE = `// HTML this runtime built itself (see trusted-html-code in the generator).
25
+ var __trustedHtmlValues = typeof WeakSet === 'function' ? new WeakSet() : null;
26
+
27
+ function trustedHtml(html) {
28
+ var value = new String(html == null ? '' : html);
29
+ if (__trustedHtmlValues) __trustedHtmlValues.add(value);
30
+ return value;
31
+ }
32
+
33
+ function isTrustedHtml(value) {
34
+ return !!__trustedHtmlValues && value !== null && typeof value === 'object' && __trustedHtmlValues.has(value);
35
+ }
36
+
37
+ // The products list of a platform email ({{${exports.PRODUCTS_LIST_PARAM}}}), from its lines.
38
+ function renderProductsListHtml(rows) {
39
+ var html = '<ul style="margin:0;padding-left:18px;">';
40
+ for (var i = 0; i < rows.length; i++) {
41
+ var row = rows[i] && typeof rows[i] === 'object' ? rows[i] : {};
42
+ var name = row.product_name != null ? row.product_name : row.name != null ? row.name : 'Product';
43
+ var quantity = parseInt(row.quantity, 10);
44
+ if (isNaN(quantity) || quantity <= 0) quantity = 1;
45
+ var label = row.configuration_label != null ? String(row.configuration_label) : '';
46
+ html += '<li>' + quantity + '× <strong>' + escapeHtmlText(String(name)) + '</strong>' +
47
+ (label ? ' — ' + escapeHtmlText(label) : '') + '</li>';
48
+ }
49
+ return trustedHtml(html + '</ul>');
50
+ }
51
+ `;
52
+ //# sourceMappingURL=trusted-html-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-html-code.js","sourceRoot":"","sources":["../../../../src/nodes/email/trusted-html-code.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,mBAAmB,GAAG,cAAc,CAAA;AACpC,QAAA,mBAAmB,GAAG,UAAU,CAAA;AAEhC,QAAA,yBAAyB,GAAG;;;;;;;;;;;;;8CAaK,2BAAmB;;;;;;;;;;;;;;CAchE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"general-custom-js.d.ts","sourceRoot":"","sources":["../../../../src/nodes/general/general-custom-js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAyehE,eAAO,MAAM,eAAe,EAAE,oBAM7B,CAAA"}
1
+ {"version":3,"file":"general-custom-js.d.ts","sourceRoot":"","sources":["../../../../src/nodes/general/general-custom-js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAghBhE,eAAO,MAAM,eAAe,EAAE,oBAM7B,CAAA"}