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

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