@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
@@ -1,10 +1,23 @@
1
+ import { CONFIGURED_NEXTAUTH_URL_EXPRESSION } from './configured-nextauth-url'
2
+ import { generateCommonJsSessionTokenResolverCode } from './session-cookie-resolver'
3
+ import { ROLE_OF_TOKEN_CODE } from './workflow-auth-generator'
4
+ import { SESSION_STAMP_KEY } from './session-revocation-generator'
1
5
  import { generateVercelFunctionsLoaderCode } from './vercel-functions'
2
6
 
7
+ /** How long a signed step result stays good: older ones are refused. */
8
+ export const SIGNED_RESULT_MAX_AGE_MS = 10 * 60 * 1000
9
+
10
+ /** How far ahead of a route's clock another instance's signature may be dated. */
11
+ export const SIGNED_RESULT_CLOCK_SKEW_MS = 60 * 1000
12
+
13
+ /** What a visitor is told when the run a step continues has expired (409). */
14
+ export const STEP_EXPIRED_MESSAGE = 'This took too long. Please start again.'
15
+
3
16
  /**
4
17
  * `utils/workflows/server-runtime.js`: what every server route loads. It is the
5
18
  * shared runtime utilities plus the parts only a server may run — the signed
6
- * hand-off between server segments and the internal-call credential — so none
7
- * of it reaches the browser bundle.
19
+ * hand-off between server segments, the visitor's session identity and the
20
+ * internal-call credential — so none of it reaches the browser bundle.
8
21
  *
9
22
  * WHY THE HAND-OFF IS SIGNED. A workflow runs as a chain of segments, and the
10
23
  * result of every server segment reaches the next one THROUGH the caller: the
@@ -13,17 +26,36 @@ import { generateVercelFunctionsLoaderCode } from './vercel-functions'
13
26
  * earlier one — an order marked valid, a password-reset token marked checked
14
27
  * — and the later segment acted on it. So:
15
28
  *
29
+ * - Every result belongs to a RUN (`__sigRun`): one execution of the workflow.
30
+ * The first server segment of the graph opens it with a random id signed for
31
+ * this workflow; every later segment continues the run its request carries.
16
32
  * - `segmentReply` signs every result its segment produced (`__sig`, an HMAC
17
- * keyed from NEXTAUTH_SECRET over the node id and the JSON value) and the
18
- * order of the context's keys as the caller will hold them (`__sigOrder`),
19
- * since `params` in custom JavaScript are read by position.
33
+ * keyed from NEXTAUTH_SECRET over the workflow, the producing segment, the
34
+ * run, the time of signing, the node id and the JSON value), and one link of
35
+ * the run's chain (`__sigOrder`): the order of the context's keys as the
36
+ * caller will hold them (`params` in custom JavaScript are read by
37
+ * position), the call's number in the run, and the signature of every result
38
+ * the caller may hand on, bound to the same workflow, run and time.
20
39
  * - `claimSegmentContext` puts the keys back in that signed order (a key the
21
- * request left out keeps its slot, empty), empties every server result
22
- * whose signature does not hold or that the signed order does not list,
23
- * drops custom-node and loop bookkeeping a request cannot legitimately
24
- * carry, skips every node a server if / switch upstream did not choose
25
- * (or whose decision is missing), and takes `__previousNodeResult` from the
26
- * signed result of the server node that ran just before.
40
+ * request left out keeps its slot, empty), empties every server result whose
41
+ * signature does not hold — another workflow's, another run's, one older
42
+ * than ten minutes, one the link does not list with that very signature (a
43
+ * result of another call of the same segment: a run is one chain) — drops
44
+ * custom-node and loop bookkeeping a request cannot legitimately carry,
45
+ * skips every node a server if / switch upstream did not choose (or whose
46
+ * decision is missing), and takes `__previousNodeResult` from the signed
47
+ * result of the server node that ran just before.
48
+ *
49
+ * WHO THE VISITOR IS comes from the session cookie, never from the request
50
+ * body. `claimSegmentContext` drops whatever the request says about it and
51
+ * leaves the reserved keys `__sessionUserId`, `__sessionRole` and
52
+ * `__sessionUser` empty (and the page state's `currentUser` with them); a route
53
+ * whose segment reads the visitor (SEGMENT_CONFIG.session) fills them from the
54
+ * session with `bindSessionIdentity`, rebuilds the result of the graph's
55
+ * current-user readers from them, binds the route's `userScoped` identity
56
+ * columns, and — through `bindSessionHandlers` — binds those columns again
57
+ * after the node that produces them runs inside the segment, and answers an
58
+ * identity-filtered read with no rows when there is no identity to filter by.
27
59
  *
28
60
  * What the BROWSER itself computes stays untrusted by design; a server segment
29
61
  * that needs a trustworthy figure (a price, an owner) reads it from the
@@ -40,7 +72,9 @@ import { generateVercelFunctionsLoaderCode } from './vercel-functions'
40
72
  * The facts about the graph each route needs are baked into its
41
73
  * SEGMENT_CONFIG at generation time (see segment-trust.ts).
42
74
  */
