@teleporthq/teleport-plugin-next-workflows 0.43.66 → 0.43.67

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 (222) hide show
  1. package/__tests__/_helpers/bind-workflow-utils.ts +30 -0
  2. package/__tests__/_helpers/run-generated-middleware.ts +11 -2
  3. package/__tests__/admin-form-row-hydration.test.ts +55 -0
  4. package/__tests__/client-config-redaction.test.ts +53 -0
  5. package/__tests__/email-locale-module.test.ts +323 -0
  6. package/__tests__/email-locale-senders.test.ts +268 -0
  7. package/__tests__/locale-aware-redirects.test.ts +355 -0
  8. package/__tests__/navigation-go-to-page.test.ts +43 -0
  9. package/__tests__/node-handler-file-inline-map.test.ts +29 -3
  10. package/__tests__/resolve-config-localized-templates.test.ts +262 -0
  11. package/__tests__/sent-email-log-wiring.test.ts +2 -2
  12. package/dist/cjs/account-delete-route-generator.d.ts +20 -0
  13. package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
  14. package/dist/cjs/account-delete-route-generator.js +16 -22
  15. package/dist/cjs/account-delete-route-generator.js.map +1 -1
  16. package/dist/cjs/api-route-generator.d.ts.map +1 -1
  17. package/dist/cjs/api-route-generator.js +13 -2
  18. package/dist/cjs/api-route-generator.js.map +1 -1
  19. package/dist/cjs/auth-generator.d.ts +2 -1
  20. package/dist/cjs/auth-generator.d.ts.map +1 -1
  21. package/dist/cjs/auth-generator.js +42 -14
  22. package/dist/cjs/auth-generator.js.map +1 -1
  23. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  24. package/dist/cjs/data-api-route-generator.js +19 -0
  25. package/dist/cjs/data-api-route-generator.js.map +1 -1
  26. package/dist/cjs/email-locale/email-locale-code.d.ts +25 -0
  27. package/dist/cjs/email-locale/email-locale-code.d.ts.map +1 -0
  28. package/dist/cjs/email-locale/email-locale-code.js +228 -0
  29. package/dist/cjs/email-locale/email-locale-code.js.map +1 -0
  30. package/dist/cjs/email-locale/email-locale-scope.d.ts +46 -0
  31. package/dist/cjs/email-locale/email-locale-scope.d.ts.map +1 -0
  32. package/dist/cjs/email-locale/email-locale-scope.js +51 -0
  33. package/dist/cjs/email-locale/email-locale-scope.js.map +1 -0
  34. package/dist/cjs/email-locale/index.d.ts +11 -0
  35. package/dist/cjs/email-locale/index.d.ts.map +1 -0
  36. package/dist/cjs/email-locale/index.js +40 -0
  37. package/dist/cjs/email-locale/index.js.map +1 -0
  38. package/dist/cjs/executor-generator.d.ts +11 -1
  39. package/dist/cjs/executor-generator.d.ts.map +1 -1
  40. package/dist/cjs/executor-generator.js +32 -3
  41. package/dist/cjs/executor-generator.js.map +1 -1
  42. package/dist/cjs/index.d.ts +1 -0
  43. package/dist/cjs/index.d.ts.map +1 -1
  44. package/dist/cjs/index.js +7 -1
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
  47. package/dist/cjs/invoice/api-routes-code.js +14 -3
  48. package/dist/cjs/invoice/api-routes-code.js.map +1 -1
  49. package/dist/cjs/invoice/email-sender-code.d.ts.map +1 -1
  50. package/dist/cjs/invoice/email-sender-code.js +14 -2
  51. package/dist/cjs/invoice/email-sender-code.js.map +1 -1
  52. package/dist/cjs/invoice/index.d.ts.map +1 -1
  53. package/dist/cjs/invoice/index.js +4 -1
  54. package/dist/cjs/invoice/index.js.map +1 -1
  55. package/dist/cjs/nodes/account/account-delete-current.d.ts.map +1 -1
  56. package/dist/cjs/nodes/account/account-delete-current.js +10 -3
  57. package/dist/cjs/nodes/account/account-delete-current.js.map +1 -1
  58. package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
  59. package/dist/cjs/nodes/account/account-login.js +3 -1
  60. package/dist/cjs/nodes/account/account-login.js.map +1 -1
  61. package/dist/cjs/nodes/account/account-logout.d.ts.map +1 -1
  62. package/dist/cjs/nodes/account/account-logout.js +4 -2
  63. package/dist/cjs/nodes/account/account-logout.js.map +1 -1
  64. package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
  65. package/dist/cjs/nodes/account/account-signup.js +12 -2
  66. package/dist/cjs/nodes/account/account-signup.js.map +1 -1
  67. package/dist/cjs/nodes/account/account-social-login.d.ts.map +1 -1
  68. package/dist/cjs/nodes/account/account-social-login.js +4 -2
  69. package/dist/cjs/nodes/account/account-social-login.js.map +1 -1
  70. package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
  71. package/dist/cjs/nodes/data/data-create-item.js +8 -0
  72. package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
  73. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  74. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js +6 -0
  75. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  76. package/dist/cjs/nodes/navigation/navigation-go-to-page.d.ts.map +1 -1
  77. package/dist/cjs/nodes/navigation/navigation-go-to-page.js +4 -1
  78. package/dist/cjs/nodes/navigation/navigation-go-to-page.js.map +1 -1
  79. package/dist/cjs/nodes/navigation/navigation-navigate-to-url.d.ts.map +1 -1
  80. package/dist/cjs/nodes/navigation/navigation-navigate-to-url.js +5 -2
  81. package/dist/cjs/nodes/navigation/navigation-navigate-to-url.js.map +1 -1
  82. package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
  83. package/dist/cjs/nodes/payment/payment-charge-user.js +7 -2
  84. package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
  85. package/dist/cjs/segment-splitter.d.ts +1 -1
  86. package/dist/cjs/segment-splitter.d.ts.map +1 -1
  87. package/dist/cjs/segment-splitter.js +29 -2
  88. package/dist/cjs/segment-splitter.js.map +1 -1
  89. package/dist/cjs/transactional-email-code.d.ts +27 -0
  90. package/dist/cjs/transactional-email-code.d.ts.map +1 -1
  91. package/dist/cjs/transactional-email-code.js +43 -7
  92. package/dist/cjs/transactional-email-code.js.map +1 -1
  93. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  94. package/dist/cjs/workflow-component-plugin.js +4 -3
  95. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  96. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  97. package/dist/cjs/workflow-project-plugin.js +17 -3
  98. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  99. package/dist/cjs/workflow-utils-alias.d.ts +21 -0
  100. package/dist/cjs/workflow-utils-alias.d.ts.map +1 -0
  101. package/dist/cjs/workflow-utils-alias.js +27 -0
  102. package/dist/cjs/workflow-utils-alias.js.map +1 -0
  103. package/dist/esm/account-delete-route-generator.d.ts +20 -0
  104. package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
  105. package/dist/esm/account-delete-route-generator.js +17 -23
  106. package/dist/esm/account-delete-route-generator.js.map +1 -1
  107. package/dist/esm/api-route-generator.d.ts.map +1 -1
  108. package/dist/esm/api-route-generator.js +13 -2
  109. package/dist/esm/api-route-generator.js.map +1 -1
  110. package/dist/esm/auth-generator.d.ts +2 -1
  111. package/dist/esm/auth-generator.d.ts.map +1 -1
  112. package/dist/esm/auth-generator.js +43 -15
  113. package/dist/esm/auth-generator.js.map +1 -1
  114. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  115. package/dist/esm/data-api-route-generator.js +19 -0
  116. package/dist/esm/data-api-route-generator.js.map +1 -1
  117. package/dist/esm/email-locale/email-locale-code.d.ts +25 -0
  118. package/dist/esm/email-locale/email-locale-code.d.ts.map +1 -0
  119. package/dist/esm/email-locale/email-locale-code.js +222 -0
  120. package/dist/esm/email-locale/email-locale-code.js.map +1 -0
  121. package/dist/esm/email-locale/email-locale-scope.d.ts +46 -0
  122. package/dist/esm/email-locale/email-locale-scope.d.ts.map +1 -0
  123. package/dist/esm/email-locale/email-locale-scope.js +47 -0
  124. package/dist/esm/email-locale/email-locale-scope.js.map +1 -0
  125. package/dist/esm/email-locale/index.d.ts +11 -0
  126. package/dist/esm/email-locale/index.d.ts.map +1 -0
  127. package/dist/esm/email-locale/index.js +28 -0
  128. package/dist/esm/email-locale/index.js.map +1 -0
  129. package/dist/esm/executor-generator.d.ts +11 -1
  130. package/dist/esm/executor-generator.d.ts.map +1 -1
  131. package/dist/esm/executor-generator.js +32 -3
  132. package/dist/esm/executor-generator.js.map +1 -1
  133. package/dist/esm/index.d.ts +1 -0
  134. package/dist/esm/index.d.ts.map +1 -1
  135. package/dist/esm/index.js +1 -0
  136. package/dist/esm/index.js.map +1 -1
  137. package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
  138. package/dist/esm/invoice/api-routes-code.js +14 -3
  139. package/dist/esm/invoice/api-routes-code.js.map +1 -1
  140. package/dist/esm/invoice/email-sender-code.d.ts.map +1 -1
  141. package/dist/esm/invoice/email-sender-code.js +14 -2
  142. package/dist/esm/invoice/email-sender-code.js.map +1 -1
  143. package/dist/esm/invoice/index.d.ts.map +1 -1
  144. package/dist/esm/invoice/index.js +4 -1
  145. package/dist/esm/invoice/index.js.map +1 -1
  146. package/dist/esm/nodes/account/account-delete-current.d.ts.map +1 -1
  147. package/dist/esm/nodes/account/account-delete-current.js +10 -3
  148. package/dist/esm/nodes/account/account-delete-current.js.map +1 -1
  149. package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
  150. package/dist/esm/nodes/account/account-login.js +3 -1
  151. package/dist/esm/nodes/account/account-login.js.map +1 -1
  152. package/dist/esm/nodes/account/account-logout.d.ts.map +1 -1
  153. package/dist/esm/nodes/account/account-logout.js +4 -2
  154. package/dist/esm/nodes/account/account-logout.js.map +1 -1
  155. package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
  156. package/dist/esm/nodes/account/account-signup.js +12 -2
  157. package/dist/esm/nodes/account/account-signup.js.map +1 -1
  158. package/dist/esm/nodes/account/account-social-login.d.ts.map +1 -1
  159. package/dist/esm/nodes/account/account-social-login.js +4 -2
  160. package/dist/esm/nodes/account/account-social-login.js.map +1 -1
  161. package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
  162. package/dist/esm/nodes/data/data-create-item.js +8 -0
  163. package/dist/esm/nodes/data/data-create-item.js.map +1 -1
  164. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  165. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js +6 -0
  166. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  167. package/dist/esm/nodes/navigation/navigation-go-to-page.d.ts.map +1 -1
  168. package/dist/esm/nodes/navigation/navigation-go-to-page.js +4 -1
  169. package/dist/esm/nodes/navigation/navigation-go-to-page.js.map +1 -1
  170. package/dist/esm/nodes/navigation/navigation-navigate-to-url.d.ts.map +1 -1
  171. package/dist/esm/nodes/navigation/navigation-navigate-to-url.js +5 -2
  172. package/dist/esm/nodes/navigation/navigation-navigate-to-url.js.map +1 -1
  173. package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
  174. package/dist/esm/nodes/payment/payment-charge-user.js +7 -2
  175. package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
  176. package/dist/esm/segment-splitter.d.ts +1 -1
  177. package/dist/esm/segment-splitter.d.ts.map +1 -1
  178. package/dist/esm/segment-splitter.js +29 -2
  179. package/dist/esm/segment-splitter.js.map +1 -1
  180. package/dist/esm/transactional-email-code.d.ts +27 -0
  181. package/dist/esm/transactional-email-code.d.ts.map +1 -1
  182. package/dist/esm/transactional-email-code.js +39 -6
  183. package/dist/esm/transactional-email-code.js.map +1 -1
  184. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  185. package/dist/esm/workflow-component-plugin.js +4 -3
  186. package/dist/esm/workflow-component-plugin.js.map +1 -1
  187. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  188. package/dist/esm/workflow-project-plugin.js +18 -4
  189. package/dist/esm/workflow-project-plugin.js.map +1 -1
  190. package/dist/esm/workflow-utils-alias.d.ts +21 -0
  191. package/dist/esm/workflow-utils-alias.d.ts.map +1 -0
  192. package/dist/esm/workflow-utils-alias.js +21 -0
  193. package/dist/esm/workflow-utils-alias.js.map +1 -0
  194. package/package.json +4 -4
  195. package/src/account-delete-route-generator.ts +22 -4
  196. package/src/api-route-generator.ts +13 -2
  197. package/src/auth-generator.ts +48 -14
  198. package/src/data-api-route-generator.ts +19 -0
  199. package/src/email-locale/email-locale-code.ts +239 -0
  200. package/src/email-locale/email-locale-scope.ts +65 -0
  201. package/src/email-locale/index.ts +46 -0
  202. package/src/executor-generator.ts +48 -3
  203. package/src/index.ts +7 -0
  204. package/src/invoice/api-routes-code.ts +18 -3
  205. package/src/invoice/email-sender-code.ts +14 -2
  206. package/src/invoice/index.ts +4 -1
  207. package/src/nodes/account/account-delete-current.ts +10 -3
  208. package/src/nodes/account/account-login.ts +3 -1
  209. package/src/nodes/account/account-logout.ts +4 -2
  210. package/src/nodes/account/account-signup.ts +12 -2
  211. package/src/nodes/account/account-social-login.ts +7 -2
  212. package/src/nodes/data/data-create-item.ts +8 -0
  213. package/src/nodes/ecommerce/ecommerce-generate-invoice.ts +6 -0
  214. package/src/nodes/navigation/navigation-go-to-page.ts +5 -1
  215. package/src/nodes/navigation/navigation-navigate-to-url.ts +6 -2
  216. package/src/nodes/payment/payment-charge-user.ts +13 -2
  217. package/src/nodes/workflow-utils-global.d.ts +12 -0
  218. package/src/segment-splitter.ts +33 -2
  219. package/src/transactional-email-code.ts +51 -0
  220. package/src/workflow-component-plugin.ts +4 -3
  221. package/src/workflow-project-plugin.ts +21 -4
  222. package/src/workflow-utils-alias.ts +26 -0
