@teleporthq/teleport-plugin-next-workflows 0.43.33 → 0.43.34

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 (83) hide show
  1. package/__tests__/client-config-redaction.test.ts +192 -0
  2. package/__tests__/data-api-boolean-checkbox-coercion.test.ts +143 -0
  3. package/__tests__/data-api-safe-query.test.ts +3 -1
  4. package/__tests__/data-update-item-runtime.test.ts +116 -0
  5. package/__tests__/raw-query-param-binding.test.ts +216 -0
  6. package/__tests__/runtime-template-token-resolution.test.ts +38 -0
  7. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  8. package/dist/cjs/data-api-route-generator.js +39 -2
  9. package/dist/cjs/data-api-route-generator.js.map +1 -1
  10. package/dist/cjs/executor-generator.d.ts.map +1 -1
  11. package/dist/cjs/executor-generator.js +31 -0
  12. package/dist/cjs/executor-generator.js.map +1 -1
  13. package/dist/cjs/nodes/data/data-delete-item.d.ts.map +1 -1
  14. package/dist/cjs/nodes/data/data-delete-item.js +15 -4
  15. package/dist/cjs/nodes/data/data-delete-item.js.map +1 -1
  16. package/dist/cjs/nodes/data/data-raw-query.d.ts.map +1 -1
  17. package/dist/cjs/nodes/data/data-raw-query.js +7 -1
  18. package/dist/cjs/nodes/data/data-raw-query.js.map +1 -1
  19. package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
  20. package/dist/cjs/nodes/data/data-select.js +9 -0
  21. package/dist/cjs/nodes/data/data-select.js.map +1 -1
  22. package/dist/cjs/nodes/data/data-update-item.d.ts.map +1 -1
  23. package/dist/cjs/nodes/data/data-update-item.js +58 -5
  24. package/dist/cjs/nodes/data/data-update-item.js.map +1 -1
  25. package/dist/cjs/segment-splitter.d.ts +26 -2
  26. package/dist/cjs/segment-splitter.d.ts.map +1 -1
  27. package/dist/cjs/segment-splitter.js +45 -1
  28. package/dist/cjs/segment-splitter.js.map +1 -1
  29. package/dist/cjs/sql-query-validator.d.ts +40 -0
  30. package/dist/cjs/sql-query-validator.d.ts.map +1 -1
  31. package/dist/cjs/sql-query-validator.js +49 -1
  32. package/dist/cjs/sql-query-validator.js.map +1 -1
  33. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  34. package/dist/cjs/workflow-component-plugin.d.ts.map +1 -1
  35. package/dist/cjs/workflow-component-plugin.js +22 -8
  36. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  37. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  38. package/dist/cjs/workflow-project-plugin.js +8 -2
  39. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  40. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  41. package/dist/esm/data-api-route-generator.js +39 -2
  42. package/dist/esm/data-api-route-generator.js.map +1 -1
  43. package/dist/esm/executor-generator.d.ts.map +1 -1
  44. package/dist/esm/executor-generator.js +31 -0
  45. package/dist/esm/executor-generator.js.map +1 -1
  46. package/dist/esm/nodes/data/data-delete-item.d.ts.map +1 -1
  47. package/dist/esm/nodes/data/data-delete-item.js +15 -4
  48. package/dist/esm/nodes/data/data-delete-item.js.map +1 -1
  49. package/dist/esm/nodes/data/data-raw-query.d.ts.map +1 -1
  50. package/dist/esm/nodes/data/data-raw-query.js +7 -1
  51. package/dist/esm/nodes/data/data-raw-query.js.map +1 -1
  52. package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
  53. package/dist/esm/nodes/data/data-select.js +9 -0
  54. package/dist/esm/nodes/data/data-select.js.map +1 -1
  55. package/dist/esm/nodes/data/data-update-item.d.ts.map +1 -1
  56. package/dist/esm/nodes/data/data-update-item.js +58 -5
  57. package/dist/esm/nodes/data/data-update-item.js.map +1 -1
  58. package/dist/esm/segment-splitter.d.ts +26 -2
  59. package/dist/esm/segment-splitter.d.ts.map +1 -1
  60. package/dist/esm/segment-splitter.js +42 -0
  61. package/dist/esm/segment-splitter.js.map +1 -1
  62. package/dist/esm/sql-query-validator.d.ts +40 -0
  63. package/dist/esm/sql-query-validator.d.ts.map +1 -1
  64. package/dist/esm/sql-query-validator.js +47 -0
  65. package/dist/esm/sql-query-validator.js.map +1 -1
  66. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  67. package/dist/esm/workflow-component-plugin.d.ts.map +1 -1
  68. package/dist/esm/workflow-component-plugin.js +23 -9
  69. package/dist/esm/workflow-component-plugin.js.map +1 -1
  70. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  71. package/dist/esm/workflow-project-plugin.js +9 -3
  72. package/dist/esm/workflow-project-plugin.js.map +1 -1
  73. package/package.json +4 -4
  74. package/src/data-api-route-generator.ts +39 -2
  75. package/src/executor-generator.ts +31 -0
  76. package/src/nodes/data/data-delete-item.ts +15 -4
  77. package/src/nodes/data/data-raw-query.ts +7 -1
  78. package/src/nodes/data/data-select.ts +9 -0
  79. package/src/nodes/data/data-update-item.ts +62 -5
  80. package/src/segment-splitter.ts +49 -0
  81. package/src/sql-query-validator.ts +64 -0
  82. package/src/workflow-component-plugin.ts +23 -3
  83. package/src/workflow-project-plugin.ts +18 -3