43
- export const generateServerRuntimeCode = (): string => `'use strict';
75
+ export const generateServerRuntimeCode = (
76
+ options: { withSessionRevocation?: boolean } = {}
77
+ ): string => `'use strict';
44
78
  var crypto = require('crypto');
45
79
  var utils = require('./runtime-utils');
46
80
 
@@ -138,26 +172,109 @@ function isControlKey(key) {
138
172
  return key.indexOf('__') === 0;
139
173
  }
140
174
 
141
- function resultMac(nodeId, value) {
175
+ // ---------------------------------------------------------------------------
176
+ // The signed hand-off
177
+ // ---------------------------------------------------------------------------
178
+
179
+ // A signed result is good for this long, and may be dated this far ahead of
180
+ // this instance's clock (another instance signed it).
181
+ var SIGNED_MAX_AGE_MS = ${SIGNED_RESULT_MAX_AGE_MS};
182
+ var SIGNED_CLOCK_SKEW_MS = ${SIGNED_RESULT_CLOCK_SKEW_MS};
183
+
184
+ function workflowIdOf(segmentConfig) {
185
+ return segmentConfig && typeof segmentConfig.workflowId === 'string' ? segmentConfig.workflowId : '';
186
+ }
187
+
188
+ function segmentIdOf(segmentConfig) {
189
+ return segmentConfig && typeof segmentConfig.segmentId === 'string' ? segmentConfig.segmentId : '';
190
+ }
191
+
192
+ // The segment of this graph that produces a node's result.
193
+ function producerOf(segmentConfig, nodeId) {
194
+ var by = segmentConfig && segmentConfig.signedBy;
195
+ return by && typeof by === 'object' && typeof by[nodeId] === 'string' ? by[nodeId] : '';
196
+ }
197
+
198
+ function runMac(workflowId, runId) {
199
+ return mac(JSON.stringify(['run', 2, workflowId, runId]));
200
+ }
201
+
202
+ function openRun(workflowId) {
203
+ var id = crypto.randomBytes(16).toString('hex');
204
+ return { id: id, mac: runMac(workflowId, id) };
205
+ }
206
+
207
+ // The run the request continues, or null when it names none this workflow opened.
208
+ function readRun(workflowId, context) {
209
+ var run = context.__sigRun;
210
+ if (!run || typeof run !== 'object' || typeof run.id !== 'string' || !/^[0-9a-f]{32}$/.test(run.id)) {
211
+ return null;
212
+ }
213
+ return sameMac(run.mac, runMac(workflowId, run.id)) ? { id: run.id, mac: run.mac } : null;
214
+ }
215
+
216
+ function isFresh(at, now) {
217
+ return typeof at === 'number' && isFinite(at) && at <= now + SIGNED_CLOCK_SKEW_MS && now - at <= SIGNED_MAX_AGE_MS;
218
+ }
219
+
220
+ function resultMac(workflowId, segmentId, runId, at, nodeId, value) {
142
221
  var serialized;
143
222
  try { serialized = JSON.stringify(value); } catch (e) { return null; }
144
223
  if (serialized === undefined) return null;
145
- return mac('result|' + nodeId + '|' + serialized);
224
+ return mac(JSON.stringify(['result', 2, workflowId, segmentId, runId, at, nodeId, serialized]));
225
+ }
226
+
227
+ // A result's signature: '<when it was signed, ms>.<mac>'.
228
+ function signResult(workflowId, segmentId, run, at, nodeId, value) {
229
+ var signature = resultMac(workflowId, segmentId, run.id, at, nodeId, value);
230
+ return signature ? at + '.' + signature : null;
231
+ }
232
+
233
+ // 'valid', 'expired' (signed in this run, but too long ago or dated too far
234
+ // ahead) or 'invalid'.
235
+ function signatureVerdict(segmentConfig, run, nodeId, value, signature, now) {
236
+ if (typeof signature !== 'string') return 'invalid';
237
+ var dot = signature.indexOf('.');
238
+ var stamp = dot > 0 ? signature.slice(0, dot) : '';
239
+ if (!/^[0-9]{1,16}$/.test(stamp)) return 'invalid';
240
+ var at = Number(stamp);
241
+ var expected = resultMac(workflowIdOf(segmentConfig), producerOf(segmentConfig, nodeId), run.id, at, nodeId, value);
242
+ if (!expected || !sameMac(signature.slice(dot + 1), expected)) return 'invalid';
243
+ return isFresh(at, now) ? 'valid' : 'expired';
146
244
  }
147
245
 
148
- function orderMac(keys) {
149
- return mac('order|' + JSON.stringify(keys));
246
+ // The link of the run's chain one segment call signs: the order of the keys
247
+ // the caller will hold, the call's number in the run (\`n\`), and the
248
+ // signature of every result the caller may hand on — the ones this call was
249
+ // given and accepted, and its own. A later call accepts a relayed result only
250
+ // when its signature is the one the link it is given lists, so a run is one
251
+ // chain: a segment called twice in a run forks it, and no request can combine
252
+ // results of the two forks.
253
+ function orderMac(workflowId, runId, at, n, keys, sigs) {
254
+ return mac(JSON.stringify(['order', 3, workflowId, runId, at, n, keys, sigs]));
150
255
  }
151
256
 
152
- // The order the caller holds its keys in, as the last server segment signed
153
- // it; null when the request carries no valid signed order.
154
- function readSignedOrder(context) {
257
+ var NO_ORDER = { keys: null, n: 0, sigs: {} };
258
+
259
+ // The link the request continues, as the last server segment of this run
260
+ // signed it; \`keys: null\` when the request carries no valid one (\`expired\`
261
+ // when it is this run's, signed too long ago).
262
+ function readSignedOrder(segmentConfig, run, context, now) {
155
263
  var order = context.__sigOrder;
156
- if (!order || typeof order !== 'object' || !Array.isArray(order.keys)) return null;
264
+ if (!order || typeof order !== 'object' || !Array.isArray(order.keys) || typeof order.at !== 'number') return NO_ORDER;
265
+ if (typeof order.n !== 'number' || !(order.n >= 1) || Math.floor(order.n) !== order.n || !Array.isArray(order.sigs)) return NO_ORDER;
157
266
  for (var i = 0; i < order.keys.length; i++) {
158
- if (typeof order.keys[i] !== 'string' || isControlKey(order.keys[i])) return null;
267
+ if (typeof order.keys[i] !== 'string' || isControlKey(order.keys[i])) return NO_ORDER;
268
+ }
269
+ var sigs = {};
270
+ for (var s = 0; s < order.sigs.length; s++) {
271
+ var pair = order.sigs[s];
272
+ if (!Array.isArray(pair) || pair.length !== 2 || typeof pair[0] !== 'string' || typeof pair[1] !== 'string' || has(sigs, pair[0])) return NO_ORDER;
273
+ sigs[pair[0]] = pair[1];
159
274
  }
160
- return sameMac(order.mac, orderMac(order.keys)) ? order.keys : null;
275
+ if (!sameMac(order.mac, orderMac(workflowIdOf(segmentConfig), run.id, order.at, order.n, order.keys, order.sigs))) return NO_ORDER;
276
+ if (!isFresh(order.at, now)) return { keys: null, n: 0, sigs: {}, expired: true };
277
+ return { keys: order.keys, n: order.n, sigs: sigs };
161
278
  }
162
279
 
163
280
  function restoreOrder(context, keys) {
@@ -184,20 +301,40 @@ function restoreOrder(context, keys) {
184
301
  }
185
302
  }
186
303
 
187
- function dropUnsignedResults(segmentConfig, context, orderKeys) {
304
+ // Empties every relayed result whose signature does not hold — checked against
305
+ // the signature the link the request continues lists for it, never one the
306
+ // request supplies alongside — and returns { accepted, expired }: the
307
+ // signatures of the results it kept, and whether one of them was signed in this
308
+ // run but has expired.
309
+ function dropUnsignedResults(segmentConfig, run, context, order, now) {
188
310
  var ids = segmentConfig.signedNodeIds || [];
189
- if (ids.length === 0) return;
311
+ var accepted = {};
312
+ var expired = false;
190
313
  var listed = {};
191
- for (var o = 0; o < (orderKeys || []).length; o++) listed[orderKeys[o]] = true;
192
- var sigs = context.__sig && typeof context.__sig === 'object' && !Array.isArray(context.__sig) ? context.__sig : {};
314
+ for (var o = 0; o < (order.keys || []).length; o++) listed[order.keys[o]] = true;
193
315
  for (var i = 0; i < ids.length; i++) {
194
316
  var id = ids[i];
195
317
  if (!has(context, id) || context[id] === undefined) continue;
196
- var expected = resultMac(id, context[id]);
197
- if (!listed[id] || !expected || !sameMac(sigs[id], expected)) {
318
+ var signature = has(order.sigs, id) ? order.sigs[id] : null;
319
+ var verdict = signature ? signatureVerdict(segmentConfig, run, id, context[id], signature, now) : 'invalid';
320
+ if (verdict === 'expired') expired = true;
321
+ if (!listed[id] || verdict !== 'valid') {
198
322
  context[id] = undefined;
323
+ } else {
324
+ accepted[id] = signature;
199
325
  }
200
326
  }
327
+ return { accepted: accepted, expired: expired };
328
+ }
329
+
330
+ // What the visitor is told when the run they are continuing has expired (a
331
+ // step waited longer than a signed result is good for): start again.
332
+ var STEP_EXPIRED_MESSAGE = ${JSON.stringify(STEP_EXPIRED_MESSAGE)};
333
+
334
+ function expiredRunError() {
335
+ var error = new Error('the signed results this request continues are older than ' + SIGNED_MAX_AGE_MS + ' ms');
336
+ error.__tqPublic = { status: 409, message: STEP_EXPIRED_MESSAGE };
337
+ return error;
201
338
  }
202
339
 
203
340
  function stripForeignControlKeys(segmentConfig, context) {
@@ -266,10 +403,255 @@ function resetPreviousResult(segmentConfig, context) {
266
403
  context.__previousNodeResult = value !== undefined ? value : {};
267
404
  }
268
405
 
406
+ // ---------------------------------------------------------------------------
407
+ // The visitor's identity, from the session cookie
408
+ // ---------------------------------------------------------------------------
409
+
410
+ ${generateCommonJsSessionTokenResolverCode('../..', {
411
+ withRevocation: options.withSessionRevocation !== false,
412
+ })}
413
+ ${ROLE_OF_TOKEN_CODE}
414
+
415
+ // Reserved context keys: set here from the session, never read from a request.
416
+ var SESSION_KEYS = ['__sessionUserId', '__sessionRole', '__sessionUser'];
417
+
418
+ // What a decoded session token carries besides the user (see the session
419
+ // callback of the auth route, which leaves the same keys off session.user).
420
+ var SESSION_TOKEN_BOOKKEEPING = { iat: true, exp: true, jti: true, sub: true, __userRefreshedAt: true, ${SESSION_STAMP_KEY}: true };
421
+
422
+ // A session whose account changed its password (or session_version) since it
423
+ // was issued is no session: the shared reader runs that check for every server
424
+ // file (utils/auth/session-revocation.js).
425
+ function liveSessionToken(req) {
426
+ return __tqSessionToken(req);
427
+ }
428
+
429
+ // The signed-in user as /api/auth/session describes it, or null for a guest.
430
+ function sessionUserOf(token) {
431
+ if (!token || typeof token !== 'object') return null;
432
+ var id = token.id != null ? token.id : (token.sub != null ? token.sub : null);
433
+ if (id == null || String(id) === '') return null;
434
+ var user = {
435
+ name: token.name != null ? token.name : null,
436
+ email: token.email != null ? token.email : null,
437
+ image: token.picture != null ? token.picture : null
438
+ };
439
+ Object.keys(token).forEach(function(key) {
440
+ if (!SESSION_TOKEN_BOOKKEEPING[key]) user[key] = token[key];
441
+ });
442
+ user.id = id;
443
+ return user;
444
+ }
445
+
446
+ // The page state's \`currentUser\`, shaped as the app's global context keeps it.
447
+ function currentUserState(user) {
448
+ var state = { id: null, name: null, email: null, emailVerified: null, image: null, role: null };
449
+ Object.keys(user).forEach(function(key) { state[key] = user[key] != null ? user[key] : null; });
450
+ return state;
451
+ }
452
+
453
+ // Every copy of the page state the request carries: the context's own and the
454
+ // trigger's (see pruneContext in the client runtime).
455
+ function eachStateBag(context, visit) {
456
+ Object.keys(context).forEach(function(key) {
457
+ var value = context[key];
458
+ if (!value || typeof value !== 'object' || Array.isArray(value)) return;
459
+ if (key === '__stateValues') {
460
+ visit(value);
461
+ } else if (value.__stateValues && typeof value.__stateValues === 'object' && !Array.isArray(value.__stateValues)) {
462
+ visit(value.__stateValues);
463
+ }
464
+ });
465
+ }
466
+
467
+ // The \`currentUser\` the request's own copies of the page state held, put back
468
+ // before replying: the run reads the session's user, the reply never carries
469
+ // a rewritten copy of the trigger's page state back to the browser.
470
+ var __rewrittenStateBags = new WeakMap();
471
+
472
+ function setSessionIdentity(context, user, role) {
473
+ context.__sessionUserId = user ? user.id : null;
474
+ context.__sessionRole = user && typeof role === 'string' && role ? role : null;
475
+ context.__sessionUser = user || null;
476
+ var rewritten = __rewrittenStateBags.get(context) || [];
477
+ eachStateBag(context, function(bag) {
478
+ if (!has(bag, 'currentUser')) return;
479
+ if (!rewritten.some(function(entry) { return entry.bag === bag; })) {
480
+ rewritten.push({ bag: bag, original: bag.currentUser });
481
+ }
482
+ bag.currentUser = user ? currentUserState(user) : null;
483
+ });
484
+ __rewrittenStateBags.set(context, rewritten);
485
+ }
486
+
487
+ function restoreStateBags(context) {
488
+ var rewritten = __rewrittenStateBags.get(context) || [];
489
+ for (var i = 0; i < rewritten.length; i++) rewritten[i].bag.currentUser = rewritten[i].original;
490
+ }
491
+
492
+ function clearSessionIdentity(context) {
493
+ for (var i = 0; i < SESSION_KEYS.length; i++) delete context[SESSION_KEYS[i]];
494
+ setSessionIdentity(context, null, null);
495
+ }
496
+
497
+ // What a current-user reader answers for this session: the user's fields flat
498
+ // plus \`user\` (see account-get-current, account-refresh-session, account-login).
499
+ function identityResult(type, user, previous) {
500
+ var out = {};
501
+ if (user) Object.keys(user).forEach(function(key) { out[key] = user[key]; });
502
+ out.user = user || null;
503
+ if (type === 'account-refresh-session') {
504
+ out.refreshed = !!(user && previous && previous.refreshed === true);
505
+ }
506
+ if (type === 'account-login') {
507
+ out.success = !!user;
508
+ }
509
+ return out;
510
+ }
511
+
512
+ function bindPath(root, path, value) {
513
+ if (!root || !path || path.length === 0) return;
514
+ var obj = root;
515
+ for (var i = 0; i < path.length - 1; i++) {
516
+ var key = path[i];
517
+ if (obj[key] == null || typeof obj[key] !== 'object') obj[key] = {};
518
+ obj = obj[key];
519
+ }
520
+ obj[path[path.length - 1]] = value;
521
+ }
522
+
523
+ // The value a \`userScoped\` binding takes: the session's role for a role
524
+ // claim, the session user for every other one — and, for a signed-out visitor,
525
+ // '' whatever the claim. An identity value never comes from the request: a
526
+ // guest's own rows are still written under the anonymous id the data API takes
527
+ // from the run (\`__anonymousUserId\`, see data-create-item).
528
+ function sessionClaim(binding, context) {
529
+ if (binding.claim === 'role') return { value: context.__sessionRole || '' };
530
+ return { value: context.__sessionUserId != null ? context.__sessionUserId : '' };
531
+ }
532
+
533
+ function bindingsOf(segmentConfig) {
534
+ var needs = segmentConfig && segmentConfig.session;
535
+ return needs && Array.isArray(needs.bindings) ? needs.bindings : [];
536
+ }
537
+
538
+ function bindResult(bindings, nodeId, context, result) {
539
+ var bound = result;
540
+ for (var i = 0; i < bindings.length; i++) {
541
+ var binding = bindings[i];
542
+ if (!binding || binding.nodeId !== nodeId) continue;
543
+ var claim = sessionClaim(binding, context);
544
+ if (!claim) continue;
545
+ if (bound == null || typeof bound !== 'object') bound = {};
546
+ bindPath(bound, binding.path || [], claim.value);
547
+ }
548
+ return bound;
549
+ }
550
+
551
+ /**
552
+ * Fills the reserved session keys from the request's session cookie, then
553
+ * rebuilds what the segment reads about the visitor from them: the result of
554
+ * every current-user reader the request carries, and every \`userScoped\`
555
+ * identity column of a node outside this segment (a node of the segment is
556
+ * bound when it has run — see bindSessionHandlers). Without a session the
557
+ * identity is absent: nothing the request says stands in for it.
558
+ */
559
+ async function bindSessionIdentity(req, segmentConfig, context) {
560
+ var needs = segmentConfig && segmentConfig.session;
561
+ if (!needs) return;
562
+ var token = null;
563
+ try { token = await liveSessionToken(req); } catch (e) { token = null; }
564
+ var user = sessionUserOf(token);
565
+ setSessionIdentity(context, user, user ? roleOf(token) : null);
566
+ var readers = needs.identityNodes || {};
567
+ Object.keys(readers).forEach(function(id) {
568
+ if (has(context, id) && context[id] !== undefined && context[id] !== null) {
569
+ context[id] = identityResult(readers[id], user, context[id]);
570
+ }
571
+ });
572
+ var own = {};
573
+ (segmentConfig.nodes || []).forEach(function(node) { own[node.id] = true; });
574
+ var bindings = bindingsOf(segmentConfig);
575
+ for (var i = 0; i < bindings.length; i++) {
576
+ var nodeId = bindings[i] && bindings[i].nodeId;
577
+ if (!nodeId || own[nodeId]) continue;
578
+ context[nodeId] = bindResult([bindings[i]], nodeId, context, context[nodeId]);
579
+ }
580
+ }
581
+
582
+ // What a filter value must be to scope a read to the visitor: present, and
583
+ // nothing the data node would read as "no filter" (empty, an all-sentinel, an
584
+ // unresolved template).
585
+ var NOT_AN_IDENTITY = { all: true, any: true, everything: true, __all__: true };
586
+
587
+ function isIdentityFilterValue(filter, value) {
588
+ if (value === undefined || value === null) return false;
589
+ if (Array.isArray(value)) return value.length > 0;
590
+ if (typeof value !== 'string') return true;
591
+ var text = value.trim().toLowerCase();
592
+ if (!text || NOT_AN_IDENTITY[text] || text.indexOf('{{') !== -1) return false;
593
+ if (typeof filter.treatAsAll === 'string' && filter.treatAsAll.trim().toLowerCase() === text) return false;
594
+ if (Array.isArray(filter.skipIfValue) && filter.skipIfValue.indexOf(value) !== -1) return false;
595
+ return true;
596
+ }
597
+
598
+ function scopedToIdentity(columns, config) {
599
+ var filters = config && Array.isArray(config.filters) ? config.filters : [];
600
+ for (var c = 0; c < columns.length; c++) {
601
+ var scoped = false;
602
+ for (var f = 0; f < filters.length && !scoped; f++) {
603
+ var filter = filters[f] && typeof filters[f] === 'object' ? filters[f] : {};
604
+ // Read as data-select reads it: \`destination\` before \`value\`.
605
+ var column = filter.column || filter.source || filter.field;
606
+ var value = filter.destination !== undefined ? filter.destination : filter.value;
607
+ scoped = column === columns[c] && isIdentityFilterValue(filter, value);
608
+ }
609
+ if (!scoped) return false;
610
+ }
611
+ return true;
612
+ }
613
+
614
+ /**
615
+ * Wraps the route's node handlers so that a read the segment filters by the
616
+ * visitor's identity answers no rows when there is no identity to filter by
617
+ * (it never widens to the whole table), and the \`userScoped\` identity columns
618
+ * of a node this segment runs take the session's value once it has run — a
619
+ * step that recomputes them from what the request carries (a custom node's
620
+ * parameters) cannot undo the binding.
621
+ */
622
+ function bindSessionHandlers(segmentConfig, nodeHandlers) {
623
+ var needs = segmentConfig && segmentConfig.session;
624
+ if (!needs || !nodeHandlers) return nodeHandlers;
625
+ var reads = needs.identityReads || {};
626
+ var bindings = bindingsOf(segmentConfig);
627
+ Object.keys(nodeHandlers).forEach(function(type) {
628
+ var handler = nodeHandlers[type];
629
+ var isRead = type === 'data-select' || type === 'data-count';
630
+ if (typeof handler !== 'function' || (!isRead && bindings.length === 0)) return;
631
+ nodeHandlers[type] = async function(config, context) {
632
+ var nodeId = config && config.__nodeId;
633
+ if (isRead && nodeId && has(reads, nodeId) && !scopedToIdentity(reads[nodeId], config)) {
634
+ return type === 'data-count' ? { count: 0 } : { rows: [], count: 0 };
635
+ }
636
+ var result = await handler.apply(this, arguments);
637
+ return nodeId && bindings.length > 0 ? bindResult(bindings, nodeId, context, result) : result;
638
+ };
639
+ });
640
+ return nodeHandlers;
641
+ }
642
+
643
+ // ---------------------------------------------------------------------------
644
+ // Claiming a request, replying to it
645
+ // ---------------------------------------------------------------------------
646
+
269
647
  // The keys the caller holds, in order, before this segment's own results were
270
648
  // dropped — segmentReply appends what the run adds, exactly as the caller's
271
- // merge will.
649
+ // merge will. And the run each claimed context belongs to.
272
650
  var __incomingOrders = new WeakMap();
651
+ var __claimedRuns = new WeakMap();
652
+ // The link each claimed context continues: its call number and the relayed
653
+ // signatures it accepted.
654
+ var __claimedLinks = new WeakMap();
273
655
 
274
656
  // The sealed results this segment opened, so its reply hands the caller back
275
657
  // the sealed form it relayed (see resealRelayedResults).
@@ -309,19 +691,72 @@ function resealRelayedResults(context, reply) {
309
691
  }
310
692
 
311
693
  function claimSegmentContext(segmentConfig, context) {
312
- var orderKeys = readSignedOrder(context);
313
- if (orderKeys) restoreOrder(context, orderKeys);
314
- dropUnsignedResults(segmentConfig, context, orderKeys);
694
+ var now = Date.now();
695
+ var workflowId = workflowIdOf(segmentConfig);
696
+ var run = (!segmentConfig.opensRun && readRun(workflowId, context)) || openRun(workflowId);
697
+ __claimedRuns.set(context, run);
698
+ var order = readSignedOrder(segmentConfig, run, context, now);
699
+ if (order.keys) restoreOrder(context, order.keys);
700
+ var verdict = dropUnsignedResults(segmentConfig, run, context, order, now);
701
+ if (verdict.expired || order.expired) throw expiredRunError();
702
+ __claimedLinks.set(context, { n: order.keys ? order.n : 0, accepted: verdict.accepted });
703
+ context.__sigRun = { id: run.id, mac: run.mac };
704
+ // The route's own (see VISITOR_REQUEST_INJECTION); a request never sets it.
705
+ delete context.__request;
706
+ // Sealed credentials open only after their signature held.
315
707
  openSealedResults(context);
316
708
  stripForeignControlKeys(segmentConfig, context);
709
+ clearSessionIdentity(context);
317
710
  __incomingOrders.set(context, Object.keys(context).filter(function(k) { return !isControlKey(k); }));
318
711
  utils.claimSegmentContext(segmentConfig, context);
319
712
  enforceBranchGates(segmentConfig, context);
320
713
  resetPreviousResult(segmentConfig, context);
321
714
  }
322
715
 
716
+ // A reply never names an env var the segment's configs reference
717
+ // (SEGMENT_CONFIG.secretNames) — a node's error result may quote one. Returns
718
+ // \`value\` itself when nothing in it changes.
719
+ // Only a name shaped like an env var, as a whole word: a secret named \`KEY\`
720
+ // never rewrites "MONKEY".
721
+ var ENV_NAME_SHAPE = /^[A-Za-z_][A-Za-z0-9_]{3,}$/;
722
+
723
+ function scrubSecretNames(segmentConfig, value) {
724
+ var names = segmentConfig && Array.isArray(segmentConfig.secretNames) ? segmentConfig.secretNames : [];
725
+ var patterns = [];
726
+ for (var i = 0; i < names.length; i++) {
727
+ if (typeof names[i] === 'string' && ENV_NAME_SHAPE.test(names[i])) {
728
+ patterns.push(new RegExp('(^|[^A-Za-z0-9_])' + names[i] + '(?![A-Za-z0-9_])', 'g'));
729
+ }
730
+ }
731
+ return patterns.length === 0 ? value : scrubValue(value, patterns, 0);
732
+ }
733
+
734
+ function scrubValue(value, patterns, depth) {
735
+ if (typeof value === 'string') {
736
+ var text = value;
737
+ for (var i = 0; i < patterns.length; i++) {
738
+ patterns[i].lastIndex = 0;
739
+ text = text.replace(patterns[i], '$1[secret]');
740
+ }
741
+ return text;
742
+ }
743
+ if (!value || typeof value !== 'object' || depth > 32) return value;
744
+ var copy = null;
745
+ var keys = Object.keys(value);
746
+ for (var k = 0; k < keys.length; k++) {
747
+ var before = value[keys[k]];
748
+ var after = scrubValue(before, patterns, depth + 1);
749
+ if (after !== before) {
750
+ if (!copy) copy = Array.isArray(value) ? value.slice() : Object.assign({}, value);
751
+ copy[keys[k]] = after;
752
+ }
753
+ }
754
+ return copy || value;
755
+ }
756
+
323
757
  function segmentReply(segmentConfig, context, snapshot) {
324
- var reply = utils.segmentReply(segmentConfig, context, snapshot);
758
+ restoreStateBags(context);
759
+ var reply = scrubSecretNames(segmentConfig, utils.segmentReply(segmentConfig, context, snapshot));
325
760
  resealRelayedResults(context, reply);
326
761
  var credentialIds = utils.credentialResultNodeIds(segmentConfig);
327
762
  Object.keys(credentialIds).forEach(function(id) {
@@ -329,19 +764,25 @@ function segmentReply(segmentConfig, context, snapshot) {
329
764
  var sealed = sealResult(context[id]);
330
765
  if (sealed) reply[id] = sealed;
331
766
  });
767
+ var workflowId = workflowIdOf(segmentConfig);
768
+ var segmentId = segmentIdOf(segmentConfig);
769
+ var run = __claimedRuns.get(context) || openRun(workflowId);
770
+ var link = __claimedLinks.get(context) || { n: 0, accepted: {} };
771
+ var at = Date.now();
772
+ // What the next call may accept: the results this one accepted, and its own.
332
773
  var sigs = {};
333
- var incoming = context.__sig && typeof context.__sig === 'object' && !Array.isArray(context.__sig) ? context.__sig : {};
334
- Object.keys(incoming).forEach(function(id) {
335
- if (typeof incoming[id] === 'string') sigs[id] = incoming[id];
774
+ Object.keys(link.accepted).forEach(function(id) {
775
+ if (has(reply, id) || has(context, id)) sigs[id] = link.accepted[id];
336
776
  });
337
777
  var nodes = segmentConfig.nodes || [];
338
778
  for (var i = 0; i < nodes.length; i++) {
339
779
  var id = nodes[i].id;
340
780
  if (!has(reply, id) || reply[id] === undefined) continue;
341
- var signature = resultMac(id, reply[id]);
781
+ var signature = signResult(workflowId, segmentId, run, at, id, reply[id]);
342
782
  if (signature) sigs[id] = signature; else delete sigs[id];
343
783
  }
344
784
  reply.__sig = sigs;
785
+ reply.__sigRun = { id: run.id, mac: run.mac };
345
786
  var keys = (__incomingOrders.get(context) || []).slice();
346
787
  var listed = {};
347
788
  keys.forEach(function(k) { listed[k] = true; });
@@ -351,7 +792,9 @@ function segmentReply(segmentConfig, context, snapshot) {
351
792
  listed[k] = true;
352
793
  }
353
794
  });
354
- reply.__sigOrder = { keys: keys, mac: orderMac(keys) };
795
+ var n = link.n + 1;
796
+ var pairs = Object.keys(sigs).sort().map(function(id) { return [id, sigs[id]]; });
797
+ reply.__sigOrder = { keys: keys, at: at, n: n, sigs: pairs, mac: orderMac(workflowId, run.id, at, n, keys, pairs) };
355
798
  return reply;
356
799
  }
357
800
 
@@ -383,14 +826,16 @@ function isLoopbackHost(host) {
383
826
  // else the Host header is whatever the caller sent, so the canonical
384
827
  // NEXTAUTH_URL wins when it is set — internal calls carry credentials, and
385
828
  // they must never go to a host a request named. (A local development server
386
- // on another port than NEXTAUTH_URL's keeps its own loopback address.)
829
+ // on another port than NEXTAUTH_URL's keeps its own loopback address.) The
830
+ // value read is the configured one, kept before the auth route rewrites
831
+ // process.env.NEXTAUTH_URL from a request's headers (globalThis.__tqConfiguredNextAuthUrl).
387
832
  function trustedBaseUrl(req) {
388
833
  var headers = (req && req.headers) || {};
389
834
  var host = headers.host || '';
390
835
  var proto = headers['x-forwarded-proto'] || (isLoopbackHost(host) ? 'http' : 'https');
391
836
  var requestOrigin = String(proto).split(',')[0].trim() + '://' + host;
392
837
  if (process.env.VERCEL) return requestOrigin;
393
- var configured = String(process.env.NEXTAUTH_URL || '').trim();
838
+ var configured = String(${CONFIGURED_NEXTAUTH_URL_EXPRESSION} || '').trim();
394
839
  if (!configured) return requestOrigin;
395
840
  var origin;
396
841
  try { origin = new URL(configured).origin; } catch (e) { return requestOrigin; }
@@ -419,6 +864,9 @@ module.exports = Object.assign({}, utils, {
419
864
  handOffPendingNodePromises: handOffPendingNodePromises,
420
865
  claimSegmentContext: claimSegmentContext,
421
866
  segmentReply: segmentReply,
867
+ bindSessionIdentity: bindSessionIdentity,
868
+ bindSessionHandlers: bindSessionHandlers,
869
+ scrubSecretNames: scrubSecretNames,
422
870
  internalRequestHeaders: internalRequestHeaders,
423
871
  isInternalCall: isInternalCall,
424
872
  trustedBaseUrl: trustedBaseUrl