@@ -1,5 +1,16 @@
1
1
  import { NextWorkflowProjectPlugin } from '../src/workflow-project-plugin'
2
2
  import { nodeRegistry } from '../src/nodes'
3
+ import { workflowUtilsRequireLine } from '../src/workflow-utils-alias'
4
+
5
+ // The handler file binds the shared runtime before its map (see
6
+ // workflow-utils-alias.ts); module-eval here resolves that one require to a
7
+ // stand-in, exactly like the module-eval simulation resolves nothing else.
8
+ const requireStub = (specifier: string): Record<string, unknown> => {
9
+ if (specifier !== './runtime-utils') {
10
+ throw new Error(`unexpected require: ${specifier}`)
11
+ }
12
+ return {}
13
+ }
3
14
 
4
15
  /**
5
16
  * Regression (Vercel "ReferenceError: state_update_local_state is not defined" at
@@ -42,12 +53,19 @@ describe('generateNodeHandlerFile — inline handler map (dangling-proof)', () =
42
53
  expect(dangling).toEqual([])
43
54
  })
44
55
 
56
+ it('binds the shared runtime before the map so handlers can reach its helpers', () => {
57
+ expect(code.indexOf(workflowUtilsRequireLine('./runtime-utils'))).toBeGreaterThan(-1)
58
+ expect(code.indexOf(workflowUtilsRequireLine('./runtime-utils'))).toBeLessThan(
59
+ code.indexOf('module.exports = {')
60
+ )
61
+ })
62
+
45
63
  it('evaluates as a CommonJS module without ReferenceError and exposes callable handlers', () => {
46
64
  const moduleObj = { exports: {} as Record<string, unknown> }
47
65
  // Simulate Next.js module-eval (the "Collecting page data" require). If a map
48
66
  // value referenced an undefined identifier this would throw ReferenceError.
49
67
  // eslint-disable-next-line no-new-func
50
- new Function('module', 'exports', code)(moduleObj, moduleObj.exports)
68
+ new Function('module', 'exports', 'require', code)(moduleObj, moduleObj.exports, requireStub)
51
69
  expect(typeof moduleObj.exports['state-update-local-state']).toBe('function')
52
70
  expect(typeof moduleObj.exports['toast-show']).toBe('function')
53
71
  expect(typeof moduleObj.exports['general-extract-form-data']).toBe('function')
@@ -80,7 +98,11 @@ describe('generateNodeHandlerFile — every registry node type is eval-safe in b
80
98
  const moduleObj = { exports: {} as Record<string, unknown> }
81
99
  expect(() => {
82
100
  // eslint-disable-next-line no-new-func
83
- new Function('module', 'exports', code)(moduleObj, moduleObj.exports)
101
+ new Function('module', 'exports', 'require', code)(
102
+ moduleObj,
103
+ moduleObj.exports,
104
+ requireStub
105
+ )
84
106
  }).not.toThrow()
85
107
 
86
108
  // Each emitted map value must resolve to a callable handler (the IIFE
@@ -100,7 +122,11 @@ describe('generateNodeHandlerFile — every registry node type is eval-safe in b
100
122
  try {
101
123
  const moduleObj = { exports: {} as Record<string, unknown> }
102
124
  // eslint-disable-next-line no-new-func
103
- new Function('module', 'exports', code)(moduleObj, moduleObj.exports)
125
+ new Function('module', 'exports', 'require', code)(
126
+ moduleObj,
127
+ moduleObj.exports,
128
+ requireStub
129
+ )
104
130
  if (typeof moduleObj.exports[type] !== 'function') {
105
131
  offenders.push(`${type} (value not callable)`)
106
132
  }
@@ -0,0 +1,262 @@
1
+ import {
2
+ generateClientRuntimeCode,
3
+ generateSharedRuntimeUtilsCode,
4
+ } from '../src/executor-generator'
5
+ import {
6
+ generateServerSegmentAPIRoute,
7
+ generateStreamingServerSegmentAPIRoute,
8
+ } from '../src/api-route-generator'
9
+ import { nodeRegistry } from '../src'
10
+ import { EMAIL_LOCALE_HEADER } from '../src/email-locale'
11
+
12
+ /**
13
+ * A customer email carries one copy per project language on its node config
14
+ * (`localizedTemplates`, written by the editor's UIDL mapper). The runtime has
15
+ * to pick the copy of the language the visitor is browsing in — or, for an
16
+ * email bound to a stored locale (an order's, a cart's), that language — and
17
+ * it has to do so in `resolveConfig`, the one function every execution path
18
+ * funnels a node config through, BEFORE the `{{token}}` fill.
19
+ *
20
+ * Executed, not grepped: what matters is which body a provider handler
21
+ * receives.
22
+ */
23
+
24
+ type ResolveConfig = (
25
+ config: Record<string, unknown>,
26
+ context: Record<string, unknown>
27
+ ) => Record<string, unknown>
28
+
29
+ interface Runtime {
30
+ resolveConfig: ResolveConfig
31
+ resolveEmailLocale: (config: Record<string, unknown>, context: Record<string, unknown>) => string
32
+ resolveWorkflowLocale: (req: unknown, incomingContext: unknown) => string
33
+ getClientLocale: () => string | null
34
+ }
35
+
36
+ function loadRuntime(emailLocales?: { locales: string[]; defaultLocale: string }): Runtime {
37
+ const code = generateSharedRuntimeUtilsCode(emailLocales ? { emailLocales } : {})
38
+ const moduleShim = { exports: {} as Runtime }
39
+ // eslint-disable-next-line no-new-func
40
+ new Function('module', 'exports', 'require', 'process', code)(
41
+ moduleShim,
42
+ moduleShim.exports,
43
+ () => ({}),
44
+ { env: {} }
45
+ )
46
+ return moduleShim.exports
47
+ }
48
+
49
+ const wfCtx = (nodeId: string, path: string[]) => ({
50
+ type: 'workflowContext',
51
+ nodeId,
52
+ path: [nodeId, ...path],
53
+ })
54
+
55
+ const emailConfig = (over: Record<string, unknown> = {}) => ({
56
+ to: 'jane@example.com',
57
+ subject: 'Your order {{orderNumber}} shipped',
58
+ body: '<p>Hi {{customerName}}, order {{orderNumber}} is on its way.</p>',
59
+ localizedTemplates: {
60
+ es: {
61
+ subject: 'Tu pedido {{orderNumber}} ha sido enviado',
62
+ body: '<p>Hola {{customerName}}, el pedido {{orderNumber}} está en camino.</p>',
63
+ },
64
+ fr: { body: '<p>Bonjour {{customerName}}, la commande {{orderNumber}} est en route.</p>' },
65
+ },
66
+ templateParams: [
67
+ { key: 'customerName', value: wfCtx('tokens', ['customerName']) },
68
+ { key: 'orderNumber', value: wfCtx('tokens', ['orderNumber']) },
69
+ ],
70
+ ...over,
71
+ })
72
+
73
+ const tokens = { customerName: 'Jane', orderNumber: 'ORD-42' }
74
+
75
+ describe('resolveConfig picks the localized email copy', () => {
76
+ const runtime = loadRuntime({ locales: ['en', 'es', 'fr'], defaultLocale: 'en' })
77
+
78
+ it('sends the copy of the language the run started in, tokens filled', () => {
79
+ const resolved = runtime.resolveConfig(emailConfig(), { tokens, __locale: 'es' })
80
+ expect(resolved.subject).toBe('Tu pedido ORD-42 ha sido enviado')
81
+ expect(resolved.body).toBe('<p>Hola Jane, el pedido ORD-42 está en camino.</p>')
82
+ })
83
+
84
+ it('keeps the main subject when the language copy has none', () => {
85
+ const resolved = runtime.resolveConfig(emailConfig(), { tokens, __locale: 'fr' })
86
+ expect(resolved.subject).toBe('Your order ORD-42 shipped')
87
+ expect(resolved.body).toBe('<p>Bonjour Jane, la commande ORD-42 est en route.</p>')
88
+ })
89
+
90
+ it('sends the main copy for the default language and for a run without a locale', () => {
91
+ for (const context of [{ tokens, __locale: 'en' }, { tokens }, { tokens, __locale: 'de' }]) {
92
+ const resolved = runtime.resolveConfig(emailConfig(), context)
93
+ expect(resolved.subject).toBe('Your order ORD-42 shipped')
94
+ expect(resolved.body).toBe('<p>Hi Jane, order ORD-42 is on its way.</p>')
95
+ }
96
+ })
97
+
98
+ it('never lets the per-language map reach the provider handler', () => {
99
+ const resolved = runtime.resolveConfig(emailConfig(), { tokens, __locale: 'es' })
100
+ expect(resolved).not.toHaveProperty('localizedTemplates')
101
+ expect(resolved).not.toHaveProperty('emailLocale')
102
+ })
103
+
104
+ it('lets a bound locale (the order’s) override the run’s language', () => {
105
+ const resolved = runtime.resolveConfig(
106
+ emailConfig({ emailLocale: wfCtx('tokens', ['locale']) }),
107
+ { tokens: { ...tokens, locale: 'es' }, __locale: 'fr' }
108
+ )
109
+ expect(resolved.body).toBe('<p>Hola Jane, el pedido ORD-42 está en camino.</p>')
110
+ expect(resolved).not.toHaveProperty('emailLocale')
111
+ })
112
+
113
+ it('treats an EMPTY bound locale as the default language, never the run’s', () => {
114
+ // An admin shipping an order from the Spanish admin is not the buyer: an
115
+ // order written before the locale column existed must not inherit the
116
+ // admin's language.
117
+ const resolved = runtime.resolveConfig(
118
+ emailConfig({ emailLocale: wfCtx('tokens', ['locale']) }),
119
+ { tokens: { ...tokens, locale: null }, __locale: 'es' }
120
+ )
121
+ expect(resolved.body).toBe('<p>Hi Jane, order ORD-42 is on its way.</p>')
122
+ })
123
+
124
+ it('resolves a bound locale case-insensitively to the canonical code', () => {
125
+ expect(runtime.resolveEmailLocale({ emailLocale: 'ES' }, { __locale: 'fr' })).toBe('es')
126
+ expect(runtime.resolveEmailLocale({}, { __locale: 'FR' })).toBe('fr')
127
+ expect(runtime.resolveEmailLocale({}, {})).toBe('en')
128
+ })
129
+
130
+ it('leaves a raw-bodied node without copies untouched', () => {
131
+ const resolved = runtime.resolveConfig(
132
+ { subject: 'Plain', body: '<p>Plain</p>', to: 'a@b.c' },
133
+ { __locale: 'es' }
134
+ )
135
+ expect(resolved).toEqual({ subject: 'Plain', body: '<p>Plain</p>', to: 'a@b.c' })
136
+ })
137
+ })
138
+
139
+ describe('resolveWorkflowLocale', () => {
140
+ const runtime = loadRuntime({ locales: ['en', 'es'], defaultLocale: 'en' })
141
+
142
+ it('trusts the (validated) locale the client context carried', () => {
143
+ expect(
144
+ runtime.resolveWorkflowLocale(
145
+ { headers: { [EMAIL_LOCALE_HEADER]: 'en' } },
146
+ { __locale: 'es' }
147
+ )
148
+ ).toBe('es')
149
+ })
150
+
151
+ it('reads the request when the context carries nothing usable', () => {
152
+ expect(
153
+ runtime.resolveWorkflowLocale(
154
+ { headers: { referer: 'https://x/es/cart' } },
155
+ { __locale: 'xx' }
156
+ )
157
+ ).toBe('es')
158
+ expect(runtime.resolveWorkflowLocale({ headers: {} }, {})).toBe('en')
159
+ })
160
+ })
161
+
162
+ describe('a project without internationalization', () => {
163
+ const runtime = loadRuntime()
164
+
165
+ it('keeps the single template even when a copy map is present', () => {
166
+ const resolved = runtime.resolveConfig(emailConfig(), { tokens, __locale: 'es' })
167
+ expect(resolved.body).toBe('<p>Hi Jane, order ORD-42 is on its way.</p>')
168
+ expect(resolved).not.toHaveProperty('localizedTemplates')
169
+ })
170
+
171
+ it('has no client locale outside a browser', () => {
172
+ expect(runtime.getClientLocale()).toBeNull()
173
+ })
174
+ })
175
+
176
+ describe('server segment routes carry the run locale', () => {
177
+ const segment = {
178
+ id: 'seg-1',
179
+ env: 'server' as const,
180
+ nodes: [
181
+ {
182
+ id: 'email-1',
183
+ type: 'email-resend',
184
+ config: { to: 'a@b.c', subject: 'S', body: 'B' },
185
+ executionEnv: 'server' as const,
186
+ stepNumber: 1,
187
+ label: 'Send',
188
+ },
189
+ ],
190
+ edges: [] as any[],
191
+ }
192
+
193
+ it('sets context.__locale from the client context or the request', () => {
194
+ const code = generateServerSegmentAPIRoute(segment as any, 'wf')
195
+ expect(code).toContain('context.__locale = utils.resolveWorkflowLocale(req, incomingContext);')
196
+ })
197
+
198
+ it('does so in the streaming route too', () => {
199
+ const code = generateStreamingServerSegmentAPIRoute(segment as any, 'wf')
200
+ expect(code).toContain('context.__locale = utils.resolveWorkflowLocale(req, body.context);')
201
+ })
202
+ })
203
+
204
+ describe('account routes receive the page language', () => {
205
+ it('signup and delete handlers send the locale header the routes read', () => {
206
+ for (const nodeType of ['account-signup', 'account-delete-current']) {
207
+ const source = nodeRegistry[nodeType].generateHandler()
208
+ expect(source).toContain(`'${EMAIL_LOCALE_HEADER}'`)
209
+ expect(source).toContain('__locale')
210
+ }
211
+ })
212
+
213
+ it('the signup handler never forwards the per-language copies as user columns', () => {
214
+ expect(nodeRegistry['account-signup'].generateHandler()).toContain('localizedTemplates: true')
215
+ })
216
+ })
217
+
218
+ describe('the client runtime stamps the page language on every run', () => {
219
+ const extractBuildContext = (): ((
220
+ config: unknown,
221
+ trigger: unknown
222
+ ) => Record<string, unknown>) => {
223
+ const src = generateClientRuntimeCode()
224
+ const match = src.match(/function buildContext\b[\s\S]*?\n\}/)
225
+ if (!match) {
226
+ throw new Error('buildContext not found in generated runtime')
227
+ }
228
+ // eslint-disable-next-line no-new-func
229
+ return new Function('utils', `${match[0]}\nreturn buildContext;`)(
230
+ loadRuntime({ locales: ['en', 'es'], defaultLocale: 'en' })
231
+ )
232
+ }
233
+
234
+ const withWindow = <T>(locale: string | undefined, run: () => T): T => {
235
+ const globalRef = globalThis as { window?: unknown; document?: unknown }
236
+ globalRef.window = { __NEXT_DATA__: { locale } }
237
+ globalRef.document = { documentElement: { lang: '' } }
238
+ try {
239
+ return run()
240
+ } finally {
241
+ delete globalRef.window
242
+ delete globalRef.document
243
+ }
244
+ }
245
+
246
+ it('reads the active Next.js locale into context.__locale', () => {
247
+ const buildContext = extractBuildContext()
248
+ const context = withWindow('es', () => buildContext({ triggerNodeId: 't' }, { clicked: true }))
249
+ expect(context.__locale).toBe('es')
250
+ expect(context.t).toEqual({ clicked: true })
251
+ })
252
+
253
+ it('leaves the context without a locale when the page has none the project knows', () => {
254
+ const buildContext = extractBuildContext()
255
+ expect(
256
+ withWindow(undefined, () => buildContext({ triggerNodeId: 't' }, {}))
257
+ ).not.toHaveProperty('__locale')
258
+ expect(withWindow('de', () => buildContext({ triggerNodeId: 't' }, {}))).not.toHaveProperty(
259
+ '__locale'
260
+ )
261
+ })
262
+ })
@@ -197,7 +197,7 @@ describe('sent-email ledger — invoice, welcome, farewell', () => {
197
197
  })