@@ -137,6 +137,44 @@ describe('workflow runtime template-token resolution', () => {
137
137
  expect(utils.finalizeResolvedConfig('data-select', cfg)).toBeNull()
138
138
  expect(cfg.filters[0].value).toBeNull()
139
139
  })
140
+
141
+ // An unresolvable {{…}} template EXPRESSION/embedded token left in a filter
142
+ // value would otherwise reach SQL as literal text (run d9a24741 reservations
143
+ // filter: "{{state.filterDateEnd || '2099-12-31'}} 23:59:59").
144
+ it('DROPS a data-select filter whose value still holds an unresolved {{…}} (optional-filter degrade)', () => {
145
+ const cfg = {
146
+ filters: [
147
+ { field: 'status', value: 'active', operator: '=' },
148
+ {
149
+ field: 'start_time',
150
+ value: "{{state.filterDateEnd || '2099-12-31'}} 23:59:59",
151
+ operator: '<=',
152
+ },
153
+ ],
154
+ }
155
+ const error = utils.finalizeResolvedConfig('data-select', cfg)
156
+ expect(error).toBeNull()
157
+ expect(cfg.filters).toHaveLength(1)
158
+ expect(cfg.filters[0].field).toBe('status')
159
+ })
160
+
161
+ it('ERRORS on an unresolved {{…}} filter for a WRITE (never an unscoped mutation)', () => {
162
+ const cfg = {
163
+ tableName: 'guests',
164
+ filters: [{ field: 'id', value: '{{Current Page Entity.guest_id}}', operator: '=' }],
165
+ }
166
+ const error = utils.finalizeResolvedConfig('data-update-item', cfg)
167
+ expect(error).toContain('unresolved template')
168
+ expect(cfg.filters).toHaveLength(0)
169
+ })
170
+
171
+ it('keeps a fully-resolved filter value untouched', () => {
172
+ const cfg = {
173
+ filters: [{ field: 'start_time', value: '2026-07-08 23:59:59', operator: '<=' }],
174
+ }
175
+ expect(utils.finalizeResolvedConfig('data-select', cfg)).toBeNull()
176
+ expect(cfg.filters).toHaveLength(1)
177
+ })
140
178
  })
141
179
 
142
180
  describe('executeNodes routes the validation error to the workflow error handler', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"data-api-route-generator.d.ts","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,eAAO,MAAM,iBAAiB,kBAAmB,IAAI,MAAM,CAAC,KAAG,OAO9D,CAAA;AAED,MAAM,WAAW,mBAAmB;IAIlC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAQ3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAI/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,oBAAoB,aAAa,mBAAmB,KAAQ,MA0yBxE,CAAA"}
1
+ {"version":3,"file":"data-api-route-generator.d.ts","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,eAAO,MAAM,iBAAiB,kBAAmB,IAAI,MAAM,CAAC,KAAG,OAO9D,CAAA;AAED,MAAM,WAAW,mBAAmB;IAIlC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAQ3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAI/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,oBAAoB,aAAa,mBAAmB,KAAQ,MA+0BxE,CAAA"}
@@ -304,7 +304,11 @@ async function handleSelect(client, body) {
304
304
  // Validate the raw user-provided query for forbidden operations
305
305
  assertQuerySafe(rawQueryUserPart);
306
306
  sql = rawQueryUserPart;
307
- queryParams = [];
307
+ // SECURITY: the raw override fully replaces the assembled SELECT, so bind the
308
+ // security net's $N params for it, never inline text. rawQueryUserPartParams
309
+ // carries the workflow values (already resolved by the executor) that back the
310
+ // $1, $2, … placeholders the net emitted into rawQueryUserPart.
311
+ queryParams = Array.isArray(body.rawQueryUserPartParams) ? body.rawQueryUserPartParams : [];
308
312
  }
309
313
 
310
314
  // Final validation of the assembled query
@@ -366,8 +370,31 @@ function splitCommaOrPgArrayString(val) {
366
370
  return s.split(',').map(function(x) { return x.trim(); }).filter(Boolean);
367
371
  }
