@teleporthq/teleport-plugin-next-workflows 0.44.10 → 0.44.17

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 +225 -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 +46 -8
  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 +221 -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 +46 -8
  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 +218 -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 +48 -8
  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 +254 -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,122 @@
1
+ import { UIDLAuthentication } from '@teleporthq/teleport-types';
2
+ /**
3
+ * Steps no visitor may run, refused at generation when their workflow's route
4
+ * answers callers it should not.
5
+ *
6
+ * - `push-send-notification` sends to every subscriber of the site (or to one
7
+ * user's browsers), with a title, text and link the workflow fills in.
8
+ * - The runtime-storage file steps act on ANY file of the project with the
9
+ * project's storage key: the storage worker keeps no owner per file, and a
10
+ * file's id is in its public address.
11
+ *
12
+ * Who may run them:
13
+ *
14
+ * - Sending a push, deleting or listing files (`STAFF`): only this
15
+ * deployment's own server code — a route that is `serverOnly`, a cron (signed
16
+ * by the crons worker), an automation (the in-app event bus), a webhook that
17
+ * verifies its signature — or a route that requires a session with a named
18
+ * staff role: every role it admits is one of the project's staff roles (the
19
+ * admin panel's and `admin`, `TableAccess.resolveStaffRoles`, the rule the
20
+ * data API uses). "Any signed-in user" is not enough: on a site with open
21
+ * sign-up that is one sign-up away from anyone.
22
+ * - Reading one file's details (`SESSION`): the same, or any session — a
23
+ * private file comes back without an address, and a public one is public.
24
+ *
25
+ * A custom node only server code may call (`serverOnly`) runs in its CALLERS'
26
+ * server segments with this deployment's credentials, so it is as reachable
27
+ * as its most reachable caller: a public page's workflow calling it can replay
28
+ * its push or its delete.
29
+ *
30
+ * The refusal is thrown before any code is emitted, the way the raw-SQL and
31
+ * custom-code gates refuse; the editor shows its `message` (see
32
+ * {@link PublicStepRefusalError}). Disabled workflows are checked too: the
33
+ * generator emits every workflow it is given.
34
+ */
35
+ export declare const PUBLIC_STEP_REFUSAL_CODE = "PUBLIC_STEP_REFUSED";
36
+ export declare const PUBLIC_RESTRICTED_STEP_TYPES: ReadonlyArray<string>;
37
+ export interface PublicStepRefusal {
38
+ /** The workflow's id, or the custom node's. */
39
+ ownerId: string;
40
+ ownerName: string;
41
+ ownerKind: 'workflow' | 'custom-node';
42
+ nodeId: string;
43
+ nodeType: string;
44
+ stepName: string;
45
+ /** For a server-only custom node: the caller that makes it reachable. */
46
+ calledFrom?: string;
47
+ /**
48
+ * Who can start the route today: absent for anyone, `[]` for any session,
49
+ * else the roles it admits (none of them all staff).
50
+ */
51
+ admits?: string[];
52
+ }
53
+ /** One line of plain prose, for the person publishing. */
54
+ export declare const describePublicStepRefusals: (refusals: PublicStepRefusal[], staffRoles?: string[]) => string;
55
+ /**
56
+ * Thrown when a restricted step sits on a route that answers callers it should
57
+ * not. Its message carries a JSON body whose `message` is one sentence for the
58
+ * person publishing — the editor's publish flow shows exactly that sentence
59
+ * ("Publishing failed. …") instead of its "contact support" notice, the same
60
+ * contract a server refusal uses (`getApiErrorMessage`). `refusals` lists
61
+ * every refused step.
62
+ */
63
+ export declare class PublicStepRefusalError extends Error {
64
+ readonly code = "PUBLIC_STEP_REFUSED";
65
+ readonly refusals: PublicStepRefusal[];
66
+ constructor(refusals: PublicStepRefusal[], staffRoles?: string[]);
67
+ }
68
+ interface NodeLike {
69
+ id?: string;
70
+ type?: string;
71
+ name?: string;
72
+ label?: string;
73
+ config?: Record<string, unknown>;
74
+ }
75
+ interface WorkflowLike {
76
+ name?: string;
77
+ nodes?: NodeLike[];
78
+ trigger?: {
79
+ type?: string;
80
+ };
81
+ webhookConfig?: {
82
+ verifySignature?: boolean;
83
+ };
84
+ protection?: RoutePolicyLike;
85
+ }
86
+ /** The fields of a route's policy (`UIDLWorkflowProtection`) that gate its callers. */
87
+ interface RoutePolicyLike {
88
+ requiresAuth?: boolean;
89
+ allowedRoles?: string[];
90
+ serverOnly?: boolean;
91
+ }
92
+ interface WorkflowsLike {
93
+ workflows?: Record<string, WorkflowLike>;
94
+ customNodes?: Record<string, WorkflowLike>;
95
+ }
96
+ export interface PublicStepGuardOptions {
97
+ /** The project's staff roles; `['admin']` when not given. */
98
+ staffRoles?: string[];
99
+ }
100
+ /** Every restricted step on a route that answers callers it should not (custom nodes included). */
101
+ export declare const findPublicRestrictedSteps: (workflows: WorkflowsLike | undefined, options?: PublicStepGuardOptions) => PublicStepRefusal[];
102
+ /** How reachable one custom node's push and file steps are, with the roles a session reach admits. */
103
+ export interface CustomNodeStepReach {
104
+ access: 'public' | 'session' | 'staff' | 'server';
105
+ admits?: string[];
106
+ }
107
+ /**
108
+ * The reach `findPublicRestrictedSteps` judges one custom node's steps by: its
109
+ * own policy, or — when it is server-only — its least-guarded caller's,
110
+ * workflows and custom nodes alike (`customNodeReach`). The editor's workflow
111
+ * agents read it (teleport-gui `workflow-route-access.ts`), so they refuse what
112
+ * the publish refuses.
113
+ */
114
+ export declare const customNodeStepReach: (workflows: WorkflowsLike, customNodeId: string, options?: PublicStepGuardOptions) => CustomNodeStepReach;
115
+ /**
116
+ * Throws {@link PublicStepRefusalError} when any restricted step sits on a
117
+ * route that answers callers it should not. The staff roles are the project's
118
+ * (`TableAccess.resolveStaffRoles(authentication)`).
119
+ */
120
+ export declare const assertNoPublicRestrictedSteps: (workflows: WorkflowsLike | undefined, authentication?: UIDLAuthentication | null) => void;
121
+ export {};
122
+ //# sourceMappingURL=public-step-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-step-guards.d.ts","sourceRoot":"","sources":["../../src/public-step-guards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,eAAO,MAAM,wBAAwB,wBAAwB,CAAA;AAY7D,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,MAAM,CAAiC,CAAA;AAEhG,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,UAAU,GAAG,aAAa,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAqCD,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,aAC3B,iBAAiB,EAAE,eACjB,MAAM,EAAE,KACnB,MA0BF,CAAA;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,yBAA2B;IACxC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;gBAE1B,QAAQ,EAAE,iBAAiB,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE;CAajE;AAED,UAAU,QAAQ;IAChB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,aAAa,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC7C,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B;AAED,uFAAuF;AACvF,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAC3C;AA6LD,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,mGAAmG;AACnG,eAAO,MAAM,yBAAyB,cACzB,aAAa,GAAG,SAAS,YAC3B,sBAAsB,KAC9B,iBAAiB,EAoBnB,CAAA;AAED,sGAAsG;AACtG,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;IACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,cACnB,aAAa,gBACV,MAAM,YACX,sBAAsB,KAC9B,mBAIF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,cAC7B,aAAa,GAAG,SAAS,mBACnB,kBAAkB,GAAG,IAAI,KACzC,IAMF,CAAA"}
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertNoPublicRestrictedSteps = exports.customNodeStepReach = exports.findPublicRestrictedSteps = exports.PublicStepRefusalError = exports.describePublicStepRefusals = exports.PUBLIC_RESTRICTED_STEP_TYPES = exports.PUBLIC_STEP_REFUSAL_CODE = void 0;
4
+ const teleport_shared_1 = require("@teleporthq/teleport-shared");
5
+ const automations_scope_1 = require("./automations/automations-scope");
6
+ const payments_1 = require("./payments");
7
+ /**
8
+ * Steps no visitor may run, refused at generation when their workflow's route
9
+ * answers callers it should not.
10
+ *
11
+ * - `push-send-notification` sends to every subscriber of the site (or to one
12
+ * user's browsers), with a title, text and link the workflow fills in.
13
+ * - The runtime-storage file steps act on ANY file of the project with the
14
+ * project's storage key: the storage worker keeps no owner per file, and a
15
+ * file's id is in its public address.
16
+ *
17
+ * Who may run them:
18
+ *
19
+ * - Sending a push, deleting or listing files (`STAFF`): only this
20
+ * deployment's own server code — a route that is `serverOnly`, a cron (signed
21
+ * by the crons worker), an automation (the in-app event bus), a webhook that
22
+ * verifies its signature — or a route that requires a session with a named
23
+ * staff role: every role it admits is one of the project's staff roles (the
24
+ * admin panel's and `admin`, `TableAccess.resolveStaffRoles`, the rule the
25
+ * data API uses). "Any signed-in user" is not enough: on a site with open
26
+ * sign-up that is one sign-up away from anyone.
27
+ * - Reading one file's details (`SESSION`): the same, or any session — a
28
+ * private file comes back without an address, and a public one is public.
29
+ *
30
+ * A custom node only server code may call (`serverOnly`) runs in its CALLERS'
31
+ * server segments with this deployment's credentials, so it is as reachable
32
+ * as its most reachable caller: a public page's workflow calling it can replay
33
+ * its push or its delete.
34
+ *
35
+ * The refusal is thrown before any code is emitted, the way the raw-SQL and
36
+ * custom-code gates refuse; the editor shows its `message` (see
37
+ * {@link PublicStepRefusalError}). Disabled workflows are checked too: the
38
+ * generator emits every workflow it is given.
39
+ */
40
+ exports.PUBLIC_STEP_REFUSAL_CODE = 'PUBLIC_STEP_REFUSED';
41
+ /** What each refused step does, in the words the editor shows, and who may run it. */
42
+ const RESTRICTED_STEPS = {
43
+ 'push-send-notification': { does: 'sends a push notification', gate: 'staff' },
44
+ 'file-storage-delete': { does: 'deletes a stored file', gate: 'staff' },
45
+ 'file-storage-list': { does: 'lists the stored files', gate: 'staff' },
46
+ 'file-storage-get-details': { does: "reads a stored file's details", gate: 'session' },
47
+ };
48
+ exports.PUBLIC_RESTRICTED_STEP_TYPES = Object.keys(RESTRICTED_STEPS);
49
+ /** The longest sentence the editor shows as it is (`getApiErrorMessage` in teleport-gui). */
50
+ const MAX_SENTENCE_LENGTH = 400;
51
+ const LISTED_STEPS = 3;
52
+ const quote = (text) => `"${text.replace(/["\r\n]+/g, ' ').trim()}"`;
53
+ const quoteList = (values) => values.map(quote).join(' or ');
54
+ /** Who can start the step's route today, in words. */
55
+ const whoCanStart = (refusal) => refusal.admits === undefined
56
+ ? 'any visitor'
57
+ : refusal.admits.length === 0
58
+ ? 'anyone signed in'
59
+ : `anyone with the role ${quoteList(refusal.admits)}`;
60
+ const describe = (refusal) => `${quote(refusal.stepName)} (${RESTRICTED_STEPS[refusal.nodeType].does}) in ${refusal.ownerKind === 'custom-node' ? 'the custom node' : 'the workflow'} ${quote(refusal.ownerName)}${refusal.calledFrom ? `, started from ${quote(refusal.calledFrom)}` : ''}, which ${whoCanStart(refusal)} can start`;
61
+ /**
62
+ * What to change: the roles that count as staff here (the admin panel's and
63
+ * `admin`), and how a role becomes one — by the admin-panel pages admitting it.
64
+ */
65
+ const adviceFor = (staffRoles) => `Only an admin or your server should run it: let only the role ${quoteList(staffRoles.length > 0 ? staffRoles : [teleport_shared_1.TableAccess.ADMIN_ROLE])} start it (another role counts once your admin-panel pages admit it), or move it into a scheduled, signed webhook or automation workflow, then publish again.`;
66
+ const SHORT_ADVICE = 'Let only an admin role start it (a role your admin-panel pages admit), or move it into a scheduled, signed webhook or automation workflow, then publish again.';
67
+ /** One line of plain prose, for the person publishing. */
68
+ const describePublicStepRefusals = (refusals, staffRoles = [teleport_shared_1.TableAccess.ADMIN_ROLE]) => {
69
+ const advice = adviceFor(staffRoles);
70
+ const listed = refusals.slice(0, LISTED_STEPS).map(describe);
71
+ const more = refusals.length - listed.length;
72
+ const subject = refusals.length === 1
73
+ ? `On your site the step ${listed[0]}.`
74
+ : `On your site ${refusals.length} steps meant only for an admin or your own server can be started by others: ${listed.join('; ')}${more > 0 ? `; and ${more} more` : ''}.`;
75
+ for (const candidate of [
76
+ `${subject} ${advice}`,
77
+ `${subject} ${SHORT_ADVICE}`,
78
+ `On your site the step ${describe(refusals[0])}${refusals.length > 1 ? `, and ${refusals.length - 1} more` : ''}. ${SHORT_ADVICE}`,
79
+ ]) {
80
+ if (candidate.length <= MAX_SENTENCE_LENGTH) {
81
+ return candidate;
82
+ }
83
+ }
84
+ return `On your site ${refusals.length === 1 ? 'a step' : `${refusals.length} steps`} meant only for an admin or your own server (a push notification or a stored-file step) can be started by others. ${SHORT_ADVICE}`;
85
+ };
86
+ exports.describePublicStepRefusals = describePublicStepRefusals;
87
+ /**
88
+ * Thrown when a restricted step sits on a route that answers callers it should
89
+ * not. Its message carries a JSON body whose `message` is one sentence for the
90
+ * person publishing — the editor's publish flow shows exactly that sentence
91
+ * ("Publishing failed. …") instead of its "contact support" notice, the same
92
+ * contract a server refusal uses (`getApiErrorMessage`). `refusals` lists
93
+ * every refused step.
94
+ */
95
+ class PublicStepRefusalError extends Error {
96
+ constructor(refusals, staffRoles) {
97
+ super(`Publishing refused: ${JSON.stringify({
98
+ code: exports.PUBLIC_STEP_REFUSAL_CODE,
99
+ message: (0, exports.describePublicStepRefusals)(refusals, staffRoles),
100
+ steps: refusals.map((r) => ({ owner: r.ownerId, node: r.nodeId, type: r.nodeType })),
101
+ })}`);
102
+ this.code = exports.PUBLIC_STEP_REFUSAL_CODE;
103
+ // `extends Error` loses the prototype when downlevelled to ES5.
104
+ Object.setPrototypeOf(this, PublicStepRefusalError.prototype);
105
+ this.name = 'PublicStepRefusalError';
106
+ this.refusals = refusals;
107
+ }
108
+ }
109
+ exports.PublicStepRefusalError = PublicStepRefusalError;
110
+ const ACCESS_ORDER = ['public', 'session', 'staff', 'server'];
111
+ const lessGuarded = (a, b) => ACCESS_ORDER.indexOf(a) <= ACCESS_ORDER.indexOf(b) ? a : b;
112
+ const allows = (access, gate) => access === 'server' || access === 'staff' || (gate === 'session' && access === 'session');
113
+ const policyAccess = (protection, staffRoles) => {
114
+ if (!protection) {
115
+ return 'public';
116
+ }
117
+ if (protection.serverOnly === true) {
118
+ return 'server';
119
+ }
120
+ if (protection.requiresAuth === true) {
121
+ const roles = Array.isArray(protection.allowedRoles) ? protection.allowedRoles : [];
122
+ return roles.length > 0 && roles.every((role) => staffRoles.has(role)) ? 'staff' : 'session';
123
+ }
124
+ return 'public';
125
+ };
126
+ /** Who can make the route(s) a workflow compiles to run. */
127
+ const workflowAccess = (workflow, staffRoles) => {
128
+ // An automation runs in the in-app event bus, from this deployment's own code.
129
+ if ((0, automations_scope_1.isAutomationWorkflow)(workflow)) {
130
+ return 'server';
131
+ }
132
+ const triggerType = workflow.trigger && workflow.trigger.type;
133
+ // A cron route refuses every request the crons worker did not sign.
134
+ if (triggerType === 'event-cron-triggered') {
135
+ return 'server';
136
+ }
137
+ // A webhook route is the trigger's own: guarded only when it checks a signature.
138
+ if (triggerType === 'event-webhook-received' && workflow.webhookConfig) {
139
+ return (0, payments_1.isPaymentWebhookConfig)(workflow.webhookConfig) ||
140
+ workflow.webhookConfig.verifySignature === true
141
+ ? 'server'
142
+ : 'public';
143
+ }
144
+ return policyAccess(workflow.protection, staffRoles);
145
+ };
146
+ const calledCustomNodeIds = (owner) => (owner.nodes || [])
147
+ .filter((node) => !!node && node.type === 'general-custom-node')
148
+ .map((node) => (node.config || {}).customNodeId || (node.config || {}).customWorkflowNodeId)
149
+ .filter((id) => typeof id === 'string' && id.length > 0);
150
+ /** How reachable a workflow's route is, with the roles it admits when a session is enough. */
151
+ const workflowReach = (workflow, staffRoles) => {
152
+ const access = workflowAccess(workflow, staffRoles);
153
+ return access === 'session'
154
+ ? { access, admits: (workflow.protection && workflow.protection.allowedRoles) || [] }
155
+ : { access };
156
+ };
157
+ /**
158
+ * How reachable each custom node's steps are: a custom node with a policy of
159
+ * its own is called by the browser and its route answers by that policy; a
160
+ * server-only one runs in its callers' server segments, so it is as reachable
161
+ * as its most reachable caller (a workflow, or another custom node, the same
162
+ * way). Server-only with no caller: only server code reaches it.
163
+ */
164
+ const customNodeReach = (workflows, staffRoles) => {
165
+ const customNodes = workflows.customNodes || {};
166
+ const callers = {};
167
+ const reach = {};
168
+ const resolving = new Set();
169
+ const reachOf = (customNodeId) => {
170
+ if (reach[customNodeId]) {
171
+ return reach[customNodeId];
172
+ }
173
+ const customNode = customNodes[customNodeId];
174
+ const own = policyAccess(customNode && customNode.protection, staffRoles);
175
+ if (own !== 'server') {
176
+ reach[customNodeId] =
177
+ own === 'session'
178
+ ? {
179
+ access: own,
180
+ admits: (customNode.protection && customNode.protection.allowedRoles) || [],
181
+ }
182
+ : { access: own };
183
+ return reach[customNodeId];
184
+ }
185
+ if (resolving.has(customNodeId)) {
186
+ // A cycle back to itself adds no caller of its own.
187
+ return { access: own };
188
+ }
189
+ resolving.add(customNodeId);
190
+ let result = { access: 'server' };
191
+ for (const caller of callers[customNodeId] || []) {
192
+ const callerReach = caller.reach();
193
+ const access = lessGuarded(result.access, callerReach.access);
194
+ if (access !== result.access) {
195
+ result = Object.assign({ access, via: callerReach.via || caller.name }, (callerReach.admits ? { admits: callerReach.admits } : {}));
196
+ }
197
+ }
198
+ resolving.delete(customNodeId);
199
+ reach[customNodeId] = result;
200
+ return result;
201
+ };
202
+ for (const [workflowId, workflow] of Object.entries(workflows.workflows || {})) {
203
+ if (!workflow) {
204
+ continue;
205
+ }
206
+ for (const id of calledCustomNodeIds(workflow)) {
207
+ ;
208
+ (callers[id] = callers[id] || []).push({
209
+ name: workflow.name || workflowId,
210
+ reach: () => workflowReach(workflow, staffRoles),
211
+ });
212
+ }
213
+ }
214
+ for (const [callerId, caller] of Object.entries(customNodes)) {
215
+ if (!caller) {
216
+ continue;
217
+ }
218
+ for (const id of calledCustomNodeIds(caller)) {
219
+ ;
220
+ (callers[id] = callers[id] || []).push({
221
+ name: caller.name || callerId,
222
+ reach: () => reachOf(callerId),
223
+ });
224
+ }
225
+ }
226
+ for (const id of Object.keys(customNodes)) {
227
+ reachOf(id);
228
+ }
229
+ return reach;
230
+ };
231
+ const collectFrom = (owners, ownerKind, reachOf, out) => {
232
+ for (const [ownerId, owner] of Object.entries(owners || {})) {
233
+ if (!owner || !Array.isArray(owner.nodes)) {
234
+ continue;
235
+ }
236
+ const restricted = owner.nodes.filter((node) => !!node && typeof node.type === 'string' && node.type in RESTRICTED_STEPS);
237
+ if (restricted.length === 0) {
238
+ continue;
239
+ }
240
+ const reach = reachOf(ownerId, owner);
241
+ for (const node of restricted) {
242
+ if (allows(reach.access, RESTRICTED_STEPS[node.type].gate)) {
243
+ continue;
244
+ }
245
+ out.push(Object.assign(Object.assign({ ownerId, ownerName: owner.name || ownerId, ownerKind, nodeId: node.id || '?', nodeType: node.type, stepName: node.name || node.label || node.type }, (reach.via ? { calledFrom: reach.via } : {})), (reach.access === 'session' ? { admits: reach.admits || [] } : {})));
246
+ }
247
+ }
248
+ };
249
+ /** Every restricted step on a route that answers callers it should not (custom nodes included). */
250
+ const findPublicRestrictedSteps = (workflows, options = {}) => {
251
+ const refusals = [];
252
+ if (!workflows) {
253
+ return refusals;
254
+ }
255
+ const staffRoles = new Set(options.staffRoles || [teleport_shared_1.TableAccess.ADMIN_ROLE]);
256
+ collectFrom(workflows.workflows, 'workflow', (_id, workflow) => workflowReach(workflow, staffRoles), refusals);
257
+ const reach = customNodeReach(workflows, staffRoles);
258
+ collectFrom(workflows.customNodes, 'custom-node', (id) => reach[id] || { access: 'public' }, refusals);
259
+ return refusals;
260
+ };
261
+ exports.findPublicRestrictedSteps = findPublicRestrictedSteps;
262
+ /**
263
+ * The reach `findPublicRestrictedSteps` judges one custom node's steps by: its
264
+ * own policy, or — when it is server-only — its least-guarded caller's,
265
+ * workflows and custom nodes alike (`customNodeReach`). The editor's workflow
266
+ * agents read it (teleport-gui `workflow-route-access.ts`), so they refuse what
267
+ * the publish refuses.
268
+ */
269
+ const customNodeStepReach = (workflows, customNodeId, options = {}) => {
270
+ const staffRoles = new Set(options.staffRoles || [teleport_shared_1.TableAccess.ADMIN_ROLE]);
271
+ const reach = customNodeReach(workflows, staffRoles)[customNodeId] || { access: 'public' };
272
+ return Object.assign({ access: reach.access }, (reach.admits ? { admits: reach.admits } : {}));
273
+ };
274
+ exports.customNodeStepReach = customNodeStepReach;
275
+ /**
276
+ * Throws {@link PublicStepRefusalError} when any restricted step sits on a
277
+ * route that answers callers it should not. The staff roles are the project's
278
+ * (`TableAccess.resolveStaffRoles(authentication)`).
279
+ */
280
+ const assertNoPublicRestrictedSteps = (workflows, authentication) => {
281
+ const staffRoles = teleport_shared_1.TableAccess.resolveStaffRoles(authentication);
282
+ const refusals = (0, exports.findPublicRestrictedSteps)(workflows, { staffRoles });
283
+ if (refusals.length > 0) {
284
+ throw new PublicStepRefusalError(refusals, staffRoles);
285
+ }
286
+ };
287
+ exports.assertNoPublicRestrictedSteps = assertNoPublicRestrictedSteps;
288
+ //# sourceMappingURL=public-step-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-step-guards.js","sourceRoot":"","sources":["../../src/public-step-guards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { UIDLAuthentication, UIDLWorkflowNode, UIDLWorkflowProtection, UIDLWorkflows } from '@teleporthq/teleport-types';
2
+ import { SegmentTrust } from './segment-trust';
3
+ import { WorkflowSegment } from './types';
4
+ /**
5
+ * Every refusal this code generator makes over a project's workflows at
6
+ * publish, in ONE place. `workflow-project-plugin` makes them through
7
+ * `assertWorkflowPublishGates` (before any code is emitted) and
8
+ * `assertSegmentRouteGates` (as it emits each server segment route), throwing
9
+ * the first; the editor asks `collectWorkflowPublishRefusals`, which runs the
10
+ * same checks over the same routes and reports every refused step, before an
11
+ * AI write lands and before a publish goes out (teleport-gui
12
+ * `publish-refusal-checks.ts`). A new workflow refusal is added here, to the
13
+ * gates below, so the editor's assistant applies it with no change of its own.
14
+ *
15
+ * Two kinds:
16
+ * - `refused`: the export stops (raw SQL a value cannot be bound into, custom
17
+ * code naming a platform secret, a push or stored-file step on a route
18
+ * callers it should not serve can start, a recorded event fed by a browser
19
+ * value);
20
+ * - `never-sends`: the export goes on, but an email or SMS step that sends only
21
+ * the visitor's input to an address the visitor supplies, or takes its sender
22
+ * from the visitor, is refused at run time (`outbound-message-guard.ts`).
23
+ */
24
+ export type WorkflowPublishRefusalKind = 'refused' | 'never-sends';
25
+ export interface WorkflowPublishRefusal {
26
+ kind: WorkflowPublishRefusalKind;
27
+ /** Which of the generator's checks refused it. */
28
+ check: string;
29
+ /** The workflow's id, or the custom node's. */
30
+ ownerId: string;
31
+ ownerKind: 'workflow' | 'custom-node';
32
+ /** The refused step; absent when the check names it only in `message`. */
33
+ nodeId?: string;
34
+ /** One sentence for the owner, in the generator's words. */
35
+ message: string;
36
+ }
37
+ type Refusal = Omit<WorkflowPublishRefusal, 'kind' | 'check'>;
38
+ /** R-N23: what the owner is told about a newsletter sign-up step anywhere else. */
39
+ export declare const NEWSLETTER_SIGNUP_REFUSAL_MESSAGE = "The newsletter sign-up step runs only when a visitor submits a form.";
40
+ export declare class NewsletterSignupRefusalError extends Error {
41
+ readonly code = "NEWSLETTER_SIGNUP_REFUSED";
42
+ constructor(refusals: Refusal[]);
43
+ }
44
+ /** The plugin's gates over the workflow block, before any code is emitted: throws the first refusal. */
45
+ export declare const assertWorkflowPublishGates: (workflows: UIDLWorkflows | undefined, authentication?: UIDLAuthentication | null) => void;
46
+ export interface SegmentRouteGateOptions {
47
+ /** The workflow's or custom node's name. */
48
+ owner: string;
49
+ /** Its nodes, for the step names. */
50
+ graphNodes?: UIDLWorkflowNode[];
51
+ protection?: UIDLWorkflowProtection;
52
+ /** The roles only the business's staff hold (`TableAccess.resolveStaffRoles`). */
53
+ staffRoles?: string[];
54
+ }
55
+ /** The checks the plugin makes as it emits one server segment route: throws the first refusal. */
56
+ export declare const assertSegmentRouteGates: (segment: WorkflowSegment, trust: SegmentTrust | undefined, options: SegmentRouteGateOptions) => void;
57
+ /**
58
+ * Every refusal publishing would make over `workflows` (the project's exported
59
+ * UIDL block, or the part of it a change touches): the gates above, run over a
60
+ * copy of the block so `workflows` stays as it is, and the routes' sends,
61
+ * marked without a build-log line. `authentication` is the project's
62
+ * (`uidl.authentication`): it names the staff roles.
63
+ */
64
+ export declare const collectWorkflowPublishRefusals: (workflows: UIDLWorkflows | undefined, authentication?: UIDLAuthentication | null) => WorkflowPublishRefusal[];
65
+ export {};
66
+ //# sourceMappingURL=publish-refusals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-refusals.d.ts","sourceRoot":"","sources":["../../src/publish-refusals.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAKlB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACd,MAAM,4BAA4B,CAAA;AAsBnC,OAAO,EAAqB,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAKjE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,aAAa,CAAA;AAElE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,0BAA0B,CAAA;IAChC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,UAAU,GAAG,aAAa,CAAA;IACrC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,KAAK,OAAO,GAAG,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;AAmG7D,mFAAmF;AACnF,eAAO,MAAM,iCAAiC,yEAC0B,CAAA;AA2BxE,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,+BAA8B;gBAE/B,QAAQ,EAAE,OAAO,EAAE;CAMhC;AAyBD,wGAAwG;AACxG,eAAO,MAAM,0BAA0B,cAC1B,aAAa,GAAG,SAAS,mBACnB,kBAAkB,GAAG,IAAI,KACzC,IAOF,CAAA;AAED,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC/B,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AA2BD,kGAAkG;AAClG,eAAO,MAAM,uBAAuB,YACzB,eAAe,SACjB,YAAY,GAAG,SAAS,WACtB,uBAAuB,KAC/B,IAIF,CAAA;AA2GD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,cAC9B,aAAa,GAAG,SAAS,mBACnB,kBAAkB,GAAG,IAAI,KACzC,sBAAsB,EA+CxB,CAAA"}