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

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 (42) hide show
  1. package/__tests__/graph-utils-topological-order.test.ts +108 -0
  2. package/__tests__/runtime-template-token-resolution.test.ts +12 -9
  3. package/dist/cjs/graph-utils.d.ts +7 -0
  4. package/dist/cjs/graph-utils.d.ts.map +1 -1
  5. package/dist/cjs/graph-utils.js +52 -1
  6. package/dist/cjs/graph-utils.js.map +1 -1
  7. package/dist/cjs/nodes/data/data-count.d.ts.map +1 -1
  8. package/dist/cjs/nodes/data/data-count.js +8 -7
  9. package/dist/cjs/nodes/data/data-count.js.map +1 -1
  10. package/dist/cjs/nodes/data/data-delete-item.d.ts.map +1 -1
  11. package/dist/cjs/nodes/data/data-delete-item.js +9 -7
  12. package/dist/cjs/nodes/data/data-delete-item.js.map +1 -1
  13. package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
  14. package/dist/cjs/nodes/data/data-select.js +12 -8
  15. package/dist/cjs/nodes/data/data-select.js.map +1 -1
  16. package/dist/cjs/nodes/data/data-update-item.d.ts.map +1 -1
  17. package/dist/cjs/nodes/data/data-update-item.js +11 -9
  18. package/dist/cjs/nodes/data/data-update-item.js.map +1 -1
  19. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  20. package/dist/esm/graph-utils.d.ts +7 -0
  21. package/dist/esm/graph-utils.d.ts.map +1 -1
  22. package/dist/esm/graph-utils.js +50 -0
  23. package/dist/esm/graph-utils.js.map +1 -1
  24. package/dist/esm/nodes/data/data-count.d.ts.map +1 -1
  25. package/dist/esm/nodes/data/data-count.js +8 -7
  26. package/dist/esm/nodes/data/data-count.js.map +1 -1
  27. package/dist/esm/nodes/data/data-delete-item.d.ts.map +1 -1
  28. package/dist/esm/nodes/data/data-delete-item.js +9 -7
  29. package/dist/esm/nodes/data/data-delete-item.js.map +1 -1
  30. package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
  31. package/dist/esm/nodes/data/data-select.js +12 -8
  32. package/dist/esm/nodes/data/data-select.js.map +1 -1
  33. package/dist/esm/nodes/data/data-update-item.d.ts.map +1 -1
  34. package/dist/esm/nodes/data/data-update-item.js +11 -9
  35. package/dist/esm/nodes/data/data-update-item.js.map +1 -1
  36. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +2 -2
  38. package/src/graph-utils.ts +52 -0
  39. package/src/nodes/data/data-count.ts +10 -8
  40. package/src/nodes/data/data-delete-item.ts +11 -8
  41. package/src/nodes/data/data-select.ts +14 -9
  42. package/src/nodes/data/data-update-item.ts +13 -10