368
372
 
373
+ // HTML checkbox convention: a checked box submits a truthy string value
374
+ // ('on' by default, or the input's own value attribute); an UNCHECKED box
375
+ // is omitted from FormData entirely, which general-extract-form-data (the
376
+ // client-side node that builds the workflow payload) represents as '' /
377
+ // undefined - never false. Without this branch that '' fell through to
378
+ // the generic empty-string-to-null guard below and was written as SQL
379
+ // NULL instead of false: a silent "not featured" -> NULL data corruption
380
+ // in the common case (breaks any WHERE is_featured = true/false filter,
381
+ // since NULL fails three-valued-logic equality), and a hard 23502
382
+ // not-null-violation whenever the boolean column itself is NOT NULL - the
383
+ // exact "update failed" error reported for an unchecked "feature this item"
384
+ // checkbox. "Not submitted" always means unchecked/false for an HTML
385
+ // checkbox, so this mapping is unambiguous and safe for every boolean
386
+ // column, not just one page's flag.
387
+ var BOOLEAN_TRUE_STRINGS = { 'on': 1, 'true': 1, '1': 1 };
388
+
369
389
  function coerceValueForPgColumn(col, val, colTypes) {
370
390
  var dt = colTypes[col];
391
+ if (dt === 'boolean') {
392
+ if (typeof val === 'boolean') return val;
393
+ if (val === undefined || val === null) return false;
394
+ if (typeof val === 'number') return val !== 0;
395
+ if (typeof val === 'string') return !!BOOLEAN_TRUE_STRINGS[val.trim().toLowerCase()];
396
+ return false;
397
+ }
371
398
  if (dt !== 'ARRAY') return val;
372
399
  if (val == null) return val;
373
400
  if (Array.isArray(val)) return val;
@@ -696,6 +723,16 @@ async function handleRawQuery(client, body, req) {
696
723
  return { rows: [], error: 'No query provided' };
697
724
  }
698
725
 
726
+ // SECURITY: bind the workflow's context/state values as POSITIONAL parameters
727
+ // ($1, $2, …) instead of interpolating them into the SQL text. The generation
728
+ // net rewrites every {{state.X}}/{{Current User.id}}/… value interpolation into
729
+ // a $N placeholder and moves the {{…}} token into this sibling params array; the
730
+ // executor resolves those tokens to concrete values before POSTing, so here they
731
+ // arrive as plain bound values. A bound value can never terminate a string literal
732
+ // or alter query structure — SQL injection is impossible for the value class.
733
+ // Legacy raw queries carry no params array and run unparameterized (backward-compat).
734
+ var params = Array.isArray(body.params) ? body.params : [];
735
+
699
736
  // Validate the raw query for forbidden operations before execution
700
737
  assertQuerySafe(query);
701
738
 
@@ -703,7 +740,7 @@ async function handleRawQuery(client, body, req) {
703
740
  await ensurePgVector(client);
704
741
  }
705
742
 
706
- var result = await safeQuery(client, query, [], 'raw-query');
743
+ var result = await safeQuery(client, query, params, 'raw-query');
707
744
  var rows = Array.isArray(result.rows) ? result.rows : [];
708
745
 
709
746
  // Auto-fire the low-stock alert when the workflow runs the post-
@@ -1 +1 @@
1
- {"version":3,"file":"data-api-route-generator.js","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,mDAA0D;AAE1D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;CACjB,CAAC,CAAA;AAEK,MAAM,iBAAiB,GAAG,CAAC,aAA0B,EAAW,EAAE;IACvE,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE;QAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAPY,QAAA,iBAAiB,qBAO7B;AAqBM,MAAM,oBAAoB,GAAG,CAAC,UAA+B,EAAE,EAAU,EAAE;IAChF,MAAM,aAAa,GAAG,IAAA,wCAAwB,GAAE,CAAA;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAA;IACzD,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAA;IAC7D,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC;QAC7E,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,CAAC,CAAA;IAEP,OAAO;EAEP,cAAc,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EACxE,4BAA4B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;mCACvB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;8BAC1C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;EAC7D,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0xBd,CAAA;AACD,CAAC,CAAA;AA1yBY,QAAA,oBAAoB,wBA0yBhC"}
1
+ {"version":3,"file":"data-api-route-generator.js","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,mDAA0D;AAE1D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;CACjB,CAAC,CAAA;AAEK,MAAM,iBAAiB,GAAG,CAAC,aAA0B,EAAW,EAAE;IACvE,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE;QAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAPY,QAAA,iBAAiB,qBAO7B;AAqBM,MAAM,oBAAoB,GAAG,CAAC,UAA+B,EAAE,EAAU,EAAE;IAChF,MAAM,aAAa,GAAG,IAAA,wCAAwB,GAAE,CAAA;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAA;IACzD,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAA;IAC7D,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC;QAC7E,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,CAAC,CAAA;IAEP,OAAO;EAEP,cAAc,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EACxE,4BAA4B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;mCACvB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;8BAC1C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;EAC7D,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+zBd,CAAA;AACD,CAAC,CAAA;AA/0BY,QAAA,oBAAoB,wBA+0BhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor-generator.d.ts","sourceRoot":"","sources":["../../src/executor-generator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,QAAO,MAo9BjD,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAwc5C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAK5C,CAAA"}
1
+ {"version":3,"file":"executor-generator.d.ts","sourceRoot":"","sources":["../../src/executor-generator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,QAAO,MAm/BjD,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAwc5C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAK5C,CAAA"}
@@ -297,6 +297,37 @@ function finalizeResolvedConfig(nodeType, config) {
297
297
  }
298
298
  }
299
299
  walk(config, false);
300
+
301
+ // BACKSTOP: a data-node FILTER value that STILL holds a literal {{…}} token
302
+ // after resolution is an unresolvable template — a JS expression, an embedded
303
+ // token, or an unknown root the runtime never substitutes (run d9a24741:
304
+ // "{{state.filterDateEnd || '2099-12-31'}} 23:59:59" and
305
+ // "{{Current Page Entity.guest_id}}"). Left alone it reaches SQL as literal
306
+ // text and breaks the query. For a READ (data-select / data-count) DROP the
307
+ // clause — the optional-filter idiom degrades to "no filter" (more rows, never
308
+ // a crash). For a WRITE the filter scopes the mutation, so an unscoped/partial
309
+ // filter is unsafe → surface a validation error (same posture as the
310
+ // route-param sentinel above).
311
+ if (isDataNode && config && Array.isArray(config.filters)) {
312
+ var isReadNode = nodeType === 'data-select' || nodeType === 'data-count';
313
+ var keptFilters = [];
314
+ for (var fi = 0; fi < config.filters.length; fi++) {
315
+ var filt = config.filters[fi];
316
+ var fval = filt && typeof filt === 'object'
317
+ ? (filt.value !== undefined ? filt.value : filt.destination)
318
+ : undefined;
319
+ if (typeof fval === 'string' && /\\{\\{[\\s\\S]*?\\}\\}/.test(fval)) {
320
+ if (!isReadNode && !error) {
321
+ var fcol = (filt && (filt.column || filt.field || filt.source)) || 'filter';
322
+ error = 'Filter on "' + fcol + '" carries an unresolved template ({{…}}) and cannot safely scope this write';
323
+ }
324
+ continue; // drop the unresolvable clause
325
+ }
326
+ keptFilters.push(filt);
327
+ }
328
+ config.filters = keptFilters;
329
+ }
330
+
300
331
  return error;
301
332
  }
302
333
 
@@ -1 +1 @@
1
- {"version":3,"file":"executor-generator.js","sourceRoot":"","sources":["../../src/executor-generator.ts"],"names":[],"mappings":";;;AAAO,MAAM,8BAA8B,GAAG,GAAW,EAAE;IACzD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAk9BR,CAAA;AACD,CAAC,CAAA;AAp9BY,QAAA,8BAA8B,kCAo9B1C;AAEM,MAAM,yBAAyB,GAAG,GAAW,EAAE;IACpD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAscR,CAAA;AACD,CAAC,CAAA;AAxcY,QAAA,yBAAyB,6BAwcrC;AAEM,MAAM,yBAAyB,GAAG,GAAW,EAAE;IACpD,OAAO;;;CAGR,CAAA;AACD,CAAC,CAAA;AALY,QAAA,yBAAyB,6BAKrC"}
1
+ {"version":3,"file":"executor-generator.js","sourceRoot":"","sources":["../../src/executor-generator.ts"],"names":[],"mappings":";;;AAAO,MAAM,8BAA8B,GAAG,GAAW,EAAE;IACzD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAi/BR,CAAA;AACD,CAAC,CAAA;AAn/BY,QAAA,8BAA8B,kCAm/B1C;AAEM,MAAM,yBAAyB,GAAG,GAAW,EAAE;IACpD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAscR,CAAA;AACD,CAAC,CAAA;AAxcY,QAAA,yBAAyB,6BAwcrC;AAEM,MAAM,yBAAyB,GAAG,GAAW,EAAE;IACpD,OAAO;;;CAGR,CAAA;AACD,CAAC,CAAA;AALY,QAAA,yBAAyB,6BAKrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-delete-item.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-delete-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAkEhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
1
+ {"version":3,"file":"data-delete-item.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-delete-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA6EhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
@@ -26,7 +26,13 @@ async function data_delete_item(config, context) {
26
26
  __col +
27
27
  '" needs a page route param not available here; nothing deleted (workflow continues)');
28
28
  }
29
- return { deletedId: null, success: true, deletedCount: 0, __skippedUnavailableFilter: true };
29
+ return {
30
+ deletedId: null,
31
+ success: true,
32
+ deletedCount: 0,
33
+ affected: 0,
34
+ __skippedUnavailableFilter: true,
35
+ };
30
36
  }
31
37
  }