198
198
  expect(signup).toContain('emailType: "welcome"')
199
199
  expect(signup).toContain('tokenValues: tokenValues, userId: userId')
200
- expect(signup).toContain('}, newUser && newUser.id);')
200
+ expect(signup).toContain('}, newUser && newUser.id, __emailLocale.resolveRequestLocale(req));')
201
201
  expect(signup).toContain(
202
202
  "if (typeof __sentEmailLog !== 'undefined') { await __sentEmailLog.settleSentEmailLog(); }"
203
203
  )
@@ -210,7 +210,7 @@ describe('sent-email ledger — invoice, welcome, farewell', () => {
210
210
  emailBodyHtml: '<p>Bye</p>',
211
211
  })
212
212
  expect(del).toContain('emailType: "account-deleted"')
213
- expect(del).toContain('}, userId);')
213
+ expect(del).toContain('}, userId, __emailLocale.resolveRequestLocale(req));')
214
214
  expect(del).toContain('await __sentEmailLog.settleSentEmailLog()')
215
215
 
216
216
  const silent = generateAccountDeleteRoute({ authUsersTableName: 'users' })
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Generates the dedicated API route that backs the `account-delete-current`
3
+ * workflow node: `pages/api/account/delete-current.js`.
4
+ *
5
+ * The client node calls this route, which:
6
+ * 1. resolves the current user from the NextAuth session (never trusting a
7
+ * client-supplied id),
8
+ * 2. runs a single DB transaction that detaches + anonymises business/legal
9
+ * records (orders, withdrawal requests) so tracking survives, deletes the
10
+ * user's personal data (reviews, cart, favourites, chat history) and the
11
+ * user row, and
12
+ * 3. best-effort sends the farewell email (a failed send never fails the
13
+ * deletion).
14
+ *
15
+ * Every table statement is guarded by a runtime `information_schema` column
16
+ * check, so the route is a no-op for feature tables a given project never
17
+ * provisioned.
18
+ */
19
+ import { UIDLLocalizedEmailTemplates } from '@teleporthq/teleport-types';
1
20
  export interface AccountDeleteRouteOptions {
2
21
  authUsersTableName?: string;
3
22
  emailProvider?: string | null;
@@ -5,6 +24,7 @@ export interface AccountDeleteRouteOptions {
5
24
  emailSecretEnvName?: string | null;
6
25
  emailSubject?: string;
7
26
  emailBodyHtml?: string;
27
+ localizedTemplates?: UIDLLocalizedEmailTemplates;
8
28
  siteName?: string;
9
29
  deletedEmailPattern?: string;
10
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete-route-generator.d.ts","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,yBAAyB;IAExC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAID,eAAO,MAAM,8BAA8B,+CAAiC,CAAA;AAE5E,eAAO,MAAM,0BAA0B,aAAa,yBAAyB,KAAQ,MAuOpF,CAAA"}
1
+ {"version":3,"file":"account-delete-route-generator.d.ts","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAYxE,MAAM,WAAW,yBAAyB;IAExC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAEhD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAID,eAAO,MAAM,8BAA8B,+CAAiC,CAAA;AAE5E,eAAO,MAAM,0BAA0B,aAAa,yBAAyB,KAAQ,MAmPpF,CAAA"}
@@ -1,24 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateAccountDeleteRoute = exports.accountDeleteRouteDependencies = void 0;
4
- /**
5
- * Generates the dedicated API route that backs the `account-delete-current`
6
- * workflow node: `pages/api/account/delete-current.js`.
7
- *
8
- * The client node calls this route, which:
9
- * 1. resolves the current user from the NextAuth session (never trusting a
10
- * client-supplied id),
11
- * 2. runs a single DB transaction that detaches + anonymises business/legal
12
- * records (orders, withdrawal requests) so tracking survives, deletes the
13
- * user's personal data (reviews, cart, favourites, chat history) and the
14
- * user row, and
15
- * 3. best-effort sends the farewell email (a failed send never fails the
16
- * deletion).
17
- *
18
- * Every table statement is guarded by a runtime `information_schema` column
19
- * check, so the route is a no-op for feature tables a given project never
20
- * provisioned.
21
- */
22
4
  const pg_client_code_1 = require("./pg-client-code");
23
5
  const session_cookie_resolver_1 = require("./session-cookie-resolver");
24
6
  const transactional_email_code_1 = require("./transactional-email-code");
@@ -41,6 +23,8 @@ const EMAIL_FROM = ${JSON.stringify(options.fromEmail || '')};
41
23
  const EMAIL_SECRET_ENV_NAME = ${JSON.stringify(options.emailSecretEnvName || '')};
42
24
  const EMAIL_SUBJECT = ${JSON.stringify(options.emailSubject || 'Your account has been deleted')};
43
25
  const EMAIL_BODY_HTML = ${JSON.stringify(options.emailBodyHtml || '')};
26
+ const EMAIL_LOCALIZED = ${JSON.stringify(options.localizedTemplates || {})};
27
+ ${(0, transactional_email_code_1.generateEmailLocaleRequire)('../../..')}
44
28
 
45
29
  // Personal data owned by the user — rows are DELETED (keyed by user_id). Messages
46
30
  // are deleted before conversations so a conversation delete only cascades leftovers.
@@ -135,6 +119,13 @@ async function anonymizeInvoices(client, ordersTable, invoicesTable, userId, syn
135
119
 
136
120
  ${(0, transactional_email_code_1.generateFillTemplateFn)()}
137
121
 
122
+ ${(0, transactional_email_code_1.generateLocalizedEmailCopyFn)({
123
+ fnName: 'resolveFarewellEmailCopy',
124
+ subjectConst: 'EMAIL_SUBJECT',
125
+ bodyConst: 'EMAIL_BODY_HTML',
126
+ localizedConst: 'EMAIL_LOCALIZED',
127
+ })}
128
+
138
129
  ${(0, transactional_email_code_1.generateProviderSendFunction)(provider, {
139
130
  emailType: 'account-deleted',
140
131
  source: 'account-delete',
@@ -142,7 +133,9 @@ ${(0, transactional_email_code_1.generateProviderSendFunction)(provider, {
142
133
  relativePrefix: '../../..',
143
134
  })}
144
135
 
145
- async function sendFarewellEmail(toEmail, tokenValues, userId) {
136
+ // \`locale\` is the language of the page the deletion was requested from
137
+ // (see resolveRequestLocale); the email goes out in that language's copy.
138
+ async function sendFarewellEmail(toEmail, tokenValues, userId, locale) {
146
139
  if (!EMAIL_PROVIDER || !EMAIL_BODY_HTML || !toEmail) { return; }
147
140
  var apiKey = EMAIL_SECRET_ENV_NAME ? process.env[EMAIL_SECRET_ENV_NAME] : '';
148
141
  // Don't treat an unresolved deploy placeholder as a real credential.
@@ -150,8 +143,9 @@ async function sendFarewellEmail(toEmail, tokenValues, userId) {
150
143
  if (!apiKey) { console.warn('[account-delete] farewell email skipped: credential not set'); return; }
151
144
  var from = EMAIL_FROM || process.env.EMAIL_FROM || '';
152
145
  if (!from) { console.warn('[account-delete] farewell email skipped: sender not configured'); return; }
153
- var subject = fillTemplate(EMAIL_SUBJECT, tokenValues);
154
- var html = fillTemplate(EMAIL_BODY_HTML, tokenValues);
146
+ var copy = resolveFarewellEmailCopy(locale);
147
+ var subject = fillTemplate(copy.subject, tokenValues);
148
+ var html = fillTemplate(copy.body, tokenValues);
155
149
  await __sendProviderEmail({ from: from, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
156
150
  }
157
151
 
@@ -236,7 +230,7 @@ module.exports = async function handler(req, res) {
236
230
  userName: userName || 'there',
237
231
  userEmail: userEmail,
238
232
  siteName: resolvedSiteName,
239
- }, userId);
233
+ }, userId, __emailLocale.resolveRequestLocale(req));
240
234
  } catch (emailErr) {
241
235
  console.error(
242
236
  '[account-delete] farewell email failed:',
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete-route-generator.js","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,qDAAuD;AACvD,uEAAoF;AACpF,yEAKmC;AAmBnC,+EAA+E;AAC/E,oFAAoF;AACvE,QAAA,8BAA8B,GAAG,yDAA8B,CAAA;AAErE,MAAM,0BAA0B,GAAG,CAAC,UAAqC,EAAE,EAAU,EAAE;IAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAA;IAC5D,MAAM,QAAQ,GACZ,OAAO,CAAC,aAAa,IAAI,oDAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC3E,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,IAAI,CAAA;IACV,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB,IAAI,yCAAyC,CAAA;IAE1E,OAAO,GAAG,IAAA,qCAAoB,GAAE;EAChC,IAAA,kEAAwC,GAAE;2BACjB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gCAC1B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;yBAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;qBAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;gCAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;wBACxD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,IAAI,+BAA+B,CAAC;0BACrE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6FnE,IAAA,iDAAsB,GAAE;;EAExB,IAAA,uDAA4B,EAAC,QAAQ,EAAE;QACvC,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,4BAA4B;QACvC,cAAc,EAAE,UAAU;KAC3B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwGA,QAAQ;QACN,CAAC,CAAC;;CAEL;QACG,CAAC,CAAC,EACN;;;CAGC,CAAA;AACD,CAAC,CAAA;AAvOY,QAAA,0BAA0B,8BAuOtC"}
1
+ {"version":3,"file":"account-delete-route-generator.js","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":";;;AAmBA,qDAAuD;AACvD,uEAAoF;AACpF,yEAOmC;AAsBnC,+EAA+E;AAC/E,oFAAoF;AACvE,QAAA,8BAA8B,GAAG,yDAA8B,CAAA;AAErE,MAAM,0BAA0B,GAAG,CAAC,UAAqC,EAAE,EAAU,EAAE;IAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAA;IAC5D,MAAM,QAAQ,GACZ,OAAO,CAAC,aAAa,IAAI,oDAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC3E,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,IAAI,CAAA;IACV,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB,IAAI,yCAAyC,CAAA;IAE1E,OAAO,GAAG,IAAA,qCAAoB,GAAE;EAChC,IAAA,kEAAwC,GAAE;2BACjB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gCAC1B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;yBAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;qBAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;gCAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;wBACxD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,IAAI,+BAA+B,CAAC;0BACrE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;0BAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;EACxE,IAAA,qDAA0B,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6FtC,IAAA,iDAAsB,GAAE;;EAExB,IAAA,uDAA4B,EAAC;QAC7B,MAAM,EAAE,0BAA0B;QAClC,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,iBAAiB;QAC5B,cAAc,EAAE,iBAAiB;KAClC,CAAC;;EAEA,IAAA,uDAA4B,EAAC,QAAQ,EAAE;QACvC,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,4BAA4B;QACvC,cAAc,EAAE,UAAU;KAC3B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2GA,QAAQ;QACN,CAAC,CAAC;;CAEL;QACG,CAAC,CAAC,EACN;;;CAGC,CAAA;AACD,CAAC,CAAA;AAnPY,QAAA,0BAA0B,8BAmPtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-route-generator.d.ts","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAyBzC,eAAO,MAAM,6BAA6B,YAC/B,eAAe,iBACT,MAAM,eACR,sBAAsB,KAClC,MAsXF,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAa,eAAe,KAAG,OAE7D,CAAA;AAED,eAAO,MAAM,sCAAsC,YACxC,eAAe,iBACT,MAAM,eACR,sBAAsB,KAClC,MA+bF,CAAA;AAyJD,eAAO,MAAM,oBAAoB,aACrB,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MA4FF,CAAA;AAED,eAAO,MAAM,mBAAmB,eAClB,MAAM,aACP,MAAM,iBACF,MAAM,KACpB,MAuBF,CAAA;AAED,eAAO,MAAM,oBAAoB,aAAc,YAAY,KAAG,MAa7D,CAAA;AAoRD,eAAO,MAAM,+BAA+B,aAChC,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MA6MF,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAc,YAAY,KAAG,MAiBhE,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAc,YAAY,KAAG,MAAM,EAqBlE,CAAA"}
1
+ {"version":3,"file":"api-route-generator.d.ts","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA0BzC,eAAO,MAAM,6BAA6B,YAC/B,eAAe,iBACT,MAAM,eACR,sBAAsB,KAClC,MA2XF,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAa,eAAe,KAAG,OAE7D,CAAA;AAED,eAAO,MAAM,sCAAsC,YACxC,eAAe,iBACT,MAAM,eACR,sBAAsB,KAClC,MAkcF,CAAA;AAyJD,eAAO,MAAM,oBAAoB,aACrB,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MA6FF,CAAA;AAED,eAAO,MAAM,mBAAmB,eAClB,MAAM,aACP,MAAM,iBACF,MAAM,KACpB,MAuBF,CAAA;AAED,eAAO,MAAM,oBAAoB,aAAc,YAAY,KAAG,MAa7D,CAAA;AAoRD,eAAO,MAAM,+BAA+B,aAChC,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MA8MF,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAc,YAAY,KAAG,MAiBhE,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAc,YAAY,KAAG,MAAM,EAqBlE,CAAA"}
@@ -7,6 +7,7 @@ const graph_utils_1 = require("./graph-utils");
7
7
  const webhook_signature_verification_1 = require("./webhook-signature-verification");
8
8
  const workflow_auth_generator_1 = require("./workflow-auth-generator");
9
9
  const sent_email_log_scope_1 = require("./sent-email-log/sent-email-log-scope");
10
+ const workflow_utils_alias_1 = require("./workflow-utils-alias");
10
11
  // Workflow/segment names, cron schedules, and webhook paths are free-form
11
12
  // UIDL data — never guaranteed not to contain `*/`. Every generated route
12
13
  // file opens with a `/** ... */` JSDoc header interpolating these values
@@ -57,6 +58,7 @@ const generateServerSegmentAPIRoute = (segment, workflowName, protection) => {
57
58
  return `${header}
58
59
  const utils = require('../../../utils/workflows/server-runtime');
59
60
  ${auth.requireLine}const resolveConfig = utils.resolveConfig;
61
+ ${(0, workflow_utils_alias_1.workflowUtilsAliasLine)('utils')}
60
62
  ${generateSentEmailLogPreamble(usedNodeTypes, '../../..')}
61
63
  const SEGMENT_CONFIG = ${segmentConfig};
62
64
  ${auth.policyConst}
@@ -87,7 +89,11 @@ module.exports = async function handler(req, res) {
87
89
  // Credentials for this deployment's calls to its own /api/data routes —
88
90
  // without them a protected deployment 401s itself and every data node
89
91
  // returns no rows. See internalRequestHeaders in runtime-utils.
90
- context.__internalHeaders = utils.internalRequestHeaders(req);${auth.guardCall}
92
+ context.__internalHeaders = utils.internalRequestHeaders(req);
93
+ // The language of the page this run started on — carried by the client
94
+ // context, else read off the request — so a customer email node sends the
95
+ // copy that matches the storefront the visitor is browsing.
96
+ context.__locale = utils.resolveWorkflowLocale(req, incomingContext);${auth.guardCall}
91
97
  const sortedNodes = SEGMENT_CONFIG.nodes.slice().sort(function(a, b) { return a.stepNumber - b.stepNumber; });
92
98
 
93
99
  for (let i = 0; i < sortedNodes.length; i++) {
@@ -421,6 +427,7 @@ const generateStreamingServerSegmentAPIRoute = (segment, workflowName, protectio
421
427
  return `${header}
422
428
  const utils = require('../../../utils/workflows/server-runtime');
423
429
  ${auth.requireLine}const resolveConfig = utils.resolveConfig;
430
+ ${(0, workflow_utils_alias_1.workflowUtilsAliasLine)('utils')}
424
431
  ${generateSentEmailLogPreamble(usedNodeTypes, '../../..')}
425
432
  const SEGMENT_CONFIG = ${segmentConfig};
426
433
  ${auth.policyConst}
@@ -483,7 +490,9 @@ module.exports = async function handler(req, res) {
483
490
  // Credentials for this deployment's calls to its own /api/data routes —
484
491
  // without them a protected deployment 401s itself and every data node
485
492
  // returns no rows. See internalRequestHeaders in runtime-utils.
486
- context.__internalHeaders = utils.internalRequestHeaders(req);${auth.guardCall}
493
+ context.__internalHeaders = utils.internalRequestHeaders(req);
494
+ // See the non-streaming segment route: the run's language.
495
+ context.__locale = utils.resolveWorkflowLocale(req, body.context);${auth.guardCall}
487
496
  const sortedNodes = SEGMENT_CONFIG.nodes.slice().sort(function(a, b) { return a.stepNumber - b.stepNumber; });
488
497
  const executed = {};
489
498
 
@@ -1015,6 +1024,7 @@ const generateCronAPIRoute = (workflow, customNodes) => {
1015
1024
 
1016
1025
  const utils = require('../../../utils/workflows/server-runtime');
1017
1026
  const resolveConfig = utils.resolveConfig;
1027
+ ${(0, workflow_utils_alias_1.workflowUtilsAliasLine)('utils')}
1018
1028
  ${customNodesImport}${generateSentEmailLogPreamble(allNodeTypes, '../../..')}
1019
1029
  const WORKFLOW_CONFIG = ${workflowConfig};
1020
1030
 
@@ -1442,6 +1452,7 @@ if (typeof globalThis.fetch === 'undefined') {
1442
1452
 
1443
1453
  const utils = require('${relativePrefix}/utils/workflows/server-runtime');
1444
1454
  const resolveConfig = utils.resolveConfig;
1455
+ ${(0, workflow_utils_alias_1.workflowUtilsAliasLine)('utils')}
1445
1456
  ${customNodesImport}${generateSentEmailLogPreamble(allNodeTypes, relativePrefix)}
1446
1457
  ${getRawBodyCode}
1447
1458
 
@@ -1 +1 @@
1
- {"version":3,"file":"api-route-generator.js","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-route-generator.js","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { UIDLAuthentication, UIDLAuthTableColumn, UIDLCustomUserProperty, DataSourceType } from '@teleporthq/teleport-types';
1
+ import { UIDLAuthentication, UIDLAuthTableColumn, UIDLCustomUserProperty, UIDLLocalizedEmailTemplates, DataSourceType } from '@teleporthq/teleport-types';
2
2
  export declare const getDatabaseDriverDependencies: (dataSourceType: DataSourceType | null) => Record<string, string>;
3
3
  /**
4
4
  * How long (ms) a JWT may serve the profile fields it already carries before
@@ -74,6 +74,7 @@ export interface WelcomeEmailOptions {
74
74
  emailSecretEnvName?: string | null;
75
75
  emailSubject?: string;
76
76
  emailBodyHtml?: string;
77
+ localizedTemplates?: UIDLLocalizedEmailTemplates;
77
78
  siteName?: string;
78
79
  }
79
80
  export declare const generateSignupRouteFile: (auth: UIDLAuthentication, welcome?: WelcomeEmailOptions) => string;