@@ -0,0 +1,108 @@
1
+ import { getTopologicalOrder, collectWorkflowContextNodeIds } from '../src/graph-utils'
2
+ import type { UIDLWorkflowNode, UIDLWorkflowEdge } from '@teleporthq/teleport-types'
3
+
4
+ const node = (
5
+ id: string,
6
+ type: string,
7
+ stepNumber: number,
8
+ config: Record<string, unknown> = {}
9
+ ): UIDLWorkflowNode => ({
10
+ id,
11
+ type,
12
+ label: id,
13
+ config,
14
+ executionEnv: type === 'data-create-item' || type.startsWith('data-') ? 'server' : 'client',
15
+ stepNumber,
16
+ })
17
+
18
+ const wfCtx = (nodeId: string) => ({
19
+ type: 'workflowContext',
20
+ nodeId,
21
+ path: [nodeId, 'value'],
22
+ })
23
+
24
+ describe('collectWorkflowContextNodeIds', () => {
25
+ it('finds workflowContext node ids nested in arrays and objects', () => {
26
+ const config = {
27
+ columnMappings: [
28
+ { column: 'title', value: wfCtx('get-title') },
29
+ { column: 'type_field', value: wfCtx('get-type') },
30
+ ],
31
+ filters: [{ field: 'id', value: '{{Current Page Entity.id}}' }],
32
+ }
33
+ const out = new Set<string>()
34
+ collectWorkflowContextNodeIds(config, out)
35
+ expect(Array.from(out).sort()).toEqual(['get-title', 'get-type'])
36
+ })
37
+ })
38
+
39
+ describe('getTopologicalOrder — implicit workflowContext dependencies', () => {
40
+ it('orders a state-get BEFORE the data-create that reads it via columnMappings (no explicit edge)', () => {
41
+ // Reproduces run 0a5f554e: the create references get-state-type only through
42
+ // its config; there is NO explicit edge between them.
43
+ const nodes = [
44
+ node('trig', 'event-form-submitted', 0),
45
+ node('insert-title', 'data-create-item', 0, {
46
+ tableName: 'titles',
47
+ columnMappings: [{ column: 'type_field', value: wfCtx('get-state-type') }],
48
+ }),
49
+ node('get-state-type', 'state-get-local-state', 3, { property: 'typeField' }),
50
+ ]
51
+ const edges: UIDLWorkflowEdge[] = [{ id: 'e1', source: 'trig', target: 'get-state-type' }]
52
+
53
+ const order = getTopologicalOrder(nodes, edges)
54
+ expect(order.indexOf('get-state-type')).toBeLessThan(order.indexOf('insert-title'))
55
+ })
56
+
57
+ it('does not reorder a correctly wired linear workflow', () => {
58
+ const nodes = [
59
+ node('trig', 'event-element-clicked', 0),
60
+ node('get', 'state-get-local-state', 1, { property: 'q' }),
61
+ node('sel', 'data-select', 2, {
62
+ tableName: 't',
63
+ filters: [{ field: 'q', value: wfCtx('get') }],
64
+ }),
65
+ node('upd', 'state-update-local-state', 3, { property: 'rows' }),
66
+ ]
67
+ const edges: UIDLWorkflowEdge[] = [
68
+ { id: 'e1', source: 'trig', target: 'get' },
69
+ { id: 'e2', source: 'get', target: 'sel' },
70
+ { id: 'e3', source: 'sel', target: 'upd' },
71
+ ]
72
+ expect(getTopologicalOrder(nodes, edges)).toEqual(['trig', 'get', 'sel', 'upd'])
73
+ })
74
+
75
+ it('ignores a workflowContext ref to a control-flow (loop) node', () => {
76
+ // A node reading a loop's currentItem must NOT be forced after the loop via a
77
+ // synthetic data edge (loop bodies are handled by dedicated edge handles).
78
+ const nodes = [
79
+ node('trig', 'event-element-clicked', 0),
80
+ node('reader', 'data-create-item', 1, {
81
+ tableName: 't',
82
+ columnMappings: [
83
+ {
84
+ column: 'x',
85
+ value: { type: 'workflowContext', nodeId: 'loop', path: ['loop', 'currentItem'] },
86
+ },
87
+ ],
88
+ }),
89
+ node('loop', 'general-loop', 5, {}),
90
+ ]
91
+ const edges: UIDLWorkflowEdge[] = [{ id: 'e1', source: 'trig', target: 'reader' }]
92
+ // No virtual edge loop->reader is added, so reader (step 1) stays before loop (step 5).
93
+ const order = getTopologicalOrder(nodes, edges)
94
+ expect(order.indexOf('reader')).toBeLessThan(order.indexOf('loop'))
95
+ })
96
+
97
+ it('tolerates self / unknown refs without crashing', () => {
98
+ const nodes = [
99
+ node('trig', 'event-element-clicked', 0),
100
+ node('a', 'data-select', 1, {
101
+ filters: [{ value: wfCtx('a') }, { value: wfCtx('ghost') }],
102
+ }),
103
+ ]
104
+ const edges: UIDLWorkflowEdge[] = [{ id: 'e1', source: 'trig', target: 'a' }]
105
+ expect(() => getTopologicalOrder(nodes, edges)).not.toThrow()
106
+ expect(getTopologicalOrder(nodes, edges)).toEqual(['trig', 'a'])
107
+ })
108
+ })
@@ -170,29 +170,32 @@ describe('workflow runtime template-token resolution', () => {
170
170
  describe('generated data-node handlers reject the sentinel defensively', () => {
171
171
  // The API-route segment executor resolves configs without the
172
172
  // executeNodes finalize pass, so the handlers themselves must catch a
173
- // sentinel that slipped through.
174
- it('data-select returns an error result for a sentinel filter', async () => {
173
+ // sentinel that slipped through — degrade to empty/no-op without `error`
174
+ // so the workflow is not aborted.
175
+ it('data-select returns empty rows for a sentinel filter', async () => {
175
176
  const handler = loadHandler('data-select')
176
- const result = await handler(
177
+ const result = (await handler(
177
178
  { tableName: 'products', filters: [{ field: 'id', value: SENTINEL, operator: '=' }] },
178
179
  {}
179
- )
180
- expect(result.error).toContain('not available')
180
+ )) as { rows: unknown[]; error?: string; __skippedUnavailableFilter?: boolean }
181
+ expect(result.error).toBeUndefined()
181
182
  expect(result.rows).toEqual([])
183
+ expect(result.__skippedUnavailableFilter).toBe(true)
182
184
  })
183
185
 
184
- it('data-update-item returns an error result for a sentinel filter', async () => {
186
+ it('data-update-item no-ops for a sentinel filter', async () => {
185
187
  const handler = loadHandler('data-update-item')
186
- const result = await handler(
188
+ const result = (await handler(
187
189
  {
188
190
  tableName: 'products',
189
191
  filters: [{ field: 'id', value: SENTINEL, operator: '=' }],
190
192
  columnMappings: [{ column: 'name', value: 'X' }],
191
193
  },
192
194
  {}
193
- )
194
- expect(result.error).toContain('not available')
195
+ )) as { updatedCount: number; error?: string; __skippedUnavailableFilter?: boolean }
196
+ expect(result.error).toBeUndefined()
195
197
  expect(result.updatedCount).toBe(0)
198
+ expect(result.__skippedUnavailableFilter).toBe(true)
196
199
  })
197
200
 
198
201
  it('data-create-item nulls sentinel columnMappings so the INSERT survives', async () => {
@@ -4,6 +4,13 @@ export declare const getNodeDependencies: (nodeId: string, edges: UIDLWorkflowEd
4
4
  export declare const getNodeChildren: (nodeId: string, edges: UIDLWorkflowEdge[]) => string[];
5
5
  export declare const getEdgesFrom: (nodeId: string, edges: UIDLWorkflowEdge[]) => UIDLWorkflowEdge[];
6
6
  export declare const getEdgesTo: (nodeId: string, edges: UIDLWorkflowEdge[]) => UIDLWorkflowEdge[];
7
+ /**
8
+ * Recursively collect every workflow-context node id a config references, i.e.
9
+ * the ids inside `{ type: 'workflowContext', nodeId: '<id>', path: [...] }`
10
+ * objects embedded anywhere in a node's config (filter values, column mappings,
11
+ * loop collections, custom-js params, …).
12
+ */
13
+ export declare const collectWorkflowContextNodeIds: (value: unknown, out: Set<string>) => void;
7
14
  export declare const getTopologicalOrder: (nodes: UIDLWorkflowNode[], edges: UIDLWorkflowEdge[]) => string[];
8
15
  export declare const getLoopBodyNodes: (loopNodeId: string, edges: UIDLWorkflowEdge[]) => string[];
9
16
  export declare const getParallelBranches: (parallelNodeId: string, edges: UIDLWorkflowEdge[]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"graph-utils.d.ts","sourceRoot":"","sources":["../../src/graph-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9F,eAAO,MAAM,WAAW,UACf,gBAAgB,EAAE,UACjB,MAAM,KACb,gBAAgB,GAAG,SAErB,CAAA;AAED,eAAO,MAAM,mBAAmB,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,MAAM,EAErF,CAAA;AAED,eAAO,MAAM,eAAe,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,MAAM,EAEjF,CAAA;AAED,eAAO,MAAM,YAAY,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,gBAAgB,EAExF,CAAA;AAED,eAAO,MAAM,UAAU,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,gBAAgB,EAEtF,CAAA;AAED,eAAO,MAAM,mBAAmB,UACvB,gBAAgB,EAAE,SAClB,gBAAgB,EAAE,KACxB,MAAM,EAsDR,CAAA;AAED,eAAO,MAAM,gBAAgB,eAAgB,MAAM,SAAS,gBAAgB,EAAE,KAAG,MAAM,EA8BtF,CAAA;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM,SACf,gBAAgB,EAAE,KACxB;IAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAY9E,CAAA;AAED,eAAO,MAAM,cAAc,iBACX,MAAM,SACb,gBAAgB,EAAE,KACxB,MAAM;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAc5C,CAAA;AAED,eAAO,MAAM,aAAa,aACd,MAAM,SACT,gBAAgB,EAAE,KACxB;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAQjD,CAAA;AAED,eAAO,MAAM,iBAAiB,eAChB,MAAM,SACX,gBAAgB,EAAE,KACxB,MAAM,GAAG,SAGX,CAAA;AAED,eAAO,MAAM,oBAAoB,cAAe,aAAa,KAAG,IAAI,MAAM,CAoBzE,CAAA;AAED,eAAO,MAAM,aAAa,aAOxB,CAAA;AAEF,eAAO,MAAM,iBAAiB,SAAU,gBAAgB,KAAG,OAE1D,CAAA;AAED,eAAO,MAAM,oBAAoB,WACvB,MAAM,SACP,gBAAgB,EAAE,KACxB;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAOrD,CAAA;AAED,eAAO,MAAM,iBAAiB,aAAc,MAAM,KAAG,OAIpD,CAAA;AAED,eAAO,MAAM,cAAc,aAAc,MAAM,KAAG,OAYjD,CAAA;AAED,eAAO,MAAM,mBAAmB,aAW9B,CAAA;AAEF,eAAO,MAAM,sBAAsB,aAKjC,CAAA;AAEF,eAAO,MAAM,mBAAmB,cAAe,aAAa,KAAG,OAiC9D,CAAA;AAED,eAAO,MAAM,8BAA8B,cAAe,aAAa,KAAG,IAAI,MAAM,CAoCnF,CAAA"}
1
+ {"version":3,"file":"graph-utils.d.ts","sourceRoot":"","sources":["../../src/graph-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE9F,eAAO,MAAM,WAAW,UACf,gBAAgB,EAAE,UACjB,MAAM,KACb,gBAAgB,GAAG,SAErB,CAAA;AAED,eAAO,MAAM,mBAAmB,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,MAAM,EAErF,CAAA;AAED,eAAO,MAAM,eAAe,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,MAAM,EAEjF,CAAA;AAED,eAAO,MAAM,YAAY,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,gBAAgB,EAExF,CAAA;AAED,eAAO,MAAM,UAAU,WAAY,MAAM,SAAS,gBAAgB,EAAE,KAAG,gBAAgB,EAEtF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,UAAW,OAAO,OAAO,IAAI,MAAM,CAAC,KAAG,IAahF,CAAA;AAED,eAAO,MAAM,mBAAmB,UACvB,gBAAgB,EAAE,SAClB,gBAAgB,EAAE,KACxB,MAAM,EAqFR,CAAA;AAED,eAAO,MAAM,gBAAgB,eAAgB,MAAM,SAAS,gBAAgB,EAAE,KAAG,MAAM,EA8BtF,CAAA;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM,SACf,gBAAgB,EAAE,KACxB;IAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAY9E,CAAA;AAED,eAAO,MAAM,cAAc,iBACX,MAAM,SACb,gBAAgB,EAAE,KACxB,MAAM;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAc5C,CAAA;AAED,eAAO,MAAM,aAAa,aACd,MAAM,SACT,gBAAgB,EAAE,KACxB;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAQjD,CAAA;AAED,eAAO,MAAM,iBAAiB,eAChB,MAAM,SACX,gBAAgB,EAAE,KACxB,MAAM,GAAG,SAGX,CAAA;AAED,eAAO,MAAM,oBAAoB,cAAe,aAAa,KAAG,IAAI,MAAM,CAoBzE,CAAA;AAED,eAAO,MAAM,aAAa,aAOxB,CAAA;AAEF,eAAO,MAAM,iBAAiB,SAAU,gBAAgB,KAAG,OAE1D,CAAA;AAED,eAAO,MAAM,oBAAoB,WACvB,MAAM,SACP,gBAAgB,EAAE,KACxB;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAOrD,CAAA;AAED,eAAO,MAAM,iBAAiB,aAAc,MAAM,KAAG,OAIpD,CAAA;AAED,eAAO,MAAM,cAAc,aAAc,MAAM,KAAG,OAYjD,CAAA;AAED,eAAO,MAAM,mBAAmB,aAW9B,CAAA;AAEF,eAAO,MAAM,sBAAsB,aAKjC,CAAA;AAEF,eAAO,MAAM,mBAAmB,cAAe,aAAa,KAAG,OAiC9D,CAAA;AAED,eAAO,MAAM,8BAA8B,cAAe,aAAa,KAAG,IAAI,MAAM,CAoCnF,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.collectUsedRealtimeActionTypes = exports.projectUsesRealtime = exports.REALTIME_TRIGGER_TYPES = exports.REALTIME_NODE_TYPES = exports.isTerminalNode = exports.isControlFlowNode = exports.getStreamingBranches = exports.isStreamingAINode = exports.AI_NODE_TYPES = exports.collectUsedNodeTypes = exports.getLoopExitTarget = exports.getIfBranches = exports.getSwitchCases = exports.getParallelBranches = exports.getLoopBodyNodes = exports.getTopologicalOrder = exports.getEdgesTo = exports.getEdgesFrom = exports.getNodeChildren = exports.getNodeDependencies = exports.getNodeById = void 0;
3
+ exports.collectUsedRealtimeActionTypes = exports.projectUsesRealtime = exports.REALTIME_TRIGGER_TYPES = exports.REALTIME_NODE_TYPES = exports.isTerminalNode = exports.isControlFlowNode = exports.getStreamingBranches = exports.isStreamingAINode = exports.AI_NODE_TYPES = exports.collectUsedNodeTypes = exports.getLoopExitTarget = exports.getIfBranches = exports.getSwitchCases = exports.getParallelBranches = exports.getLoopBodyNodes = exports.getTopologicalOrder = exports.collectWorkflowContextNodeIds = exports.getEdgesTo = exports.getEdgesFrom = exports.getNodeChildren = exports.getNodeDependencies = exports.getNodeById = void 0;
4
4
  const getNodeById = (nodes, nodeId) => {
5
5
  return nodes.find((n) => n.id === nodeId);
6
6
  };
@@ -21,6 +21,27 @@ const getEdgesTo = (nodeId, edges) => {
21
21
  return edges.filter((e) => e.target === nodeId);
22
22
  };
23
23
  exports.getEdgesTo = getEdgesTo;
24
+ /**
25
+ * Recursively collect every workflow-context node id a config references, i.e.
26
+ * the ids inside `{ type: 'workflowContext', nodeId: '<id>', path: [...] }`
27
+ * objects embedded anywhere in a node's config (filter values, column mappings,
28
+ * loop collections, custom-js params, …).
29
+ */
30
+ const collectWorkflowContextNodeIds = (value, out) => {
31
+ if (!value || typeof value !== 'object') {
32
+ return;
33
+ }
34
+ if (Array.isArray(value)) {
35
+ value.forEach((item) => (0, exports.collectWorkflowContextNodeIds)(item, out));
36
+ return;
37
+ }
38
+ const record = value;
39
+ if (record.type === 'workflowContext' && typeof record.nodeId === 'string') {
40
+ out.add(record.nodeId);
41
+ }
42
+ Object.values(record).forEach((child) => (0, exports.collectWorkflowContextNodeIds)(child, out));
43
+ };
44
+ exports.collectWorkflowContextNodeIds = collectWorkflowContextNodeIds;
24
45
  const getTopologicalOrder = (nodes, edges) => {
25
46
  const nodeIds = new Set(nodes.map((n) => n.id));
26
47
  const inDegree = {};
@@ -36,6 +57,36 @@ const getTopologicalOrder = (nodes, edges) => {
36
57
  inDegree[edge.target]++;
37
58
  }
38
59
  });
60
+ // Virtual dependency edges from IMPLICIT data dependencies: a node that
61
+ // consumes another node's output via a `workflowContext` reference in its
62
+ // config MUST run after that node, even when no explicit edge wires them.
63
+ // Without this, a `data-create-item` that reads a `state-get-local-state`
64
+ // result only through its columnMappings is treated as in-degree 0 and can be
65
+ // ordered (and segmented) BEFORE the state read — so on the server it writes
66
+ // null for that column (run 0a5f554e: `titles.type_field` NOT-NULL violation;
67
+ // the "Add Asset" draft rows came through as "N/A" for the same reason).
68
+ // Control-flow nodes (loop/if/switch/parallel) are skipped — their outputs
69
+ // (e.g. a loop's `currentItem`) are scoped by dedicated edge handles, not a
70
+ // linear data dependency. Edges are added to this LOCAL graph only (never to
71
+ // `workflow.edges`), so loop/branch extraction elsewhere is unaffected.
72
+ const nodeTypeById = new Map(nodes.map((n) => [n.id, n.type]));
73
+ nodes.forEach((node) => {
74
+ const referencedIds = new Set();
75
+ (0, exports.collectWorkflowContextNodeIds)(node.config, referencedIds);
76
+ referencedIds.forEach((refId) => {
77
+ if (refId === node.id || !nodeIds.has(refId)) {
78
+ return;
79
+ }
80
+ if ((0, exports.isControlFlowNode)(nodeTypeById.get(refId) || '')) {
81
+ return;
82
+ }
83
+ if (adjacency[refId].includes(node.id)) {
84
+ return;
85
+ }
86
+ adjacency[refId].push(node.id);
87
+ inDegree[node.id]++;
88
+ });
89
+ });
39
90
  const queue = [];
40
91
  nodeIdArr.forEach((id) => {
41
92
  if (inDegree[id] === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"graph-utils.js","sourceRoot":"","sources":["../../src/graph-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-utils.js","sourceRoot":"","sources":["../../src/graph-utils.ts"],"names":[],"mappings":"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"}
@@ -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;AA6ChE,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;AA+ChE,eAAO,MAAM,SAAS,EAAE,oBAMvB,CAAA"}
@@ -7,20 +7,21 @@ 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.
10
+ // Unresolved route-param sentinel in a filter (see resolveTemplateTokenString
11
+ // in runtime-utils). DEGRADE: return count:0 WITHOUT an `error` so the executor
12
+ // does not throw and abort the whole workflow.
12
13
  for (let __fi = 0; __fi < filters.length; __fi++) {
13
14
  const __f = filters[__fi];
14
15
  if (__f &&
15
16
  (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
16
17
  __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
17
18
  const __col = __f.column || __f.source || __f.field || 'unknown';
18
- return {
19
- count: 0,
20
- error: 'Filter on "' +
19
+ if (typeof console !== 'undefined' && console.warn) {
20
+ console.warn('[workflow] data-count skipped — filter on "' +
21
21
  __col +
22
- '" requires the page route parameter, which is not available in this context',
23
- };
22
+ '" needs a page route param not available here; count 0 (workflow continues)');
23
+ }
24
+ return { count: 0, __skippedUnavailableFilter: true };
24
25
  }
25
26
  }
26
27
  try {
@@ -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,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
+ {"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,8EAA8E;IAC9E,gFAAgF;IAChF,+CAA+C;IAC/C,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,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE;gBAClD,OAAO,CAAC,IAAI,CACV,6CAA6C;oBAC3C,KAAK;oBACL,6EAA6E,CAChF,CAAA;aACF;YACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAA;SACtD;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-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"}
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"}
@@ -16,15 +16,17 @@ async function data_delete_item(config, context) {
16
16
  if (__f &&
17
17
  (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
18
18
  __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
19
+ // DEGRADE to a NO-OP: return deletedCount:0 WITHOUT `error` and WITHOUT
20
+ // success:false so the executor does not throw and abort the whole
21
+ // workflow. A DELETE must NEVER drop the filter and run unscoped (that
22
+ // would delete every row) — no-op is the only safe degrade.
19
23
  const __col = __f.column || __f.source || __f.field || 'unknown';
20
- return {
21
- deletedId: null,
22
- success: false,
23
- deletedCount: 0,
24
- error: 'Filter on "' +
24
+ if (typeof console !== 'undefined' && console.warn) {
25
+ console.warn('[workflow] data-delete-item skipped (no-op) — filter on "' +
25
26
  __col +
26
- '" requires the page route parameter, which is not available in this context',
27
- };
27
+ '" needs a page route param not available here; nothing deleted (workflow continues)');
28
+ }
29
+ return { deletedId: null, success: true, deletedCount: 0, __skippedUnavailableFilter: true };
28
30
  }
29
31
  }
30
32
  try {
@@ -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,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
+ {"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 +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;AA+DhE,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;AAoEhE,eAAO,MAAM,UAAU,EAAE,oBAMxB,CAAA"}
@@ -13,21 +13,25 @@ async function data_select(config, context) {
13
13
  const rawQueryUserPart = config.rawQueryUserPart;
14
14
  const baseUrl = (context && context.__baseUrl) || '';
15
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.
16
+ // resolveTemplateTokenString in runtime-utils) e.g. a select scoped to
17
+ // {{Current Page Entity.id}} that runs on a page with no such route param
18
+ // (a create page, or a mis-generated filter). DEGRADE GRACEFULLY: return an
19
+ // empty result WITHOUT an `error` so the executor does not throw and abort the
20
+ // WHOLE workflow (a single unresolvable filter must never kill the note-create
21
+ // submit). Never fall through to an unscoped query. Observable via the warn +
22
+ // the __skippedUnavailableFilter marker.
18
23
  for (let __fi = 0; __fi < filters.length; __fi++) {
19
24
  const __f = filters[__fi];
20
25
  if (__f &&
21
26
  (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
22
27
  __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
23
28
  const __col = __f.column || __f.source || __f.field || 'unknown';
24
- return {
25
- rows: [],
26
- count: 0,
27
- error: 'Filter on "' +
29
+ if (typeof console !== 'undefined' && console.warn) {
30
+ console.warn('[workflow] data-select skipped — filter on "' +
28
31
  __col +
29
- '" requires the page route parameter, which is not available in this context',
30
- };
32
+ '" needs a page route param not available here; returning empty rows (workflow continues)');
33
+ }
34
+ return { rows: [], count: 0, __skippedUnavailableFilter: true };
31
35
  }
32
36
  }
33
37
  try {
@@ -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,mEAAmE;IACnE,2EAA2E;IAC3E,mEAAmE;IACnE,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,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,CAAC;gBACR,KAAK,EACH,aAAa;oBACb,KAAK;oBACL,6EAA6E;aAChF,CAAA;SACF;KACF;IAED,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;AAgGhE,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;AAmGhE,eAAO,MAAM,cAAc,EAAE,oBAM5B,CAAA"}
@@ -10,22 +10,24 @@ async function data_update_item(config, context) {
10
10
  const baseUrl = (context && context.__baseUrl) || '';
11
11
  const __env = globalThis.process && globalThis.process.env;
12
12
  // Unresolved route-param sentinel (see resolveTemplateTokenString in
13
- // runtime-utils): in a filter it is a validation error an UPDATE keyed on
14
- // it would match 0 rows and report failure with no hint why. In a
15
- // columnMapping it degrades to null so the write itself survives.
13
+ // runtime-utils): in a filter, an UPDATE keyed on it cannot identify its row.
14
+ // DEGRADE to a NO-OP return updatedCount:0 WITHOUT an `error` so the executor
15
+ // does not throw and abort the whole workflow. CRITICAL: never drop the filter
16
+ // and run an UNSCOPED update (that would rewrite every row); no-op is the only
17
+ // safe degrade. (A columnMapping sentinel still degrades to null below so the
18
+ // write's VALUES survive.) Observable via the warn + __skippedUnavailableFilter.
16
19
  for (let __fi = 0; __fi < filters.length; __fi++) {
17
20
  const __f = filters[__fi];
18
21
  if (__f &&
19
22
  (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
20
23
  __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
21
24
  const __col = __f.column || __f.source || __f.field || 'unknown';
22
- return {
23
- id: null,
24
- updatedCount: 0,
25
- error: 'Filter on "' +
25
+ if (typeof console !== 'undefined' && console.warn) {
26
+ console.warn('[workflow] data-update-item skipped (no-op) — filter on "' +
26
27
  __col +
27
- '" requires the page route parameter, which is not available in this context',
28
- };
28
+ '" needs a page route param not available here; no rows updated (workflow continues)');
29
+ }
30
+ return { id: null, updatedCount: 0, success: true, __skippedUnavailableFilter: true };
29
31
  }
30
32
  }
31
33
  if (Array.isArray(columnMappings)) {
@@ -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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"}