@teleporthq/teleport-plugin-next-workflows 0.43.26 → 0.43.30

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 (79) hide show
  1. package/__tests__/_helpers/load-handler.ts +11 -1
  2. package/__tests__/file-storage-upload-picked-files.test.ts +135 -0
  3. package/__tests__/runtime-operator-aliases.test.ts +180 -0
  4. package/__tests__/runtime-template-token-resolution.test.ts +225 -0
  5. package/__tests__/salesforce-opportunity-id.test.ts +122 -0
  6. package/__tests__/state-update-array-type-guard.test.ts +172 -0
  7. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  8. package/dist/cjs/data-api-route-generator.js +10 -0
  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 +134 -5
  12. package/dist/cjs/executor-generator.js.map +1 -1
  13. package/dist/cjs/nodes/data/data-count.d.ts.map +1 -1
  14. package/dist/cjs/nodes/data/data-count.js +16 -0
  15. package/dist/cjs/nodes/data/data-count.js.map +1 -1
  16. package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
  17. package/dist/cjs/nodes/data/data-create-item.js +20 -0
  18. package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
  19. package/dist/cjs/nodes/data/data-delete-item.d.ts.map +1 -1
  20. package/dist/cjs/nodes/data/data-delete-item.js +26 -1
  21. package/dist/cjs/nodes/data/data-delete-item.js.map +1 -1
  22. package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
  23. package/dist/cjs/nodes/data/data-select.js +18 -0
  24. package/dist/cjs/nodes/data/data-select.js.map +1 -1
  25. package/dist/cjs/nodes/data/data-update-item.d.ts.map +1 -1
  26. package/dist/cjs/nodes/data/data-update-item.js +43 -1
  27. package/dist/cjs/nodes/data/data-update-item.js.map +1 -1
  28. package/dist/cjs/nodes/integrations/integration-salesforce.d.ts.map +1 -1
  29. package/dist/cjs/nodes/integrations/integration-salesforce.js +3 -3
  30. package/dist/cjs/nodes/integrations/integration-salesforce.js.map +1 -1
  31. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  32. package/dist/cjs/workflow-component-plugin.d.ts.map +1 -1
  33. package/dist/cjs/workflow-component-plugin.js +56 -9
  34. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  35. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  36. package/dist/cjs/workflow-project-plugin.js +34 -9
  37. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  38. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  39. package/dist/esm/data-api-route-generator.js +10 -0
  40. package/dist/esm/data-api-route-generator.js.map +1 -1
  41. package/dist/esm/executor-generator.d.ts.map +1 -1
  42. package/dist/esm/executor-generator.js +134 -5
  43. package/dist/esm/executor-generator.js.map +1 -1
  44. package/dist/esm/nodes/data/data-count.d.ts.map +1 -1
  45. package/dist/esm/nodes/data/data-count.js +16 -0
  46. package/dist/esm/nodes/data/data-count.js.map +1 -1
  47. package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
  48. package/dist/esm/nodes/data/data-create-item.js +20 -0
  49. package/dist/esm/nodes/data/data-create-item.js.map +1 -1
  50. package/dist/esm/nodes/data/data-delete-item.d.ts.map +1 -1
  51. package/dist/esm/nodes/data/data-delete-item.js +26 -1
  52. package/dist/esm/nodes/data/data-delete-item.js.map +1 -1
  53. package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
  54. package/dist/esm/nodes/data/data-select.js +18 -0
  55. package/dist/esm/nodes/data/data-select.js.map +1 -1
  56. package/dist/esm/nodes/data/data-update-item.d.ts.map +1 -1
  57. package/dist/esm/nodes/data/data-update-item.js +43 -1
  58. package/dist/esm/nodes/data/data-update-item.js.map +1 -1
  59. package/dist/esm/nodes/integrations/integration-salesforce.d.ts.map +1 -1
  60. package/dist/esm/nodes/integrations/integration-salesforce.js +3 -3
  61. package/dist/esm/nodes/integrations/integration-salesforce.js.map +1 -1
  62. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  63. package/dist/esm/workflow-component-plugin.d.ts.map +1 -1
  64. package/dist/esm/workflow-component-plugin.js +56 -9
  65. package/dist/esm/workflow-component-plugin.js.map +1 -1
  66. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  67. package/dist/esm/workflow-project-plugin.js +34 -9
  68. package/dist/esm/workflow-project-plugin.js.map +1 -1
  69. package/package.json +2 -2
  70. package/src/data-api-route-generator.ts +10 -0
  71. package/src/executor-generator.ts +134 -5
  72. package/src/nodes/data/data-count.ts +20 -0
  73. package/src/nodes/data/data-create-item.ts +19 -0
  74. package/src/nodes/data/data-delete-item.ts +30 -1
  75. package/src/nodes/data/data-select.ts +22 -0
  76. package/src/nodes/data/data-update-item.ts +45 -1
  77. package/src/nodes/integrations/integration-salesforce.ts +22 -13
  78. package/src/workflow-component-plugin.ts +61 -3
  79. package/src/workflow-project-plugin.ts +29 -4