32
38
  try {
@@ -46,17 +52,22 @@ async function data_delete_item(config, context) {
46
52
  deletedId: null,
47
53
  success: false,
48
54
  deletedCount: 0,
55
+ affected: 0,
49
56
  error: data.error || 'Delete item failed',
50
57
  };
51
58
  }
59
+ // `affected` mirrors `deletedCount` so a success gate authored against either
60
+ // synonym resolves (the AI schema historically advertised `affected`).
61
+ const __deleted = data.deletedCount || 0;
52
62
  return {
53
63
  deletedId: data.deletedId || null,
54
- success: (data.deletedCount || 0) > 0,
55
- deletedCount: data.deletedCount || 0,
64
+ success: __deleted > 0,
65
+ deletedCount: __deleted,
66
+ affected: __deleted,
56
67
  };
57
68
  }
58
69
  catch (err) {
59
- return { deletedId: null, success: false, error: err.message };
70
+ return { deletedId: null, success: false, affected: 0, error: err.message };
60
71
  }
61
72
  }
62
73
  exports.dataDeleteItem = {
@@ -1 +1 @@
1
- {"version":3,"file":"data-delete-item.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-delete-item.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,gBAAgB,CAAC,MAAW,EAAE,OAAY;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACpD,MAAM,KAAK,GAAI,UAAkB,CAAC,OAAO,IAAK,UAAkB,CAAC,OAAO,CAAC,GAAG,CAAA;IAE5E,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAChD,MAAM,GAAG,GAAQ,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,IACE,GAAG;YACH,CAAC,GAAG,CAAC,KAAK,KAAK,+BAA+B;gBAC5C,GAAG,CAAC,WAAW,KAAK,+BAA+B,CAAC,EACtD;YACA,wEAAwE;YACxE,mEAAmE;YACnE,uEAAuE;YACvE,4DAA4D;YAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAA;YAChE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE;gBAClD,OAAO,CAAC,IAAI,CACV,2DAA2D;oBACzD,KAAK;oBACL,qFAAqF,CACxF,CAAA;aACF;YACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAA;SAC7F;KACF;IAED,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,2EAA2E;gBAC3E,sEAAsE;gBACtE,wBAAwB,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE;aACjE;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;SAC7C,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,CAAC;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,oBAAoB;aAC1C,CAAA;SACF;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;YACjC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;YACrC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;SACrC,CAAA;KACF;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KAC1E;AACH,CAAC;AACY,QAAA,cAAc,GAAyB;IAClD,QAAQ,EAAE,kBAAkB;IAC5B,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,gBAAgB,CAAC,CAAA;IAC1C,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"data-delete-item.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-delete-item.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-raw-query.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-raw-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAyBhE,eAAO,MAAM,YAAY,EAAE,oBAM1B,CAAA"}
1
+ {"version":3,"file":"data-raw-query.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-raw-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA+BhE,eAAO,MAAM,YAAY,EAAE,oBAM1B,CAAA"}
@@ -5,12 +5,18 @@ const types_1 = require("../types");
5
5
  async function data_raw_query(config, context) {
6
6
  const dataSourceId = config.dataSourceId;
7
7
  const query = config.query;
8
+ // SECURITY: values that back the query's $N placeholders ride here as bound
9
+ // params, never interpolated into the SQL text. The generation net stored each
10
+ // as a {{…}} token; resolveConfig has already substituted them to concrete
11
+ // values by the time this handler runs. Empty/absent when the query is a static
12
+ // literal (backward-compat: the API route then runs it unparameterized).
13
+ const params = Array.isArray(config.params) ? config.params : [];
8
14
  const baseUrl = (context && context.__baseUrl) || '';
9
15
  try {
10
16
  const response = await fetch(baseUrl + '/api/data/' + dataSourceId + '/raw-query', {
11
17
  method: 'POST',
12
18
  headers: { 'Content-Type': 'application/json' },
13
- body: JSON.stringify({ query }),
19
+ body: JSON.stringify({ query, params }),
14
20
  });
15
21
  const data = await response.json();
16
22
  if (!response.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-raw-query.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-raw-query.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,cAAc,CAAC,MAAW,EAAE,OAAY;IACrD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAC1B,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAEpD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;SAChC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAA;SACzE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KAC9B;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KAC/D;AACH,CAAC;AACY,QAAA,YAAY,GAAyB;IAChD,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAA;IACxC,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"data-raw-query.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-raw-query.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,cAAc,CAAC,MAAW,EAAE,OAAY;IACrD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAC1B,4EAA4E;IAC5E,+EAA+E;IAC/E,2EAA2E;IAC3E,gFAAgF;IAChF,yEAAyE;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAChE,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAEpD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SACxC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAA;SACzE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KAC9B;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KAC/D;AACH,CAAC;AACY,QAAA,YAAY,GAAyB;IAChD,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAA;IACxC,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-select.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAwGhE,eAAO,MAAM,UAAU,EAAE,oBAMxB,CAAA"}
1
+ {"version":3,"file":"data-select.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAiHhE,eAAO,MAAM,UAAU,EAAE,oBAMxB,CAAA"}
@@ -11,6 +11,12 @@ async function data_select(config, context) {
11
11
  const limit = config.limit;
12
12
  const skip = config.skip;
13
13
  const rawQueryUserPart = config.rawQueryUserPart;
14
+ // SECURITY: bound values that back the raw override's $N placeholders. The
15
+ // generation net emitted them alongside rawQueryUserPart; resolveConfig has
16
+ // already substituted the {{…}} tokens to concrete values here.
17
+ const rawQueryUserPartParams = Array.isArray(config.rawQueryUserPartParams)
18
+ ? config.rawQueryUserPartParams
19
+ : [];
14
20
  const baseUrl = (context && context.__baseUrl) || '';
15
21
  function isEmptyFilterValue(value) {
16
22
  if (value === undefined || value === null)
@@ -83,6 +89,9 @@ async function data_select(config, context) {
83
89
  }
84
90
  if (rawQueryUserPart) {
85
91
  payload.rawQueryUserPart = rawQueryUserPart;
92
+ if (rawQueryUserPartParams.length > 0) {
93
+ payload.rawQueryUserPartParams = rawQueryUserPartParams;
94
+ }
86
95
  }
87
96
  const response = await fetch(baseUrl + '/api/data/' + dataSourceId + '/select', {
88
97
  method: 'POST',
@@ -1 +1 @@
1
- {"version":3,"file":"data-select.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-select.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-update-item.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-update-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAmGhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
1
+ {"version":3,"file":"data-update-item.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-update-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA4JhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
@@ -27,7 +27,13 @@ async function data_update_item(config, context) {
27
27
  __col +
28
28
  '" needs a page route param not available here; no rows updated (workflow continues)');
29
29
  }
30
- return { id: null, updatedCount: 0, success: true, __skippedUnavailableFilter: true };
30
+ return {
31
+ id: null,
32
+ updatedCount: 0,
33
+ affected: 0,
34
+ success: true,
35
+ __skippedUnavailableFilter: true,
36
+ };
31
37
  }
32
38
  }
33
39
  if (Array.isArray(columnMappings)) {
@@ -47,6 +53,44 @@ async function data_update_item(config, context) {
47
53
  }
48
54
  }
49
55
  }
56
+ // A columnMapping whose resolved value is `undefined` means its binding never
57
+ // produced a value: an unread page-entity column, or (most commonly) an empty
58
+ // form field that general-extract-form-data omits by default. Sending it would
59
+ // write NULL and break a NOT NULL column — run d9a24741 blanked
60
+ // guests.full_name from an un-prefilled guest_name input. OMIT such mappings so
61
+ // the column keeps its stored value. (An intentional null — e.g. a route-param
62
+ // sentinel degraded above — is preserved: only `undefined` is dropped.)
63
+ let effectiveColumnMappings = columnMappings;
64
+ if (Array.isArray(columnMappings)) {
65
+ effectiveColumnMappings = columnMappings.filter(function (__m) {
66
+ return !(__m && typeof __m === 'object' && __m.value === undefined);
67
+ });
68
+ }
69
+ else if (columnMappings && typeof columnMappings === 'object') {
70
+ effectiveColumnMappings = {};
71
+ const __ck = Object.keys(columnMappings);
72
+ for (let __ci = 0; __ci < __ck.length; __ci++) {
73
+ if (columnMappings[__ck[__ci]] !== undefined) {
74
+ ;
75
+ effectiveColumnMappings[__ck[__ci]] = columnMappings[__ck[__ci]];
76
+ }
77
+ }
78
+ }
79
+ const __hasWrites = Array.isArray(effectiveColumnMappings)
80
+ ? effectiveColumnMappings.length > 0
81
+ : !!effectiveColumnMappings && Object.keys(effectiveColumnMappings).length > 0;
82
+ if (!__hasWrites) {
83
+ // Nothing resolvable to write — never send an empty UPDATE (the DB would
84
+ // reject it / touch nothing). Report a clean zero-row no-op so a downstream
85
+ // updatedCount/affected gate takes its "no change" branch.
86
+ return {
87
+ id: null,
88
+ updatedCount: 0,
89
+ affected: 0,
90
+ success: true,
91
+ __skippedEmptyUpdate: true,
92
+ };
93
+ }
50
94
  // Same anonymous-user hint as data-create-item — a workflow that
51
95
  // updates a row written by a guest must be able to re-stamp its
52
96
  // ownership column with the same anon UUID rather than NULL.
@@ -67,7 +111,12 @@ async function data_update_item(config, context) {
67
111
  }
68
112
  }
69
113
  try {
70
- const reqBody = { tableName, filters, columnMappings, returnUpdated: true };
114
+ const reqBody = {
115
+ tableName,
116
+ filters,
117
+ columnMappings: effectiveColumnMappings,
118
+ returnUpdated: true,
119
+ };
71
120
  if (__anonymousUserId) {
72
121
  reqBody.__anonymousUserId = __anonymousUserId;
73
122
  }
@@ -83,12 +132,16 @@ async function data_update_item(config, context) {
83
132
  });
84
133
  const data = await response.json();
85
134
  if (!response.ok) {
86
- return { id: null, updatedCount: 0, error: data.error || 'Update item failed' };
135
+ return { id: null, updatedCount: 0, affected: 0, error: data.error || 'Update item failed' };
87
136
  }
88
- return Object.assign(Object.assign({ id: data.id || null }, (data.item || {})), { updatedCount: data.updatedCount || 0 });
137
+ // `affected` mirrors `updatedCount` a success gate authored against either
138
+ // synonym (the AI schema historically advertised `affected`) must resolve.
139
+ // Placed after the row spread so it can't be shadowed by a table column.
140
+ const __updated = data.updatedCount || 0;
141
+ return Object.assign(Object.assign({ id: data.id || null }, (data.item || {})), { updatedCount: __updated, affected: __updated });
89
142
  }
90
143
  catch (err) {
91
- return { id: null, updatedCount: 0, error: err.message };
144
+ return { id: null, updatedCount: 0, affected: 0, error: err.message };
92
145
  }
93
146
  }
94
147
  exports.dataUpdateItem = {
@@ -1 +1 @@
1
- {"version":3,"file":"data-update-item.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-update-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-update-item.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-update-item.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,30 @@
1
- import { UIDLWorkflow } from '@teleporthq/teleport-types';
2
- import { WorkflowSegment } from './types';
1
+ import { UIDLWorkflow, UIDLWorkflowNode } from '@teleporthq/teleport-types';
2
+ import { WorkflowSegment, WorkflowExecutionEnv } from './types';
3
3
  export declare const splitIntoSegments: (workflow: UIDLWorkflow) => WorkflowSegment[];
4
+ /**
5
+ * Resolve a node's intrinsic execution env using the exact same rules the
6
+ * segment walk applies, without any surrounding-segment context. Used by the
7
+ * client-config redactor to classify nodes that never land in a segment (e.g.
8
+ * error-handler branch nodes). Unknown/universal nodes resolve to 'client',
9
+ * the conservative default (their config is kept).
10
+ */
11
+ export declare const resolveNodeExecutionEnv: (node: UIDLWorkflowNode) => WorkflowExecutionEnv;
12
+ export declare const CLIENT_SAFE_SERVER_CONFIG_KEYS: ReadonlyArray<string>;
13
+ /**
14
+ * Strip a server node's config down to the client-safe whitelist before it is
15
+ * serialized into any bundle that ships to the browser (the page-level
16
+ * `__wfConfig_*` constants and the shared custom-nodes file).
17
+ *
18
+ * Safety: a server segment executes entirely inside its own API route, and the
19
+ * generated client node-handler file omits every server node type (see
20
+ * NextWorkflowProjectPlugin.generateNodeHandlerFile), so the browser has no
21
+ * handler to execute a server node with — it only needs a server node's
22
+ * { id, type, stepNumber, edges } for branch-skip bookkeeping plus
23
+ * `config.streaming` for streaming detection. Dropping the rest can therefore
24
+ * only remove data the client never acts on. Client and universal node configs
25
+ * are returned untouched.
26
+ */
27
+ export declare const redactServerNodeConfig: (config: Record<string, unknown>, env: WorkflowExecutionEnv) => Record<string, unknown>;
4
28
  export declare const getServerSegments: (segments: WorkflowSegment[]) => WorkflowSegment[];
5
29
  export declare const getClientSegments: (segments: WorkflowSegment[]) => WorkflowSegment[];
6
30
  //# sourceMappingURL=segment-splitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segment-splitter.d.ts","sourceRoot":"","sources":["../../src/segment-splitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsC,MAAM,4BAA4B,CAAA;AAC7F,OAAO,EAAE,eAAe,EAAwB,MAAM,SAAS,CAAA;AAuG/D,eAAO,MAAM,iBAAiB,aAAc,YAAY,KAAG,eAAe,EAgGzE,CAAA;AAiFD,eAAO,MAAM,iBAAiB,aAAc,eAAe,EAAE,KAAG,eAAe,EAE9E,CAAA;AAED,eAAO,MAAM,iBAAiB,aAAc,eAAe,EAAE,KAAG,eAAe,EAE9E,CAAA"}
1
+ {"version":3,"file":"segment-splitter.d.ts","sourceRoot":"","sources":["../../src/segment-splitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAoB,MAAM,4BAA4B,CAAA;AAC7F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAuG/D,eAAO,MAAM,iBAAiB,aAAc,YAAY,KAAG,eAAe,EAgGzE,CAAA;AAiFD;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,SAAU,gBAAgB,KAAG,oBAChC,CAAA;AASjC,eAAO,MAAM,8BAA8B,EAAE,aAAa,CAAC,MAAM,CAAiB,CAAA;AAElF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,OAAO,CAAC,OAC1B,oBAAoB,KACxB,OAAO,MAAM,EAAE,OAAO,CAWxB,CAAA;AAED,eAAO,MAAM,iBAAiB,aAAc,eAAe,EAAE,KAAG,eAAe,EAE9E,CAAA;AAED,eAAO,MAAM,iBAAiB,aAAc,eAAe,EAAE,KAAG,eAAe,EAE9E,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getClientSegments = exports.getServerSegments = exports.splitIntoSegments = void 0;
3
+ exports.getClientSegments = exports.getServerSegments = exports.redactServerNodeConfig = exports.CLIENT_SAFE_SERVER_CONFIG_KEYS = exports.resolveNodeExecutionEnv = exports.splitIntoSegments = void 0;
4
4
  const graph_utils_1 = require("./graph-utils");
5
5
  const nodes_1 = require("./nodes");
6
6
  const CLIENT_ONLY_NODE_TYPES = new Set([
@@ -225,6 +225,50 @@ const enforceLoopBodyIntegrity = (order, mainNodes, mainEdges) => {
225
225
  }
226
226
  return { reorderedOrder: working, forcedEnvByNodeId };
227
227
  };
228
+ /**
229
+ * Resolve a node's intrinsic execution env using the exact same rules the
230
+ * segment walk applies, without any surrounding-segment context. Used by the
231
+ * client-config redactor to classify nodes that never land in a segment (e.g.
232
+ * error-handler branch nodes). Unknown/universal nodes resolve to 'client',
233
+ * the conservative default (their config is kept).
234
+ */
235
+ const resolveNodeExecutionEnv = (node) => resolveExecutionEnv(node, null);
236
+ exports.resolveNodeExecutionEnv = resolveNodeExecutionEnv;
237
+ // The ONLY field of a server node's config the CLIENT executor ever reads is
238
+ // the AI-streaming flag (findStreamingAINodes / callStreamingServerSegment in
239
+ // executor-generator). Everything else — the raw SQL query, filters, table
240
+ // name, bound params, column mappings, data source id, … — is consumed
241
+ // exclusively inside the server API route (see api-route-generator's
242
+ // SEGMENT_CONFIG, which keeps the full config server-side). None of it may
243
+ // reach the browser bundle.
244
+ exports.CLIENT_SAFE_SERVER_CONFIG_KEYS = ['streaming'];
245
+ /**
246
+ * Strip a server node's config down to the client-safe whitelist before it is
247
+ * serialized into any bundle that ships to the browser (the page-level
248
+ * `__wfConfig_*` constants and the shared custom-nodes file).
249
+ *
250
+ * Safety: a server segment executes entirely inside its own API route, and the
251
+ * generated client node-handler file omits every server node type (see
252
+ * NextWorkflowProjectPlugin.generateNodeHandlerFile), so the browser has no
253
+ * handler to execute a server node with — it only needs a server node's
254
+ * { id, type, stepNumber, edges } for branch-skip bookkeeping plus
255
+ * `config.streaming` for streaming detection. Dropping the rest can therefore
256
+ * only remove data the client never acts on. Client and universal node configs
257
+ * are returned untouched.
258
+ */
259
+ const redactServerNodeConfig = (config, env) => {
260
+ if (env !== 'server' || !config || typeof config !== 'object') {
261
+ return config;
262
+ }
263
+ const safe = {};
264
+ for (const key of exports.CLIENT_SAFE_SERVER_CONFIG_KEYS) {
265
+ if (config[key] !== undefined) {
266
+ safe[key] = config[key];
267
+ }
268
+ }
269
+ return safe;
270
+ };
271
+ exports.redactServerNodeConfig = redactServerNodeConfig;
228
272
  const getServerSegments = (segments) => {
229
273
  return segments.filter((s) => s.env === 'server');
230
274
  };
@@ -1 +1 @@
1
- {"version":3,"file":"segment-splitter.js","sourceRoot":"","sources":["../../src/segment-splitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segment-splitter.js","sourceRoot":"","sources":["../../src/segment-splitter.ts"],"names":[],"mappings":"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"}