@teleporthq/teleport-plugin-next-workflows 0.43.41 → 0.43.44

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 (180) hide show
  1. package/__tests__/cart-availability-add-to-cart.test.ts +47 -0
  2. package/__tests__/component-scope-trigger-routing.test.ts +130 -0
  3. package/__tests__/cron-route-loop-templateparams.test.ts +144 -0
  4. package/__tests__/data-api-on-conflict-do-nothing.test.ts +35 -0
  5. package/__tests__/email-body-context-resolution.test.ts +126 -0
  6. package/__tests__/page-loaded-scoping-skip.test.ts +97 -0
  7. package/__tests__/raw-sql-param-binding.test.ts +138 -0
  8. package/__tests__/route-changed-trigger.test.ts +106 -0
  9. package/__tests__/state-update-missing-setter-warn.test.ts +180 -0
  10. package/dist/cjs/account-delete-route-generator.d.ts +13 -0
  11. package/dist/cjs/account-delete-route-generator.d.ts.map +1 -0
  12. package/dist/cjs/account-delete-route-generator.js +247 -0
  13. package/dist/cjs/account-delete-route-generator.js.map +1 -0
  14. package/dist/cjs/api-route-generator.d.ts +1 -1
  15. package/dist/cjs/api-route-generator.d.ts.map +1 -1
  16. package/dist/cjs/api-route-generator.js +29 -33
  17. package/dist/cjs/api-route-generator.js.map +1 -1
  18. package/dist/cjs/auth-generator.d.ts +9 -1
  19. package/dist/cjs/auth-generator.d.ts.map +1 -1
  20. package/dist/cjs/auth-generator.js +53 -2
  21. package/dist/cjs/auth-generator.js.map +1 -1
  22. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  23. package/dist/cjs/data-api-route-generator.js +11 -2
  24. package/dist/cjs/data-api-route-generator.js.map +1 -1
  25. package/dist/cjs/ecommerce/cart-availability.d.ts.map +1 -1
  26. package/dist/cjs/ecommerce/cart-availability.js +49 -2
  27. package/dist/cjs/ecommerce/cart-availability.js.map +1 -1
  28. package/dist/cjs/ecommerce/stock-decrement.d.ts +1 -1
  29. package/dist/cjs/ecommerce/stock-decrement.d.ts.map +1 -1
  30. package/dist/cjs/ecommerce/stock-decrement.js +48 -10
  31. package/dist/cjs/ecommerce/stock-decrement.js.map +1 -1
  32. package/dist/cjs/executor-generator.d.ts.map +1 -1
  33. package/dist/cjs/executor-generator.js +62 -0
  34. package/dist/cjs/executor-generator.js.map +1 -1
  35. package/dist/cjs/graph-utils.d.ts.map +1 -1
  36. package/dist/cjs/graph-utils.js +1 -0
  37. package/dist/cjs/graph-utils.js.map +1 -1
  38. package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
  39. package/dist/cjs/invoice/api-routes-code.js +2 -0
  40. package/dist/cjs/invoice/api-routes-code.js.map +1 -1
  41. package/dist/cjs/invoice/data-access-code.d.ts.map +1 -1
  42. package/dist/cjs/invoice/data-access-code.js +2 -0
  43. package/dist/cjs/invoice/data-access-code.js.map +1 -1
  44. package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
  45. package/dist/cjs/invoice/invoice-html-code.js +22 -2
  46. package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
  47. package/dist/cjs/nodes/account/account-delete-current.d.ts +3 -0
  48. package/dist/cjs/nodes/account/account-delete-current.d.ts.map +1 -0
  49. package/dist/cjs/nodes/account/account-delete-current.js +79 -0
  50. package/dist/cjs/nodes/account/account-delete-current.js.map +1 -0
  51. package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
  52. package/dist/cjs/nodes/account/account-signup.js +20 -1
  53. package/dist/cjs/nodes/account/account-signup.js.map +1 -1
  54. package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
  55. package/dist/cjs/nodes/data/data-create-item.js +7 -0
  56. package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
  57. package/dist/cjs/nodes/index.d.ts.map +1 -1
  58. package/dist/cjs/nodes/index.js +2 -1
  59. package/dist/cjs/nodes/index.js.map +1 -1
  60. package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
  61. package/dist/cjs/nodes/payment/payment-charge-user.js +9 -1
  62. package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
  63. package/dist/cjs/pg-client-code.d.ts +11 -0
  64. package/dist/cjs/pg-client-code.d.ts.map +1 -0
  65. package/dist/cjs/pg-client-code.js +75 -0
  66. package/dist/cjs/pg-client-code.js.map +1 -0
  67. package/dist/cjs/raw-sql-param-binding.d.ts +82 -0
  68. package/dist/cjs/raw-sql-param-binding.d.ts.map +1 -0
  69. package/dist/cjs/raw-sql-param-binding.js +321 -0
  70. package/dist/cjs/raw-sql-param-binding.js.map +1 -0
  71. package/dist/cjs/transactional-email-code.d.ts +6 -0
  72. package/dist/cjs/transactional-email-code.d.ts.map +1 -0
  73. package/dist/cjs/transactional-email-code.js +112 -0
  74. package/dist/cjs/transactional-email-code.js.map +1 -0
  75. package/dist/cjs/trigger-generator.d.ts.map +1 -1
  76. package/dist/cjs/trigger-generator.js +29 -0
  77. package/dist/cjs/trigger-generator.js.map +1 -1
  78. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  79. package/dist/cjs/workflow-component-plugin.js +60 -2
  80. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  81. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  82. package/dist/cjs/workflow-project-plugin.js +188 -28
  83. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  84. package/dist/esm/account-delete-route-generator.d.ts +13 -0
  85. package/dist/esm/account-delete-route-generator.d.ts.map +1 -0
  86. package/dist/esm/account-delete-route-generator.js +243 -0
  87. package/dist/esm/account-delete-route-generator.js.map +1 -0
  88. package/dist/esm/api-route-generator.d.ts +1 -1
  89. package/dist/esm/api-route-generator.d.ts.map +1 -1
  90. package/dist/esm/api-route-generator.js +29 -33
  91. package/dist/esm/api-route-generator.js.map +1 -1
  92. package/dist/esm/auth-generator.d.ts +9 -1
  93. package/dist/esm/auth-generator.d.ts.map +1 -1
  94. package/dist/esm/auth-generator.js +53 -2
  95. package/dist/esm/auth-generator.js.map +1 -1
  96. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  97. package/dist/esm/data-api-route-generator.js +11 -2
  98. package/dist/esm/data-api-route-generator.js.map +1 -1
  99. package/dist/esm/ecommerce/cart-availability.d.ts.map +1 -1
  100. package/dist/esm/ecommerce/cart-availability.js +49 -2
  101. package/dist/esm/ecommerce/cart-availability.js.map +1 -1
  102. package/dist/esm/ecommerce/stock-decrement.d.ts +1 -1
  103. package/dist/esm/ecommerce/stock-decrement.d.ts.map +1 -1
  104. package/dist/esm/ecommerce/stock-decrement.js +48 -10
  105. package/dist/esm/ecommerce/stock-decrement.js.map +1 -1
  106. package/dist/esm/executor-generator.d.ts.map +1 -1
  107. package/dist/esm/executor-generator.js +62 -0
  108. package/dist/esm/executor-generator.js.map +1 -1
  109. package/dist/esm/graph-utils.d.ts.map +1 -1
  110. package/dist/esm/graph-utils.js +1 -0
  111. package/dist/esm/graph-utils.js.map +1 -1
  112. package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
  113. package/dist/esm/invoice/api-routes-code.js +2 -0
  114. package/dist/esm/invoice/api-routes-code.js.map +1 -1
  115. package/dist/esm/invoice/data-access-code.d.ts.map +1 -1
  116. package/dist/esm/invoice/data-access-code.js +2 -0
  117. package/dist/esm/invoice/data-access-code.js.map +1 -1
  118. package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
  119. package/dist/esm/invoice/invoice-html-code.js +22 -2
  120. package/dist/esm/invoice/invoice-html-code.js.map +1 -1
  121. package/dist/esm/nodes/account/account-delete-current.d.ts +3 -0
  122. package/dist/esm/nodes/account/account-delete-current.d.ts.map +1 -0
  123. package/dist/esm/nodes/account/account-delete-current.js +76 -0
  124. package/dist/esm/nodes/account/account-delete-current.js.map +1 -0
  125. package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
  126. package/dist/esm/nodes/account/account-signup.js +20 -1
  127. package/dist/esm/nodes/account/account-signup.js.map +1 -1
  128. package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
  129. package/dist/esm/nodes/data/data-create-item.js +7 -0
  130. package/dist/esm/nodes/data/data-create-item.js.map +1 -1
  131. package/dist/esm/nodes/index.d.ts.map +1 -1
  132. package/dist/esm/nodes/index.js +2 -1
  133. package/dist/esm/nodes/index.js.map +1 -1
  134. package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
  135. package/dist/esm/nodes/payment/payment-charge-user.js +9 -1
  136. package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
  137. package/dist/esm/pg-client-code.d.ts +11 -0
  138. package/dist/esm/pg-client-code.d.ts.map +1 -0
  139. package/dist/esm/pg-client-code.js +71 -0
  140. package/dist/esm/pg-client-code.js.map +1 -0
  141. package/dist/esm/raw-sql-param-binding.d.ts +82 -0
  142. package/dist/esm/raw-sql-param-binding.d.ts.map +1 -0
  143. package/dist/esm/raw-sql-param-binding.js +314 -0
  144. package/dist/esm/raw-sql-param-binding.js.map +1 -0
  145. package/dist/esm/transactional-email-code.d.ts +6 -0
  146. package/dist/esm/transactional-email-code.d.ts.map +1 -0
  147. package/dist/esm/transactional-email-code.js +106 -0
  148. package/dist/esm/transactional-email-code.js.map +1 -0
  149. package/dist/esm/trigger-generator.d.ts.map +1 -1
  150. package/dist/esm/trigger-generator.js +29 -0
  151. package/dist/esm/trigger-generator.js.map +1 -1
  152. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  153. package/dist/esm/workflow-component-plugin.js +60 -2
  154. package/dist/esm/workflow-component-plugin.js.map +1 -1
  155. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  156. package/dist/esm/workflow-project-plugin.js +188 -28
  157. package/dist/esm/workflow-project-plugin.js.map +1 -1
  158. package/package.json +4 -4
  159. package/src/account-delete-route-generator.ts +269 -0
  160. package/src/api-route-generator.ts +35 -33
  161. package/src/auth-generator.ts +77 -2
  162. package/src/data-api-route-generator.ts +11 -2
  163. package/src/ecommerce/cart-availability.ts +49 -2
  164. package/src/ecommerce/stock-decrement.ts +48 -10
  165. package/src/executor-generator.ts +62 -0
  166. package/src/graph-utils.ts +1 -0
  167. package/src/invoice/api-routes-code.ts +2 -0
  168. package/src/invoice/data-access-code.ts +2 -0
  169. package/src/invoice/invoice-html-code.ts +22 -2
  170. package/src/nodes/account/account-delete-current.ts +86 -0
  171. package/src/nodes/account/account-signup.ts +20 -1
  172. package/src/nodes/data/data-create-item.ts +7 -0
  173. package/src/nodes/index.ts +2 -0
  174. package/src/nodes/payment/payment-charge-user.ts +9 -1
  175. package/src/pg-client-code.ts +70 -0
  176. package/src/raw-sql-param-binding.ts +406 -0
  177. package/src/transactional-email-code.ts +112 -0
  178. package/src/trigger-generator.ts +35 -0
  179. package/src/workflow-component-plugin.ts +71 -2
  180. package/src/workflow-project-plugin.ts +221 -26
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ /**
3
+ * SECURITY NET — parameterize interpolated context/state values in raw-SQL nodes.
4
+ *
5
+ * Runs at GENERATION time (in the workflows plugin's `runBefore`), BEFORE any
6
+ * node config is emitted or redacted. For every raw-SQL-bearing node config it
7
+ * rewrites each `{{ … }}` VALUE interpolation into a positional `$N` placeholder
8
+ * and moves the bound value into the sibling `params` / `rawQueryUserPartParams`
9
+ * array:
10
+ * - a `{{ name }}` matching a `queryVariables` entry binds that entry's value
11
+ * (a `workflowContext` ref, resolved to the node output at runtime, or a
12
+ * literal string);
13
+ * - any other `{{ … }}` token (e.g. `{{state.X}}`) keeps its `{{ … }}` text in
14
+ * the params entry so the runtime executor resolves it to a concrete value.
15
+ * Either way the value binds via `client.query(sql, params)`, never as inline
16
+ * SQL text — SQL injection is impossible for the value class. Identifier-position
17
+ * tokens (and context refs inside a string literal) cannot be bound, so they are
18
+ * left in the query and reported as residuals; the workflow FAILS LOUDLY.
19
+ *
20
+ * PAIRED with the GUI source-of-truth
21
+ * `teleport-gui/packages/workflow-schema/src/validation/raw-sql-param-binding.ts`
22
+ * and the worker's
23
+ * `teleport-services-worker/.../ai-generation/utils/workflows/raw-sql-param-binding.ts`.
24
+ * Keep all three in sync.
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.parameterizeAllWorkflowRawSql = exports.parameterizeWorkflowRawSqlInterpolations = exports.WorkflowSqlInterpolationError = exports.parameterizeRawSqlInterpolations = void 0;
28
+ const TEMPLATE_TOKEN_RE = /\{\{[\s\S]*?\}\}/g;
29
+ const SENTINEL = '\x01';
30
+ const SENTINEL_MARKER = 'TQP';
31
+ const escapeRegExp = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
32
+ const LEADING_SENTINEL_RE = new RegExp(`^${escapeRegExp(SENTINEL)}${SENTINEL_MARKER}(\\d+)${escapeRegExp(SENTINEL)}`);
33
+ const SENTINEL_EXPAND_RE = new RegExp(`${escapeRegExp(SENTINEL)}${SENTINEL_MARKER}(\\d+)${escapeRegExp(SENTINEL)}`, 'g');
34
+ const VALUE_OPERATOR_CHARS = '=<>(,+-*/%|~';
35
+ const VALUE_KEYWORDS = new Set([
36
+ 'LIKE',
37
+ 'ILIKE',
38
+ 'IN',
39
+ 'VALUES',
40
+ 'LIMIT',
41
+ 'OFFSET',
42
+ 'AND',
43
+ 'OR',
44
+ 'BETWEEN',
45
+ ]);
46
+ function isValueContext(prefix) {
47
+ const trimmed = prefix.replace(/\s+$/, '');
48
+ if (trimmed.length === 0) {
49
+ return false;
50
+ }
51
+ const last = trimmed[trimmed.length - 1];
52
+ if (VALUE_OPERATOR_CHARS.indexOf(last) !== -1) {
53
+ return true;
54
+ }
55
+ const wordMatch = /([A-Za-z_]+)$/.exec(trimmed);
56
+ if (wordMatch && VALUE_KEYWORDS.has(wordMatch[1].toUpperCase())) {
57
+ return true;
58
+ }
59
+ return false;
60
+ }
61
+ function maxExistingPlaceholder(query) {
62
+ let max = 0;
63
+ const re = /\$(\d+)/g;
64
+ let m = re.exec(query);
65
+ while (m !== null) {
66
+ const n = parseInt(m[1], 10);
67
+ if (n > max) {
68
+ max = n;
69
+ }
70
+ m = re.exec(query);
71
+ }
72
+ return max;
73
+ }
74
+ function tokenName(token) {
75
+ return token
76
+ .replace(/^\{\{\s*/, '')
77
+ .replace(/\s*\}\}$/, '')
78
+ .trim();
79
+ }
80
+ function indexVariables(variables) {
81
+ const map = new Map();
82
+ if (!Array.isArray(variables)) {
83
+ return map;
84
+ }
85
+ for (const v of variables) {
86
+ if (v && typeof v.name === 'string' && v.name.length > 0) {
87
+ map.set(v.name, v.value);
88
+ }
89
+ }
90
+ return map;
91
+ }
92
+ function isContextRef(value) {
93
+ return (!!value && typeof value === 'object' && value.type === 'workflowContext');
94
+ }
95
+ function parameterizeRawSqlInterpolations(rawQuery, variables = [], startIndex = 0) {
96
+ var _a, _b;
97
+ if (typeof rawQuery !== 'string' || rawQuery.indexOf('{{') === -1) {
98
+ return { query: rawQuery, params: [], residuals: [], changed: false };
99
+ }
100
+ const varMap = indexVariables(variables);
101
+ const paramFor = (token) => {
102
+ const match = varMap.get(tokenName(token));
103
+ return match !== undefined ? match : token;
104
+ };
105
+ const tokens = [];
106
+ const sentinelized = rawQuery.replace(TEMPLATE_TOKEN_RE, (match) => {
107
+ const idx = tokens.length;
108
+ tokens.push(match);
109
+ return `${SENTINEL}TQP${idx}${SENTINEL}`;
110
+ });
111
+ const expand = (s) => s.replace(SENTINEL_EXPAND_RE, (_full, d) => tokens[parseInt(d, 10)]);
112
+ const params = [];
113
+ let out = '';
114
+ let i = 0;
115
+ let paramN = Math.max(startIndex, maxExistingPlaceholder(rawQuery));
116
+ const n = sentinelized.length;
117
+ while (i < n) {
118
+ const ch = sentinelized[i];
119
+ if (ch === "'") {
120
+ let j = i + 1;
121
+ let body = '';
122
+ let closed = false;
123
+ while (j < n) {
124
+ if (sentinelized[j] === "'" && sentinelized[j + 1] === "'") {
125
+ body += "''";
126
+ j += 2;
127
+ continue;
128
+ }
129
+ if (sentinelized[j] === "'") {
130
+ j++;
131
+ closed = true;
132
+ break;
133
+ }
134
+ body += sentinelized[j];
135
+ j++;
136
+ }
137
+ const bodyTokens = (_a = expand(body).match(TEMPLATE_TOKEN_RE)) !== null && _a !== void 0 ? _a : [];
138
+ const hasRefToken = bodyTokens.some((t) => isContextRef(paramFor(t)));
139
+ if (closed && body.indexOf(SENTINEL) !== -1 && !hasRefToken) {
140
+ paramN++;
141
+ params.push(expand(body).replace(/''/g, "'"));
142
+ out += '$' + paramN;
143
+ }
144
+ else {
145
+ out += "'" + expand(body) + (closed ? "'" : '');
146
+ }
147
+ i = j;
148
+ continue;
149
+ }
150
+ if (ch === SENTINEL) {
151
+ const m = LEADING_SENTINEL_RE.exec(sentinelized.slice(i));
152
+ if (m) {
153
+ const token = tokens[parseInt(m[1], 10)];
154
+ if (isValueContext(out)) {
155
+ paramN++;
156
+ params.push(paramFor(token));
157
+ out += '$' + paramN;
158
+ }
159
+ else {
160
+ out += token;
161
+ }
162
+ i += m[0].length;
163
+ continue;
164
+ }
165
+ }
166
+ out += ch;
167
+ i++;
168
+ }
169
+ out = expand(out);
170
+ const residuals = (_b = out.match(TEMPLATE_TOKEN_RE)) !== null && _b !== void 0 ? _b : [];
171
+ return {
172
+ query: out,
173
+ params,
174
+ residuals,
175
+ changed: params.length > 0 || residuals.length > 0,
176
+ };
177
+ }
178
+ exports.parameterizeRawSqlInterpolations = parameterizeRawSqlInterpolations;
179
+ class WorkflowSqlInterpolationError extends Error {
180
+ constructor(residualsByNode) {
181
+ const detail = residualsByNode
182
+ .map((r) => `${r.nodeId}.${r.field}: ${r.residuals.join(', ')}`)
183
+ .join('; ');
184
+ super(`Raw-SQL node interpolates a value that cannot be safely parameterized ` +
185
+ `(a dynamic identifier — table/column name — or a context ref inside a ` +
186
+ `string literal): ${detail}. Refusing to ship injectable SQL.`);
187
+ // Restore the prototype chain — `extends Error` loses it when this module is
188
+ // downlevelled to ES5, which would break `instanceof` checks.
189
+ Object.setPrototypeOf(this, WorkflowSqlInterpolationError.prototype);
190
+ this.name = 'WorkflowSqlInterpolationError';
191
+ this.residualsByNode = residualsByNode;
192
+ }
193
+ }
194
+ exports.WorkflowSqlInterpolationError = WorkflowSqlInterpolationError;
195
+ const RAW_SQL_FIELDS = [
196
+ {
197
+ nodeType: 'data-raw-query',
198
+ queryField: 'query',
199
+ variablesField: 'queryVariables',
200
+ paramsField: 'params',
201
+ },
202
+ {
203
+ nodeType: 'data-select',
204
+ queryField: 'rawQueryUserPart',
205
+ variablesField: 'rawQueryUserPartVariables',
206
+ paramsField: 'rawQueryUserPartParams',
207
+ },
208
+ {
209
+ nodeType: 'data-count',
210
+ queryField: 'rawQueryUserPart',
211
+ variablesField: 'rawQueryUserPartVariables',
212
+ paramsField: 'rawQueryUserPartParams',
213
+ },
214
+ ];
215
+ function nodeConfigOf(node) {
216
+ var _a, _b;
217
+ return (_b = (_a = node.data) === null || _a === void 0 ? void 0 : _a.config) !== null && _b !== void 0 ? _b : node.config;
218
+ }
219
+ function nodeTypeOf(node) {
220
+ var _a, _b;
221
+ return (_b = (_a = node.data) === null || _a === void 0 ? void 0 : _a.nodeType) !== null && _b !== void 0 ? _b : node.type;
222
+ }
223
+ /**
224
+ * Convert every raw-SQL node's `{{ name }}` interpolations in one workflow into
225
+ * bound `$N` params, in place. All-or-nothing: mutates only when EVERY raw-SQL
226
+ * node is safe; otherwise throws {@link WorkflowSqlInterpolationError} and leaves
227
+ * the workflow untouched. `nodes` may be an array or an id-keyed record.
228
+ */
229
+ function parameterizeWorkflowRawSqlInterpolations(workflow) {
230
+ var _a;
231
+ const rawNodes = workflow === null || workflow === void 0 ? void 0 : workflow.nodes;
232
+ const nodes = Array.isArray(rawNodes)
233
+ ? rawNodes
234
+ : rawNodes && typeof rawNodes === 'object'
235
+ ? Object.values(rawNodes)
236
+ : [];
237
+ const pendingWrites = [];
238
+ const residualsByNode = [];
239
+ for (const node of nodes) {
240
+ const nodeType = nodeTypeOf(node);
241
+ const spec = RAW_SQL_FIELDS.find((f) => f.nodeType === nodeType);
242
+ if (!spec) {
243
+ continue;
244
+ }
245
+ const config = nodeConfigOf(node);
246
+ if (!config) {
247
+ continue;
248
+ }
249
+ const rawQuery = config[spec.queryField];
250
+ if (typeof rawQuery !== 'string' || rawQuery.indexOf('{{') === -1) {
251
+ continue;
252
+ }
253
+ const variables = Array.isArray(config[spec.variablesField])
254
+ ? config[spec.variablesField]
255
+ : [];
256
+ const existingParams = Array.isArray(config[spec.paramsField])
257
+ ? config[spec.paramsField]
258
+ : [];
259
+ const result = parameterizeRawSqlInterpolations(rawQuery, variables, existingParams.length);
260
+ if (result.residuals.length > 0) {
261
+ residualsByNode.push({
262
+ nodeId: (_a = node.id) !== null && _a !== void 0 ? _a : 'node',
263
+ field: spec.queryField,
264
+ residuals: result.residuals,
265
+ });
266
+ continue;
267
+ }
268
+ if (result.params.length === 0) {
269
+ // Nothing to bind — still drop an empty variables field for tidiness.
270
+ pendingWrites.push({
271
+ config,
272
+ queryField: spec.queryField,
273
+ variablesField: spec.variablesField,
274
+ paramsField: spec.paramsField,
275
+ newQuery: rawQuery,
276
+ newParams: existingParams,
277
+ });
278
+ continue;
279
+ }
280
+ pendingWrites.push({
281
+ config,
282
+ queryField: spec.queryField,
283
+ variablesField: spec.variablesField,
284
+ paramsField: spec.paramsField,
285
+ newQuery: result.query,
286
+ newParams: [...existingParams, ...result.params],
287
+ });
288
+ }
289
+ if (residualsByNode.length > 0) {
290
+ throw new WorkflowSqlInterpolationError(residualsByNode);
291
+ }
292
+ for (const w of pendingWrites) {
293
+ w.config[w.queryField] = w.newQuery;
294
+ if (w.newParams.length > 0) {
295
+ w.config[w.paramsField] = w.newParams;
296
+ }
297
+ delete w.config[w.variablesField];
298
+ }
299
+ }
300
+ exports.parameterizeWorkflowRawSqlInterpolations = parameterizeWorkflowRawSqlInterpolations;
301
+ /**
302
+ * Runs the parameterization net across every workflow and custom node in a UIDL
303
+ * `workflows` block, in place. Throws {@link WorkflowSqlInterpolationError} if any
304
+ * raw-SQL node cannot be fully parameterized.
305
+ */
306
+ function parameterizeAllWorkflowRawSql(workflows) {
307
+ if (!workflows) {
308
+ return;
309
+ }
310
+ const groups = [workflows.workflows, workflows.customNodes];
311
+ for (const group of groups) {
312
+ if (!group || typeof group !== 'object') {
313
+ continue;
314
+ }
315
+ for (const wf of Object.values(group)) {
316
+ parameterizeWorkflowRawSqlInterpolations(wf);
317
+ }
318
+ }
319
+ }
320
+ exports.parameterizeAllWorkflowRawSql = parameterizeAllWorkflowRawSql;
321
+ //# sourceMappingURL=raw-sql-param-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-sql-param-binding.js","sourceRoot":"","sources":["../../src/raw-sql-param-binding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const SUPPORTED_EMAIL_PROVIDERS: Set<string>;
2
+ export declare const transactionalEmailDependencies: (provider?: string | null) => Record<string, string>;
3
+ export declare const generateProviderSendFunction: (provider?: string | null) => string;
4
+ export declare const generateFillTemplateFn: () => string;
5
+ export declare const WELCOME_EMAIL_CONFIG_KEYS: string[];
6
+ //# sourceMappingURL=transactional-email-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactional-email-code.d.ts","sourceRoot":"","sources":["../../src/transactional-email-code.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,yBAAyB,aAMpC,CAAA;AAIF,eAAO,MAAM,8BAA8B,cAC9B,MAAM,GAAG,IAAI,KACvB,OAAO,MAAM,EAAE,MAAM,CAKvB,CAAA;AAKD,eAAO,MAAM,4BAA4B,cAAe,MAAM,GAAG,IAAI,KAAG,MAmDvE,CAAA;AAID,eAAO,MAAM,sBAAsB,QAAO,MASxC,CAAA;AAKF,eAAO,MAAM,yBAAyB,UAYrC,CAAA"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WELCOME_EMAIL_CONFIG_KEYS = exports.generateFillTemplateFn = exports.generateProviderSendFunction = exports.transactionalEmailDependencies = exports.SUPPORTED_EMAIL_PROVIDERS = void 0;
4
+ /**
5
+ * Shared building blocks for generated server routes that send a transactional
6
+ * email (account-delete farewell, account-signup welcome). Keeps the provider
7
+ * dispatch, template filler, dependency map, and config-key list in ONE place so
8
+ * every route stays byte-for-byte consistent.
9
+ */
10
+ const email_sender_code_1 = require("./invoice/email-sender-code");
11
+ exports.SUPPORTED_EMAIL_PROVIDERS = new Set([
12
+ 'resend',
13
+ 'sendgrid',
14
+ 'postmark',
15
+ 'mailgun',
16
+ 'mailersend',
17
+ ]);
18
+ // npm deps for a provider (reuses the invoice sender's version map). Empty for
19
+ // an unknown/absent provider.
20
+ const transactionalEmailDependencies = (provider) => {
21
+ if (!provider || !exports.SUPPORTED_EMAIL_PROVIDERS.has(provider)) {
22
+ return {};
23
+ }
24
+ return (0, email_sender_code_1.getEmailProviderDependencies)(provider);
25
+ };
26
+ exports.transactionalEmailDependencies = transactionalEmailDependencies;
27
+ // Provider-specific `__sendProviderEmail({ from, to, subject, html, apiKey })`.
28
+ // No attachment (unlike the invoice sender). When no provider is configured the
29
+ // function is a no-op so the route stays self-contained and never throws.
30
+ const generateProviderSendFunction = (provider) => {
31
+ switch (provider) {
32
+ case 'resend':
33
+ return `async function __sendProviderEmail(msg) {
34
+ var Resend = require('resend').Resend;
35
+ var resend = new Resend(msg.apiKey);
36
+ var result = await resend.emails.send({ from: msg.from, to: [msg.to], subject: msg.subject, html: msg.html });
37
+ if (result && result.error) { throw new Error(result.error.message || 'Failed to send email'); }
38
+ }`;
39
+ case 'sendgrid':
40
+ return `async function __sendProviderEmail(msg) {
41
+ var sgMail = require('@sendgrid/mail');
42
+ sgMail.setApiKey(msg.apiKey);
43
+ await sgMail.send({ to: msg.to, from: msg.from, subject: msg.subject, html: msg.html });
44
+ }`;
45
+ case 'postmark':
46
+ return `async function __sendProviderEmail(msg) {
47
+ var postmark = require('postmark');
48
+ var client = new postmark.ServerClient(msg.apiKey);
49
+ await client.sendEmail({ From: msg.from, To: msg.to, Subject: msg.subject, HtmlBody: msg.html });
50
+ }`;
51
+ case 'mailgun':
52
+ return `async function __sendProviderEmail(msg) {
53
+ var Mailgun = require('mailgun.js');
54
+ var formData = require('form-data');
55
+ var domain = process.env.MAILGUN_DOMAIN || '';
56
+ if (!domain) { throw new Error('Mailgun domain not configured'); }
57
+ var mailgun = new Mailgun(formData);
58
+ var mg = mailgun.client({ username: 'api', key: msg.apiKey });
59
+ await mg.messages.create(domain, { from: msg.from, to: [msg.to], subject: msg.subject, html: msg.html });
60
+ }`;
61
+ case 'mailersend':
62
+ return `async function __sendProviderEmail(msg) {
63
+ var MailerSend = require('mailersend').MailerSend;
64
+ var EmailParams = require('mailersend').EmailParams;
65
+ var Sender = require('mailersend').Sender;
66
+ var Recipient = require('mailersend').Recipient;
67
+ var mailerSend = new MailerSend({ apiKey: msg.apiKey });
68
+ var fromStr = String(msg.from || '').trim();
69
+ var m = /^(.*)<([^<>]+)>\\s*$/.exec(fromStr);
70
+ var fromEmail = m ? m[2].trim() : fromStr;
71
+ var fromName = m ? m[1].trim() : '';
72
+ var sender = new Sender(fromEmail, fromName || fromEmail);
73
+ var params = new EmailParams().setFrom(sender).setTo([new Recipient(msg.to)]).setSubject(msg.subject).setHtml(msg.html);
74
+ await mailerSend.email.send(params);
75
+ }`;
76
+ default:
77
+ return `async function __sendProviderEmail(_msg) {
78
+ // No email provider configured — skip.
79
+ }`;
80
+ }
81
+ };
82
+ exports.generateProviderSendFunction = generateProviderSendFunction;
83
+ // Emits the `fillTemplate(str, values)` flat `{{key}}` replacer used to fill the
84
+ // email subject/body tokens at send time.
85
+ const generateFillTemplateFn = () => `function fillTemplate(str, values) {
86
+ if (!str) { return ''; }
87
+ var out = String(str);
88
+ var keys = Object.keys(values);
89
+ for (var i = 0; i < keys.length; i++) {
90
+ var v = values[keys[i]];
91
+ out = out.split('{{' + keys[i] + '}}').join(v == null ? '' : String(v));
92
+ }
93
+ return out;
94
+ }`;
95
+ exports.generateFillTemplateFn = generateFillTemplateFn;
96
+ // The account-signup node's welcome-email config keys. They must NEVER be
97
+ // forwarded from the client signup handler to /api/auth/signup nor inserted as
98
+ // user columns (they'd corrupt createUser and leak into the client bundle).
99
+ exports.WELCOME_EMAIL_CONFIG_KEYS = [
100
+ 'emailProvider',
101
+ 'from',
102
+ 'fromName',
103
+ 'apiKey',
104
+ 'serverToken',
105
+ 'subject',
106
+ 'body',
107
+ 'bodySource',
108
+ 'bodyComponentId',
109
+ 'bodyTemplatePurpose',
110
+ 'templateParams',
111
+ ];
112
+ //# sourceMappingURL=transactional-email-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactional-email-code.js","sourceRoot":"","sources":["../../src/transactional-email-code.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mEAA0E;AAE7D,QAAA,yBAAyB,GAAG,IAAI,GAAG,CAAC;IAC/C,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,YAAY;CACb,CAAC,CAAA;AAEF,+EAA+E;AAC/E,8BAA8B;AACvB,MAAM,8BAA8B,GAAG,CAC5C,QAAwB,EACA,EAAE;IAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,iCAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACzD,OAAO,EAAE,CAAA;KACV;IACD,OAAO,IAAA,gDAA4B,EAAC,QAAQ,CAAC,CAAA;AAC/C,CAAC,CAAA;AAPY,QAAA,8BAA8B,kCAO1C;AAED,gFAAgF;AAChF,gFAAgF;AAChF,0EAA0E;AACnE,MAAM,4BAA4B,GAAG,CAAC,QAAwB,EAAU,EAAE;IAC/E,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ;YACX,OAAO;;;;;EAKX,CAAA;QACE,KAAK,UAAU;YACb,OAAO;;;;EAIX,CAAA;QACE,KAAK,UAAU;YACb,OAAO;;;;EAIX,CAAA;QACE,KAAK,SAAS;YACZ,OAAO;;;;;;;;EAQX,CAAA;QACE,KAAK,YAAY;YACf,OAAO;;;;;;;;;;;;;EAaX,CAAA;QACE;YACE,OAAO;;EAEX,CAAA;KACC;AACH,CAAC,CAAA;AAnDY,QAAA,4BAA4B,gCAmDxC;AAED,iFAAiF;AACjF,0CAA0C;AACnC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;EASlD,CAAA;AATW,QAAA,sBAAsB,0BASjC;AAEF,0EAA0E;AAC1E,+EAA+E;AAC/E,4EAA4E;AAC/D,QAAA,yBAAyB,GAAG;IACvC,eAAe;IACf,MAAM;IACN,UAAU;IACV,QAAQ;IACR,aAAa;IACb,SAAS;IACT,MAAM;IACN,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,gBAAgB;CACjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-generator.d.ts","sourceRoot":"","sources":["../../src/trigger-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,eAAgB,MAAM,KAAG,MAC4B,CAAA;AAE1F,eAAO,MAAM,mBAAmB,aAAc,YAAY,mBAAmB,MAAM,KAAG,MAsDrF,CAAA"}
1
+ {"version":3,"file":"trigger-generator.d.ts","sourceRoot":"","sources":["../../src/trigger-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,eAAgB,MAAM,KAAG,MAC4B,CAAA;AAE1F,eAAO,MAAM,mBAAmB,aAAc,YAAY,mBAAmB,MAAM,KAAG,MA0DrF,CAAA"}
@@ -41,6 +41,10 @@ const generateTriggerCode = (workflow, workflowVarName) => {
41
41
  return generateFormSubmittedTrigger(config, executionCall, workflow.id);
42
42
  case 'event-page-loaded':
43
43
  return generatePageLoadedTrigger(config, executionCall, workflow.id);
44
+ case 'event-component-loaded':
45
+ return generateComponentLoadedTrigger(config, executionCall, workflow.id);
46
+ case 'event-route-changed':
47
+ return generateRouteChangedTrigger(executionCall, workflow.id);
44
48
  case 'event-user-logged-in':
45
49
  return generateCustomEventTrigger('workflow:user-logged-in', executionCall, workflow.id);
46
50
  case 'event-user-logged-out':
@@ -228,6 +232,31 @@ const generatePageLoadedTrigger = (config, executionCall, workflowId) => {
228
232
  ${delay ? `setTimeout(function() { ${executionCall}; }, ${delay});` : `${executionCall};`}
229
233
  }`;
230
234
  };
235
+ const generateComponentLoadedTrigger = (config, executionCall, workflowId) => {
236
+ const delay = config.delay;
237
+ const componentId = config.componentId || '';
238
+ const componentName = config.componentName || '';
239
+ return `
240
+ // Workflow trigger: component loaded (${workflowId})
241
+ {
242
+ const triggerContext = { componentId: '${componentId}', componentName: '${componentName}', url: window.location.href, timestamp: Date.now() };
243
+ ${delay ? `setTimeout(function() { ${executionCall}; }, ${delay});` : `${executionCall};`}
244
+ }`;
245
+ };
246
+ // NOTE: the consumer must have \`Router\` from 'next/router' in scope.
247
+ const generateRouteChangedTrigger = (executionCall, workflowId) => {
248
+ const safeId = workflowId.replace(/[^a-zA-Z0-9]/g, '_');
249
+ return `
250
+ // Workflow trigger: route changed (${workflowId})
251
+ let __prevUrl_${safeId} = window.location.href;
252
+ const __rc_${safeId} = function(url) {
253
+ const triggerContext = { url: url, previousUrl: __prevUrl_${safeId}, pathname: window.location.pathname, timestamp: Date.now() };
254
+ __prevUrl_${safeId} = window.location.href;
255
+ ${executionCall};
256
+ };
257
+ Router.events.on('routeChangeComplete', __rc_${safeId});
258
+ return function() { Router.events.off('routeChangeComplete', __rc_${safeId}); };`;
259
+ };
231
260
  const generateCustomEventTrigger = (eventName, executionCall, workflowId) => {
232
261
  const safeId = workflowId.replace(/[^a-zA-Z0-9]/g, '_');
233
262
  return `
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-generator.js","sourceRoot":"","sources":["../../src/trigger-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trigger-generator.js","sourceRoot":"","sources":["../../src/trigger-generator.ts"],"names":[],"mappings":"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"}