@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.emitPasswordAuthFiles = exports.collectWorkflowNodeConfigs = exports.REQUEST_PASSWORD_RESET_NODE_TYPE = exports.AUTH_PEPPER_SECRET_ENV = exports.generateResetPasswordRoute = exports.generateForgotPasswordRoute = exports.TRUSTED_ORIGIN_CODE = exports.resolveResetPagePath = exports.resetEmailSenderOf = exports.resetLinkOf = exports.resetTokenKeeperPagePaths = exports.readsKeptResetToken = exports.RESET_TOKEN_STORAGE_KEY = exports.FORGOT_PASSWORD_ANSWER = exports.DEFAULT_RESET_PAGE_PATH = exports.RESET_PASSWORD_VISITOR_LIMIT = exports.FORGOT_PASSWORD_VISITOR_LIMIT = exports.FORGOT_PASSWORD_RECIPIENT_LIMIT = exports.PASSWORD_RESET_TOKEN_TTL_SECONDS = exports.RESET_PASSWORD_ROUTE_NAME = exports.FORGOT_PASSWORD_ROUTE_NAME = void 0;
4
+ /**
5
+ * The password-reset routes every project with password sign-in gets:
6
+ * `pages/api/auth/forgot-password.js` and `pages/api/auth/reset-password.js`.
7
+ *
8
+ * Like the account-deletion route, each makes the whole security decision on
9
+ * the server, in one place. The reset link's token is minted here with a
10
+ * CSPRNG and never leaves the server except in the email to the account's own
11
+ * address; only its SHA-256 is stored, bound to the account id, for 30
12
+ * minutes, and the reset route spends it in the same statement that sets the
13
+ * password. Nothing a browser sends can name a token, an account or the email
14
+ * a link goes to — the workflow that used to compose them from browser-relayed
15
+ * context let anyone set any user's password.
16
+ *
17
+ * The forgot route answers the same, in about the same time, whether the
18
+ * address has an account or not, and writes nothing for an address without
19
+ * one. The email goes out through the provider and template the project's
20
+ * `account-request-password-reset` node configures (the same baked-config
21
+ * pattern as the sign-up welcome email).
22
+ */
23
+ const teleport_types_1 = require("@teleporthq/teleport-types");
24
+ const transactional_email_code_1 = require("./transactional-email-code");
25
+ const configured_nextauth_url_1 = require("./configured-nextauth-url");
26
+ const security_runtime_code_1 = require("./security-runtime/security-runtime-code");
27
+ const email_locale_1 = require("./email-locale");
28
+ const sent_email_log_1 = require("./sent-email-log");
29
+ exports.FORGOT_PASSWORD_ROUTE_NAME = 'forgot-password';
30
+ exports.RESET_PASSWORD_ROUTE_NAME = 'reset-password';
31
+ /** How long an emailed reset link works. */
32
+ exports.PASSWORD_RESET_TOKEN_TTL_SECONDS = 1800;
33
+ /** Reset links one address can be sent per hour, and forgot requests per visitor per hour. */
34
+ exports.FORGOT_PASSWORD_RECIPIENT_LIMIT = 3;
35
+ exports.FORGOT_PASSWORD_VISITOR_LIMIT = 10;
36
+ /** Reset attempts (and link checks) per visitor per 15 minutes. */
37
+ exports.RESET_PASSWORD_VISITOR_LIMIT = 20;
38
+ exports.DEFAULT_RESET_PAGE_PATH = '/reset-password';
39
+ /** The same answer for every well-formed request, whatever the address. */
40
+ exports.FORGOT_PASSWORD_ANSWER = 'If an account exists for that email, we sent it a link to reset the password.';
41
+ /**
42
+ * The sessionStorage key the reset page reads the link's token from (mirrored
43
+ * in teleport-gui `RESET_TOKEN_STORAGE_KEY`). The published site's first head
44
+ * script (teleport-project-generator-next `address-key-keeper.ts`) moves the
45
+ * token there, out of the address, before any other script of the page runs:
46
+ * an analytics or ads tag reads `location.href`, and the token is the account
47
+ * for 30 minutes.
48
+ */
49
+ exports.RESET_TOKEN_STORAGE_KEY = 'tq-reset-token';
50
+ /**
51
+ * Whether the project's reset page reads the token the keeper keeps (its
52
+ * workflows name RESET_TOKEN_STORAGE_KEY). Only then does the emailed link
53
+ * carry the token in its fragment, and does the keeper watch the reset page: a
54
+ * site exported by an editor that still reads `?token=` keeps its links as
55
+ * they were.
56
+ */
57
+ const readsKeptResetToken = (uidl) => {
58
+ const auth = uidl.authentication;
59
+ if (!(auth === null || auth === void 0 ? void 0 : auth.enabled) || !auth.passwordAuthEnabled || !uidl.workflows) {
60
+ return false;
61
+ }
62
+ try {
63
+ return JSON.stringify(uidl.workflows).includes(exports.RESET_TOKEN_STORAGE_KEY);
64
+ }
65
+ catch (error) {
66
+ return false;
67
+ }
68
+ };
69
+ exports.readsKeptResetToken = readsKeptResetToken;
70
+ /** The reset page paths the keeper watches: the page the reset email links to. */
71
+ const resetTokenKeeperPagePaths = (uidl) => {
72
+ if (!(0, exports.readsKeptResetToken)(uidl)) {
73
+ return [];
74
+ }
75
+ const config = (0, exports.collectWorkflowNodeConfigs)(uidl.workflows, exports.REQUEST_PASSWORD_RESET_NODE_TYPE)[0] || {};
76
+ return [(0, exports.resolveResetPagePath)(config.resetPagePath)];
77
+ };
78
+ exports.resetTokenKeeperPagePaths = resetTokenKeeperPagePaths;
79
+ /**
80
+ * The page this project's reset links open, and whether they carry the token
81
+ * in the fragment: the forgot-password link, and the set-password link a
82
+ * sign-up mails to an address the site knows without a password.
83
+ */
84
+ const resetLinkOf = (uidl) => {
85
+ const config = (0, exports.collectWorkflowNodeConfigs)(uidl.workflows, exports.REQUEST_PASSWORD_RESET_NODE_TYPE)[0] || {};
86
+ return {
87
+ resetPagePath: (0, exports.resolveResetPagePath)(config.resetPagePath),
88
+ tokenInFragment: (0, exports.readsKeptResetToken)(uidl),
89
+ };
90
+ };
91
+ exports.resetLinkOf = resetLinkOf;
92
+ /**
93
+ * Who sends this project's reset email (the forgot-password node's provider id
94
+ * without `email-`, sender and credential env var). The sign-up's emails to an
95
+ * address the site already knows fall back to it.
96
+ */
97
+ const resetEmailSenderOf = (uidl) => {
98
+ const config = (0, exports.collectWorkflowNodeConfigs)(uidl.workflows, exports.REQUEST_PASSWORD_RESET_NODE_TYPE)[0] || {};
99
+ const providerNodeType = typeof config.emailProvider === 'string' ? config.emailProvider : '';
100
+ return {
101
+ emailProvider: providerNodeType.startsWith('email-')
102
+ ? providerNodeType.slice('email-'.length)
103
+ : '',
104
+ fromEmail: typeof config.from === 'string' ? config.from : '',
105
+ emailSecretEnvName: secretEnvNameOf(config.apiKey) || secretEnvNameOf(config.serverToken),
106
+ };
107
+ };
108
+ exports.resetEmailSenderOf = resetEmailSenderOf;
109
+ /**
110
+ * The reset page path a link may point at: a same-site path without a query
111
+ * or fragment, else the default reset page. Never taken from a request — a
112
+ * link to another page of the site (an open redirect, a page with third-party
113
+ * scripts) would hand the token to someone else.
114
+ */
115
+ const resolveResetPagePath = (value) => {
116
+ const path = typeof value === 'string' ? value.trim() : '';
117
+ if (!path.startsWith('/') ||
118
+ path.startsWith('//') ||
119
+ /[\\?#\s"'<>]/.test(path) ||
120
+ path.indexOf('..') !== -1) {
121
+ return exports.DEFAULT_RESET_PAGE_PATH;
122
+ }
123
+ return path.length > 1 ? path.replace(/\/+$/, '') : path;
124
+ };
125
+ exports.resolveResetPagePath = resolveResetPagePath;
126
+ exports.TRUSTED_ORIGIN_CODE = `function isLoopbackHost(host) {
127
+ var name = String(host || '').replace(/:[0-9]+$/, '').toLowerCase();
128
+ return name === 'localhost' || name === '127.0.0.1' || name === '[::1]';
129
+ }
130
+
131
+ // The origin the emailed link opens. On Vercel the request's host is a domain
132
+ // Vercel routed to this deployment; anywhere else the Host header is whatever
133
+ // the caller sent — a forged one would mail the victim a link to the attacker's
134
+ // site — so the configured NEXTAUTH_URL wins (read as the deployment set it,
135
+ // before the auth route rewrites it per request).
136
+ function trustedOrigin(req) {
137
+ var headers = (req && req.headers) || {};
138
+ var host = String(headers.host || '');
139
+ var proto = String(headers['x-forwarded-proto'] || (isLoopbackHost(host) ? 'http' : 'https')).split(',')[0].trim();
140
+ var requestOrigin = proto + '://' + host;
141
+ if (process.env.VERCEL && host) return requestOrigin;
142
+ var configured = String(${configured_nextauth_url_1.CONFIGURED_NEXTAUTH_URL_EXPRESSION} || '').trim();
143
+ var origin = '';
144
+ try { origin = configured ? new URL(configured).origin : ''; } catch (e) { origin = ''; }
145
+ if (!origin) return isLoopbackHost(host) ? requestOrigin : 'http://localhost:3000';
146
+ if (isLoopbackHost(host) && isLoopbackHost(new URL(origin).host)) return requestOrigin;
147
+ return origin;
148
+ }`;
149
+ const READ_BODY_CODE = `function readBody(req) {
150
+ var body = req.body;
151
+ if (typeof body === 'string') {
152
+ try { body = JSON.parse(body); } catch (e) { body = null; }
153
+ }
154
+ return body && typeof body === 'object' ? body : {};
155
+ }
156
+
157
+ function sha256(value) {
158
+ return crypto.createHash('sha256').update(String(value)).digest('hex');
159
+ }`;
160
+ const generateForgotPasswordRoute = (options = {}) => {
161
+ const provider = options.emailProvider && transactional_email_code_1.SUPPORTED_EMAIL_PROVIDERS.has(options.emailProvider)
162
+ ? options.emailProvider
163
+ : null;
164
+ const resetPagePath = (0, exports.resolveResetPagePath)(options.resetPagePath);
165
+ return `var crypto = require('crypto');
166
+ var __security = require('${(0, security_runtime_code_1.securityRuntimeSpecifier)('../../..')}');
167
+ var authUtils = require('../../../utils/auth/auth-options');
168
+ ${(0, transactional_email_code_1.generateEmailLocaleRequire)('../../..')}
169
+ ${provider
170
+ ? "var __sentEmailLog = require('../../../utils/email/sent-email-log');"
171
+ : 'var __sentEmailLog = null;'}
172
+
173
+ var RESET_PAGE_PATH = ${JSON.stringify(resetPagePath)};
174
+ // Where the link carries the token (see ForgotPasswordRouteOptions.tokenInFragment).
175
+ var TOKEN_LINK_PREFIX = ${JSON.stringify(options.tokenInFragment ? '#token=' : '?token=')};
176
+ var TOKEN_TTL_SECONDS = ${exports.PASSWORD_RESET_TOKEN_TTL_SECONDS};
177
+ // Every answer takes at least this long, so the time does not tell an address
178
+ // with an account (a link is stored and mailed) from one without.
179
+ var MIN_RESPONSE_MS = 1200;
180
+ var ANSWER = { success: true, message: ${JSON.stringify(exports.FORGOT_PASSWORD_ANSWER)} };
181
+
182
+ var EMAIL_PROVIDER = ${JSON.stringify(provider)};
183
+ var EMAIL_FROM = ${JSON.stringify(options.fromEmail || '')};
184
+ var EMAIL_SECRET_ENV_NAME = ${JSON.stringify(options.emailSecretEnvName || '')};
185
+ var EMAIL_SUBJECT = ${JSON.stringify(options.emailSubject || 'Reset your password')};
186
+ var EMAIL_BODY_HTML = ${JSON.stringify(options.emailBodyHtml || '')};
187
+ var EMAIL_LOCALIZED = ${JSON.stringify(options.localizedTemplates || {})};
188
+ var SITE_NAME = ${JSON.stringify(options.siteName || '')};
189
+
190
+ ${READ_BODY_CODE}
191
+
192
+ ${exports.TRUSTED_ORIGIN_CODE}
193
+
194
+ ${(0, transactional_email_code_1.generateFillTemplateFn)()}
195
+
196
+ ${(0, transactional_email_code_1.generateLocalizedEmailCopyFn)({
197
+ fnName: 'resolveResetEmailCopy',
198
+ subjectConst: 'EMAIL_SUBJECT',
199
+ bodyConst: 'EMAIL_BODY_HTML',
200
+ localizedConst: 'EMAIL_LOCALIZED',
201
+ })}
202
+
203
+ ${(0, transactional_email_code_1.generateProviderSendFunction)(provider)}
204
+
205
+ function waitUntilElapsed(startedAt, ms) {
206
+ var left = ms - (Date.now() - startedAt);
207
+ return left > 0 ? new Promise(function (resolve) { setTimeout(resolve, left); }) : Promise.resolve();
208
+ }
209
+
210
+ // The token, wherever it appears, for what the sent-email log keeps: whoever
211
+ // can read the log must not be able to set the password with it.
212
+ function hideToken(text, token) {
213
+ return String(text == null ? '' : text).split(token).join('[hidden]');
214
+ }
215
+
216
+ async function sendResetEmail(user, resetUrl, token, locale) {
217
+ if (!EMAIL_PROVIDER || !EMAIL_BODY_HTML) {
218
+ console.warn('[forgot-password] reset link not sent: no email provider or email template is configured');
219
+ return;
220
+ }
221
+ var apiKey = EMAIL_SECRET_ENV_NAME ? process.env[EMAIL_SECRET_ENV_NAME] : '';
222
+ if (apiKey && String(apiKey).indexOf('teleporthq.secrets.') === 0) { apiKey = ''; }
223
+ if (!apiKey) { console.warn('[forgot-password] reset link not sent: the email credential is not set'); return; }
224
+ var from = EMAIL_FROM || process.env.EMAIL_FROM || '';
225
+ if (!from) { console.warn('[forgot-password] reset link not sent: no sender is configured'); return; }
226
+ var to = String(user.email);
227
+ var values = {
228
+ resetUrl: resetUrl,
229
+ recipientEmail: to,
230
+ userName: user.name || 'there',
231
+ siteName: SITE_NAME,
232
+ };
233
+ var copy = resolveResetEmailCopy(locale);
234
+ var subject = fillSubjectTemplate(copy.subject, values);
235
+ var html = fillTemplate(copy.body, values);
236
+ var failure = null;
237
+ try {
238
+ await __sendProviderEmail({ from: from, to: to, subject: subject, html: html, apiKey: apiKey });
239
+ } catch (err) {
240
+ failure = err;
241
+ }
242
+ if (__sentEmailLog) {
243
+ __sentEmailLog.recordSentEmail({
244
+ emailType: 'forgot-password',
245
+ audience: 'customer',
246
+ to: to,
247
+ from: from,
248
+ subject: hideToken(subject, token),
249
+ html: hideToken(html, token),
250
+ payload: { resetUrl: hideToken(resetUrl, token), recipientEmail: to },
251
+ provider: EMAIL_PROVIDER,
252
+ status: failure ? 'failed' : 'sent',
253
+ error: failure ? (failure.message || String(failure)) : null,
254
+ source: 'forgot-password',
255
+ sourceRef: 'api/auth/forgot-password',
256
+ userId: user.id,
257
+ });
258
+ await __sentEmailLog.settleSentEmailLog();
259
+ }
260
+ if (failure) { throw failure; }
261
+ }
262
+
263
+ module.exports = async function handler(req, res) {
264
+ if (req.method !== 'POST') {
265
+ return res.status(405).json({ error: 'Method not allowed' });
266
+ }
267
+ if (!(await __security.rateLimitRequest(req, res, { scope: 'auth-forgot-password', limit: ${exports.FORGOT_PASSWORD_VISITOR_LIMIT}, windowSeconds: 3600 }))) {
268
+ return;
269
+ }
270
+ var startedAt = Date.now();
271
+ var body = readBody(req);
272
+ var email = typeof body.email === 'string' ? body.email.trim() : '';
273
+ if (!email || email.length > 254 || !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)) {
274
+ return res.status(400).json({ error: 'Enter a valid email address.' });
275
+ }
276
+
277
+ var user = null;
278
+ try {
279
+ user = await authUtils.findUserByEmail(email);
280
+ } catch (err) {
281
+ return __security.sendClientError(res, 503, 'We could not reach the account service. Please try again in a moment.', err);
282
+ }
283
+
284
+ try {
285
+ // Counted for every address, with an account or without, so neither the
286
+ // answer nor its timing differs.
287
+ var recipient = await __security.rateLimit({
288
+ key: 'auth-forgot-recipient:' + email.toLowerCase(),
289
+ limit: ${exports.FORGOT_PASSWORD_RECIPIENT_LIMIT},
290
+ windowSeconds: 3600,
291
+ });
292
+ var userId = user ? (user.id != null ? user.id : user._id) : null;
293
+ if (user && userId != null && user.email && !recipient.allowed) {
294
+ console.warn('[forgot-password] reset link not sent: this address was sent ${exports.FORGOT_PASSWORD_RECIPIENT_LIMIT} in the last hour');
295
+ } else if (user && userId != null && user.email) {
296
+ if (!authUtils.PASSWORD_RESET_SUPPORTED) {
297
+ console.warn('[forgot-password] reset link not sent: password reset needs a Postgres user store');
298
+ } else {
299
+ var token = crypto.randomBytes(32).toString('hex');
300
+ await authUtils.storePasswordReset(userId, sha256(token), TOKEN_TTL_SECONDS);
301
+ var resetUrl = trustedOrigin(req) + RESET_PAGE_PATH + TOKEN_LINK_PREFIX + token;
302
+ await sendResetEmail(user, resetUrl, token, __emailLocale.resolveRequestLocale(req));
303
+ }
304
+ }
305
+ } catch (err) {
306
+ console.error('[forgot-password] could not send a reset link:', err && err.message ? err.message : err);
307
+ }
308
+
309
+ await waitUntilElapsed(startedAt, MIN_RESPONSE_MS);
310
+ return res.status(200).json(ANSWER);
311
+ };
312
+ `;
313
+ };
314
+ exports.generateForgotPasswordRoute = generateForgotPasswordRoute;
315
+ const generateResetPasswordRoute = () => `var crypto = require('crypto');
316
+ var __security = require('${(0, security_runtime_code_1.securityRuntimeSpecifier)('../../..')}');
317
+ var hashPassword = require('../../../utils/auth/hash-password');
318
+ var authUtils = require('../../../utils/auth/auth-options');
319
+
320
+ // What forgot-password mints: 32 random bytes, hex.
321
+ var TOKEN_PATTERN = /^[0-9a-f]{64}$/;
322
+ var NOT_VALID = { valid: false, changed: false };
323
+
324
+ ${READ_BODY_CODE}
325
+
326
+ // { token, password } sets the password when the link is live, spending it;
327
+ // { token, checkOnly: true } only says whether it is live. A link that is not
328
+ // (expired, spent, superseded, from before these links, or no link at all) is
329
+ // { valid: false, changed: false }.
330
+ module.exports = async function handler(req, res) {
331
+ if (req.method !== 'POST') {
332
+ return res.status(405).json({ error: 'Method not allowed' });
333
+ }
334
+ if (!(await __security.rateLimitRequest(req, res, { scope: 'auth-reset-password', limit: ${exports.RESET_PASSWORD_VISITOR_LIMIT}, windowSeconds: 900 }))) {
335
+ return;
336
+ }
337
+ var body = readBody(req);
338
+ var token = typeof body.token === 'string' ? body.token.trim().toLowerCase() : '';
339
+ if (!TOKEN_PATTERN.test(token)) {
340
+ return res.status(200).json(NOT_VALID);
341
+ }
342
+ var tokenHash = sha256(token);
343
+
344
+ if (body.checkOnly === true) {
345
+ try {
346
+ var live = await authUtils.passwordResetIsLive(tokenHash);
347
+ return res.status(200).json({ valid: live === true, changed: false });
348
+ } catch (err) {
349
+ return __security.sendClientError(res, 503, 'We could not check the reset link. Please try again in a moment.', err);
350
+ }
351
+ }
352
+
353
+ var password = typeof body.password === 'string' ? body.password : '';
354
+ var policyError = hashPassword.passwordPolicyError(password);
355
+ if (policyError) {
356
+ return res.status(400).json({ error: policyError });
357
+ }
358
+ try {
359
+ var account = await authUtils.consumePasswordReset(tokenHash, hashPassword(password));
360
+ if (!account) {
361
+ return res.status(200).json(NOT_VALID);
362
+ }
363
+ // Every session stamped with the old password ends (session-revocation).
364
+ return res.status(200).json({ valid: true, changed: true });
365
+ } catch (err) {
366
+ return __security.sendClientError(res, 503, 'We could not reset the password. Please try again in a moment.', err);
367
+ }
368
+ };
369
+ `;
370
+ exports.generateResetPasswordRoute = generateResetPasswordRoute;
371
+ /** The env var holding the project's own password pepper (provisioned at deploy). */
372
+ exports.AUTH_PEPPER_SECRET_ENV = 'AUTH_PEPPER_SECRET';
373
+ /** The node type whose config carries the reset email (provider, sender, template, page). */
374
+ exports.REQUEST_PASSWORD_RESET_NODE_TYPE = 'account-request-password-reset';
375
+ /** Every config of a node type across the project's workflows and custom nodes. */
376
+ const collectWorkflowNodeConfigs = (workflows, nodeType) => {
377
+ const configs = [];
378
+ for (const group of [workflows === null || workflows === void 0 ? void 0 : workflows.workflows, workflows === null || workflows === void 0 ? void 0 : workflows.customNodes]) {
379
+ if (!group || typeof group !== 'object') {
380
+ continue;
381
+ }
382
+ for (const entry of Object.values(group)) {
383
+ const nodes = entry && Array.isArray(entry.nodes) ? entry.nodes : [];
384
+ for (const node of nodes) {
385
+ if (node && node.type === nodeType) {
386
+ configs.push(node.config || {});
387
+ }
388
+ }
389
+ }
390
+ }
391
+ return configs;
392
+ };
393
+ exports.collectWorkflowNodeConfigs = collectWorkflowNodeConfigs;
394
+ const secretEnvNameOf = (value) => {
395
+ if (typeof value === 'string') {
396
+ return value.startsWith('teleporthq.secrets.')
397
+ ? value.slice('teleporthq.secrets.'.length)
398
+ : value;
399
+ }
400
+ const ref = value;
401
+ return ref && ref.content && ref.content.referenceType === 'secret' && ref.content.id
402
+ ? ref.content.id
403
+ : '';
404
+ };
405
+ /**
406
+ * What every project with password sign-in gets beside its sign-in and sign-up
407
+ * routes: the forgot / reset password routes (the reset email baked from the
408
+ * first `account-request-password-reset` node's config) and an
409
+ * `AUTH_PEPPER_SECRET=` line in `.env`, which the
410
+ * deploy step fills with the project's own pepper (declared empty, never
411
+ * random: a pepper that changed with every generation would lock every user
412
+ * out, while an empty one means the old pepper — see utils/auth/hash-password).
413
+ */
414
+ const emitPasswordAuthFiles = (structure, auth) => {
415
+ const { files, dependencies, uidl } = structure;
416
+ if (!auth.enabled || !auth.passwordAuthEnabled) {
417
+ return;
418
+ }
419
+ const config = (0, exports.collectWorkflowNodeConfigs)(uidl.workflows, exports.REQUEST_PASSWORD_RESET_NODE_TYPE)[0] || {};
420
+ const sender = (0, exports.resetEmailSenderOf)(uidl);
421
+ const emailProvider = sender.emailProvider;
422
+ (0, email_locale_1.ensureEmailLocaleModule)(structure);
423
+ files.set('auth-forgot-password-route', {
424
+ path: ['pages', 'api', 'auth'],
425
+ files: [
426
+ {
427
+ name: exports.FORGOT_PASSWORD_ROUTE_NAME,
428
+ fileType: teleport_types_1.FileType.JS,
429
+ content: (0, exports.generateForgotPasswordRoute)(Object.assign(Object.assign(Object.assign({}, (0, exports.resetLinkOf)(uidl)), sender), { emailSubject: typeof config.subject === 'string' ? config.subject : '', emailBodyHtml: typeof config.body === 'string' ? config.body : '', localizedTemplates: (0, transactional_email_code_1.readLocalizedEmailTemplates)(config.localizedTemplates), siteName: uidl.name || '' })),
430
+ },
431
+ ],
432
+ });
433
+ files.set('auth-reset-password-route', {
434
+ path: ['pages', 'api', 'auth'],
435
+ files: [
436
+ {
437
+ name: exports.RESET_PASSWORD_ROUTE_NAME,
438
+ fileType: teleport_types_1.FileType.JS,
439
+ content: (0, exports.generateResetPasswordRoute)(),
440
+ },
441
+ ],
442
+ });
443
+ const providerDeps = (0, transactional_email_code_1.transactionalEmailDependencies)(emailProvider);
444
+ for (const [pkg, version] of Object.entries(providerDeps)) {
445
+ if (!dependencies[pkg]) {
446
+ dependencies[pkg] = version;
447
+ }
448
+ }
449
+ if (Object.keys(providerDeps).length > 0) {
450
+ (0, sent_email_log_1.ensureSentEmailLogModule)(structure);
451
+ }
452
+ if (uidl.globals) {
453
+ uidl.globals.env = uidl.globals.env || {};
454
+ if (typeof uidl.globals.env[exports.AUTH_PEPPER_SECRET_ENV] !== 'string') {
455
+ uidl.globals.env[exports.AUTH_PEPPER_SECRET_ENV] = '';
456
+ }
457
+ }
458
+ };
459
+ exports.emitPasswordAuthFiles = emitPasswordAuthFiles;
460
+ //# sourceMappingURL=password-reset-route-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-reset-route-generator.js","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"payment-core-code.d.ts","sourceRoot":"","sources":["../../../src/payments/payment-core-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,cACxB,0BAA0B,KACnC,MAgZF,CAAA"}
1
+ {"version":3,"file":"payment-core-code.d.ts","sourceRoot":"","sources":["../../../src/payments/payment-core-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,cACxB,0BAA0B,KACnC,MAqZF,CAAA"}
@@ -42,9 +42,10 @@ function usable(value) {
42
42
  }
43
43
 
44
44
  /**
45
- * The first usable variable among \`names\`, else the first whose name
46
- * starts with \`prefix\`: the editor stores a credential under a
47
- * CONFIGURATION_* name that a second save may number (…_KEY2).
45
+ * The first usable variable among \`names\`, else a NUMBERED copy of
46
+ * \`prefix\`: the editor stores a credential under a CONFIGURATION_* name that
47
+ * a second save numbers (…_KEY2); the highest number is the newest. Never a
48
+ * variable that merely starts with the name (…_KEY_OLDSHOP).
48
49
  */
49
50
  function env(names, prefix) {
50
51
  var values = process.env;
@@ -54,16 +55,20 @@ function env(names, prefix) {
54
55
  return value;
55
56
  }
56
57
  }
58
+ var best = '';
59
+ var bestNumber = -1;
57
60
  if (prefix) {
58
61
  var keys = Object.keys(values);
59
62
  for (var k = 0; k < keys.length; k++) {
60
- var candidate = keys[k].indexOf(prefix) === 0 ? usable(values[keys[k]]) : '';
61
- if (candidate) {
62
- return candidate;
63
+ var suffix = keys[k].indexOf(prefix) === 0 ? keys[k].slice(prefix.length) : '';
64
+ var candidate = /^[0-9]+$/.test(suffix) ? usable(values[keys[k]]) : '';
65
+ if (candidate && parseInt(suffix, 10) > bestNumber) {
66
+ best = candidate;
67
+ bestNumber = parseInt(suffix, 10);
63
68
  }
64
69
  }
65
70
  }
66
- return '';
71
+ return best;
67
72
  }
68
73
 
69
74
  /** "clientSecret" -> "CLIENT_SECRET", the editor's secret naming. */
@@ -1 +1 @@
1
- {"version":3,"file":"payment-core-code.js","sourceRoot":"","sources":["../../../src/payments/payment-core-code.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;GAeG;AACI,MAAM,uBAAuB,GAAG,CACrC,WAAuC,EAAE,EACjC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAyDgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuVpD,CAAA;AAlZY,QAAA,uBAAuB,2BAkZnC"}
1
+ {"version":3,"file":"payment-core-code.js","sourceRoot":"","sources":["../../../src/payments/payment-core-code.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;GAeG;AACI,MAAM,uBAAuB,GAAG,CACrC,WAAuC,EAAE,EACjC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA8DgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuVpD,CAAA;AAvZY,QAAA,uBAAuB,2BAuZnC"}
@@ -0,0 +1,11 @@
1
+ import { CodegenSecurityViolation } from './security-scanner';
2
+ export declare const findProjectCodeViolations: (uidl: {
3
+ root?: unknown;
4
+ components?: Record<string, unknown>;
5
+ }) => CodegenSecurityViolation[];
6
+ /** Throws `CodegenSecurityError` when a page or component carries such code. */
7
+ export declare const assertProjectCodeIsSecure: (uidl: {
8
+ root?: unknown;
9
+ components?: Record<string, unknown>;
10
+ }) => void;
11
+ //# sourceMappingURL=project-code-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-code-scanner.d.ts","sourceRoot":"","sources":["../../src/project-code-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAEzB,MAAM,oBAAoB,CAAA;AA8B3B,eAAO,MAAM,yBAAyB,SAAU;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,KAAG,wBAAwB,EAiD3B,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,SAAU;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,KAAG,IAKH,CAAA"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertProjectCodeIsSecure = exports.findProjectCodeViolations = void 0;
4
+ const security_scanner_1 = require("./security-scanner");
5
+ /**
6
+ * Author code a published page runs on the server beside its workflows, read
7
+ * from the UIDL before any of it is emitted (`NextWorkflowProjectPlugin.runBefore`):
8
+ *
9
+ * - a state's mapping function (`mappingFunction`): a page's `getStaticProps`
10
+ * compiles it with `Function('items', …)` at build and on every revalidation
11
+ * (teleport-project-generator-next `state-data-source-plugin.ts`);
12
+ * - an expression node (`{ type: 'expr', content }`, an element's text, an
13
+ * attribute, a condition): it is written into the page's JSX, which Next
14
+ * prerenders in Node with the deploy's environment (an object is written as
15
+ * JSON, so a bare `process.env` would print every variable), and the invoice
16
+ * PDF route evaluates the template's.
17
+ *
18
+ * Both are held to the custom-code rules (`scanForObviousViolations`, the same
19
+ * scanner custom-JS steps are), as the editor's publish gate holds them to its
20
+ * own (teleport-gui `workflow-schema/src/security/scan-server-sources.ts`). The
21
+ * whole tree is read, however deep it nests.
22
+ */
23
+ const describeOwner = (ownerName, record) => typeof record.name === 'string' && record.name.trim() ? record.name.trim() : ownerName;
24
+ const findProjectCodeViolations = (uidl) => {
25
+ const violations = [];
26
+ const seen = new Set();
27
+ const report = (ownerName, nodeId, what, code) => {
28
+ for (const finding of (0, security_scanner_1.scanForObviousViolations)(code)) {
29
+ violations.push({
30
+ workflowId: ownerName,
31
+ workflowName: ownerName,
32
+ nodeId,
33
+ rule: finding.rule,
34
+ message: `${what} ${finding.message}`,
35
+ });
36
+ }
37
+ };
38
+ const pending = [{ value: uidl.root, ownerName: 'the pages', path: 'root' }];
39
+ for (const [componentName, component] of Object.entries(uidl.components || {})) {
40
+ pending.push({
41
+ value: component,
42
+ ownerName: componentName,
43
+ path: `components.${componentName}`,
44
+ });
45
+ }
46
+ // An explicit stack, not recursion: no nesting depth is skipped.
47
+ while (pending.length > 0) {
48
+ const { value, ownerName, path } = pending.pop();
49
+ if (!value || typeof value !== 'object' || seen.has(value)) {
50
+ continue;
51
+ }
52
+ seen.add(value);
53
+ if (Array.isArray(value)) {
54
+ value.forEach((item, index) => pending.push({ value: item, ownerName, path: `${path}.${index}` }));
55
+ continue;
56
+ }
57
+ const record = value;
58
+ if (typeof record.mappingFunction === 'string' && record.mappingFunction.trim()) {
59
+ report(ownerName, `${path}.mappingFunction`, 'the mapping function', record.mappingFunction);
60
+ }
61
+ if (record.type === 'expr' && typeof record.content === 'string' && record.content.trim()) {
62
+ report(ownerName, `${path}.content`, 'an expression', record.content);
63
+ }
64
+ const childOwner = describeOwner(ownerName, record);
65
+ for (const key of Object.keys(record)) {
66
+ pending.push({ value: record[key], ownerName: childOwner, path: `${path}.${key}` });
67
+ }
68
+ }
69
+ return violations;
70
+ };
71
+ exports.findProjectCodeViolations = findProjectCodeViolations;
72
+ /** Throws `CodegenSecurityError` when a page or component carries such code. */
73
+ const assertProjectCodeIsSecure = (uidl) => {
74
+ const violations = (0, exports.findProjectCodeViolations)(uidl);
75
+ if (violations.length > 0) {
76
+ throw new security_scanner_1.CodegenSecurityError(violations);
77
+ }
78
+ };
79
+ exports.assertProjectCodeIsSecure = assertProjectCodeIsSecure;
80
+ //# sourceMappingURL=project-code-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-code-scanner.js","sourceRoot":"","sources":["../../src/project-code-scanner.ts"],"names":[],"mappings":"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"}