@@ -0,0 +1,172 @@
1
+ // Regression guard for the poisoned-array-state family (run 47cf1df1,
2
+ // "Failed to add variant row"): a workflow ref resolving to a custom-js
3
+ // node's WHOLE return object ({ result: [...] }) was written verbatim
4
+ // into an ARRAY state (draftVariants). The mapper rendered zero rows and
5
+ // the next add-row workflow crashed spreading a non-iterable object.
6
+ //
7
+ // `__coerceValue` (inside the page-level `__createWorkflowHandlers`
8
+ // factory the workflow component plugin emits) now type-guards array
9
+ // states: a non-array write logs console.warn, unwraps an object with a
10
+ // single array-valued property, and otherwise falls back to []. Same
11
+ // extraction technique as state-setter-value-key-unwrap.test.ts.
12
+
13
+ import { createNextWorkflowPlugin } from '../src/workflow-component-plugin'
14
+
15
+ const extractFunctionSource = (haystack: string, funcDecl: string): string => {
16
+ const startIdx = haystack.indexOf(funcDecl)
17
+ if (startIdx === -1) {
18
+ throw new Error('Helper not found: ' + funcDecl)
19
+ }
20
+ let depth = 0
21
+ let i = haystack.indexOf('{', startIdx)
22
+ if (i === -1) {
23
+ throw new Error('No opening brace after ' + funcDecl)
24
+ }
25
+ for (; i < haystack.length; i++) {
26
+ const ch = haystack.charAt(i)
27
+ if (ch === '{') {
28
+ depth++
29
+ } else if (ch === '}') {
30
+ depth--
31
+ if (depth === 0) {
32
+ return haystack.slice(startIdx, i + 1)
33
+ }
34
+ }
35
+ }
36
+ throw new Error('Unbalanced braces for ' + funcDecl)
37
+ }
38
+
39
+ const buildStructure = (): any => {
40
+ const triggerNodeId = 'trigger-1'
41
+ const stateUpdateNodeId = 'update-1'
42
+ const workflow = {
43
+ id: 'wf-1',
44
+ name: 'Test WF',
45
+ trigger: {
46
+ type: 'event-page-loaded',
47
+ nodeId: triggerNodeId,
48
+ scope: 'page',
49
+ config: { pageId: 'page-1' },
50
+ },
51
+ nodes: [
52
+ {
53
+ id: stateUpdateNodeId,
54
+ type: 'state-update-local-state',
55
+ config: { property: 'myArr', value: [] },
56
+ stepNumber: 1,
57
+ label: 'X',
58
+ },
59
+ ],
60
+ edges: [{ id: 'e', source: triggerNodeId, target: stateUpdateNodeId }],
61
+ }
62
+ return {
63
+ uidl: {
64
+ name: 'Page',
65
+ outputOptions: { pageId: 'page-1', fileName: 'page-1' },
66
+ node: { type: 'element', content: { elementType: 'container', name: 'Container' } },
67
+ stateDefinitions: {
68
+ myArr: { type: 'array', defaultValue: [] },
69
+ myStr: { type: 'string', defaultValue: '' },
70
+ myObj: { type: 'object', defaultValue: {} },
71
+ },
72
+ },
73
+ chunks: [
74
+ {
75
+ type: 'chunk-type-ast',
76
+ name: 'jsx-component',
77
+ content: {
78
+ type: 'VariableDeclaration',
79
+ declarations: [
80
+ {
81
+ type: 'VariableDeclarator',
82
+ init: {
83
+ type: 'ArrowFunctionExpression',
84
+ body: {
85
+ type: 'BlockStatement',
86
+ body: [{ type: 'ReturnStatement', argument: null }],
87
+ },
88
+ },
89
+ },
90
+ ],
91
+ },
92
+ },
93
+ ],
94
+ options: {
95
+ workflows: { workflows: { 'wf-1': workflow }, customNodes: {} },
96
+ },
97
+ dependencies: {},
98
+ }
99
+ }
100
+
101
+ const buildCoerceFn = async (): Promise<(v: unknown, property: string) => unknown> => {
102
+ const plugin = createNextWorkflowPlugin({ isPage: true })
103
+ const structure = buildStructure()
104
+ await plugin(structure as any)
105
+ const moduleChunk = (structure.chunks as any[]).find((c: any) => c.name === 'workflow-module')
106
+ if (!moduleChunk) {
107
+ throw new Error('workflow-module chunk not emitted by plugin')
108
+ }
109
+ const moduleCode = String(moduleChunk.content)
110
+ const fnSource = extractFunctionSource(moduleCode, 'function __coerceValue')
111
+ const stateTypes = { myArr: 'array', myStr: 'string', myObj: 'object' }
112
+ const factory = new Function('stateTypes', fnSource + '\nreturn __coerceValue;')
113
+ return factory(stateTypes)
114
+ }
115
+
116
+ describe('__coerceValue: array state type-guard', () => {
117
+ let warnSpy: jest.SpyInstance
118
+
119
+ beforeEach(() => {
120
+ warnSpy = jest.spyOn(console, 'warn').mockImplementation(() => undefined)
121
+ })
122
+
123
+ afterEach(() => {
124
+ warnSpy.mockRestore()
125
+ })
126
+
127
+ it('unwraps an object with a single array-valued property and warns', async () => {
128
+ // The canonical poison: the whole { result: [...] } custom-js return
129
+ // instead of its .result ref.
130
+ const coerce = await buildCoerceFn()
131
+ expect(coerce({ result: [1, 2, 3] }, 'myArr')).toEqual([1, 2, 3])
132
+ expect(warnSpy).toHaveBeenCalled()
133
+ })
134
+
135
+ it('falls back to [] for objects that are not a single-array wrapper', async () => {
136
+ const coerce = await buildCoerceFn()
137
+ expect(coerce({ a: [1], b: [2] }, 'myArr')).toEqual([])
138
+ expect(coerce({ a: 'not-an-array' }, 'myArr')).toEqual([])
139
+ })
140
+
141
+ it('falls back to [] for primitives and null', async () => {
142
+ const coerce = await buildCoerceFn()
143
+ expect(coerce('oops', 'myArr')).toEqual([])
144
+ expect(coerce(42, 'myArr')).toEqual([])
145
+ expect(coerce(null, 'myArr')).toEqual([])
146
+ expect(warnSpy).toHaveBeenCalledTimes(3)
147
+ })
148
+
149
+ it('passes real arrays through untouched, without warning', async () => {
150
+ const coerce = await buildCoerceFn()
151
+ const arr = [{ sku: 'A' }]
152
+ expect(coerce(arr, 'myArr')).toBe(arr)
153
+ expect(warnSpy).not.toHaveBeenCalled()
154
+ })
155
+
156
+ it('still unwraps a {value, key} state-get wrapper carrying an array', async () => {
157
+ // The pre-existing unwrap runs first; its array payload must then
158
+ // pass the array guard without being coerced away.
159
+ const coerce = await buildCoerceFn()
160
+ const arr = [1, 2]
161
+ expect(coerce({ value: arr, key: 'myArr' }, 'myArr')).toBe(arr)
162
+ expect(warnSpy).not.toHaveBeenCalled()
163
+ })
164
+
165
+ it('does not touch non-array states', async () => {
166
+ const coerce = await buildCoerceFn()
167
+ const richObj = { a: 1, b: 2 }
168
+ expect(coerce(richObj, 'myObj')).toBe(richObj)
169
+ expect(coerce('plain', 'myStr')).toBe('plain')
170
+ expect(warnSpy).not.toHaveBeenCalled()
171
+ })
172
+ })
@@ -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,MA+uBxE,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,MAyvBxE,CAAA"}
@@ -677,6 +677,16 @@ async function assertSessionOwnsUsersRow(req, operation, body) {
677
677
  if (operation !== 'update' && operation !== 'delete') return;
678
678
  if (!body || body.tableName !== AUTH_USERS_TABLE) return;
679
679
 
680
+ // Trusted internal server-side workflow calls (e.g. password reset, which has
681
+ // NO logged-in session, and server-side profile updates) carry the app's
682
+ // internal secret in a header. Only server code can read NEXTAUTH_SECRET, so a
683
+ // browser client cannot forge it — these calls bypass the per-session
684
+ // ownership check. Direct (non-workflow) client calls have no secret and stay guarded.
685
+ var internalSecret = req && req.headers && req.headers['x-internal-data-secret'];
686
+ if (internalSecret && process.env.NEXTAUTH_SECRET && internalSecret === process.env.NEXTAUTH_SECRET) {
687
+ return;
688
+ }
689
+
680
690
  var token;
681
691
  try {
682
692
  token = await getToken({ req: req, secret: process.env.NEXTAUTH_SECRET });
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+tBd,CAAA;AACD,CAAC,CAAA;AA/uBY,QAAA,oBAAoB,wBA+uBhC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyuBd,CAAA;AACD,CAAC,CAAA;AAzvBY,QAAA,oBAAoB,wBAyvBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor-generator.d.ts","sourceRoot":"","sources":["../../src/executor-generator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,QAAO,MAq1BjD,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAsc5C,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,MAo9BjD,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAwc5C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAK5C,CAAA"}
@@ -215,9 +215,99 @@ function escapeHtmlText(value) {
215
215
  return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
216
216
  }
217
217
 
218
+ // Sentinel for a page-context template token ({{urlDifferentiator}} /
219
+ // {{Current Page Entity.id}}) that could not be resolved at execution time
220
+ // (no dynamic-route parameter reachable — e.g. the workflow fired on a
221
+ // non-details page). finalizeResolvedConfig turns this into a validation
222
+ // error on data-node filters and into null everywhere else, so the literal
223
+ // token text never reaches SQL.
224
+ var UNRESOLVED_ROUTE_PARAM = '__TQ_UNRESOLVED_ROUTE_PARAM__';
225
+
226
+ // Deployed node configs regularly carry literal {{...}} template tokens that
227
+ // only the page runtime can resolve: {{state.X}} (trigger-time state
228
+ // snapshot), {{urlDifferentiator}} / {{Current Page Entity.id}} /
229
+ // {{page.entityId}} (the details page's dynamic-route parameter) and
230
+ // {{Current User.id}} (the GlobalContext-bridged authenticated user). No
231
+ // other substitution site exists in the generated app, so without this the
232
+ // literal token string reaches SQL. Only whole-string tokens are resolved —
233
+ // JS-expression tokens ({{state.a === 'b' ? ...}}) are left untouched.
234
+ function resolveTemplateTokenString(value, context) {
235
+ if (typeof value !== 'string') return { matched: false };
236
+ var m = value.match(/^\\{\\{\\s*([^{}]+?)\\s*\\}\\}$/);
237
+ if (!m) return { matched: false };
238
+ var token = m[1];
239
+ if (token.indexOf('state.') === 0) {
240
+ var statePath = token.slice(6).split('.');
241
+ for (var si = 0; si < statePath.length; si++) {
242
+ if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(statePath[si])) return { matched: false };
243
+ }
244
+ var stateCursor = context && context.__stateValues;
245
+ for (var sj = 0; sj < statePath.length && stateCursor !== null && stateCursor !== undefined; sj++) {
246
+ stateCursor = stateCursor[statePath[sj]];
247
+ }
248
+ return { matched: true, value: stateCursor === undefined ? null : stateCursor };
249
+ }
250
+ if (token === 'urlDifferentiator' || token === 'Current Page Entity.id' || token === 'page.entityId') {
251
+ var routeParams = context && context.__routeParams;
252
+ // The page's declared dynamic-route attribute wins; 'id' is the fallback
253
+ // for workflows attached to shared components (e.g. Navigation) rendered
254
+ // on a details page, which have no __dynamicRouteParam of their own.
255
+ var routeParamKey = (context && context.__dynamicRouteParam) || 'id';
256
+ if (routeParams && routeParams[routeParamKey] !== undefined && routeParams[routeParamKey] !== null && routeParams[routeParamKey] !== '') {
257
+ var paramValue = routeParams[routeParamKey];
258
+ return { matched: true, value: Array.isArray(paramValue) ? paramValue[0] : paramValue };
259
+ }
260
+ return { matched: true, value: UNRESOLVED_ROUTE_PARAM };
261
+ }
262
+ if (token === 'Current User.id' || token === 'currentUser.id') {
263
+ var currentUser = context && context.__stateValues && context.__stateValues.currentUser;
264
+ var userId = currentUser && typeof currentUser === 'object' ? currentUser.id : undefined;
265
+ return { matched: true, value: userId === undefined ? null : userId };
266
+ }
267
+ return { matched: false };
268
+ }
269
+
270
+ // Post-resolution pass over a node's resolved config. Data-node filters whose
271
+ // value is an unresolved route-param sentinel become a hard validation error
272
+ // (surfaced through the workflow error handler) — sending them on would query
273
+ // 'WHERE id = <literal token>'. Everywhere else the sentinel degrades to null
274
+ // (e.g. a columnMapping loses attribution but the write survives).
275
+ function finalizeResolvedConfig(nodeType, config) {
276
+ var isDataNode = typeof nodeType === 'string' && nodeType.indexOf('data-') === 0;
277
+ var error = null;
278
+ function walk(obj, insideFilters) {
279
+ if (!obj || typeof obj !== 'object') return;
280
+ if (Array.isArray(obj)) {
281
+ for (var ai = 0; ai < obj.length; ai++) walk(obj[ai], insideFilters);
282
+ return;
283
+ }
284
+ var keys = Object.keys(obj);
285
+ for (var ki = 0; ki < keys.length; ki++) {
286
+ var k = keys[ki];
287
+ var v = obj[k];
288
+ if (v === UNRESOLVED_ROUTE_PARAM) {
289
+ if (isDataNode && insideFilters && !error) {
290
+ var column = obj.column || obj.source || obj.field || k;
291
+ error = 'Filter on "' + column + '" requires the page id ({{urlDifferentiator}}), which is not available in this context';
292
+ }
293
+ obj[k] = null;
294
+ } else if (v && typeof v === 'object') {
295
+ walk(v, insideFilters || k === 'filters');
296
+ }
297
+ }
298
+ }
299
+ walk(config, false);
300
+ return error;
301
+ }
302
+
218
303
  // Scalar config values are normally just secret-resolved. Rich-text strings
219
- // (email bodies) additionally need their inline context placeholders resolved.
304
+ // (email bodies) additionally need their inline context placeholders resolved,
305
+ // and whole-string {{...}} template tokens resolve against the page context.
220
306
  function resolveScalarValue(value, context) {
307
+ var tokenResolution = resolveTemplateTokenString(value, context);
308
+ if (tokenResolution.matched) {
309
+ return tokenResolution.value;
310
+ }
221
311
  if (typeof value === 'string' && value.indexOf('context-value-inline') !== -1) {
222
312
  return resolveRichTextContext(value, context);
223
313
  }
@@ -317,11 +407,28 @@ function coerceForComparison(a, b) {
317
407
  return [a, b];
318
408
  }
319
409
 
410
+ // The operator vocabulary is written by THREE producers that never agreed on
411
+ // a spelling: the worker canonicalizes to snake_case (is_not_empty,
412
+ // greater_than), the GUI editor emits camelCase named forms (startsWith,
413
+ // notContains), and this runtime historically implemented only the hyphenated
414
+ // forms. Unknown spellings used to fall through to the default 'left == right'
415
+ // branch, which INVERTS unary semantics (is_not_empty compared the value
416
+ // against undefined). Normalizing camelCase and snake_case to the canonical
417
+ // hyphenated form here makes every producer's config executable.
418
+ function normalizeComparisonOperator(op) {
419
+ if (typeof op !== 'string' || op === '') return 'equals';
420
+ return op
421
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
422
+ .replace(/_/g, '-')
423
+ .toLowerCase();
424
+ }
425
+
320
426
  function evaluateSingleComparison(config, context) {
321
427
  var rawLeft = resolveValue(config.leftValue, context);
322
428
  var rawRight = resolveValue(config.rightValue, context);
323
- const op = config.operator || 'equals';
324
- var isUnary = op === 'is-empty' || op === 'is-not-empty' || op === 'is-truthy' || op === 'is-falsy';
429
+ const op = normalizeComparisonOperator(config.operator || 'equals');
430
+ var isUnary = op === 'is-empty' || op === 'is-not-empty' || op === 'is-truthy' || op === 'is-falsy' ||
431
+ op === 'is-null' || op === 'is-not-null' || op === 'is-true' || op === 'is-false';
325
432
  var pair = isUnary ? [rawLeft, rawRight] : coerceForComparison(rawLeft, rawRight);
326
433
  var left = pair[0];
327
434
  var right = pair[1];
@@ -335,15 +442,21 @@ function evaluateSingleComparison(config, context) {
335
442
  case '>=': case 'greater-than-or-equal': return left >= right;
336
443
  case '<=': case 'less-than-or-equal': return left <= right;
337
444
  case 'contains': return String(left).includes(String(right));
338
- case 'not-contains': return !String(left).includes(String(right));
445
+ case 'not-contains': case 'does-not-contain': return !String(left).includes(String(right));
339
446
  case 'starts-with': return String(left).startsWith(String(right));
340
447
  case 'ends-with': return String(left).endsWith(String(right));
341
448
  case 'is-empty': return left === '' || left === null || left === undefined || (Array.isArray(left) && left.length === 0);
342
449
  case 'is-not-empty': return left !== '' && left !== null && left !== undefined && !(Array.isArray(left) && left.length === 0);
450
+ case 'is-null': return left === null || left === undefined;
451
+ case 'is-not-null': return left !== null && left !== undefined;
452
+ case 'is-true': return left === true || left === 'true';
453
+ case 'is-false': return left === false || left === 'false';
343
454
  case 'is-truthy': return !!left;
344
455
  case 'is-falsy': return !left;
345
456
  case 'matches-regex': try { return new RegExp(String(right)).test(String(left)); } catch(e) { return false; }
346
- default: return left == right;
457
+ default:
458
+ console.warn('[workflow] Unknown comparison operator "' + config.operator + '" — falling back to loose equality');
459
+ return left == right;
347
460
  }
348
461
  }
349
462
 
@@ -355,6 +468,12 @@ async function executeWorkflow(workflowConfig, triggerContext, nodeHandlers, opt
355
468
  if (triggerContext && triggerContext.__stateValues) {
356
469
  context.__stateValues = triggerContext.__stateValues;
357
470
  }
471
+ if (triggerContext && triggerContext.__routeParams) {
472
+ context.__routeParams = triggerContext.__routeParams;
473
+ }
474
+ if (triggerContext && triggerContext.__dynamicRouteParam) {
475
+ context.__dynamicRouteParam = triggerContext.__dynamicRouteParam;
476
+ }
358
477
  if (triggerContext && triggerContext.triggerElement) {
359
478
  context.triggerElement = triggerContext.triggerElement;
360
479
  }
@@ -456,6 +575,11 @@ async function executeNodes(nodes, edges, context, nodeHandlers, workflowConfig,
456
575
  const resolvedConfig = resolveConfig(node.config, context);
457
576
 
458
577
  try {
578
+ const configError = finalizeResolvedConfig(node.type, resolvedConfig);
579
+ if (configError) {
580
+ throw new Error(configError);
581
+ }
582
+
459
583
  if (node.type === 'general-if-statement') {
460
584
  const condResult = evaluateCondition(resolvedConfig, context);
461
585
  context[node.id] = { result: condResult };
@@ -844,6 +968,9 @@ module.exports = {
844
968
  unwrapWorkflowCollection,
845
969
  evaluateCondition,
846
970
  evaluateSingleComparison,
971
+ normalizeComparisonOperator,
972
+ resolveTemplateTokenString,
973
+ finalizeResolvedConfig,
847
974
  executeWorkflow,
848
975
  executeNodes,
849
976
  executeLoop,
@@ -1005,6 +1132,8 @@ function buildContext(workflowConfig, triggerContext) {
1005
1132
  context[workflowConfig.triggerNodeId] = triggerContext;
1006
1133
  if (triggerContext) {
1007
1134
  if (triggerContext.__stateValues) context.__stateValues = triggerContext.__stateValues;
1135
+ if (triggerContext.__routeParams) context.__routeParams = triggerContext.__routeParams;
1136
+ if (triggerContext.__dynamicRouteParam) context.__dynamicRouteParam = triggerContext.__dynamicRouteParam;
1008
1137
  if (triggerContext.triggerElement) context.triggerElement = triggerContext.triggerElement;
1009
1138
  }
1010
1139
  return context;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAm1BR,CAAA;AACD,CAAC,CAAA;AAr1BY,QAAA,8BAA8B,kCAq1B1C;AAEM,MAAM,yBAAyB,GAAG,GAAW,EAAE;IACpD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAocR,CAAA;AACD,CAAC,CAAA;AAtcY,QAAA,yBAAyB,6BAscrC;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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 +1 @@
1
- {"version":3,"file":"data-count.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-count.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAyBhE,eAAO,MAAM,SAAS,EAAE,oBAMvB,CAAA"}
1
+ {"version":3,"file":"data-count.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-count.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA6ChE,eAAO,MAAM,SAAS,EAAE,oBAMvB,CAAA"}
@@ -7,6 +7,22 @@ async function data_count(config, context) {
7
7
  const tableName = config.tableName;
8
8
  const filters = config.filters || [];
9
9
  const baseUrl = (context && context.__baseUrl) || '';
10
+ // Unresolved route-param sentinel in a filter → validation error (see
11
+ // resolveTemplateTokenString in runtime-utils) instead of counting nothing.
12
+ for (let __fi = 0; __fi < filters.length; __fi++) {
13
+ const __f = filters[__fi];
14
+ if (__f &&
15
+ (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
16
+ __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
17
+ const __col = __f.column || __f.source || __f.field || 'unknown';
18
+ return {
19
+ count: 0,
20
+ error: 'Filter on "' +
21
+ __col +
22
+ '" requires the page route parameter, which is not available in this context',
23
+ };
24
+ }
25
+ }
10
26
  try {
11
27
  const response = await fetch(baseUrl + '/api/data/' + dataSourceId + '/count', {
12
28
  method: 'POST',
@@ -1 +1 @@
1
- {"version":3,"file":"data-count.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-count.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAY;IACjD,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;IAEpD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,EAAE;YAC7E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,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,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,oBAAoB,EAAE,CAAA;SAC/D;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAA;KAClC;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACnD;AACH,CAAC;AACY,QAAA,SAAS,GAAyB;IAC7C,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAA;IACpC,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"data-count.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-count.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAY;IACjD,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;IAEpD,sEAAsE;IACtE,4EAA4E;IAC5E,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,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAA;YAChE,OAAO;gBACL,KAAK,EAAE,CAAC;gBACR,KAAK,EACH,aAAa;oBACb,KAAK;oBACL,6EAA6E;aAChF,CAAA;SACF;KACF;IAED,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,EAAE;YAC7E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,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,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,oBAAoB,EAAE,CAAA;SAC/D;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAA;KAClC;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACnD;AACH,CAAC;AACY,QAAA,SAAS,GAAyB;IAC7C,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAA;IACpC,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-create-item.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-create-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAwMhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
1
+ {"version":3,"file":"data-create-item.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-create-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA2NhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
@@ -7,6 +7,26 @@ async function data_create_item(config, context) {
7
7
  const tableName = config.tableName;
8
8
  const columnMappings = config.columnMappings || {};
9
9
  const baseUrl = (context && context.__baseUrl) || '';
10
+ // An unresolved route-param sentinel (see resolveTemplateTokenString in
11
+ // runtime-utils) in a columnMapping degrades to null so the INSERT itself
12
+ // survives — only attribution-style columns lose their value.
13
+ if (Array.isArray(columnMappings)) {
14
+ for (let __mi = 0; __mi < columnMappings.length; __mi++) {
15
+ const __m = columnMappings[__mi];
16
+ if (__m && __m.value === '__TQ_UNRESOLVED_ROUTE_PARAM__') {
17
+ __m.value = null;
18
+ }
19
+ }
20
+ }
21
+ else if (columnMappings && typeof columnMappings === 'object') {
22
+ const __mKeys = Object.keys(columnMappings);
23
+ for (let __mi = 0; __mi < __mKeys.length; __mi++) {
24
+ if (columnMappings[__mKeys[__mi]] === '__TQ_UNRESOLVED_ROUTE_PARAM__') {
25
+ ;
26
+ columnMappings[__mKeys[__mi]] = null;
27
+ }
28
+ }
29
+ }
10
30
  // Surface the workflow's anonymous-user UUID to the data-api so a
11
31
  // guest-checkout INSERT can recover its `user_id` from the
12
32
  // resolve-user output instead of being NULL'd by the UUID
@@ -1 +1 @@
1
- {"version":3,"file":"data-create-item.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-create-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-create-item.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-create-item.ts"],"names":[],"mappings":"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"}
@@ -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;AAkChE,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;AA+DhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
@@ -7,10 +7,35 @@ async function data_delete_item(config, context) {
7
7
  const tableName = config.tableName;
8
8
  const filters = config.filters || [];
9
9
  const baseUrl = (context && context.__baseUrl) || '';
10
+ const __env = globalThis.process && globalThis.process.env;
11
+ // Unresolved route-param sentinel in a filter → validation error (see
12
+ // resolveTemplateTokenString in runtime-utils). A DELETE must never run
13
+ // with a filter that silently matches nothing (or worse, gets dropped).
14
+ for (let __fi = 0; __fi < filters.length; __fi++) {
15
+ const __f = filters[__fi];
16
+ if (__f &&
17
+ (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
18
+ __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
19
+ const __col = __f.column || __f.source || __f.field || 'unknown';
20
+ return {
21
+ deletedId: null,
22
+ success: false,
23
+ deletedCount: 0,
24
+ error: 'Filter on "' +
25
+ __col +
26
+ '" requires the page route parameter, which is not available in this context',
27
+ };
28
+ }
29
+ }
10
30
  try {
11
31
  const response = await fetch(baseUrl + '/api/data/' + dataSourceId + '/delete', {
12
32
  method: 'POST',
13
- headers: { 'Content-Type': 'application/json' },
33
+ headers: {
34
+ 'Content-Type': 'application/json',
35
+ // Trusted internal server-side call — lets the /api/data guard distinguish
36
+ // this from a direct browser request (see assertSessionOwnsUsersRow).
37
+ 'x-internal-data-secret': (__env && __env.NEXTAUTH_SECRET) || '',
38
+ },
14
39
  body: JSON.stringify({ tableName, filters }),
15
40
  });
16
41
  const data = await response.json();
@@ -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;IAEpD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,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":";;;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,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAA;YAChE,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,CAAC;gBACf,KAAK,EACH,aAAa;oBACb,KAAK;oBACL,6EAA6E;aAChF,CAAA;SACF;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 +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;AAyChE,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;AA+DhE,eAAO,MAAM,UAAU,EAAE,oBAMxB,CAAA"}
@@ -12,6 +12,24 @@ async function data_select(config, context) {
12
12
  const skip = config.skip;
13
13
  const rawQueryUserPart = config.rawQueryUserPart;
14
14
  const baseUrl = (context && context.__baseUrl) || '';
15
+ // A filter whose value is the unresolved route-param sentinel (see
16
+ // resolveTemplateTokenString in runtime-utils) must fail loudly instead of
17
+ // querying 'WHERE col = <sentinel>' and silently returning 0 rows.
18
+ for (let __fi = 0; __fi < filters.length; __fi++) {
19
+ const __f = filters[__fi];
20
+ if (__f &&
21
+ (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
22
+ __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
23
+ const __col = __f.column || __f.source || __f.field || 'unknown';
24
+ return {
25
+ rows: [],
26
+ count: 0,
27
+ error: 'Filter on "' +
28
+ __col +
29
+ '" requires the page route parameter, which is not available in this context',
30
+ };
31
+ }
32
+ }
15
33
  try {
16
34
  const payload = { tableName, filters, sorts, selectedColumns };
17
35
  if (limit !== undefined && limit !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-select.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,WAAW,CAAC,MAAW,EAAE,OAAY;IAClD,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,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;IAChC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAA;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;IAChD,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAEpD,IAAI;QACF,MAAM,OAAO,GAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;QACnE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACzC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;SACtB;QACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;YACvC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;SACpB;QACD,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;SAC5C;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,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,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,qBAAqB,EAAE,CAAA;SAC1E;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAA;KACzD;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KAC7D;AACH,CAAC;AACY,QAAA,UAAU,GAAyB;IAC9C,QAAQ,EAAE,aAAa;IACvB,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAA;IACrC,CAAC;CACF,CAAA"}
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;AAoDhE,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;AAgGhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}